merged Brian and Adams changes
authorxwt <xwt@xwt.org>
Wed, 5 May 2004 10:24:59 +0000 (03:24 -0700)
committerxwt <xwt@xwt.org>
Wed, 5 May 2004 10:24:59 +0000 (03:24 -0700)
darcs-hash:20040505102459-3ac31-0836e8073d58e25ff7b46a1fd05c34cb8a017aae.gz

31 files changed:
doc/IVME.xls [new file with mode: 0644]
doc/IVME04 Submission Report.pdf [new file with mode: 0644]
doc/IVME2.xls [new file with mode: 0644]
doc/acmconf.cls
doc/chart1.pdf [new file with mode: 0644]
doc/chart2.pdf [new file with mode: 0644]
doc/chart3.pdf [new file with mode: 0644]
doc/chart4.pdf [new file with mode: 0644]
doc/chart5.pdf [new file with mode: 0644]
doc/chart6.pdf [new file with mode: 0644]
doc/chart7.pdf [new file with mode: 0644]
doc/max_per_method.pdf [new file with mode: 0644]
doc/nestedvm.bib [new file with mode: 0644]
doc/nestedvm.ivme04-fig1.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig1.tex [new file with mode: 0644]
doc/nestedvm.ivme04-fig2.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig2.tex [new file with mode: 0644]
doc/nestedvm.ivme04-fig3.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig3.tex [new file with mode: 0644]
doc/nestedvm.ivme04-fig4.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig4.tex [new file with mode: 0644]
doc/nestedvm.ivme04-fig5.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig5.tex [new file with mode: 0644]
doc/nestedvm.ivme04-fig6.pdf [new file with mode: 0644]
doc/nestedvm.ivme04-fig6.tex [new file with mode: 0644]
doc/nestedvm.ivme04.aux [new file with mode: 0644]
doc/nestedvm.ivme04.bbl [new file with mode: 0644]
doc/nestedvm.ivme04.blg [new file with mode: 0644]
doc/nestedvm.ivme04.log [new file with mode: 0644]
doc/nestedvm.ivme04.tex
doc/tmp.inputs [new file with mode: 0644]

diff --git a/doc/IVME.xls b/doc/IVME.xls
new file mode 100644 (file)
index 0000000..746f369
Binary files /dev/null and b/doc/IVME.xls differ
diff --git a/doc/IVME04 Submission Report.pdf b/doc/IVME04 Submission Report.pdf
new file mode 100644 (file)
index 0000000..5091df0
Binary files /dev/null and b/doc/IVME04 Submission Report.pdf differ
diff --git a/doc/IVME2.xls b/doc/IVME2.xls
new file mode 100644 (file)
index 0000000..b986c72
Binary files /dev/null and b/doc/IVME2.xls differ
index dce5a8c..9b9418b 100644 (file)
 % \bfseries line if you switch.
 %   --DAB
 %
 % \bfseries line if you switch.
 %   --DAB
 %
-\newcommand\@acmtitlestyle{\normalsize\bfseries}
+\newcommand\@acmtitlestyle{\normalsize\sffamily\bfseries}
 %\newcommand\@acmtitlestyle{\normalsize\sffamily}
 
 %\newcommand\@acmtitlestyle{\normalsize\sffamily}
 
-\renewcommand\section{\@startsection {section}{1}{\z@}%
-                                     {-3.5ex \@plus -1ex \@minus -.2ex}%
+\renewcommand\section{\@startsection {section}{1}{\z@}% 
+                                    {-3.5ex \@plus -1ex \@minus -.2ex}%
                                      {2.3ex \@plus .2ex}%
                                      {\@acmtitlestyle}}
 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                      {2.3ex \@plus .2ex}%
                                      {\@acmtitlestyle}}
 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
diff --git a/doc/chart1.pdf b/doc/chart1.pdf
new file mode 100644 (file)
index 0000000..836d8e7
Binary files /dev/null and b/doc/chart1.pdf differ
diff --git a/doc/chart2.pdf b/doc/chart2.pdf
new file mode 100644 (file)
index 0000000..da4dd71
Binary files /dev/null and b/doc/chart2.pdf differ
diff --git a/doc/chart3.pdf b/doc/chart3.pdf
new file mode 100644 (file)
index 0000000..747e458
Binary files /dev/null and b/doc/chart3.pdf differ
diff --git a/doc/chart4.pdf b/doc/chart4.pdf
new file mode 100644 (file)
index 0000000..2d44721
Binary files /dev/null and b/doc/chart4.pdf differ
diff --git a/doc/chart5.pdf b/doc/chart5.pdf
new file mode 100644 (file)
index 0000000..c56e293
Binary files /dev/null and b/doc/chart5.pdf differ
diff --git a/doc/chart6.pdf b/doc/chart6.pdf
new file mode 100644 (file)
index 0000000..36ec3f8
Binary files /dev/null and b/doc/chart6.pdf differ
diff --git a/doc/chart7.pdf b/doc/chart7.pdf
new file mode 100644 (file)
index 0000000..e31c1d5
Binary files /dev/null and b/doc/chart7.pdf differ
diff --git a/doc/max_per_method.pdf b/doc/max_per_method.pdf
new file mode 100644 (file)
index 0000000..f9dd4f7
--- /dev/null
@@ -0,0 +1,118 @@
+%PDF-1.3\r%âãÏÓ\r
+4 0 obj<</Contents 80 0 R/Type/Page/Parent 5 0 R/MediaBox[0.0 0.0 520.0 300.11914]/BleedBox[0.0 0.0 520.0 300.0]/TrimBox[0.0 0.0 520.0 300.0]/ArtBox[0.88965 0.60059 519.97266 300.11914]/Resources<</ExtGState<</GS0 24 0 R>>/Properties<</MC0<</Color[20224.0 32768.0 32768.0]/Title(Layer 1)/Visible true/Preview true/Editable true/Printed true/Dimmed true>>>>>>>>\rendobj\r5 0 obj<</Count 1/Kids[4 0 R]/Type/Pages>>\rendobj\r19 0 obj<</Pages 5 0 R/Type/Catalog/Metadata 81 0 R>>\rendobj\r20 0 obj<</ModDate(D:20040320030520-08'00')/CreationDate(D:20040320030043-08'00')/Creator(Excel)/Producer(Mac OS X 10.3.3 Quartz PDFContext)>>\rendobj\r22 0 obj null\rendobj\r24 0 obj<</Type/ExtGState/SA true/OP false/op false/OPM 0/ca 1.0/CA 1.0/BM/Normal/SMask/None/AIS false>>\rendobj\r79 0 obj 178184\rendobj\r80 0 obj<</Length 79 0 R>>stream\r
+/Layer /MC0 BDC \rq\r1 0 0 -1 0 0 cm\r1 -0.71973 m\r1 -0.71973 519.86133 -0.71973 519.86133 -0.71973 c\r519.86133 -0.71973 519.86133 -300 519.86133 -300 c\r519.86133 -300 1 -300 1 -300 c\r1 -300 1 -0.71973 1 -0.71973 c\rh\rW n\r1 1 1 rg\r0 i \r/GS0 gs\r1.38965 -299.61914 m\r1.38965 -299.61914 519.47266 -299.61914 519.47266 -299.61914 c\r519.47266 -299.61914 519.47266 -1.10059 519.47266 -1.10059 c\r519.47266 -1.10059 1.38965 -1.10059 1.38965 -1.10059 c\r1.38965 -1.10059 1.38965 -299.61914 1.38965 -299.61914 c\rh\rf\r0 0 0 RG\r1 w 10 M 0 j 0 J []0 d \r1.38965 -299.61914 m\r1.38965 -299.61914 519.47266 -299.61914 519.47266 -299.61914 c\r519.47266 -299.61914 519.47266 -1.10059 519.47266 -1.10059 c\r519.47266 -1.10059 1.38965 -1.10059 1.38965 -1.10059 c\r1.38965 -1.10059 1.38965 -299.61914 1.38965 -299.61914 c\rh\rS\r0.75294 0.75294 0.75294 rg\r43.65576 -245.04297 m\r43.65576 -245.04297 442.20117 -245.04297 442.20117 -245.04297 c\r442.20117 -245.04297 442.20117 -48.82324 442.20117 -48.82324 c\r442.20117 -48.82324 43.65576 -48.82324 43.65576 -48.82324 c\r43.65576 -48.82324 43.65576 -245.04297 43.65576 -245.04297 c\rf\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -81.56738 m\r43.65576 -81.56738 442.20117 -81.56738 442.20117 -81.56738 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -114.31348 m\r43.65576 -114.31348 442.20117 -114.31348 442.20117 -114.31348 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -146.80566 m\r43.65576 -146.80566 442.20117 -146.80566 442.20117 -146.80566 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -179.55176 m\r43.65576 -179.55176 442.20117 -179.55176 442.20117 -179.55176 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -212.29736 m\r43.65576 -212.29736 442.20117 -212.29736 442.20117 -212.29736 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -47.93457 m\r43.52539 -47.93457 442.07129 -47.93457 442.07129 -47.93457 c\r442.07129 -47.93457 442.07129 -246.18555 442.07129 -246.18555 c\r442.07129 -246.18555 43.52539 -246.18555 43.52539 -246.18555 c\r43.52539 -246.18555 43.52539 -47.93457 43.52539 -47.93457 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -245.04297 m\r43.65576 -245.04297 442.20117 -245.04297 442.20117 -245.04297 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r1 -0.71973 m\r1 -0.71973 519.86133 -0.71973 519.86133 -0.71973 c\r519.86133 -0.71973 519.86133 -300 519.86133 -300 c\r519.86133 -300 1 -300 1 -300 c\r1 -300 1 -0.71973 1 -0.71973 c\rh\rW n\r0.50197 0.50197 0.50197 RG\r0 i 4 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -245.04297 m\r43.65576 -245.04297 442.20117 -245.04297 442.20117 -245.04297 c\r442.20117 -245.04297 442.20117 -48.82324 442.20117 -48.82324 c\r442.20117 -48.82324 43.65576 -48.82324 43.65576 -48.82324 c\r43.65576 -48.82324 43.65576 -245.04297 43.65576 -245.04297 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.60001 1 rg\r0 i \r/GS0 gs\r60.25049 -134.11426 m\r60.25049 -134.11426 82.03125 -134.11426 82.03125 -134.11426 c\r82.03125 -134.11426 82.03125 -48.82324 82.03125 -48.82324 c\r82.03125 -48.82324 60.25049 -48.82324 60.25049 -48.82324 c\r60.25049 -48.82324 60.25049 -134.11426 60.25049 -134.11426 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r60.25049 -134.11426 m\r60.25049 -134.11426 82.03125 -134.11426 82.03125 -134.11426 c\r82.03125 -134.11426 82.03125 -48.82324 82.03125 -48.82324 c\r82.03125 -48.82324 60.25049 -48.82324 60.25049 -48.82324 c\r60.25049 -48.82324 60.25049 -134.11426 60.25049 -134.11426 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.60001 1 rg\r0 i \r/GS0 gs\r159.82178 -130.81348 m\r159.82178 -130.81348 181.86279 -130.81348 181.86279 -130.81348 c\r181.86279 -130.81348 181.86279 -48.82324 181.86279 -48.82324 c\r181.86279 -48.82324 159.82178 -48.82324 159.82178 -48.82324 c\r159.82178 -48.82324 159.82178 -130.81348 159.82178 -130.81348 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r159.82178 -130.81348 m\r159.82178 -130.81348 181.86279 -130.81348 181.86279 -130.81348 c\r181.86279 -130.81348 181.86279 -48.82324 181.86279 -48.82324 c\r181.86279 -48.82324 159.82178 -48.82324 159.82178 -48.82324 c\r159.82178 -48.82324 159.82178 -130.81348 159.82178 -130.81348 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.60001 1 rg\r0 i \r/GS0 gs\r259.65332 -137.66699 m\r259.65332 -137.66699 281.43457 -137.66699 281.43457 -137.66699 c\r281.43457 -137.66699 281.43457 -48.82324 281.43457 -48.82324 c\r281.43457 -48.82324 259.65332 -48.82324 259.65332 -48.82324 c\r259.65332 -48.82324 259.65332 -137.66699 259.65332 -137.66699 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r259.65332 -137.66699 m\r259.65332 -137.66699 281.43457 -137.66699 281.43457 -137.66699 c\r281.43457 -137.66699 281.43457 -48.82324 281.43457 -48.82324 c\r281.43457 -48.82324 259.65332 -48.82324 259.65332 -48.82324 c\r259.65332 -48.82324 259.65332 -137.66699 259.65332 -137.66699 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.60001 1 rg\r0 i \r/GS0 gs\r359.22559 -144.01367 m\r359.22559 -144.01367 381.00586 -144.01367 381.00586 -144.01367 c\r381.00586 -144.01367 381.00586 -48.82324 381.00586 -48.82324 c\r381.00586 -48.82324 359.22559 -48.82324 359.22559 -48.82324 c\r359.22559 -48.82324 359.22559 -144.01367 359.22559 -144.01367 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r359.22559 -144.01367 m\r359.22559 -144.01367 381.00586 -144.01367 381.00586 -144.01367 c\r381.00586 -144.01367 381.00586 -48.82324 381.00586 -48.82324 c\r381.00586 -48.82324 359.22559 -48.82324 359.22559 -48.82324 c\r359.22559 -48.82324 359.22559 -144.01367 359.22559 -144.01367 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.2 0.39999 rg\r0 i \r/GS0 gs\r82.29102 -115.33008 m\r82.29102 -115.33008 104.33154 -115.33008 104.33154 -115.33008 c\r104.33154 -115.33008 104.33154 -48.82324 104.33154 -48.82324 c\r104.33154 -48.82324 82.29102 -48.82324 82.29102 -48.82324 c\r82.29102 -48.82324 82.29102 -115.33008 82.29102 -115.33008 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r82.29102 -115.33008 m\r82.29102 -115.33008 104.33154 -115.33008 104.33154 -115.33008 c\r104.33154 -115.33008 104.33154 -48.82324 104.33154 -48.82324 c\r104.33154 -48.82324 82.29102 -48.82324 82.29102 -48.82324 c\r82.29102 -48.82324 82.29102 -115.33008 82.29102 -115.33008 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.2 0.39999 rg\r0 i \r/GS0 gs\r182.12158 -109.74512 m\r182.12158 -109.74512 203.90332 -109.74512 203.90332 -109.74512 c\r203.90332 -109.74512 203.90332 -48.82324 203.90332 -48.82324 c\r203.90332 -48.82324 182.12158 -48.82324 182.12158 -48.82324 c\r182.12158 -48.82324 182.12158 -109.74512 182.12158 -109.74512 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r182.12158 -109.74512 m\r182.12158 -109.74512 203.90332 -109.74512 203.90332 -109.74512 c\r203.90332 -109.74512 203.90332 -48.82324 203.90332 -48.82324 c\r203.90332 -48.82324 182.12158 -48.82324 182.12158 -48.82324 c\r182.12158 -48.82324 182.12158 -109.74512 182.12158 -109.74512 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.2 0.39999 rg\r0 i \r/GS0 gs\r281.69336 -107.20703 m\r281.69336 -107.20703 303.7334 -107.20703 303.7334 -107.20703 c\r303.7334 -107.20703 303.7334 -48.82324 303.7334 -48.82324 c\r303.7334 -48.82324 281.69336 -48.82324 281.69336 -48.82324 c\r281.69336 -48.82324 281.69336 -107.20703 281.69336 -107.20703 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r281.69336 -107.20703 m\r281.69336 -107.20703 303.7334 -107.20703 303.7334 -107.20703 c\r303.7334 -107.20703 303.7334 -48.82324 303.7334 -48.82324 c\r303.7334 -48.82324 281.69336 -48.82324 281.69336 -48.82324 c\r281.69336 -48.82324 281.69336 -107.20703 281.69336 -107.20703 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r0.60001 0.2 0.39999 rg\r0 i \r/GS0 gs\r381.26465 -110.76074 m\r381.26465 -110.76074 403.30566 -110.76074 403.30566 -110.76074 c\r403.30566 -110.76074 403.30566 -48.82324 403.30566 -48.82324 c\r403.30566 -48.82324 381.26465 -48.82324 381.26465 -48.82324 c\r381.26465 -48.82324 381.26465 -110.76074 381.26465 -110.76074 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r381.26465 -110.76074 m\r381.26465 -110.76074 403.30566 -110.76074 403.30566 -110.76074 c\r403.30566 -110.76074 403.30566 -48.82324 403.30566 -48.82324 c\r403.30566 -48.82324 381.26465 -48.82324 381.26465 -48.82324 c\r381.26465 -48.82324 381.26465 -110.76074 381.26465 -110.76074 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r1 1 0.8 rg\r0 i \r/GS0 gs\r104.59131 -208.23633 m\r104.59131 -208.23633 126.37207 -208.23633 126.37207 -208.23633 c\r126.37207 -208.23633 126.37207 -48.82324 126.37207 -48.82324 c\r126.37207 -48.82324 104.59131 -48.82324 104.59131 -48.82324 c\r104.59131 -48.82324 104.59131 -208.23633 104.59131 -208.23633 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r104.59131 -208.23633 m\r104.59131 -208.23633 126.37207 -208.23633 126.37207 -208.23633 c\r126.37207 -208.23633 126.37207 -48.82324 126.37207 -48.82324 c\r126.37207 -48.82324 104.59131 -48.82324 104.59131 -48.82324 c\r104.59131 -48.82324 104.59131 -208.23633 104.59131 -208.23633 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r1 1 0.8 rg\r0 i \r/GS0 gs\r204.16211 -187.16699 m\r204.16211 -187.16699 226.20313 -187.16699 226.20313 -187.16699 c\r226.20313 -187.16699 226.20313 -48.82324 226.20313 -48.82324 c\r226.20313 -48.82324 204.16211 -48.82324 204.16211 -48.82324 c\r204.16211 -48.82324 204.16211 -187.16699 204.16211 -187.16699 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r204.16211 -187.16699 m\r204.16211 -187.16699 226.20313 -187.16699 226.20313 -187.16699 c\r226.20313 -187.16699 226.20313 -48.82324 226.20313 -48.82324 c\r226.20313 -48.82324 204.16211 -48.82324 204.16211 -48.82324 c\r204.16211 -48.82324 204.16211 -187.16699 204.16211 -187.16699 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r1 1 0.8 rg\r0 i \r/GS0 gs\r303.99316 -178.02881 m\r303.99316 -178.02881 325.77539 -178.02881 325.77539 -178.02881 c\r325.77539 -178.02881 325.77539 -48.82324 325.77539 -48.82324 c\r325.77539 -48.82324 303.99316 -48.82324 303.99316 -48.82324 c\r303.99316 -48.82324 303.99316 -178.02881 303.99316 -178.02881 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r303.99316 -178.02881 m\r303.99316 -178.02881 325.77539 -178.02881 325.77539 -178.02881 c\r325.77539 -178.02881 325.77539 -48.82324 325.77539 -48.82324 c\r325.77539 -48.82324 303.99316 -48.82324 303.99316 -48.82324 c\r303.99316 -48.82324 303.99316 -178.02881 303.99316 -178.02881 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r43.52539 -48.94922 m\r43.52539 -48.94922 442.33105 -48.94922 442.33105 -48.94922 c\r442.33105 -48.94922 442.33105 -245.16992 442.33105 -245.16992 c\r442.33105 -245.16992 43.52539 -245.16992 43.52539 -245.16992 c\r43.52539 -245.16992 43.52539 -48.94922 43.52539 -48.94922 c\rh\rW n\r1 1 0.8 rg\r0 i \r/GS0 gs\r403.56543 -207.2207 m\r403.56543 -207.2207 425.3457 -207.2207 425.3457 -207.2207 c\r425.3457 -207.2207 425.3457 -48.82324 425.3457 -48.82324 c\r425.3457 -48.82324 403.56543 -48.82324 403.56543 -48.82324 c\r403.56543 -48.82324 403.56543 -207.2207 403.56543 -207.2207 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r403.56543 -207.2207 m\r403.56543 -207.2207 425.3457 -207.2207 425.3457 -207.2207 c\r425.3457 -207.2207 425.3457 -48.82324 425.3457 -48.82324 c\r425.3457 -48.82324 403.56543 -48.82324 403.56543 -48.82324 c\r403.56543 -48.82324 403.56543 -207.2207 403.56543 -207.2207 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r1 -0.71973 m\r1 -0.71973 519.86133 -0.71973 519.86133 -0.71973 c\r519.86133 -0.71973 519.86133 -300 519.86133 -300 c\r519.86133 -300 1 -300 1 -300 c\r1 -300 1 -0.71973 1 -0.71973 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r43.65576 -245.04297 m\r43.65576 -245.04297 43.65576 -48.82324 43.65576 -48.82324 c\rS\r40.80322 -48.82324 m\r40.80322 -48.82324 43.65576 -48.82324 43.65576 -48.82324 c\rS\r40.80322 -81.56738 m\r40.80322 -81.56738 43.65576 -81.56738 43.65576 -81.56738 c\rS\r40.80322 -114.31348 m\r40.80322 -114.31348 43.65576 -114.31348 43.65576 -114.31348 c\rS\r40.80322 -146.80566 m\r40.80322 -146.80566 43.65576 -146.80566 43.65576 -146.80566 c\rS\r40.80322 -179.55176 m\r40.80322 -179.55176 43.65576 -179.55176 43.65576 -179.55176 c\rS\r40.80322 -212.29736 m\r40.80322 -212.29736 43.65576 -212.29736 43.65576 -212.29736 c\rS\r40.80322 -245.04297 m\r40.80322 -245.04297 43.65576 -245.04297 43.65576 -245.04297 c\rS\r43.65576 -48.82324 m\r43.65576 -48.82324 442.20117 -48.82324 442.20117 -48.82324 c\rS\r43.65576 -46.03027 m\r43.65576 -46.03027 43.65576 -48.82324 43.65576 -48.82324 c\rS\r143.22656 -46.03027 m\r143.22656 -46.03027 143.22656 -48.82324 143.22656 -48.82324 c\rS\r243.05762 -46.03027 m\r243.05762 -46.03027 243.05762 -48.82324 243.05762 -48.82324 c\rS\r342.62891 -46.03027 m\r342.62891 -46.03027 342.62891 -48.82324 342.62891 -48.82324 c\rS\r442.20117 -46.03027 m\r442.20117 -46.03027 442.20117 -48.82324 442.20117 -48.82324 c\rS\rQ\rq\r1 0 0 -1 0 0 cm\r76.97559 -267.00098 m\r76.97559 -267.00098 443.62793 -267.00098 443.62793 -267.00098 c\r443.62793 -267.00098 443.62793 -289.59277 443.62793 -289.59277 c\r443.62793 -289.59277 76.97559 -289.59277 76.97559 -289.59277 c\r76.97559 -289.59277 76.97559 -267.00098 76.97559 -267.00098 c\rh\rW n\r0 0 0 rg\r0 i \r/GS0 gs\r437.80469 -275.5166 m\r437.80469 -275.5166 437.80469 -278.94287 437.80469 -278.94287 c\r437.64551 -279.00977 437.47559 -279.05713 437.2998 -279.08594 c\r437.12305 -279.11523 436.95996 -279.12939 436.8125 -279.12939 c\r436.21387 -279.12939 435.76563 -278.94629 435.46582 -278.57959 c\r435.16699 -278.2124 435.01758 -277.70361 435.01758 -277.05273 c\r435.01758 -276.36865 435.13867 -275.87207 435.37793 -275.56348 c\r435.61816 -275.25439 436.00293 -275.09961 436.53516 -275.09961 c\r436.74023 -275.09961 436.95996 -275.13818 437.19238 -275.21484 c\r437.42285 -275.29199 437.62891 -275.39209 437.80469 -275.5166 c\rh\r440.09082 -273.60107 m\r440.09082 -273.60107 437.80469 -273.60107 437.80469 -273.60107 c\r437.80469 -273.60107 437.80469 -274.32617 437.80469 -274.32617 c\r437.41309 -274.01172 437.0459 -273.78076 436.7041 -273.63232 c\r436.36328 -273.48438 435.96875 -273.41016 435.52051 -273.41016 c\r434.65625 -273.41016 433.96484 -273.73682 433.44531 -274.38965 c\r432.92676 -275.04297 432.66895 -275.92285 432.66895 -277.03027 c\r432.66895 -277.62158 432.75488 -278.14502 432.93066 -278.60156 c\r433.10449 -279.05811 433.34375 -279.4502 433.64844 -279.77637 c\r433.93555 -280.08643 434.2832 -280.32715 434.69141 -280.49854 c\r435.10059 -280.66992 435.51074 -280.75586 435.91992 -280.75586 c\r436.34668 -280.75586 436.69434 -280.71143 436.96582 -280.62256 c\r437.23828 -280.53369 437.51855 -280.4209 437.80469 -280.28467 c\r437.80469 -280.28467 437.80469 -283.24658 437.80469 -283.24658 c\r437.80469 -283.24658 440.09082 -283.24658 440.09082 -283.24658 c\r440.09082 -283.24658 440.09082 -273.60107 440.09082 -273.60107 c\rh\r428.73047 -275.38672 m\r428.87793 -275.56396 428.98828 -275.77783 429.0625 -276.02734 c\r429.13574 -276.27637 429.17285 -276.62207 429.17285 -277.06348 c\r429.17285 -277.47168 429.13477 -277.81396 429.05957 -278.09082 c\r428.9834 -278.36719 428.87793 -278.58789 428.74316 -278.75293 c\r428.6084 -278.92188 428.44629 -279.0415 428.25488 -279.11182 c\r428.06543 -279.18164 427.86133 -279.2168 427.64258 -279.2168 c\r427.42383 -279.2168 427.22754 -279.18799 427.05762 -279.13037 c\r426.88574 -279.07275 426.72266 -278.95703 426.56641 -278.78418 c\r426.42676 -278.62305 426.31641 -278.40234 426.23438 -278.12207 c\r426.15137 -277.84082 426.11035 -277.48877 426.11035 -277.06348 c\r426.11035 -276.68408 426.14648 -276.35498 426.21875 -276.07666 c\r426.29004 -275.79834 426.39551 -275.57422 426.53418 -275.40527 c\r426.66992 -275.24414 426.83105 -275.12695 427.01953 -275.05273 c\r427.20703 -274.97852 427.4209 -274.94092 427.66211 -274.94092 c\r427.86719 -274.94092 428.06445 -274.9751 428.25195 -275.04346 c\r428.43945 -275.11133 428.59961 -275.22559 428.73047 -275.38672 c\rh\r431.53125 -277.07617 m\r431.53125 -275.93262 431.19141 -275.03223 430.51074 -274.37402 c\r429.8291 -273.71582 428.87402 -273.38672 427.64258 -273.38672 c\r426.41113 -273.38672 425.45508 -273.71582 424.77344 -274.37402 c\r424.09375 -275.03223 423.75195 -275.93262 423.75195 -277.07617 c\r423.75195 -278.22705 424.0957 -279.13086 424.78027 -279.7876 c\r425.46582 -280.44385 426.41992 -280.77148 427.64258 -280.77148 c\r428.88184 -280.77148 429.84082 -280.44189 430.5166 -279.78125 c\r431.19336 -279.12061 431.53125 -278.21875 431.53125 -277.07617 c\rh\r422.17969 -273.60107 m\r422.17969 -273.60107 419.89355 -273.60107 419.89355 -273.60107 c\r419.89355 -273.60107 419.89355 -277.05664 419.89355 -277.05664 c\r419.89355 -277.33789 419.87891 -277.61768 419.84961 -277.89746 c\r419.82031 -278.17676 419.76953 -278.38232 419.69727 -278.51416 c\r419.61328 -278.66797 419.49023 -278.7793 419.32715 -278.84961 c\r419.16406 -278.91992 418.93848 -278.95557 418.64746 -278.95557 c\r418.44141 -278.95557 418.23047 -278.92188 418.01855 -278.85547 c\r417.80469 -278.78955 417.57324 -278.68408 417.3252 -278.53906 c\r417.3252 -278.53906 417.3252 -273.60107 417.3252 -273.60107 c\r417.3252 -273.60107 415.04102 -273.60107 415.04102 -273.60107 c\r415.04102 -273.60107 415.04102 -283.24658 415.04102 -283.24658 c\r415.04102 -283.24658 417.3252 -283.24658 417.3252 -283.24658 c\r417.3252 -283.24658 417.3252 -279.79443 417.3252 -279.79443 c\r417.73047 -280.10498 418.11816 -280.34277 418.49121 -280.50781 c\r418.86426 -280.67285 419.27734 -280.75586 419.7334 -280.75586 c\r420.49902 -280.75586 421.09863 -280.53662 421.53223 -280.09863 c\r421.96289 -279.66016 422.17969 -279.00488 422.17969 -278.1333 c\r422.17969 -278.1333 422.17969 -273.60107 422.17969 -273.60107 c\rh\r413.67383 -273.66406 m\r413.42969 -273.60205 413.16895 -273.55322 412.89453 -273.51807 c\r412.62012 -273.4834 412.28418 -273.46582 411.88672 -273.46582 c\r411.00098 -273.46582 410.33984 -273.64111 409.90723 -273.9917 c\r409.47461 -274.34277 409.25781 -274.94336 409.25781 -275.79297 c\r409.25781 -275.79297 409.25781 -279.04199 409.25781 -279.04199 c\r409.25781 -279.04199 408.31738 -279.04199 408.31738 -279.04199 c\r408.31738 -279.04199 408.31738 -280.55762 408.31738 -280.55762 c\r408.31738 -280.55762 409.25781 -280.55762 409.25781 -280.55762 c\r409.25781 -280.55762 409.25781 -282.54883 409.25781 -282.54883 c\r409.25781 -282.54883 411.54297 -282.54883 411.54297 -282.54883 c\r411.54297 -282.54883 411.54297 -280.55762 411.54297 -280.55762 c\r411.54297 -280.55762 413.67383 -280.55762 413.67383 -280.55762 c\r413.67383 -280.55762 413.67383 -279.04199 413.67383 -279.04199 c\r413.67383 -279.04199 411.54297 -279.04199 411.54297 -279.04199 c\r411.54297 -279.04199 411.54297 -276.57813 411.54297 -276.57813 c\r411.54297 -276.33447 411.54492 -276.12207 411.54883 -275.94043 c\r411.55273 -275.75928 411.58691 -275.5957 411.65137 -275.45117 c\r411.70996 -275.30664 411.81348 -275.19238 411.96387 -275.10791 c\r412.11328 -275.02344 412.33105 -274.98096 412.61719 -274.98096 c\r412.73633 -274.98096 412.89063 -275.00635 413.08203 -275.05615 c\r413.27441 -275.10693 413.4082 -275.15332 413.48438 -275.19531 c\r413.48438 -275.19531 413.67383 -275.19531 413.67383 -275.19531 c\r413.67383 -275.19531 413.67383 -273.66406 413.67383 -273.66406 c\rh\r405.25195 -277.97168 m\r405.23828 -278.4375 405.12109 -278.78809 404.89648 -279.02295 c\r404.67285 -279.25781 404.3252 -279.37598 403.85156 -279.37598 c\r403.41406 -279.37598 403.05371 -279.26416 402.77051 -279.0415 c\r402.48828 -278.81885 402.33008 -278.4624 402.2959 -277.97168 c\r402.2959 -277.97168 405.25195 -277.97168 405.25195 -277.97168 c\rh\r407.52148 -276.6626 m\r407.52148 -276.6626 402.30273 -276.6626 402.30273 -276.6626 c\r402.33594 -276.12109 402.54785 -275.70703 402.93848 -275.41992 c\r403.33008 -275.13232 403.90527 -274.98926 404.66602 -274.98926 c\r405.14648 -274.98926 405.61426 -275.07275 406.06543 -275.24121 c\r406.51855 -275.40918 406.87598 -275.58936 407.1377 -275.78223 c\r407.1377 -275.78223 407.3916 -275.78223 407.3916 -275.78223 c\r407.3916 -275.78223 407.3916 -273.99316 407.3916 -273.99316 c\r406.87695 -273.7915 406.38965 -273.64453 405.93359 -273.55469 c\r405.47852 -273.46338 404.97461 -273.41797 404.4209 -273.41797 c\r402.99414 -273.41797 401.90039 -273.73145 401.14063 -274.35889 c\r400.38184 -274.98584 400.00098 -275.87939 400.00098 -277.03955 c\r400.00098 -278.18652 400.36035 -279.09521 401.08008 -279.76563 c\r401.79883 -280.43652 402.78516 -280.77148 404.03809 -280.77148 c\r405.19531 -280.77148 406.06445 -280.48535 406.64746 -279.91357 c\r407.22949 -279.34131 407.52148 -278.51758 407.52148 -277.44336 c\r407.52148 -277.44336 407.52148 -276.6626 407.52148 -276.6626 c\rh\r398.23535 -273.60107 m\r398.23535 -273.60107 395.82031 -273.60107 395.82031 -273.60107 c\r395.82031 -273.60107 395.82031 -279.77637 395.82031 -279.77637 c\r395.82031 -279.77637 394.07227 -275.7666 394.07227 -275.7666 c\r394.07227 -275.7666 392.39258 -275.7666 392.39258 -275.7666 c\r392.39258 -275.7666 390.64355 -279.77637 390.64355 -279.77637 c\r390.64355 -279.77637 390.64355 -273.60107 390.64355 -273.60107 c\r390.64355 -273.60107 388.34961 -273.60107 388.34961 -273.60107 c\r388.34961 -273.60107 388.34961 -282.82617 388.34961 -282.82617 c\r388.34961 -282.82617 391.1748 -282.82617 391.1748 -282.82617 c\r391.1748 -282.82617 393.29883 -278.19629 393.29883 -278.19629 c\r393.29883 -278.19629 395.41602 -282.82617 395.41602 -282.82617 c\r395.41602 -282.82617 398.23535 -282.82617 398.23535 -282.82617 c\r398.23535 -282.82617 398.23535 -273.60107 398.23535 -273.60107 c\rh\r382.49609 -278.43164 m\r382.49609 -278.43164 382.29492 -278.43164 382.29492 -278.43164 c\r382.19922 -278.46338 382.04199 -278.48682 381.82813 -278.50293 c\r381.61426 -278.51904 381.43555 -278.52686 381.29297 -278.52686 c\r380.96875 -278.52686 380.68457 -278.50586 380.43652 -278.46484 c\r380.18848 -278.42334 379.92188 -278.35303 379.63477 -278.25439 c\r379.63477 -278.25439 379.63477 -273.60107 379.63477 -273.60107 c\r379.63477 -273.60107 377.35156 -273.60107 377.35156 -273.60107 c\r377.35156 -273.60107 377.35156 -280.55762 377.35156 -280.55762 c\r377.35156 -280.55762 379.63477 -280.55762 379.63477 -280.55762 c\r379.63477 -280.55762 379.63477 -279.53467 379.63477 -279.53467 c\r380.13574 -279.95605 380.57129 -280.23633 380.94141 -280.37402 c\r381.31055 -280.5127 381.65039 -280.58105 381.96191 -280.58105 c\r382.04004 -280.58105 382.13086 -280.5791 382.23145 -280.5752 c\r382.33301 -280.5708 382.42188 -280.56445 382.49609 -280.55664 c\r382.49609 -280.55664 382.49609 -278.43164 382.49609 -278.43164 c\rh\r373.47559 -277.97168 m\r373.46191 -278.4375 373.34277 -278.78809 373.12012 -279.02295 c\r372.89648 -279.25781 372.54883 -279.37598 372.07617 -279.37598 c\r371.63672 -279.37598 371.27539 -279.26416 370.99316 -279.0415 c\r370.71094 -278.81885 370.55273 -278.4624 370.51855 -277.97168 c\r370.51855 -277.97168 373.47559 -277.97168 373.47559 -277.97168 c\rh\r375.74414 -276.6626 m\r375.74414 -276.6626 370.52441 -276.6626 370.52441 -276.6626 c\r370.55859 -276.12109 370.77051 -275.70703 371.16211 -275.41992 c\r371.55273 -275.13232 372.12891 -274.98926 372.88867 -274.98926 c\r373.37012 -274.98926 373.83594 -275.07275 374.28906 -275.24121 c\r374.74121 -275.40918 375.09766 -275.58936 375.36035 -275.78223 c\r375.36035 -275.78223 375.61426 -275.78223 375.61426 -275.78223 c\r375.61426 -275.78223 375.61426 -273.99316 375.61426 -273.99316 c\r375.09863 -273.7915 374.61328 -273.64453 374.15723 -273.55469 c\r373.70117 -273.46338 373.19629 -273.41797 372.64355 -273.41797 c\r371.2168 -273.41797 370.12207 -273.73145 369.36328 -274.35889 c\r368.60352 -274.98584 368.22461 -275.87939 368.22461 -277.03955 c\r368.22461 -278.18652 368.58301 -279.09521 369.30371 -279.76563 c\r370.02246 -280.43652 371.00781 -280.77148 372.26172 -280.77148 c\r373.41797 -280.77148 374.28711 -280.48535 374.87012 -279.91357 c\r375.45215 -279.34131 375.74414 -278.51758 375.74414 -277.44336 c\r375.74414 -277.44336 375.74414 -276.6626 375.74414 -276.6626 c\rh\r364.75293 -277.13428 m\r364.75293 -277.81152 364.63379 -278.30273 364.39746 -278.60791 c\r364.16309 -278.91357 363.78906 -279.06592 363.2793 -279.06592 c\r363.06445 -279.06592 362.8418 -279.03369 362.61621 -278.96973 c\r362.38867 -278.90625 362.1709 -278.81445 361.96484 -278.69434 c\r361.96484 -278.69434 361.96484 -275.19678 361.96484 -275.19678 c\r362.11719 -275.13867 362.27832 -275.10156 362.45117 -275.08496 c\r362.62402 -275.06885 362.79492 -275.06055 362.96289 -275.06055 c\r363.56543 -275.06055 364.01563 -275.23242 364.30957 -275.57715 c\r364.60449 -275.92188 364.75293 -276.44092 364.75293 -277.13428 c\rh\r367.10156 -277.17871 m\r367.10156 -276.60449 367.01172 -276.08203 366.83398 -275.61035 c\r366.6543 -275.13965 366.41895 -274.75098 366.12695 -274.44531 c\r365.82422 -274.12305 365.48047 -273.87891 365.09668 -273.71338 c\r364.71289 -273.54834 364.30078 -273.46582 363.8623 -273.46582 c\r363.45801 -273.46582 363.11328 -273.50781 362.83105 -273.59277 c\r362.54785 -273.67725 362.26074 -273.7959 361.96484 -273.94922 c\r361.96484 -273.94922 361.96484 -271.04639 361.96484 -271.04639 c\r361.96484 -271.04639 359.67969 -271.04639 359.67969 -271.04639 c\r359.67969 -271.04639 359.67969 -280.55762 359.67969 -280.55762 c\r359.67969 -280.55762 361.96484 -280.55762 361.96484 -280.55762 c\r361.96484 -280.55762 361.96484 -279.83252 361.96484 -279.83252 c\r362.31543 -280.10498 362.67188 -280.32715 363.03711 -280.49854 c\r363.40234 -280.66992 363.82324 -280.75586 364.29883 -280.75586 c\r365.18457 -280.75586 365.87402 -280.4375 366.36426 -279.80127 c\r366.85645 -279.16455 367.10156 -278.29053 367.10156 -277.17871 c\rh\r353.73145 -275.80908 m\r353.73145 -275.09033 353.40234 -274.51025 352.74414 -274.07031 c\r352.08594 -273.63037 351.18457 -273.41016 350.04199 -273.41016 c\r349.4082 -273.41016 348.83496 -273.46826 348.32031 -273.58398 c\r347.80469 -273.7002 347.3916 -273.82813 347.08008 -273.96875 c\r347.08008 -273.96875 347.08008 -275.80615 347.08008 -275.80615 c\r347.08008 -275.80615 347.28711 -275.80615 347.28711 -275.80615 c\r347.40137 -275.72754 347.5332 -275.64209 347.68359 -275.54883 c\r347.83301 -275.45605 348.0459 -275.35596 348.31738 -275.24854 c\r348.55469 -275.15332 348.82227 -275.07178 349.12109 -275.00342 c\r349.4209 -274.93555 349.74121 -274.90137 350.08301 -274.90137 c\r350.5293 -274.90137 350.86035 -274.94971 351.0752 -275.04639 c\r351.29102 -275.14307 351.39844 -275.28564 351.39844 -275.47461 c\r351.39844 -275.64404 351.33398 -275.7666 351.20801 -275.84326 c\r351.08203 -275.91992 350.8418 -275.99316 350.4873 -276.06348 c\r350.31934 -276.10059 350.09082 -276.14063 349.80176 -276.18408 c\r349.5127 -276.22754 349.25 -276.28027 349.01465 -276.34229 c\r348.37012 -276.50732 347.89063 -276.76465 347.58008 -277.11377 c\r347.26758 -277.46338 347.11035 -277.89844 347.11035 -278.41895 c\r347.11035 -279.08887 347.43457 -279.64551 348.08301 -280.08936 c\r348.73047 -280.53369 349.61426 -280.75586 350.73828 -280.75586 c\r351.26953 -280.75586 351.77832 -280.70313 352.26563 -280.59766 c\r352.75293 -280.49268 353.13379 -280.38037 353.4082 -280.26025 c\r353.4082 -280.26025 353.4082 -278.50293 353.4082 -278.50293 c\r353.4082 -278.50293 353.21191 -278.50293 353.21191 -278.50293 c\r352.87598 -278.72803 352.49023 -278.91113 352.05859 -279.05273 c\r351.62695 -279.19385 351.18848 -279.26416 350.74707 -279.26416 c\r350.38086 -279.26416 350.07129 -279.21533 349.82227 -279.1167 c\r349.57031 -279.01807 349.44531 -278.87842 349.44531 -278.69775 c\r349.44531 -278.53223 349.50195 -278.40625 349.61523 -278.31982 c\r349.73047 -278.23291 349.99707 -278.146 350.41895 -278.05957 c\r350.65137 -278.01367 350.90039 -277.96973 351.16797 -277.92627 c\r351.43652 -277.88281 351.7041 -277.82813 351.97363 -277.76172 c\r352.57227 -277.60889 353.01563 -277.36768 353.30176 -277.03955 c\r353.58887 -276.71094 353.73145 -276.30078 353.73145 -275.80908 c\rh\r345.46582 -273.60107 m\r345.46582 -273.60107 343.18066 -273.60107 343.18066 -273.60107 c\r343.18066 -273.60107 343.18066 -277.05664 343.18066 -277.05664 c\r343.18066 -277.33789 343.16504 -277.61768 343.13574 -277.89746 c\r343.10645 -278.17676 343.05566 -278.38232 342.9834 -278.51416 c\r342.89941 -278.66797 342.77539 -278.7793 342.61328 -278.84961 c\r342.45117 -278.91992 342.22363 -278.95557 341.93359 -278.95557 c\r341.72656 -278.95557 341.51758 -278.92188 341.30371 -278.85547 c\r341.09082 -278.78955 340.86035 -278.68408 340.61035 -278.53906 c\r340.61035 -278.53906 340.61035 -273.60107 340.61035 -273.60107 c\r340.61035 -273.60107 338.32617 -273.60107 338.32617 -273.60107 c\r338.32617 -273.60107 338.32617 -280.55762 338.32617 -280.55762 c\r338.32617 -280.55762 340.61035 -280.55762 340.61035 -280.55762 c\r340.61035 -280.55762 340.61035 -279.79443 340.61035 -279.79443 c\r341.01563 -280.10498 341.40332 -280.34277 341.77637 -280.50781 c\r342.14941 -280.67285 342.56348 -280.75586 343.01953 -280.75586 c\r343.78613 -280.75586 344.38477 -280.53662 344.81738 -280.09863 c\r345.24902 -279.66016 345.46582 -279.00488 345.46582 -278.1333 c\r345.46582 -278.1333 345.46582 -273.60107 345.46582 -273.60107 c\rh\r333.87793 -275.38672 m\r334.02539 -275.56396 334.13672 -275.77783 334.20996 -276.02734 c\r334.28418 -276.27637 334.32129 -276.62207 334.32129 -277.06348 c\r334.32129 -277.47168 334.2832 -277.81396 334.20703 -278.09082 c\r334.13184 -278.36719 334.02539 -278.58789 333.89063 -278.75293 c\r333.75586 -278.92188 333.59277 -279.0415 333.40332 -279.11182 c\r333.21387 -279.18164 333.00977 -279.2168 332.79102 -279.2168 c\r332.57129 -279.2168 332.37598 -279.18799 332.20508 -279.13037 c\r332.0332 -279.07275 331.87012 -278.95703 331.71484 -278.78418 c\r331.57422 -278.62305 331.46387 -278.40234 331.38184 -278.12207 c\r331.2998 -277.84082 331.25879 -277.48877 331.25879 -277.06348 c\r331.25879 -276.68408 331.29395 -276.35498 331.36621 -276.07666 c\r331.43848 -275.79834 331.54297 -275.57422 331.68262 -275.40527 c\r331.81738 -275.24414 331.97852 -275.12695 332.16602 -275.05273 c\r332.35449 -274.97852 332.56934 -274.94092 332.80957 -274.94092 c\r333.0166 -274.94092 333.21289 -274.9751 333.40039 -275.04346 c\r333.58789 -275.11133 333.74707 -275.22559 333.87793 -275.38672 c\rh\r336.67969 -277.07617 m\r336.67969 -275.93262 336.33887 -275.03223 335.6582 -274.37402 c\r334.97754 -273.71582 334.02148 -273.38672 332.79102 -273.38672 c\r331.55859 -273.38672 330.60352 -273.71582 329.92188 -274.37402 c\r329.24121 -275.03223 328.90039 -275.93262 328.90039 -277.07617 c\r328.90039 -278.22705 329.24316 -279.13086 329.92773 -279.7876 c\r330.61426 -280.44385 331.56738 -280.77148 332.79102 -280.77148 c\r334.02832 -280.77148 334.98828 -280.44189 335.66504 -279.78125 c\r336.34082 -279.12061 336.67969 -278.21875 336.67969 -277.07617 c\rh\r327.27051 -273.60107 m\r327.27051 -273.60107 324.98438 -273.60107 324.98438 -273.60107 c\r324.98438 -273.60107 324.98438 -280.55762 324.98438 -280.55762 c\r324.98438 -280.55762 327.27051 -280.55762 327.27051 -280.55762 c\r327.27051 -280.55762 327.27051 -273.60107 327.27051 -273.60107 c\rh\r327.33496 -281.55713 m\r327.33496 -281.55713 324.91992 -281.55713 324.91992 -281.55713 c\r324.91992 -281.55713 324.91992 -283.24658 324.91992 -283.24658 c\r324.91992 -283.24658 327.33496 -283.24658 327.33496 -283.24658 c\r327.33496 -283.24658 327.33496 -281.55713 327.33496 -281.55713 c\rh\r323.61914 -273.66406 m\r323.37402 -273.60205 323.11426 -273.55322 322.83984 -273.51807 c\r322.56543 -273.4834 322.22852 -273.46582 321.83301 -273.46582 c\r320.94434 -273.46582 320.28516 -273.64111 319.85156 -273.9917 c\r319.41992 -274.34277 319.20313 -274.94336 319.20313 -275.79297 c\r319.20313 -275.79297 319.20313 -279.04199 319.20313 -279.04199 c\r319.20313 -279.04199 318.2627 -279.04199 318.2627 -279.04199 c\r318.2627 -279.04199 318.2627 -280.55762 318.2627 -280.55762 c\r318.2627 -280.55762 319.20313 -280.55762 319.20313 -280.55762 c\r319.20313 -280.55762 319.20313 -282.54883 319.20313 -282.54883 c\r319.20313 -282.54883 321.48828 -282.54883 321.48828 -282.54883 c\r321.48828 -282.54883 321.48828 -280.55762 321.48828 -280.55762 c\r321.48828 -280.55762 323.61914 -280.55762 323.61914 -280.55762 c\r323.61914 -280.55762 323.61914 -279.04199 323.61914 -279.04199 c\r323.61914 -279.04199 321.48828 -279.04199 321.48828 -279.04199 c\r321.48828 -279.04199 321.48828 -276.57813 321.48828 -276.57813 c\r321.48828 -276.33447 321.49023 -276.12207 321.49414 -275.94043 c\r321.49805 -275.75928 321.53223 -275.5957 321.5957 -275.45117 c\r321.65527 -275.30664 321.75879 -275.19238 321.9082 -275.10791 c\r322.05762 -275.02344 322.27637 -274.98096 322.56348 -274.98096 c\r322.68164 -274.98096 322.83496 -275.00635 323.02734 -275.05615 c\r323.21875 -275.10693 323.35352 -275.15332 323.42969 -275.19531 c\r323.42969 -275.19531 323.61914 -275.19531 323.61914 -275.19531 c\r323.61914 -275.19531 323.61914 -273.66406 323.61914 -273.66406 c\rh\r315.15039 -273.41797 m\r314.53027 -273.41797 313.96387 -273.49023 313.45215 -273.63477 c\r312.93945 -273.77979 312.49316 -274.00293 312.11426 -274.3042 c\r311.73926 -274.60596 311.44824 -274.98584 311.24121 -275.44482 c\r311.03418 -275.90332 310.93164 -276.44043 310.93164 -277.05566 c\r310.93164 -277.70459 311.04199 -278.26465 311.26367 -278.73535 c\r311.48438 -279.20654 311.79395 -279.59668 312.19141 -279.90674 c\r312.57324 -280.2002 313.01758 -280.41504 313.51855 -280.55127 c\r314.02051 -280.6875 314.54102 -280.75586 315.08203 -280.75586 c\r315.56543 -280.75586 316.0127 -280.7041 316.42285 -280.60059 c\r316.83203 -280.49756 317.21289 -280.36328 317.56738 -280.19824 c\r317.56738 -280.19824 317.56738 -278.29688 317.56738 -278.29688 c\r317.56738 -278.29688 317.24609 -278.29688 317.24609 -278.29688 c\r317.15723 -278.37061 317.0498 -278.45703 316.92578 -278.55615 c\r316.80176 -278.65479 316.64941 -278.75195 316.46777 -278.84668 c\r316.29492 -278.93701 316.10449 -279.01221 315.89941 -279.07178 c\r315.69238 -279.13135 315.45313 -279.16162 315.17871 -279.16162 c\r314.57227 -279.16162 314.10547 -278.97266 313.77832 -278.59473 c\r313.45215 -278.2168 313.28906 -277.7041 313.28906 -277.05566 c\r313.28906 -276.38721 313.45703 -275.87939 313.79102 -275.53271 c\r314.12598 -275.18604 314.60156 -275.0127 315.2168 -275.0127 c\r315.50391 -275.0127 315.76172 -275.04492 315.99121 -275.10889 c\r316.2207 -275.17236 316.41113 -275.24805 316.5625 -275.33447 c\r316.70605 -275.41699 316.83203 -275.50391 316.94141 -275.59473 c\r317.05078 -275.68555 317.15332 -275.77441 317.24609 -275.86133 c\r317.24609 -275.86133 317.56738 -275.86133 317.56738 -275.86133 c\r317.56738 -275.86133 317.56738 -273.95801 317.56738 -273.95801 c\r317.20898 -273.79199 316.83496 -273.66064 316.44434 -273.56348 c\r316.05469 -273.4668 315.62305 -273.41797 315.15039 -273.41797 c\rh\r309.30078 -273.60107 m\r309.30078 -273.60107 307.01563 -273.60107 307.01563 -273.60107 c\r307.01563 -273.60107 307.01563 -274.37061 307.01563 -274.37061 c\r306.59473 -274.05664 306.20801 -273.81787 305.8584 -273.65479 c\r305.50977 -273.49219 305.0918 -273.41016 304.60742 -273.41016 c\r303.82324 -273.41016 303.21973 -273.63086 302.79688 -274.07275 c\r302.37402 -274.51465 302.16211 -275.16748 302.16211 -276.03027 c\r302.16211 -276.03027 302.16211 -280.55762 302.16211 -280.55762 c\r302.16211 -280.55762 304.44727 -280.55762 304.44727 -280.55762 c\r304.44727 -280.55762 304.44727 -277.10645 304.44727 -277.10645 c\r304.44727 -276.75537 304.45898 -276.46289 304.48242 -276.22998 c\r304.50488 -275.99658 304.55859 -275.80371 304.64355 -275.65088 c\r304.72363 -275.49805 304.84473 -275.38623 305.00684 -275.31592 c\r305.16895 -275.24609 305.39551 -275.21094 305.6875 -275.21094 c\r305.88184 -275.21094 306.0957 -275.24609 306.33203 -275.31592 c\r306.56836 -275.38623 306.7959 -275.48975 307.01563 -275.62598 c\r307.01563 -275.62598 307.01563 -280.55762 307.01563 -280.55762 c\r307.01563 -280.55762 309.30078 -280.55762 309.30078 -280.55762 c\r309.30078 -280.55762 309.30078 -273.60107 309.30078 -273.60107 c\rh\r300.91992 -278.43164 m\r300.91992 -278.43164 300.71777 -278.43164 300.71777 -278.43164 c\r300.62207 -278.46338 300.4668 -278.48682 300.25195 -278.50293 c\r300.03809 -278.51904 299.85938 -278.52686 299.71777 -278.52686 c\r299.39355 -278.52686 299.1084 -278.50586 298.86035 -278.46484 c\r298.6123 -278.42334 298.3457 -278.35303 298.05957 -278.25439 c\r298.05957 -278.25439 298.05957 -273.60107 298.05957 -273.60107 c\r298.05957 -273.60107 295.77539 -273.60107 295.77539 -273.60107 c\r295.77539 -273.60107 295.77539 -280.55762 295.77539 -280.55762 c\r295.77539 -280.55762 298.05957 -280.55762 298.05957 -280.55762 c\r298.05957 -280.55762 298.05957 -279.53467 298.05957 -279.53467 c\r298.55957 -279.95605 298.99414 -280.23633 299.36426 -280.37402 c\r299.73438 -280.5127 300.07422 -280.58105 300.38477 -280.58105 c\r300.46387 -280.58105 300.55469 -280.5791 300.65625 -280.5752 c\r300.75586 -280.5708 300.84473 -280.56445 300.91992 -280.55664 c\r300.91992 -280.55664 300.91992 -278.43164 300.91992 -278.43164 c\rh\r294.4082 -273.66406 m\r294.16406 -273.60205 293.9043 -273.55322 293.62988 -273.51807 c\r293.35547 -273.4834 293.01953 -273.46582 292.62207 -273.46582 c\r291.73535 -273.46582 291.0752 -273.64111 290.64258 -273.9917 c\r290.20898 -274.34277 289.99219 -274.94336 289.99219 -275.79297 c\r289.99219 -275.79297 289.99219 -279.04199 289.99219 -279.04199 c\r289.99219 -279.04199 289.05273 -279.04199 289.05273 -279.04199 c\r289.05273 -279.04199 289.05273 -280.55762 289.05273 -280.55762 c\r289.05273 -280.55762 289.99219 -280.55762 289.99219 -280.55762 c\r289.99219 -280.55762 289.99219 -282.54883 289.99219 -282.54883 c\r289.99219 -282.54883 292.27734 -282.54883 292.27734 -282.54883 c\r292.27734 -282.54883 292.27734 -280.55762 292.27734 -280.55762 c\r292.27734 -280.55762 294.4082 -280.55762 294.4082 -280.55762 c\r294.4082 -280.55762 294.4082 -279.04199 294.4082 -279.04199 c\r294.4082 -279.04199 292.27734 -279.04199 292.27734 -279.04199 c\r292.27734 -279.04199 292.27734 -276.57813 292.27734 -276.57813 c\r292.27734 -276.33447 292.2793 -276.12207 292.28418 -275.94043 c\r292.28906 -275.75928 292.32129 -275.5957 292.38574 -275.45117 c\r292.44434 -275.30664 292.54883 -275.19238 292.69922 -275.10791 c\r292.84766 -275.02344 293.06543 -274.98096 293.35352 -274.98096 c\r293.4707 -274.98096 293.62695 -275.00635 293.81738 -275.05615 c\r294.00977 -275.10693 294.14355 -275.15332 294.21875 -275.19531 c\r294.21875 -275.19531 294.4082 -275.19531 294.4082 -275.19531 c\r294.4082 -275.19531 294.4082 -273.66406 294.4082 -273.66406 c\rh\r288.34961 -275.80908 m\r288.34961 -275.09033 288.02051 -274.51025 287.36133 -274.07031 c\r286.70313 -273.63037 285.80273 -273.41016 284.6582 -273.41016 c\r284.02637 -273.41016 283.45117 -273.46826 282.93652 -273.58398 c\r282.42188 -273.7002 282.00879 -273.82813 281.69531 -273.96875 c\r281.69531 -273.96875 281.69531 -275.80615 281.69531 -275.80615 c\r281.69531 -275.80615 281.90527 -275.80615 281.90527 -275.80615 c\r282.01855 -275.72754 282.15039 -275.64209 282.2998 -275.54883 c\r282.4502 -275.45605 282.66113 -275.35596 282.93555 -275.24854 c\r283.17188 -275.15332 283.44043 -275.07178 283.73828 -275.00342 c\r284.03906 -274.93555 284.35938 -274.90137 284.7002 -274.90137 c\r285.14746 -274.90137 285.47754 -274.94971 285.69336 -275.04639 c\r285.9082 -275.14307 286.01563 -275.28564 286.01563 -275.47461 c\r286.01563 -275.64404 285.95215 -275.7666 285.8252 -275.84326 c\r285.69922 -275.91992 285.45801 -275.99316 285.10547 -276.06348 c\r284.93652 -276.10059 284.70703 -276.14063 284.41895 -276.18408 c\r284.13086 -276.22754 283.86719 -276.28027 283.63184 -276.34229 c\r282.98633 -276.50732 282.50879 -276.76465 282.19727 -277.11377 c\r281.88477 -277.46338 281.72949 -277.89844 281.72949 -278.41895 c\r281.72949 -279.08887 282.05273 -279.64551 282.70117 -280.08936 c\r283.34766 -280.53369 284.23242 -280.75586 285.35547 -280.75586 c\r285.88672 -280.75586 286.39551 -280.70313 286.88281 -280.59766 c\r287.37109 -280.49268 287.75098 -280.38037 288.02441 -280.26025 c\r288.02441 -280.26025 288.02441 -278.50293 288.02441 -278.50293 c\r288.02441 -278.50293 287.83008 -278.50293 287.83008 -278.50293 c\r287.49121 -278.72803 287.10742 -278.91113 286.67676 -279.05273 c\r286.24316 -279.19385 285.80664 -279.26416 285.36426 -279.26416 c\r284.99805 -279.26416 284.68945 -279.21533 284.4375 -279.1167 c\r284.18848 -279.01807 284.0625 -278.87842 284.0625 -278.69775 c\r284.0625 -278.53223 284.12012 -278.40625 284.2334 -278.31982 c\r284.3457 -278.23291 284.61426 -278.146 285.03613 -278.05957 c\r285.26758 -278.01367 285.51758 -277.96973 285.78613 -277.92627 c\r286.05371 -277.88281 286.32129 -277.82813 286.5918 -277.76172 c\r287.19043 -277.60889 287.63184 -277.36768 287.91992 -277.03955 c\r288.20605 -276.71094 288.34961 -276.30078 288.34961 -275.80908 c\rh\r280.08398 -273.60107 m\r280.08398 -273.60107 277.79688 -273.60107 277.79688 -273.60107 c\r277.79688 -273.60107 277.79688 -277.05664 277.79688 -277.05664 c\r277.79688 -277.33789 277.7832 -277.61768 277.75293 -277.89746 c\r277.72363 -278.17676 277.67383 -278.38232 277.60156 -278.51416 c\r277.5166 -278.66797 277.39453 -278.7793 277.23047 -278.84961 c\r277.06934 -278.91992 276.8418 -278.95557 276.5498 -278.95557 c\r276.34473 -278.95557 276.13574 -278.92188 275.92188 -278.85547 c\r275.70801 -278.78955 275.47656 -278.68408 275.22852 -278.53906 c\r275.22852 -278.53906 275.22852 -273.60107 275.22852 -273.60107 c\r275.22852 -273.60107 272.94336 -273.60107 272.94336 -273.60107 c\r272.94336 -273.60107 272.94336 -280.55762 272.94336 -280.55762 c\r272.94336 -280.55762 275.22852 -280.55762 275.22852 -280.55762 c\r275.22852 -280.55762 275.22852 -279.79443 275.22852 -279.79443 c\r275.63281 -280.10498 276.02148 -280.34277 276.39453 -280.50781 c\r276.76758 -280.67285 277.18066 -280.75586 277.63574 -280.75586 c\r278.40332 -280.75586 279.00195 -280.53662 279.43457 -280.09863 c\r279.86621 -279.66016 280.08398 -279.00488 280.08398 -278.1333 c\r280.08398 -278.1333 280.08398 -273.60107 280.08398 -273.60107 c\rh\r271.08984 -273.60107 m\r271.08984 -273.60107 265.56445 -273.60107 265.56445 -273.60107 c\r265.56445 -273.60107 265.56445 -275.23486 265.56445 -275.23486 c\r265.56445 -275.23486 267.11328 -275.23486 267.11328 -275.23486 c\r267.11328 -275.23486 267.11328 -281.19238 267.11328 -281.19238 c\r267.11328 -281.19238 265.56445 -281.19238 265.56445 -281.19238 c\r265.56445 -281.19238 265.56445 -282.82617 265.56445 -282.82617 c\r265.56445 -282.82617 271.08984 -282.82617 271.08984 -282.82617 c\r271.08984 -282.82617 271.08984 -281.19238 271.08984 -281.19238 c\r271.08984 -281.19238 269.54297 -281.19238 269.54297 -281.19238 c\r269.54297 -281.19238 269.54297 -275.23486 269.54297 -275.23486 c\r269.54297 -275.23486 271.08984 -275.23486 271.08984 -275.23486 c\r271.08984 -275.23486 271.08984 -273.60107 271.08984 -273.60107 c\rh\r259.89893 -276.5 m\r259.89893 -275.5918 259.50537 -274.854 258.71826 -274.28564 c\r257.93018 -273.71777 256.86133 -273.43408 255.50977 -273.43408 c\r254.729 -273.43408 254.04834 -273.50098 253.46729 -273.63574 c\r252.88672 -273.76953 252.34326 -273.94092 251.83691 -274.14746 c\r251.83691 -274.14746 251.83691 -276.36133 251.83691 -276.36133 c\r251.83691 -276.36133 252.10303 -276.36133 252.10303 -276.36133 c\r252.60498 -275.96826 253.1665 -275.6665 253.78906 -275.45605 c\r254.41113 -275.24463 255.01025 -275.13965 255.58447 -275.13965 c\r255.73193 -275.13965 255.92676 -275.15186 256.16699 -275.17676 c\r256.40771 -275.20117 256.604 -275.24268 256.75586 -275.30078 c\r256.94141 -275.37451 257.09424 -275.46729 257.21436 -275.57813 c\r257.33545 -275.68994 257.39502 -275.85449 257.39502 -276.07324 c\r257.39502 -276.27539 257.30762 -276.4502 257.13232 -276.59619 c\r256.95703 -276.74316 256.70068 -276.85547 256.36328 -276.93408 c\r256.00879 -277.0166 255.63281 -277.09424 255.23828 -277.1665 c\r254.84375 -277.23877 254.47461 -277.33057 254.12842 -277.44238 c\r253.33496 -277.69434 252.76367 -278.03564 252.41504 -278.46729 c\r252.06689 -278.89893 251.89307 -279.43457 251.89307 -280.0752 c\r251.89307 -280.93408 252.28662 -281.63477 253.07471 -282.17822 c\r253.86279 -282.72119 254.87402 -282.99316 256.1123 -282.99316 c\r256.73291 -282.99316 257.34668 -282.93408 257.95215 -282.81641 c\r258.55762 -282.69873 259.0835 -282.55078 259.52637 -282.37305 c\r259.52637 -282.37305 259.52637 -280.24805 259.52637 -280.24805 c\r259.52637 -280.24805 259.26709 -280.24805 259.26709 -280.24805 c\r258.88672 -280.54541 258.42041 -280.79443 257.87012 -280.99463 c\r257.31934 -281.19482 256.75684 -281.29541 256.18311 -281.29541 c\r255.979 -281.29541 255.77832 -281.28125 255.57861 -281.25488 c\r255.37793 -281.22852 255.18359 -281.17773 254.99805 -281.10352 c\r254.8335 -281.0415 254.69238 -280.94727 254.57422 -280.82129 c\r254.45557 -280.69531 254.39648 -280.55176 254.39648 -280.39111 c\r254.39648 -280.14746 254.4917 -279.96045 254.68115 -279.83008 c\r254.87109 -279.7002 255.22998 -279.58154 255.75781 -279.47412 c\r256.10352 -279.40381 256.43701 -279.33545 256.75586 -279.26953 c\r257.07422 -279.20313 257.41602 -279.1123 257.78467 -278.99707 c\r258.50635 -278.76563 259.03906 -278.45068 259.38281 -278.05225 c\r259.72705 -277.65381 259.89893 -277.13672 259.89893 -276.5 c\rh\r248.11865 -279.86426 m\r248.11865 -280.12354 248.04688 -280.34668 247.90332 -280.53418 c\r247.75928 -280.72119 247.59082 -280.85156 247.40088 -280.92627 c\r247.14697 -281.02441 246.89941 -281.0791 246.6582 -281.08936 c\r246.41699 -281.09961 246.09521 -281.10498 245.69434 -281.10498 c\r245.69434 -281.10498 245.27441 -281.10498 245.27441 -281.10498 c\r245.27441 -281.10498 245.27441 -278.35205 245.27441 -278.35205 c\r245.27441 -278.35205 245.97266 -278.35205 245.97266 -278.35205 c\r246.3877 -278.35205 246.729 -278.37695 246.99805 -278.42578 c\r247.2666 -278.47559 247.4917 -278.57422 247.67334 -278.72266 c\r247.83057 -278.854 247.94385 -279.01172 248.01318 -279.19434 c\r248.08398 -279.37793 248.11865 -279.60107 248.11865 -279.86426 c\rh\r250.62988 -279.91504 m\r250.62988 -279.50195 250.55566 -279.09863 250.4082 -278.7041 c\r250.26074 -278.30957 250.0498 -277.97852 249.77539 -277.70996 c\r249.39844 -277.34619 248.97949 -277.07129 248.51611 -276.88574 c\r248.05322 -276.7002 247.47852 -276.60693 246.78955 -276.60693 c\r246.78955 -276.60693 245.27441 -276.60693 245.27441 -276.60693 c\r245.27441 -276.60693 245.27441 -273.60107 245.27441 -273.60107 c\r245.27441 -273.60107 242.84326 -273.60107 242.84326 -273.60107 c\r242.84326 -273.60107 242.84326 -282.82617 242.84326 -282.82617 c\r242.84326 -282.82617 246.84863 -282.82617 246.84863 -282.82617 c\r247.44775 -282.82617 247.9541 -282.77539 248.36572 -282.67432 c\r248.77734 -282.57324 249.14209 -282.42139 249.4585 -282.21924 c\r249.83838 -281.97559 250.12891 -281.66357 250.33057 -281.28418 c\r250.53076 -280.90381 250.62988 -280.44727 250.62988 -279.91504 c\rh\r240.87012 -273.60107 m\r240.87012 -273.60107 235.34375 -273.60107 235.34375 -273.60107 c\r235.34375 -273.60107 235.34375 -275.23486 235.34375 -275.23486 c\r235.34375 -275.23486 236.89014 -275.23486 236.89014 -275.23486 c\r236.89014 -275.23486 236.89014 -281.19238 236.89014 -281.19238 c\r236.89014 -281.19238 235.34375 -281.19238 235.34375 -281.19238 c\r235.34375 -281.19238 235.34375 -282.82617 235.34375 -282.82617 c\r235.34375 -282.82617 240.87012 -282.82617 240.87012 -282.82617 c\r240.87012 -282.82617 240.87012 -281.19238 240.87012 -281.19238 c\r240.87012 -281.19238 239.32129 -281.19238 239.32129 -281.19238 c\r239.32129 -281.19238 239.32129 -275.23486 239.32129 -275.23486 c\r239.32129 -275.23486 240.87012 -275.23486 240.87012 -275.23486 c\r240.87012 -275.23486 240.87012 -273.60107 240.87012 -273.60107 c\rh\r233.35986 -273.60107 m\r233.35986 -273.60107 230.94482 -273.60107 230.94482 -273.60107 c\r230.94482 -273.60107 230.94482 -279.77637 230.94482 -279.77637 c\r230.94482 -279.77637 229.19531 -275.7666 229.19531 -275.7666 c\r229.19531 -275.7666 227.51563 -275.7666 227.51563 -275.7666 c\r227.51563 -275.7666 225.76758 -279.77637 225.76758 -279.77637 c\r225.76758 -279.77637 225.76758 -273.60107 225.76758 -273.60107 c\r225.76758 -273.60107 223.47363 -273.60107 223.47363 -273.60107 c\r223.47363 -273.60107 223.47363 -282.82617 223.47363 -282.82617 c\r223.47363 -282.82617 226.29932 -282.82617 226.29932 -282.82617 c\r226.29932 -282.82617 228.42188 -278.19629 228.42188 -278.19629 c\r228.42188 -278.19629 230.53857 -282.82617 230.53857 -282.82617 c\r230.53857 -282.82617 233.35986 -282.82617 233.35986 -282.82617 c\r233.35986 -282.82617 233.35986 -273.60107 233.35986 -273.60107 c\rh\r218.05713 -281.60449 m\r218.05713 -281.60449 217.88721 -281.60449 217.88721 -281.60449 c\r217.78662 -281.63428 217.6543 -281.66797 217.49268 -281.70605 c\r217.33057 -281.74414 217.15723 -281.76318 216.97168 -281.76318 c\r216.52539 -281.76318 216.22363 -281.68408 216.06592 -281.52734 c\r215.9082 -281.36963 215.8291 -281.06494 215.8291 -280.61328 c\r215.8291 -280.61328 215.8291 -280.55762 215.8291 -280.55762 c\r215.8291 -280.55762 217.5874 -280.55762 217.5874 -280.55762 c\r217.5874 -280.55762 217.5874 -279.04199 217.5874 -279.04199 c\r217.5874 -279.04199 215.90234 -279.04199 215.90234 -279.04199 c\r215.90234 -279.04199 215.90234 -273.60107 215.90234 -273.60107 c\r215.90234 -273.60107 213.61719 -273.60107 213.61719 -273.60107 c\r213.61719 -273.60107 213.61719 -279.04199 213.61719 -279.04199 c\r213.61719 -279.04199 212.64453 -279.04199 212.64453 -279.04199 c\r212.64453 -279.04199 212.64453 -280.55762 212.64453 -280.55762 c\r212.64453 -280.55762 213.61719 -280.55762 213.61719 -280.55762 c\r213.61719 -280.55762 213.61719 -280.75 213.61719 -280.75 c\r213.61719 -281.60303 213.84814 -282.24365 214.31104 -282.66992 c\r214.77295 -283.09668 215.47314 -283.31006 216.41016 -283.31006 c\r216.74854 -283.31006 217.05469 -283.29883 217.3291 -283.27588 c\r217.604 -283.25342 217.84619 -283.22266 218.05713 -283.18555 c\r218.05713 -283.18555 218.05713 -281.60449 218.05713 -281.60449 c\rh\r208.99951 -275.38672 m\r209.14697 -275.56396 209.25781 -275.77783 209.33154 -276.02734 c\r209.40527 -276.27637 209.44238 -276.62207 209.44238 -277.06348 c\r209.44238 -277.47168 209.4043 -277.81396 209.32861 -278.09082 c\r209.25293 -278.36719 209.14697 -278.58789 209.01172 -278.75293 c\r208.87744 -278.92188 208.71484 -279.0415 208.52441 -279.11182 c\r208.33447 -279.18164 208.12988 -279.2168 207.91113 -279.2168 c\r207.69141 -279.2168 207.49658 -279.18799 207.32568 -279.13037 c\r207.1543 -279.07275 206.99072 -278.95703 206.83496 -278.78418 c\r206.69531 -278.62305 206.58496 -278.40234 206.50244 -278.12207 c\r206.42041 -277.84082 206.37988 -277.48877 206.37988 -277.06348 c\r206.37988 -276.68408 206.41504 -276.35498 206.48633 -276.07666 c\r206.55859 -275.79834 206.66406 -275.57422 206.80322 -275.40527 c\r206.93848 -275.24414 207.09961 -275.12695 207.2876 -275.05273 c\r207.4751 -274.97852 207.68945 -274.94092 207.93018 -274.94092 c\r208.13672 -274.94092 208.3335 -274.9751 208.52148 -275.04346 c\r208.70898 -275.11133 208.86865 -275.22559 208.99951 -275.38672 c\rh\r211.80029 -277.07617 m\r211.80029 -275.93262 211.45996 -275.03223 210.7793 -274.37402 c\r210.09814 -273.71582 209.14209 -273.38672 207.91113 -273.38672 c\r206.67969 -273.38672 205.72412 -273.71582 205.04248 -274.37402 c\r204.36182 -275.03223 204.02148 -275.93262 204.02148 -277.07617 c\r204.02148 -278.22705 204.36377 -279.13086 205.04932 -279.7876 c\r205.73438 -280.44385 206.68799 -280.77148 207.91113 -280.77148 c\r209.1499 -280.77148 210.10889 -280.44189 210.78516 -279.78125 c\r211.46191 -279.12061 211.80029 -278.21875 211.80029 -277.07617 c\rh\r198.80762 -278.43164 m\r198.80762 -278.43164 198.60645 -278.43164 198.60645 -278.43164 c\r198.50977 -278.46338 198.35449 -278.48682 198.14014 -278.50293 c\r197.92529 -278.51904 197.74756 -278.52686 197.60449 -278.52686 c\r197.28125 -278.52686 196.99561 -278.50586 196.74756 -278.46484 c\r196.49951 -278.42334 196.2334 -278.35303 195.94727 -278.25439 c\r195.94727 -278.25439 195.94727 -273.60107 195.94727 -273.60107 c\r195.94727 -273.60107 193.6626 -273.60107 193.6626 -273.60107 c\r193.6626 -273.60107 193.6626 -280.55762 193.6626 -280.55762 c\r193.6626 -280.55762 195.94727 -280.55762 195.94727 -280.55762 c\r195.94727 -280.55762 195.94727 -279.53467 195.94727 -279.53467 c\r196.44775 -279.95605 196.88184 -280.23633 197.25195 -280.37402 c\r197.62109 -280.5127 197.96143 -280.58105 198.27197 -280.58105 c\r198.35205 -280.58105 198.44287 -280.5791 198.54346 -280.5752 c\r198.64404 -280.5708 198.73193 -280.56445 198.80762 -280.55664 c\r198.80762 -280.55664 198.80762 -278.43164 198.80762 -278.43164 c\rh\r189.78613 -277.97168 m\r189.77344 -278.4375 189.65479 -278.78809 189.43164 -279.02295 c\r189.20801 -279.25781 188.85986 -279.37598 188.38672 -279.37598 c\r187.94775 -279.37598 187.5874 -279.26416 187.30469 -279.0415 c\r187.02148 -278.81885 186.86377 -278.4624 186.83008 -277.97168 c\r186.83008 -277.97168 189.78613 -277.97168 189.78613 -277.97168 c\rh\r192.0542 -276.6626 m\r192.0542 -276.6626 186.83643 -276.6626 186.83643 -276.6626 c\r186.86963 -276.12109 187.08252 -275.70703 187.47314 -275.41992 c\r187.86377 -275.13232 188.43945 -274.98926 189.19971 -274.98926 c\r189.68164 -274.98926 190.14844 -275.07275 190.60059 -275.24121 c\r191.05273 -275.40918 191.41016 -275.58936 191.67139 -275.78223 c\r191.67139 -275.78223 191.92529 -275.78223 191.92529 -275.78223 c\r191.92529 -275.78223 191.92529 -273.99316 191.92529 -273.99316 c\r191.41016 -273.7915 190.9248 -273.64453 190.46875 -273.55469 c\r190.01221 -273.46338 189.5083 -273.41797 188.95508 -273.41797 c\r187.52783 -273.41797 186.43506 -273.73145 185.6748 -274.35889 c\r184.91553 -274.98584 184.53467 -275.87939 184.53467 -277.03955 c\r184.53467 -278.18652 184.89502 -279.09521 185.61426 -279.76563 c\r186.33398 -280.43652 187.32031 -280.77148 188.57324 -280.77148 c\r189.72949 -280.77148 190.59912 -280.48535 191.18164 -279.91357 c\r191.76367 -279.34131 192.0542 -278.51758 192.0542 -277.44336 c\r192.0542 -277.44336 192.0542 -276.6626 192.0542 -276.6626 c\rh\r181.06348 -277.1333 m\r181.06348 -277.75293 180.95605 -278.22998 180.74121 -278.56445 c\r180.52588 -278.89844 180.14307 -279.06592 179.59082 -279.06592 c\r179.37598 -279.06592 179.15479 -279.03369 178.92676 -278.96973 c\r178.69971 -278.90625 178.48193 -278.81445 178.27588 -278.69434 c\r178.27588 -278.69434 178.27588 -275.20068 178.27588 -275.20068 c\r178.44043 -275.14307 178.59619 -275.10352 178.74414 -275.08301 c\r178.89111 -275.0625 179.06836 -275.05225 179.27441 -275.05225 c\r179.87695 -275.05225 180.32617 -275.22559 180.62061 -275.57275 c\r180.91602 -275.91943 181.06348 -276.43994 181.06348 -277.1333 c\rh\r183.41357 -277.17871 m\r183.41357 -276.08398 183.10449 -275.19092 182.48633 -274.50098 c\r181.86865 -273.81055 181.09766 -273.46582 180.17383 -273.46582 c\r179.77734 -273.46582 179.42969 -273.50684 179.12988 -273.58887 c\r178.83057 -273.6709 178.5459 -273.79053 178.27588 -273.94775 c\r178.27588 -273.94775 178.18115 -273.60107 178.18115 -273.60107 c\r178.18115 -273.60107 175.99121 -273.60107 175.99121 -273.60107 c\r175.99121 -273.60107 175.99121 -283.24658 175.99121 -283.24658 c\r175.99121 -283.24658 178.27588 -283.24658 178.27588 -283.24658 c\r178.27588 -283.24658 178.27588 -279.83838 178.27588 -279.83838 c\r178.62598 -280.11133 178.9834 -280.33203 179.34863 -280.50146 c\r179.71289 -280.6709 180.13379 -280.75586 180.61084 -280.75586 c\r181.50928 -280.75586 182.20117 -280.43848 182.68555 -279.80469 c\r183.1709 -279.16992 183.41357 -278.29492 183.41357 -277.17871 c\rh\r169.21875 -278.53906 m\r169.21875 -278.53906 169.21875 -273.60107 169.21875 -273.60107 c\r169.21875 -273.60107 166.93311 -273.60107 166.93311 -273.60107 c\r166.93311 -273.60107 166.93311 -277.08105 166.93311 -277.08105 c\r166.93311 -277.42041 166.9248 -277.7085 166.90771 -277.94678 c\r166.89111 -278.18506 166.84473 -278.37793 166.76855 -278.52686 c\r166.69238 -278.67578 166.57764 -278.78467 166.42285 -278.85254 c\r166.26904 -278.9209 166.05225 -278.95557 165.77344 -278.95557 c\r165.55029 -278.95557 165.33252 -278.91064 165.12109 -278.82178 c\r164.91016 -278.73291 164.72021 -278.63867 164.55078 -278.53906 c\r164.55078 -278.53906 164.55078 -273.60107 164.55078 -273.60107 c\r164.55078 -273.60107 162.26563 -273.60107 162.26563 -273.60107 c\r162.26563 -273.60107 162.26563 -280.55762 162.26563 -280.55762 c\r162.26563 -280.55762 164.55078 -280.55762 164.55078 -280.55762 c\r164.55078 -280.55762 164.55078 -279.79443 164.55078 -279.79443 c\r164.94336 -280.09619 165.31836 -280.33203 165.67627 -280.50146 c\r166.03564 -280.6709 166.43164 -280.75586 166.86572 -280.75586 c\r167.33447 -280.75586 167.74707 -280.65332 168.10547 -280.44922 c\r168.46387 -280.24463 168.74414 -279.94336 168.94678 -279.54688 c\r169.40234 -279.92285 169.84473 -280.21875 170.27441 -280.43359 c\r170.70459 -280.64844 171.12646 -280.75586 171.53955 -280.75586 c\r172.30664 -280.75586 172.88965 -280.53076 173.28809 -280.08008 c\r173.68652 -279.62939 173.88574 -278.97998 173.88574 -278.1333 c\r173.88574 -278.1333 173.88574 -273.60107 173.88574 -273.60107 c\r173.88574 -273.60107 171.60107 -273.60107 171.60107 -273.60107 c\r171.60107 -273.60107 171.60107 -277.08105 171.60107 -277.08105 c\r171.60107 -277.4248 171.59277 -277.71436 171.5791 -277.94971 c\r171.56396 -278.18604 171.51807 -278.37793 171.44238 -278.52686 c\r171.37061 -278.67578 171.25635 -278.78467 171.1001 -278.85254 c\r170.94336 -278.9209 170.72412 -278.95557 170.44141 -278.95557 c\r170.25098 -278.95557 170.06494 -278.92285 169.88379 -278.85889 c\r169.70264 -278.79492 169.47998 -278.68848 169.21875 -278.53906 c\rh\r160.125 -273.60107 m\r160.125 -273.60107 157.83984 -273.60107 157.83984 -273.60107 c\r157.83984 -273.60107 157.83984 -274.37061 157.83984 -274.37061 c\r157.41846 -274.05664 157.0332 -273.81787 156.68359 -273.65479 c\r156.3335 -273.49219 155.91602 -273.41016 155.43213 -273.41016 c\r154.64844 -273.41016 154.04492 -273.63086 153.62061 -274.07275 c\r153.19775 -274.51465 152.98584 -275.16748 152.98584 -276.03027 c\r152.98584 -276.03027 152.98584 -280.55762 152.98584 -280.55762 c\r152.98584 -280.55762 155.27148 -280.55762 155.27148 -280.55762 c\r155.27148 -280.55762 155.27148 -277.10645 155.27148 -277.10645 c\r155.27148 -276.75537 155.28271 -276.46289 155.30615 -276.22998 c\r155.3291 -275.99658 155.38281 -275.80371 155.46729 -275.65088 c\r155.54785 -275.49805 155.66895 -275.38623 155.83105 -275.31592 c\r155.99365 -275.24609 156.2207 -275.21094 156.51123 -275.21094 c\r156.70508 -275.21094 156.92041 -275.24609 157.15674 -275.31592 c\r157.39307 -275.38623 157.62061 -275.48975 157.83984 -275.62598 c\r157.83984 -275.62598 157.83984 -280.55762 157.83984 -280.55762 c\r157.83984 -280.55762 160.125 -280.55762 160.125 -280.55762 c\r160.125 -280.55762 160.125 -273.60107 160.125 -273.60107 c\rh\r150.76416 -273.60107 m\r150.76416 -273.60107 148.42139 -273.60107 148.42139 -273.60107 c\r148.42139 -273.60107 144.41113 -279.93311 144.41113 -279.93311 c\r144.41113 -279.93311 144.41113 -273.60107 144.41113 -273.60107 c\r144.41113 -273.60107 142.18311 -273.60107 142.18311 -273.60107 c\r142.18311 -273.60107 142.18311 -282.82617 142.18311 -282.82617 c\r142.18311 -282.82617 145.09082 -282.82617 145.09082 -282.82617 c\r145.09082 -282.82617 148.53564 -277.5415 148.53564 -277.5415 c\r148.53564 -277.5415 148.53564 -282.82617 148.53564 -282.82617 c\r148.53564 -282.82617 150.76416 -282.82617 150.76416 -282.82617 c\r150.76416 -282.82617 150.76416 -273.60107 150.76416 -273.60107 c\rh\r135.47852 -273.60107 m\r135.47852 -273.60107 133.19336 -273.60107 133.19336 -273.60107 c\r133.19336 -273.60107 133.19336 -283.24658 133.19336 -283.24658 c\r133.19336 -283.24658 135.47852 -283.24658 135.47852 -283.24658 c\r135.47852 -283.24658 135.47852 -273.60107 135.47852 -273.60107 c\rh\r128.83545 -275.42676 m\r128.83545 -275.42676 128.83545 -276.86914 128.83545 -276.86914 c\r128.52783 -276.84424 128.19336 -276.81006 127.83496 -276.76709 c\r127.47607 -276.72363 127.2041 -276.67383 127.01855 -276.61572 c\r126.79053 -276.54639 126.61621 -276.44434 126.49609 -276.31104 c\r126.37598 -276.17725 126.31543 -276.00195 126.31543 -275.78418 c\r126.31543 -275.63965 126.32813 -275.52295 126.35352 -275.43262 c\r126.37891 -275.34229 126.44238 -275.25586 126.54346 -275.17383 c\r126.64063 -275.09131 126.75635 -275.03076 126.8916 -274.9917 c\r127.02686 -274.95313 127.23779 -274.93359 127.52441 -274.93359 c\r127.75244 -274.93359 127.9834 -274.97852 128.21826 -275.06885 c\r128.45313 -275.15967 128.6582 -275.27832 128.83545 -275.42676 c\rh\r128.83545 -274.33838 m\r128.71338 -274.24707 128.56152 -274.1377 128.37988 -274.00977 c\r128.19824 -273.88135 128.02686 -273.78076 127.8667 -273.70605 c\r127.64307 -273.60693 127.41113 -273.53467 127.16992 -273.48828 c\r126.92969 -273.44189 126.66553 -273.41797 126.37891 -273.41797 c\r125.70313 -273.41797 125.1377 -273.62256 124.68164 -274.03174 c\r124.22607 -274.44043 123.99805 -274.96338 123.99805 -275.59961 c\r123.99805 -276.10791 124.11377 -276.52295 124.34619 -276.84521 c\r124.57813 -277.16748 124.90771 -277.42139 125.33398 -277.60742 c\r125.75635 -277.79346 126.27979 -277.92578 126.9043 -278.00391 c\r127.5293 -278.08252 128.17676 -278.14063 128.84863 -278.17773 c\r128.84863 -278.17773 128.84863 -278.21484 128.84863 -278.21484 c\r128.84863 -278.59668 128.68799 -278.86035 128.36719 -279.00586 c\r128.04688 -279.15234 127.57471 -279.2251 126.9502 -279.2251 c\r126.57422 -279.2251 126.17432 -279.16016 125.74805 -279.03125 c\r125.32227 -278.90186 125.01611 -278.80273 124.83057 -278.73291 c\r124.83057 -278.73291 124.62207 -278.73291 124.62207 -278.73291 c\r124.62207 -278.73291 124.62207 -280.40918 124.62207 -280.40918 c\r124.8623 -280.47119 125.25391 -280.54443 125.7959 -280.62939 c\r126.33789 -280.71338 126.88135 -280.75586 127.42529 -280.75586 c\r128.7207 -280.75586 129.65625 -280.56055 130.23242 -280.17041 c\r130.80811 -279.78027 131.09619 -279.16748 131.09619 -278.3335 c\r131.09619 -278.3335 131.09619 -273.60107 131.09619 -273.60107 c\r131.09619 -273.60107 128.83545 -273.60107 128.83545 -273.60107 c\r128.83545 -273.60107 128.83545 -274.33838 128.83545 -274.33838 c\rh\r117.76074 -278.53906 m\r117.76074 -278.53906 117.76074 -273.60107 117.76074 -273.60107 c\r117.76074 -273.60107 115.4751 -273.60107 115.4751 -273.60107 c\r115.4751 -273.60107 115.4751 -277.08105 115.4751 -277.08105 c\r115.4751 -277.42041 115.4668 -277.7085 115.44971 -277.94678 c\r115.43262 -278.18506 115.38623 -278.37793 115.31055 -278.52686 c\r115.23438 -278.67578 115.11963 -278.78467 114.96484 -278.85254 c\r114.81055 -278.9209 114.59424 -278.95557 114.31543 -278.95557 c\r114.0918 -278.95557 113.87451 -278.91064 113.66309 -278.82178 c\r113.45215 -278.73291 113.26221 -278.63867 113.09229 -278.53906 c\r113.09229 -278.53906 113.09229 -273.60107 113.09229 -273.60107 c\r113.09229 -273.60107 110.80762 -273.60107 110.80762 -273.60107 c\r110.80762 -273.60107 110.80762 -280.55762 110.80762 -280.55762 c\r110.80762 -280.55762 113.09229 -280.55762 113.09229 -280.55762 c\r113.09229 -280.55762 113.09229 -279.79443 113.09229 -279.79443 c\r113.48486 -280.09619 113.85986 -280.33203 114.21826 -280.50146 c\r114.57715 -280.6709 114.97314 -280.75586 115.40771 -280.75586 c\r115.87598 -280.75586 116.28906 -280.65332 116.64746 -280.44922 c\r117.00586 -280.24463 117.28613 -279.94336 117.48877 -279.54688 c\r117.94385 -279.92285 118.38672 -280.21875 118.81641 -280.43359 c\r119.24658 -280.64844 119.66846 -280.75586 120.08154 -280.75586 c\r120.84863 -280.75586 121.43164 -280.53076 121.83008 -280.08008 c\r122.22803 -279.62939 122.42773 -278.97998 122.42773 -278.1333 c\r122.42773 -278.1333 122.42773 -273.60107 122.42773 -273.60107 c\r122.42773 -273.60107 120.14258 -273.60107 120.14258 -273.60107 c\r120.14258 -273.60107 120.14258 -277.08105 120.14258 -277.08105 c\r120.14258 -277.4248 120.13477 -277.71436 120.12061 -277.94971 c\r120.10596 -278.18604 120.06006 -278.37793 119.98389 -278.52686 c\r119.91211 -278.67578 119.79785 -278.78467 119.64209 -278.85254 c\r119.48535 -278.9209 119.26563 -278.95557 118.98291 -278.95557 c\r118.79297 -278.95557 118.60693 -278.92285 118.42529 -278.85889 c\r118.24414 -278.79492 118.02197 -278.68848 117.76074 -278.53906 c\rh\r108.66699 -273.60107 m\r108.66699 -273.60107 106.38184 -273.60107 106.38184 -273.60107 c\r106.38184 -273.60107 106.38184 -280.55762 106.38184 -280.55762 c\r106.38184 -280.55762 108.66699 -280.55762 108.66699 -280.55762 c\r108.66699 -280.55762 108.66699 -273.60107 108.66699 -273.60107 c\rh\r108.73193 -281.55713 m\r108.73193 -281.55713 106.31641 -281.55713 106.31641 -281.55713 c\r106.31641 -281.55713 106.31641 -283.24658 106.31641 -283.24658 c\r106.31641 -283.24658 108.73193 -283.24658 108.73193 -283.24658 c\r108.73193 -283.24658 108.73193 -281.55713 108.73193 -281.55713 c\rh\r105.01563 -273.66406 m\r104.77051 -273.60205 104.51074 -273.55322 104.23633 -273.51807 c\r103.96191 -273.4834 103.62598 -273.46582 103.229 -273.46582 c\r102.34229 -273.46582 101.68164 -273.64111 101.24902 -273.9917 c\r100.81592 -274.34277 100.59961 -274.94336 100.59961 -275.79297 c\r100.59961 -275.79297 100.59961 -279.04199 100.59961 -279.04199 c\r100.59961 -279.04199 99.65967 -279.04199 99.65967 -279.04199 c\r99.65967 -279.04199 99.65967 -280.55762 99.65967 -280.55762 c\r99.65967 -280.55762 100.59961 -280.55762 100.59961 -280.55762 c\r100.59961 -280.55762 100.59961 -282.54883 100.59961 -282.54883 c\r100.59961 -282.54883 102.88428 -282.54883 102.88428 -282.54883 c\r102.88428 -282.54883 102.88428 -280.55762 102.88428 -280.55762 c\r102.88428 -280.55762 105.01563 -280.55762 105.01563 -280.55762 c\r105.01563 -280.55762 105.01563 -279.04199 105.01563 -279.04199 c\r105.01563 -279.04199 102.88428 -279.04199 102.88428 -279.04199 c\r102.88428 -279.04199 102.88428 -276.57813 102.88428 -276.57813 c\r102.88428 -276.33447 102.88623 -276.12207 102.89063 -275.94043 c\r102.89502 -275.75928 102.92871 -275.5957 102.99219 -275.45117 c\r103.05078 -275.30664 103.15576 -275.19238 103.30469 -275.10791 c\r103.45508 -275.02344 103.67285 -274.98096 103.95996 -274.98096 c\r104.07813 -274.98096 104.23242 -275.00635 104.4248 -275.05615 c\r104.6167 -275.10693 104.75 -275.15332 104.82568 -275.19531 c\r104.82568 -275.19531 105.01563 -275.19531 105.01563 -275.19531 c\r105.01563 -275.19531 105.01563 -273.66406 105.01563 -273.66406 c\rh\r96.47998 -277.13428 m\r96.47998 -277.81152 96.36182 -278.30273 96.12549 -278.60791 c\r95.88965 -278.91357 95.51709 -279.06592 95.00732 -279.06592 c\r94.7915 -279.06592 94.5708 -279.03369 94.34326 -278.96973 c\r94.11523 -278.90625 93.89893 -278.81445 93.69238 -278.69434 c\r93.69238 -278.69434 93.69238 -275.19678 93.69238 -275.19678 c\r93.84375 -275.13867 94.00684 -275.10156 94.17871 -275.08496 c\r94.35156 -275.06885 94.52246 -275.06055 94.69092 -275.06055 c\r95.29346 -275.06055 95.74219 -275.23242 96.0376 -275.57715 c\r96.33252 -275.92188 96.47998 -276.44092 96.47998 -277.13428 c\rh\r98.82959 -277.17871 m\r98.82959 -276.60449 98.74023 -276.08203 98.56055 -275.61035 c\r98.38135 -275.13965 98.14648 -274.75098 97.85498 -274.44531 c\r97.55127 -274.12305 97.20801 -273.87891 96.82422 -273.71338 c\r96.43994 -273.54834 96.0293 -273.46582 95.59082 -273.46582 c\r95.18506 -273.46582 94.8418 -273.50781 94.55908 -273.59277 c\r94.27637 -273.67725 93.9873 -273.7959 93.69238 -273.94922 c\r93.69238 -273.94922 93.69238 -271.04639 93.69238 -271.04639 c\r93.69238 -271.04639 91.40674 -271.04639 91.40674 -271.04639 c\r91.40674 -271.04639 91.40674 -280.55762 91.40674 -280.55762 c\r91.40674 -280.55762 93.69238 -280.55762 93.69238 -280.55762 c\r93.69238 -280.55762 93.69238 -279.83252 93.69238 -279.83252 c\r94.04199 -280.10498 94.3999 -280.32715 94.76416 -280.49854 c\r95.12939 -280.66992 95.5498 -280.75586 96.02686 -280.75586 c\r96.9126 -280.75586 97.60156 -280.4375 98.09277 -279.80127 c\r98.58398 -279.16455 98.82959 -278.29053 98.82959 -277.17871 c\rh\r86.45654 -275.87891 m\r86.69287 -276.15918 86.86816 -276.48975 86.98242 -276.87158 c\r87.09619 -277.25293 87.15283 -277.70117 87.15283 -278.21631 c\r87.15283 -278.76904 87.0874 -279.23877 86.95703 -279.62646 c\r86.82617 -280.01416 86.65527 -280.32715 86.44434 -280.56689 c\r86.22803 -280.81348 85.98047 -280.99316 85.69922 -281.10449 c\r85.41846 -281.21582 85.12646 -281.27148 84.82227 -281.27148 c\r84.51416 -281.27148 84.22412 -281.21777 83.95166 -281.11035 c\r83.67871 -281.00342 83.42871 -280.82617 83.20117 -280.5791 c\r82.99023 -280.34766 82.81787 -280.02979 82.68506 -279.62305 c\r82.55225 -279.21729 82.48584 -278.74609 82.48584 -278.20996 c\r82.48584 -277.66211 82.55029 -277.19531 82.67871 -276.80957 c\r82.80762 -276.42432 82.97754 -276.10986 83.18848 -275.8667 c\r83.39941 -275.62305 83.64648 -275.44434 83.92969 -275.32861 c\r84.2124 -275.21338 84.50977 -275.15527 84.82227 -275.15527 c\r85.13477 -275.15527 85.43262 -275.21436 85.71533 -275.33154 c\r85.99805 -275.44922 86.24512 -275.63184 86.45654 -275.87891 c\rh\r89.68115 -278.20996 m\r89.68115 -276.74023 89.25098 -275.57275 88.38867 -274.70752 c\r87.52734 -273.84277 86.33643 -273.41016 84.81592 -273.41016 c\r83.2998 -273.41016 82.11133 -273.84277 81.25 -274.70752 c\r80.38818 -275.57275 79.95752 -276.74023 79.95752 -278.20996 c\r79.95752 -279.69287 80.38818 -280.86426 81.25 -281.7251 c\r82.11133 -282.58594 83.2998 -283.0166 84.81592 -283.0166 c\r86.32813 -283.0166 87.51709 -282.58594 88.38281 -281.7251 c\r89.24805 -280.86426 89.68115 -279.69287 89.68115 -278.20996 c\rh\rf\rQ\rq\r1 0 0 -1 0 0 cm\r1 -0.71973 m\r1 -0.71973 519.86133 -0.71973 519.86133 -0.71973 c\r519.86133 -0.71973 519.86133 -300 519.86133 -300 c\r519.86133 -300 1 -300 1 -300 c\r1 -300 1 -0.71973 1 -0.71973 c\rh\rW n\r0 0 0 rg\r0 i \r/GS0 gs\r34.56543 -47.16406 m\r34.66846 -47.39941 34.73877 -47.6748 34.77588 -47.99316 c\r34.8125 -48.30859 34.83057 -48.69141 34.83057 -49.13672 c\r34.83057 -49.57715 34.8125 -49.95898 34.77588 -50.2832 c\r34.73877 -50.6084 34.66699 -50.88281 34.56104 -51.1084 c\r34.45703 -51.33105 34.31641 -51.49902 34.13818 -51.6123 c\r33.95898 -51.72559 33.72949 -51.78125 33.44971 -51.78125 c\r33.17188 -51.78125 32.94189 -51.72559 32.76025 -51.6123 c\r32.5791 -51.49902 32.43506 -51.3291 32.3291 -51.09961 c\r32.22852 -50.88477 32.15967 -50.60547 32.12354 -50.26074 c\r32.08643 -49.91699 32.06787 -49.53906 32.06787 -49.12793 c\r32.06787 -48.67676 32.0835 -48.29883 32.11621 -47.99512 c\r32.14893 -47.69043 32.21826 -47.41797 32.32471 -47.17773 c\r32.42188 -46.95117 32.56055 -46.78027 32.73828 -46.66016 c\r32.91748 -46.54297 33.15381 -46.48242 33.44971 -46.48242 c\r33.72705 -46.48242 33.95703 -46.53906 34.14014 -46.65234 c\r34.32324 -46.76563 34.46484 -46.93652 34.56543 -47.16406 c\rh\r35.72998 -49.13672 m\r35.72998 -47.97656 35.54492 -47.125 35.17432 -46.58301 c\r34.80371 -46.04102 34.22852 -45.76855 33.44971 -45.76855 c\r32.6582 -45.76855 32.08008 -46.04395 31.71533 -46.59375 c\r31.3501 -47.14355 31.16846 -47.98828 31.16846 -49.12793 c\r31.16846 -50.27637 31.35254 -51.12402 31.72168 -51.67383 c\r32.09082 -52.22168 32.6665 -52.49609 33.44971 -52.49609 c\r34.24072 -52.49609 34.81836 -52.2168 35.18311 -51.66016 c\r35.54785 -51.10352 35.72998 -50.26172 35.72998 -49.13672 c\rh\rf\r35.36523 -78.64844 m\r35.36523 -78.64844 31.79199 -78.64844 31.79199 -78.64844 c\r31.79199 -78.64844 31.79199 -79.30762 31.79199 -79.30762 c\r31.79199 -79.30762 33.16992 -79.30762 33.16992 -79.30762 c\r33.16992 -79.30762 33.16992 -83.63965 33.16992 -83.63965 c\r33.16992 -83.63965 31.79199 -83.63965 31.79199 -83.63965 c\r31.79199 -83.63965 31.79199 -84.22656 31.79199 -84.22656 c\r31.97852 -84.22656 32.17871 -84.24121 32.3916 -84.27148 c\r32.60449 -84.30273 32.76611 -84.34668 32.87598 -84.4043 c\r33.01221 -84.47656 33.12012 -84.56934 33.19824 -84.68066 c\r33.27637 -84.79297 33.32178 -84.94141 33.3335 -85.12988 c\r33.3335 -85.12988 34.02051 -85.12988 34.02051 -85.12988 c\r34.02051 -85.12988 34.02051 -79.30762 34.02051 -79.30762 c\r34.02051 -79.30762 35.36523 -79.30762 35.36523 -79.30762 c\r35.36523 -79.30762 35.36523 -78.64844 35.36523 -78.64844 c\rh\rf\r35.72998 -111.39453 m\r35.72998 -111.39453 31.27344 -111.39453 31.27344 -111.39453 c\r31.27344 -111.39453 31.27344 -112.30566 31.27344 -112.30566 c\r31.5835 -112.56543 31.89453 -112.82617 32.20605 -113.08594 c\r32.51758 -113.34668 32.80762 -113.60449 33.07617 -113.86328 c\r33.64307 -114.40039 34.03125 -114.82813 34.24072 -115.14355 c\r34.45068 -115.46094 34.55566 -115.80273 34.55566 -116.1709 c\r34.55566 -116.50488 34.44238 -116.76758 34.2168 -116.95801 c\r33.99023 -117.14648 33.6748 -117.24219 33.27002 -117.24219 c\r33.00146 -117.24219 32.71045 -117.19531 32.39746 -117.10059 c\r32.08398 -117.00684 31.77832 -116.86328 31.47998 -116.6709 c\r31.47998 -116.6709 31.43604 -116.6709 31.43604 -116.6709 c\r31.43604 -116.6709 31.43604 -117.58398 31.43604 -117.58398 c\r31.64551 -117.68457 31.9248 -117.77734 32.27441 -117.86035 c\r32.62451 -117.94531 32.96289 -117.98633 33.29004 -117.98633 c\r33.96582 -117.98633 34.49561 -117.82715 34.87939 -117.50781 c\r35.26318 -117.18945 35.45459 -116.75586 35.45459 -116.20996 c\r35.45459 -115.96387 35.42334 -115.73535 35.35986 -115.52441 c\r35.2959 -115.31152 35.20215 -115.1084 35.07861 -114.91895 c\r34.96338 -114.73926 34.82861 -114.56348 34.67432 -114.38965 c\r34.51904 -114.2168 34.33105 -114.02441 34.10938 -113.81348 c\r33.79395 -113.50977 33.46826 -113.2168 33.13184 -112.93164 c\r32.79541 -112.64648 32.48145 -112.38379 32.18994 -112.14063 c\r32.18994 -112.14063 35.72998 -112.14063 35.72998 -112.14063 c\r35.72998 -112.14063 35.72998 -111.39453 35.72998 -111.39453 c\rh\rf\r35.16162 -146.99805 m\r35.30322 -146.87402 35.41992 -146.7168 35.51172 -146.5293 c\r35.60352 -146.34082 35.64941 -146.09863 35.64941 -145.80078 c\r35.64941 -145.50488 35.59424 -145.23438 35.48535 -144.98828 c\r35.37549 -144.74316 35.22217 -144.5293 35.02393 -144.34668 c\r34.80225 -144.14355 34.54102 -143.99414 34.24072 -143.89746 c\r33.94043 -143.80078 33.6123 -143.75195 33.25391 -143.75195 c\r32.88721 -143.75195 32.52637 -143.79492 32.17188 -143.88086 c\r31.81641 -143.96582 31.52539 -144.05957 31.29834 -144.16113 c\r31.29834 -144.16113 31.29834 -145.06836 31.29834 -145.06836 c\r31.29834 -145.06836 31.36475 -145.06836 31.36475 -145.06836 c\r31.61621 -144.90527 31.9126 -144.76855 32.25293 -144.66016 c\r32.59375 -144.55176 32.92236 -144.49805 33.23975 -144.49805 c\r33.42578 -144.49805 33.62402 -144.52832 33.83496 -144.58887 c\r34.04541 -144.65039 34.21484 -144.74023 34.34619 -144.85938 c\r34.48193 -144.98633 34.5835 -145.12793 34.6499 -145.28125 c\r34.7168 -145.43555 34.75 -145.62988 34.75 -145.86523 c\r34.75 -146.09668 34.71191 -146.29004 34.63672 -146.44238 c\r34.56055 -146.59473 34.45605 -146.71387 34.32227 -146.80078 c\r34.18896 -146.8916 34.02686 -146.95313 33.83691 -146.98633 c\r33.64648 -147.01953 33.44189 -147.03613 33.22217 -147.03613 c\r33.22217 -147.03613 32.82129 -147.03613 32.82129 -147.03613 c\r32.82129 -147.03613 32.82129 -147.75 32.82129 -147.75 c\r32.82129 -147.75 33.13232 -147.75 33.13232 -147.75 c\r33.58252 -147.75 33.94189 -147.8418 34.20996 -148.02637 c\r34.47803 -148.20996 34.6123 -148.47949 34.6123 -148.83301 c\r34.6123 -148.98926 34.57813 -149.12646 34.51074 -149.24414 c\r34.44238 -149.36133 34.34766 -149.45801 34.22656 -149.5332 c\r34.09961 -149.60889 33.96338 -149.66113 33.81885 -149.68994 c\r33.67432 -149.71875 33.50977 -149.7334 33.32715 -149.7334 c\r33.04688 -149.7334 32.74805 -149.68359 32.43213 -149.58398 c\r32.11572 -149.48438 31.81738 -149.34375 31.53662 -149.16211 c\r31.53662 -149.16211 31.49268 -149.16211 31.49268 -149.16211 c\r31.49268 -149.16211 31.49268 -150.07031 31.49268 -150.07031 c\r31.70264 -150.17188 31.98193 -150.26514 32.33252 -150.35059 c\r32.68213 -150.43604 33.021 -150.479 33.34961 -150.479 c\r33.6709 -150.479 33.95459 -150.4502 34.19971 -150.39209 c\r34.44531 -150.33447 34.6665 -150.24219 34.86426 -150.11475 c\r35.07764 -149.97607 35.23828 -149.80811 35.34766 -149.61182 c\r35.45654 -149.41553 35.51172 -149.18604 35.51172 -148.92285 c\r35.51172 -148.56445 35.38184 -148.25195 35.12354 -147.98438 c\r34.86523 -147.7168 34.55957 -147.54883 34.20801 -147.47852 c\r34.20801 -147.47852 34.20801 -147.41895 34.20801 -147.41895 c\r34.34961 -147.39551 34.5127 -147.34766 34.6958 -147.27344 c\r34.87939 -147.19922 35.03418 -147.10742 35.16162 -146.99805 c\rh\rf\r34.06104 -179.14746 m\r34.06104 -179.14746 34.06104 -182.06348 34.06104 -182.06348 c\r34.06104 -182.06348 31.50342 -179.14746 31.50342 -179.14746 c\r31.50342 -179.14746 34.06104 -179.14746 34.06104 -179.14746 c\rh\r35.89258 -178.44922 m\r35.89258 -178.44922 34.91211 -178.44922 34.91211 -178.44922 c\r34.91211 -178.44922 34.91211 -176.63281 34.91211 -176.63281 c\r34.91211 -176.63281 34.06104 -176.63281 34.06104 -176.63281 c\r34.06104 -176.63281 34.06104 -178.44922 34.06104 -178.44922 c\r34.06104 -178.44922 30.90088 -178.44922 30.90088 -178.44922 c\r30.90088 -178.44922 30.90088 -179.44678 30.90088 -179.44678 c\r30.90088 -179.44678 34.09619 -183.08984 34.09619 -183.08984 c\r34.09619 -183.08984 34.91211 -183.08984 34.91211 -183.08984 c\r34.91211 -183.08984 34.91211 -179.14746 34.91211 -179.14746 c\r34.91211 -179.14746 35.89258 -179.14746 35.89258 -179.14746 c\r35.89258 -179.14746 35.89258 -178.44922 35.89258 -178.44922 c\rh\rf\r35.68994 -211.42822 m\r35.68994 -211.12793 35.63379 -210.84033 35.521 -210.56592 c\r35.40869 -210.29102 35.25488 -210.06006 35.06006 -209.87207 c\r34.84717 -209.66992 34.59326 -209.51416 34.29932 -209.40576 c\r34.00537 -209.29785 33.66406 -209.24365 33.27637 -209.24365 c\r32.91553 -209.24365 32.56836 -209.28027 32.23486 -209.354 c\r31.8999 -209.42822 31.61816 -209.51709 31.38672 -209.62109 c\r31.38672 -209.62109 31.38672 -210.53711 31.38672 -210.53711 c\r31.38672 -210.53711 31.44922 -210.53711 31.44922 -210.53711 c\r31.69189 -210.38525 31.97559 -210.25537 32.30078 -210.14893 c\r32.62646 -210.04248 32.9458 -209.98926 33.25977 -209.98926 c\r33.46973 -209.98926 33.67285 -210.01855 33.86963 -210.07617 c\r34.06592 -210.13379 34.2417 -210.23535 34.39551 -210.37988 c\r34.52539 -210.50439 34.62402 -210.65332 34.68994 -210.82666 c\r34.75732 -211 34.79053 -211.20166 34.79053 -211.42969 c\r34.79053 -211.65283 34.75098 -211.84082 34.67334 -211.99414 c\r34.59424 -212.14746 34.48584 -212.27051 34.34668 -212.36279 c\r34.19287 -212.47314 34.00586 -212.55029 33.78467 -212.59521 c\r33.56445 -212.63965 33.31836 -212.6626 33.04688 -212.6626 c\r32.78564 -212.6626 32.53516 -212.64502 32.29395 -212.60986 c\r32.05322 -212.57422 31.84521 -212.53906 31.67041 -212.50391 c\r31.67041 -212.50391 31.67041 -215.83545 31.67041 -215.83545 c\r31.67041 -215.83545 35.64941 -215.83545 35.64941 -215.83545 c\r35.64941 -215.83545 35.64941 -215.07373 35.64941 -215.07373 c\r35.64941 -215.07373 32.52148 -215.07373 32.52148 -215.07373 c\r32.52148 -215.07373 32.52148 -213.35791 32.52148 -213.35791 c\r32.64844 -213.36914 32.77881 -213.37793 32.9126 -213.3833 c\r33.0459 -213.38916 33.16113 -213.39209 33.25928 -213.39209 c\r33.61768 -213.39209 33.93164 -213.36279 34.20117 -213.30371 c\r34.4707 -213.24414 34.71826 -213.13916 34.94336 -212.98877 c\r35.18066 -212.83057 35.36377 -212.625 35.49414 -212.37354 c\r35.625 -212.12256 35.68994 -211.80713 35.68994 -211.42822 c\rh\rf\r34.93604 -244.18652 m\r34.93604 -244.4541 34.89551 -244.67627 34.81494 -244.85205 c\r34.7334 -245.02734 34.60059 -245.18066 34.41504 -245.31006 c\r34.2793 -245.40234 34.12891 -245.46289 33.96387 -245.4917 c\r33.79883 -245.521 33.62646 -245.53516 33.44678 -245.53516 c\r33.19629 -245.53516 32.96387 -245.50635 32.74854 -245.44824 c\r32.5332 -245.39111 32.31201 -245.30176 32.08545 -245.18066 c\r32.07959 -245.11719 32.07568 -245.05615 32.07227 -244.99707 c\r32.06885 -244.9375 32.06787 -244.86328 32.06787 -244.77393 c\r32.06787 -244.31836 32.11523 -243.95898 32.21143 -243.6958 c\r32.30713 -243.43164 32.43848 -243.22363 32.60742 -243.0708 c\r32.74219 -242.94385 32.88965 -242.85059 33.04688 -242.79199 c\r33.2041 -242.73242 33.37646 -242.70313 33.56152 -242.70313 c\r33.98877 -242.70313 34.32471 -242.83057 34.56934 -243.08594 c\r34.81396 -243.34082 34.93604 -243.70752 34.93604 -244.18652 c\rh\r35.83594 -244.21875 m\r35.83594 -243.5625 35.61523 -243.02686 35.17334 -242.61182 c\r34.73242 -242.19678 34.19141 -241.98926 33.55078 -241.98926 c\r33.22559 -241.98926 32.93066 -242.03857 32.66504 -242.13721 c\r32.39941 -242.23535 32.16406 -242.38135 31.96094 -242.5752 c\r31.70703 -242.81543 31.51123 -243.13379 31.37402 -243.52979 c\r31.2373 -243.92676 31.16846 -244.40381 31.16846 -244.9624 c\r31.16846 -245.53516 31.23096 -246.04297 31.35693 -246.48584 c\r31.48193 -246.92871 31.68262 -247.32227 31.95752 -247.6665 c\r32.2168 -247.99365 32.55225 -248.24854 32.96289 -248.43262 c\r33.37305 -248.61621 33.85156 -248.7085 34.39795 -248.7085 c\r34.57227 -248.7085 34.71826 -248.70117 34.83643 -248.68652 c\r34.95459 -248.67188 35.07422 -248.646 35.1958 -248.6084 c\r35.1958 -248.6084 35.1958 -247.78027 35.1958 -247.78027 c\r35.1958 -247.78027 35.15137 -247.78027 35.15137 -247.78027 c\r35.06885 -247.82373 34.94385 -247.86475 34.77734 -247.90381 c\r34.61084 -247.94287 34.44043 -247.9624 34.2666 -247.9624 c\r33.63281 -247.9624 33.12646 -247.76758 32.74902 -247.37793 c\r32.37109 -246.98828 32.15186 -246.46191 32.08984 -245.79834 c\r32.3374 -245.94531 32.58154 -246.05762 32.82178 -246.13428 c\r33.06201 -246.21094 33.33984 -246.24902 33.65527 -246.24902 c\r33.93555 -246.24902 34.18213 -246.22363 34.396 -246.17285 c\r34.60986 -246.12256 34.8291 -246.02051 35.05273 -245.86719 c\r35.31201 -245.69092 35.50781 -245.46826 35.63867 -245.19922 c\r35.77002 -244.93066 35.83594 -244.60352 35.83594 -244.21875 c\rh\rf\r100.67432 -34.76563 m\r100.67432 -35.03418 100.63379 -35.25586 100.55273 -35.43164 c\r100.47119 -35.60742 100.33887 -35.75977 100.15332 -35.88965 c\r100.01758 -35.98242 99.8667 -36.04199 99.70166 -36.07129 c\r99.53662 -36.09961 99.36426 -36.11426 99.18506 -36.11426 c\r98.93408 -36.11426 98.70166 -36.08594 98.48633 -36.02734 c\r98.271 -35.9707 98.05078 -35.88086 97.82373 -35.76172 c\r97.81738 -35.69727 97.81348 -35.63477 97.80957 -35.57715 c\r97.80713 -35.51758 97.80566 -35.44336 97.80566 -35.35449 c\r97.80566 -34.89746 97.85352 -34.53809 97.94922 -34.27637 c\r98.04541 -34.01172 98.17725 -33.80273 98.34473 -33.65039 c\r98.48047 -33.52441 98.62744 -33.43066 98.78516 -33.37109 c\r98.94189 -33.31348 99.11426 -33.28223 99.2998 -33.28223 c\r99.72656 -33.28223 100.06299 -33.41016 100.30713 -33.66602 c\r100.55225 -33.9209 100.67432 -34.28711 100.67432 -34.76563 c\rh\r101.57373 -34.79883 m\r101.57373 -34.1416 101.35303 -33.60645 100.91162 -33.19141 c\r100.47021 -32.77637 99.9292 -32.56934 99.28857 -32.56934 c\r98.96387 -32.56934 98.66895 -32.61816 98.40283 -32.7168 c\r98.1377 -32.81543 97.90332 -32.96094 97.69922 -33.1543 c\r97.44531 -33.39551 97.24902 -33.71387 97.11182 -34.10938 c\r96.97461 -34.50586 96.90625 -34.9834 96.90625 -35.54199 c\r96.90625 -36.11426 96.96875 -36.62305 97.09473 -37.06543 c\r97.22021 -37.50879 97.42041 -37.90137 97.69531 -38.24609 c\r97.95459 -38.57324 98.29004 -38.8291 98.70068 -39.0127 c\r99.11133 -39.19629 99.58936 -39.28711 100.13623 -39.28711 c\r100.31006 -39.28711 100.45703 -39.28125 100.5752 -39.2666 c\r100.69287 -39.25195 100.8125 -39.22559 100.93359 -39.18848 c\r100.93359 -39.18848 100.93359 -38.36035 100.93359 -38.36035 c\r100.93359 -38.36035 100.88916 -38.36035 100.88916 -38.36035 c\r100.80664 -38.40332 100.68164 -38.44434 100.51514 -38.48438 c\r100.34912 -38.52344 100.17871 -38.54199 100.00439 -38.54199 c\r99.37061 -38.54199 98.86475 -38.34766 98.48682 -37.95703 c\r98.10938 -37.56738 97.88965 -37.04199 97.82764 -36.37793 c\r98.0752 -36.52539 98.31934 -36.63672 98.55957 -36.71387 c\r98.80029 -36.79004 99.07764 -36.8291 99.39404 -36.8291 c\r99.67334 -36.8291 99.91992 -36.80371 100.13477 -36.75293 c\r100.34814 -36.70215 100.56689 -36.59961 100.79102 -36.44727 c\r101.05029 -36.27051 101.24609 -36.04883 101.37646 -35.78027 c\r101.5083 -35.51074 101.57373 -35.18262 101.57373 -34.79883 c\rh\r95.65625 -34.75391 m\r95.65625 -34.4541 95.59961 -34.16602 95.48682 -33.8916 c\r95.375 -33.61719 95.2207 -33.38574 95.02588 -33.19727 c\r94.81299 -32.99512 94.55908 -32.83984 94.26514 -32.73145 c\r93.97119 -32.62305 93.62988 -32.56934 93.24268 -32.56934 c\r92.88184 -32.56934 92.53467 -32.60645 92.20068 -32.67871 c\r91.86621 -32.75391 91.58398 -32.84277 91.35254 -32.94629 c\r91.35254 -32.94629 91.35254 -33.86328 91.35254 -33.86328 c\r91.35254 -33.86328 91.41504 -33.86328 91.41504 -33.86328 c\r91.65771 -33.70996 91.94141 -33.58203 92.2666 -33.47461 c\r92.59277 -33.36816 92.91162 -33.31543 93.22559 -33.31543 c\r93.43555 -33.31543 93.63867 -33.34473 93.83545 -33.40234 c\r94.03223 -33.45996 94.20752 -33.56152 94.36133 -33.70605 c\r94.4917 -33.83008 94.58984 -33.97852 94.65625 -34.15234 c\r94.72314 -34.3252 94.75684 -34.52734 94.75684 -34.75488 c\r94.75684 -34.97852 94.7168 -35.16602 94.63916 -35.31934 c\r94.56006 -35.47266 94.45166 -35.5957 94.3125 -35.68945 c\r94.15869 -35.79883 93.97168 -35.87598 93.75098 -35.91992 c\r93.53076 -35.96582 93.28467 -35.98828 93.0127 -35.98828 c\r92.75146 -35.98828 92.50146 -35.96973 92.26025 -35.93457 c\r92.01904 -35.89941 91.81152 -35.86426 91.63623 -35.8291 c\r91.63623 -35.8291 91.63623 -39.16113 91.63623 -39.16113 c\r91.63623 -39.16113 95.61523 -39.16113 95.61523 -39.16113 c\r95.61523 -39.16113 95.61523 -38.39941 95.61523 -38.39941 c\r95.61523 -38.39941 92.4873 -38.39941 92.4873 -38.39941 c\r92.4873 -38.39941 92.4873 -36.68262 92.4873 -36.68262 c\r92.61426 -36.69531 92.74512 -36.70313 92.87842 -36.70898 c\r93.01221 -36.71582 93.12744 -36.71777 93.2251 -36.71777 c\r93.5835 -36.71777 93.89795 -36.68848 94.16699 -36.62891 c\r94.43701 -36.56934 94.68457 -36.46484 94.90918 -36.31445 c\r95.14648 -36.15625 95.33008 -35.9502 95.45996 -35.69922 c\r95.59082 -35.44727 95.65625 -35.13281 95.65625 -34.75391 c\rh\r89.92383 -32.7041 m\r89.92383 -32.7041 85.46729 -32.7041 85.46729 -32.7041 c\r85.46729 -32.7041 85.46729 -33.61523 85.46729 -33.61523 c\r85.77783 -33.875 86.08838 -34.13574 86.3999 -34.39551 c\r86.71143 -34.65625 87.00195 -34.91406 87.27002 -35.17188 c\r87.83691 -35.70996 88.22461 -36.1377 88.43457 -36.45313 c\r88.64404 -36.76953 88.74951 -37.1123 88.74951 -37.47852 c\r88.74951 -37.81445 88.63623 -38.07715 88.41016 -38.26563 c\r88.18457 -38.45508 87.86914 -38.5498 87.46387 -38.5498 c\r87.19531 -38.5498 86.9043 -38.50293 86.59131 -38.40918 c\r86.27783 -38.31641 85.97217 -38.17188 85.67383 -37.97949 c\r85.67383 -37.97949 85.62939 -37.97949 85.62939 -37.97949 c\r85.62939 -37.97949 85.62939 -38.8916 85.62939 -38.8916 c\r85.83887 -38.99316 86.11816 -39.08496 86.46777 -39.16992 c\r86.81836 -39.25488 87.15674 -39.2959 87.48389 -39.2959 c\r88.15967 -39.2959 88.68945 -39.13672 89.07324 -38.81641 c\r89.45654 -38.49805 89.64893 -38.06445 89.64893 -37.51953 c\r89.64893 -37.27344 89.61719 -37.04395 89.55371 -36.83105 c\r89.49023 -36.61914 89.39697 -36.41797 89.27246 -36.22852 c\r89.15723 -36.04883 89.02295 -35.87305 88.86816 -35.69922 c\r88.71289 -35.52539 88.52441 -35.33398 88.30371 -35.12305 c\r87.98828 -34.81934 87.66211 -34.52539 87.32617 -34.24121 c\r86.98926 -33.95605 86.67529 -33.69238 86.3833 -33.44922 c\r86.3833 -33.44922 89.92383 -33.44922 89.92383 -33.44922 c\r89.92383 -33.44922 89.92383 -32.7041 89.92383 -32.7041 c\rh\rf\r200.04346 -37.66406 m\r200.04346 -37.97559 199.92285 -38.22363 199.68018 -38.40723 c\r199.43848 -38.59375 199.12939 -38.68457 198.75391 -38.68457 c\r198.38379 -38.68457 198.08105 -38.59766 197.84473 -38.42383 c\r197.60889 -38.24805 197.49121 -38.0127 197.49121 -37.7168 c\r197.49121 -37.50684 197.5498 -37.32617 197.66943 -37.17383 c\r197.78809 -37.02148 197.96875 -36.88477 198.20996 -36.76563 c\r198.31885 -36.71387 198.47559 -36.64551 198.68018 -36.56055 c\r198.88477 -36.47559 199.08398 -36.40723 199.27832 -36.35254 c\r199.56689 -36.54297 199.76611 -36.74219 199.87744 -36.94922 c\r199.98779 -37.15527 200.04346 -37.39355 200.04346 -37.66406 c\rh\r200.18115 -34.41797 m\r200.18115 -34.68359 200.12109 -34.89746 200.00195 -35.05859 c\r199.88281 -35.21973 199.64941 -35.38086 199.30176 -35.54297 c\r199.1626 -35.60742 199.01074 -35.66602 198.8457 -35.72168 c\r198.68066 -35.77637 198.46094 -35.85449 198.1875 -35.95117 c\r197.92334 -35.81055 197.71143 -35.61621 197.55176 -35.37402 c\r197.39209 -35.13086 197.3125 -34.85449 197.3125 -34.54883 c\r197.3125 -34.15625 197.44922 -33.83398 197.72314 -33.57813 c\r197.99609 -33.32324 198.34326 -33.19531 198.76465 -33.19531 c\r199.19385 -33.19531 199.53711 -33.30469 199.79492 -33.52148 c\r200.05225 -33.73926 200.18115 -34.03809 200.18115 -34.41797 c\rh\r201.09668 -34.50195 m\r201.09668 -33.94336 200.875 -33.47852 200.43018 -33.1084 c\r199.98633 -32.73926 199.42725 -32.55273 198.75488 -32.55273 c\r198.04053 -32.55273 197.47217 -32.73438 197.04834 -33.09668 c\r196.62451 -33.45801 196.41309 -33.9209 196.41309 -34.48438 c\r196.41309 -34.84375 196.51904 -35.16797 196.73193 -35.45996 c\r196.94434 -35.75098 197.24365 -35.98047 197.63037 -36.15137 c\r197.63037 -36.15137 197.63037 -36.17871 197.63037 -36.17871 c\r197.27588 -36.3623 197.01514 -36.56445 196.84521 -36.78613 c\r196.67627 -37.00488 196.59131 -37.2793 196.59131 -37.61035 c\r196.59131 -38.0957 196.79492 -38.50195 197.20166 -38.8252 c\r197.60938 -39.14941 198.12646 -39.3125 198.75488 -39.3125 c\r199.41309 -39.3125 199.9375 -39.15723 200.32959 -38.84766 c\r200.72217 -38.53809 200.91797 -38.14453 200.91797 -37.66602 c\r200.91797 -37.375 200.82617 -37.08789 200.64063 -36.80469 c\r200.45605 -36.52344 200.18408 -36.30273 199.82568 -36.14355 c\r199.82568 -36.14355 199.82568 -36.11621 199.82568 -36.11621 c\r200.2373 -35.94336 200.55225 -35.72949 200.77002 -35.47461 c\r200.9873 -35.21973 201.09668 -34.89551 201.09668 -34.50195 c\rh\r195.26807 -32.7041 m\r195.26807 -32.7041 190.81104 -32.7041 190.81104 -32.7041 c\r190.81104 -32.7041 190.81104 -33.61523 190.81104 -33.61523 c\r191.12109 -33.875 191.43164 -34.13574 191.74316 -34.39551 c\r192.05469 -34.65625 192.34521 -34.91406 192.61328 -35.17188 c\r193.18018 -35.70996 193.56885 -36.1377 193.77881 -36.45313 c\r193.98828 -36.76953 194.09277 -37.1123 194.09277 -37.47852 c\r194.09277 -37.81445 193.97998 -38.07715 193.75391 -38.26563 c\r193.52783 -38.45508 193.2124 -38.5498 192.80811 -38.5498 c\r192.53857 -38.5498 192.24854 -38.50293 191.93457 -38.40918 c\r191.62158 -38.31641 191.31641 -38.17188 191.01758 -37.97949 c\r191.01758 -37.97949 190.97314 -37.97949 190.97314 -37.97949 c\r190.97314 -37.97949 190.97314 -38.8916 190.97314 -38.8916 c\r191.18262 -38.99316 191.4624 -39.08496 191.81201 -39.16992 c\r192.16162 -39.25488 192.50049 -39.2959 192.82813 -39.2959 c\r193.50391 -39.2959 194.03369 -39.13672 194.41699 -38.81641 c\r194.80078 -38.49805 194.99268 -38.06445 194.99268 -37.51953 c\r194.99268 -37.27344 194.96094 -37.04395 194.89697 -36.83105 c\r194.8335 -36.61914 194.74023 -36.41797 194.61621 -36.22852 c\r194.50146 -36.04883 194.36621 -35.87305 194.21143 -35.69922 c\r194.05664 -35.52539 193.86865 -35.33398 193.64697 -35.12305 c\r193.33154 -34.81934 193.00537 -34.52539 192.66992 -34.24121 c\r192.33301 -33.95605 192.01904 -33.69238 191.72705 -33.44922 c\r191.72705 -33.44922 195.26807 -33.44922 195.26807 -33.44922 c\r195.26807 -33.44922 195.26807 -32.7041 195.26807 -32.7041 c\rh\r189.13135 -32.7041 m\r189.13135 -32.7041 185.55762 -32.7041 185.55762 -32.7041 c\r185.55762 -32.7041 185.55762 -33.36328 185.55762 -33.36328 c\r185.55762 -33.36328 186.93555 -33.36328 186.93555 -33.36328 c\r186.93555 -33.36328 186.93555 -37.69238 186.93555 -37.69238 c\r186.93555 -37.69238 185.55762 -37.69238 185.55762 -37.69238 c\r185.55762 -37.69238 185.55762 -38.28027 185.55762 -38.28027 c\r185.74365 -38.28027 185.94385 -38.2959 186.15723 -38.32715 c\r186.37061 -38.35547 186.53223 -38.40137 186.64111 -38.45898 c\r186.77783 -38.53125 186.88477 -38.62305 186.96387 -38.73535 c\r187.04199 -38.84668 187.08691 -38.99609 187.09961 -39.18457 c\r187.09961 -39.18457 187.78613 -39.18457 187.78613 -39.18457 c\r187.78613 -39.18457 187.78613 -33.36328 187.78613 -33.36328 c\r187.78613 -33.36328 189.13135 -33.36328 189.13135 -33.36328 c\r189.13135 -33.36328 189.13135 -32.7041 189.13135 -32.7041 c\rh\rf\r296.28223 -35.21777 m\r296.28223 -35.21777 296.28223 -38.13477 296.28223 -38.13477 c\r296.28223 -38.13477 293.72461 -35.21777 293.72461 -35.21777 c\r293.72461 -35.21777 296.28223 -35.21777 296.28223 -35.21777 c\rh\r298.11328 -34.51953 m\r298.11328 -34.51953 297.13184 -34.51953 297.13184 -34.51953 c\r297.13184 -34.51953 297.13184 -32.7041 297.13184 -32.7041 c\r297.13184 -32.7041 296.28223 -32.7041 296.28223 -32.7041 c\r296.28223 -32.7041 296.28223 -34.51953 296.28223 -34.51953 c\r296.28223 -34.51953 293.12207 -34.51953 293.12207 -34.51953 c\r293.12207 -34.51953 293.12207 -35.51758 293.12207 -35.51758 c\r293.12207 -35.51758 296.31836 -39.16113 296.31836 -39.16113 c\r296.31836 -39.16113 297.13184 -39.16113 297.13184 -39.16113 c\r297.13184 -39.16113 297.13184 -35.21777 297.13184 -35.21777 c\r297.13184 -35.21777 298.11328 -35.21777 298.11328 -35.21777 c\r298.11328 -35.21777 298.11328 -34.51953 298.11328 -34.51953 c\rh\r291.38477 -34.76563 m\r291.38477 -35.03418 291.34375 -35.25586 291.26465 -35.43164 c\r291.18262 -35.60742 291.04883 -35.75977 290.86328 -35.88965 c\r290.72754 -35.98242 290.57715 -36.04199 290.41211 -36.07129 c\r290.24805 -36.09961 290.0752 -36.11426 289.89551 -36.11426 c\r289.64551 -36.11426 289.41211 -36.08594 289.19727 -36.02734 c\r288.98145 -35.9707 288.76172 -35.88086 288.53418 -35.76172 c\r288.52832 -35.69727 288.52441 -35.63477 288.52148 -35.57715 c\r288.5166 -35.51758 288.51563 -35.44336 288.51563 -35.35449 c\r288.51563 -34.89746 288.56348 -34.53809 288.65918 -34.27637 c\r288.75586 -34.01172 288.8877 -33.80273 289.05566 -33.65039 c\r289.19043 -33.52441 289.33691 -33.43066 289.49609 -33.37109 c\r289.65234 -33.31348 289.8252 -33.28223 290.01074 -33.28223 c\r290.4375 -33.28223 290.77344 -33.41016 291.01758 -33.66602 c\r291.2627 -33.9209 291.38477 -34.28711 291.38477 -34.76563 c\rh\r292.28418 -34.79883 m\r292.28418 -34.1416 292.06348 -33.60645 291.62207 -33.19141 c\r291.18066 -32.77637 290.63965 -32.56934 289.99902 -32.56934 c\r289.6748 -32.56934 289.37891 -32.61816 289.11328 -32.7168 c\r288.84766 -32.81543 288.61328 -32.96094 288.40918 -33.1543 c\r288.15625 -33.39551 287.95996 -33.71387 287.82227 -34.10938 c\r287.68555 -34.50586 287.61719 -34.9834 287.61719 -35.54199 c\r287.61719 -36.11426 287.67969 -36.62305 287.80469 -37.06543 c\r287.93066 -37.50879 288.13086 -37.90137 288.40527 -38.24609 c\r288.66504 -38.57324 289.00098 -38.8291 289.41113 -39.0127 c\r289.82227 -39.19629 290.30078 -39.28711 290.84766 -39.28711 c\r291.02051 -39.28711 291.16699 -39.28125 291.28516 -39.2666 c\r291.40332 -39.25195 291.52344 -39.22559 291.64355 -39.18848 c\r291.64355 -39.18848 291.64355 -38.36035 291.64355 -38.36035 c\r291.64355 -38.36035 291.60059 -38.36035 291.60059 -38.36035 c\r291.5166 -38.40332 291.39258 -38.44434 291.22559 -38.48438 c\r291.05859 -38.52344 290.88965 -38.54199 290.71582 -38.54199 c\r290.08105 -38.54199 289.5752 -38.34766 289.19824 -37.95703 c\r288.82031 -37.56738 288.60059 -37.04199 288.53906 -36.37793 c\r288.78613 -36.52539 289.0293 -36.63672 289.27148 -36.71387 c\r289.51074 -36.79004 289.78906 -36.8291 290.10449 -36.8291 c\r290.38379 -36.8291 290.63086 -36.80371 290.8457 -36.75293 c\r291.05762 -36.70215 291.27734 -36.59961 291.50195 -36.44727 c\r291.76074 -36.27051 291.95605 -36.04883 292.08789 -35.78027 c\r292.21875 -35.51074 292.28418 -35.18262 292.28418 -34.79883 c\rh\rf\r397.52246 -32.7041 m\r397.52246 -32.7041 393.06641 -32.7041 393.06641 -32.7041 c\r393.06641 -32.7041 393.06641 -33.61523 393.06641 -33.61523 c\r393.37695 -33.875 393.68652 -34.13574 393.99805 -34.39551 c\r394.31055 -34.65625 394.59961 -34.91406 394.86816 -35.17188 c\r395.43555 -35.70996 395.82227 -36.1377 396.0332 -36.45313 c\r396.24219 -36.76953 396.34766 -37.1123 396.34766 -37.47852 c\r396.34766 -37.81445 396.23438 -38.07715 396.00781 -38.26563 c\r395.7832 -38.45508 395.46777 -38.5498 395.0625 -38.5498 c\r394.79297 -38.5498 394.50293 -38.50293 394.18945 -38.40918 c\r393.87598 -38.31641 393.57031 -38.17188 393.27148 -37.97949 c\r393.27148 -37.97949 393.22656 -37.97949 393.22656 -37.97949 c\r393.22656 -37.97949 393.22656 -38.8916 393.22656 -38.8916 c\r393.4375 -38.99316 393.7168 -39.08496 394.06641 -39.16992 c\r394.41602 -39.25488 394.75488 -39.2959 395.08203 -39.2959 c\r395.75879 -39.2959 396.28809 -39.13672 396.67188 -38.81641 c\r397.05566 -38.49805 397.24707 -38.06445 397.24707 -37.51953 c\r397.24707 -37.27344 397.21484 -37.04395 397.15137 -36.83105 c\r397.08789 -36.61914 396.99512 -36.41797 396.87109 -36.22852 c\r396.75488 -36.04883 396.62109 -35.87305 396.4668 -35.69922 c\r396.31152 -35.52539 396.12305 -35.33398 395.90234 -35.12305 c\r395.58594 -34.81934 395.26074 -34.52539 394.92383 -34.24121 c\r394.58789 -33.95605 394.27441 -33.69238 393.98242 -33.44922 c\r393.98242 -33.44922 397.52246 -33.44922 397.52246 -33.44922 c\r397.52246 -33.44922 397.52246 -32.7041 397.52246 -32.7041 c\rh\r391.18164 -35.81543 m\r391.32227 -35.69141 391.44043 -35.53418 391.53223 -35.3457 c\r391.62402 -35.1582 391.66895 -34.91504 391.66895 -34.61719 c\r391.66895 -34.32129 391.61523 -34.05176 391.50488 -33.80566 c\r391.39551 -33.55957 391.24219 -33.34668 391.04395 -33.16406 c\r390.82227 -32.96094 390.56152 -32.81152 390.26172 -32.71387 c\r389.96094 -32.61719 389.63184 -32.56934 389.27344 -32.56934 c\r388.90723 -32.56934 388.54785 -32.6123 388.19141 -32.69727 c\r387.83691 -32.78223 387.5459 -32.87598 387.31738 -32.97754 c\r387.31738 -32.97754 387.31738 -33.88574 387.31738 -33.88574 c\r387.31738 -33.88574 387.38477 -33.88574 387.38477 -33.88574 c\r387.63672 -33.72266 387.93262 -33.58594 388.27441 -33.47656 c\r388.61328 -33.36914 388.94238 -33.31543 389.25977 -33.31543 c\r389.44629 -33.31543 389.64453 -33.3457 389.85449 -33.40625 c\r390.06543 -33.4668 390.23535 -33.55664 390.36621 -33.67676 c\r390.50195 -33.80371 390.60352 -33.94434 390.66992 -34.09863 c\r390.73633 -34.25195 390.76953 -34.44727 390.76953 -34.68164 c\r390.76953 -34.91406 390.73242 -35.10645 390.65625 -35.25977 c\r390.58008 -35.41113 390.47559 -35.53125 390.34277 -35.61914 c\r390.20801 -35.70801 390.04785 -35.76953 389.85645 -35.80273 c\r389.66699 -35.83691 389.46191 -35.85352 389.24316 -35.85352 c\r389.24316 -35.85352 388.8418 -35.85352 388.8418 -35.85352 c\r388.8418 -35.85352 388.8418 -36.56738 388.8418 -36.56738 c\r388.8418 -36.56738 389.15332 -36.56738 389.15332 -36.56738 c\r389.60254 -36.56738 389.96191 -36.66016 390.23047 -36.84375 c\r390.49805 -37.02734 390.63281 -37.2959 390.63281 -37.64941 c\r390.63281 -37.80664 390.59863 -37.94336 390.53027 -38.06055 c\r390.46191 -38.17773 390.36816 -38.27539 390.24609 -38.34961 c\r390.11914 -38.42578 389.98438 -38.47754 389.83887 -38.50684 c\r389.69336 -38.53516 389.53027 -38.5498 389.34668 -38.5498 c\r389.06641 -38.5498 388.76758 -38.5 388.45117 -38.40137 c\r388.13574 -38.30078 387.83691 -38.16113 387.55664 -37.97949 c\r387.55664 -37.97949 387.5127 -37.97949 387.5127 -37.97949 c\r387.5127 -37.97949 387.5127 -38.88672 387.5127 -38.88672 c\r387.72168 -38.98828 388.00293 -39.08203 388.35156 -39.16797 c\r388.70215 -39.25195 389.04199 -39.2959 389.36914 -39.2959 c\r389.69043 -39.2959 389.97461 -39.2666 390.2207 -39.20898 c\r390.46484 -39.15137 390.6875 -39.05859 390.88477 -38.93262 c\r391.09766 -38.79297 391.25879 -38.625 391.36719 -38.42773 c\r391.47754 -38.23242 391.53223 -38.00293 391.53223 -37.74023 c\r391.53223 -37.38086 391.40234 -37.06934 391.14453 -36.80078 c\r390.88477 -36.53418 390.5791 -36.36523 390.22754 -36.2959 c\r390.22754 -36.2959 390.22754 -36.23633 390.22754 -36.23633 c\r390.37012 -36.21289 390.53223 -36.16406 390.71582 -36.09082 c\r390.89844 -36.01758 391.05469 -35.9248 391.18164 -35.81543 c\rh\rf\rQ\rq\r1 0 0 -1 0 0 cm\r178.88037 -13.91992 m\r178.88037 -13.91992 306.45703 -13.91992 306.45703 -13.91992 c\r306.45703 -13.91992 306.45703 -28.13477 306.45703 -28.13477 c\r306.45703 -28.13477 178.88037 -28.13477 178.88037 -28.13477 c\r178.88037 -28.13477 178.88037 -13.91992 178.88037 -13.91992 c\rh\rW n\r0 0 0 rg\r0 i \r/GS0 gs\r302.11914 -18.81152 m\r302.11914 -18.81152 302.11914 -21.20605 302.11914 -21.20605 c\r302.00684 -21.25293 301.88867 -21.28613 301.76465 -21.30566 c\r301.64063 -21.3252 301.52734 -21.33594 301.42383 -21.33594 c\r301.00488 -21.33594 300.69043 -21.20801 300.47949 -20.95215 c\r300.27051 -20.69531 300.16602 -20.33984 300.16602 -19.88574 c\r300.16602 -19.40625 300.25 -19.05957 300.41797 -18.84473 c\r300.58691 -18.62793 300.85645 -18.52051 301.22754 -18.52051 c\r301.37402 -18.52051 301.52734 -18.54688 301.68848 -18.60059 c\r301.85156 -18.6543 301.99414 -18.72461 302.11914 -18.81152 c\rh\r303.71484 -17.47266 m\r303.71484 -17.47266 302.11914 -17.47266 302.11914 -17.47266 c\r302.11914 -17.47266 302.11914 -17.98145 302.11914 -17.98145 c\r301.84375 -17.76074 301.58594 -17.59863 301.34668 -17.49414 c\r301.10645 -17.39063 300.8291 -17.33887 300.51563 -17.33887 c\r299.9082 -17.33887 299.42383 -17.56738 299.05957 -18.02441 c\r298.69531 -18.48145 298.5127 -19.09668 298.5127 -19.87109 c\r298.5127 -20.28516 298.57422 -20.65234 298.69727 -20.97168 c\r298.81934 -21.29004 298.98828 -21.56543 299.20117 -21.79395 c\r299.40234 -22.01074 299.64648 -22.17871 299.93262 -22.29883 c\r300.2207 -22.41797 300.50879 -22.47852 300.7959 -22.47852 c\r301.09375 -22.47852 301.33887 -22.44727 301.53027 -22.38574 c\r301.7207 -22.32324 301.91699 -22.24512 302.11914 -22.14941 c\r302.11914 -22.14941 302.11914 -24.22363 302.11914 -24.22363 c\r302.11914 -24.22363 303.71484 -24.22363 303.71484 -24.22363 c\r303.71484 -24.22363 303.71484 -17.47266 303.71484 -17.47266 c\rh\r295.76855 -18.72168 m\r295.87109 -18.84668 295.94922 -18.99512 296.00098 -19.1709 c\r296.05273 -19.34668 296.07813 -19.58789 296.07813 -19.89844 c\r296.07813 -20.18457 296.05176 -20.4248 295.99805 -20.61816 c\r295.94531 -20.81152 295.87109 -20.96582 295.77637 -21.08203 c\r295.68164 -21.20215 295.56836 -21.28418 295.43555 -21.33398 c\r295.30176 -21.38379 295.1582 -21.4082 295.00488 -21.4082 c\r294.85156 -21.4082 294.71387 -21.3877 294.59473 -21.34766 c\r294.47461 -21.30664 294.35938 -21.22559 294.25098 -21.10449 c\r294.15234 -20.99121 294.0752 -20.83594 294.01758 -20.63965 c\r293.95996 -20.44336 293.93066 -20.19531 293.93066 -19.89844 c\r293.93066 -19.63184 293.95703 -19.40039 294.00586 -19.20605 c\r294.05664 -19.00977 294.12988 -18.85254 294.22949 -18.73535 c\r294.32324 -18.62109 294.43555 -18.53906 294.56738 -18.4873 c\r294.69922 -18.43555 294.84961 -18.40918 295.01855 -18.40918 c\r295.16309 -18.40918 295.30078 -18.43359 295.43164 -18.48145 c\r295.56445 -18.52832 295.67676 -18.60938 295.76855 -18.72168 c\rh\r297.73145 -19.90625 m\r297.73145 -19.10547 297.49316 -18.47461 297.01563 -18.01465 c\r296.53809 -17.55371 295.86719 -17.32227 295.00488 -17.32227 c\r294.14258 -17.32227 293.4707 -17.55371 292.99414 -18.01465 c\r292.5166 -18.47461 292.27734 -19.10547 292.27734 -19.90625 c\r292.27734 -20.71191 292.51855 -21.34668 292.99805 -21.80469 c\r293.47852 -22.26563 294.14746 -22.49512 295.00488 -22.49512 c\r295.87305 -22.49512 296.54492 -22.26367 297.01953 -21.80078 c\r297.49414 -21.33789 297.73145 -20.70703 297.73145 -19.90625 c\rh\r291.18066 -17.47266 m\r291.18066 -17.47266 289.58398 -17.47266 289.58398 -17.47266 c\r289.58398 -17.47266 289.58398 -19.88965 289.58398 -19.88965 c\r289.58398 -20.08594 289.57324 -20.28223 289.55273 -20.47852 c\r289.53223 -20.67285 289.49707 -20.81738 289.44531 -20.90918 c\r289.38672 -21.01563 289.2998 -21.09473 289.18555 -21.14355 c\r289.07129 -21.19336 288.91211 -21.21777 288.70703 -21.21777 c\r288.56152 -21.21777 288.41406 -21.19434 288.26465 -21.14844 c\r288.11426 -21.10254 287.95117 -21.02832 287.77637 -20.92676 c\r287.77637 -20.92676 287.77637 -17.47266 287.77637 -17.47266 c\r287.77637 -17.47266 286.18066 -17.47266 286.18066 -17.47266 c\r286.18066 -17.47266 286.18066 -24.22363 286.18066 -24.22363 c\r286.18066 -24.22363 287.77637 -24.22363 287.77637 -24.22363 c\r287.77637 -24.22363 287.77637 -21.80664 287.77637 -21.80664 c\r288.06055 -22.02344 288.33203 -22.18945 288.59473 -22.30469 c\r288.85645 -22.4209 289.14648 -22.47852 289.46582 -22.47852 c\r290.00293 -22.47852 290.42383 -22.3252 290.72559 -22.01953 c\r291.0293 -21.71191 291.18066 -21.25391 291.18066 -20.64355 c\r291.18066 -20.64355 291.18066 -17.47266 291.18066 -17.47266 c\rh\r285.21875 -17.5166 m\r285.04785 -17.47266 284.86621 -17.43945 284.67383 -17.41504 c\r284.48145 -17.39063 284.24707 -17.37793 283.96973 -17.37793 c\r283.34961 -17.37793 282.88867 -17.50195 282.58594 -17.74805 c\r282.28223 -17.99316 282.13281 -18.41406 282.13281 -19.00977 c\r282.13281 -19.00977 282.13281 -21.28809 282.13281 -21.28809 c\r282.13281 -21.28809 281.47656 -21.28809 281.47656 -21.28809 c\r281.47656 -21.28809 281.47656 -22.34375 281.47656 -22.34375 c\r281.47656 -22.34375 282.13281 -22.34375 282.13281 -22.34375 c\r282.13281 -22.34375 282.13281 -23.74023 282.13281 -23.74023 c\r282.13281 -23.74023 283.72852 -23.74023 283.72852 -23.74023 c\r283.72852 -23.74023 283.72852 -22.34375 283.72852 -22.34375 c\r283.72852 -22.34375 285.21875 -22.34375 285.21875 -22.34375 c\r285.21875 -22.34375 285.21875 -21.28809 285.21875 -21.28809 c\r285.21875 -21.28809 283.72852 -21.28809 283.72852 -21.28809 c\r283.72852 -21.28809 283.72852 -19.55664 283.72852 -19.55664 c\r283.72852 -19.38477 283.72949 -19.23535 283.73242 -19.1084 c\r283.73535 -18.98047 283.75879 -18.86523 283.80371 -18.76367 c\r283.84473 -18.66309 283.91699 -18.58203 284.02246 -18.52246 c\r284.12695 -18.46289 284.2793 -18.43359 284.47949 -18.43359 c\r284.5625 -18.43359 284.66992 -18.45117 284.80469 -18.48633 c\r284.93945 -18.52246 285.0332 -18.55469 285.08594 -18.58398 c\r285.08594 -18.58398 285.21875 -18.58398 285.21875 -18.58398 c\r285.21875 -18.58398 285.21875 -17.5166 285.21875 -17.5166 c\rh\r279.33008 -20.53516 m\r279.32129 -20.8623 279.23828 -21.10645 279.08203 -21.27148 c\r278.92578 -21.4375 278.68066 -21.51953 278.34961 -21.51953 c\r278.04395 -21.51953 277.79004 -21.44141 277.5918 -21.28418 c\r277.39453 -21.12891 277.28418 -20.87988 277.25977 -20.53516 c\r277.25977 -20.53516 279.33008 -20.53516 279.33008 -20.53516 c\rh\r280.91895 -19.62305 m\r280.91895 -19.62305 277.26367 -19.62305 277.26367 -19.62305 c\r277.28809 -19.23828 277.43652 -18.94336 277.70898 -18.73926 c\r277.98438 -18.53516 278.3877 -18.43359 278.9209 -18.43359 c\r279.25781 -18.43359 279.58496 -18.49316 279.90234 -18.61523 c\r280.2168 -18.73535 280.46875 -18.86523 280.65234 -19.00391 c\r280.65234 -19.00391 280.83008 -19.00391 280.83008 -19.00391 c\r280.83008 -19.00391 280.83008 -17.75 280.83008 -17.75 c\r280.46875 -17.6084 280.12891 -17.50586 279.80859 -17.44238 c\r279.49023 -17.37793 279.13574 -17.34668 278.74902 -17.34668 c\r277.74902 -17.34668 276.9834 -17.56641 276.4502 -18.00586 c\r275.91797 -18.44434 275.65137 -19.06934 275.65137 -19.88184 c\r275.65137 -20.68555 275.9043 -21.32129 276.4082 -21.79004 c\r276.91113 -22.25977 277.60156 -22.49512 278.47949 -22.49512 c\r279.29102 -22.49512 279.89844 -22.29492 280.30664 -21.89453 c\r280.71484 -21.49512 280.91895 -20.91992 280.91895 -20.16895 c\r280.91895 -20.16895 280.91895 -19.62305 280.91895 -19.62305 c\rh\r274.41309 -17.47266 m\r274.41309 -17.47266 272.71191 -17.47266 272.71191 -17.47266 c\r272.71191 -17.47266 272.71191 -21.7959 272.71191 -21.7959 c\r272.71191 -21.7959 271.49316 -18.98926 271.49316 -18.98926 c\r271.49316 -18.98926 270.32422 -18.98926 270.32422 -18.98926 c\r270.32422 -18.98926 269.10645 -21.7959 269.10645 -21.7959 c\r269.10645 -21.7959 269.10645 -17.47266 269.10645 -17.47266 c\r269.10645 -17.47266 267.50195 -17.47266 267.50195 -17.47266 c\r267.50195 -17.47266 267.50195 -23.93066 267.50195 -23.93066 c\r267.50195 -23.93066 269.47754 -23.93066 269.47754 -23.93066 c\r269.47754 -23.93066 270.95605 -20.68945 270.95605 -20.68945 c\r270.95605 -20.68945 272.43066 -23.93066 272.43066 -23.93066 c\r272.43066 -23.93066 274.41309 -23.93066 274.41309 -23.93066 c\r274.41309 -23.93066 274.41309 -17.47266 274.41309 -17.47266 c\rh\r263.40527 -20.85254 m\r263.40527 -20.85254 263.2627 -20.85254 263.2627 -20.85254 c\r263.19434 -20.87598 263.08496 -20.89355 262.93457 -20.90625 c\r262.78418 -20.91895 262.65918 -20.9248 262.55859 -20.9248 c\r262.33105 -20.9248 262.13086 -20.90918 261.95703 -20.88184 c\r261.78223 -20.85254 261.5957 -20.80273 261.39355 -20.73242 c\r261.39355 -20.73242 261.39355 -17.47266 261.39355 -17.47266 c\r261.39355 -17.47266 259.79883 -17.47266 259.79883 -17.47266 c\r259.79883 -17.47266 259.79883 -22.34375 259.79883 -22.34375 c\r259.79883 -22.34375 261.39355 -22.34375 261.39355 -22.34375 c\r261.39355 -22.34375 261.39355 -21.62793 261.39355 -21.62793 c\r261.74609 -21.92285 262.05078 -22.11914 262.31152 -22.21582 c\r262.57031 -22.31055 262.80957 -22.36035 263.02734 -22.36035 c\r263.08398 -22.36035 263.14746 -22.3584 263.21875 -22.35547 c\r263.28906 -22.35254 263.35059 -22.34863 263.40527 -22.3418 c\r263.40527 -22.3418 263.40527 -20.85254 263.40527 -20.85254 c\rh\r257.08691 -20.53516 m\r257.07715 -20.8623 256.99414 -21.10645 256.83789 -21.27148 c\r256.68164 -21.4375 256.43701 -21.51953 256.10596 -21.51953 c\r255.79883 -21.51953 255.54639 -21.44141 255.34814 -21.28418 c\r255.1499 -21.12891 255.03906 -20.87988 255.01611 -20.53516 c\r255.01611 -20.53516 257.08691 -20.53516 257.08691 -20.53516 c\rh\r258.67383 -19.62305 m\r258.67383 -19.62305 255.02002 -19.62305 255.02002 -19.62305 c\r255.04443 -19.23828 255.19189 -18.94336 255.46631 -18.73926 c\r255.74072 -18.53516 256.14355 -18.43359 256.67529 -18.43359 c\r257.01318 -18.43359 257.34033 -18.49316 257.65674 -18.61523 c\r257.97412 -18.73535 258.22461 -18.86523 258.4082 -19.00391 c\r258.4082 -19.00391 258.58496 -19.00391 258.58496 -19.00391 c\r258.58496 -19.00391 258.58496 -17.75 258.58496 -17.75 c\r258.22461 -17.6084 257.88477 -17.50586 257.56543 -17.44238 c\r257.24561 -17.37793 256.8916 -17.34668 256.50488 -17.34668 c\r255.50439 -17.34668 254.73877 -17.56641 254.20703 -18.00586 c\r253.67383 -18.44434 253.40674 -19.06934 253.40674 -19.88184 c\r253.40674 -20.68555 253.66016 -21.32129 254.16357 -21.79004 c\r254.66699 -22.25977 255.35889 -22.49512 256.23633 -22.49512 c\r257.0459 -22.49512 257.6543 -22.29492 258.06201 -21.89453 c\r258.47168 -21.49512 258.67383 -20.91992 258.67383 -20.16895 c\r258.67383 -20.16895 258.67383 -19.62305 258.67383 -19.62305 c\rh\r250.8877 -21.85645 m\r250.8877 -22.03711 250.8374 -22.19336 250.7373 -22.3252 c\r250.63818 -22.45605 250.52246 -22.54785 250.38916 -22.60059 c\r250.21191 -22.66797 250.04102 -22.70703 249.87256 -22.71387 c\r249.70557 -22.7207 249.48193 -22.72461 249.20117 -22.72461 c\r249.20117 -22.72461 248.90967 -22.72461 248.90967 -22.72461 c\r248.90967 -22.72461 248.90967 -20.79688 248.90967 -20.79688 c\r248.90967 -20.79688 249.39551 -20.79688 249.39551 -20.79688 c\r249.68457 -20.79688 249.92188 -20.81445 250.1084 -20.84863 c\r250.29541 -20.88379 250.45264 -20.95313 250.5791 -21.05664 c\r250.68799 -21.14844 250.7666 -21.25977 250.81543 -21.3877 c\r250.86426 -21.51563 250.8877 -21.67188 250.8877 -21.85645 c\rh\r252.65381 -21.8916 m\r252.65381 -21.60254 252.60303 -21.31934 252.49951 -21.04395 c\r252.39648 -20.76758 252.24805 -20.53516 252.05615 -20.34766 c\r251.79297 -20.09277 251.50049 -19.90039 251.17627 -19.77051 c\r250.85352 -19.63965 250.45068 -19.57617 249.96924 -19.57617 c\r249.96924 -19.57617 248.90967 -19.57617 248.90967 -19.57617 c\r248.90967 -19.57617 248.90967 -17.47266 248.90967 -17.47266 c\r248.90967 -17.47266 247.20898 -17.47266 247.20898 -17.47266 c\r247.20898 -17.47266 247.20898 -23.93066 247.20898 -23.93066 c\r247.20898 -23.93066 250.00977 -23.93066 250.00977 -23.93066 c\r250.42822 -23.93066 250.78174 -23.89551 251.07129 -23.82422 c\r251.35791 -23.75293 251.61328 -23.64746 251.83447 -23.50488 c\r252.10059 -23.33594 252.30322 -23.11621 252.44482 -22.85059 c\r252.58398 -22.58398 252.65381 -22.26563 252.65381 -21.8916 c\rh\r242.95313 -19.01758 m\r242.95313 -18.51367 242.72314 -18.1084 242.26318 -17.80078 c\r241.80273 -17.49219 241.17188 -17.33887 240.37305 -17.33887 c\r239.93115 -17.33887 239.5293 -17.37891 239.16895 -17.46094 c\r238.80957 -17.54102 238.52002 -17.62988 238.30225 -17.72949 c\r238.30225 -17.72949 238.30225 -19.01172 238.30225 -19.01172 c\r238.30225 -19.01172 238.44775 -19.01172 238.44775 -19.01172 c\r238.52783 -18.95703 238.61963 -18.89746 238.72412 -18.83203 c\r238.82959 -18.7666 238.97705 -18.69629 239.16895 -18.62109 c\r239.33398 -18.55469 239.52197 -18.49805 239.73096 -18.4502 c\r239.94092 -18.40137 240.16504 -18.37793 240.40381 -18.37793 c\r240.71631 -18.37793 240.94824 -18.41211 241.09814 -18.48047 c\r241.24902 -18.54785 241.32373 -18.64941 241.32373 -18.78223 c\r241.32373 -18.90137 241.2793 -18.9873 241.19238 -19.04102 c\r241.10352 -19.09473 240.93604 -19.14648 240.6875 -19.19531 c\r240.56982 -19.2207 240.41016 -19.25 240.20752 -19.2793 c\r240.00586 -19.30957 239.82275 -19.34668 239.65674 -19.38965 c\r239.20654 -19.50586 238.87207 -19.68555 238.65332 -19.93066 c\r238.43506 -20.1748 238.32617 -20.47852 238.32617 -20.84473 c\r238.32617 -21.3125 238.55322 -21.70117 239.00439 -22.0127 c\r239.45752 -22.32324 240.07617 -22.47852 240.85938 -22.47852 c\r241.23096 -22.47852 241.58789 -22.44141 241.92725 -22.36914 c\r242.26904 -22.29492 242.53516 -22.21582 242.72607 -22.13086 c\r242.72607 -22.13086 242.72607 -20.90039 242.72607 -20.90039 c\r242.72607 -20.90039 242.58984 -20.90039 242.58984 -20.90039 c\r242.354 -21.05957 242.08447 -21.18945 241.78271 -21.28906 c\r241.47998 -21.38965 241.17529 -21.43945 240.86621 -21.43945 c\r240.6084 -21.43945 240.39307 -21.4043 240.21826 -21.33496 c\r240.04297 -21.26563 239.9541 -21.16699 239.9541 -21.03809 c\r239.9541 -20.92285 239.99463 -20.83496 240.07422 -20.77441 c\r240.15381 -20.71387 240.34082 -20.65234 240.63623 -20.5918 c\r240.79883 -20.56055 240.97363 -20.52832 241.15918 -20.49902 c\r241.34717 -20.46875 241.53467 -20.42969 241.72412 -20.38379 c\r242.14258 -20.27637 242.45166 -20.10938 242.65234 -19.87891 c\r242.85254 -19.64844 242.95313 -19.36133 242.95313 -19.01758 c\rh\r237.17188 -17.47266 m\r237.17188 -17.47266 235.57617 -17.47266 235.57617 -17.47266 c\r235.57617 -17.47266 235.57617 -19.88965 235.57617 -19.88965 c\r235.57617 -20.08594 235.56494 -20.28223 235.54395 -20.47852 c\r235.52393 -20.67285 235.48828 -20.81738 235.4375 -20.90918 c\r235.37842 -21.01563 235.29053 -21.09473 235.17676 -21.14355 c\r235.0625 -21.19336 234.90381 -21.21777 234.69922 -21.21777 c\r234.55322 -21.21777 234.40576 -21.19434 234.25586 -21.14844 c\r234.10596 -21.10254 233.94336 -21.02832 233.76953 -20.92676 c\r233.76953 -20.92676 233.76953 -17.47266 233.76953 -17.47266 c\r233.76953 -17.47266 232.17188 -17.47266 232.17188 -17.47266 c\r232.17188 -17.47266 232.17188 -22.34375 232.17188 -22.34375 c\r232.17188 -22.34375 233.76953 -22.34375 233.76953 -22.34375 c\r233.76953 -22.34375 233.76953 -21.80664 233.76953 -21.80664 c\r234.05225 -22.02344 234.32471 -22.18945 234.58594 -22.30469 c\r234.84766 -22.4209 235.13818 -22.47852 235.45752 -22.47852 c\r235.99463 -22.47852 236.41553 -22.3252 236.71729 -22.01953 c\r237.02148 -21.71191 237.17188 -21.25391 237.17188 -20.64355 c\r237.17188 -20.64355 237.17188 -17.47266 237.17188 -17.47266 c\rh\r229.0625 -18.72168 m\r229.16699 -18.84668 229.24414 -18.99512 229.2959 -19.1709 c\r229.34766 -19.34668 229.37402 -19.58789 229.37402 -19.89844 c\r229.37402 -20.18457 229.34668 -20.4248 229.29395 -20.61816 c\r229.24072 -20.81152 229.16699 -20.96582 229.07227 -21.08203 c\r228.97705 -21.20215 228.86328 -21.28418 228.72998 -21.33398 c\r228.59766 -21.38379 228.4541 -21.4082 228.2998 -21.4082 c\r228.14551 -21.4082 228.0083 -21.3877 227.88916 -21.34766 c\r227.77002 -21.30664 227.65381 -21.22559 227.54541 -21.10449 c\r227.44727 -20.99121 227.37012 -20.83594 227.31201 -20.63965 c\r227.25537 -20.44336 227.22607 -20.19531 227.22607 -19.89844 c\r227.22607 -19.63184 227.25098 -19.40039 227.30176 -19.20605 c\r227.35254 -19.00977 227.42627 -18.85254 227.52295 -18.73535 c\r227.61816 -18.62109 227.73096 -18.53906 227.86279 -18.4873 c\r227.99414 -18.43555 228.14355 -18.40918 228.31201 -18.40918 c\r228.45801 -18.40918 228.59668 -18.43359 228.72803 -18.48145 c\r228.85889 -18.52832 228.9707 -18.60938 229.0625 -18.72168 c\rh\r231.02588 -19.90625 m\r231.02588 -19.10547 230.7876 -18.47461 230.31104 -18.01465 c\r229.83301 -17.55371 229.1626 -17.32227 228.2998 -17.32227 c\r227.43701 -17.32227 226.76563 -17.55371 226.28857 -18.01465 c\r225.81201 -18.47461 225.57324 -19.10547 225.57324 -19.90625 c\r225.57324 -20.71191 225.81299 -21.34668 226.29297 -21.80469 c\r226.77393 -22.26563 227.44287 -22.49512 228.2998 -22.49512 c\r229.16895 -22.49512 229.84033 -22.26367 230.31494 -21.80078 c\r230.78955 -21.33789 231.02588 -20.70703 231.02588 -19.90625 c\rh\r224.42969 -17.47266 m\r224.42969 -17.47266 222.83447 -17.47266 222.83447 -17.47266 c\r222.83447 -17.47266 222.83447 -22.34375 222.83447 -22.34375 c\r222.83447 -22.34375 224.42969 -22.34375 224.42969 -22.34375 c\r224.42969 -22.34375 224.42969 -17.47266 224.42969 -17.47266 c\rh\r224.4707 -23.04199 m\r224.4707 -23.04199 222.79297 -23.04199 222.79297 -23.04199 c\r222.79297 -23.04199 222.79297 -24.22363 222.79297 -24.22363 c\r222.79297 -24.22363 224.4707 -24.22363 224.4707 -24.22363 c\r224.4707 -24.22363 224.4707 -23.04199 224.4707 -23.04199 c\rh\r221.87207 -17.5166 m\r221.70117 -17.47266 221.52002 -17.43945 221.32764 -17.41504 c\r221.13574 -17.39063 220.90039 -17.37793 220.62305 -17.37793 c\r220.00244 -17.37793 219.5415 -17.50195 219.23828 -17.74805 c\r218.93555 -17.99316 218.78516 -18.41406 218.78516 -19.00977 c\r218.78516 -19.00977 218.78516 -21.28809 218.78516 -21.28809 c\r218.78516 -21.28809 218.12793 -21.28809 218.12793 -21.28809 c\r218.12793 -21.28809 218.12793 -22.34375 218.12793 -22.34375 c\r218.12793 -22.34375 218.78516 -22.34375 218.78516 -22.34375 c\r218.78516 -22.34375 218.78516 -23.74023 218.78516 -23.74023 c\r218.78516 -23.74023 220.37988 -23.74023 220.37988 -23.74023 c\r220.37988 -23.74023 220.37988 -22.34375 220.37988 -22.34375 c\r220.37988 -22.34375 221.87207 -22.34375 221.87207 -22.34375 c\r221.87207 -22.34375 221.87207 -21.28809 221.87207 -21.28809 c\r221.87207 -21.28809 220.37988 -21.28809 220.37988 -21.28809 c\r220.37988 -21.28809 220.37988 -19.55664 220.37988 -19.55664 c\r220.37988 -19.38477 220.38184 -19.23535 220.38574 -19.1084 c\r220.38867 -18.98047 220.41211 -18.86523 220.45654 -18.76367 c\r220.49707 -18.66309 220.57031 -18.58203 220.67578 -18.52246 c\r220.7793 -18.46289 220.93311 -18.43359 221.13379 -18.43359 c\r221.21582 -18.43359 221.32324 -18.45117 221.4585 -18.48633 c\r221.59277 -18.52246 221.68652 -18.55469 221.73926 -18.58398 c\r221.73926 -18.58398 221.87207 -18.58398 221.87207 -18.58398 c\r221.87207 -18.58398 221.87207 -17.5166 221.87207 -17.5166 c\rh\r215.95215 -17.34668 m\r215.51758 -17.34668 215.12061 -17.39648 214.76123 -17.49805 c\r214.40234 -17.59863 214.08936 -17.75586 213.82324 -17.9668 c\r213.56055 -18.17773 213.35645 -18.44434 213.21191 -18.76367 c\r213.06689 -19.08398 212.99463 -19.45996 212.99463 -19.89063 c\r212.99463 -20.34473 213.07178 -20.7373 213.22705 -21.06543 c\r213.38232 -21.39551 213.59863 -21.66895 213.87646 -21.88574 c\r214.146 -22.08984 214.45605 -22.24121 214.80762 -22.33594 c\r215.15918 -22.43066 215.52441 -22.47852 215.90283 -22.47852 c\r216.24268 -22.47852 216.55615 -22.44336 216.84326 -22.37109 c\r217.12939 -22.29883 217.39697 -22.20313 217.64551 -22.08789 c\r217.64551 -22.08789 217.64551 -20.75781 217.64551 -20.75781 c\r217.64551 -20.75781 217.41992 -20.75781 217.41992 -20.75781 c\r217.35791 -20.80957 217.2832 -20.86914 217.1958 -20.93848 c\r217.10889 -21.00781 217.00195 -21.07422 216.875 -21.14063 c\r216.75391 -21.2041 216.62061 -21.25684 216.47607 -21.29785 c\r216.33203 -21.33984 216.16357 -21.36035 215.97119 -21.36035 c\r215.54639 -21.36035 215.21924 -21.22852 214.99072 -20.96484 c\r214.76172 -20.70215 214.64697 -20.34375 214.64697 -19.89063 c\r214.64697 -19.4248 214.76416 -19.06934 214.99902 -18.82813 c\r215.23438 -18.58594 215.56689 -18.46484 215.99805 -18.46484 c\r216.19873 -18.46484 216.37988 -18.4873 216.54053 -18.53027 c\r216.70166 -18.57617 216.83545 -18.62793 216.94141 -18.6875 c\r217.04199 -18.74512 217.13037 -18.80566 217.20703 -18.86719 c\r217.28418 -18.93066 217.35449 -18.99121 217.41992 -19.05078 c\r217.41992 -19.05078 217.64551 -19.05078 217.64551 -19.05078 c\r217.64551 -19.05078 217.64551 -17.72266 217.64551 -17.72266 c\r217.39453 -17.60742 217.13184 -17.5166 216.8584 -17.44824 c\r216.58496 -17.37988 216.28271 -17.34668 215.95215 -17.34668 c\rh\r211.85596 -17.47266 m\r211.85596 -17.47266 210.25977 -17.47266 210.25977 -17.47266 c\r210.25977 -17.47266 210.25977 -18.00977 210.25977 -18.00977 c\r209.96387 -17.79102 209.69434 -17.62402 209.44873 -17.50977 c\r209.20361 -17.39551 208.91113 -17.33887 208.57129 -17.33887 c\r208.02197 -17.33887 207.59863 -17.49316 207.30176 -17.80273 c\r207.00537 -18.11133 206.85645 -18.56836 206.85645 -19.17285 c\r206.85645 -19.17285 206.85645 -22.34375 206.85645 -22.34375 c\r206.85645 -22.34375 208.45264 -22.34375 208.45264 -22.34375 c\r208.45264 -22.34375 208.45264 -19.92676 208.45264 -19.92676 c\r208.45264 -19.68164 208.46143 -19.47656 208.47754 -19.31348 c\r208.49365 -19.15039 208.53174 -19.01367 208.59082 -18.90723 c\r208.64746 -18.80078 208.73242 -18.72266 208.84668 -18.67285 c\r208.96094 -18.62402 209.12012 -18.59961 209.32568 -18.59961 c\r209.4624 -18.59961 209.61279 -18.62402 209.77881 -18.67285 c\r209.94531 -18.72266 210.10547 -18.79492 210.25977 -18.88965 c\r210.25977 -18.88965 210.25977 -22.34375 210.25977 -22.34375 c\r210.25977 -22.34375 211.85596 -22.34375 211.85596 -22.34375 c\r211.85596 -22.34375 211.85596 -17.47266 211.85596 -17.47266 c\rh\r205.99219 -20.85254 m\r205.99219 -20.85254 205.85107 -20.85254 205.85107 -20.85254 c\r205.78271 -20.87598 205.67334 -20.89355 205.52344 -20.90625 c\r205.37305 -20.91895 205.24756 -20.9248 205.14746 -20.9248 c\r204.91992 -20.9248 204.71924 -20.90918 204.54541 -20.88184 c\r204.37109 -20.85254 204.18311 -20.80273 203.98291 -20.73242 c\r203.98291 -20.73242 203.98291 -17.47266 203.98291 -17.47266 c\r203.98291 -17.47266 202.38672 -17.47266 202.38672 -17.47266 c\r202.38672 -17.47266 202.38672 -22.34375 202.38672 -22.34375 c\r202.38672 -22.34375 203.98291 -22.34375 203.98291 -22.34375 c\r203.98291 -22.34375 203.98291 -21.62793 203.98291 -21.62793 c\r204.33447 -21.92285 204.63965 -22.11914 204.89941 -22.21582 c\r205.15869 -22.31055 205.39795 -22.36035 205.61621 -22.36035 c\r205.67188 -22.36035 205.73584 -22.3584 205.80664 -22.35547 c\r205.87744 -22.35254 205.93945 -22.34863 205.99219 -22.3418 c\r205.99219 -22.3418 205.99219 -20.85254 205.99219 -20.85254 c\rh\r201.4248 -17.5166 m\r201.25342 -17.47266 201.07178 -17.43945 200.87988 -17.41504 c\r200.6875 -17.39063 200.45313 -17.37793 200.17529 -17.37793 c\r199.55518 -17.37793 199.09424 -17.50195 198.7915 -17.74805 c\r198.48877 -17.99316 198.3374 -18.41406 198.3374 -19.00977 c\r198.3374 -19.00977 198.3374 -21.28809 198.3374 -21.28809 c\r198.3374 -21.28809 197.68066 -21.28809 197.68066 -21.28809 c\r197.68066 -21.28809 197.68066 -22.34375 197.68066 -22.34375 c\r197.68066 -22.34375 198.3374 -22.34375 198.3374 -22.34375 c\r198.3374 -22.34375 198.3374 -23.74023 198.3374 -23.74023 c\r198.3374 -23.74023 199.93408 -23.74023 199.93408 -23.74023 c\r199.93408 -23.74023 199.93408 -22.34375 199.93408 -22.34375 c\r199.93408 -22.34375 201.4248 -22.34375 201.4248 -22.34375 c\r201.4248 -22.34375 201.4248 -21.28809 201.4248 -21.28809 c\r201.4248 -21.28809 199.93408 -21.28809 199.93408 -21.28809 c\r199.93408 -21.28809 199.93408 -19.55664 199.93408 -19.55664 c\r199.93408 -19.38477 199.93506 -19.23535 199.93799 -19.1084 c\r199.94092 -18.98047 199.96436 -18.86523 200.00879 -18.76367 c\r200.05029 -18.66309 200.12354 -18.58203 200.22803 -18.52246 c\r200.33252 -18.46289 200.48535 -18.43359 200.68555 -18.43359 c\r200.76855 -18.43359 200.87695 -18.45117 201.01172 -18.48633 c\r201.14502 -18.52246 201.23828 -18.55469 201.29199 -18.58398 c\r201.29199 -18.58398 201.4248 -18.58398 201.4248 -18.58398 c\r201.4248 -18.58398 201.4248 -17.5166 201.4248 -17.5166 c\rh\r197.18555 -19.01758 m\r197.18555 -18.51367 196.95557 -18.1084 196.49512 -17.80078 c\r196.03516 -17.49219 195.40527 -17.33887 194.60498 -17.33887 c\r194.1626 -17.33887 193.76172 -17.37891 193.40186 -17.46094 c\r193.0415 -17.54102 192.75244 -17.62988 192.53418 -17.72949 c\r192.53418 -17.72949 192.53418 -19.01172 192.53418 -19.01172 c\r192.53418 -19.01172 192.68018 -19.01172 192.68018 -19.01172 c\r192.75977 -18.95703 192.85254 -18.89746 192.95703 -18.83203 c\r193.06152 -18.7666 193.20996 -18.69629 193.40186 -18.62109 c\r193.56738 -18.55469 193.75439 -18.49805 193.96387 -18.4502 c\r194.17334 -18.40137 194.39697 -18.37793 194.63672 -18.37793 c\r194.94922 -18.37793 195.18066 -18.41211 195.33154 -18.48047 c\r195.48145 -18.54785 195.55664 -18.64941 195.55664 -18.78223 c\r195.55664 -18.90137 195.51221 -18.9873 195.42432 -19.04102 c\r195.33545 -19.09473 195.16797 -19.14648 194.92041 -19.19531 c\r194.80225 -19.2207 194.64209 -19.25 194.43994 -19.2793 c\r194.23828 -19.30957 194.05518 -19.34668 193.88965 -19.38965 c\r193.43848 -19.50586 193.104 -19.68555 192.88574 -19.93066 c\r192.66748 -20.1748 192.55811 -20.47852 192.55811 -20.84473 c\r192.55811 -21.3125 192.78467 -21.70117 193.2373 -22.0127 c\r193.68994 -22.32324 194.30859 -22.47852 195.09229 -22.47852 c\r195.46387 -22.47852 195.81982 -22.44141 196.16016 -22.36914 c\r196.50049 -22.29492 196.76758 -22.21582 196.95898 -22.13086 c\r196.95898 -22.13086 196.95898 -20.90039 196.95898 -20.90039 c\r196.95898 -20.90039 196.82129 -20.90039 196.82129 -20.90039 c\r196.58594 -21.05957 196.31689 -21.18945 196.01465 -21.28906 c\r195.71289 -21.38965 195.40723 -21.43945 195.09814 -21.43945 c\r194.8418 -21.43945 194.625 -21.4043 194.4502 -21.33496 c\r194.2749 -21.26563 194.1875 -21.16699 194.1875 -21.03809 c\r194.1875 -20.92285 194.22705 -20.83496 194.30664 -20.77441 c\r194.38623 -20.71387 194.57373 -20.65234 194.86865 -20.5918 c\r195.03076 -20.56055 195.20508 -20.52832 195.39209 -20.49902 c\r195.57959 -20.46875 195.76709 -20.42969 195.95654 -20.38379 c\r196.375 -20.27637 196.68457 -20.10938 196.88477 -19.87891 c\r197.08496 -19.64844 197.18555 -19.36133 197.18555 -19.01758 c\rh\r191.40381 -17.47266 m\r191.40381 -17.47266 189.80859 -17.47266 189.80859 -17.47266 c\r189.80859 -17.47266 189.80859 -19.88965 189.80859 -19.88965 c\r189.80859 -20.08594 189.79785 -20.28223 189.77686 -20.47852 c\r189.75586 -20.67285 189.72021 -20.81738 189.67041 -20.90918 c\r189.61035 -21.01563 189.52393 -21.09473 189.40918 -21.14355 c\r189.29541 -21.19336 189.13574 -21.21777 188.93164 -21.21777 c\r188.78564 -21.21777 188.63818 -21.19434 188.48828 -21.14844 c\r188.33838 -21.10254 188.17578 -21.02832 188.00098 -20.92676 c\r188.00098 -20.92676 188.00098 -17.47266 188.00098 -17.47266 c\r188.00098 -17.47266 186.40479 -17.47266 186.40479 -17.47266 c\r186.40479 -17.47266 186.40479 -22.34375 186.40479 -22.34375 c\r186.40479 -22.34375 188.00098 -22.34375 188.00098 -22.34375 c\r188.00098 -22.34375 188.00098 -21.80664 188.00098 -21.80664 c\r188.28467 -22.02344 188.55713 -22.18945 188.81885 -22.30469 c\r189.08008 -22.4209 189.37061 -22.47852 189.68945 -22.47852 c\r190.22754 -22.47852 190.64697 -22.3252 190.9502 -22.01953 c\r191.25293 -21.71191 191.40381 -21.25391 191.40381 -20.64355 c\r191.40381 -20.64355 191.40381 -17.47266 191.40381 -17.47266 c\rh\r185.104 -17.47266 m\r185.104 -17.47266 181.24658 -17.47266 181.24658 -17.47266 c\r181.24658 -17.47266 181.24658 -18.61523 181.24658 -18.61523 c\r181.24658 -18.61523 182.32471 -18.61523 182.32471 -18.61523 c\r182.32471 -18.61523 182.32471 -22.78809 182.32471 -22.78809 c\r182.32471 -22.78809 181.24658 -22.78809 181.24658 -22.78809 c\r181.24658 -22.78809 181.24658 -23.93066 181.24658 -23.93066 c\r181.24658 -23.93066 185.104 -23.93066 185.104 -23.93066 c\r185.104 -23.93066 185.104 -22.78809 185.104 -22.78809 c\r185.104 -22.78809 184.02637 -22.78809 184.02637 -22.78809 c\r184.02637 -22.78809 184.02637 -18.61523 184.02637 -18.61523 c\r184.02637 -18.61523 185.104 -18.61523 185.104 -18.61523 c\r185.104 -18.61523 185.104 -17.47266 185.104 -17.47266 c\rh\rf\rQ\rq\r1 0 0 -1 0 0 cm\r16.29932 -126.37109 m\r16.29932 -126.37109 27.18945 -126.37109 27.18945 -126.37109 c\r27.18945 -126.37109 27.18945 -167.74854 27.18945 -167.74854 c\r27.18945 -167.74854 16.29932 -167.74854 16.29932 -167.74854 c\r16.29932 -167.74854 16.29932 -126.37109 16.29932 -126.37109 c\rh\rW n\r0 0 0 rg\r0 i \r/GS0 gs\r24.00732 -160.14307 m\r24.00732 -160.14307 21.56152 -160.14307 21.56152 -160.14307 c\r21.51416 -160.03369 21.47998 -159.91797 21.45947 -159.79688 c\r21.43896 -159.67529 21.42822 -159.56396 21.42822 -159.4624 c\r21.42822 -159.05273 21.55908 -158.74463 21.82129 -158.53906 c\r22.08301 -158.33398 22.44678 -158.23145 22.91162 -158.23145 c\r23.39941 -158.23145 23.75391 -158.31396 23.97412 -158.47852 c\r24.19482 -158.64355 24.30518 -158.90771 24.30518 -159.27197 c\r24.30518 -159.41357 24.27734 -159.56396 24.22266 -159.72266 c\r24.16846 -159.88184 24.09668 -160.02197 24.00732 -160.14307 c\rh\r24.09912 -147.60059 m\r23.97217 -147.70117 23.81934 -147.77734 23.64014 -147.82813 c\r23.46143 -147.87891 23.21436 -147.9043 22.89795 -147.9043 c\r22.60547 -147.9043 22.35986 -147.87793 22.16211 -147.82617 c\r21.96436 -147.77344 21.80615 -147.70117 21.68799 -147.60938 c\r21.56689 -147.5166 21.48096 -147.4043 21.43115 -147.27441 c\r21.38086 -147.14453 21.35547 -147.00391 21.35547 -146.85352 c\r21.35547 -146.70313 21.37598 -146.56934 21.41699 -146.45215 c\r21.45898 -146.33496 21.54199 -146.22168 21.66553 -146.11523 c\r21.78076 -146.01953 21.93896 -145.94336 22.13965 -145.88672 c\r22.34082 -145.83008 22.59375 -145.80176 22.89795 -145.80176 c\r23.16992 -145.80176 23.40576 -145.82715 23.60449 -145.87598 c\r23.8042 -145.9248 23.96484 -145.99805 24.08594 -146.09375 c\r24.20117 -146.18555 24.28564 -146.2959 24.33887 -146.42578 c\r24.39111 -146.55469 24.41846 -146.70117 24.41846 -146.86621 c\r24.41846 -147.00781 24.39453 -147.14355 24.34473 -147.27246 c\r24.29639 -147.40137 24.21436 -147.51074 24.09912 -147.60059 c\rh\r22.24658 -136.66211 m\r21.91309 -136.65234 21.6626 -136.57227 21.49463 -136.41895 c\r21.32568 -136.26563 21.24219 -136.02734 21.24219 -135.70215 c\r21.24219 -135.40137 21.32178 -135.1543 21.48096 -134.96094 c\r21.64063 -134.7666 21.896 -134.65723 22.24658 -134.63477 c\r22.24658 -134.63477 22.24658 -136.66211 22.24658 -136.66211 c\rh\r25.50391 -141.85449 m\r25.50391 -141.42969 25.45215 -141.04102 25.34912 -140.68945 c\r25.24609 -140.33789 25.08594 -140.03223 24.87109 -139.77246 c\r24.65527 -139.51367 24.38428 -139.31445 24.05615 -139.17285 c\r23.72852 -139.03027 23.34473 -138.95996 22.90479 -138.95996 c\r22.44141 -138.95996 22.04102 -139.03613 21.70508 -139.1875 c\r21.36865 -139.34082 21.08936 -139.55078 20.86816 -139.82422 c\r20.6582 -140.08691 20.50537 -140.39063 20.40771 -140.73535 c\r20.31006 -141.08008 20.26123 -141.4375 20.26123 -141.80762 c\r20.26123 -142.13965 20.29834 -142.44727 20.37207 -142.72754 c\r20.4458 -143.00781 20.54199 -143.26953 20.66016 -143.51367 c\r20.66016 -143.51367 22.01953 -143.51367 22.01953 -143.51367 c\r22.01953 -143.51367 22.01953 -143.29199 22.01953 -143.29199 c\r21.9668 -143.23145 21.90576 -143.1582 21.83496 -143.07324 c\r21.76465 -142.98828 21.6958 -142.88281 21.62793 -142.75879 c\r21.56348 -142.64063 21.51025 -142.51074 21.46777 -142.36914 c\r21.42529 -142.22656 21.4043 -142.0625 21.4043 -141.875 c\r21.4043 -141.45801 21.53857 -141.1377 21.80811 -140.91406 c\r22.07715 -140.68945 22.44238 -140.57813 22.90479 -140.57813 c\r23.38184 -140.57813 23.74365 -140.69336 23.99121 -140.92285 c\r24.23828 -141.15234 24.36133 -141.47852 24.36133 -141.90039 c\r24.36133 -142.09668 24.33936 -142.27441 24.29395 -142.43164 c\r24.24854 -142.58887 24.19531 -142.71973 24.13379 -142.82422 c\r24.07568 -142.92188 24.01416 -143.00879 23.9502 -143.08398 c\r23.88623 -143.15918 23.82324 -143.22852 23.76221 -143.29199 c\r23.76221 -143.29199 23.76221 -143.51367 23.76221 -143.51367 c\r23.76221 -143.51367 25.11963 -143.51367 25.11963 -143.51367 c\r25.23779 -143.26758 25.33105 -143.00977 25.40039 -142.74316 c\r25.46924 -142.47559 25.50391 -142.17969 25.50391 -141.85449 c\rh\r25.37451 -155.53906 m\r25.37451 -155.53906 25.37451 -153.97656 25.37451 -153.97656 c\r25.37451 -153.97656 22.90576 -153.97656 22.90576 -153.97656 c\r22.70508 -153.97656 22.50488 -153.96582 22.30518 -153.9458 c\r22.10645 -153.92529 21.95898 -153.89063 21.86426 -153.84131 c\r21.75537 -153.7832 21.67578 -153.69824 21.625 -153.58643 c\r21.57471 -153.47461 21.5498 -153.31836 21.5498 -153.11816 c\r21.5498 -152.97559 21.57324 -152.83105 21.62109 -152.68408 c\r21.66846 -152.5376 21.74316 -152.37842 21.84668 -152.20752 c\r21.84668 -152.20752 25.37451 -152.20752 25.37451 -152.20752 c\r25.37451 -152.20752 25.37451 -150.64502 25.37451 -150.64502 c\r25.37451 -150.64502 20.39893 -150.64502 20.39893 -150.64502 c\r20.39893 -150.64502 20.39893 -152.20752 20.39893 -152.20752 c\r20.39893 -152.20752 20.94824 -152.20752 20.94824 -152.20752 c\r20.72656 -152.48486 20.55664 -152.75195 20.43848 -153.00781 c\r20.32031 -153.26367 20.26123 -153.54785 20.26123 -153.86035 c\r20.26123 -154.38672 20.41797 -154.79785 20.73145 -155.09473 c\r21.04395 -155.39111 21.5127 -155.53906 22.13574 -155.53906 c\r22.13574 -155.53906 25.37451 -155.53906 25.37451 -155.53906 c\rh\r23.79736 -167.40869 m\r24.31152 -167.40869 24.72607 -167.18359 25.04004 -166.73291 c\r25.35498 -166.28223 25.51221 -165.66553 25.51221 -164.8833 c\r25.51221 -164.44971 25.4707 -164.05664 25.38818 -163.70459 c\r25.30566 -163.35254 25.21387 -163.06934 25.11377 -162.85547 c\r25.11377 -162.85547 23.80273 -162.85547 23.80273 -162.85547 c\r23.80273 -162.85547 23.80273 -162.99805 23.80273 -162.99805 c\r23.8584 -163.07617 23.91992 -163.1665 23.98682 -163.26953 c\r24.05322 -163.37158 24.125 -163.5166 24.20215 -163.70459 c\r24.27002 -163.86621 24.3291 -164.0498 24.37793 -164.25488 c\r24.42627 -164.45996 24.45068 -164.6792 24.45068 -164.91309 c\r24.45068 -165.21924 24.41553 -165.44629 24.3457 -165.59326 c\r24.27637 -165.74023 24.17334 -165.81445 24.03711 -165.81445 c\r23.91553 -165.81445 23.82813 -165.771 23.77344 -165.68457 c\r23.71826 -165.59814 23.66602 -165.43311 23.61621 -165.19092 c\r23.58936 -165.0752 23.56104 -164.91895 23.5293 -164.72119 c\r23.49854 -164.52393 23.46094 -164.34424 23.4165 -164.18262 c\r23.29834 -163.74072 23.11426 -163.41357 22.86523 -163.19971 c\r22.61523 -162.98584 22.30371 -162.87939 21.93213 -162.87939 c\r21.45361 -162.87939 21.05566 -163.10107 20.73779 -163.54346 c\r20.41992 -163.98682 20.26123 -164.5918 20.26123 -165.35986 c\r20.26123 -165.72363 20.29932 -166.07227 20.37402 -166.40527 c\r20.44922 -166.73877 20.53027 -166.99902 20.61621 -167.18652 c\r20.61621 -167.18652 21.87402 -167.18652 21.87402 -167.18652 c\r21.87402 -167.18652 21.87402 -167.05273 21.87402 -167.05273 c\r21.71094 -166.82178 21.57861 -166.55859 21.47656 -166.26318 c\r21.37402 -165.96729 21.32275 -165.66797 21.32275 -165.36523 c\r21.32275 -165.11426 21.35889 -164.90283 21.43018 -164.73145 c\r21.50098 -164.55957 21.60156 -164.47363 21.73291 -164.47363 c\r21.85107 -164.47363 21.94141 -164.51221 22.00244 -164.59082 c\r22.06494 -164.66846 22.12695 -164.85156 22.18896 -165.14063 c\r22.22168 -165.29883 22.25342 -165.46973 22.28467 -165.65332 c\r22.31494 -165.83643 22.35498 -166.02051 22.40186 -166.20508 c\r22.51123 -166.61523 22.68359 -166.91797 22.91797 -167.11426 c\r23.15283 -167.31055 23.44629 -167.40869 23.79736 -167.40869 c\rh\r23.17871 -138.2168 m\r23.17871 -138.2168 23.17871 -134.63867 23.17871 -134.63867 c\r23.57178 -134.66211 23.87305 -134.80762 24.08154 -135.07617 c\r24.28955 -135.34375 24.39453 -135.73828 24.39453 -136.26074 c\r24.39453 -136.59082 24.33252 -136.91113 24.20801 -137.2207 c\r24.08496 -137.53125 23.95215 -137.77637 23.81055 -137.95605 c\r23.81055 -137.95605 23.81055 -138.12988 23.81055 -138.12988 c\r23.81055 -138.12988 25.09229 -138.12988 25.09229 -138.12988 c\r25.23682 -137.77637 25.34131 -137.44434 25.40625 -137.12988 c\r25.47119 -136.81836 25.50391 -136.4707 25.50391 -136.09277 c\r25.50391 -135.11426 25.28027 -134.36426 24.83154 -133.84277 c\r24.38232 -133.32031 23.74365 -133.06055 22.91455 -133.06055 c\r22.09375 -133.06055 21.44385 -133.30762 20.96484 -133.7998 c\r20.48486 -134.29395 20.24512 -134.9707 20.24512 -135.83008 c\r20.24512 -136.62207 20.44922 -137.21875 20.85791 -137.61719 c\r21.26709 -138.01758 21.85449 -138.2168 22.62109 -138.2168 c\r22.62109 -138.2168 23.17871 -138.2168 23.17871 -138.2168 c\rh\r22.88916 -149.52246 m\r23.70703 -149.52246 24.35156 -149.28857 24.82178 -148.82227 c\r25.29297 -148.35449 25.52832 -147.69824 25.52832 -146.85352 c\r25.52832 -146.00781 25.29297 -145.35254 24.82178 -144.88477 c\r24.35156 -144.41797 23.70703 -144.18457 22.88916 -144.18457 c\r22.06543 -144.18457 21.41846 -144.41895 20.94922 -144.88867 c\r20.47998 -145.35938 20.24512 -146.01465 20.24512 -146.85352 c\r20.24512 -147.7041 20.48145 -148.36133 20.9541 -148.82617 c\r21.42627 -149.29004 22.07129 -149.52246 22.88916 -149.52246 c\rh\r23.30176 -132.36816 m\r23.95166 -132.36816 24.47998 -132.09961 24.88721 -131.56055 c\r25.29297 -131.02051 25.49609 -130.28809 25.49609 -129.3623 c\r25.49609 -128.82813 25.44824 -128.36328 25.35205 -127.96387 c\r25.25635 -127.56738 25.13428 -127.19434 24.98633 -126.84766 c\r24.98633 -126.84766 23.40576 -126.84766 23.40576 -126.84766 c\r23.40576 -126.84766 23.40576 -127.03027 23.40576 -127.03027 c\r23.68652 -127.37305 23.90283 -127.75977 24.0542 -128.18555 c\r24.20508 -128.61328 24.28076 -129.02148 24.28076 -129.41406 c\r24.28076 -129.51563 24.27148 -129.64941 24.25342 -129.81445 c\r24.23633 -129.97852 24.20605 -130.1123 24.16504 -130.21777 c\r24.11133 -130.34375 24.04395 -130.44922 23.96436 -130.53223 c\r23.88428 -130.61426 23.76514 -130.65625 23.6084 -130.65625 c\r23.46289 -130.65625 23.33838 -130.5957 23.2334 -130.47656 c\r23.12842 -130.35547 23.04785 -130.17969 22.9917 -129.94922 c\r22.93311 -129.70605 22.87744 -129.44922 22.82568 -129.17871 c\r22.77441 -128.9082 22.70801 -128.65527 22.62842 -128.41895 c\r22.44824 -127.875 22.20361 -127.48242 21.89453 -127.24512 c\r21.58594 -127.00684 21.20264 -126.8877 20.74463 -126.8877 c\r20.13037 -126.8877 19.62842 -127.15625 19.23975 -127.69629 c\r18.85156 -128.23535 18.65674 -128.92871 18.65674 -129.77734 c\r18.65674 -130.20117 18.69922 -130.62207 18.7832 -131.03711 c\r18.86719 -131.45117 18.97266 -131.81055 19.09961 -132.11426 c\r19.09961 -132.11426 20.61816 -132.11426 20.61816 -132.11426 c\r20.61816 -132.11426 20.61816 -131.93652 20.61816 -131.93652 c\r20.40674 -131.67676 20.229 -131.3584 20.08691 -130.98047 c\r19.94385 -130.60352 19.87256 -130.21777 19.87256 -129.82422 c\r19.87256 -129.68457 19.88184 -129.54688 19.90088 -129.41016 c\r19.9209 -129.27148 19.95654 -129.13965 20.00977 -129.01367 c\r20.05371 -128.90039 20.12109 -128.80273 20.21094 -128.72266 c\r20.30078 -128.6416 20.40332 -128.60059 20.51855 -128.60059 c\r20.69287 -128.60059 20.82715 -128.66602 20.91992 -128.79688 c\r21.01318 -128.92578 21.09766 -129.17188 21.1748 -129.5332 c\r21.22461 -129.76953 21.27393 -129.99805 21.3208 -130.21582 c\r21.36816 -130.43457 21.43311 -130.66797 21.51563 -130.91992 c\r21.68164 -131.41504 21.90674 -131.7793 22.19189 -132.01563 c\r22.47705 -132.25098 22.84717 -132.36816 23.30176 -132.36816 c\rh\r25.37451 -161.70605 m\r25.37451 -161.70605 25.37451 -160.14307 25.37451 -160.14307 c\r25.37451 -160.14307 24.85596 -160.14307 24.85596 -160.14307 c\r25.08057 -159.87354 25.24609 -159.62158 25.35303 -159.38721 c\r25.4585 -159.15234 25.51221 -158.88086 25.51221 -158.57422 c\r25.51221 -157.97998 25.27881 -157.50488 24.8125 -157.14795 c\r24.34521 -156.7915 23.71631 -156.61328 22.92432 -156.61328 c\r22.50195 -156.61328 22.12793 -156.67383 21.80127 -156.79346 c\r21.4751 -156.91406 21.19531 -157.07861 20.96143 -157.28711 c\r20.73975 -157.48389 20.56787 -157.72314 20.44531 -158.00488 c\r20.32324 -158.28564 20.26123 -158.56689 20.26123 -158.84814 c\r20.26123 -159.14014 20.29297 -159.38037 20.35645 -159.56738 c\r20.41992 -159.75439 20.50098 -159.94629 20.59863 -160.14307 c\r20.59863 -160.14307 18.47852 -160.14307 18.47852 -160.14307 c\r18.47852 -160.14307 18.47852 -161.70605 18.47852 -161.70605 c\r18.47852 -161.70605 25.37451 -161.70605 25.37451 -161.70605 c\rh\rf\rQ\rq\r1 0 0 -1 0 0 cm\r1 -0.71973 m\r1 -0.71973 519.86133 -0.71973 519.86133 -0.71973 c\r519.86133 -0.71973 519.86133 -300 519.86133 -300 c\r519.86133 -300 1 -300 1 -300 c\r1 -300 1 -0.71973 1 -0.71973 c\rh\rW n\r1 1 1 rg\r0 i \r/GS0 gs\r451.01758 -167.875 m\r451.01758 -167.875 511.69336 -167.875 511.69336 -167.875 c\r511.69336 -167.875 511.69336 -125.99121 511.69336 -125.99121 c\r511.69336 -125.99121 451.01758 -125.99121 451.01758 -125.99121 c\r451.01758 -125.99121 451.01758 -167.875 451.01758 -167.875 c\rh\rf\r0 0 0 RG\r1 w 10 M 0 j 0 J []0 d \r451.01758 -167.875 m\r451.01758 -167.875 511.69336 -167.875 511.69336 -167.875 c\r511.69336 -167.875 511.69336 -125.99121 511.69336 -125.99121 c\r511.69336 -125.99121 451.01758 -125.99121 451.01758 -125.99121 c\r451.01758 -125.99121 451.01758 -167.875 451.01758 -167.875 c\rh\rS\rQ\rq\r1 0 0 -1 0 0 cm\r451.14746 -126.37109 m\r451.14746 -126.37109 511.56348 -126.37109 511.56348 -126.37109 c\r511.56348 -126.37109 511.56348 -167.74854 511.56348 -167.74854 c\r511.56348 -167.74854 451.14746 -167.74854 451.14746 -167.74854 c\r451.14746 -167.74854 451.14746 -126.37109 451.14746 -126.37109 c\rh\rW n\r0.60001 0.60001 1 rg\r0 i \r/GS0 gs\r454.12891 -163.56006 m\r454.12891 -163.56006 459.83398 -163.56006 459.83398 -163.56006 c\r459.83398 -163.56006 459.83398 -157.9751 459.83398 -157.9751 c\r459.83398 -157.9751 454.12891 -157.9751 454.12891 -157.9751 c\r454.12891 -157.9751 454.12891 -163.56006 454.12891 -163.56006 c\rh\rf\r0 0 0 RG\r4 w 10 M 0 j 0 J []0 d \r454.12891 -163.56006 m\r454.12891 -163.56006 459.83398 -163.56006 459.83398 -163.56006 c\r459.83398 -163.56006 459.83398 -157.9751 459.83398 -157.9751 c\r459.83398 -157.9751 454.12891 -157.9751 454.12891 -157.9751 c\r454.12891 -157.9751 454.12891 -163.56006 454.12891 -163.56006 c\rh\rS\r0 0 0 rg\r491.11133 -158.92383 m\r491.11133 -158.92383 491.11133 -161.57227 491.11133 -161.57227 c\r490.88867 -161.6709 490.68262 -161.74121 490.49121 -161.78369 c\r490.2998 -161.8252 490.11035 -161.84668 489.91992 -161.84668 c\r489.45996 -161.84668 489.09766 -161.6958 488.83398 -161.39404 c\r488.57031 -161.09229 488.43848 -160.6543 488.43848 -160.08057 c\r488.43848 -159.53613 488.53613 -159.12256 488.73145 -158.84131 c\r488.92676 -158.56006 489.25195 -158.41943 489.70508 -158.41943 c\r489.94922 -158.41943 490.19336 -158.46533 490.43848 -158.55664 c\r490.68262 -158.64746 490.90723 -158.77051 491.11133 -158.92383 c\rh\r491.94629 -158.14795 m\r491.94629 -157.32666 491.75586 -156.72314 491.37305 -156.33936 c\r490.99121 -155.95459 490.40332 -155.76221 489.6084 -155.76221 c\r489.34473 -155.76221 489.08887 -155.78027 488.83691 -155.81592 c\r488.58691 -155.85205 488.34082 -155.90332 488.09766 -155.96973 c\r488.09766 -155.96973 488.09766 -156.80127 488.09766 -156.80127 c\r488.09766 -156.80127 488.1416 -156.80127 488.1416 -156.80127 c\r488.27734 -156.74902 488.49414 -156.68408 488.79102 -156.60742 c\r489.08789 -156.53027 489.38379 -156.49219 489.67969 -156.49219 c\r489.96582 -156.49219 490.20117 -156.5249 490.3877 -156.5918 c\r490.57422 -156.6582 490.71973 -156.75098 490.82324 -156.86914 c\r490.92578 -156.98145 491.00098 -157.11816 491.0459 -157.27637 c\r491.08984 -157.43555 491.11133 -157.61328 491.11133 -157.81006 c\r491.11133 -157.81006 491.11133 -158.25195 491.11133 -158.25195 c\r490.86035 -158.05518 490.61914 -157.9082 490.38965 -157.81152 c\r490.16016 -157.71436 489.86719 -157.66602 489.5127 -157.66602 c\r488.91992 -157.66602 488.44922 -157.875 488.10059 -158.29346 c\r487.75293 -158.71191 487.57813 -159.30078 487.57813 -160.0625 c\r487.57813 -160.479 487.63867 -160.83887 487.75879 -161.14111 c\r487.87988 -161.44385 488.04297 -161.70508 488.25 -161.9248 c\r488.44238 -162.13037 488.67676 -162.29053 488.95215 -162.40479 c\r489.22754 -162.51904 489.50195 -162.57617 489.77344 -162.57617 c\r490.0625 -162.57617 490.30273 -162.54785 490.49707 -162.4917 c\r490.68945 -162.43506 490.89648 -162.34912 491.11133 -162.2334 c\r491.11133 -162.2334 491.16406 -162.44141 491.16406 -162.44141 c\r491.16406 -162.44141 491.94629 -162.44141 491.94629 -162.44141 c\r491.94629 -162.44141 491.94629 -158.14795 491.94629 -158.14795 c\rh\r485.84961 -160.56152 m\r485.84668 -160.98828 485.73438 -161.31836 485.51953 -161.55176 c\r485.30176 -161.78516 484.97168 -161.90186 484.52734 -161.90186 c\r484.08203 -161.90186 483.72656 -161.77344 483.46191 -161.51709 c\r483.19824 -161.26025 483.04883 -160.94189 483.01367 -160.56152 c\r483.01367 -160.56152 485.84961 -160.56152 485.84961 -160.56152 c\rh\r486.65918 -159.93457 m\r486.65918 -159.93457 483.01367 -159.93457 483.01367 -159.93457 c\r483.01367 -159.63721 483.05859 -159.37793 483.15039 -159.15674 c\r483.24219 -158.93604 483.36719 -158.75488 483.52734 -158.61328 c\r483.67969 -158.47461 483.8623 -158.37061 484.07422 -158.30176 c\r484.28516 -158.23193 484.51758 -158.19727 484.77246 -158.19727 c\r485.1084 -158.19727 485.44727 -158.26318 485.78906 -158.39502 c\r486.12988 -158.52734 486.37207 -158.65674 486.51758 -158.78467 c\r486.51758 -158.78467 486.5625 -158.78467 486.5625 -158.78467 c\r486.5625 -158.78467 486.5625 -157.89258 486.5625 -157.89258 c\r486.28125 -157.77637 485.99512 -157.6792 485.70313 -157.60059 c\r485.41016 -157.52295 485.10352 -157.4834 484.78223 -157.4834 c\r483.96094 -157.4834 483.32031 -157.70117 482.86133 -158.13623 c\r482.40039 -158.57129 482.1709 -159.18945 482.1709 -159.99072 c\r482.1709 -160.7832 482.39063 -161.41211 482.83203 -161.87744 c\r483.27246 -162.34326 483.85449 -162.57617 484.57324 -162.57617 c\r485.24121 -162.57617 485.75586 -162.38525 486.11719 -162.00342 c\r486.47754 -161.62207 486.65918 -161.07959 486.65918 -160.37744 c\r486.65918 -160.37744 486.65918 -159.93457 486.65918 -159.93457 c\rh\r480.37305 -160.05273 m\r480.37305 -160.63818 480.27148 -161.07471 480.06641 -161.36475 c\r479.86133 -161.65381 479.54688 -161.79883 479.12305 -161.79883 c\r478.88281 -161.79883 478.64063 -161.74854 478.39648 -161.64648 c\r478.1543 -161.54541 477.9209 -161.41211 477.69824 -161.24756 c\r477.69824 -161.24756 477.69824 -158.49854 477.69824 -158.49854 c\r477.93555 -158.39404 478.14063 -158.32324 478.31055 -158.28564 c\r478.48145 -158.24805 478.67383 -158.22949 478.8916 -158.22949 c\r479.35742 -158.22949 479.7207 -158.38281 479.98145 -158.68945 c\r480.24219 -158.99609 480.37305 -159.45068 480.37305 -160.05273 c\rh\r481.23145 -160.07666 m\r481.23145 -159.68359 481.17383 -159.32422 481.05957 -158.99854 c\r480.94238 -158.67285 480.78125 -158.39746 480.56934 -158.17188 c\r480.37402 -157.95752 480.14453 -157.79248 479.87793 -157.67529 c\r479.61328 -157.55811 479.33203 -157.49902 479.03613 -157.49902 c\r478.7793 -157.49902 478.54492 -157.52686 478.33691 -157.58154 c\r478.12891 -157.63623 477.91504 -157.72217 477.69824 -157.83789 c\r477.69824 -157.83789 477.69824 -155.80957 477.69824 -155.80957 c\r477.69824 -155.80957 476.86426 -155.80957 476.86426 -155.80957 c\r476.86426 -155.80957 476.86426 -162.44141 476.86426 -162.44141 c\r476.86426 -162.44141 477.69824 -162.44141 477.69824 -162.44141 c\r477.69824 -162.44141 477.69824 -161.93408 477.69824 -161.93408 c\r477.9209 -162.11621 478.1709 -162.26904 478.44727 -162.39209 c\r478.72461 -162.51465 479.02051 -162.57617 479.33398 -162.57617 c\r479.93262 -162.57617 480.39844 -162.35547 480.73242 -161.91455 c\r481.06543 -161.47314 481.23145 -160.86035 481.23145 -160.07666 c\rh\r475.28906 -163.25 m\r475.28906 -163.25 474.34277 -163.25 474.34277 -163.25 c\r474.34277 -163.25 474.34277 -164.09912 474.34277 -164.09912 c\r474.34277 -164.09912 475.28906 -164.09912 475.28906 -164.09912 c\r475.28906 -164.09912 475.28906 -163.25 475.28906 -163.25 c\rh\r475.2334 -157.47949 m\r475.2334 -156.91309 475.08496 -156.48486 474.78906 -156.19531 c\r474.49414 -155.90674 474.09863 -155.76221 473.60156 -155.76221 c\r473.4834 -155.76221 473.32715 -155.77344 473.13477 -155.79688 c\r472.94043 -155.81934 472.77832 -155.84863 472.64844 -155.8833 c\r472.64844 -155.8833 472.64844 -156.6582 472.64844 -156.6582 c\r472.64844 -156.6582 472.69238 -156.6582 472.69238 -156.6582 c\r472.77539 -156.62744 472.88672 -156.5918 473.02734 -156.55176 c\r473.16797 -156.51172 473.30469 -156.49219 473.43652 -156.49219 c\r473.65039 -156.49219 473.82129 -156.521 473.9502 -156.57861 c\r474.08008 -156.63672 474.17871 -156.72314 474.24414 -156.83887 c\r474.30859 -156.95459 474.35059 -157.09424 474.36914 -157.25732 c\r474.38867 -157.4209 474.39941 -157.62012 474.39941 -157.85449 c\r474.39941 -157.85449 474.39941 -161.75928 474.39941 -161.75928 c\r474.39941 -161.75928 473.36914 -161.75928 473.36914 -161.75928 c\r473.36914 -161.75928 473.36914 -162.44141 473.36914 -162.44141 c\r473.36914 -162.44141 475.2334 -162.44141 475.2334 -162.44141 c\r475.2334 -162.44141 475.2334 -157.47949 475.2334 -157.47949 c\rh\r471.59766 -160.03125 m\r471.59766 -160.61035 471.49902 -161.0498 471.30371 -161.34912 c\r471.10742 -161.64941 470.79199 -161.79883 470.35645 -161.79883 c\r470.1123 -161.79883 469.86621 -161.74756 469.61719 -161.64453 c\r469.36816 -161.54199 469.13672 -161.40967 468.92285 -161.24756 c\r468.92285 -161.24756 468.92285 -158.46729 468.92285 -158.46729 c\r469.16016 -158.36328 469.36523 -158.29102 469.53516 -158.25 c\r469.70508 -158.20947 469.89941 -158.18945 470.11621 -158.18945 c\r470.57813 -158.18945 470.94141 -158.33789 471.20313 -158.63477 c\r471.46582 -158.93164 471.59766 -159.39697 471.59766 -160.03125 c\rh\r472.45605 -160.05518 m\r472.45605 -159.64941 472.39746 -159.28516 472.28027 -158.96094 c\r472.16406 -158.63721 472.00586 -158.36523 471.80664 -158.14502 c\r471.59766 -157.91699 471.36621 -157.74561 471.11328 -157.63135 c\r470.8623 -157.5166 470.58496 -157.45996 470.28223 -157.45996 c\r470.00098 -157.45996 469.75586 -157.49219 469.54395 -157.55762 c\r469.33496 -157.62256 469.12695 -157.70996 468.92285 -157.81982 c\r468.92285 -157.81982 468.87012 -157.59473 468.87012 -157.59473 c\r468.87012 -157.59473 468.08887 -157.59473 468.08887 -157.59473 c\r468.08887 -157.59473 468.08887 -164.34521 468.08887 -164.34521 c\r468.08887 -164.34521 468.92285 -164.34521 468.92285 -164.34521 c\r468.92285 -164.34521 468.92285 -161.93359 468.92285 -161.93359 c\r469.15625 -162.12158 469.40527 -162.27637 469.66895 -162.396 c\r469.93359 -162.51563 470.22949 -162.57617 470.55859 -162.57617 c\r471.14551 -162.57617 471.60742 -162.35645 471.94727 -161.91699 c\r472.28516 -161.47656 472.45605 -160.85596 472.45605 -160.05518 c\rh\r466.43555 -157.59473 m\r466.43555 -157.59473 465.60156 -157.59473 465.60156 -157.59473 c\r465.60156 -157.59473 465.60156 -162.44141 465.60156 -162.44141 c\r465.60156 -162.44141 466.43555 -162.44141 466.43555 -162.44141 c\r466.43555 -162.44141 466.43555 -157.59473 466.43555 -157.59473 c\rh\r466.49414 -163.25 m\r466.49414 -163.25 465.54492 -163.25 465.54492 -163.25 c\r465.54492 -163.25 465.54492 -164.09912 465.54492 -164.09912 c\r465.54492 -164.09912 466.49414 -164.09912 466.49414 -164.09912 c\r466.49414 -164.09912 466.49414 -163.25 466.49414 -163.25 c\rh\r463.9502 -157.59473 m\r463.9502 -157.59473 463.11523 -157.59473 463.11523 -157.59473 c\r463.11523 -157.59473 463.11523 -164.34521 463.11523 -164.34521 c\r463.11523 -164.34521 463.9502 -164.34521 463.9502 -164.34521 c\r463.9502 -164.34521 463.9502 -157.59473 463.9502 -157.59473 c\rh\rf\r0.60001 0.2 0.39999 rg\r454.12891 -149.59863 m\r454.12891 -149.59863 459.83398 -149.59863 459.83398 -149.59863 c\r459.83398 -149.59863 459.83398 -144.01367 459.83398 -144.01367 c\r459.83398 -144.01367 454.12891 -144.01367 454.12891 -144.01367 c\r454.12891 -144.01367 454.12891 -149.59863 454.12891 -149.59863 c\rh\rf\r454.12891 -149.59863 m\r454.12891 -149.59863 459.83398 -149.59863 459.83398 -149.59863 c\r459.83398 -149.59863 459.83398 -144.01367 459.83398 -144.01367 c\r459.83398 -144.01367 454.12891 -144.01367 454.12891 -144.01367 c\r454.12891 -144.01367 454.12891 -149.59863 454.12891 -149.59863 c\rh\rS\r0 0 0 rg\r483.57129 -143.67676 m\r483.41504 -143.63574 483.24414 -143.60352 483.05957 -143.57715 c\r482.875 -143.55078 482.70996 -143.53809 482.56543 -143.53809 c\r482.06055 -143.53809 481.67676 -143.6709 481.41309 -143.9375 c\r481.15137 -144.2041 481.01953 -144.63086 481.01953 -145.21875 c\r481.01953 -145.21875 481.01953 -147.79785 481.01953 -147.79785 c\r481.01953 -147.79785 480.45996 -147.79785 480.45996 -147.79785 c\r480.45996 -147.79785 480.45996 -148.47949 480.45996 -148.47949 c\r480.45996 -148.47949 481.01953 -148.47949 481.01953 -148.47949 c\r481.01953 -148.47949 481.01953 -149.87646 481.01953 -149.87646 c\r481.01953 -149.87646 481.85352 -149.87646 481.85352 -149.87646 c\r481.85352 -149.87646 481.85352 -148.47949 481.85352 -148.47949 c\r481.85352 -148.47949 483.57129 -148.47949 483.57129 -148.47949 c\r483.57129 -148.47949 483.57129 -147.79785 483.57129 -147.79785 c\r483.57129 -147.79785 481.85352 -147.79785 481.85352 -147.79785 c\r481.85352 -147.79785 481.85352 -145.58594 481.85352 -145.58594 c\r481.85352 -145.33105 481.86035 -145.13184 481.87109 -144.98828 c\r481.88281 -144.84473 481.92383 -144.71094 481.99512 -144.58594 c\r482.06055 -144.4707 482.14844 -144.38574 482.26367 -144.33203 c\r482.37695 -144.27832 482.5498 -144.25195 482.7832 -144.25195 c\r482.91992 -144.25195 483.06055 -144.27148 483.20801 -144.31152 c\r483.35547 -144.35059 483.46191 -144.38379 483.52734 -144.41016 c\r483.52734 -144.41016 483.57129 -144.41016 483.57129 -144.41016 c\r483.57129 -144.41016 483.57129 -143.67676 483.57129 -143.67676 c\rh\r478.9248 -146.59961 m\r478.92188 -147.02637 478.81055 -147.35645 478.59375 -147.59082 c\r478.37695 -147.82422 478.04688 -147.94043 477.60352 -147.94043 c\r477.1582 -147.94043 476.80176 -147.8125 476.53809 -147.55566 c\r476.27344 -147.29883 476.12305 -146.98047 476.08789 -146.59961 c\r476.08789 -146.59961 478.9248 -146.59961 478.9248 -146.59961 c\rh\r479.73438 -145.97266 m\r479.73438 -145.97266 476.08789 -145.97266 476.08789 -145.97266 c\r476.08789 -145.67578 476.13477 -145.41602 476.22559 -145.19629 c\r476.31738 -144.97461 476.44336 -144.79395 476.60254 -144.65234 c\r476.75586 -144.51367 476.93848 -144.40918 477.14844 -144.33984 c\r477.36035 -144.27051 477.59277 -144.23633 477.84668 -144.23633 c\r478.18457 -144.23633 478.52246 -144.30176 478.86426 -144.43359 c\r479.20508 -144.56543 479.44824 -144.69531 479.59277 -144.82324 c\r479.59277 -144.82324 479.63672 -144.82324 479.63672 -144.82324 c\r479.63672 -144.82324 479.63672 -143.93066 479.63672 -143.93066 c\r479.35742 -143.81543 479.07031 -143.71777 478.77734 -143.63965 c\r478.48535 -143.56152 478.17871 -143.52246 477.8584 -143.52246 c\r477.03711 -143.52246 476.39648 -143.73926 475.93555 -144.1748 c\r475.47559 -144.61035 475.24512 -145.22852 475.24512 -146.0293 c\r475.24512 -146.82227 475.46582 -147.45117 475.90723 -147.91602 c\r476.34766 -148.38184 476.92969 -148.61426 477.64844 -148.61426 c\r478.31641 -148.61426 478.83105 -148.42383 479.19238 -148.04199 c\r479.55371 -147.66016 479.73438 -147.11816 479.73438 -146.41602 c\r479.73438 -146.41602 479.73438 -145.97266 479.73438 -145.97266 c\rh\r473.51465 -146.59961 m\r473.51172 -147.02637 473.40234 -147.35645 473.18457 -147.59082 c\r472.96777 -147.82422 472.63867 -147.94043 472.19531 -147.94043 c\r471.74902 -147.94043 471.39258 -147.8125 471.12891 -147.55566 c\r470.86523 -147.29883 470.71484 -146.98047 470.67871 -146.59961 c\r470.67871 -146.59961 473.51465 -146.59961 473.51465 -146.59961 c\rh\r474.32617 -145.97266 m\r474.32617 -145.97266 470.67871 -145.97266 470.67871 -145.97266 c\r470.67871 -145.67578 470.72461 -145.41602 470.81641 -145.19629 c\r470.9082 -144.97461 471.03418 -144.79395 471.19238 -144.65234 c\r471.34668 -144.51367 471.5293 -144.40918 471.74023 -144.33984 c\r471.95117 -144.27051 472.18457 -144.23633 472.43848 -144.23633 c\r472.77441 -144.23633 473.11426 -144.30176 473.45508 -144.43359 c\r473.7959 -144.56543 474.03906 -144.69531 474.18359 -144.82324 c\r474.18359 -144.82324 474.22754 -144.82324 474.22754 -144.82324 c\r474.22754 -144.82324 474.22754 -143.93066 474.22754 -143.93066 c\r473.94727 -143.81543 473.66113 -143.71777 473.36914 -143.63965 c\r473.07813 -143.56152 472.77051 -143.52246 472.44824 -143.52246 c\r471.62695 -143.52246 470.9873 -143.73926 470.52734 -144.1748 c\r470.06738 -144.61035 469.83594 -145.22852 469.83594 -146.0293 c\r469.83594 -146.82227 470.05664 -147.45117 470.49902 -147.91602 c\r470.93945 -148.38184 471.51953 -148.61426 472.24121 -148.61426 c\r472.90723 -148.61426 473.4209 -148.42383 473.7832 -148.04199 c\r474.14551 -147.66016 474.32617 -147.11816 474.32617 -146.41602 c\r474.32617 -146.41602 474.32617 -145.97266 474.32617 -145.97266 c\rh\r469.39648 -147.5918 m\r469.39648 -147.5918 469.35254 -147.5918 469.35254 -147.5918 c\r469.22852 -147.61914 469.1084 -147.63965 468.99219 -147.65234 c\r468.87598 -147.66406 468.7373 -147.6709 468.5791 -147.6709 c\r468.32129 -147.6709 468.07422 -147.61523 467.83496 -147.50391 c\r467.5957 -147.39258 467.36523 -147.24902 467.14453 -147.07227 c\r467.14453 -147.07227 467.14453 -143.63281 467.14453 -143.63281 c\r467.14453 -143.63281 466.31055 -143.63281 466.31055 -143.63281 c\r466.31055 -143.63281 466.31055 -148.47949 466.31055 -148.47949 c\r466.31055 -148.47949 467.14453 -148.47949 467.14453 -148.47949 c\r467.14453 -148.47949 467.14453 -147.76367 467.14453 -147.76367 c\r467.47461 -148.02441 467.76563 -148.20898 468.01855 -148.31738 c\r468.27051 -148.42578 468.52734 -148.47949 468.79004 -148.47949 c\r468.93457 -148.47949 469.04004 -148.47656 469.10449 -148.46875 c\r469.16895 -148.46191 469.2666 -148.44824 469.39648 -148.42773 c\r469.39648 -148.42773 469.39648 -147.5918 469.39648 -147.5918 c\rh\r465.77246 -149.59082 m\r465.77246 -149.59082 465.72852 -149.59082 465.72852 -149.59082 c\r465.63672 -149.61621 465.51758 -149.64258 465.36914 -149.66943 c\r465.22266 -149.69629 465.09375 -149.70947 464.98145 -149.70947 c\r464.62305 -149.70947 464.36523 -149.63281 464.20508 -149.47852 c\r464.04395 -149.32471 463.96289 -149.04639 463.96289 -148.64453 c\r463.96289 -148.64453 463.96289 -148.47949 463.96289 -148.47949 c\r463.96289 -148.47949 465.46484 -148.47949 465.46484 -148.47949 c\r465.46484 -148.47949 465.46484 -147.79785 465.46484 -147.79785 c\r465.46484 -147.79785 463.99023 -147.79785 463.99023 -147.79785 c\r463.99023 -147.79785 463.99023 -143.63281 463.99023 -143.63281 c\r463.99023 -143.63281 463.15527 -143.63281 463.15527 -143.63281 c\r463.15527 -143.63281 463.15527 -147.79785 463.15527 -147.79785 c\r463.15527 -147.79785 462.59668 -147.79785 462.59668 -147.79785 c\r462.59668 -147.79785 462.59668 -148.47949 462.59668 -148.47949 c\r462.59668 -148.47949 463.15527 -148.47949 463.15527 -148.47949 c\r463.15527 -148.47949 463.15527 -148.63965 463.15527 -148.63965 c\r463.15527 -149.21436 463.30176 -149.65527 463.59375 -149.9624 c\r463.88574 -150.27002 464.30859 -150.42334 464.85938 -150.42334 c\r465.04688 -150.42334 465.21387 -150.41504 465.36328 -150.39746 c\r465.51172 -150.37988 465.64746 -150.35986 465.77246 -150.33643 c\r465.77246 -150.33643 465.77246 -149.59082 465.77246 -149.59082 c\rh\rf\r498.87988 -146.59961 m\r498.87695 -147.02637 498.7666 -147.35645 498.5498 -147.59082 c\r498.33301 -147.82422 498.00293 -147.94043 497.55957 -147.94043 c\r497.11328 -147.94043 496.75781 -147.8125 496.49316 -147.55566 c\r496.22949 -147.29883 496.0791 -146.98047 496.04395 -146.59961 c\r496.04395 -146.59961 498.87988 -146.59961 498.87988 -146.59961 c\rh\r499.68945 -145.97266 m\r499.68945 -145.97266 496.04395 -145.97266 496.04395 -145.97266 c\r496.04395 -145.67578 496.08984 -145.41602 496.18164 -145.19629 c\r496.27344 -144.97461 496.39746 -144.79395 496.55762 -144.65234 c\r496.71191 -144.51367 496.89355 -144.40918 497.10547 -144.33984 c\r497.31641 -144.27051 497.54883 -144.23633 497.80371 -144.23633 c\r498.14063 -144.23633 498.47852 -144.30176 498.82031 -144.43359 c\r499.16016 -144.56543 499.4043 -144.69531 499.54883 -144.82324 c\r499.54883 -144.82324 499.59277 -144.82324 499.59277 -144.82324 c\r499.59277 -144.82324 499.59277 -143.93066 499.59277 -143.93066 c\r499.3125 -143.81543 499.02637 -143.71777 498.73438 -143.63965 c\r498.44141 -143.56152 498.13477 -143.52246 497.81348 -143.52246 c\r496.99316 -143.52246 496.35156 -143.73926 495.8916 -144.1748 c\r495.43066 -144.61035 495.20117 -145.22852 495.20117 -146.0293 c\r495.20117 -146.82227 495.42188 -147.45117 495.86328 -147.91602 c\r496.30371 -148.38184 496.88477 -148.61426 497.60449 -148.61426 c\r498.27246 -148.61426 498.78613 -148.42383 499.14844 -148.04199 c\r499.50879 -147.66016 499.68945 -147.11816 499.68945 -146.41602 c\r499.68945 -146.41602 499.68945 -145.97266 499.68945 -145.97266 c\rh\r493.4043 -146.0918 m\r493.4043 -146.67676 493.30078 -147.11328 493.09668 -147.40332 c\r492.89258 -147.69238 492.57813 -147.83789 492.15332 -147.83789 c\r491.91406 -147.83789 491.67188 -147.78711 491.42871 -147.68555 c\r491.18555 -147.58398 490.95313 -147.45117 490.73047 -147.28613 c\r490.73047 -147.28613 490.73047 -144.53711 490.73047 -144.53711 c\r490.96777 -144.43262 491.17188 -144.36133 491.3418 -144.32422 c\r491.5127 -144.28613 491.70605 -144.26758 491.92285 -144.26758 c\r492.38867 -144.26758 492.75195 -144.4209 493.01172 -144.72754 c\r493.27441 -145.03516 493.4043 -145.48926 493.4043 -146.0918 c\rh\r494.2627 -146.11523 m\r494.2627 -145.72168 494.20605 -145.3623 494.08984 -145.03711 c\r493.97461 -144.71191 493.81055 -144.43652 493.60059 -144.21094 c\r493.40625 -143.99707 493.1748 -143.83105 492.91016 -143.71387 c\r492.64453 -143.59668 492.36426 -143.53809 492.06836 -143.53809 c\r491.81055 -143.53809 491.57617 -143.56543 491.36719 -143.62012 c\r491.1582 -143.67578 490.94629 -143.76074 490.73047 -143.87598 c\r490.73047 -143.87598 490.73047 -141.84863 490.73047 -141.84863 c\r490.73047 -141.84863 489.89551 -141.84863 489.89551 -141.84863 c\r489.89551 -141.84863 489.89551 -148.47949 489.89551 -148.47949 c\r489.89551 -148.47949 490.73047 -148.47949 490.73047 -148.47949 c\r490.73047 -148.47949 490.73047 -147.97266 490.73047 -147.97266 c\r490.95215 -148.15527 491.20117 -148.30762 491.47852 -148.43066 c\r491.75586 -148.55273 492.05176 -148.61426 492.36523 -148.61426 c\r492.96387 -148.61426 493.42969 -148.39453 493.76367 -147.95313 c\r494.09668 -147.51172 494.2627 -146.89941 494.2627 -146.11523 c\rh\r488.81055 -148.47949 m\r488.81055 -148.47949 485.91504 -141.84863 485.91504 -141.84863 c\r485.91504 -141.84863 485.02832 -141.84863 485.02832 -141.84863 c\r485.02832 -141.84863 485.94727 -143.86914 485.94727 -143.86914 c\r485.94727 -143.86914 483.97168 -148.47949 483.97168 -148.47949 c\r483.97168 -148.47949 484.87695 -148.47949 484.87695 -148.47949 c\r484.87695 -148.47949 486.40039 -144.8877 486.40039 -144.8877 c\r486.40039 -144.8877 487.9375 -148.47949 487.9375 -148.47949 c\r487.9375 -148.47949 488.81055 -148.47949 488.81055 -148.47949 c\rh\rf\r1 1 0.8 rg\r454.12891 -135.63672 m\r454.12891 -135.63672 459.83398 -135.63672 459.83398 -135.63672 c\r459.83398 -135.63672 459.83398 -130.05273 459.83398 -130.05273 c\r459.83398 -130.05273 454.12891 -130.05273 454.12891 -130.05273 c\r454.12891 -130.05273 454.12891 -135.63672 454.12891 -135.63672 c\rh\rf\r454.12891 -135.63672 m\r454.12891 -135.63672 459.83398 -135.63672 459.83398 -135.63672 c\r459.83398 -135.63672 459.83398 -130.05273 459.83398 -130.05273 c\r459.83398 -130.05273 454.12891 -130.05273 454.12891 -130.05273 c\r454.12891 -130.05273 454.12891 -135.63672 454.12891 -135.63672 c\rh\rS\r0 0 0 rg\r507.63477 -129.67285 m\r507.63477 -129.67285 506.54199 -129.67285 506.54199 -129.67285 c\r506.54199 -129.67285 504.55176 -131.79395 504.55176 -131.79395 c\r504.55176 -131.79395 504.01367 -131.29004 504.01367 -131.29004 c\r504.01367 -131.29004 504.01367 -129.67285 504.01367 -129.67285 c\r504.01367 -129.67285 503.17773 -129.67285 503.17773 -129.67285 c\r503.17773 -129.67285 503.17773 -136.42285 503.17773 -136.42285 c\r503.17773 -136.42285 504.01367 -136.42285 504.01367 -136.42285 c\r504.01367 -136.42285 504.01367 -132.0918 504.01367 -132.0918 c\r504.01367 -132.0918 506.41602 -134.51855 506.41602 -134.51855 c\r506.41602 -134.51855 507.46484 -134.51855 507.46484 -134.51855 c\r507.46484 -134.51855 505.16699 -132.2793 505.16699 -132.2793 c\r505.16699 -132.2793 507.63477 -129.67285 507.63477 -129.67285 c\rh\r502.07324 -129.97168 m\r501.79492 -129.8418 501.53125 -129.74023 501.28223 -129.66797 c\r501.0332 -129.59668 500.76758 -129.56055 500.4873 -129.56055 c\r500.12988 -129.56055 499.80273 -129.6123 499.50391 -129.71484 c\r499.20703 -129.81738 498.95117 -129.97266 498.73828 -130.18066 c\r498.52344 -130.38965 498.35547 -130.65234 498.23828 -130.97168 c\r498.12012 -131.29004 498.06055 -131.66211 498.06055 -132.08594 c\r498.06055 -132.87891 498.2832 -133.50195 498.72852 -133.95313 c\r499.17188 -134.4043 499.75879 -134.63086 500.4873 -134.63086 c\r500.76953 -134.63086 501.04883 -134.59082 501.32227 -134.5127 c\r501.5957 -134.43457 501.8457 -134.33887 502.07324 -134.22656 c\r502.07324 -134.22656 502.07324 -133.32031 502.07324 -133.32031 c\r502.07324 -133.32031 502.02832 -133.32031 502.02832 -133.32031 c\r501.77344 -133.51172 501.51172 -133.65918 501.24121 -133.76172 c\r500.9707 -133.86426 500.70703 -133.91602 500.4502 -133.91602 c\r499.97656 -133.91602 499.60352 -133.76074 499.33008 -133.45117 c\r499.05762 -133.14063 498.91992 -132.68652 498.91992 -132.08594 c\r498.91992 -131.50488 499.05469 -131.05664 499.32129 -130.74414 c\r499.58887 -130.43066 499.96484 -130.27441 500.4502 -130.27441 c\r500.61816 -130.27441 500.78906 -130.29688 500.96484 -130.33887 c\r501.13867 -130.38086 501.29492 -130.43652 501.43457 -130.50586 c\r501.55469 -130.56445 501.66992 -130.62891 501.77441 -130.69629 c\r501.88086 -130.76367 501.96582 -130.82129 502.02832 -130.87012 c\r502.02832 -130.87012 502.07324 -130.87012 502.07324 -130.87012 c\r502.07324 -130.87012 502.07324 -129.97168 502.07324 -129.97168 c\rh\r495.96973 -130.8623 m\r495.96973 -130.8623 495.96973 -132.21777 495.96973 -132.21777 c\r495.71777 -132.20313 495.41895 -132.18262 495.07715 -132.15332 c\r494.7334 -132.12402 494.46484 -132.08105 494.26367 -132.02637 c\r494.02637 -131.95898 493.83301 -131.85645 493.68652 -131.71484 c\r493.54004 -131.57324 493.46582 -131.37891 493.46582 -131.13281 c\r493.46582 -130.85352 493.55176 -130.64355 493.72168 -130.50195 c\r493.8916 -130.36035 494.15234 -130.29004 494.50195 -130.29004 c\r494.79395 -130.29004 495.05859 -130.3457 495.2998 -130.45898 c\r495.54102 -130.57031 495.76465 -130.70508 495.96973 -130.8623 c\rh\r496.80469 -129.67285 m\r496.80469 -129.67285 495.96973 -129.67285 495.96973 -129.67285 c\r495.96973 -129.67285 495.96973 -130.18945 495.96973 -130.18945 c\r495.89551 -130.13965 495.7959 -130.07031 495.67285 -129.98242 c\r495.54688 -129.89355 495.4248 -129.82324 495.30859 -129.77148 c\r495.16992 -129.70605 495.00977 -129.64941 494.83203 -129.60449 c\r494.65234 -129.55859 494.44043 -129.53613 494.2002 -129.53613 c\r493.75586 -129.53613 493.37891 -129.68164 493.07031 -129.97168 c\r492.76172 -130.26172 492.60742 -130.62988 492.60742 -131.0791 c\r492.60742 -131.44727 492.6875 -131.74414 492.84766 -131.97168 c\r493.00781 -132.19922 493.2373 -132.37695 493.53418 -132.50684 c\r493.83398 -132.63672 494.19434 -132.72559 494.61523 -132.77246 c\r495.03613 -132.81836 495.48828 -132.85352 495.96973 -132.87695 c\r495.96973 -132.87695 495.96973 -133.00293 495.96973 -133.00293 c\r495.96973 -133.18945 495.93652 -133.34375 495.87012 -133.46484 c\r495.80469 -133.58691 495.70898 -133.68457 495.58594 -133.75391 c\r495.46875 -133.82031 495.32715 -133.86621 495.16309 -133.88867 c\r494.99805 -133.91113 494.8252 -133.92383 494.64648 -133.92383 c\r494.42871 -133.92383 494.18555 -133.89453 493.91895 -133.83789 c\r493.65039 -133.78125 493.37402 -133.69922 493.08789 -133.5918 c\r493.08789 -133.5918 493.04492 -133.5918 493.04492 -133.5918 c\r493.04492 -133.5918 493.04492 -134.41797 493.04492 -134.41797 c\r493.20703 -134.45996 493.44238 -134.50879 493.74707 -134.56055 c\r494.05469 -134.61133 494.35645 -134.6377 494.65527 -134.6377 c\r495.00195 -134.6377 495.30664 -134.60938 495.56348 -134.55273 c\r495.82227 -134.49609 496.04492 -134.40039 496.2334 -134.26465 c\r496.41895 -134.13086 496.56055 -133.95898 496.65918 -133.74805 c\r496.75586 -133.53613 496.80469 -133.27539 496.80469 -132.96191 c\r496.80469 -132.96191 496.80469 -129.67285 496.80469 -129.67285 c\rh\r490.81055 -132.13086 m\r490.81055 -132.71582 490.70801 -133.15234 490.50293 -133.44238 c\r490.29883 -133.73145 489.98438 -133.87598 489.56055 -133.87598 c\r489.31934 -133.87598 489.07813 -133.8252 488.83398 -133.72363 c\r488.5918 -133.62207 488.3584 -133.49023 488.13574 -133.3252 c\r488.13574 -133.3252 488.13574 -130.5752 488.13574 -130.5752 c\r488.37305 -130.47168 488.57715 -130.40039 488.74707 -130.3623 c\r488.91797 -130.3252 489.11133 -130.30664 489.32813 -130.30664 c\r489.79395 -130.30664 490.15723 -130.45996 490.41895 -130.76758 c\r490.67969 -131.07324 490.81055 -131.52734 490.81055 -132.13086 c\rh\r491.66895 -132.15332 m\r491.66895 -131.76074 491.61133 -131.40137 491.49609 -131.0752 c\r491.37988 -130.75098 491.21777 -130.47363 491.00684 -130.24902 c\r490.81152 -130.03516 490.58105 -129.86914 490.31543 -129.75293 c\r490.0498 -129.63574 489.76953 -129.57617 489.47363 -129.57617 c\r489.2168 -129.57617 488.98242 -129.60449 488.77441 -129.65918 c\r488.56445 -129.71387 488.35254 -129.7998 488.13574 -129.91504 c\r488.13574 -129.91504 488.13574 -127.8877 488.13574 -127.8877 c\r488.13574 -127.8877 487.30078 -127.8877 487.30078 -127.8877 c\r487.30078 -127.8877 487.30078 -134.51855 487.30078 -134.51855 c\r487.30078 -134.51855 488.13574 -134.51855 488.13574 -134.51855 c\r488.13574 -134.51855 488.13574 -134.01074 488.13574 -134.01074 c\r488.3584 -134.19336 488.60645 -134.3457 488.88477 -134.46973 c\r489.16211 -134.5918 489.45801 -134.65332 489.77051 -134.65332 c\r490.36914 -134.65332 490.83496 -134.43164 491.16992 -133.99219 c\r491.50293 -133.5498 491.66895 -132.93848 491.66895 -132.15332 c\rh\r485.7998 -131.92383 m\r486.00879 -131.70898 486.11426 -131.42676 486.11426 -131.07324 c\r486.11426 -130.63086 485.92773 -130.26953 485.55273 -129.98535 c\r485.17773 -129.70215 484.66699 -129.56055 484.01953 -129.56055 c\r483.6543 -129.56055 483.31641 -129.60352 483.01172 -129.68945 c\r482.7041 -129.77344 482.44824 -129.86816 482.24023 -129.96875 c\r482.24023 -129.96875 482.24023 -130.88477 482.24023 -130.88477 c\r482.24023 -130.88477 482.28516 -130.88477 482.28516 -130.88477 c\r482.54785 -130.68848 482.83984 -130.53223 483.16211 -130.41602 c\r483.48242 -130.30078 483.79199 -130.24219 484.08594 -130.24219 c\r484.45215 -130.24219 484.73828 -130.30176 484.94434 -130.41797 c\r485.15234 -130.53516 485.25488 -130.71875 485.25488 -130.96973 c\r485.25488 -131.16016 485.19922 -131.30469 485.08789 -131.40332 c\r484.97461 -131.50098 484.75879 -131.58594 484.44238 -131.6543 c\r484.32324 -131.68066 484.16992 -131.71191 483.97852 -131.74609 c\r483.78906 -131.78027 483.61621 -131.81934 483.45898 -131.8584 c\r483.02539 -131.97168 482.71875 -132.13672 482.53711 -132.35449 c\r482.35645 -132.57324 482.26563 -132.8418 482.26563 -133.15918 c\r482.26563 -133.35742 482.30762 -133.5459 482.3916 -133.72363 c\r482.47559 -133.89941 482.60352 -134.05566 482.77539 -134.19531 c\r482.94043 -134.33105 483.15137 -134.43848 483.40625 -134.51855 c\r483.66309 -134.59766 483.94922 -134.6377 484.26563 -134.6377 c\r484.56055 -134.6377 484.86133 -134.60156 485.16309 -134.53125 c\r485.4668 -134.46094 485.71875 -134.37402 485.91992 -134.27344 c\r485.91992 -134.27344 485.91992 -133.40039 485.91992 -133.40039 c\r485.91992 -133.40039 485.875 -133.40039 485.875 -133.40039 c\r485.66309 -133.55664 485.4043 -133.6875 485.10156 -133.79395 c\r484.79688 -133.90137 484.5 -133.95508 484.20703 -133.95508 c\r483.90332 -133.95508 483.64648 -133.89746 483.43848 -133.78223 c\r483.22754 -133.66797 483.12402 -133.49512 483.12402 -133.2666 c\r483.12402 -133.06836 483.1875 -132.91797 483.31348 -132.81641 c\r483.43848 -132.71582 483.63867 -132.63281 483.91504 -132.56934 c\r484.06836 -132.53613 484.24121 -132.50098 484.43066 -132.46582 c\r484.62109 -132.43066 484.7793 -132.39941 484.90723 -132.37012 c\r485.29297 -132.2832 485.59082 -132.13477 485.7998 -131.92383 c\r485.7998 -131.92383 485.7998 -131.92383 485.7998 -131.92383 c\rh\r480.96289 -129.67285 m\r480.96289 -129.67285 480.12793 -129.67285 480.12793 -129.67285 c\r480.12793 -129.67285 480.12793 -132.43164 480.12793 -132.43164 c\r480.12793 -132.63867 480.11719 -132.84082 480.09863 -133.03418 c\r480.08008 -133.22754 480.03906 -133.38281 479.97754 -133.49805 c\r479.90918 -133.62207 479.8125 -133.71777 479.68555 -133.78125 c\r479.55859 -133.84473 479.375 -133.87598 479.13672 -133.87598 c\r478.90332 -133.87598 478.66992 -133.81836 478.43652 -133.70508 c\r478.20508 -133.58984 477.97168 -133.44434 477.73828 -133.26953 c\r477.74707 -133.20215 477.75391 -133.12402 477.76172 -133.03711 c\r477.76758 -132.94922 477.76953 -132.86133 477.76953 -132.77441 c\r477.76953 -132.77441 477.76953 -129.67285 477.76953 -129.67285 c\r477.76953 -129.67285 476.93457 -129.67285 476.93457 -129.67285 c\r476.93457 -129.67285 476.93457 -132.43164 476.93457 -132.43164 c\r476.93457 -132.64551 476.92578 -132.84863 476.90625 -133.04102 c\r476.8877 -133.23438 476.84766 -133.38672 476.78516 -133.50293 c\r476.7168 -133.62793 476.61914 -133.7207 476.49219 -133.7832 c\r476.36523 -133.8457 476.18164 -133.87598 475.94336 -133.87598 c\r475.7168 -133.87598 475.48926 -133.82031 475.26074 -133.71094 c\r475.03223 -133.60156 474.80469 -133.46094 474.57813 -133.29004 c\r474.57813 -133.29004 474.57813 -129.67285 474.57813 -129.67285 c\r474.57813 -129.67285 473.74219 -129.67285 473.74219 -129.67285 c\r473.74219 -129.67285 473.74219 -134.51855 473.74219 -134.51855 c\r473.74219 -134.51855 474.57813 -134.51855 474.57813 -134.51855 c\r474.57813 -134.51855 474.57813 -133.98047 474.57813 -133.98047 c\r474.83789 -134.19238 475.0957 -134.35645 475.35449 -134.47559 c\r475.6123 -134.59375 475.8877 -134.65332 476.17969 -134.65332 c\r476.51758 -134.65332 476.80176 -134.58398 477.03711 -134.44434 c\r477.27148 -134.30566 477.44629 -134.11426 477.56152 -133.86816 c\r477.89844 -134.14453 478.20508 -134.3457 478.48242 -134.46973 c\r478.75977 -134.59082 479.05566 -134.65332 479.37305 -134.65332 c\r479.91504 -134.65332 480.31641 -134.49219 480.57422 -134.16992 c\r480.83301 -133.84766 480.96289 -133.39746 480.96289 -132.81836 c\r480.96289 -132.81836 480.96289 -129.67285 480.96289 -129.67285 c\rh\r471.59766 -132.1084 m\r471.59766 -132.6875 471.49902 -133.12695 471.30371 -133.42578 c\r471.10742 -133.72559 470.79199 -133.87598 470.35645 -133.87598 c\r470.1123 -133.87598 469.86621 -133.8252 469.61719 -133.72168 c\r469.36816 -133.61914 469.13672 -133.48633 468.92285 -133.3252 c\r468.92285 -133.3252 468.92285 -130.54395 468.92285 -130.54395 c\r469.16016 -130.44141 469.36523 -130.36914 469.53516 -130.32715 c\r469.70508 -130.28711 469.89941 -130.26758 470.11621 -130.26758 c\r470.57813 -130.26758 470.94141 -130.41504 471.20313 -130.71191 c\r471.46582 -131.00879 471.59766 -131.47363 471.59766 -132.1084 c\rh\r472.45605 -132.13281 m\r472.45605 -131.72656 472.39746 -131.3623 472.28027 -131.03809 c\r472.16406 -130.71387 472.00586 -130.44336 471.80664 -130.22168 c\r471.59766 -129.99512 471.36621 -129.82324 471.11328 -129.70801 c\r470.8623 -129.59375 470.58496 -129.53613 470.28223 -129.53613 c\r470.00098 -129.53613 469.75586 -129.56934 469.54395 -129.63574 c\r469.33496 -129.69922 469.12695 -129.78711 468.92285 -129.89746 c\r468.92285 -129.89746 468.87012 -129.67285 468.87012 -129.67285 c\r468.87012 -129.67285 468.08887 -129.67285 468.08887 -129.67285 c\r468.08887 -129.67285 468.08887 -136.42285 468.08887 -136.42285 c\r468.08887 -136.42285 468.92285 -136.42285 468.92285 -136.42285 c\r468.92285 -136.42285 468.92285 -134.01074 468.92285 -134.01074 c\r469.15625 -134.19824 469.40527 -134.35352 469.66895 -134.47363 c\r469.93359 -134.59277 470.22949 -134.65332 470.55859 -134.65332 c\r471.14551 -134.65332 471.60742 -134.43457 471.94727 -133.99414 c\r472.28516 -133.55371 472.45605 -132.93359 472.45605 -132.13281 c\rh\r466.43555 -129.67285 m\r466.43555 -129.67285 465.60156 -129.67285 465.60156 -129.67285 c\r465.60156 -129.67285 465.60156 -134.51855 465.60156 -134.51855 c\r465.60156 -134.51855 466.43555 -134.51855 466.43555 -134.51855 c\r466.43555 -134.51855 466.43555 -129.67285 466.43555 -129.67285 c\rh\r466.49414 -135.32715 m\r466.49414 -135.32715 465.54492 -135.32715 465.54492 -135.32715 c\r465.54492 -135.32715 465.54492 -136.17676 465.54492 -136.17676 c\r465.54492 -136.17676 466.49414 -136.17676 466.49414 -136.17676 c\r466.49414 -136.17676 466.49414 -135.32715 466.49414 -135.32715 c\rh\r463.9502 -129.67285 m\r463.9502 -129.67285 463.11523 -129.67285 463.11523 -129.67285 c\r463.11523 -129.67285 463.11523 -136.42285 463.11523 -136.42285 c\r463.11523 -136.42285 463.9502 -136.42285 463.9502 -136.42285 c\r463.9502 -136.42285 463.9502 -129.67285 463.9502 -129.67285 c\rh\rf\rQ\rq\r1 0 0 -1 0 0 cm\r1.25928 -0.97363 m\r1.25928 -0.97363 519.60156 -0.97363 519.60156 -0.97363 c\r519.60156 -0.97363 519.60156 -299.74658 519.60156 -299.74658 c\r519.60156 -299.74658 1.25928 -299.74658 1.25928 -299.74658 c\r1.25928 -299.74658 1.25928 -0.97363 1.25928 -0.97363 c\rh\rW n\r0 0 0 RG\r0 i 1 w 10 M 0 j 0 J []0 d \r/GS0 gs\r1.38965 -299.61914 m\r1.38965 -299.61914 519.47266 -299.61914 519.47266 -299.61914 c\r519.47266 -299.61914 519.47266 -1.10059 519.47266 -1.10059 c\r519.47266 -1.10059 1.38965 -1.10059 1.38965 -1.10059 c\r1.38965 -1.10059 1.38965 -299.61914 1.38965 -299.61914 c\rh\rS\rEMC \rQ\r\rendstream\rendobj\r81 0 obj<</Length 20080/Type/Metadata/Subtype/XML>>stream\r
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>\r
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>\r
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>\r
+<rdf:Description rdf:about='uuid:7a069029-7a5e-11d8-b649-000a956e58ec' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='Mac OS X 10.3.3 Quartz PDFContext'></rdf:Description>\r
+<rdf:Description rdf:about='uuid:7a069029-7a5e-11d8-b649-000a956e58ec' xmlns:xap='http://ns.adobe.com/xap/1.0/'\r
+ xmlns:xapGImg='http://ns.adobe.com/xap/1.0/g/img/' xap:ModifyDate='2004-03-20T03:05:20-08:00' xap:CreateDate='2004-03-20T03:00:43-08:00' xap:CreatorTool='Excel' xap:MetadataDate='2004-03-20T03:05:20-08:00'><xap:Thumbnails><rdf:Alt><rdf:li rdf:parseType='Resource'><xapGImg:format>JPEG</xapGImg:format><xapGImg:width>256</xapGImg:width><xapGImg:height>148</xapGImg:height><xapGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAlAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A7Z5D8h+Rp/I3l2efy7pk&#xA;s0umWbyyvZ27MzNboWZmKVJJ6nFU9/5V75A/6lnSv+kG2/5oxV3/ACr3yB/1LOlf9INt/wA0Yq7/&#xA;AJV75A/6lnSv+kG2/wCaMVd/yr3yB/1LOlf9INt/zRirv+Ve+QP+pZ0r/pBtv+aMVd/yr3yB/wBS&#xA;zpX/AEg23/NGKu/5V75A/wCpZ0r/AKQbb/mjFXf8q98gf9SzpX/SDbf80Yq7/lXvkD/qWdK/6Qbb&#xA;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&#xA;6c7f+mKu/S/nv/qYf+nO3/pirv0v57/6mH/pzt/6Yq79L+e/+ph/6c7f+mKu/S/nv/qYf+nO3/pi&#xA;rv0v57/6mH/pzt/6Yq79L+e/+ph/6c7f+mKu/S/nv/qYf+nO3/pirv0v57/6mH/pzt/6Yq79L+e/&#xA;+ph/6c7f+mKu/S/nv/qYf+nO3/pirv0v57/6mH/pzt/6Yq79L+e/+ph/6c7f+mKu/S/nv/qYf+nO&#xA;3/pirv0v57/6mH/pzt/6Yq79L+e/+ph/6c7f+mKu/S/nv/qYf+nO3/pirv0v57/6mH/pzt/6Yq79&#xA;L+e/+ph/6c7f+mKu/S/nv/qYf+nO3/pirLPy81fVNU0WebUrj6zcRXcsAl4JHVUC0+FAo74qyjFX&#xA;Yq7FWP8A5hf8oB5m/wC2Vff9Qz4q78vf+UA8s/8AbKsf+oZMVZBirzX80v8AlLPJ/wD28v8AkzHi&#xA;qFxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ksh/Kz/jg3v/AG0L&#xA;j/jXFWZ4q7FXYqx/8wv+UA8zf9sq+/6hnxV35e/8oB5Z/wC2VY/9QyYqmWuW19daLf21hIYb2e3l&#xA;itphJ6RSR0Kq4kCTcSpNQeDfI4q8u8+2mvQal5Dt7q5gOox296lxLxlnQzCCLmwZ5EkdT25UPf2x&#xA;VS9DX/8AlttP+kWT/soxV3oa/wD8ttp/0iyf9lGKu9DX/wDlttP+kWT/ALKMVYTcec/zJn81azoH&#xA;lzy8muvof1b65cRcYQPrcPqx/DLOOvxDYnpkJ5Ix5lNKdz52/NHS9T0i08xeV10e31i8jsILuUpK&#xA;olkqfsxzk7AE4IZYy5FaZ16Gv/8ALbaf9Isn/ZRliHehr/8Ay22n/SLJ/wBlGKu9DX/+W20/6RZP&#xA;+yjFXehr/wDy22n/AEiyf9lGKu9DX/8AlttP+kWT/soxV3oa/wD8ttp/0iyf9lGKu9DX/wDlttP+&#xA;kWT/ALKMVd6Gv/8ALbaf9Isn/ZRirvQ1/wD5bbT/AKRZP+yjFXehr/8Ay22n/SLJ/wBlGKu9DX/+&#xA;W20/6RZP+yjFXehr/wDy22n/AEiyf9lGKu9DX/8AlttP+kWT/soxV3oa/wD8ttp/0iyf9lGKu9DX&#xA;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&#xA;L0H9T0+fw8+NeNdq4q//2Q==</xapGImg:image></rdf:li></rdf:Alt></xap:Thumbnails></rdf:Description>\r
+<rdf:Description rdf:about='uuid:7a069029-7a5e-11d8-b649-000a956e58ec' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:ee245c78-7a5d-11d8-b649-000a956e58ec'/>\r
+<rdf:Description rdf:about='uuid:7a069029-7a5e-11d8-b649-000a956e58ec' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'/>\r
+</rdf:RDF>\r
+</x:xmpmeta>\r
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end='w'?>\rendstream\rendobj\rxref\r0 82\r0000000001 65535 f\r
+0000000002 00001 f\r
+0000000003 00001 f\r
+0000000006 00001 f\r
+0000000016 00000 n\r
+0000000384 00000 n\r
+0000000007 00001 f\r
+0000000008 00001 f\r
+0000000009 00001 f\r
+0000000010 00001 f\r
+0000000011 00001 f\r
+0000000012 00001 f\r
+0000000013 00001 f\r
+0000000014 00001 f\r
+0000000015 00001 f\r
+0000000016 00001 f\r
+0000000017 00001 f\r
+0000000018 00001 f\r
+0000000021 00001 f\r
+0000000434 00000 n\r
+0000000495 00000 n\r
+0000000023 00001 f\r
+0000000645 00000 n\r
+0000000025 00001 f\r
+0000000666 00000 n\r
+0000000026 00001 f\r
+0000000027 00001 f\r
+0000000028 00001 f\r
+0000000029 00001 f\r
+0000000030 00001 f\r
+0000000031 00001 f\r
+0000000032 00001 f\r
+0000000033 00001 f\r
+0000000034 00001 f\r
+0000000035 00001 f\r
+0000000036 00001 f\r
+0000000037 00001 f\r
+0000000038 00001 f\r
+0000000039 00001 f\r
+0000000040 00001 f\r
+0000000041 00001 f\r
+0000000042 00001 f\r
+0000000043 00001 f\r
+0000000044 00001 f\r
+0000000045 00001 f\r
+0000000046 00001 f\r
+0000000047 00001 f\r
+0000000048 00001 f\r
+0000000049 00001 f\r
+0000000050 00001 f\r
+0000000051 00001 f\r
+0000000052 00001 f\r
+0000000053 00001 f\r
+0000000054 00001 f\r
+0000000055 00001 f\r
+0000000056 00001 f\r
+0000000057 00001 f\r
+0000000058 00001 f\r
+0000000059 00001 f\r
+0000000060 00001 f\r
+0000000061 00001 f\r
+0000000062 00001 f\r
+0000000063 00001 f\r
+0000000064 00001 f\r
+0000000065 00001 f\r
+0000000066 00001 f\r
+0000000067 00001 f\r
+0000000068 00001 f\r
+0000000069 00001 f\r
+0000000070 00001 f\r
+0000000071 00001 f\r
+0000000072 00001 f\r
+0000000073 00001 f\r
+0000000074 00001 f\r
+0000000075 00001 f\r
+0000000076 00001 f\r
+0000000077 00001 f\r
+0000000078 00001 f\r
+0000000000 00001 f\r
+0000000778 00000 n\r
+0000000801 00000 n\r
+0000179037 00000 n\r
+trailer\r<</Size 82/Root 19 0 R/Info 20 0 R/ID[<7a04c2147a5e11d8b649000a956e58ec><7a04c2147a5e11d8b649000a956e58ec>]>>\rstartxref\r199194\r%%EOF\r
\ No newline at end of file
diff --git a/doc/nestedvm.bib b/doc/nestedvm.bib
new file mode 100644 (file)
index 0000000..f4e4af4
--- /dev/null
@@ -0,0 +1,99 @@
+@inproceedings{mohca,
+    author = "Scott Malabarba and Premkumar T. Devanbu and Aaron Stearns",
+    title = "MoHCA-Java: A Tool for C++ to Java Conversion Support",
+    booktitle = "International Conference on Software Engineering",
+    pages = "650-653",
+    year = "1999",
+    note =  "citeseer.ist.psu.edu/malabarba99mohcajava.html" }
+
+@book{java,
+    author = "James Gosling and others",
+    title = "The {Java} Language Specification",
+    publisher = "GOTOP Information Inc.",
+    year = "1996",
+    address = "5F, No.7, Lane 50, Sec.3 Nan Kang Road Taipei, Taiwan; Unit 1905, Metro Plaza Tower 2, No. 223 Hing Fong Road, Kwai Chung, N.T., Hong Kong",
+    note =  "citeseer.ist.psu.edu/gosling96java.html" }
+
+@article{capp,
+   title = "Cappuccino -- A C++ To Java Translator",
+   author = "Frank Buddrus and Jorg Schodel",
+   journal = "Proceedings of the 1998 ACM symposium on Applied Computing",
+   year = "1998" }
+
+@misc{hotspot,
+   title = "The Java Hotspot performance engine architecture",
+   note =  "http://java.sun.com/products/hotspot/whitepaper.html",
+   year = "1999" }
+
+@article{KR,
+   author = "Kernighan, B. W. and Ritchie, D. M.",
+   year = "1979",
+   title = "The C Programming Language",
+   publisher = "Englewood Cliffs, NJ: Prentice-Hall" }
+
+@article{soustroup,
+   author = "B. Stroustrup.",
+   title = "The C++ Programming Language",
+   publisher = "Addison-Wesley",
+   year = "1997" }
+
+@misc{csharp,
+   title = "The C\# Programming Language",
+   note =  "http://download.microsoft.com/download/0/a/c/0acb3585-3f3f-4169-ad61-efc9f0176788/CSharp.zip" }
+
+@article{jni,
+   title = "The JavaTM Native Interface: Programmer's Guide and Specification",
+   author = "Sheng Liang",
+   publisher = "Addison Wesley Longman, Inc.",
+   year = "1999" }
+
+@misc{cni,
+   title = "The Cygnus Native Interface for C++/Java Integration",
+   note =  "http://gcc.gnu.org/java/papers/cni/t1.html" }
+
+@misc{j2me,
+   note =  "http://java.sun.com/j2me/docs/index.html" }
+
+@misc{parrot,
+   note =  "http://www.parrotcode.org" }
+
+@misc{python,
+   note =  "http://www.python.org" }
+
+@misc{jazillian, 
+   note =  "http://www.jazillian.com/" }
+
+@misc{c2j,
+   note =  "http://www.soften.ktu.lt/~stonis/c2java/" }
+
+@article{c2jpp,
+   note =  "C2J ?C to Java translator",
+   year = "September 2001",
+   author = "Novosoft",
+   note =  "http://www.novosoftus.com/NS2B.nsf/w1/C2J" }
+
+@article{ephedra,
+   author = "J. Martin",
+   title = "Ephedra: A C to Java Migration Environment",
+   publisher = "PhD thesis, University of Victoria",
+   year = "2002",
+   note =  "http://www.rigi.csc.uvic.ca/?jmartin/Ephedra" } 
+
+@article{egcsjvm,
+   author = "T. Waddington",
+   title = "Java Backend for GCC",
+   note =  "http://archive.csee.uq.edu.au/?csmweb/uqbt.html\#gccjvm",
+   year = "November 2000" }
+
+@misc{gcc,
+   note =  "http://gcc.gnu.org/" }
+
+@misc{jikes,
+   note =  "http://www-124.ibm.com/developerworks/oss/jikes/" }
+
+@misc{msil,
+   note =  "http://research.microsoft.com/~emeijer/Papers/CLR.pdf" }
+
+@misc{ibex,
+   note =  "http://www.ibex.org" }
+
diff --git a/doc/nestedvm.ivme04-fig1.pdf b/doc/nestedvm.ivme04-fig1.pdf
new file mode 100644 (file)
index 0000000..9079785
Binary files /dev/null and b/doc/nestedvm.ivme04-fig1.pdf differ
diff --git a/doc/nestedvm.ivme04-fig1.tex b/doc/nestedvm.ivme04-fig1.tex
new file mode 100644 (file)
index 0000000..9a4c44c
--- /dev/null
@@ -0,0 +1,21 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{machine code}
+\newcommand{\MyBox}[1]{\makebox[\MyLength][c]{#1}}
+\begin{psmatrix}[colsep=2,rowsep=0]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  [name=s00]\MyBox{\tt (.c)} & [name=s11]\MyBox{\tt (.java)}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  [name=b00]\MyBox{\tt (.o)}  & [name=b11]\MyBox{\tt (.class)} \\
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+\end{psmatrix}
+\end{document}
diff --git a/doc/nestedvm.ivme04-fig2.pdf b/doc/nestedvm.ivme04-fig2.pdf
new file mode 100644 (file)
index 0000000..9fef4c7
Binary files /dev/null and b/doc/nestedvm.ivme04-fig2.pdf differ
diff --git a/doc/nestedvm.ivme04-fig2.tex b/doc/nestedvm.ivme04-fig2.tex
new file mode 100644 (file)
index 0000000..0edaef7
--- /dev/null
@@ -0,0 +1,25 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:D]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{s1}{b0}\bput{:D}{\tt gcj}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+  \ncline{b1}{b0}\aput{:D}{\tt gcj}\bput{:D}{JITs}
+\endpsmatrix
+\end{document}
diff --git a/doc/nestedvm.ivme04-fig3.pdf b/doc/nestedvm.ivme04-fig3.pdf
new file mode 100644 (file)
index 0000000..9927f71
Binary files /dev/null and b/doc/nestedvm.ivme04-fig3.pdf differ
diff --git a/doc/nestedvm.ivme04-fig3.tex b/doc/nestedvm.ivme04-fig3.tex
new file mode 100644 (file)
index 0000000..3c17d3a
--- /dev/null
@@ -0,0 +1,24 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{s1}\aput{:U}{source-to}\bput{:U}{source}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+\endpsmatrix
+\end{document}
diff --git a/doc/nestedvm.ivme04-fig4.pdf b/doc/nestedvm.ivme04-fig4.pdf
new file mode 100644 (file)
index 0000000..ace944c
Binary files /dev/null and b/doc/nestedvm.ivme04-fig4.pdf differ
diff --git a/doc/nestedvm.ivme04-fig4.tex b/doc/nestedvm.ivme04-fig4.tex
new file mode 100644 (file)
index 0000000..e478d07
--- /dev/null
@@ -0,0 +1,22 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b1}\bput{:U}{source-to-binary}
+\endpsmatrix
+\end{document}
diff --git a/doc/nestedvm.ivme04-fig5.pdf b/doc/nestedvm.ivme04-fig5.pdf
new file mode 100644 (file)
index 0000000..f505887
Binary files /dev/null and b/doc/nestedvm.ivme04-fig5.pdf differ
diff --git a/doc/nestedvm.ivme04-fig5.tex b/doc/nestedvm.ivme04-fig5.tex
new file mode 100644 (file)
index 0000000..4b80ebb
--- /dev/null
@@ -0,0 +1,24 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+  \ncline{b0}{s1}\naput{\tt NestedVM}
+\endpsmatrix
+\end{document}
diff --git a/doc/nestedvm.ivme04-fig6.pdf b/doc/nestedvm.ivme04-fig6.pdf
new file mode 100644 (file)
index 0000000..d251f2a
Binary files /dev/null and b/doc/nestedvm.ivme04-fig6.pdf differ
diff --git a/doc/nestedvm.ivme04-fig6.tex b/doc/nestedvm.ivme04-fig6.tex
new file mode 100644 (file)
index 0000000..f84854d
--- /dev/null
@@ -0,0 +1,23 @@
+\documentclass{article}
+\input tmp.inputs
+\pagestyle{empty}
+\usepackage{amssymb,amsbsy}
+\begin{document}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{b0}{b1}\naput{\tt NestedVM}
+\endpsmatrix
+\end{document}
diff --git a/doc/nestedvm.ivme04.aux b/doc/nestedvm.ivme04.aux
new file mode 100644 (file)
index 0000000..27a1418
--- /dev/null
@@ -0,0 +1,64 @@
+\relax 
+\bibstyle{amsplain}
+\citation{KR}
+\citation{soustroup}
+\citation{java}
+\citation{csharp}
+\citation{jni}
+\citation{cni}
+\citation{j2me}
+\citation{msil}
+\citation{parrot}
+\citation{python}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Approaches to Translation}{1}}
+\citation{jazillian}
+\citation{mohca}
+\citation{c2j}
+\citation{c2jpp}
+\citation{capp}
+\citation{ephedra}
+\citation{egcsjvm}
+\citation{gcc}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Existing Work}{2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Source-to-Source Translation}{2}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Incomplete Translation}{2}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}Partial Domain Translation}{2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Source-to-Binary Translation}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}NestedVM}{3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Why MIPS?}{3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Binary-to-Source}{3}}
+\citation{jikes}
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces  Trampoline transformation necessitated by Java's 64kb method size limit}}{4}}
+\newlabel{code1}{{1}{4}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Optimizations}{4}}
+\citation{hotspot}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Binary-to-Binary}{6}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Compiler Flags}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}The NestedVM Runtime}{7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}The Runtime Class}{7}}
+\citation{msil}
+\bibdata{nestedvm}
+\bibcite{j2me}{1}
+\bibcite{msil}{2}
+\bibcite{parrot}{3}
+\bibcite{python}{4}
+\bibcite{jazillian}{5}
+\bibcite{c2j}{6}
+\bibcite{gcc}{7}
+\bibcite{jikes}{8}
+\bibcite{csharp}{9}
+\bibcite{cni}{10}
+\bibcite{hotspot}{11}
+\bibcite{capp}{12}
+\bibcite{java}{13}
+\bibcite{KR}{14}
+\bibcite{jni}{15}
+\bibcite{mohca}{16}
+\bibcite{ephedra}{17}
+\bibcite{c2jpp}{18}
+\bibcite{soustroup}{19}
+\bibcite{egcsjvm}{20}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Future Directions}{8}}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}}
+\@writefile{toc}{\contentsline {section}{\numberline {8}Appendix: Testing Methodology}{8}}
diff --git a/doc/nestedvm.ivme04.bbl b/doc/nestedvm.ivme04.bbl
new file mode 100644 (file)
index 0000000..02ba95c
--- /dev/null
@@ -0,0 +1,84 @@
+\providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}
+\providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }
+% \MRhref is called by the amsart/book/proc definition of \MR.
+\providecommand{\MRhref}[2]{%
+  \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}
+}
+\providecommand{\href}[2]{#2}
+\begin{thebibliography}{10}
+
+\bibitem{j2me}
+http://java.sun.com/j2me/docs/index.html.
+
+\bibitem{msil}
+http://research.microsoft.com/~emeijer/Papers/CLR.pdf.
+
+\bibitem{parrot}
+http://www.parrotcode.org.
+
+\bibitem{python}
+http://www.python.org.
+
+\bibitem{jazillian}
+http://www.jazillian.com/.
+
+\bibitem{c2j}
+http://www.soften.ktu.lt/~stonis/c2java/.
+
+\bibitem{gcc}
+http://gcc.gnu.org/.
+
+\bibitem{jikes}
+http://www-124.ibm.com/developerworks/oss/jikes/.
+
+\bibitem{csharp}
+\emph{The c\# programming language},
+  http://download.microsoft.com/download/0/a/c/0acb3585-3f3f-4169-ad61-efc9f01%
+76788/CSharp.zip.
+
+\bibitem{cni}
+\emph{The cygnus native interface for c++/java integration},
+  http://gcc.gnu.org/java/papers/cni/t1.html.
+
+\bibitem{hotspot}
+\emph{The java hotspot performance engine architecture}, 1999,
+  http://java.sun.com/products/hotspot/whitepaper.html.
+
+\bibitem{capp}
+Frank Buddrus and Jorg Schodel, \emph{Cappuccino -- a c++ to java translator},
+  Proceedings of the 1998 ACM symposium on Applied Computing (1998).
+
+\bibitem{java}
+James Gosling et~al., \emph{The {Java} language specification}, GOTOP
+  Information Inc., 5F, No.7, Lane 50, Sec.3 Nan Kang Road Taipei, Taiwan; Unit
+  1905, Metro Plaza Tower 2, No. 223 Hing Fong Road, Kwai Chung, N.T., Hong
+  Kong, 1996, citeseer.ist.psu.edu/gosling96java.html.
+
+\bibitem{KR}
+B.~W. Kernighan and D.~M. Ritchie, \emph{The c programming language},  (1979).
+
+\bibitem{jni}
+Sheng Liang, \emph{The javatm native interface: Programmer's guide and
+  specification},  (1999).
+
+\bibitem{mohca}
+Scott Malabarba, Premkumar~T. Devanbu, and Aaron Stearns, \emph{Mohca-java: A
+  tool for c++ to java conversion support}, International Conference on
+  Software Engineering, 1999, citeseer.ist.psu.edu/malabarba99mohcajava.html,
+  pp.~650--653.
+
+\bibitem{ephedra}
+J.~Martin, \emph{Ephedra: A c to java migration environment},  (2002),
+  http://www.rigi.csc.uvic.ca/?jmartin/Ephedra.
+
+\bibitem{c2jpp}
+Novosoft,  (September 2001), C2J ?C to Java translator.
+
+\bibitem{soustroup}
+B.~Stroustrup., \emph{The c++ programming language},  (1997).
+
+\bibitem{egcsjvm}
+T.~Waddington, \emph{Java backend for gcc},  (November 2000),
+  http://archive.csee.uq.edu.au/?csmweb/uqbt.html\#gccjvm.
+
+\end{thebibliography}
diff --git a/doc/nestedvm.ivme04.blg b/doc/nestedvm.ivme04.blg
new file mode 100644 (file)
index 0000000..b63185d
--- /dev/null
@@ -0,0 +1,73 @@
+This is BibTeX, Version 0.99c (Web2C 7.4.5)
+The top-level auxiliary file: nestedvm.ivme04.aux
+The style file: amsplain.bst
+Database file #1: nestedvm.bib
+Warning--I'm ignoring c2jpp's extra "note" field
+--line 73 of file nestedvm.bib
+Warning--to sort, need author or key in csharp
+Warning--to sort, need author or key in cni
+Warning--to sort, need author or key in j2me
+Warning--to sort, need author or key in msil
+Warning--to sort, need author or key in parrot
+Warning--to sort, need author or key in python
+Warning--to sort, need author or key in jazillian
+Warning--to sort, need author or key in c2j
+Warning--to sort, need author or key in gcc
+Warning--to sort, need author or key in jikes
+Warning--to sort, need author or key in hotspot
+Warning--missing pages in capp
+Warning--missing journal name in KR
+Warning--missing pages in KR
+Warning--missing journal name in jni
+Warning--missing pages in jni
+Warning--missing journal name in ephedra
+Warning--missing pages in ephedra
+Warning--missing title in c2jpp
+Warning--missing journal name in c2jpp
+Warning--missing pages in c2jpp
+Warning--missing journal name in soustroup
+Warning--missing pages in soustroup
+Warning--missing journal name in egcsjvm
+Warning--missing pages in egcsjvm
+You've used 20 entries,
+            2213 wiz_defined-function locations,
+            574 strings with 5810 characters,
+and the built_in function-call counts, 4059 in all, are:
+= -- 309
+> -- 103
+< -- 0
++ -- 55
+- -- 28
+* -- 254
+:= -- 559
+add.period$ -- 20
+call.type$ -- 20
+change.case$ -- 64
+chr.to.int$ -- 0
+cite$ -- 45
+duplicate$ -- 223
+empty$ -- 482
+format.name$ -- 28
+if$ -- 901
+int.to.chr$ -- 0
+int.to.str$ -- 20
+missing$ -- 30
+newline$ -- 70
+num.names$ -- 18
+pop$ -- 214
+preamble$ -- 1
+purify$ -- 53
+quote$ -- 0
+skip$ -- 110
+stack$ -- 0
+substring$ -- 135
+swap$ -- 33
+text.length$ -- 0
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 78
+warning$ -- 25
+while$ -- 20
+width$ -- 22
+write$ -- 139
+(There were 26 warnings)
diff --git a/doc/nestedvm.ivme04.log b/doc/nestedvm.ivme04.log
new file mode 100644 (file)
index 0000000..1b6d5c8
--- /dev/null
@@ -0,0 +1,667 @@
+This is pdfTeX, Version 3.14159-1.10b (Web2C 7.4.5) (format=pdflatex 2004.2.3)  20 MAR 2004 07:30
+**nestedvm.ivme04.tex
+(./nestedvm.ivme04.tex{/usr/local/share/texmf-local/pdftex/config/pdftex.cfg}
+LaTeX2e <2001/06/01>
+Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, n
+ohyphenation, loaded.
+(./acmconf.cls
+Document Class: acmconf 1994/11/27 Alternative LaTeX document class
+Bugs to berson@cs.pitt.edu
+(/usr/local/share/texmf-local/tex/latex/base/article.cls
+Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
+(/usr/local/share/texmf-local/tex/latex/base/size10.clo
+File: size10.clo 2001/04/21 v1.4e Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+\@acmtitlebox=\box26
+)
+(/usr/local/share/texmf-local/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/local/share/texmf-local/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/usr/local/share/texmf-local/tex/latex/graphics/graphics.sty
+Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/local/share/texmf-local/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/usr/local/share/texmf-local/tex/latex/config/graphics.cfg
+File: graphics.cfg 2001/08/31 v1.1 graphics configuration of teTeX/TeXLive
+)
+Package graphics Info: Driver file: pdftex.def on input line 80.
+
+(/usr/local/share/texmf-local/tex/latex/graphics/pdftex.def
+File: pdftex.def 2002/06/19 v0.03k graphics/color for pdftex
+\Gread@gobject=\count87
+))
+\Gin@req@height=\dimen103
+\Gin@req@width=\dimen104
+)
+(/usr/local/share/texmf-local/tex/latex/tools/multicol.sty
+Package: multicol 2000/07/10 v1.5z multicolumn formatting (FMi)
+\c@tracingmulticols=\count88
+\mult@box=\box27
+\multicol@leftmargin=\dimen105
+\c@unbalance=\count89
+\c@collectmore=\count90
+\doublecol@number=\count91
+\multicoltolerance=\count92
+\multicolpretolerance=\count93
+\full@width=\dimen106
+\page@free=\dimen107
+\premulticols=\dimen108
+\postmulticols=\dimen109
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
+\partial@page=\box28
+\last@line=\box29
+\mult@rightbox=\box30
+\mult@grightbox=\box31
+\mult@gfirstbox=\box32
+\mult@firstbox=\box33
+\@tempa=\box34
+\@tempa=\box35
+\@tempa=\box36
+\@tempa=\box37
+\@tempa=\box38
+\@tempa=\box39
+\@tempa=\box40
+\@tempa=\box41
+\@tempa=\box42
+\@tempa=\box43
+\@tempa=\box44
+\@tempa=\box45
+\@tempa=\box46
+\@tempa=\box47
+\@tempa=\box48
+\@tempa=\box49
+\@tempa=\box50
+\c@columnbadness=\count94
+\c@finalcolumnbadness=\count95
+\last@try=\dimen110
+\multicolovershoot=\dimen111
+\multicolundershoot=\dimen112
+\mult@nat@firstbox=\box51
+\colbreak@box=\box52
+)
+(/usr/local/share/texmf-local/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2002/01/22 v2.2d
+
+(/usr/local/share/texmf-local/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2001/10/25 v2.2f
+\@emptytoks=\toks15
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
+))
+(/usr/local/share/texmf-local/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2000/07/18 v2.13 AMS math features
+\@mathmargin=\skip45
+
+For additional information on amsmath, use the `?' option.
+(/usr/local/share/texmf-local/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/usr/local/share/texmf-local/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks16
+\ex@=\dimen113
+))
+(/usr/local/share/texmf-local/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen114
+)
+(/usr/local/share/texmf-local/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count96
+LaTeX Info: Redefining \frac on input line 211.
+\uproot@=\count97
+\leftroot@=\count98
+LaTeX Info: Redefining \overline on input line 307.
+\classnum@=\count99
+\DOTSCASE@=\count100
+LaTeX Info: Redefining \ldots on input line 379.
+LaTeX Info: Redefining \dots on input line 382.
+LaTeX Info: Redefining \cdots on input line 467.
+\Mathstrutbox@=\box53
+\strutbox@=\box54
+\big@size=\dimen115
+LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
+\macc@depth=\count101
+\c@MaxMatrixCols=\count102
+\dotsspace@=\muskip10
+\c@parentequation=\count103
+\dspbrk@lvl=\count104
+\tag@help=\toks17
+\row@=\count105
+\column@=\count106
+\maxfields@=\count107
+\andhelp@=\toks18
+\eqnshift@=\dimen116
+\alignsep@=\dimen117
+\tagshift@=\dimen118
+\tagwidth@=\dimen119
+\totwidth@=\dimen120
+\lineht@=\dimen121
+\@envbody=\toks19
+\multlinegap=\skip46
+\multlinetaggap=\skip47
+\mathdisplay@stack=\toks20
+LaTeX Info: Redefining \[ on input line 2666.
+LaTeX Info: Redefining \] on input line 2667.
+)
+(/usr/local/share/texmf-local/tex/latex/graphics/epsfig.sty
+Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR)
+\epsfxsize=\dimen122
+\epsfysize=\dimen123
+)
+(/usr/local/share/texmf-local/tex/latex/base/alltt.sty
+Package: alltt 1997/06/16 v2.0g defines alltt environment
+)
+(/usr/local/share/texmf-local/tex/latex/psnfss/palatino.sty
+Package: palatino 2002/09/08 PSNFSS-v9.0a (SPQR) 
+) (./pdftricks.sty
+Package: pdftricks 2001/09/30 1.15 psTricks support in PDF (CVRACL)
+
+
+Package pdftricks Warning: ****************************************
+(pdftricks)                Package pdftricks v,1.15 loaded
+(pdftricks)                [psTricks support in PDF (CVR, ACL)]
+(pdftricks)                ****************************************.
+
+(/usr/local/share/texmf-local/tex/latex/graphics/color.sty
+Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
+
+(/usr/local/share/texmf-local/tex/latex/config/color.cfg
+File: color.cfg 2001/08/31 v1.1 color configuration of teTeX/TeXLive
+)
+Package color Info: Driver file: pdftex.def on input line 125.
+)
+touch /tmp/w18-test-2004320450
+system()...disabled.
+
+
+Package pdftricks Warning: ****************************************
+(pdftricks)                No \write 18 capability.
+(pdftricks)                You'll have to run a script by yourself!
+(pdftricks)                ****************************************.
+
+\PDFStream=\write3
+Special stream 'pdfpic'
+\c@psfig=\count108
+\c@arraylength=\count109
+\c@ArrayIndex=\count110
+\c@zeroCtr=\count111
+\c@recordCtr=\count112
+\c@Ctr=\count113
+\c@f@irstCtr=\count114
+\c@s@econdCtr=\count115
+)
+\CVinputs=\write4
+\openout4 = `tmp.inputs'.
+
+
+(/usr/local/share/texmf-local/tex/latex/misc/parskip.sty
+Package: parskip 2001/04/09 non-zero parskip adjustments
+)
+(/usr/local/share/texmf-local/tex/latex/tools/tabularx.sty
+Package: tabularx 1999/01/07 v2.07 `tabularx' package (DPC)
+
+(/usr/local/share/texmf-local/tex/latex/tools/array.sty
+Package: array 1998/05/13 v2.3m Tabular extension package (FMi)
+\col@sep=\dimen124
+\extrarowheight=\dimen125
+\NC@list=\toks21
+\extratabsurround=\skip48
+\backup@length=\skip49
+)
+\TX@col@width=\dimen126
+\TX@old@table=\dimen127
+\TX@old@col=\dimen128
+\TX@target=\dimen129
+\TX@delta=\dimen130
+\TX@cols=\count116
+\TX@ftn=\toks22
+)
+(./nestedvm.ivme04.aux)
+\openout1 = `nestedvm.ivme04.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 30.
+LaTeX Font Info:    ... okay on input line 30.
+LaTeX Font Info:    Try loading font information for OT1+ppl on input line 30.
+
+(/usr/local/share/texmf-local/tex/latex/psnfss/ot1ppl.fd
+File: ot1ppl.fd 2001/06/04 font definitions for OT1/ppl.
+)
+(/usr/local/share/texmf-local/tex/context/base/supp-pdf.tex
+(/usr/local/share/texmf-local/tex/context/base/supp-mis.tex
+loading : Context Support Macros / Missing
+\protectiondepth=\count117
+\scratchcounter=\count118
+\scratchtoks=\toks23
+\scratchdimen=\dimen131
+\scratchskip=\skip50
+\scratchmuskip=\muskip11
+\scratchbox=\box55
+\scratchread=\read1
+\scratchwrite=\write5
+\zeropoint=\dimen132
+\minusone=\count119
+\thousandpoint=\dimen133
+\emptytoks=\toks24
+\nextbox=\box56
+\nextdepth=\dimen134
+\everyline=\toks25
+\!!counta=\count120
+\!!countb=\count121
+\recursecounter=\count122
+)
+loading : Context Support Macros / PDF
+\nofMPsegments=\count123
+\nofMParguments=\count124
+\everyMPtoPDFconversion=\toks26
+)
+LaTeX Font Info:    Font shape `OT1/ppl/bx/n' in size <14.4> not available
+(Font)              Font shape `OT1/ppl/b/n' tried instead on input line 32.
+LaTeX Font Info:    Try loading font information for OT1+phv on input line 32.
+ (/usr/local/share/texmf-local/tex/latex/psnfss/ot1phv.fd
+File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv.
+)
+LaTeX Font Info:    Font shape `OT1/phv/bx/n' in size <14.4> not available
+(Font)              Font shape `OT1/phv/b/n' tried instead on input line 32.
+LaTeX Font Info:    Try loading font information for U+msa on input line 32.
+
+(/usr/local/share/texmf-local/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2002/01/19 v2.2g AMS font definitions
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 32.
+
+(/usr/local/share/texmf-local/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2002/01/19 v2.2g AMS font definitions
+)
+LaTeX Font Info:    Try loading font information for OT1+pcr on input line 32.
+
+(/usr/local/share/texmf-local/tex/latex/psnfss/ot1pcr.fd
+File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr.
+)
+LaTeX Font Info:    Font shape `OT1/phv/bx/n' in size <9> not available
+(Font)              Font shape `OT1/phv/b/n' tried instead on input line 34.
+LaTeX Font Info:    Try loading font information for OMS+ppl on input line 46.
+
+(/usr/local/share/texmf-local/tex/latex/psnfss/omsppl.fd
+File: omsppl.fd 
+)
+LaTeX Font Info:    Font shape `OMS/ppl/m/n' in size <9> not available
+(Font)              Font shape `OMS/cmsy/m/n' tried instead on input line 46.
+
+Underfull \hbox (badness 3386) in paragraph at lines 52--59
+/pplr7t@9.0pt/a binary-to-source and binary-to-binary trans-la-tor
+ []
+
+
+Underfull \hbox (badness 2600) in paragraph at lines 52--59
+/pplr7t@9.0pt/tar-get-ing the Java Vir-tual Ma-chine. NestedVM-
+ []
+
+
+Underfull \hbox (badness 4229) in paragraph at lines 79--85
+/pplr7t@9.0pt/hib-ited in a num-ber of con-texts, in-clud-ing ap-
+ []
+
+
+Underfull \hbox (badness 2165) in paragraph at lines 79--85
+/pplr7t@9.0pt/plets en-vi-ron-ments and servlet con-tain-ers with a
+ []
+
+Opening PDFStream=nestedvm.ivme04-fig1.tex
+\openout3 = `nestedvm.ivme04-fig1.tex'.
+
+
+<nestedvm.ivme04-fig1.pdf, id=1, 175.65625pt x 81.30376pt>
+File: nestedvm.ivme04-fig1.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig1.pdf> Opening PDFStream=nestedvm.ivme04-fig2.tex
+\openout3 = `nestedvm.ivme04-fig2.tex'.
+
+
+<nestedvm.ivme04-fig2.pdf, id=2, 186.6975pt x 109.40875pt>
+File: nestedvm.ivme04-fig2.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig2.pdf> [1{/usr/local/share/texmf-local/dvips/config/pdf
+tex.map}
+
+
+ <./nestedvm.ivme04-fig1.pdf>]
+Underfull \hbox (badness 1783) in paragraph at lines 164--166
+/pplr7t@9.0pt/The most com-mon tech-nique em-ployed is par-tial
+ []
+
+Opening PDFStream=nestedvm.ivme04-fig3.tex
+\openout3 = `nestedvm.ivme04-fig3.tex'.
+
+
+<nestedvm.ivme04-fig3.pdf, id=37, 186.6975pt x 109.40875pt>
+File: nestedvm.ivme04-fig3.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig3.pdf>
+Underfull \hbox (badness 1005) in paragraph at lines 204--209
+[]/pplr7t@9.0pt/Unfortunately such deep anal-y-sis is in-tractible for
+ []
+
+
+Underfull \hbox (badness 1014) in paragraph at lines 210--217
+/pplr7t@9.0pt/specific trans-la-tors rather than a sin-gle trans-la-tion
+ []
+
+Opening PDFStream=nestedvm.ivme04-fig4.tex
+\openout3 = `nestedvm.ivme04-fig4.tex'.
+
+
+<nestedvm.ivme04-fig4.pdf, id=38, 192.72pt x 109.40875pt>
+File: nestedvm.ivme04-fig4.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig4.pdf> [2 <./nestedvm.ivme04-fig2.pdf> <./nestedvm.ivme
+04-fig3.pdf> <./nestedvm.ivme04-fig4.pdf>]
+LaTeX Font Info:    Font shape `OT1/ppl/bx/n' in size <9> not available
+(Font)              Font shape `OT1/ppl/b/n' tried instead on input line 287.
+
+Underfull \hbox (badness 4013) in paragraph at lines 317--325
+[]/pplr7t@9.0pt/NestedVM of-fers to-tal sup-port for all non-
+ []
+
+
+Underfull \hbox (badness 1097) in paragraph at lines 317--325
+/pplr7t@9.0pt/found on a MIPS /pcrr7t@9.0pt/R2000 /pplr7t@9.0pt/CPU, in-clud-in
+g the
+ []
+
+
+Underfull \hbox (badness 2772) in paragraph at lines 392--396
+/pplr7t@9.0pt/The sim-plest op-er-a-tional mode for Nest-edVM is
+ []
+
+Opening PDFStream=nestedvm.ivme04-fig5.tex
+\openout3 = `nestedvm.ivme04-fig5.tex'.
+
+
+<nestedvm.ivme04-fig5.pdf, id=72, 186.6975pt x 97.36375pt>
+File: nestedvm.ivme04-fig5.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig5.pdf>
+Overfull \hbox (37.89pt too wide) in paragraph at lines 419--503
+[]$[]$ 
+ []
+
+[3 <./nestedvm.ivme04-fig5.pdf>] <chart1.pdf, id=90, 794.97pt x 614.295pt>
+File: chart1.pdf Graphic file (type pdf)
+
+<use chart1.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 538--539
+[][] 
+ []
+
+[4 <./chart1.pdf>]
+Underfull \hbox (badness 1092) in paragraph at lines 574--577
+[]/pplr7t@9.0pt/This prob-lem was sur-mounted by switch-ing on a
+ []
+
+<chart5.pdf, id=109, 794.97pt x 614.295pt>
+File: chart5.pdf Graphic file (type pdf)
+ <use chart5.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 583--584
+[][] 
+ []
+
+<chart6.pdf, id=110, 794.97pt x 614.295pt>
+File: chart6.pdf Graphic file (type pdf)
+ <use chart6.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 585--586
+[][] 
+ []
+
+
+Underfull \hbox (badness 1990) in paragraph at lines 591--594
+/pplr7t@9.0pt/ment can be coded as a /pcrr7t@9.0pt/TABLESWITCH/pplr7t@9.0pt/, t
+he
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 595--599
+[]/pplr7t@9.0pt/Hybrid Interpretive-JIT com-pil-ers such as
+ []
+
+
+Underfull \hbox (badness 2277) in paragraph at lines 614--623
+/pplr7t@9.0pt/and ev-ery branch in-struc-tion's des-ti-na-tion is
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 652--661
+[]/pplr7t@9.0pt/One sub-op-ti-mal so-lu-tion was to ex-press con-
+ []
+
+
+Underfull \hbox (badness 2990) in paragraph at lines 652--661
+/pplr7t@9.0pt/stants as off-sets from a few cen-tral val-ues; for
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 652--661
+/pplr7t@9.0pt/ex-am-ple ``/pcrr7t@9.0pt/pc = N[]0x00010000 + 0x10/pplr7t@9.0pt/
+'' (where
+ []
+
+
+Underfull \hbox (badness 1067) in paragraph at lines 652--661
+/pplr7t@9.0pt/di-rectly to /pcrr7t@9.0pt/.class /pplr7t@9.0pt/files (with-out t
+he in-ter-me-di-ate
+ []
+
+Opening PDFStream=nestedvm.ivme04-fig6.tex
+\openout3 = `nestedvm.ivme04-fig6.tex'.
+
+ [5 <./chart5.pdf> <./chart6.pdf>]
+<nestedvm.ivme04-fig6.pdf, id=149, 186.6975pt x 108.405pt>
+File: nestedvm.ivme04-fig6.pdf Graphic file (type pdf)
+
+<use nestedvm.ivme04-fig6.pdf>
+Underfull \hbox (badness 1418) in paragraph at lines 698--703
+[]/pplr7t@9.0pt/Direct com-pi-la-tion to /pcrr7t@9.0pt/.class /pplr7t@9.0pt/fil
+es opens up
+ []
+
+
+Underfull \hbox (badness 4120) in paragraph at lines 698--703
+/pplr7t@9.0pt/lat-ing MIPS bi-na-ries and load-ing them via
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 698--703
+/pcrr7t@9.0pt/ClassLoader.fromBytes() /pplri7t@9.0pt/at de-ploy-ment
+ []
+
+<chart7.pdf, id=150, 794.97pt x 614.295pt>
+File: chart7.pdf Graphic file (type pdf)
+ <use chart7.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 710--711
+[][] 
+ []
+
+[6 <./nestedvm.ivme04-fig6.pdf> <./chart7.pdf>]
+Underfull \hbox (badness 1052) in paragraph at lines 822--829
+/pcrr7t@9.0pt/-fno-schedule-insns /pplr7t@9.0pt/in-struc-tion, /pcrr7t@9.0pt/gc
+c /pplr7t@9.0pt/will
+ []
+
+<chart4.pdf, id=185, 794.97pt x 614.295pt>
+File: chart4.pdf Graphic file (type pdf)
+ <use chart4.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 849--850
+[][] 
+ []
+
+<chart3.pdf, id=186, 794.97pt x 614.295pt>
+File: chart3.pdf Graphic file (type pdf)
+ <use chart3.pdf>
+Overfull \hbox (0.81pt too wide) in paragraph at lines 851--852
+[][] 
+ []
+
+
+Underfull \hbox (badness 1661) in paragraph at lines 880--887
+[]/pplr7t@9.0pt/The run-time pro-vides ac-cess to the host file
+ []
+
+
+Underfull \hbox (badness 4378) in paragraph at lines 880--887
+/pplr7t@9.0pt/stan-dard UNIX syscalls (/pcrr7t@9.0pt/read()/pplr7t@9.0pt/, /pcr
+r7t@9.0pt/write()/pplr7t@9.0pt/,
+ []
+
+[7 <./chart4.pdf> <./chart3.pdf>]
+Underfull \hbox (badness 7869) in paragraph at lines 888--891
+[]/pplr7t@9.0pt/It pro-vides gen-eral OS ser-vices, in-clud-ing
+ []
+
+
+Underfull \hbox (badness 2245) in paragraph at lines 932--938
+/pplr7t@9.0pt/jpeg and writ-ing a tga. The /pcrr7t@9.0pt/mspack /pplr7t@9.0pt/t
+est con-
+ []
+
+(./nestedvm.ivme04.bbl
+Underfull \hbox (badness 10000) in paragraph at lines 14--15
+[]/pplr7t@9.0pt/http://research.microsoft.com/ emei-
+ []
+
+
+Overfull \hbox (28.85645pt too wide) in paragraph at lines 32--33
+[]/pplr7t@9.0pt/http://www-124.ibm.com/developerworks/oss/jikes/. 
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 35--38
+[]/pplri7t@9.0pt/The c# pro-gram-ming lan-guage/pplr7t@9.0pt/,
+ []
+
+
+Overfull \hbox (53.16565pt too wide) in paragraph at lines 35--38
+/pplr7t@9.0pt/http://download.microsoft.com/download/0/a/c/0acb3585-
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 44--46
+[]/pplri7t@9.0pt/The java hotspot per-for-mance
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 44--46
+/pplri7t@9.0pt/en-gine ar-chi-tec-ture/pplr7t@9.0pt/, 1999,
+ []
+
+
+Overfull \hbox (35.9659pt too wide) in paragraph at lines 44--46
+/pplr7t@9.0pt/http://java.sun.com/products/hotspot/whitepaper.html. 
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 65--69
+[]/pplr7t@9.0pt/Scott Mal-abarba, Premku-mar T. De-vanbu,
+ []
+
+
+Underfull \hbox (badness 4752) in paragraph at lines 65--69
+/pplr7t@9.0pt/and Aaron Stearns, /pplri7t@9.0pt/Mohca-java: A tool for
+ []
+
+
+Underfull \hbox (badness 5607) in paragraph at lines 65--69
+/pplri7t@9.0pt/c++ to java con-ver-sion sup-port/pplr7t@9.0pt/, In-ter-na-tiona
+l
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 65--69
+/pplr7t@9.0pt/seer.ist.psu.edu/malabarba99mohcajava.html,
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 71--73
+[]/pplr7t@9.0pt/J. Mar-tin, /pplri7t@9.0pt/Ephedra: A c to java
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 71--73
+/pplri7t@9.0pt/mi-gra-tion en-vi-ron-ment/pplr7t@9.0pt/, (2002),
+ []
+
+
+Underfull \hbox (badness 1348) in paragraph at lines 78--79
+[]/pplr7t@9.0pt/B. Strous-trup., /pplri7t@9.0pt/The c++ pro-gram-ming lan-guage
+/pplr7t@9.0pt/,
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 81--83
+[]/pplr7t@9.0pt/T. Wadding-ton, /pplri7t@9.0pt/Java back-
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 81--83
+/pplri7t@9.0pt/end for gcc/pplr7t@9.0pt/, (Novem-ber 2000),
+ []
+
+
+Overfull \hbox (45.57799pt too wide) in paragraph at lines 81--83
+/pplr7t@9.0pt/http://archive.csee.uq.edu.au/?csmweb/uqbt.html#gccjvm. 
+ []
+
+) [8] (./nestedvm.ivme04.aux) ) 
+Here is how much of TeX's memory you used:
+ 2493 strings out of 95437
+ 30804 string characters out of 1189862
+ 103318 words of memory out of 1000001
+ 5419 multiletter control sequences out of 10000+50000
+ 26163 words of font info for 74 fonts, out of 500000 for 1000
+ 14 hyphenation exceptions out of 1000
+ 29i,15n,24p,218b,509s stack positions out of 1500i,500n,5000p,200000b,5000s
+ 228 PDF objects out of 300000
+ 0 named destinations out of 131072
+ 60 words of extra memory for PDF output out of 65536
+{/usr/local/share/texmf-local/dvips/psnfss/8r.en
+c}</usr/local/share/texmf-local/fonts/type1/urw/palatino/uplb8a.pfb>{/usr/local
+/share/texmf-local/dvips/tetex/f7b6d320.enc}</usr/local/share/texmf-local/fonts
+/type1/bluesky/cm/cmr10.pfb>{/usr/local/share/texmf-local/dvips/tetex/09fbbfac.
+enc}</usr/local/share/texmf-local/fonts/type1/bluesky/cm/cmtt10.pfb>{/usr/local
+/share/texmf-local/dvips/tetex/bbad153f.enc}</usr/local/share/texmf-local/fonts
+/type1/bluesky/cm/cmsy9.pfb></usr/local/share/texmf-local/fonts/type1/urw/palat
+ino/uplr8a.pfb></usr/local/share/texmf-local/fonts/type1/urw/palatino/uplri8a.p
+fb>
+Output written on nestedvm.ivme04.pdf (8 pages, 268208 bytes).
index c540268..ba2ff29 100644 (file)
 \usepackage{parskip}
 \usepackage{tabularx}
 \usepackage{alltt}
 \usepackage{parskip}
 \usepackage{tabularx}
 \usepackage{alltt}
-\bibliographystyle{alpha}
+\bibliographystyle{amsplain}
 
 \title{\textbf{\textsf{
 
 \title{\textbf{\textsf{
-NestedVM: Total Translation of Native Code into Safe Bytecode
+Complete Translation of Unsafe Native Code to Safe Bytecode
 }}}
 \date{}
 \author{\begin{tabular}{@{}c@{}}
         {\em {Brian Alliet}} \\
         {Rochester Institute of Technology}\\
 }}}
 \date{}
 \author{\begin{tabular}{@{}c@{}}
         {\em {Brian Alliet}} \\
         {Rochester Institute of Technology}\\
-        {\tt brian@ibex.org}
+        {\tt bja8464@cs.rit.edu}
    \end{tabular}\hskip 1in\begin{tabular}{@{}c@{}}
         {\em {Adam Megacz}} \\
    \end{tabular}\hskip 1in\begin{tabular}{@{}c@{}}
         {\em {Adam Megacz}} \\
-        {UC Berkeley Statistical Computing Facility} \\
-        {\tt adam@ibex.org}
+        {University of California, Berkeley} \\
+        {\tt megacz@cs.berkeley.edu}
 \end{tabular}}
 \begin{document}
 
 \end{tabular}}
 \begin{document}
 
@@ -33,228 +33,318 @@ NestedVM: Total Translation of Native Code into Safe Bytecode
 
 \begin{abstract}
 
 
 \begin{abstract}
 
-We present a new approach to utilizing unsafe legacy code
-within safe virtual machines by compiling to MIPS machine code as an
-intermediate language.  This approach carries N key benefits over
-existing techniques:
+Most existing techniques for using code written in an unsafe language
+within a safe virtual machine involve transformations from one source
+code language (such as C) to another (such as Java) and then to
+virtual machine bytecodes.  We present an alternative approach which
+uses a standard compiler to turn unsafe source code into unsafe MIPS
+binaries, which are then translated into safe virtual machine
+bytecodes.  This approach offers four key advantages over existing
+techniques:
 
 \begin{itemize}
 
 \begin{itemize}
-\item total coverage of all language features, unlike source translation
-\item no build process modifications
-\item no post-translation human intervention
-\item efficient bytecode
+\item Total coverage of all language features
+\item No post-translation human intervention
+\item No build process modifications
+\item Bug-for-bug compiler compatability
 \end{itemize}
 
 \end{itemize}
 
-We also present NestedVM, a complete system in production use which
-implements this technique.  We conclude with quantitative performance
-measurements and suggestions for VM acceleration of the resulting
-bytecodes.
-
+We have implemented this technique in NestedVM, a binary-to-source and
+binary-to-binary translator targeting the Java Virtual Machine.
+NestedVM-translated versions of the {\tt libfreetype}, {\tt libjpeg},
+and {\tt libmspack} libraries are currently in production use.
+Performance measurements indicate a best case performance within 3x of
+native code and worst case typically within 10x, making it an
+attractive solution for code which is not performance-critical.
 
 \end{abstract}
 
 \section{Introduction}
 
 
 \end{abstract}
 
 \section{Introduction}
 
-The C programming language \cite{KR} has been in use for over 30
-years.  Consequently, there is a huge library of software written in
-this language.  Although Java offers substantial benefits \cite{} over
-C (and C++), its comparatively young age means that it often lacks
-equivalents of many C/C++ libraries.
-
-The typical solution to this dilemma is to use JNI \cite{} or CNI
-\cite{} to invoke C code from within a Java VM.  Unfortunately, there
+Unsafe languages such as C \cite{KR} and C++ \cite{soustroup} have
+been in use much longer than any of today's widely accepted safe
+languages such as Java \cite{java} and C\# \cite{csharp}.  Consequently, there is
+a huge library of software written in these languages.  Although safe
+languages offer substantial benefits, their comparatively young age
+often puts them at a disadvantage when breadth of existing support
+code is an important criterion.
+
+The typical solution to this dilemma is to use a native interface such
+as JNI \cite{jni} or CNI \cite{cni} to invoke unsafe code from within a
+virtual machine or otherwise safe environment.  Unfortunately, there
 are a number of situations in which this is not an acceptable
 are a number of situations in which this is not an acceptable
-solution due to security concerns:
-
-\begin{itemize}
-
-\item Java Applets are not permitted to invoke {\tt
-      Runtime.loadLibrary()}
-
-\item Java Servlet containers with a {\tt SecurityManager} will not
-      permit loading new JNI libraries.  This configuration is popular
-      with {\it shared hosting} providers and corporate intranets
-      where a number of different parties contribute individual web
-      applications which are run together in a single container.
-
-\item Unlike Java Bytecode, JNI code is susceptible to buffer overflow
-      and heap corruption attacks.  This can be a major security
-      vulnerability.
-
-\end{itemize}
-
-In addition to security concerns, JNI and CNI carry other
-disadvantages:
-
-\begin{itemize}
-
-\item JNI requires the native library to be compiled ahead of time,
-      separately, for every architecture on which it will be deployed.
-      This is unworkable for situations in which the full set of
-      target architectures is not known at deployment time.
-
-\item The increasingly popular J2ME \cite{} platform does not support
-      JNI or CNI.
-
-\item JNI often introduces undesirable added complexity to an
-      application.
-
-\end{itemize}
-
-The technique we present here is based on using a typical ANSI C
-compiler to compile C/C++ code into a MIPS binary, and then using a
-tool to translate that binary on an instruction-by-instruction basis
-into Java bytecode.
-
-The technique presented here is general; we anticipate that it can be
-applied to other secure virtual machines such as Microsoft's .NET
-\cite{}, Perl Parrot \cite{}, or Python bytecode \cite{}.
+solution.  These situations can be broadly classified into two
+categories: {\it security concerns} and {\it portability concerns}.
+
+Using Java as an example, JNI and CNI are prohibited in a number of
+contexts, including applets environments and servlet containers with a
+{\tt SecurityManager}.  Additionally, even in the context of trusted
+code, {\tt native} methods invoked via JNI are susceptible to buffer
+overflow and heap corruption attacks which are not a concern for
+verified bytecode.
+
+The second class of disadvantages revolves around portability
+concerns; native interfaces require the native library to be compiled
+ahead of time, for every architecture on which they will be
+deployed.  This is unworkable for situations in which the full set of
+target architectures is not known at deployment time.  Additionally,
+some JVM platform variants such as J2ME \cite{j2me} simply do not offer
+support for native code.
+
+The technique we present here uses typical compiler to compile unsafe
+code into a MIPS binary, which is then translated on an
+instruction-by-instruction basis into Java bytecode.  The technique
+presented here is general; we anticipate that it can be applied to
+other secure virtual machines such as Microsoft's .NET \cite{msil}, Perl
+Parrot \cite{parrot}, or Python bytecode \cite{python}.
 
 \section{Approaches to Translation}
 
 
 \section{Approaches to Translation}
 
-Techniques for translating unsafe code into VM bytecode generally fall
-into four categories:
+The four program representations of interest in this context, along
+with their specific types in the C-to-JVM instantiation of the
+problem are shown in the following diagram:
 
 
-\begin{itemize}
-\item source-to-source translation
-\item source-to-binary translation
-\item binary-to-source translation
-\item binary-to-binary translation
-\end{itemize}
-
-\begin{figure}[h]
 \begin{pdfpic}
 \newlength{\MyLength}
 \settowidth{\MyLength}{machine code}
 \begin{pdfpic}
 \newlength{\MyLength}
 \settowidth{\MyLength}{machine code}
-\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
-\begin{psmatrix}[colsep=3,rowsep=3]
+\newcommand{\MyBox}[1]{\makebox[\MyLength][c]{#1}}
+\begin{psmatrix}[colsep=2,rowsep=0]
+  & \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
-  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\
+  [name=s00]\MyBox{\tt (.c)} & [name=s11]\MyBox{\tt (.java)}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  [name=b00]\MyBox{\tt (.o)}  & [name=b11]\MyBox{\tt (.class)} \\
+  & \\[0pt]
   \psset{nodesep=5pt,arrows=->}
   \psset{nodesep=5pt,arrows=->}
-  \ncline{s0}{b0}<{\it gcc}
-  \ncline{s0}{s1}\aput{:U}{\it c2java}
-  \ncline{s0}{b1}\aput{:U}{\it gcc bytecode backend}
-  \ncline{s1}{b1}>{\it javac}
 \end{psmatrix}
 \end{pdfpic}
 \end{psmatrix}
 \end{pdfpic}
-\caption{\label{lattice} Conversion Lattice with examples of tools specific to a C/JVM scenario}
-\end{figure}
 
 
-\begin{figure}[h]
+To illustrate the context of this diagram, the following arcs show the
+translations performed by a few familiar tools:
+
 \begin{pdfpic}
 \newlength{\MyLength}
 \begin{pdfpic}
 \newlength{\MyLength}
-\settowidth{\MyLength}{machine code}
+\settowidth{\MyLength}{xmachine codex}
 \newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
 \newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
-\begin{psmatrix}[colsep=3,rowsep=3,nrot=:U]
+\psmatrix[colsep=2,rowsep=0,nrot=:D]
+  & \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
-  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
   \psset{nodesep=5pt,arrows=->}
   \psset{nodesep=5pt,arrows=->}
-  \ncline{s0}{b0}<{\it gcc}
-  \ncline{s1}{b1}>{\it javac}
-  \ncline{b0}{s1}\naput{\it NestedVM}
-  \ncline{b0}{s1}\nbput{\it binary-to-source}
-\end{psmatrix}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{s1}{b0}\bput{:D}{\tt gcj}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+  \ncline{b1}{b0}\aput{:D}{\tt gcj}\bput{:D}{JITs}
+\endpsmatrix
 \end{pdfpic}
 \end{pdfpic}
-\caption{\label{lattice2} Conversion Lattice including NestedVM in {\it source-output} mode}
-\end{figure}
 
 
-\begin{figure}[h]
+Techniques for translating unsafe code into VM bytecode generally fall
+into four categories, which we expand upon in the next two sections:
+
+\begin{itemize}
+\item source-to-source translation
+\item source-to-binary translation
+\item binary-to-source translation
+\item binary-to-binary translation
+\end{itemize}
+
+\section{Existing Work}
+
+\subsection{Source-to-Source Translation}
+
+The most common technique employed is partial translation from unsafe
+source code to safe source code:
+
 \begin{pdfpic}
 \newlength{\MyLength}
 \begin{pdfpic}
 \newlength{\MyLength}
-\settowidth{\MyLength}{machine code}
+\settowidth{\MyLength}{xmachine codex}
 \newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
 \newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
-\begin{psmatrix}[colsep=3,rowsep=3,nrot=:U]
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  & \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
   [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
-  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
   \psset{nodesep=5pt,arrows=->}
   \psset{nodesep=5pt,arrows=->}
-  \ncline{s0}{b0}<{\it gcc}
-  \ncline{s1}{b1}>{\it javac}
-  \ncline{b0}{b1}\naput{\it NestedVM}
-  \ncline{b0}{b1}\nbput{\it binary-to-binary}
-\end{psmatrix}
+  \ncline{s0}{s1}\aput{:U}{source-to}\bput{:U}{source}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+\endpsmatrix
 \end{pdfpic}
 \end{pdfpic}
-\caption{\label{lattice3} Conversion Lattice including NestedVM in {\it bytecode-output} mode}
-\end{figure}
 
 
-A diagram showing these four translation approaches in the context of
-running C/C++ code within a Java VM is shown in Figure~\ref{lattice}.
+A number of existing systems employ this technique; they can
+be divided into two categories: those which perform a partial
+translation which is completed by a human, and those which perform a
+total translation but fail (yield an error) on a large class of input
+programs.
 
 
-\subsection{Existing Work}
-\subsubsection{Source-to-Source Translation}
 
 
-\begin{itemize}
-\item c2java
-\item commercial products
-\end{itemize}
+\subsubsection{Incomplete Translation}
+
+Jazillian \cite{jazillian} is a commercial solution which produces
+extremely readable Java source code from C source code, but ony
+translates a small portion of the C language.  Jazillian is unique in
+that in addition to {\it language migration}, it also performs {\it
+API migration}; for example, Jazillian is intelligent enough
+to translate {\tt char*~s1~=~strcpy(s2)} into {\tt String~s1~=~s2}.
+
+Unfortunately such deep analysis is intractible for most of the C
+language and standard library; Jazillian's documentation notes that
+{\it ``This is not your father's language translator.  It's not
+generating ugly code that's guaranteed to work out of the
+box... Jazillian does not always produce code that works correctly.''}
+
+MoHCA-Java \cite{mohca} is the other major tool in this category, and steps
+beyond Jazillian by providing tools for analysis of the source C++
+abstract syntax tree.  Additionally, MoHCA-Java's analysis engine is
+extensible, making it a platform for constructing application-specific
+translators rather than a single translation tool.  However,
+MoHCA-Java does not always generate complete Java code for all of the C++
+programs which it accepts.
+
+
+\subsubsection{Partial Domain Translation}
+
+The c2j \cite{c2j}, c2j++ \cite{c2jpp}, Cappucinno \cite{capp},
+and Ephedra \cite{ephedra} systems each provide support for complete
+translation of a {\it subset} of the source language (C or C++).  Each
+of the four tools supports a progressively greater subset than the one
+preceding it; however none covers the entire input language.
 
 
-A number of commercial products and research projects attempt to
-translate C++ code to Java code, preserving the mapping of C++ classes
-to Java classes.  Unfortunately, this is problematic since there is no
-way to do pointer arithmetic except within arrays, and even in that
-case, arithmetic cannot be done in terms of fractional objects.
+Ephedra, the most advanced of the four, supports most of the C++
+language, and claims to produce ``human readable'' Java code as
+output.  Notable omissions from the input domain include support for
+fully general pointer arithmetic, casting between unrelated types, and
+reading from a {\tt union} via a different member than the one most
+recently written.
 
 
-Mention gcc backend
+Unfortunately, when the program being translated is large and complex,
+it is quite likely that it will use an unsupported feature in at least
+one place.  In the absence of a programmer who understands the source
+program, a single anomoly is often enough to render the entire
+translation process useless.  As a result, these tools are mainly
+useful as an {\it aid} to programmers who could normally perform the
+conversion themselves, but want to save time by automating most of the
+process.
+
+
+\subsection{Source-to-Binary Translation}
+
+Source-to-binary translation involves a compiler for the unsafe
+language which has been modified to emit safe bytecode.
+
+\begin{pdfpic}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b1}\bput{:U}{source-to-binary}
+\endpsmatrix
+\end{pdfpic}
+
+The primary occupant of this category is {\tt egcs-jvm}
+\cite{egcsjvm}, an experimental ``JVM backend'' for the GNU Compiler
+Collection ( {\tt gcc} ) \cite{gcc}.  Since {\tt gcc} employs a highlym
+odular architecture, it {\it is} possible to add RTL code generators
+for nonstandard processors.  However, {\tt gcc}'s parsing, RTL
+generation, and optimization layers make fundamental assumptions (such
+as the availability of pointer math) which cannot be directly
+supported; thus the compiler still fails for a substantial class of
+input programs.
 
 
-Many of these products advise the user to tweak the code which results
-from the translation.  Unfortunately, hand-modifying machine-generated
-code is generally a bad idea, since this modification cannot be
-automated.  This means that every time the origin code changes, the
-code generator must be re-run, and the hand modifications must be
-performed yet again.  This is an error-prone process.
 
 
-Furthermore, NestedVM does not attempt to read C code directly.  This
-frees it from the complex task of faithfully implementing the ANSI C
-standard (or, in the case of non ANSI-C compliant code, some other
-interface).  This also saves the user the chore of altering their
-build process to accomodate NestedVM.
 
 \section{NestedVM}
 
 
 \section{NestedVM}
 
-NestedVM takes a novel approach; it uses compiled machine code as a
-starting point for the translation process.  NestedVM has gone through
-two iterations:
+The principal difference between NestedVM and other approaches is that
+NestedVM {\it does not} attempt to deal with source code as an input.
+This leads immediately to three advantages:
 
 \begin{itemize}
 
 \begin{itemize}
-\item binary-to-source compilation  (Figure~\ref{lattice2})
-\item binary-to-binary compilation  (Figure~\ref{lattice3})
-\end{itemize}
+\item {\bf Total coverage of all language features}
 
 
-\subsection{Translation Process}
+      Because NestedVM does not attempt to implement the parsing and
+      code generation steps of compilation, it is freed from the
+      extremely complex task of faithfully implementing languages
+      which are often not fully or formally specified (such as C and
+      C++).
 
 
-Translating a legacy library for use within a JVM proceeds as follows:
+\item {\bf No build process modifications}
 
 
-\begin{enumerate}
+      NestedVM does not modify existing build processes, which can be
+      extremely complex and dependent on strange preprocessor usage as
+      well as the complex interplay between compiler switches and
+      header file locations.
 
 
-\item Compile the source code to a statically linked binary, targeting
-      the MIPS R2000 ISA.
+\item {\bf Bug-for-bug compiler compatability}
 
 
-\item Invoke {\tt NestedVM} on the statically linked binary.
-      Typically this will involve linking against {\tt libc}, which
-      translates system requests (such as {\tt open()}, {\tt read()},
-      or {\tt write()}) into appropriate invocations of the MIPS
-      {\tt SYSCALL} instruction.
+      Since NestedVM uses the compiler's {\it output} as its own {\it
+      input}, it ensures that programs which are inadvertently
+      dependent on the vagaries of a particular compiler can still be
+      used.
 
 
-\item (If using binary-to-source translation) compile the resulting
-      {\tt .java} code using {\tt jikes} or {\tt javac}.
-
-\item (Optional) compile the resulting bytecode into a {\it safe}
-      native binary using {\tt gcj}.
+\end{itemize}
 
 
-\item From java code, invoke the {\tt run()} method on the generated
-      class.  This is equivalent to the {\tt main()} entry point.
+NestedVM's approach carries a fourth benefit as well, arising from its
+totality:
 
 
-\end{enumerate}
+\begin{itemize}
+\item {\bf No post-translation human intervention}
+
+      NestedVM offers total support for all non-privileged
+      instructions, registers, and resources found on a MIPS {\tt
+      R2000} CPU, including the add/multiply unit and floating point
+      coprocessor.  As such, it constitutes a total function mapping
+      from the entire domain of (non-kernel-mode) programs onto (a
+      subset of) the semantics of the Java Virtual Machine.  This
+      ensures that the translation process is fully automated and
+      always succeeds for valid input binaries.
+\end{itemize}
 
 
+This is a much more important factor than is obvious at first glance.
+If post-translation human intervention is required, then the {\it
+human becomes part of the build process}.  This means that if a third
+party library used in the project needs to be upgraded, {\it a human
+must intervene} in the rebuild process.  In addition to slowing the
+process and introducing opportunities for error, this task often
+requires specialized knowledge which becomes tied to the particular
+individual performing this task, rather than being encoded in build
+scripts which persist throughout the lifetime of the project.
 
 \subsection{Why MIPS?}
 
 
 \subsection{Why MIPS?}
 
-We chose MIPS as a source format for two primary reasons: the
-availability of tools to translate legacy code into MIPS binaries, and
-the close similarity between the MIPS ISA and the Java Virtual Machine.
+We chose MIPS as a source format for three reasons: the availability
+of tools to compile legacy code into MIPS binaries, the close
+similarity between the MIPS ISA and the Java Virtual Machine, and the
+relatively high degree of program structure that can be inferred from
+ABI-adherent binaries.
 
 The MIPS architecture has been around for quite some time, and is well
 supported by the GNU Compiler Collection, which is capable of
 
 The MIPS architecture has been around for quite some time, and is well
 supported by the GNU Compiler Collection, which is capable of
-compiling C, C++, Java, Fortran, Pascal (with p2c), and Objective C
+compiling C, C++, Java, Fortran, Pascal, and Objective C
 into MIPS binaries.
 
 The MIPS R2000 ISA bears a striking similarity to the Java Virtual
 into MIPS binaries.
 
 The MIPS R2000 ISA bears a striking similarity to the Java Virtual
@@ -262,13 +352,13 @@ Machine:
 
 \begin{itemize}
 
 
 \begin{itemize}
 
-%\item The original MIPS ISA supports only 32-bit aligned memory loads
-%      and stores.  This allows NestedVM to represent memory as a Java
-%      {\tt int[]} without introducing additional overhead.
-\item Most of the instructions in the original MIPS ISA operate only on
-      32-bit aligned memory locations. This allows NestedVM to represent
-      memory as a Java {\tt int[]} array without introducing additional 
-      overhead.
+\item Most of the instructions in the original MIPS ISA operate only
+      on 32-bit aligned memory locations. This allows NestedVM to
+      represent memory as a Java {\tt int[]} array without introducing
+      additional overhead.  The remaining non-aligned memory load
+      instructions are only rarely emitted by most compilers since
+      they carry a performance penalty on physical MIPS
+      implementations.
 
 \item Unlike its predecessor, the R2000 supports 32-bit by 32-bit
       multiply and divide instructions as well as a single and double
 
 \item Unlike its predecessor, the R2000 supports 32-bit by 32-bit
       multiply and divide instructions as well as a single and double
@@ -277,23 +367,53 @@ Machine:
 
 \end{itemize}
 
 
 \end{itemize}
 
+Finally, the MIPS ISA and ABI convey quite a bit of information about
+program structure.  This information can be used for optimization
+purposes:
 
 
-\subsection{Binary-to-Source Compilation}
+\begin{itemize}
 
 
-The first incarnation of NestedVM was a binary-to-source compiler.
-This version reads in a MIPS binary and emits Java source code, which
-can be compiled with {\tt javac}, {\tt jikes}, or {\tt gcj}.
+\item The structure of MIPS branching and jump instructions make it
+      easy to infer the set of likely target instructions.
 
 
-This implementation was primarily a first step towards the
-binary-to-binary compiler.  Conveniently, generating Java source code
-frees NestedVM from having to perform simple constant propagation
-optimizations, since most Java compilers already do this.  A recurring
-example is the treatment of the {\tt r0} register, which is fixed as
-{\tt 0} in the MIPS ISA.
+\item The MIPS ABI specifies particular registers as caller-save and
+      callee-save, as well as designating a register for the return
+      address after a function call.  This allows NestedVM to optimize
+      many operations for the common case of ABI-adherent binaries.
 
 
-Lacking the ability to generate specially optimized bytecode
-sequences, a straightforward mapping of the general purpose hardware
-registers to 32 {\tt int} fields was optimal.
+\item All MIPS instructions are exactly 32 bits long.
+
+\end{itemize}
+
+
+
+\subsection{Binary-to-Source}
+
+The simplest operational mode for NestedVM is binary-to-source
+translation.  In this mode, NestedVM translates MIPS binaries into
+Java source code, which is then fed to a Java compiler in order to
+produce bytecode files:
+
+\begin{pdfpic}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{s1}{b1}\aput{:U}{\tt javac}
+  \ncline{b0}{s1}\naput{\tt NestedVM}
+\endpsmatrix
+\end{pdfpic}
 
 \begin{figure*}[t]
 \begin{minipage}[c]{7in}%
 
 \begin{figure*}[t]
 \begin{minipage}[c]{7in}%
@@ -383,78 +503,109 @@ public void trampoline() {
 \caption{\label{code1} Trampoline transformation necessitated by Java's 64kb method size limit}
 \end{figure*}
 
 \caption{\label{code1} Trampoline transformation necessitated by Java's 64kb method size limit}
 \end{figure*}
 
+Translating unsafe code for use within a JVM proceeds as follows:
+
+\begin{enumerate}
+
+\item Compile the source code to a statically linked binary, targeting
+      the MIPS R2000 ISA.  Typically this will involve linking against
+      {\tt libc}, which translates system requests (such as {\tt
+      open()}, {\tt read()}, or {\tt write()}) into appropriate
+      invocations of the MIPS {\tt SYSCALL} instruction.
+
+\item Invoke {\tt NestedVM} on the statically linked binary.
+
+\item Compile the resulting {\tt .java} code using {\tt jikes}
+      \cite{jikes} or {\tt javac}.
+
+\item From java code, invoke the {\tt run()} method on the generated
+      class.  This is equivalent to the {\tt main()} entry point.
+
+\end{enumerate}
+
+\subsubsection{Optimizations}
+
+Generating Java source code instead of bytecode frees NestedVM from
+having to perform simple constant propagation optimizations, as most
+Java compilers already do this.  A recurring example is the treatment
+of the {\tt r0} register, which is fixed as {\tt 0} in the MIPS ISA.
+
+Lacking the ability to generate specially optimized bytecode
+sequences, a straightforward mapping of the general purpose hardware
+registers to 32 {\tt int} fields turned out to be optimal.
+
+
+\epsfig{file=chart1,width=3in}
+
 Unfortunately, Java imposes a 64kb limit on the size of the bytecode
 for a single method.  This presents a problem for NestedVM, and
 necessitates a {\it trampoline transformation}, as shown in
 Unfortunately, Java imposes a 64kb limit on the size of the bytecode
 for a single method.  This presents a problem for NestedVM, and
 necessitates a {\it trampoline transformation}, as shown in
-Figure~\ref{code1}.  With this trampoline in place somewhat large
-binaries can be handled without much difficulty -- fortunately, there
-is no corresponding limit on the size of a classfile as a whole.
-
-Another interesting problem that was discovered while creating the
-trampoline method was javac and Jikes' inability to properly optimize
-switch statements.  The code in Figure~\ref{lookupswitch} is compiled
-into a comparatively inefficient {\tt LOOKUPSWITCH}, while the code in
-Figure~\ref{tableswitch} is optimized into a {\tt TABLESWITCH}.
-
-\begin{figure}
-{\footnotesize\begin{verbatim}
-switch(pc&0xffffff00) {
-    case 0x00000100: run_100(); break;
-    case 0x00000200: run_200(); break;
-    case 0x00000300: run_300(); break;
-}
+Figure~\ref{code1}.  With this trampoline in place, large binaries can
+be handled without much difficulty -- fortunately, there is no
+corresponding limit on the size of a classfile as a whole.
+
+One difficulty that arose as a result of using the trampoline
+transformation was the fact that {\tt javac} and {\tt jikes} are
+unable to properly optimize its switch statements.  For example, the
+following code is compiled into a comparatively inefficient {\tt
+LOOKUPSWITCH}:
+
+{\footnotesize
+\begin{verbatim}
+    switch(pc&0xffffff00) {
+        case 0x00000100: run_100(); break;
+        case 0x00000200: run_200(); break;
+        case 0x00000300: run_300(); break;
+    }
 \end{verbatim}}
 \end{verbatim}}
-\caption{\label{lookupswitch} Code which {\it is not} optimized into a tableswitch}
-\end{figure}
 
 \begin{figure}
 {\footnotesize\begin{verbatim}
 switch(pc>>>8) {
 
 \begin{figure}
 {\footnotesize\begin{verbatim}
 switch(pc>>>8) {
-    case 0x1: run_100(); break;
-    case 0x2: run_200(); break;
-    case 0x3: run_300(); break;
+    case 0x1: run_100();
+    case 0x2: run_200();
+    case 0x3: run_300();
 }
 \end{verbatim}}
 }
 \end{verbatim}}
-\caption{\label{tableswitch} Code which {\it is} optimized into a tableswitch}
-\end{figure}
 
 
-Javac is not smart enough to see the pattern in the case values and
+Javac isn't smart enough to see the pattern in the case values and
 generates very suboptimal bytecode. Manually doing the shifts
 convinces javac to emit a tableswitch statement, which is
 generates very suboptimal bytecode. Manually doing the shifts
 convinces javac to emit a tableswitch statement, which is
-significantly faster. This change alone increased the speed of
-the compiled binary by approximately 35\%.
+significantly faster. This change alone nearly doubled the speed of
+the compiled binary.
 
 Finding the optimal method size lead to the next big performance
 increase.  It was determined through experimentation that the optimal
 
 Finding the optimal method size lead to the next big performance
 increase.  It was determined through experimentation that the optimal
-number of MIPS instructions per method is 64 or 128 (considering only 
-powers of two). Going above or below that lead to performance
+number of MIPS instructions per method is 128 (considering only power
+of two options). Going above or below that lead to performance
 decreases. This is most likely due to a combination of two factors.
 
 decreases. This is most likely due to a combination of two factors.
 
-\begin{itemize}
+\epsfig{file=chart5,width=3in}
 
 
-\item The two levels of switch statements jumps have to pass though -
-      The first switch statement jumps go through is the trampoline
-      switch statement. This is implemented as a {\tt TABLESWITCH} in JVM
-      bytecode so it is very fast. The second level switch statement
-      in the individual run\_ methods is implemented as a
-      {\tt LOOKUPSWITCH}, which is much slower. Using smaller methods puts
-      more burden on the faster {\tt TABLESWITCH} and less on the slower
-      {\tt LOOKUPSWITCH}.
+\epsfig{file=chart6,width=3in}
 
 
-\item JIT compilers probably favor smaller methods smaller methods are
-      easier to compile and are probably better candidates for JIT
-      compilation than larger methods.
+This phenomenon is due to two factors:
 
 
-\end{itemize}
+\begin{itemize}
+
+\item While the trampoline method's {\tt switch} statement can be
+      coded as a {\tt TABLESWITCH}, the {\tt switch} statement
+      within the individual methods is to sparse to encode this way.
 
 
-Put a chart in here
+\item Hybrid Interpretive-JIT compilers such as HotSpot generally
+      favor smaller methods since they are easier to compile and are
+      better candidates for compilation in ``normal'' programs (unlike
+      NestedVM programs).
 
 
-Putting more than 256 instructions in each method lead to a severe
-performance penalty. Apparently Hotspot does not handle very large methods
-well. In some tests the simple moving from 256 to 512 instructions per
-method decreased performance by a factor of 10.
+\end{itemize}
 
 
-Put chart here
+After tuning method sizes, our next performance boost came from
+eliminating exraneous case branches.  Having case statements before
+each instruction prevents JIT compilers from being able to optimize
+across instruction boundaries, since control flow can enter the body
+of a {\tt switch} statement at any of the {\tt case}s.  In order to
+eliminate unnecessary case statements we needed to identify all
+possible jump targets.  Jump targets can come from three sources:
 
 The next big optimization was eliminating unnecessary case
 statements. Having case statements before each instruction prevents
 
 The next big optimization was eliminating unnecessary case
 statements. Having case statements before each instruction prevents
@@ -469,7 +620,7 @@ identified. The sources for possible jump targets come from 3 places.
       scanned for jump targets. Every branch instruction (BEQ, JAL,
       etc) has its destination added to the list of possible branch
       targets. In addition, functions that set the link register have
       scanned for jump targets. Every branch instruction (BEQ, JAL,
       etc) has its destination added to the list of possible branch
       targets. In addition, functions that set the link register have
-      theirpc+8 added to the list (the address that would have been put
+      theirpc+8 added to the list (the address that would've been put
       to the link register). Finally, combinations of LUI (Load Upper
       Immediate) of ADDIU (Add Immediate Unsigned) are scanned for
       possible addresses in the text segment. This combination of
       to the link register). Finally, combinations of LUI (Load Upper
       Immediate) of ADDIU (Add Immediate Unsigned) are scanned for
       possible addresses in the text segment. This combination of
@@ -478,71 +629,97 @@ identified. The sources for possible jump targets come from 3 places.
 
 \item The .data segment - When GCC generates switch() statements it
       often uses a jump table stored in the .data
 
 \item The .data segment - When GCC generates switch() statements it
       often uses a jump table stored in the .data
-      segment. Unfortunately gcc does not identify these jump tables in
+      segment. Unfortunately gcc doesn't identify these jump tables in
       any way. Therefore, the entire .data segment is conservatively
       scanned for possible addresses in the .text segment.
       
 \item The symbol table - This is mainly used as a backup. Scanning the
       .text and .data segments should identify any possible jump
       targets but adding every function in the symbol table in the ELF
       any way. Therefore, the entire .data segment is conservatively
       scanned for possible addresses in the .text segment.
       
 \item The symbol table - This is mainly used as a backup. Scanning the
       .text and .data segments should identify any possible jump
       targets but adding every function in the symbol table in the ELF
-      binary does not hurt. This will also catch functions that are
+      binary doesn't hurt. This will also catch functions that are
       never called directly from the MIPS binary (for example,
       functions called with the call() method in the runtime).
 
       never called directly from the MIPS binary (for example,
       functions called with the call() method in the runtime).
 
+      This is mainly used as a backup.  Scanning the {\tt .text} and
+      {\tt .data} segments should identify any possible jump targets;
+      however, adding all function symbols in the ELF symbol table
+      also catches functions that are never called directly from the
+      MIPS binary, such as those invoked only via the NestedVM
+      runtime's {\tt call()} method.
+
 \end{itemize}
 
 \end{itemize}
 
-Eliminating unnecessary case statements provided a 10-25\% speed
+Eliminating unnecessary {\tt case} statements provided a 10-25\% speed
 increase.
 
 increase.
 
-Despite all the above optimizations and workarounds an impossible to
-workaround hard classfile limit was eventually hit, the constant
-pool. The constant pool in classfiles is limited to 65536
-entries. Every integer with a magnitude greater than 32767 requires an
-entry in the constant pool. Every time the compiler emits a
-jump or branch instruction the PC field is set to the branch target. This
-means nearly every branch instruction requires an entry in the
-constant pool. Large binaries hit this limit fairly quickly. One
-workaround that was employed in the Java source compiler was to
-express constants as offsets from a few central values. For example:
-``pc = N\_0x00010000 + 0x10'' where N\_0x000100000 is a non-final
-field to prevent javac from inlining it. This was sufficient to get
-reasonable large binaries to compile. It has a small (approximately
-5\%) performance impact on the generated code. It also makes the
-generated classfile somewhat larger.  Fortunately, the classfile
-compiler eliminates this problem.
-
-
-\subsection{Binary-to-Binary Translation}
-
-The next step in the evolution of NestedVM was to compile directly to
-JVM bytecode eliminating the intermediate javac step. This had several
-advantages:
+Despite all the above optimizations, one insurmountable obstacle
+remained: the Java {\tt .class} file format limits the constant pool
+to 65535 entries.  Every integer literal greater than {\tt 32767}
+requires an entry in this pool, and each branch instruction generates
+one of these.
+
+One suboptimal solution was to express constants as offsets from a few
+central values; for example ``{\tt pc~=~N\_0x00010000~+~0x10}'' (where
+{\tt N\_0x000100000} is a non-final field to prevent {\tt javac} from
+inlining it).  This was sufficient to get reasonably large binaries to
+compile, and caused only a small (approximately 5\%) performance
+degredation and a similarly small increase in the size of the {\tt
+.class} file.  However, as we will see in the next section, compiling
+directly to {\tt .class} files (without the intermediate {\tt .java}
+file) eliminates this problem entirely.
+
+
+\subsection{Binary-to-Binary}
+
+After implementing the binary-to-source compiler, a binary-to-binary
+translation mode was added.
+
+\begin{pdfpic}
+\newlength{\MyLength}
+\settowidth{\MyLength}{xmachine codex}
+\newcommand{\MyBox}[1]{\makebox[\MyLength]{#1}}
+\psmatrix[colsep=2,rowsep=0,nrot=:U]
+  & \\[0pt]
+  [name=s0]\MyBox{unsafe source} & [name=s1]\MyBox{safe source}   \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  & \\[0pt]
+  [name=b0]\MyBox{machine code}  & [name=b1]\MyBox{safe bytecode} \\[0pt]
+  & \\[0pt]
+  \psset{nodesep=5pt,arrows=->}
+  \ncline{s0}{b0}\bput{:U}{\tt gcc}
+  \ncline{b0}{b1}\naput{\tt NestedVM}
+\endpsmatrix
+\end{pdfpic}
+
+This mode has several advantages:
 
 \begin{itemize}
       
 \item There are little tricks that can be done in JVM bytecode that
 
 \begin{itemize}
       
 \item There are little tricks that can be done in JVM bytecode that
-      cannot be done in Java source code.
+      can't be done in Java source code.
 
 
-\item Eliminates the time-consuming javac step - Javac takes a long
-      time to parse and compile the output from the java source
-      compiler.
+\item Directly generating {\tt .class} files Eliminates the
+      time-consuming {\tt javac} step.
 
 
-\item Allows for MIPS binaries to be compiled and loaded into a
-      running VM using a class loader. This eliminates the need to
-      compile the binaries ahead of time.
+\item Direct compilation to {\tt .class} files opens up the
+      interesting possibility of dynamically translating MIPS binaries
+      and loading them via {\tt ClassLoader.fromBytes()} {\it at
+      deployment time}, eliminating the need to compile binaries ahead
+      of time.
 
 \end{itemize}
 
 
 \end{itemize}
 
-By generating code at the bytecode level there are many areas where
-the compiler can be smarter than javac. Most of the areas where
-improvements where made where in the handling of branch instructions
-and in taking advantage of the JVM stack to eliminate unnecessary
-LOADs and STOREs to local variables.
+Most of the performance improvemen where made where in the handling of
+branch instructions and in taking advantage of the JVM stack to
+eliminate unnecessary {\tt LOAD}s and {\tt STORE}s to local variables.
 
 The first obvious optimization that generating bytecode allows for is the
 
 The first obvious optimization that generating bytecode allows for is the
-use of GOTO. Despite the fact that Java does not have a GOTO keyword a GOTO
+use of GOTO. Despite the fact that java doesn't have a GOTO keyword a GOTO
 bytecode does exist and is used heavily in the code generates by javac.
 bytecode does exist and is used heavily in the code generates by javac.
-Unfortunately the java language does not provide any way to take advantage of
+Unfortunately the java language doesn't provide any way to take advantage of
 this. As result of this, jumps within a method were implemented in the
 binary-to-source compiler by setting the PC field to the new address and
 making a trip back to the initial switch statement.  In the classfile
 this. As result of this, jumps within a method were implemented in the
 binary-to-source compiler by setting the PC field to the new address and
 making a trip back to the initial switch statement.  In the classfile
@@ -550,13 +727,23 @@ compiler these jumps are implemented as GOTOs directly to the target
 instruction. This saves a costly trip back through the LOOKUPSWITCH
 statement and is a huge win for small loops within a method.
 
 instruction. This saves a costly trip back through the LOOKUPSWITCH
 statement and is a huge win for small loops within a method.
 
-Somewhat related to using GOTO is the ability to optimize branch
-statements. In the Java source compiler branch statements are
-implemented as follows (delay slots are ignored for the purpose of
-this example):
+The first optimization gained by direct bytecode generation came from
+the use of the JVM {\tt GOTO} instruction.  Despite the fact that the
+Java {\it language} does not have a {\tt goto} keyword, the VM does in
+fact have a corresponding instruction which is used quite heavily by
+{\tt javac}.  NestedVM's binary-to-binary mode exploits this
+instruction to avoid emitting inefficient {\tt switch..case}
+structures.
+
+Related to the {\tt GOTO} instruction is branch statement
+optimization.  When emitting source code, NestedVM translates branches
+into Java source code like this:
 
 {\footnotesize\begin{verbatim}
 
 {\footnotesize\begin{verbatim}
-if(condition) { pc = TARGET; continue; }
+    if (condition) {
+        pc = TARGET;
+        continue;
+    }
 \end{verbatim}}
 
 This requires a branch in the JVM regardless of whether the MIPS
 \end{verbatim}}
 
 This requires a branch in the JVM regardless of whether the MIPS
@@ -565,200 +752,220 @@ over the code to set the PC and go back to the switch block. If
 condition is true the JVM has to jump to the switch block. By
 generating bytecode directly we can make the target of the JVM branch
 statement the actual bytecode of the final destination. In the case
 condition is true the JVM has to jump to the switch block. By
 generating bytecode directly we can make the target of the JVM branch
 statement the actual bytecode of the final destination. In the case
-where the branch is not taken the JVM does not need to branch at all.
+where the branch isn't taken the JVM doesn't need to branch at all.
 
 A side affect of the above two optimizations is a solution to the
 excess constant pool entries problem. When jumps are implemented as
 
 A side affect of the above two optimizations is a solution to the
 excess constant pool entries problem. When jumps are implemented as
-GOTOs and direct branches to the target the PC field does not need to
+GOTOs and direct branches to the target the PC field doesn't need to
 be set. This eliminates many of the constant pool entries the java
 source compiler requires. The limit is still there however, and given
 a large enough binary it will still be reached.
 
 be set. This eliminates many of the constant pool entries the java
 source compiler requires. The limit is still there however, and given
 a large enough binary it will still be reached.
 
-Delay slots are another area where things are done somewhat
-inefficiently in the Java source compiler. In order to take advantage
-of instructions already in the pipeline MIPS cpu have a ``delay
-slot''. That is, an instruction after a branch or jump instruction that
-is executed regardless of whether the branch is taken. This is done
-because by the time the branch or jump instruction is finished being
-processes the next instruction is already ready to be executed and it
-is wasteful to discard it. (However, newer MIPS CPUs have pipelines
-that are much larger than early MIPS CPUs so they have to discard many
-instructions anyway.) As a result of this the instruction in the delay
-slot is actually executed BEFORE the branch is taken. To make things
-even more difficult, values from the register file are loaded BEFORE
-the delay slot is executed.  Here is a small piece of MIPS assembly:
+Implementation of the MIPS delay slot offers another opportunity for
+bytecode-level optimization.  In order to take advantage of
+instructions already in the pipeline, the MIPS ISA specifies that the
+instruction after a jump or branch is always executed, even if the
+jump/branch is taken.  This instruction is referred to as the ``delay
+slot\footnote{Newer MIPS CPUs have pipelines that are much larger than
+early MIPS CPUs, so they have to discard instructions anyways}.''  The
+instruction in the delay slot is actually executed {\it before} the
+branch is taken.  To further complicate matters, values from the
+register file are loaded {\it before} the delay slot is executed.
+
+Fortunately there is a very elegent solution to this problem which can
+be expressed in JVM bytecode.  When a branch instruction is
+encountered, the registers needed for the comparison are pushed onto
+the stack to prepare for the JVM branch instruction.  Then, {\it
+after} the values are on the stack the delay slot instruction is
+emitted, followed by the actual JVM branch instruction.  Because the
+values were pushed to the stack before the delay slot was executed, any
+changes the delay slot made to the registers are not visible to the
+branch bytecode.
+
+One final advantage that generating bytecode directly allows is a
+reduction in the size of the ultimate {\tt .class} file.  All the
+optimizations above lead to more compact bytecode as a beneficial side
+effect; in addition, NestedVM performs a few additional optimizations.
+
+When encountering the following {\tt switch} block, both {\tt javac}
+and {\tt jikes} generate redundant bytecode.
 
 {\footnotesize\begin{verbatim}
 
 {\footnotesize\begin{verbatim}
-ADDIU r2,r0,-1
-BLTZ r2, target
-ADDIU r2,r2,10
-...
-:target
+    switch(pc>>>8) {
+        case 0x1: run_1(); break;
+        case 0x2: run_2(); break
+        ...
+        case 0x100: run_100(); break;
+    }
 \end{verbatim}}
 
 \end{verbatim}}
 
-This piece of code is executed as follows
+The first bytecode in each case arm in the switch statement is {\tt
+ALOAD\_0} to prepare for a {\tt INVOKESPECIAL} call.  By simply
+lifting this bytecode outside of the {\tt switch} statement, each {\tt
+case} arm shrinks by one instruction.
 
 
-\begin{enumerate}
+\subsubsection{Compiler Flags}
 
 
-\item r2 is set to -1
+Although NestedVM perfectly emulates a MIPS R2000 CPU, its performance
+profile is nothing like that of actual silicon.  In particular, {\tt
+gcc} makes several optimizations that increase performance on an
+actually MIPS CPU but actually decrease the performance of
+NestedVM-generated bytecode.  We found the following compiler options
+could be used to improve performance:
 
 
-\item r2 is loaded from the register file by the BLTEZ instruction
-      
-\item 10 is added to r2 by the ADDIU instruction
+\begin{itemize}
 
 
-\item The branch is taken because at the time the BLTZ instruction was
-      executed r2 was -1, but r2 is now 9 (-1 + 10)
+\item {\tt -falign-functions}
 
 
-\end{enumerate}
+      Normally a function's location in memory has no effect on its
+      execution speed.  However, in the NestedVM binary translator,
+      the {\tt .text} segment is split on power-of-two boundaries.  If
+      a function starts near the end of one of these boundaries, a
+      performance critical part of the function winds up spanning two
+      Java methods.  Telling {\tt gcc} to align all functions along
+      these boundaries decreases the chance of this sort of splitting.
 
 
-There is a very elegent solution to this problem when using JVM
-bytecode. When a branch instruction is encountered the registers
-needed for the comparison are pushed onto the stack to prepare for the
-JVM branch instruction. Then, AFTER the values are on the stack the
-delay slot is emitted, and then finally the actual JVM branch
-instruction. Because the values were pushed to the stack before the
-delay slot was executed any changes the delay slot made to the
-registers are not visible to the branch bytecode. This allows delay
-slots to be used with no performance penalty or size penalty.
-
-One final advantage that generating bytecode directly allows is
-smaller more compact bytecode. All the optimizations above lead to
-smaller bytecode as a side effect. There are also a few other areas
-where the generated bytecode can be optimized for size with more
-knowledge of the program as a whole.
-
-When encountering the following switch block both javac and Jikes
-generate redundant bytecode.
+\item {\tt -fno-rename-registers}
 
 
-{\footnotesize\begin{verbatim}
-switch(pc>>>8) {
-    case 0x1: run_1(); break;
-    case 0x2: run_2(); break
-    ...
-    case 0x100: run_100(); break;
-}
-\end{verbatim}}
+      On an actual silicon chip, using additional registers carries no
+      performance penalty (as long as none are spilled to the stack).
+      However, when generating bytecode, using {\it fewer}
+      ``registers'' helps the JVM optimize the machine code it
+      generates by simplifying the constraints it needs to deal with.
+      Disabling register renaming has this effect.
 
 
-The first bytecode in each case arm in the switch statement is ALOAD\_0 to
-prepare for a invoke special call. By simple moving this outside the switch
-statement each case arm was reduced in size by one instruction. Similar
-optimizations were also done in other parts of the compiler.
+\item {\tt -fno-schedule-insns}
+
+      Results of MIPS load operations are not available until {\it
+      two} instructions after the load.  Without the {\tt
+      -fno-schedule-insns} instruction, {\tt gcc} will attempt to
+      reorder instructions to do other useful work during this period
+      of unavailability.  NestedVM is under no such constraint, so
+      removing this reordering typically generates simpler machine
+      code.
 
 
-\section{Interfacing with Java Code}
+\item {\tt -mmemcpy}
 
 
-NestedVM has two primary ways of executing code, the interpreter, and the
-binary translators. Both the interpreter and the output from the binary
-translators sit on top of a Runtime class. This class provides the public
-interface to both the interpreter and the translated binaries.
+      Enabling this instruction causes {\tt gcc} to use the system
+      {\tt memcpy()} routine instead of generating loads and stores.
+      As explained in the next section, the NestedVM runtime
+      implements {\tt memcpy()} using {\tt System.arraycopy()}, which
+      is substantially more efficient.
 
 
-\subsection{The Runtime Class}
+NestedVM has two primary ways of executing code, the interpreter, and the binary translators. Both the interpreter and the output from the binary translators sit on top of a Runtime class. This class provides the public interface to both the interpreter and the translated binaries.
 
 The Runtime class does the work that the operating system usually does.
 Conceptually the Runtime class can be thought of as the operating system and
 its subclasses (translated binaries and the interpreter) the CPU. The
 Runtime fulfills 5 primary goals:
 
 
 The Runtime class does the work that the operating system usually does.
 Conceptually the Runtime class can be thought of as the operating system and
 its subclasses (translated binaries and the interpreter) the CPU. The
 Runtime fulfills 5 primary goals:
 
-\begin{itemize}
+The Runtime class does the work that the operating system usually does. Conceptually the Runtime class can be thought of as the operating system and itÕs subclasses (translated binaries and the interpreter) the CPU. The Runtime fulfills 5 primary goals:
+
+\item {\tt -fno-delayed-branch} The MIPS CPU has a delay slot (see
+      above). Earlier versions of NestedVM didn't efficiently emulate
+      delay slots. This option causes GCC to avoid using delay slots
+      for anything (a NOP is simply placed in the delay slot). This
+      had a small performance benefit. However, recent versions of
+      NestedVM emulate delay slots with no performance overhead so
+      this options has little effect. Nonetheless, these delay slots
+      provide no benefit under NestedVM either so they are avoided
+      with this option.
 
 
-\item Provides a consistent external interface - The method of actually
-executing the code (currently only translated binaries and the interpreter)
-can be changed without any code changes to the caller because only Runtime
-exposes a public interface.
+\item Provides a consistent external interface - The method of actually executing the code (currently only translated binaries and the interpreter) can be changed without any code changes to the caller because only Runtime exposes a public interface.
 
 
-\item Provide an easy to use interface - The interpreter and the output from
-the binary translators only know how to execute code. The Runtime class
-provides an easy to use interface to the code. It contains methods to pass
-arguments to the main() function, read and write from memory, and call
-individual functions in the binary.
+\item Provide an easy to use interface - The interpreter and the output from the binary translators only know how to execute code. The Runtime class provides an easy to use interface to the code. It contains methods to pass arguments to the main() function, read and write from memory, and call individual functions in the binary.
 
 
-\item Manage the process's memory - The Runtime class contains large int[]
-arrays that represent the process`s entire memory space.  Subclasses read
-and write to these arrays as required by the instructions they are
-executing.  Subclasses can expend their memory space using the sbrk
-syscall.
+\item Manage the processÕs memory - The Runtime class contains large int[] arrays that represent the process`s entire memory space.  Subclasses read and write to these arrays as required by the instructions they are executing.  Subclasses can expend their memory space using the sbrk syscall.
 
 
-\item Provide access to the file system and streams - Subclasses access the
-file system through standard UNIX syscalls (read, write, open, etc). The
-Runtime manages the file descriptor table that maps UNIX file descriptors
-to Java RandomAccessFiles, InputStreams, OutputStreams, and sockets.
+\item Provide access to the file system and streams - Subclasses access the file system through standard UNIX syscalls (read, write,  open, etc). The Runtime manages the file descriptor table that maps UNIX file descriptors to Java RandomAccessFiles, InputStreams, OutputStreams, and sockets.
 
 
-\item Miscellaneous other syscalls - In additions to those mentioned above
-the Runtime class implements a variety of other syscalls (sleep,
-gettimeofday, getpagesize, sysconf, fcntl, etc).
+\item Miscellaneous other syscalls - In additions to those mentioned above the Runtime class implements a variety of other syscalls (sleep, gettimeofday, getpagesize, sysconf, fcntl, etc).
 
 
+In addition to binary-to-source and binary-to-binary translation,
+NestedVM also includes a MIPS binary interpreter.  All three
+translation approaches expose the same API to both the translated
+binary and the surrounding VM (including peer Java code).
+
+\subsection{The Runtime Class}
+
+The runtime fulfills four roles:
+
+\begin{itemize}
+      
+\item It provides a simple, consistent external interface.  The method
+      of actually executing the code (currently only translated
+      binaries and the interpreter) can be changed without any code
+      changes to the caller because only runtime exposes a public
+      interface.  This includes methods to pass arguments to the
+      binary's {\tt main()} function, read and write from memory, and
+      call individual functions in the binary.
+      
+\item It manages the process's memory.  The runtime class contains
+      large {\tt int[]} arrays that represent the process`s entire
+      memory space.  Subclasses read and write to these arrays as
+      required by the instructions they are executing, and can expand
+      their memory space using the {\tt sbrk} system call.
+      
+\item The runtime provides access to the host file system and standard
+      I/O streams.  Subclasses of {\tt runtime} can access the file
+      system through standard UNIX syscalls ({\tt read()}, {\tt
+      write()}, {\tt open()}, etc).  The runtime manages the file
+      descriptor table that maps UNIX file descriptors to Java {\tt
+      RandomAccessFile}s, {\tt InputStream}s, {\tt OutputStream}s, and
+      {\tt Socket}s.
+      
+\item It provides general OS services, including {\tt sleep()}, {\tt
+      gettimeofday()}, {\tt getpagesize()}, {\tt sysconf()}, {\tt
+      fcntl()}, and so on.
+      
 \end{itemize}
 
 \end{itemize}
 
-\subsection{Interacting with the Binary}
-
-Java source code can create a copy of the translated binary by instantiating
-the class generated by the binary translator or instantiating the
-interpreter. It can then interact with the process through the many
-facilities provided by the Runtime interface.  Invoking the run() method of
-the Runtime interface will load the given arguments into the process's
-memory as invoke the binaries entry point (typically \_start() in crt0.o).
-This will pass control on to the main() function which will have the
-arguments passed to run() loaded into argv and argc.
-
-As the binary executes it often passes control back to the Runtime class
-through the MIPS {\tt SYSCALL} instruction. The interpreter and translated
-binaries invoke the {\tt syscall()} method of the Runtime class when the
-{\tt SYSCALL} instruction is executed. The Runtime class then can manipulate
-the process's environment (read and write to memory, modify the file
-descriptor table, etc) and interact with the rest of the JVM on behalf of
-the process (read and write to a file or stream, etc). There is even a
-syscall to pause the VM and temporarily return control to the caller.
-
-In addition to the interfaces provided by NestedVM, users can create their
-own interfaces between the MIPS and Java world. The Runtime provides a
-method called call() that will call a function by name in the MIPS binary.
-The call() method looks up the function name in the binary's ELF symbol
-table and manipulating the stack and registers accordingly to execute the
-given function. This allows Java code to seamlessly invoke functions in the
-binary.
+\section{Future Directions}
 
 
-{\footnotesize\begin{verbatim}
-// Java
-private Runtime rt = new MyBinary();
-public void foo(int n) {
-    for(int i=0;i<10;i++) {
-        int result = rt.call("do_work",i);
-        System.err.println("do_work(i) = " + result);
-    }
-}
-// C
-void do_work(int n) {
-    int i;
-    int ret=0;
-    for(i=0;i<n;i++) ret += i;
-    return n;
-}
-\end{verbatim}}
+Java source code can create a copy of the translated binary by instantiating the class generated by the binary translator  or instantiating the interpreter. It can then interact with the process through the many facilities provided by the Runtime interface.  Invoking the run() method of the Runtime interface will load the given arguments into the processÕs memory as invoke the binaries entry point (typically \_start() in crt0.o). This will pass control on to the main() function which will have the arguments passed to run() loaded into argv and argc.
+
+As the binary executes it often passes control back to the Runtime class through the MIPS {\tt SYSCALL} instruction. The interpreter and translated binaries invoke the {\tt syscall()} method of the Runtime class when the {\tt SYSCALL} instruction is executed. The Runtime class then can manipulate the processÕs environment (read and write to memory, modify the file descriptor table, etc) and interact with the rest of the JVM on behalf of the process (read and write to a file or stream, etc). There is even a syscall to pause the VM and temporarily return control to the caller.
+
+In addition to the interfaces provided by NestedVM, users can create their own interfaces between  the MIPS and Java world. The Runtime provides a method called call() that will call a function by name in the MIPS binary. The call() method looks up the function name in the binaryÕs ELF symbol table and manipulating the stack and registers accordingly to execute the given function. This allows Java code to seamlessly invoke functions in the binary. 
+
+\section{Conclusion}
+
+The MIPS binaries can also invoke a special method of Runtime called callJava().When the MIPS binary invokes the {\tt CALL\_JAVA}  syscall (usually done through the {\tt \_call\_java()} function provided by the NestedVM support library) the callJava() method in Runtime is invoked with the arguments passes to the syscall.
+
+NestedVM is available under an open source license, and can be
+obtained from
+\begin{verbatim}
+    http://nestedvm.ibex.org
+\end{verbatim}
+
+
+\section{Appendix: Testing Methodology}
 
 The MIPS binaries can also invoke a special method of Runtime called
 callJava().When the MIPS binary invokes the {\tt CALL\_JAVA} syscall
 
 The MIPS binaries can also invoke a special method of Runtime called
 callJava().When the MIPS binary invokes the {\tt CALL\_JAVA} syscall
-(usually done through the {\tt \_call\_java()} function provided by the
-NestedVM support library) the callJava() method in Runtime is invoked with
-the arguments passes to the syscall.
+(usually done through the {\tt \_call\_java()} function provided by
+the NestedVM support library) the callJava() method in Runtime is
+invoked with the arguments passes to the syscall.
 
 {\footnotesize\begin{verbatim}
 
 {\footnotesize\begin{verbatim}
+
 // Java
 private Runtime rt = new MyBinary() {
 // Java
 private Runtime rt = new MyBinary() {
-    pubilc int callJava(int a, int b, int c, int d) { System.err.println("Got " + a + " " + b);
+    pubilc int callJava(int a, int b, int c, int d) {
+        System.err.println("Got " + a + " " + b);
+    }
 };
 public void foo() { rt.run(); }
 };
 public void foo() { rt.run(); }
-// C
+
+/* C */
 void main(int argc, char **argv) {
 void main(int argc, char **argv) {
-    _call_java(1,2);
+    \_call\_java(1,2);
 }
 }
-\end{verbatim}}
 
 
-These two methods can even be combined. MIPS can call Java through the
-CALL\_JAVA syscall, which can in turn invoke a MIPS function in the binary
-with the call() method.
+\end{verbatim}}
 
 
-Users preferring a simpler communication mechanism can also use Java
-Stream's and file descriptors. Runtime provides a simple interface for
-mapping a Java Input or OutputStream to a File Descriptor.
+These two methods can even be combined. MIPS can call Java through the CALL\_JAVA syscall, which can in turn invoke a MIPS function in the binary with the call() method.\r\r
+Users preferring a simpler communication mechanism can also use Java StreamÕs and file descriptors. Runtime provides a simple interface for mapping a Java Input or OutputStream to a File Descriptor.
 
 %Java source code can create a copy of the translated binary by
 %instantiating the corresponding class, which extends {\tt Runtime}.
 
 %Java source code can create a copy of the translated binary by
 %instantiating the corresponding class, which extends {\tt Runtime}.
@@ -784,130 +991,78 @@ mapping a Java Input or OutputStream to a File Descriptor.
 %\begin{itemize}
 
 %\item ability to provide the same interface to CNI code and
 %\begin{itemize}
 
 %\item ability to provide the same interface to CNI code and
-%      NestedVMified code
+      % NestedVMified code
       
 %\item security advantages (chroot the {\tt fork()}ed process)
       
 %\item security advantages (chroot the {\tt fork()}ed process)
-%
+      %
 %\end{itemize}
 
 
 %\end{itemize}
 
 
-\section{Quantitative Performance}
+\section{Future Directions}
 
 
-\subsection{Charts}
+\section{Conclusion}
 
 
-(Note that none of these libraries have pure-Java equivalents.)
+\section{Appendix A: Testing Environment}
 
 
-\begin{itemize}
-\item libjpeg
-\item libfreetype
-\item libmspack
-\end{itemize}
+All times are measured in seconds. These were all run on a dual 1ghz
+G4 running OS X 10.3.1 with Apple's latest VM (JDK 1.4.1\_01-27). Each
+*************
+/* C */
+void do_work(int n) {
+    int i;
+    int ret=0;
+    for(i=0;i<n;i++) ret += i;
+    return n;
+}
 
 
+\end{verbatim}}
 
 
-\subsection{Optimizations}
+The MIPS binaries can also invoke a special method of Runtime called
+callJava().When the MIPS binary invokes the {\tt CALL\_JAVA} syscall
+(usually done through the {\tt \_call\_java()} function provided by
+the NestedVM support library) the callJava() method in Runtime is
+invoked with the arguments passes to the syscall.
 
 
-Although NestedVM perfectly emulates a MIPS R2000 CPU its performance
-characteristics are not anything like an actual MIPS R2000 CPU. GCC makes
-several optimizations that increase performance on an actually MIPS CPU but
-actually decrease performance when run through the NestedVM binary
-translator. Fortunately, GCC provides many options to customize its code
-generations and eliminate these optimizations. GCC also has optimization
-options that are not helpful on a real MIPS CPU but are very helpful under
-NestedVM
+Although NestedVM perfectly emulates a MIPS R2000 CPU its performance characteristics aren't anything like an actual MIPS R2000 CPU. GCC makes several optimizations that increase performance on an actually MIPS CPU but actually decrease performance when run through the NestedVM binary translator. Fortunately, GCC provides many options to customize its code generations and eliminate these optimizations. GCC also has optimization options that aren't helpful on a real MIPS CPU but are very helpful under NestedVM
 
 
-Adam, we should cite "Using the GNU Compiler Collection" somewhere in here.
+// Java
+private Runtime rt = new MyBinary() {
+    pubilc int callJava(int a, int b, int c, int d) {
+        System.err.println("Got " + a + " " + b);
+    }
+};
+public void foo() { rt.run(); }
 
 
-\begin{itemize}
+/* C */
+void main(int argc, char **argv) {
+    _call_java(1,2);
+}
 
 \item {\tt -falign-functions}
 
 \item {\tt -falign-functions}
-Normally a function's location in memory has no effect on its execution
-speed. However, in the NestedVM binary translator, the .text segment is
-split up on power of two boundaries. If a function is unlucky enough to
-start near the end of one of these boundaries a performance critical part of
-the function could end up spanning two methods. There is a significant
-amount of overhead in switching between two methods so this must be avoided
-at all costs. By telling GCC to align all functions to the boundary that the
-.text segment is split on the chances of a critical part of a function
-spanning two methods is significantly reduced.
+Normally a function's location in memory has no effect on its execution speed. However, in the NestedVM binary translator, the .text segment is split up on power of two boundaries. If a function is unlucky enough to start near the end of one of these boundaries a performance critical part of the function could end up spanning two methods. There is a significant amount of overhead in switching between two methods so this must be avoided at all costs. By telling GCC to align all functions to the boundary that the .text segment is split on the chances of a critical part of a function spanning two methods is significantly reduced.
 
 \item {\tt -fno-rename-registers}
 
 \item {\tt -fno-rename-registers}
-Some processors can better schedule code when registers are not reused for
-two different purposes. By default GCC will try to use as many registers as
-possibly when it can. This excess use of registers just confuses JIT's
-trying to compile the output from the binary translator. All the JIT
-compilers we tested do much better with a few frequently used registers.
+Some processors can better schedule code when registers aren't reused for two different purposes. By default GCC will try to use as many registers as possibly when it can. This excess use of registers just confuses JIT's trying to compile the output from the binary translator. All the JIT compilers we tested do much better with a few frequently used registers.
 
 \item {\tt -fno-delayed-branch}
 
 \item {\tt -fno-delayed-branch}
-The MIPS CPU has a delay slot (see above). Earlier versions of NestedVM did
-not efficiently emulate delay slots. This option causes GCC to avoid using
-delay slots for anything (a NOP is simply placed in the delay slot). This
-had a small performance benefit. However, recent versions of NestedVM
-emulate delay slots with no performance overhead so this options has little
-effect. Nonetheless, these delay slots provide no benefit under NestedVM
-either so they are avoided with this option.
+The MIPS CPU has a delay slot (see above). Earlier versions of NestedVM didn't efficiently emulate delay slots. This option causes GCC to avoid using delay slots for anything (a NOP is simply placed in the delay slot). This had a small performance benefit. However, recent versions of NestedVM emulate delay slots with no performance overhead so this options has little effect. Nonetheless, these delay slots provide no benefit under NestedVM either so they are avoided with this option.
 
 \item {\tt -fno-schedule-insns}
 
 \item {\tt -fno-schedule-insns}
-Load operations in the MIPS ISA also have a delay slot. The results of a
-load operation are not available for use until one instruction later.
-Several other instructions also have similar delay slots. GCC tries to do
-useful work wile waiting for the results of one of these operations by
-default. However, this, like register renaming, tends to confuse JIT
-compilers. This option prevents GCC from going out of its way to take
-advantage of these delay slots and makes the code generated by NestedVM
-easier for JIT compilers to handle.
+Load operations in the MIPS ISA also have a delay slot. The results of a load operation are not available for use until one instruction later. Several other instructions also have similar delay slots. GCC tries to do useful work wile waiting for the results of one of these operations by default. However, this, like register renaming, tends to confuse JIT compilers. This option prevents GCC from going out of its way to take advantage of these delay slots and makes the code generated by NestedVM easier for JIT compilers to handle.
 
 \item {\tt -mmemcpy}
 
 \item {\tt -mmemcpy}
-GCC sometimes has to copy somewhat large areas of memory. The most common
-example of this is assigning one struct to another. Memory copying can be
-done far more efficiently in Java than under NestedVM. Calls to the memcpy
-libc function are treated specially by the binary translator. They are
-turned into calls to a memcpy method in Runtime. The {\tt -mmemcpy} option
-causes GCC to invoke libc's memcpy() function when it needs to copy a region
-of memory rather than generating its own memcpy code. This call in then
-turned into a call to this Java memcpy function which is significantly
-faster than the MIPS implementation.
+GCC sometimes has to copy somewhat large areas of memory. The most common example of this is assigning one struct to another. Memory copying can be done far more efficiently in Java than under NestedVM. Calls to the memcpy libc function are treated specially by the binary translator. They are turned into calls to a memcpy method in Runtime. The {\tt -mmemcpy} option causes GCC to invoke libc's memcpy() function when it needs to copy a region of memory rather than generating its own memcpy code. This call in then turned into a call to this Java memcpy function which is significantly faster than the MIPS implementation.
 
 \item {\tt -ffunction-sections -fdata-sections}
 
 \item {\tt -ffunction-sections -fdata-sections}
-These two options are used in conjunction with the {\tt --gc-section} linker
-option. These three options cause the linker to aggressively discard unused
-functions and data sections. In some cases this leads to significantly
-smaller binaries.
-
-%\item {\tt trampoline}
-%\item {\tt optimal method size}
-%\item {\tt -msingle-float}
-%\item {\tt -mmemcpy}
-%\item {\tt fastmem}
-%\item {\tt local vars for registers (useless)}
-%\item {\tt -fno-rename-registers}
-%\item {\tt -ffast-math}
-%\item {\tt -fno-trapping-math}
-%\item {\tt -fsingle-precision-constant}
-%\item {\tt -mfused-madd}
-%\item {\tt -freg-struct-return}
-%\item {\tt -freduce-all-givs}
-%\item {\tt -fno-peephole}
-%\item {\tt -fno-peephole2}
-%\item {\tt -fmove-all-movables}
-%\item {\tt -fno-sched-spec-load}
-%\item {\tt -fno-sched-spec}
-%\item {\tt -fno-schedule-insns}
-%\item {\tt -fno-schedule-insns2}
-%\item {\tt -fno-delayed-branch}
-%\item {\tt -fno-function-cse}
-%\item {\tt -ffunction-sections}
-%\item {\tt -fdata-sections}
-%\item {\tt array bounds checking}
-%\item {\tt -falign-functions=n}
-%\item {\tt -falign-labels=n}
-%\item {\tt -falign-loops=n}
-%\item {\tt -falign-jumps=n}
-%\item {\tt -fno-function-cse}
-\end{itemize}
+These two options are used in conjunction with the {\tt --gc-section} linker option. These three options cause the linker to aggressively discard unused functions and data sections. In some cases this leads to significantly smaller binaries.
 
 
-\section{Future Directions}
+%\subsection{Virtualization}
 
 
-\begin{itemize}
+%The {\tt Runtime} class implements the majority of the standard {\tt
+%libc} syscalls, providing a complete interface to the filesystem,
+%network socket library, time of day, (Brian: what else goes here?).
+
+World domination.
 
 \item Better use of local variables in binary-to-binary compiler -- need to
 do data flow analysis to find how how and when registers are used and avoid
 
 \item Better use of local variables in binary-to-binary compiler -- need to
 do data flow analysis to find how how and when registers are used and avoid
@@ -920,63 +1075,38 @@ allow running large applications such as GCC under NestedVM.
 
 \end{itemize}
 
 
 \end{itemize}
 
-\section{Conclusion}
-
-We rock the hizzouse.
-
-\section{References}
-
-Yer mom.
-
-\section{stuff}
-\begin{onecolumn}
-{\footnotesize\begin{verbatim}
-
-libjpeg (render thebride_1280.jpg)
-Native -  0.235s
-JavaSource - 1.86s
-ClassFile - 1.37s
-
-freetype (rendering characters 32-127 of Comic.TTF at sizes from 8 to
-48 incrementing by 4)
-Native - 0.201s
-JavaSource - 2.02s
-ClassFile - 1.46s
+%\item ability to provide the same interface to CNI code and
+      % NestedVMified code
+      
+%\item security advantages (chroot the {\tt fork()}ed process)
+      %
+%\end{itemize}
 
 
-                                          libjpeg  libmspack libfreetype
-Interpreted MIPS Binary                   22.2      12.9      21.4
-Compled MIPS Binary (fastest options)     3.39      2.23      4.31
-Native -O3                                0.235    0.084     0.201
 
 
-Compled - with all case statements        3.50      2.30      4.99
-Compiled - with pruned case statement     3.39      2.23      4.31
+\section{Future Directions}
 
 
-Compiled - 512 instructions/method        62.7      27.7      56.9
-Compiled - 256 instructions/method        3.54      2.55      4.43
-Compiled - 128 instructions/method        3.39      2.23      4.31
-Compiled - 64 instructions/method         3.56      2.31      4.40
-Compiled - 32 instruction/method          3.71      2.46      4.64
+\section{Conclusion}
 
 
-Compild MIPS Binary (Server VM)           3.21      2.00      4.54
-Compiled MIPS Binary (Client VM)          3.39      2.23      4.31
+\section{Appendix A: Testing Environment}
 
 
-All times are measured in seconds. These were all run on a dual 1ghz G4
-running OS X 10.3.1 with Apple's latest VM (JDK 1.4.1_01-27). Each test
-was run 8 times within a single VM. The highest and lowest times were
-removed and the remaining 6 were averaged. In each case only the first
-run differed significantly from the rest.
+All times are measured in seconds. These were all run on a dual 1ghz
+G4 running OS X 10.3.1 with Apple's latest VM (JDK 1.4.1\_01-27). Each
+*************
+All times are measured in seconds. These were all run on a dual 1Ghz
+Macintosh G4 running Apple's latest JVM (Sun HotSpot JDK 1.4.1). Each
+^ ^ ^ ^ ^ ^ ^
+test was run 8 times within a single VM. The highest and lowest times
+were removed and the remaining 6 were averaged. In each case only the
+first run differed significantly from the rest.
 
 The libjpeg test consisted of decoding a 1280x1024 jpeg
 
 The libjpeg test consisted of decoding a 1280x1024 jpeg
-(thebride_1280.jpg) and writing a tga. The mspack test consisted of
+(thebride\_1280.jpg) and writing a tga. The mspack test consisted of
 extracting all members from arial32.exe, comic32.exe, times32.exe, and
 verdan32.exe. The freetype test consisted of rendering characters
 32-127 of Comic.TTF at sizes from 8 to 48 incrementing by 4. (That is
 about 950 individual glyphs).
 
 extracting all members from arial32.exe, comic32.exe, times32.exe, and
 verdan32.exe. The freetype test consisted of rendering characters
 32-127 of Comic.TTF at sizes from 8 to 48 incrementing by 4. (That is
 about 950 individual glyphs).
 
-I can provide you with the source for any of these test if you'd like.
+\section{References}
 
 
--Brian
-\end{verbatim}}
-\end{onecolumn}
 \end{document}
 
 \end{document}
 
diff --git a/doc/tmp.inputs b/doc/tmp.inputs
new file mode 100644 (file)
index 0000000..6a46703
--- /dev/null
@@ -0,0 +1,2 @@
+\usepackage{pstricks}
+\usepackage{pst-node}