diff options
-rw-r--r-- | .rootkeys | 6 | ||||
-rw-r--r-- | docs/Makefile | 35 | ||||
-rw-r--r-- | docs/eps/xenlogo.eps | 1479 | ||||
-rw-r--r-- | docs/figs/dummy | 0 | ||||
-rw-r--r-- | docs/interface.tex | 62 | ||||
-rw-r--r-- | docs/style.tex | 393 | ||||
-rw-r--r-- | docs/xenstyle.cls | 676 |
7 files changed, 2651 insertions, 0 deletions
@@ -6,6 +6,12 @@ 3f5ef5a24IaQasQE2tyMxrfxskMmvw README 3f5ef5a2l4kfBYSQTUaOyyD76WROZQ README.CD 3f69d8abYB1vMyD_QVDvzxy5Zscf1A TODO +3f9e7d53iC47UnlfORp9iC1vai6kWw docs/Makefile +3f9e7d60PWZJeVh5xdnk0nLUdxlqEA docs/eps/xenlogo.eps +3f9e7d63lTwQbp2fnx7yY93epWS-eQ docs/figs/dummy +3f9e7d564bWFB-Czjv1qdmE6o0GqNg docs/interface.tex +3f9e7d58t7N6hjjBMxSn-NMxBphchA docs/style.tex +3f9e7d5bz8BwYkNuwyiPVu7JJG441A docs/xenstyle.cls 3f815144d1vI2777JI-dO4wk49Iw7g extras/mini-os/Makefile 3f815144zTnCV5591ulIJQrpe5b-5Q extras/mini-os/README 3f815144wiiDekmfMl9LIPIvhR83Uw extras/mini-os/entry.S diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..94e84ef877 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,35 @@ + +# Generic LaTeX makefile. +# +# Xfig and tgif diagrams should be in the fig/ subdirectory. +# DOCUMENTS should be a list of the target Postscript files. + +DOCUMENTS = interface.ps + +GFX = $(patsubst %.obj, %.eps, $(wildcard figs/*.obj)) +GFX += $(patsubst %.fig, %.eps, $(wildcard figs/*.fig)) + +all: $(DOCUMENTS) + +pristine: clean + rm -f $(DOCUMENTS) + +clean: + rm -f .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ + rm -f *.ilg *.log *.ind *.toc *.bak core + rm -f figs/*.eps + +%.ps: %.dvi $(GFX) + dvips -o $@ $< + +%.dvi: %.tex + latex $* + if [ -e $*.toc ] ; then latex $* ; fi + +%.eps: %.fig + fig2dev -L eps $< $@ + +%.eps: %.obj + tgif -print -color -eps $< + + diff --git a/docs/eps/xenlogo.eps b/docs/eps/xenlogo.eps new file mode 100644 index 0000000000..aa5f2f99dc --- /dev/null +++ b/docs/eps/xenlogo.eps @@ -0,0 +1,1479 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/homes/kaf24/xenlogo.eps) +%%CreationDate: (Tue Oct 28 13:52:11 2003) +%%BoundingBox: 155 324 445 461 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 155 324 445 461 +userdict begin +DisplayImage +155 324 +289.992 137.145 +12.000000 +302 143 +1 +1 +1 +8 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e6 +d4cec2b6b6aa9e9e9e9e9e9e9e9eb6b6b6c8cee0e6ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffff2e0c8b6a49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +aabccee6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffff8e0c2aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6ceecffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8dabc9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +aac8ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0bc9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8f2ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff8ceaa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e0 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffff2c29e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff2c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffcea49e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e6ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe6aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9ec2f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4e0ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1acb6bac4c8c8d6d6d6d6d6d6 +d6cfc8c8bdbaafa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9ebcf8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea8b6c4 +cfd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8bdafa19e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaaecffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffff8b09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9ea1afc1d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6cbbaa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ed4ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafc1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfbaa59e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9ec2f8ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bacfd6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6c8af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cf +b39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bdd6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfaf9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4 +daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9eb3d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d2b69e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb3d2d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9ea1c4d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d2af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffda9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea8cbd6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6bd9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9ea4f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffe09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafd2 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +c8a19e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e9e +9e9e9e9e9e9e9e9e9e9e9eb3d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cba89e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffff8b09e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec1d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d2a89e9e9e9e +9e9e9e9e9e9e9e9e9e9e9ed4ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e +9ec1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d2a89e9e9e9e9e9e9e9e9e9e9e9e9e9e9eecffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda9e +9e9e8027272727272727272727272b353535353535353535353535353535353535353535 +353535353535add6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c85035353535353535322727272727272727272727 +272727272d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f5fefffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffff2a49e9e9e9e45000000000000000000000000000000000000 +00000000000000000000000000000000000000001ac8d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad28000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e27000000 +000000000000000000000000000000000000000000000000000000000000000000000050 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6930d0000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffd49e9e9e9e9e9e9e9413000000000000000000000000000000000000000000000000 +000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b0000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000fbfffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff8a49e9e9e9e9e9e9e9e8009000000000000000000 +000000000000000000000000000000000000000000000000000000000dadd6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c83500000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000002fdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e +9e9e9e9e6200000000000000000000000000000000000000000000000000000000000000 +0000000000000028c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6ad1a000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000006fffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9e4500000000000000000000000000000000 +0000000000000000000000000000000000000000000050d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000fafffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9e9e9e2b00 +000000000000000000000000000000000000000000000000000000000000000000000000 +0085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d0000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000002fcfffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09e9e +9e9e9e9e9e9e9e9e9e9e9ea8c81a00000000000000000000000000000000000000000000 +0000000000000000000000000000000dadd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6c83500000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000005fefffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffaa9e9e9e9e9e9e9e9e9e9e9e9e9ecbd6ad0d00000000000000 +00000000000000000000000000000000000000000000000000000000000028d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000009fffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e +9e9ebad6d6d6850000000000000000000000000000000000000000000000000000000000 +0000000000000000005dd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d685 +0d0000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000001fcfffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffaa9e9e9e9e9e9e9e9e9e9e9e9ea5d6d6d6d6d65d0000000000000000000000000000 +00000000000000000000000000000000000000000000000093d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d65d0000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000049efffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6 +350000000000000000000000000000000000000000000000000000000000000000000000 +00000dbbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c83500000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000004faa +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb69e9e9e9e9e9e +9e9e9e9e9e9eacd6d6d6d6d6d6d6c81a0000000000000000000000000000000000000000 +000000000000000000000000000000000028d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6ad1a000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000009769e9ee0ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff29e9e9e9e9e9e9e9e9e9e9e9e9ecbd6d6d6d6d6d6d6d6ad0d0000000000 +00000000000000000000000000000000000000000000000000000000000000005dd6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000001d949e9e9eb6ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9eb3d6d6 +d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000000000000000 +000000000000000000000093d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d0000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +459e9e9e9e9e9ef2ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa49e +9e9e9e9e9e9e9e9e9e9e9ecfd6d6d6d6d6d6d6d6d6d6d65d000000000000000000000000 +000000000000000000000000000000000000000000000000000dbbd6d6d6d6d6d6d6d6d6 +d6d6d6c83500000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000096c9e9e9e9e9e9e9ec8ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6 +d6d635000000000000000000000000000000000000000000000000000000000000000000 +0000000035d6d6d6d6d6d6d6d6d6d6d6ad1a000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000001d8a9e9e9e9e9e9e9e9eaa +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e +9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6c81a000000000000000000000000000000000000 +000000000000000000000000000000000000006bd6d6d6d6d6d6d6d6d6850d0000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00003b949e9e9e9e9e9e9e9e9e9ee0ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffff89e9e9e9e9e9e9e9e9e9e9e9ea5d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad0d000000 +00000000000000000000000000000000000000000000000000000000000000000000a0d6 +d6d6d6d6d6d65d0000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000d7b9e9e9e9e9e9e9e9e9e9e9e9ec2ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9ebdd6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000000000000000000000 +0000000000000000000000000dc8d6d6d6d6c83500000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000001aadd6a59e9e9e9e9e +9e9e9e9e9e9ea4ffffffffffffffdfbf8f7f5f3f3f1f0000000000000000000000000000 +001f3f3f5f7f8fbfcfffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc9e9e9e9e9e +9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65000000000000000000000 +00000000000000000000000000000000000000000000000000000035d6d6d6ad0d000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000042c8d6d6bd9e9e9e9e9e9e9e9e9e9e9e9ee6ffcf9f5f3f000000000000000000 +0000000000000000000000000000000000000000000000002f5f8fcfffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf8f7f +3f3f0f000000000000000000003f3f7f9fdfffffffffffffffffffffffffffffffffffff +ffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d62800000000000000000000000000000000000000000000000000000000000000 +0000000000006bd685000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000078d6d6d6d6cf9e9e9e9e9e9e9e9e9e9e9e6c47 +1f0000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000f4f9fdfffffffffffffffffffffffffffffffffffffffffffffffffffff +ffbf3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fefffffffffff +ffffffffffffffaf6f2f000000000000000000000000000000000000000000001f6fcfff +ffffffffffffffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ec1d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d00000000000000000000000000000000 +000000000000000000000000000000000000000000350000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000da0d6d6d6d6d6 +d6a89e9e9e9e9e9e9e763b09000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000004f9fffffffffffffffffffff +ffffffffffffffffffffffffffffff6f0000000000000000000000000000000000000000 +000000000000001fffffffffffffffffffff9f4f00000000000000000000000000000000 +000000000000000000000000003fafffffffffffffffffffffffffffffffffffffffffce +9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad0000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000035c8d6d6d6d6d6d6d6bd9e9e9e9e94621300000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000f7fefffffffffffffffffffffffffffffffffffffffffffff3f000000000000 +0000000000000000000000000000000000000000004fffffffffffffffdf6f0f00000000 +00000000000000000000000000000000000000000000000000000000003fdfffffffffff +ffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6850000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000005dd6d6d6d6d6d6d6d6d6cf9e9e944f0900 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000f8fffffffffffffffffffffffffffff +ffffffffffffff000000000000000000000000000000000000000000000000000000008f +ffffffffffdf5f0000000000000000000000000000000000000000000000000000000000 +00000000000000000f9fffffffffffffffffffffffffffffffffff9e9e9e9e9e9e9e9e9e +9e9e9ebdd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6500000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000d93d6d6d6 +d6d6d6d6d6d6d6d69b4f0900000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +2fcfffffffffffffffffffffffffffffffffffffbf000000000000000000000000000000 +00000000000000000000000000bfffffffef5f0000000000000000000000000000000000 +0000000000000000000000000000000000000000000000009fffffffffffffffffffffff +ffffffffe69e9e9e9e9e9e9e9e9e9e9e9ecbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6280000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000028bbd6d6d6d6d6d6d6d6d6d6d6850d00000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000f9fffffffffffffffffffffffffffffffffff8f00 +000000000000000000000000000000000000000000000000000000ffffff8f0f00000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000009fffffffffffffffffffffffffffffd49e9e9e9e9e9e9e9e9e9e9ea1d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d0000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000050c8d6d6d6d6d6d6d6d6d6d6ad3500 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000006fffffffff +ffffffffffffffffffffffff5f0000000000000000000000000000000000000000000000 +000000003fffef3f00000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000bfffffffffffffffffffffffffffc89e9e9e +9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000d85d6 +d6d6d6d6d6d6d6d6d6d66b00000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000005fffffffffffffffffffffffffffffff1f000000000000000000 +0000000000000000000000000000000000006fbf0f000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000001fffffff +ffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000028add6d6d6d6d6d6d6d6d6d6c835000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000005fffffffffffffffffffff +ffffffef000000000000000000000000000000000000000000000000000000003f000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000009fffffffffffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9e +c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d650000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000042c8d6d6d6d6d6d6d6d6d6d6ad +0d0000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000007fffffffffffffffffffffffffaf000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000002fffffffffffffffffffff +ffff9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d628000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +78d6d6d6d6d6d6d6d6d6d6d6850000000000000000000000000000000000000000000000 +000000000000000000000000001f3f3f3f3f3f3f00000000000000000000000000000000 +00000000000000000000000000000000000000bfffffffffffffffffffffff7f00000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000dfffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ed6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000dadd6d6d6d6d6d6d6d6d6d6d68500000000000000000000 +00000000000000000000000000000000000000000000000f5fafefffffffffffffffffcf +8f2f000000000000000000000000000000000000000000000000000000000000001fefff +ffffffffffffffffff3f0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000bfffffffffffffffffffffe69e9e9e9e9e9e +9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6ad00000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000035c8d6d6d6d6d6d6d6d6d6 +d6d68500000000000000000000000000000000000000000000000000000000000000001f +9fffffffffffffffffffffffffffffffbf3f000000000000000000000000000000000000 +0000000000000000000000007fffffffffffffffffffff0f000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000009fffffff +ffffffffffffffce9e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00006bd6d6d6d6d6d6d6d6d6d6d6d6930000000000000000000000000000000000000000 +00000000000000000000000f8fffffffffffffffffffffffffffffffffffffff8f000000 +00000000000000000000000000000000000000000000000000000fefffffffffffffffff +cf0000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000008fffffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9ebad6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000d93d6d6d6d6d6d6d6d6d6d6d6d6ad0d000000000000 +0000000000000000000000000000000000000000000000002fdfffffffffffffffffffff +ffffffffffffffffffffff9f000000000000000000000000000000000000000000000000 +00000000008fffffffffffffffff9f000000000000000000000000000000000000000000 +00000000000000000000000000000000000000003f3f3f3f3f0f00000000000000000000 +000000000000000000000000000000000000000000000000bfffffffffffffffffffffce +9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d62800000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000028bbd6d6d6d6d6d6d6 +d6d6d6d6d6c81a0000000000000000000000000000000000000000000000000000000000 +005fefffffffffffffffffffffffffffffffffffffffffffffff3f000000000000000000 +000000000000000000000000000000000000002fffffffffffffffff5f00000000000000 +0000000000000000000000000000000000000000000000000000000000001f6fcfffffff +ffffffffaf2f000000000000000000000000000000000000000000000000000000000000 +0000bfffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c80d00000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000050d6d6d6d6d6d6d6d6d6d6d6d6d6d64200000000000000000000000000000000 +00000000000000000000000000005fffffffffffffffffffffffffffffffffffffffffff +ffffffffaf0000000000000000000000000000000000000000000000000000000000efff +ffffffffffff2f0000000000000000000000000000000000000000000000000000000000 +0000000000000f9fffffffffffffffffffffffef2f000000000000000000000000000000 +00000000000000000000000000000000cfffffffffffffffffffffb69e9e9e9e9e9e9e9e +9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6ad0000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000d85d6d6d6d6d6d6d6d6d6d6d6d6d6d693000000 +0000000000000000000000000000000000000000000000000000002fefffffffffffffff +ffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000 +000000000000000000000000bfffffffffffffff00000000000000000000000000000000 +000000000000000000000000000000000000004fefffffffffffffffffffffffffffaf00 +000000000000000000000000000000000000000000000000000000000000ffffffffffff +ffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6780000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000028add6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d61a00000000000000000000000000000000000000000000000000 +000000000fcfffffffffffffffffffffffffffffffffffffffffffffffffffffff1f0000 +00000000000000000000000000000000000000000000000000007fffffffffffffbf0000 +00000000000000000000000000000000000000000000000000000000000000008fffffff +ffffffffffffffffffffffffff0000000000000000000000000000000000000000000000 +000000000000001fffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000042c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b000000000000000000000000 +0000000000000000000000000000000000007fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff1f000000000000000000000000000000000000000000000000 +000000007fffffffffffff7f000000000000000000000000000000000000000000000000 +0000000000000000009fffffffffffffffffffffffffffffffffff000000000000000000 +0000000000000000000000000000000000000000003fffffffffffffffffffffffb69e9e +9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000078d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d60d00000000000000000000000000000000000000000000000000000000001fffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000 +0000000000000000000000000000000000004fffffffffffff4f00000000000000000000 +000000000000000000000000000000000000000000006fffffffffffffffffffffffffff +ffffffffff0000000000000000000000000000000000000000000000000000000000007f +ffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8500000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000001aadd6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d685000000000000000000000000000000000000000000 +0000000000000000009fffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffbf00000000000000000000000000000000000000000000000000000000003fffffff +ffffff0f000000000000000000000000000000000000000000000000000000000000003f +ffffffffffffffffffffffffffffffffffffcf0000000000000000000000000000000000 +00000000000000000000000000afffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e +9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad2800 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000001ac8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d62800000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000007fffffffffffdf00000000000000000000000000000000000000 +0000000000000000000000000fdfffffffffffffffffffffffffffffffffffffaf000000 +000000000000000000000000000000000000000000000000000000cfffffffffffffffff +ffffffb69e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6930d000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000a0d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6bb000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000007fffffffffffaf0000000000 +00000000000000000000000000000000000000000000000000007fffffffffffffffffff +ffffffffffffffffffff7f00000000000000000000000000000000000000000000000000 +0000000000ffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d65d000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000dc8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d68500000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000afffffffffff6f000000000000000000000000000000000000000000000000000000 +0000000fefffffffffffffffffffffffffffffffffffffff3f0000000000000000000000 +0000000000000000000000000000000000003fffffffffffffffffffffffffce9e9e9e9e +9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8 +280000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000028d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6500000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000cfffffffffff3f00000000000000000000000000 +00000000000000000000000000000000007fffffffffffffffffffffffffffffffffffff +ffff0f00000000000000000000000000000000000000000000000000000000007fffffff +ffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9ebad6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6a00d00000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000005dd6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d635000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000ffffffffffff +00000000000000000000000000000000000000000000000000000000000000dfffffffff +ffffffffffffffffffffffffffffffdf0000000000000000000000000000000000000000 +00000000000000000000afffffffffffffffffffffffffce9e9e9e9e9e9e9e9e9e9e9eac +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d66b00000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000093d6d6d6d6d6d6d6d6d6d6d6d6d6d60000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000003fffffffffffbf00000000000000000000000000000000000000000000 +00000000000000004fffffffffffffffffffffffffffffffffffffffffaf000000000000 +000000000000000000000000000000000000000000000000dfffffffffffffffffffffff +ffe69e9e9e9e9e9e9e9e9e9e9eacd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6c835000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000dbbd6d6d6d6d6d6d6d6d6d6 +d6d6d6000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000006fffffffffff8f0000000000000000 +000000000000000000000000000000000000000000009fffffffffffffffffffffffffff +ffffffffffffff7f00000000000000000000000000000000000000000000000000000000 +000fffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ed6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad1a0000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000028c8d6d6d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000af +ffffffffff5f000000000000000000000000000000000000000000000000000000000000 +efffffffffffffffffffffffffffffffffffffffff3f0000000000000000000000000000 +0000000000000000000000000000004fffffffffffffffffffffffffffff9e9e9e9e9e9e +9e9e9e9e9e9ed2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6780000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000050d6d6d6d6d6d6d6d6d6d6d6d60000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000dfffffffffff1f00000000000000000000000000000000 +000000000000000000000000002fffffffffffffffffffffffffffffffffffffffffff0f +00000000000000000000000000000000000000000000000000000000007fffffffffffff +ffffffffffffffffa49e9e9e9e9e9e9e9e9e9e9ec8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6c85000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000085d6d6 +d6d6d6d6d6d6d6d6d6000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000001fffffffffffef000000 +0000000000000000000000000000000000000000000000000000006fffffffffffffffff +ffffffffffffffffffffffffdf0000000000000000000000000000000000000000000000 +00000000000000bfffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9ebad6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad28000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000dadd6d6d6d6d6d6d6d6d6d600000000000000000000000000 +0000000000000000000000000000000027737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f +7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f +7f7f7f7f9fffffffffffaf00000000000000000000000000000000000000000000000000 +00000000009fffffffffffffffffffffffffffffffffffffffff9f000000000000000000 +000000000000000000000000000000000000000000efffffffffffffffffffffffffffff +c89e9e9e9e9e9e9e9e9e9e9eafd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6850d0000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6d6d6 +d60d000000000000000000000000000000000000000000000000000000003becffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000 +00000000000000000000000000000000000000cfffffffffffffffffffffffffffffffff +ffffffff6f00000000000000000000000000000000000000000000000000000000002fff +ffffffffffffffffffffffffffffd49e9e9e9e9e9e9e9e9e9e9ea1d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d65d0000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000050d6d6d6d6d6d6d6d6d6350000000000000000000000000000000000000000 +00000000000000001dffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff3f00000000000000000000000000000000000000000000000000000000000fffffff +ffffffffffffffffffffffffffffffffffff3f0000000000000000000000000000000000 +0000000000000000000000005fffffffffffffffffffffffffffffffe69e9e9e9e9e9e9e +9e9e9e9e9ecbd6d6d6d6d6d6d6d6d6d6d6d6bb2800000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000078d6d6d6d6d6d6d6d66b000000000000 +0000000000000000000000000000000000000000000000dfffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff0f00000000000000000000000000000000000000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffff00000000 +00000000000000000000000000000000000000000000000000008fffffffffffffffffff +ffffffffffffff9e9e9e9e9e9e9e9e9e9e9e9ebdd6d6d6d6d6d6d6d6d6d6d6a00d000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000ad +d6d6d6d6d6d6d6a000000000000000000000000000000000000000000000000000000000 +006fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf000000000000 +0000000000000000000000000000000000000000000000007fffffffffffffffffffffff +ffffffffffffffffffbf0000000000000000000000000000000000000000000000000000 +00000000cfffffffffffffffffffffffffffffffffb69e9e9e9e9e9e9e9e9e9e9eafd6d6 +d6d6d6d6d6d6d6d66b000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000001ac8d6d6d6d6d6d6d60d00000000000000000000000000 +0000000000000000000000000000000fdfffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff9f00000000000000000000000000000000000000000000000000000000 +0000bfffffffffffffffffffffffffffffffffffffffff8f000000000000000000000000 +000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffce +9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6d6d6d6d6d6c8350000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000042d6d6d6d6d6d6d6 +6b00000000000000000000000000000000000000000000000000000000003fffffffffff +ffffffffffffffffffffffffffffffffffffffcf3f3f3f3f5f7f7f7fafbfbfbfffffffff +ffffffffffffffffffffffffffffffffffffffffff5f0000000000000000000000000000 +00000000000000000000000000000000efffffffffffffffffffffffffffffffffffffff +ff5f00000000000000000000000000000000000000000000000000000000003fffffffff +ffffffffffffffffffffffffffe69e9e9e9e9e9e9e9e9e9e9e9ec1d6d6d6d6d6d6ad0d00 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000006bd6d6d6d6d6d6bb000000000000000000000000000000000000000000 +0000000000000000005fffffffffffffffffffffffffffffffffffffffffffffaf0f0000 +000000000000000000000000000f3f3f3f5f7f7f7fafbfbfbfffffffffffffffffffff2f +00000000000000000000000000000000000000000000000000000000001fffffffffffff +ffffffffffffffffffffffffffffff1f0000000000000000000000000000000000000000 +0000000000000000006fffffffffffffffffffffffffffffffffffffa49e9e9e9e9e9e9e +9e9e9e9eafd6d6d6d6d67800000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000005d35000000000000000000000000000000 +00000000000000000000000000000000000000000000a0d6d6d6d6d6d65d000000000000 +0000000000000000000000000000000000000000000000004fefffffffffffffffffffff +ffffffffffffffffdf4f0000000000000000000000000000000000000000000000000000 +00000000003fffffffffffffff0000000000000000000000000000000000000000000000 +000000000000005fffffffffffffffffffffffffffffffffffffffffef00000000000000 +0000000000000000000000000000000000000000000000afffffffffffffffffffffffff +ffffffffffffbc9e9e9e9e9e9e9e9e9e9e9e9ed2d6d6c842000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000085d6c80d +000000000000000000000000000000000000000000000000000000000000000000000000 +0dc8d6d6d6d6d6c80d000000000000000000000000000000000000000000000000000000 +0000000f7fefffffffffffffffffffffffffffffcf5f0000000000000000000000000000 +0000000000000000000000000000000000002fefffffffffffffbf000000000000000000 +0000000000000000000000000000000000000000008fffffffffffffffffffffffffffff +ffffffffffffbf0000000000000000000000000000000000000000000000000000000000 +00dfffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e9ebdd6ad +280000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000dadd6d6d69300000000000000000000000000000000000000000000 +00000000000000000000000000000035d6d6d6d6d6d69300000000000000000000000000 +000000000000000000000000000000000000000f4f8fbfffffffffffffffbf9f6f1f0000 +000000000000000000000000000000000000000000000000000000000000000fefffffff +ffffffff7f000000000000000000000000000000000000000000000000000000000000cf +ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000 +00000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff89e +9e9e9e9e9e9e9e9e9e9e9ea5850d00000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000028c8d6d6d6d6d64200000000000000 +0000000000000000000000000000000000000000000000000000000000005dd6d6d6d6d6 +d65d00000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000fcfffffffffffffffff4f0000000000000000000000000000000000 +00000000000000000000000000ffffffffffffffffffffffffffffffffffffffffff3f00 +000000000000000000000000000000000000000000000000000000004fffffffffffffff +ffffffffffffffffffffffffffbc9e9e9e9e9e9e9e9e9e9e9e3b00000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000050d6 +d6d6d6d6d6d6c81a00000000000000000000000000000000000000000000000000000000 +00000000000000000093d6d6d6d6d6d65000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000002fdfffffffffffffffffff0f000000 +00000000000000000000000000000000000000000000000000003fffffffffffffffffff +ffffffffffffffffffffffff0f0000000000000000000000000000000000000000000000 +0000000000007fffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e +9e8a1d000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000078d6d6d6d6d6d6d6d6d6a00000000000000000000000000000 +00000000000000000000000000000000000000000000000dbbd6d6d6d6d6c82800000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000003fef +ffffffffffffffffffdf0000000000000000000000000000000000000000000000000000 +000000006fffffffffffffffffffffffffffffffffffffffffdf00000000000000000000 +0000000000000000000000000000000000000000bfffffffffffffffffffffffffffffff +ffffffffffffa49e9e9e9e9e9e9e6c090000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000da0d6d6d6d6d6d6d6d6d6d6d6 +5d0000000000000000000000000000000000000000000000000000000000000000000000 +000028d6d6d6d6d6d6c85000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000006fffffffffffffffffffffffaf000000000000000000000000 +000000000000000000000000000000000000afffffffffffffffffffffffffffffffffff +ffffff9f000000000000000000000000000000000000000000000000000000000000efff +ffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e450000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +28add6d6d6d6d6d6d6d6d6d6d6d6d6280000000000000000000000000000000000000000 +00000000000000000000000000000000005dd6d6d6d6d6d6d65d00000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000fbfffffffffffffffffffffff +ff6f000000000000000000000000000000000000000000000000000000000000dfffffff +ffffffffffffffffffffffffffffffffff6f000000000000000000000000000000000000 +00000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffff29e +9e9e9e942700000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000042c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad000000000000 +000000000000000000000000000000000000000000000000000000000000000085d6d6d6 +d6d6d6d6850d000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +6fefffffffffffffffffffffffffff3f0000000000000000000000000000000000000000 +0000000000000000001fffffffffffffffffffffffffffffffffffffffffff3f00000000 +000000000000000000000000000000000000000000000000005fffffffffffffffffffff +ffffffffffffffffffffffffffb69e9e7609000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000006bd6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d678000000000000000000000000000000000000000000000000000000 +000000000000000000000dadd6d6d6d6d6d6d6bb35000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000003fcfffffffffffffffffffffffffffffff00000000000000 +00000000000000000000000000000000000000000000004fffffffffffffffffffffffff +ffffffffffffffffff000000000000000000000000000000000000000000000000000000 +0000008fffffffffffffffffffffffffffffffffffffffffffffffe69e58000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000d85d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d635000000000000000000000000 +0000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6d6ac6c +130000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000003fbfffffffffffffffffffff +ffffffffffffbf0000000000000000000000000000000000000000000000000000000000 +007fffffffffffffffffffffffffffffffffffffffffbf00000000000000000000000000 +0000000000000000000000000000000000bfffffffffffffffffffffffffffffffffffff +ffffffffffef310000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000001aadd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6bb0d000000000000000000000000000000000000000000000000000000000000000000 +0000000050d6d6d6d6d6d6c49e9e9e6c2700000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000f +6fdfffffffffffffffffffffffffffffffffffff8f000000000000000000000000000000 +000000000000000000000000000000bfffffffffffffffffffffffffffffffffffffffff +8f000000000000000000000000000000000000000000000000000000000000ffffffffff +ffffffffffffffffffffffffffffffffffffcf1f00000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000028c8d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d69300000000000000000000000000000000000000 +0000000000000000000000000000000000000085d6d6d6d6d2a59e9e9e9e9e8a45130000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000f5fafffffffffffffffffffffffffffffffffffffffffff5f00 +0000000000000000000000000000000000000000000000000000000000ffffffffffffff +ffffffffffffffffffffffffffff5f000000000000000000000000000000000000000000 +00000000000000003fffffffffffffffffffffffffffffffffffffffffffff9f0f000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000050d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d64200000000 +00000000000000000000000000000000000000000000000000000000000000000000add6 +d6d6b69e9e9e9e9e9e9e9e9e805831090000000000000000000000000000000000000000 +00000000000000000000000000000000000000000f4f8fcfffffffffffffffffffffffff +ffffffffffffffffffffffff1f0000000000000000000000000000000000000000000000 +0000000000002fffffffffffffffffffffffffffffffffffffffffff1f00000000000000 +000000000000000000000000000000000000000000006fffffffffffffffffffffffffff +ffffffffffffffef5f000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6c81a00000000000000000000000000000000000000000000000000 +0000000000000000000000001ac8d6c89e9e9e9e9e9e9e9e9e9e9e9e9eaacf9f7f3f1f00 +00000000000000000000000000000000000000000000000000000000002f3f7fafcfffff +ffffffffffffffffffffffffffffffffffffffffffffffffffef00000000000000000000 +00000000000000000000000000000000000000006fffffffffffffffffffffffffffffff +ffffffffffef000000000000000000000000000000000000000000000000000000000000 +9fffffffffffffffffffffffffffffffffffffffdf2f0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000da0d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6a00000000000000000000000 +00000000000000000000000000000000000000000000000000000042d2a59e9e9e9e9e9e +9e9e9e9e9e9e9edaffffffffffffcfbf9f7f7f6f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f +7f7f7fafbfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffdf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7fbfff +ffffffffffffffffffffffffffffffffffffffdf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f +7f7f7f7f7f7f7f7f7f7f7f7f7f7fdfffffffffffffffffffffffffffffffffffffaf0f00 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000028bbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d65d0000000000000000000000000000000000000000000000000000000000000000 +0000000000005f9e9e9e9e9e9e9e9e9e9e9e9e9eb6ffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff6f00000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000050c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6280000000000000000000000000000000000 +000000000000000000000000000000000000000000809e9e9e9e9e9e9e9e9e9e9e9eecff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffef2f000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000006bd6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6ad000000 +000000000000000000000000000000000000000000000000000000000000000000000009 +949e9e9e9e9e9e9e9e9e9ec8ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf +0f0000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000d93d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d678000000000000000000000000000000000000000000000000 +0000000000000000000000000000279e9e9e9e9e9e9e9e9ea4f8ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000001aadd6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d635000000000000000000 +00000000000000000000000000000000000000000000000000000000004f9e9e9e9e9e9e +9e9ee0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffef4f00000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000035 +c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6bb0d000000000000000000000000000000000000000000000000000000000000 +0000000000000000769e9e9e9e9e9ec2ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffcf1f000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000005dd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d69300000000000000000000000000000000 +00000000000000000000000000000000000000000000098a9e9e9e9eaaf8ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff9f000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000085d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d64200 +000000000000000000000000000000000000000000000000000000000000000000000000 +001d9e9e9e9eecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffdf7f7f7f7f7f7f7f7f +7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f614f4f4f4f4f4f4f4f4f4f4f4f4f4f4f566b6b6b +6b6badd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6c86b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b +6b6b674f4f4f4f4f4f4f4f4f4f4f4f4f8a9e9ed4ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca49e9e9e9e +9e9e9e9e9e9e9e9e9e9e9eb3d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cba89e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffe09e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eafd2d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a19e9e9e9e9e9e +9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffda9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9ea8cbd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6bd9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4f8ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1c4d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d2af9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4 +ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +b3d2d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c8d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d2b69e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9edaffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb3d2d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8a59e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9edaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffc29e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9ea1bad6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfac9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4daffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffc29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea4ecffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9ea5c1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cfb39e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9ea4ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +da9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1bacfd6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8af9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb0f8ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffeca49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9eafc1d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6cfbaa59e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2f8ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8b09e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1afc1d2d6d6d6d6d6d6d6d6d6d6d6d6d6 +d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6cbbaa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9ed4ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffc89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9ea8b6c4cfd6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c8bdafa19e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaaecffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1acb3bac4c8c8d6d6d6d6d6d6d6cfc8c8 +bdbaafa89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ebcf8ff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffff8c89e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9ea4e0ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffe6aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ec2f8ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +cea49e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eb6e6 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff8c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2c29e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaadaffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffff2c29e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaada +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffffffffff8ceaa9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9eb6e0ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffe0bc9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8f2ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffff8dabc9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaac8ecff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffff8e0c2aa9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e +9e9e9e9e9e9e9eb6d4ecffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffff2e0c8b6a49e9e9e9e9e9e9e9e +9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9eaabccee6ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff8e6d4cec2b6b6aa9e9e9e9e9e9e9e9eb6b6b6c8cee0e6ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/docs/figs/dummy b/docs/figs/dummy new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/docs/figs/dummy diff --git a/docs/interface.tex b/docs/interface.tex new file mode 100644 index 0000000000..acfc32df9e --- /dev/null +++ b/docs/interface.tex @@ -0,0 +1,62 @@ +\documentclass[11pt,twoside,final,openright]{xenstyle} +\usepackage{a4,graphicx,setspace} +\setstretch{1.15} +\input{style.tex} + +\begin{document} + +% TITLE PAGE +\pagestyle{empty} +\begin{center} +\vspace*{\fill} +\includegraphics{eps/xenlogo.eps} +\vfill +\vfill +\vfill +\begin{tabular}{l} +{\Huge \bf Interface manual} \\[4mm] +{\huge Xen v1.1 for x86} \\[80mm] +{\Large Copyright (c) 2003, The Xen Team} \\[3mm] +{\Large University of Cambridge, UK} \\[20mm] +{\large Last updated on 28th October, 2003} +\end{tabular} +\vfill +\end{center} +\cleardoublepage + +% TABLE OF CONTENTS +\pagestyle{plain} +\pagenumbering{roman} +{ \parskip 0pt plus 1pt + \tableofcontents } +\cleardoublepage + +% PREPARE FOR MAIN TEXT +\pagenumbering{arabic} +\raggedbottom +\widowpenalty=10000 +\clubpenalty=10000 +\parindent=0pt +\renewcommand{\topfraction}{.8} +\renewcommand{\bottomfraction}{.8} +\renewcommand{\textfraction}{.2} +\renewcommand{\floatpagefraction}{.8} +\setstretch{1.15} + +\chapter{Introduction} + +\chapter{CPU state} + +\chapter{Exceptions} + +\chapter{Interrupts and events} + +\chapter{Time} + +\chapter{Memory} + +\chapter{I/O} + +\chapter{Privileged operations} + +\end{document} diff --git a/docs/style.tex b/docs/style.tex new file mode 100644 index 0000000000..de59d9a912 --- /dev/null +++ b/docs/style.tex @@ -0,0 +1,393 @@ + +\usepackage{parskip,fancyheadings} + +\setcounter{secnumdepth}{10} +\setcounter{tocdepth}{2} + +\usepackage{sabon} +\def\textos#1{#1} + +% +% From PRB: Use FancyPlain style -- set up to produce draft +% information and disable rules and section headings in headers and +% footers. +% + +% \filename + +\def\filename{thesis.tex} +\let\savedinclude\include +\def\include#1{\def\filename{#1.tex}\savedinclude{#1}} + +% \prtinttime + +\newcounter{hours}\newcounter{mins} +\newcommand{\printtime}{% + \setcounter{hours}{\time/60}% + \setcounter{mins}{\time-\value{hours}*60}% + \ifthenelse{\value{hours}<10}{0}{}\thehours:% + \ifthenelse{\value{mins}<10}{0}{}\themins} + + +% Final tweaks to the layout -- PRB/SMH/TLH + +\newcommand{\verylongpage}{\enlargethispage{2.5\baselineskip}} +\newcommand{\longpage}{\enlargethispage{2\baselineskip}} +\newcommand{\shortpage}{\enlargethispage{-2\baselineskip}} +\newcommand{\quitelongpage}{\enlargethispage{1\baselineskip}} +\newcommand{\quiteshortpage}{\enlargethispage{-1\baselineskip}} + +% Use instead of / to allow hyphenation -- PRB/SMH + +\def\slash{/\penalty 0\hskip 0pt\relax} + +% +% Header/Footer +% + +\pagestyle{fancyplain} +\headrulewidth=0pt +\footrulewidth=0pt +\plainheadrulewidth=0pt +\plainfootrulewidth=0pt + +\lhead[]{} +\chead[]{} +\rhead[]{} + +\lfoot[\sl\thepage]{} +\cfoot[]{} +\rfoot[]{\sl\thepage} + +% +% Captions (from RF: make captions hang properly) +% + +\makeatletter +\long\def\@makecaption#1#2{% + \vskip 10\p@ + \setbox\@tempboxa\hbox{\small #1: #2}% + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{\small #1: }{\small #2}\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi} +\makeatother + +\makeatletter + +% +% Keep mpars on the same side (we use them for hanging section +% numbers). +% + +\@mparswitchfalse +\marginparsep=1ex + +% +% Abandon ugly vertical justification +% + +\raggedbottom + +% +% Poor-mans small caps +% + +%\font \psc = ptmr8t scaled 800 +%\renewcommand{\scdefault}{psc} + +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} + +% +% Let footnotes fall right to the bottom of the page +% + +\renewcommand\footnoterule{\vfill\hrule\vspace{6pt}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Headings + +% +% Fonts +% + +% \font\sectionfont = phvr8t scaled 1400 +% \font\subsectionfont = phvr8t scaled 1200 +% \font\subsubsectionfont = phvr8t scaled 1000 + +% +% Chapter/Section names +% + +\def\chaptermark#1{% + \markboth {{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi + #1}}{} + } + +\def\sectionmark#1{% + \markright {{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi + #1}} + } + +% +% Chapter heading components +% + +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi + } + +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \raggedright \reset@font + \ifnum \c@secnumdepth >\m@ne + \LARGE \@chapapp{} \thechapter + \par + \vskip 10\p@ + \fi + \Huge #1\par + \nobreak + \vskip 20\p@ + }} + +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} + +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \raggedright + \reset@font + \Huge #1\par + \nobreak + \vskip 40\p@ + }} + +% +% *Section heading components +% + +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{\interlinepenalty \@M #8\@@par}% + \reversemarginpar{\marginpar{{\rightline{\@svsec}}}} + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5} + } + +% +% Table of contents +% + +\renewcommand\contentsname{Table of contents} +\renewcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\contentsname}{}}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } + +% +% List of Figures +% + +\renewcommand\listfigurename{List of figures} +\renewcommand\listoffigures{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listfigurename + \@mkboth{\listfigurename}{}}% + \@starttoc{lof}% + \if@restonecol\twocolumn\fi + } + +% +% List of Tables +% + +\renewcommand\listtablename{List of tables} +\renewcommand\listoftables{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listtablename + \@mkboth{\listtablename}{}}% + \@starttoc{lot}% + \if@restonecol\twocolumn\fi + } + +% +% Glossary +% + +\newcommand\gloname{Glossary} +\newcommand\gloss{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\gloname + \@mkboth{\gloname}{}}% + \input{glossary} + \vfill + \if@restonecol\twocolumn\fi + } + +% +% Bibliography +% + +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\bibname}{}}% + \list{\@biblabel{\arabic{enumiv}}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep +% \if@openbib +% \advance\leftmargin\bibindent +% \itemindent -\bibindent +% \listparindent \itemindent +% \parsep \z@ +% \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% +% \if@openbib +% \renewcommand\newblock{\par} +% \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% +% \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + +% +% Chapter +% + +\renewcommand\chapter{% + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter + } + +% +% *Sections +% + +% \z@ -- zero? + +% \@startsection{name}{depth} +% {indent} +% {beforeskip \@plus foo \@minus bar} +% foo: ... ; bar: jitter back up page? +% {afterskip} +% {style} + +\renewcommand\section{% + \@startsection{section}{1} + {\z@}% + {-5ex \@plus 5ex \@minus -.5ex}% + {2.5ex \@minus .5ex}% + {\reset@font\Large}% + } + +\renewcommand\subsection{% + \@startsection{subsection}{2} + {\z@}% + {-3ex \@plus 3ex \@minus -.5ex}% + {1.5ex \@minus .5ex}% + {\reset@font\large}% + } + +\renewcommand\subsubsection{% + \@startsection{subsubsection}{3} + {\z@}% + {-1ex \@plus 1ex \@minus -.5ex}% + {1ex \@minus .5ex}% + {\reset@font\normalsize\sl}% + } + +\makeatother +\endinput + diff --git a/docs/xenstyle.cls b/docs/xenstyle.cls new file mode 100644 index 0000000000..8c4bcbbd5d --- /dev/null +++ b/docs/xenstyle.cls @@ -0,0 +1,676 @@ +%% +%% xenstyle.cls +%% +%% A modified version of 'report.cls': +%% +%% This is file `report.cls', generated +%% on <1994/9/30> with the docstrip utility (2.2h). +%% +%% The original source files were: +%% +%% classes.dtx (with options: `report') +%% +%% Copyright 1994 the LaTeX3 project and the individual authors. +%% All rights reserved. For further copyright information see the file +%% legal.txt, and any other copyright indicated in this file. +%% +%% This file is part of the LaTeX2e system. +%% ---------------------------------------- +%% +%% This system 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. +%% +%% +%% IMPORTANT NOTICE: +%% +%% For error reports in case of UNCHANGED versions see bugs.txt. +%% +%% Please do not request updates from us directly. Distribution is +%% done through Mail-Servers and TeX organizations. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in manifest.txt. +%% +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of either this +%% file or a changed version, except for a nominal charge for copying +%% etc. +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{xenstyle}[] +\newcommand\@ptsize{} +\newif\if@restonecol +\newif\if@titlepage +\@titlepagetrue +\newif\if@openright +\newif\if@openbib +\@openbibfalse +\DeclareOption{a4paper} + {\setlength\paperheight {297mm}% + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper} + {\setlength\paperheight {210mm}% + \setlength\paperwidth {148mm}} +\DeclareOption{b5paper} + {\setlength\paperheight {250mm}% + \setlength\paperwidth {176mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{legalpaper} + {\setlength\paperheight {14in}% + \setlength\paperwidth {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperheight {10.5in}% + \setlength\paperwidth {7.25in}} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight}% + \setlength\paperheight {\paperwidth}% + \setlength\paperwidth {\@tempdima}} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{\@openbibtrue} +\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final,openany} +\ProcessOptions +\input{size1\@ptsize.clo} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\setlength\parskip{0\p@ \@plus \p@} +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\setcounter{topnumber}{2} +\renewcommand\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand\textfraction{.2} +\renewcommand\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand\dbltopfraction{.7} +\renewcommand\dblfloatpagefraction{.5} +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi + ##1}}{}}% + \def\sectionmark##1{% + \markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi + ##1}}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markright {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi + ##1}}}} +\fi +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble + } +\if@titlepage + \newcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\footnoterule\relax + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \let\thanks\relax\let\maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}} +\else +\newcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\newcommand\chaptermark[1]{} +\setcounter{secnumdepth}{2} +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\renewcommand\thepart {\Roman{part}} +\renewcommand\thechapter {\arabic{chapter}} +\renewcommand\thesection {\thechapter.\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +\newcommand\@chapapp{\chaptername} +\newcommand\part{\cleardoublepage + \thispagestyle{plain}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \hbox{}\vfil + \secdef\@part\@spart} + +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{} + {\centering + \interlinepenalty \@M + \reset@font + \ifnum \c@secnumdepth >-2\relax + \huge\bfseries \partname~\thepart + \par + \vskip 20\p@ + \fi + \Huge \bfseries #2\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \reset@font + \Huge \bfseries #1\par}% + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \hbox{}% + \thispagestyle{empty}% + \newpage + \fi + \if@tempswa + \twocolumn + \fi} +\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \raggedright \reset@font + \ifnum \c@secnumdepth >\m@ne + \huge\bfseries \@chapapp{} \thechapter + \par + \vskip 20\p@ + \fi + \Huge \bfseries #1\par + \nobreak + \vskip 40\p@ + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \raggedright + \reset@font + \Huge \bfseries #1\par + \nobreak + \vskip 40\p@ + }} +\newcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\reset@font\Large\bfseries}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\large\bfseries}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\normalsize\bfseries}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\reset@font\normalsize\bfseries}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\reset@font\normalsize\bfseries}} +\if@twocolumn + \setlength\leftmargini {2em} +\else + \setlength\leftmargini {2.5em} +\fi +\setlength\leftmarginii {2.2em} +\setlength\leftmarginiii {1.87em} +\setlength\leftmarginiv {1.7em} +\if@twocolumn + \setlength\leftmarginv {.5em} + \setlength\leftmarginvi {.5em} +\else + \setlength\leftmarginv {1em} + \setlength\leftmarginvi {1em} +\fi +\setlength\leftmargin {\leftmargini} +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\renewcommand\theenumi{\arabic{enumi}} +\renewcommand\theenumii{\alph{enumii}} +\renewcommand\theenumiii{\roman{enumiii}} +\renewcommand\theenumiv{\Alph{enumiv}} +\newcommand\labelenumi{\theenumi.} +\newcommand\labelenumii{(\theenumii)} +\newcommand\labelenumiii{\theenumiii.} +\newcommand\labelenumiv{\theenumiv.} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi(\theenumii)} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\newcommand\labelitemi{$\m@th\bullet$} +\newcommand\labelitemii{\normalfont\bfseries --} +\newcommand\labelitemiii{$\m@th\ast$} +\newcommand\labelitemiv{$\m@th\cdot$} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} +\if@titlepage + \newenvironment{abstract}{% + \titlepage + \null\vfil + \begin{center} + \bfseries \abstractname + \end{center}} + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \small + \begin{center}% + {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \quotation + \fi} + {\if@twocolumn\else\endquotation\fi} +\fi +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item[]} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1.5em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item[]} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item[]} + {\endlist} +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \if@compatibility + \setcounter{page}{0} + \else + \setcounter{page}{1}% + \fi}% + {\if@restonecol\twocolumn \else \newpage \fi + \setcounter{page}{1}% + } +\newcommand\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \renewcommand\@chapapp{\appendixname}% + \renewcommand\thechapter{\Alph{chapter}}} +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\@addtoreset{equation}{chapter} +\renewcommand\theequation{\thechapter.\arabic{equation}} +\newcounter{figure}[chapter] +\renewcommand\thefigure{\thechapter.\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\newenvironment{figure} + {\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\@dblfloat{figure}} + {\end@dblfloat} +\newcounter{table}[chapter] +\renewcommand\thetable{\thechapter.\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename~\thetable} +\newenvironment{table} + {\@float{table}} + {\end@float} +\newenvironment{table*} + {\@dblfloat{table}} + {\end@dblfloat} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2}% + \ifdim \wd\@tempboxa >\hsize + #1: #2\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +%\renewcommand{\cal}{\protect\pcal} +%\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}} +%\renewcommand{\mit}{\protect\pmit} +%\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}} +\newcommand\@pnumwidth{1.55em} +\newcommand\@tocrmarg {2.55em} +\newcommand\@dotsep{4.5} +\setcounter{tocdepth}{2} +\newcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } +\newcommand\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}} + \endgroup + \fi} +\newcommand\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand\l@section {\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand\l@subsection {\@dottedtocline{2}{3.8em}{3.2em}} +\newcommand\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\newcommand\l@paragraph {\@dottedtocline{4}{10em}{5em}} +\newcommand\l@subparagraph {\@dottedtocline{5}{12em}{6em}} +\newcommand\listoffigures{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listfigurename + \@mkboth{\uppercase{\listfigurename}}% + {\uppercase{\listfigurename}}}% + \@starttoc{lof}% + \if@restonecol\twocolumn\fi + } +\newcommand\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand\listoftables{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listtablename + \@mkboth{\uppercase{\listtablename}}{\uppercase{\listtablename}}}% + \@starttoc{lot}% + \if@restonecol\twocolumn\fi + } +\let\l@table\l@figure +\newdimen\bibindent +\bibindent=1.5em +\newenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}% + \list{\@biblabel{\arabic{enumiv}}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% + \if@openbib + \renewcommand\newblock{\par} + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand\newblock{} +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\uppercase{\indexname}}% + {\uppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand\@idxitem {\par\hangindent 40\p@} +\newcommand\subitem {\par\hangindent 40\p@ \hspace*{20\p@}} +\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} +\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} +\@addtoreset{footnote}{chapter} +\long\def\@makefntext#1{% + \parindent 1em% + \noindent + \hbox to 1.8em{\hss\@makefnmark}#1} +\newcommand\contentsname{Contents} +\newcommand\listfigurename{List of Figures} +\newcommand\listtablename{List of Tables} +\newcommand\bibname{Bibliography} +\newcommand\indexname{Index} +\newcommand\figurename{Figure} +\newcommand\tablename{Table} +\newcommand\partname{Part} +\newcommand\chaptername{Chapter} +\newcommand\appendixname{Appendix} +\newcommand\abstractname{Abstract} +\newcommand\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\pagestyle{plain} +\pagenumbering{arabic} % Arabic page numbers +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\endinput |