From 66ca927d5d04c284cc2fed57691c64e260cb3440 Mon Sep 17 00:00:00 2001 From: Erhannis Date: Wed, 9 Feb 2022 13:11:34 -0500 Subject: [PATCH 1/3] Updated README.md to include important usage instructions --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d63be8a..6e62703 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,27 @@ default). If you want to install to some location other than the default, specify the `prefix` environment variable. For example, to install to `/tmp/nestedvm`, you can run `make install prefix=/tmp`. +### Compile C source +`mips-unknown-elf-gcc -O3 -mmemcpy -ffunction-sections -fdata-sections -falign-functions=512 -fno-rename-registers -fno-schedule-insns -fno-delayed-branch -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec -I. -Wall -Wno-unused -c -o build/com/test/Test.o test.c` + +### Link to a MIPS binary +`mips-unknown-elf-gcc -o build/com/test/Test.mips build/com/test/Test.o -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec --static -Wl,--gc-sections` + +### Compile to a Java class +`java -cp "/usr/local/nestedvm/share/java/nestedvm-compiler.jar:build" org.ibex.nestedvm.Compiler -outformat class -d build com.test.Test build/com/test/Test.mips` + +### Running the resulting Java application +`java -cp /usr/local/nestedvm/share/java/nestedvm-runtime.jar:build com.test.Test` + + *Known issue: the version of binutils being used does not build properly with GCC 4.9... please try GCC 4.8 or clang* Below are some system-specific build instructions for this repository; pull -requests with steps for other environments are certainly welcome. +requests with steps for other environments are certainly welcome. The easiest +way I've found to build this, as of 2022, is to install Ubuntu 14.04.6 in +VirtualBox and follow the Debian 8 instructions. I think that route gave me the +least fuss. ### Debian 8 etc: From ce80866c4bcbfea13d08cd2b61a9a4b66f323a14 Mon Sep 17 00:00:00 2001 From: erhannis Date: Wed, 9 Feb 2022 18:00:11 -0500 Subject: [PATCH 2/3] Adding info to README as I figure it out --- README.md | 161 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 144 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 6e62703..0829f6f 100644 --- a/README.md +++ b/README.md @@ -37,27 +37,14 @@ default). If you want to install to some location other than the default, specify the `prefix` environment variable. For example, to install to `/tmp/nestedvm`, you can run `make install prefix=/tmp`. -### Compile C source -`mips-unknown-elf-gcc -O3 -mmemcpy -ffunction-sections -fdata-sections -falign-functions=512 -fno-rename-registers -fno-schedule-insns -fno-delayed-branch -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec -I. -Wall -Wno-unused -c -o build/com/test/Test.o test.c` - -### Link to a MIPS binary -`mips-unknown-elf-gcc -o build/com/test/Test.mips build/com/test/Test.o -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec --static -Wl,--gc-sections` - -### Compile to a Java class -`java -cp "/usr/local/nestedvm/share/java/nestedvm-compiler.jar:build" org.ibex.nestedvm.Compiler -outformat class -d build com.test.Test build/com/test/Test.mips` - -### Running the resulting Java application -`java -cp /usr/local/nestedvm/share/java/nestedvm-runtime.jar:build com.test.Test` - - *Known issue: the version of binutils being used does not build properly with GCC 4.9... please try GCC 4.8 or clang* Below are some system-specific build instructions for this repository; pull -requests with steps for other environments are certainly welcome. The easiest -way I've found to build this, as of 2022, is to install Ubuntu 14.04.6 in -VirtualBox and follow the Debian 8 instructions. I think that route gave me the -least fuss. +requests with steps for other environments are certainly welcome. +([Erhannis:] The easiest way I've found to build this, as of 2022, is to +install Ubuntu 14.04.6 in VirtualBox and follow the Debian 8 instructions. +I think that route gave me the least fuss.) ### Debian 8 etc: @@ -78,6 +65,146 @@ least fuss. cd /usr/local/src/nestedvm make dist + + + +[Erhannis:] After this point is information reconstituted by people discovering this +repo later, and reading the tests and code and so forth. God speed. + +## Usage + +### Compile C source +`mips-unknown-elf-gcc -O3 -mmemcpy -ffunction-sections -fdata-sections -falign-functions=512 -fno-rename-registers -fno-schedule-insns -fno-delayed-branch -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec -I. -Wall -Wno-unused -c -o build/com/test/Test.o test.c` + +### Link to a MIPS binary +`mips-unknown-elf-gcc -o build/com/test/Test.mips build/com/test/Test.o -march=mips1 -specs=/usr/local/nestedvm/mips-unknown-elf/lib/crt0-override.spec --static -Wl,--gc-sections` + +### Compile to a Java class +`java -cp "/usr/local/nestedvm/share/java/nestedvm-compiler.jar:build" org.ibex.nestedvm.Compiler -outformat class -d build com.test.Test build/com/test/Test.mips` + +### Running the resulting Java application +`java -cp /usr/local/nestedvm/share/java/nestedvm-runtime.jar:build com.test.Test` + +### Using the Java classes +You can create a jar around a class `Test` at e.g. `com/test/Test.class` with `jar cf Test.jar com`. +You can then install that jar into your maven local repository with +```bash +mvn install:install-file \ + -Dfile=Test.jar \ + -DgroupId=test.test.test \ + -DartifactId=nestedvm-test-classes \ + -Dversion=0.0.0-SNAPSHOT \ + -Dpackaging=jar +``` +Likewise install a copy of the e.g. unix_runtime.jar with +```bash +mvn install:install-file \ + -Dfile=unix_runtime.jar \ + -DgroupId=org.ibex.nestedvm \ + -Dversion=1.0.0-SNAPSHOT \ + -DartifactId=unix-runtime \ + -Dpackaging=jar +``` +(If you create a jar out of the sources in `src/`, in the same way you'd make one for classes, +you can add +``` + -Dsources=nestedvm_src.jar \ + -Djavadoc=nestedvm_src.jar \ +``` +in the middle of that command to install the sources, as well.) +Once you have those two jars installed to your local maven repo, you can +pull them in as dependencies with +``` + + org.ibex.nestedvm + unix-runtime + 1.0.0-SNAPSHOT + + + test.test.test + nestedvm-test-classes + 0.0.0-SNAPSHOT + +``` +You can then run the file in your Java code with e.g. +``` +int result = new Test.run("com.test.Test", new String[]{}); +``` +That's not particularly useful, though. See `src/tests/` for examples of +more intricate usage. I've gone through a bunch of the tests and filtered +out some use case examples - I haven't tested all of these myself, so +buyer beware. See original tests if you encounter problems. + +#### Calling functions +Given c method +```c +int test(int x) { + return x*4; +} +``` +you can call it from Java if you first prepend it +with a declaration flagged to prevent it being optimized away, like: +```c +int x4(int x) __attribute__((section(".text"))); +int x4(int x) { + return x*4; +} +``` +Then you can call it like: +```java +Test test = new Test(); +test.start(); +int r = test.call("x4",new int[]{17}); +``` +I think there are ways of calling functions with more complicated parameters and returns, +but I don't yet know how. + +#### Piping +If you want to pipe into or out of a program, you can call like +```java +Runtime task = (Runtime) Class.forName("tests.EchoHelper").newInstance(); +task.closeFD(0); +task.closeFD(1); +//task.closeFD(2); +task.addFD(new Runtime.InputOutputStreamFD(sock.getInputStream())); +task.addFD(new Runtime.InputOutputStreamFD(sock.getOutputStream())); +//task.dupFD(1); +int status = task.run(new String[]{"EchoHelper"} ); +``` +stdin, stdout, and stderr are originally created like: +```java +addFD(new TerminalFD(stdin)); +addFD(new TerminalFD(System.out)); +addFD(new TerminalFD(System.err)); +``` + +#### Shared array +Apparently there's an array you can declare in your C code with N elements: +```c +char * user_info[2]; +``` +and access it in C like +```c +char *fontdata; +int fontsize; + +_pause(); // I don't know whether this is necessary or what + +fontdata = user_info[0]; +fontsize = (int)user_info[1]; +``` +You can then access it from Java like +```java +byte[] font = InputStreamToByteArray.convert(new FileInputStream(argv[0])); +int fontAddr = rt.malloc(font.length); +if(fontAddr == 0) throw new Error("malloc() failed"); +rt.copyout(font,fontAddr,font.length); + +rt.setUserInfo(0,fontAddr); +rt.setUserInfo(1,font.length); +``` + + [1]: http://nestedvm.ibex.org/ [2]: http://article.gmane.org/gmane.comp.java.nestedvm/185 [3]: https://github.com/ehrmann/nestedvm From 02cc9ba3c9e85c893b3455d04190aa452b7d6b23 Mon Sep 17 00:00:00 2001 From: erhannis Date: Thu, 10 Feb 2022 19:24:04 -0500 Subject: [PATCH 3/3] Finished reading the tests and filtering examples into the README --- README.md | 71 ++- doc/ivme04.aux | 49 ++ doc/ivme04.dvi | Bin 0 -> 56328 bytes doc/ivme04.log | 1636 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1755 insertions(+), 1 deletion(-) create mode 100644 doc/ivme04.aux create mode 100644 doc/ivme04.dvi create mode 100644 doc/ivme04.log diff --git a/README.md b/README.md index 0829f6f..e8c6aff 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,14 @@ requests with steps for other environments are certainly welcome. install Ubuntu 14.04.6 in VirtualBox and follow the Debian 8 instructions. I think that route gave me the least fuss.) +There IS a Docker container, which was easier to build: +```bash +cd docker/debian +docker build . +``` +...but as of this writing, I don't yet know how to actually USE it once built, +so until I figure that out, Debian VM remains my recommendation. + ### Debian 8 etc: apt-get -y update && apt-get -y upgrade @@ -131,7 +139,7 @@ You can then run the file in your Java code with e.g. int result = new Test.run("com.test.Test", new String[]{}); ``` That's not particularly useful, though. See `src/tests/` for examples of -more intricate usage. I've gone through a bunch of the tests and filtered +more intricate usage. I've gone through the tests and filtered out some use case examples - I haven't tested all of these myself, so buyer beware. See original tests if you encounter problems. @@ -204,6 +212,67 @@ rt.setUserInfo(0,fontAddr); rt.setUserInfo(1,font.length); ``` +#### Memory management +There's a bunch of memory functions I'm sorta hazy on, like +`malloc`, `free`, `realloc`, `xmalloc`, `xrealloc`, `brk`, `sbrk`, +`memRead`, `memWrite`, `memset`, `memcpy`, +`copyin`, `copyout`, +and some string functions like `cstring`, `utfstring`, and `strdup`. + +#### Pausing +I think you can pass control back to Java at will, by calling `_pause()`. +In C: +```c +extern void _pause(); + +// Then somewhere in code: +_pause(); +``` +In Java, I think: +```java +rt.start(); +boolean exited = rt.execute(); +``` +If exited is false, the code simply paused. (Or maybe something else +happened that had the same result?) + +#### Callback to Java +You can add a callback in Java that your C programs can call. In Java: +```java +rt.setCallJavaCB(new Runtime.CallJavaCB() { + public int call(int a, int b, int c, int d) { + switch(a) { + case 1: return rt.strdup("OS: " + System.getProperty("os.name")); + case 2: return rt.strdup(System.getProperty("os.version")); + case 3: return rt.strdup(new Date().toString()); + case 4: return rt.addFD(new Runtime.InputOutputStreamFD(null,new CustomOS())); + case 5: + System.out.println("In callJava() in Java"); + try { rt.call("backinmips"); } catch(Runtime.CallException e) { } + System.out.println("Back in callJava() in Java"); + return 0; + default: return 0; + } + } +}); +``` +In C: +```c +extern int _call_java(int a, int b, int c, int d); + +// Then somewhere in code: +char *s = (char*)_call_java(i,0,0,0); +``` +It feels a little stilted and cramped, but the former could probably be solved by wrapper +methods, and the latter by passing addresses to structures. It seems sufficient, to me, +if not perfect. + +#### Probably some other stuff +There are probably other things it can do that you'll eventually want to do, which I haven't +covered here and probably don't know about, but I think I covered most of the functions I've +seen. + + [1]: http://nestedvm.ibex.org/ [2]: http://article.gmane.org/gmane.comp.java.nestedvm/185 diff --git a/doc/ivme04.aux b/doc/ivme04.aux new file mode 100644 index 0000000..3594f45 --- /dev/null +++ b/doc/ivme04.aux @@ -0,0 +1,49 @@ +\relax +\bibstyle{amsplain} +\citation{ibex} +\citation{jni} +\citation{cni} +\citation{j2me} +\citation{msil} +\citation{parrot} +\citation{python} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}\protected@file@percent } +\citation{jazillian} +\citation{mohca} +\citation{c2j} +\citation{capp} +\citation{ephedra} +\@writefile{toc}{\contentsline {section}{\numberline {2}Existing Work}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Source-to-Source Translation}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Human-Assisted Translation}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Partial-Domain Translation}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Source-to-Binary Translation}{2}\protected@file@percent } +\citation{egcsjvm} +\citation{lcc} +\@writefile{toc}{\contentsline {section}{\numberline {3}NestedVM}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Mapping the R2000 onto the JVM}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Binary-to-Source Mode}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Binary-to-Binary Mode}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}The NestedVM Runtime}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}The ANSI C Runtime}{4}\protected@file@percent } +\citation{jmm} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Trampoline transformation necessitated by Java's 64kb method size limit}}{5}\protected@file@percent } +\newlabel{code1}{{1}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}The Unix Runtime}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Security Concerns}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Threading}{5}\protected@file@percent } +\citation{hotspot} +\@writefile{toc}{\contentsline {section}{\numberline {5}Optimization and Performance}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Binary-to-Source Mode}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Binary-to-Binary Mode}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Compiler Flags}{7}\protected@file@percent } +\citation{msil} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Overall Performance}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6}Sample Applications}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}FreeType, {\tt libmspack}, and {\tt libjpeg}}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}The GNU Compiler Collection}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}\TeX and LINPACK}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}\protected@file@percent } +\bibdata{ivme04} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Future Directions}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Availability}{9}\protected@file@percent } diff --git a/doc/ivme04.dvi b/doc/ivme04.dvi new file mode 100644 index 0000000000000000000000000000000000000000..fd9ff6fe0b47782b8762664335e74d9aaeb1aa2b GIT binary patch literal 56328 zcmdSC33yy(*+1MlXA)W{P~b1ST8h{dlF*HASRf58Ep&sX1)-pmnUiGN$;>ckrfJH) zDFqsPdhjqXXi-6^f*`&Ef*{~PSrtT4mRiFiB0EL)<@^2a=XuVYq~Oc-e*f=!{c^D+ zGv_?Z{oMQZyko`AS$F5&2M@uI{g1sywmHX*%$17yQgP(?vE#=#kHtSzr;VF9e&U6A zBF4x5yPr?+^V*m5iM&&A)2p26lg3SK9zXS3sVHEX;@@Be+v*zOCz(LQ9`EfZwQZSwg{Aw9YH)Qmzp zk@c)!Kh%=Rq@7}4-<8{6dMRG{V)l(KU)-?j<<;RU^?YS=@xEhn$u7q&I)wml&B?mO zbg@))xInD=Z%jHzrHH}?Fec8`pcEMT0c+m|J#Oq?|Fu%z2u zNEe%(RH+X?Yu2bWuZvB2;<%?;Qi*OZZl2SbNUk!ATNm4A`HS~0&H@HFgkmojg6Ufm znRG|4kWD8V{TWVSxs!3!BG$!56lXo%En{%HcKxN9lk@hi-)qCAeOJWZ$2noy@7?;$ z6(8?DWXNlKb~%ZZQ<$Ea(4I&xce1Ib)QWW8ZO#{RSK{o}Y#A?b9fo7%Q5v{zYU@h7 zf&Hu3Q@LcR+sPIy_OIUPNw|KoH}AMkv0QS~*-roPW`AaL`KWBE*fo0XS#w=KS4elJ zvxy8~*S5y{_>7miCuQ{&Kv)T{p=}ITN0_%hmIaqtH*j2GkI4KFlNoSmt zpU9?sXQh+GfuzcqHCkk#l+o0U|2)pvd1sX0o{ge%mEZ`u2d)|9bZ<1899W^8d%kJ4Q?sf<>Lfe8~ud| zH<`%baGt*jyO@(nkxWCjDDHGALGk8`f1m*N56uHvY1DoVLFRf z2Wxti!5PYtJ<8mFj?Lf6S@lwHG4gv*OQY#YKBF@tdtlfW`15sD3-K&nq z6u*Wh(>&{@@287^S~*04L?;g>n*&xQaRx_COBXBF>qo*V;x1 zZXA4jIs*pceKKT*yv*ku4tR1&kq(x$$JlJnv-TL5#~e)td}PU8rEb6*5OE4CNNc$) z#u)h)X)rD5QWT6LEHTVsL$W!)y_C+Re4YqCbN%jIDm^@@@UOY=$L36}u0s+TH;3oA z968we0=AW`%-!NCK=8gxqOcF6u<2WK_`ZMYFWqGHw+89`OJjB1cUGA{j2*gfd z*ja_|0?1CA_sQ4|;LR0l#A6L$6`nQXkFEI6M)Cna>5Rb~d$!8D%87#Sl#`_b{+BIg zdiiKNTh14J(haePxDZ(Gv4Ba%a+d%q`9z^umQ!;4IqlBM@^i<0lmA z3#MRAPKsEzuy!0l?05NYC*hXl@QF`uCHA|M)7cbJ1n>LpIInUt0a>6cD%S>;@K4YDFH?Ys}$BkVHeEt23 z?!z?FNf0w@tuYk zi6XLDX51GFUe{(a+q9s%8%9T31g4iEAguRDr6MpTxB}jL0=`@suc1PZJhJ%nn zqZ2S@x)8)Z{EhI`0yxqN?zT5q%63*_AKpnx4Gset2gTdv61x3F5%WVAnR+&OQz!r+ zqwrL_Y%h^2LRNG@olzPCmXOawxB|_gh4ZJo`4fVBO|^m6z2Hk>m3PVdFdh^PQ@-=2ueP3{v6LP zeeHxbA$dY+E4Oa_DTbt~u^gHd6?d*#;q7a8cL?!!SFG3W()5!s62EMuCv-38zexvDlAs2_(4%8^|sQoxO5CgHm2;gA@jP!xN>y%I&@q}p01^k9)d z4}5Kt3w0I;3*GIoA;}!rP9f|1RZ_?%;zL4-aG-_ys;c!P8EBDtH-66cX}1zTX9tCd z34nPSv^D(_VKo9#3UQP>dF#eTt~YxcI=amivA-&g8l|D^~O0ySH9RwgKq z8@;+4zfAn78}c#MX9f}6_}M235i}M1`V%QBx}bWH6{NF)ef>#^a(EzIQ_)#T+KO*C zF`Z3jN~sVqm^!d8+YEIIb|Rz?Fo0r2Fn}vb`7V?Ze#cP~Q0bv+5yi|}Kyojx>o;JT zm&k%R3)N;Xe(zf?sT7!I4#tPU9ebB|9B4K;BhPvfBtvCbNMB&fMF!UVp_FQcwXa-U zqK1MeQhou^HLtL%_y>DCkDBLc%c;-naids@xtMP$K+B`F6Nd+Ar~tHhk^}Y z0<+8r$_DoI33^fP!Jd8FLmFZs=W%^O8S0`w*wA!xS}>?^sbsW)wfZ5=_NmT+%#0!7 zS*ssT(0b+iis^1gc8&urKoSw?;W)7Upf(nj5)jzuRdb;I^X}2owFvPAjiTKtr<{By z*9#@WtFNr4US9_1RHm7Lr^Xio>(Ac=EAnxmG%a#GePe)N4;>{82rF1tCTr=0>%kl( zHytj?r|x{}=^$R~)YHg+mS=N4)D3*K8uGp}ch?Mk_m{-sa9abB*;<`;bKQW~s@slS zGOuE-`e`0!5Ej|(ufP%^KU~jRb!#Yw$IqKtjxc$%I+vQa@S;>saEq2kD4V!veTu>` zqKIQJ9UUs?6?;q#LjPr>8<7)J(X@j=}q6&mLZ^4J8J9 zA_H=`|JOah`B|q^=}4wwt6`X~1pFwoPJ;=kMG6^V8Y2PoMOd26iOisq6xjQJMcdL9 zd;fj4aCLED$*wY_`Mh*eIH(J`FxvH-=g(~O>@hDy4!+Th3AGt!?qNd~Ccu5bbg8&Q z2dF3&9ZG<|uos*TqE1`t>icr_!~y)nuG>L4UN^Wi97`3uZhO)vsY$$w)J9V270?({ zTwq5olgahK7>lDS@&N__gyU}mgvdTSaTY=h<0=#A2^>)>y;JH;O8-WBWM1h&=9oHTKR@TMxtD> zf%U};V6f9o^2OC)XDJ5)HiKo{@tZ|zTI>b3BA$RE3cE>8fb)d|(Sono&o+zn0$z6m zs`0sJ326rQvzLJ*^+Ffb2bY6>mFw{AXDj?WVot44H7Q1ZF?`=6o(+ z$|PV-&Ax?nsa+GWp_O9-i+HYGxxdPkpHPsLE6@y;0Ari*8g!dXFSu02p71L0-pq;( z^*D*;S@>UYL_~pn4z>v`8}mN!j)dM(f=HxmjoubfL&QLC?&Ht;FNq%Bzv`KBeSH@( zd|=_<&-1hYR?z`CoUi!kOpGUf=f92b^M-dkZ#<=*z4$|H_K532EXrV|bGq6F4iFzU zOE69xfH{)1Uno0RYJ`%#_^_GSz33G99L_V63>dEH{TvD)q$&rcZCFc!c5D#)Kuq&W z>;n&&2j#=fJ4raID3;_b1+!b5in%6;Qb3KvP(l!S1kHlj#*c-oX&IM;PS@?lHhx44 zgkQQ{km71B)Jw?Y6!mkcR64=UOjC|desV%GmvNo^^zn^C%su>l?1_5j6S9eJXSzG~ z#5HRt?WZ^twKp;;FomSk=N)|XdHSJoC$918ECUh{`+t4b90h@_y9} zz!8R?eGLf_gw?1?_l$?HSLS1sFDoVPp(7OZ(W`{J8=1 zw~vz@{Qdy0j7F3!Kuw<|a{^!(jM6fy$DQ7E2$T@Q5FW0^;qak-JAgU|WgV6d^z3hc zm&`@ufbvj566q5FPF#8lzaM-;qO&DItRoKRNh&5>i&jCC8quoR25bU4k^K&*$L~mV z!{3^qI>Qweb2!y$dU=r}rctYoxG@V;sW^Sw;s2M)haWjdyppblkl_eHe8zR5CJCc< z#6Xm%tQET$l&e@PMrw773hj!0I_Nm0E?3s}xTDN)V8J;XL`Lax zpqSNf{4>})<$C?bzm)ROJ>UT)rid8Ox(%ckK7&33u}q00XAV6Dp5^Opk|z~?hirs@ zz{!g6OkcPUQAJ_U8Zzc{O4%?&)esJTzTIyAqvD@iCQ5j!=1i5~>gMsy@B!{PJ-LYU zKKiPfmw#Yh&pPuofcl6VYa{lpAJO&~MOSTLwRIb3cEkTqhO0BgD9nFdZ@N|)|<1EA%=efOb zNOZgUctq&c43UEk4s|)e{ZIY?d!k}}@+iz_t$TkOAwUVAvl%Kr9CA@|(2Opy9$b|$ z2v8$Os^yH?de(!zKoHt)jPWb3s8=D8B&dSB4g*C6_AT4UBo+IXq4KKH!2ARZog$o> z5gO4Ww3mv3-87~H8fnFDYG~+9I|ww0EK+{=xWwljc zh?LS7aYk`CD#b(;PSOylXkBdQJD!=%;8#-%ym)l`d>R35AOXpH)gu$DAah`22lZcC z8L_P@^Vs1yG6N8(!p$;iYg2guC3;&R3WwaclU+fA{tsZ9nR2u5-IUYiffLz z6b5iRpuctdt$>!Sh~J5B5Y#uHuUuB!>^}xT1e7q6fiIMugzt8fFVb%l@irm8Rln?d zGQ3u=KK(u8EpPUAJaSIBTQCH#e%TGBEQ8!i*%80DECG(cx~bUsKM5KZ+YmKtS{Ei zfUBze-ZE;0I1@;K(DUMCB?Pd|&a<$T5C;Cz{$y98uzyh3(czBsr~7WPkj(csxZ}rE zN11g{Y*g&~uUp!`s91mqsy#fuItsq&&KU!J)As$>iV2=_oV*#sDC|Mqo`*thuiNtw zjLHa*oGE1-S+LSkoN}vIx5qgKT(u!UK7W9k3px@^Pnnp=!Ct&_2`z4V{o<284i5?T zfC(c;J!=f$y>K=hPQU^2J6JEAvuSA?r5XOABMR}2Lb-#sXkqQ*Lsj~QS&xEVXl22G z%oUh!(cBE*+0hN*8mL?KG5WDHA2)%LX#98r`c(I$FR$g%GVG2F*J>!0m`^s?? zg{#%_Es%O1=3UEq?M^Q|pnkZIGE_XZZa6Nefrx5Hha)VkL?#3T?XkeR^{?7CAQ_5t zf#EgJx^;5`Q6`?a@Akrdy%Jz7JMiqqr#)`G)8SB|o4OKvudTM@(QXiX;TnTVaFHXO z#_?h=Y{1sQEu5@N|8gVz|I5Rnh_CkCSCKhj&wT|f-1r5#d}zj465ZQyu^==l9w!w( zZ_;Lw0g|B@L_7oQ+V6vW>EHtLWIgNJ?}3rveVFv-F*<+iPA+ zJ|oc`uz#ge2}%j)AFnw7!nLIKv?)&Xnwy4l^81Kd`nuLJPfOZFy8tgkB3A4*)(DpicVTT#1;L`8%i&ITKqR zQ46Sz1=(rE&lloFa+2)ML5>blGF?2_vvxlob{H`StOO5;TT2nUiq^_8>U=OdHN?vMY%`Du~^?MWnj$L-<8i8Yf&qKX`UNbRxzgbKPk` z67-5xE=YSb4EGRUe6(!15?{P9B^V2SCypbtc;QuyOZ58MC^GNoa}_HB1L zQSOJ50J{R8R1qJ;2dOmU3J}ixtlN=jEm?_K6?cVWpVf8OYif%V(FxFPGecPf%X{)YA3&sB03 z0#@KhnKUvmdtm?~R)fzOL{c&Ka1Sto6lo&Y%x;B;AfaPWI2_Mzy%;ZMkeouL3@D#L zEFS*OKfbMqh`f+b9M}vZr?SH^x)YV>Fv4cAD4q6Ia*>+q zGV$V97q?Kwq{pt5p$l$zsQz%`gyYde5?FpLp@t)`#X>LuP!-u$p5-$IVpAfW@~c8i zWwUFzIlDsVYBE>Kq=Ir8=S3l|Q#}b{Vky!+3Z(N8x}>3-pH;Sa#k%`}tUfx?n2SFW047eNKMb0CQz2eB<~0?BS$3jI!J(rsF{qT3&!ns}CVH*yN# z+(FVLy;x10`ilr!G0g-Twd2Lpdv}15NI^fpVb*E>!elmr0a{f5vPFx^G}@zOx-r*!-K6O4FqoWb`~Ih3N5t>x*3_rT-Wd zC_`Aokf)2pEC#%QLKLcbB)!deMj(W0o)PU4QJ(Y`&)#^KsMq#=qc!4H?EAh-4V%og zKa)(>P)~({btb15-+!#mU@(i|(@o0&1X%j^n1BY-`T*WFdWk^Y z`h2JaFCVQG>Wa0z!Q_@SFm*OrWg2Yh4L4VYw7`4t=|c@({>7TSWx7#@kuA7Lx!vXXI~%5efArao2!RX3I-^|n;w9&D2Uzh7F?sTJN^aNoI^Q?d_v{V zA@-E=u+QN6L3rtoe^IK#=i@>lx7JT-!`D!q4C2734XiizV+=P_bK15;&b;xJ@DThe zq`W|%*&;nqUi4BDJT(S*OtU*- z7+v+)qwMX3ZAA<0B)Ngw_d3=X&7rOAS&0X^9L~+RxmP`+(scrR+oRQHh>c(SyE+)8 z2t%u;CReeyJqD=Ljbmg+P%@WC`UNOO50c~YKp%oReFQic+^H%`AV~L}uM-~`o@Bbb z>qlU26m}v_QF4HT*h|a8yihOpQW}h*e?Ii{g-RWtxl(e)ps!RVW6K;eIhbe9)O9lU zh2V695_xm0N&PvL7PB^X=~;I8E9M=Zpv_W=-ApIE?3w37#qqYk^|@!}YAc>Gx0X&-J(7028CbyA z)ftX3p&-8VRpzX`_|DBWPo2^W@Y#<6IH|>u?c!Yuz93#dl~krBD$`=Tc>NSHU27s0 zJOSP`SQOkJ-c)i*e7?Zo^jFjL=-&bg?GTd@PIkNLS7I;nbB<5%H}ONf-+0}u0Re`U zLA>P;#e}<@);dI9u}j&uVciH%%c#2|iLe48_8`9B>Eb$dD)If!Q1%W)Zdtt#j~Imo z8H&ydaG3JL^()D4y;lN`Kq$O7ljuq32zE32G5$erLqi=f(}o{F!wMk2ZWa?*$Lv5f zQk*B@Go7ueC@VseAefDj=h(j4Fk%oeEq=_JM;?FVpl1vy|DmuCU*|7?wn`s1C%=e% z06BuMh39Uq`WxgC2x-;pgt>X$8}gIW!2&iZKSa5TO{a?nkjQNata&3h37vqES_`4{ z!I(z^6!S@-Zq3_AsFEh3s1|0sV2+?Jvo9dGQ($rm*pWT?Nn||I+GH`|DhZeqcG2UZEuOgy|$MKjv8`9&M<1Wl9U8q zYX;EJKotSfRw~xi<t_95`EYk>||k5-7$%*aM2GMmwBoVC^_TPf)RT z953D;W@3dr*POZUf-$oARlkeX5K7Fkg<&}yn4QTf*RWtCIjMmU+|t&iZ$=n&#k%y3 zB(gMkbO}iuL%9PgD^OLzv_CGA=C`o*LK@6lLLUlrsqX60WiaxE2B0y2BO%$rT6i>JDAqf6Vx?W5@bc2;W8! z3Eg+(VmLwb9xSB;yQw@eMK^ZK8aUO8mDnv8k@;+&6AwjMtP7B_QdyO4B%v8INDGkI z`GCMaex2*C#2$YDYx81{-w%>y z3U^t#9^rxKhYf@tQu>g_*F>FkOlY(T41_J9C}|g@XXX3`WurLog>{VKmXT9|04yk+ zlrJC9ATdi=f?{G-3X7=0FXzExMHB=&@$Fv`u_~O1l0zwVa68?^AtNH#3{-|T$?y~}jN-dH0lt_MHebnX5MFrNEo&tFypY=;m zt22VKQHH$I#XW8<6A(T(Ms<)}h~rO3lNohkBedUb7Cbr!9_YI;)~A(idiGu5&Ok$5 zxfyYB3P!4&dzwnlE&vT2rTeeoVcPrmY*KZf?I;511^}7yVUA!hmlK~1Q4AFp)@}b( z+x)^XQKwM?xouH=qh#Dglfla2dQH%h{!+pXPSnsPs7{21gMs~}y#NK2RsccB&GWz+ zqzz-yi+`{Q-Uq2q6;<7AH5{di@UwLh{rjGE(QYD@%;J@k686K-&Vi>DBqafA5!xzC zk8j{b@n@11hr0}{O)xdN;IQ(QCzO-AEz%;H9eD?m63QwdinYe?!sf9DC@W?#(K?W? zJvnj~Zdt-@z@$}Fh4!CBGa5DT$Yl`eQPu}y#=vCY&hPC;f8~3-%6gfbBN7ow50d7= z(s%6z#XUfh$f&kL(?$z0Uqr@Kj{QXx`3Z_o?iwcNC_8AZ(0aXhEay) z2RUmh@nJa?*#Zt~ISHpdx;6AdXd`qDTnN3;GJWiyR~i<8l=2Vm$I64)KW_yygGPxw zWhg8PQMAQ_B{`x5nuW|+1pmvidjQcY_OajO>-Mn;i4E1bURkp|px5`Nl0R_}5kAc2 zW_h9+jV`*tx+jxD=@)e~ISQkeK~vJ9U$_-ODfcWFiiMIwdP`?Jh{&P<3&;)Q$5FS; znA4OBFjK(_J<@(bg6hJEsesJ;}4LOLq8Lf?ehfl4EfeexCT z6AAgR&W7W+7-X*acoA&&=h5uZD~hO?5VMIT|ado z3hA&>?R`4oL|7q(0`yj`wy&Q7h+BjVZi={Y>;Ryaz2MzlcEe*me1+xA~NuuF=m_MWyNE7f~ z)?Kii57lJWe{CROVNQucsU?aAWDtAzr)uBOu2IZ3NUa32dr;5`+=Q-t{U(NG2ZIuyO71gl47CW z(4ZE>UG#oA@&zSmJ{P6HdefKz?48CLG-C+Qa0w5 z)qV*deQhL19x!HS0eM%sf-|xkM+>HpA5GFNTUD0EU#e2rR^rL{*1#wuKhlNjJ>Mp3*Yu)d2Ish(w+Wl5WxdD))z-HW*};iJ}f zPt%y?qKF1m9gYF(#yV#>7jn*aoF0?--`M)REdO_?8!~=v$qy$sqZ0=BO)XB0IDKH9 zcc79U)_Kifa2!-L3t<=HDJ0vZi&_~D@D@-^MvjN=3Sb|2b=UryTsp8P9iR@nVo%y% zv?aWO99-dTY6Yr9mHinEa8N%->j*(Ydyl>GD`^OEq4R#C(_~bFmAxQ^eNmo6n7~(3 zgoeMz7eT69WqVprpKZVySWh316GRoOvj4!S$Q+(No1uiK&jEuJUnn0p27kzmU?O7@ zxW{+pn#ig>d#-5HvTL;`mCk|_?a#vDO-KB9_9l>Mv9*Vqi@ZR#pfVTefF_=ET7e8s z0UinE>k(Apx8RS76u1~`g%Ho-M&K;m|SPe(k4WXbl( z6iok$Ju;aElLzTh6)#gHLzLBWg$C;v(bXI_gwYlxzxA{7ivRC`l;a0fnfldI;T&h- zmA06<6B7#z?B|CHh1<_vF1{M}nh^aXGQSMPRq2V9pYHZkL3z;L_I{dCJT=Jedu=6M zQ5Fv5>GkZ}PgCwkY*LRyVU6(9Xt#+nRkb4u?3Ei~DWxQA1**m7;14Qz_R4!1&PDcX z(VJri00sosF2`d2inYseZrFYT&QOKyRKq~%gBDfZr2NxpG<4JrnS!O*51wE*-!qMi}~p{TmS2?1`IhX^_? zPnxKd$uQwe4@9Xcs(>h;L|fxT94N4`KG9j&1cX)x;WGy&|IuGJDpJ>=8; zqPlMK&_RKJ3tC$YKB*%5;cTgl|)fp<%)(=02ch z!oKwKCtTQC?EM1kP#~xauT?%AVTcjJfCg7Q2){oylEH;n;t#cOi9!6q%K&{7fMMad z@oaeUhh_*Bbi(HVCo8z1o)MxD=}&-g6V<`M8g)7L2B6|oM?ONBqTw{Al#TkHc9FA` z8O#LITAZ6)H`3y!L?@`&Q(AFE+^6b#feb!z8bQ#Yz9fORKOp`ot*HOg(lW9fX#O`y zABiCL=JO(=VAZ_&_s|lGz4;h0RHvIb$OmCprMx)=qedXo@)(v-vF81ehznkXur7&@ zYIiv_#EDy=|8|8l*ox|T_vyfH$w;X`fjyY}fU$BYs9DfD!Sg4K7vl%UNw(9tZAfjK zCp4pw7X@cCOg{HlprKX7G`UzqMK84e3(v@K>f?0N~7Twn5?Q3MuRIA@WXy5nu%MWA;({d_LZx#xP;H?=3G7E(Lca?^Y(F}KlPa7Vzym{Oqs)%@L0%%#@vQcO`b}1ENC{{n zESD`Pp)@g4F1e_(kpF*X_@X#iR{xni2&Wh2LG8%N4Jip&r_O-KPe=)L=&5#@QVI#R zRW8oDA)lCR3>8~$gJRG4LM7gZBonlPi1(c)Y9rKdm;s~*rNqN*1@4BZ9cmX66(FZyRF zF71o>4?)dX307MF&+SDKsQ-s*_Cvl*o=A5rzULm%Ln|EypZi-`TRa!vI)&zrLauuT zq`BKLCfKgi+5{(Et#MZrG;nj&9ecf_LC1OHzxq0c79Q`#e|0=ItoE-79m_E9OPe!7 zlzt+B+2q^_zW!|@Sj^Cl=i3O3#UC2+=^s;qg9u?1X;*D98%~QCrv6%GcK zD+0V#seMY@T67kqW6GT!tbO^+l~MbLXP9!p#Wo z!a^ylUbHfd3hY?poMk13BAf0&{J?7Z4R@jhs!l{u1jw$JoC84(<(%Wn%!)$BD`;4A zc#9g+lM7-GUp(lMO6=k9@?ZpP;T}{wL@{`MrfkQy+>-F{GSpu|K<*xTaA1F+VsNr^ zG_fo(x*&srjNr8EHo0Ufl?2=bd<6mG50JBB)=a!%3f0md^JO$&yQ*dWBDC>by0leg zp(McSg;^jfng@HM*1}vfb^76Yh%bTFuu(fW8}4vn8`#{cQ^F$NYZKGaw=4o6LVq+m**6Qcwf#4ijv=wBLT^Dpm5K}xq6)QMb zVf$Me283&h2v*I=|i@~N2>W%9&rG`L?G&i*uYb{>qBF+VS8IXqWM^F4@z7r652+ ziNMrV#Kx2zL-B#MgYb1Y1<~Pi-%D7>8PpARse{!9!6!w~#DH)GCc|^koAF)fKa#`k zKL$(4b+;fL#&rca)-~sVE<=L{&9BY{M}vO^-~bS6`8)=`$P%KAFivr zZcZkMZ+E_O?pNa5t%i*ZzdVyr8Hh-+a85@fkab{2#&iJE{rzrx0S8!#kG-#|68^;< z0QcFo9|(rS#zpdBN)^l*d%+D6Ns`Fz+-s}=LxhKVSngF#N8*B(s01csEEFM7l?Q&>YkhJnk4 z$|uL*pKMnkSluv1ZA_U0QFs_-pns86RWwUnf%9`5)xwk_S`N1j@Qc0sOh3AfV46zo z-Dj&baujZ$GT&Dq^YDzxK^%=9v1!zDzWWT#juIOuZ?iXA&DARUS=Z*x{drbUaNRgnSy)JdAOSD7`ETfX z2tKUb3EgB=)Pq8JDmirHYH-b(lnSgHf6VyCjaN&&m2Mu&e&{ohG&$s}-*`39nTM_2 zr~)a9GRkEIbvK{r0f7p-a}r%4NL;3E5RFJo)DelgA)o7KUgK5~i7P&yyL-c$^=n4| z1y_okbSIjtUGd3mv`C<(yJd#7ir)rftNT}^Rs2gcn83*JOnkxwIE$gtDjSjP!Y_

x;1m_gy(u4-$D;z8}}<7slh?361`N`}^qh;O~DR{=zFN`Y`zU3GAgYb|up8Qz$a* z_>9N$Njx=ke%mo$|Hi@vbLO|Swbf%2@fg=% znCKti7Y_RLho(&P(;a>TAH71pXOzsgcg=KZVGdf_%M+#oh>=&?J;4(Y5Z`jb+(#y*2WwB%s6gYABGGsvv#~X zB0B5%aq1lLaX9OzO*jsK!RcpndA+BtW&=>>2Fr$#Snt?X*xmNSlu`4_Hz%Mn`pY zvLq60br#%7^aTOTXTPABP;~cZhr*Wg^G`-)#bKv>xjHM|DJ4O|)yJWc+XG+I{ztuG zWkS}XHdzV#rkPJ7whE;KqN9^0E^mhogQCC`!cVK%Er5m9eYk^0z>$DUBJz7|~U>4Q~<^3~Y;9sHh7N=coQX<*Yy$nDmR~h>Hau z@1jh&p-=U9BvHo!b-^0?WEHjm5*)0XpFCXN0l$EviEIkdft71PJ54bZmMp0W$nLvy zKGT>~7O2>ujOHVa@`)!@(gc6~i)cN1wkoYSy(DTFki}}5^dI1ZFhfBlCMe&&SSn%N zwN?jEn?{?L!kWQ>8(*U`wzM1Z*WxHug;oOxi$D=(h)!(ZaBtX$`G$K!z+p2fr@R6Y zcwHDo4MJwLZ|GDrQZFGyMNL4{r*`V+Xq!Ad93(&wWvJ$%mV=BF>ZGEHD7U34r4T(N zh~IpoG(>>MVev#pufjfAb&Ds^n39`15Wdndq7PLsqBdvjt?O#eX}_PEf|yQ$W#7@C z;h)NO>Ryf-WfjlYV<09C)#=iWso$Pb~U z!9}(zP1g>AAz5z-QLb<#&yss!r+#TA(T%26{_M84g|I1*->w=@L3ibQZN!1;r}Sgj zSO97#p|@77>8B0^A21$KZBsgoGs@y30X=g&%(WwIz9$<05f-sX{Ae^E$??isU-lc= z-3uPrd@sAt>G!!YYY&e>h&|5FNlqw(&`zcU1aUij%k=p4Ui4w&{Pf#QN$0kXW+)5lMCm9(V#*zt5=>7#nzyeal=r%HxP<%cniwClcaI9 z;a_Gui1$e@ggCxHttx3EzG1O)9_#&~fiy~u;zzGDmwd#J7D5X#2lmyU-sxc8ei;!A z#JvbWqC6efA&`;IBf9e$btWWdQfI8bjihja2wiZ9+MH3(F@$^QsKZtfH1Uq9z{mE? zG^6r9z){Dcw4+WU37)a>wAZD*;U;P3MONsMf zN94p=-1n7hQtO(tkj(=L6y-ugSct3@>sBpQe342@8W>bsBpfN&=Jc^yxcESE1iGuQ zu>n%6y-KTh<~#u|dJ6H%xBwo_Sa@UNORs{P4sPP?fDf+(9(eZa=k}|XT`G`+73xhh z0do6##qzA@;%ZM7>$y5Q%X`rcUKR4tIR;-I_%E{Plxs~dgA}OS=n;L)or-Xnb7ig{ z@n{h+kkhDdW{XvQ>k4Dst@>J)NSr%#uUeJmstJ}7Diy18jsyj)%Gu(vL%AnXt5Jol z+9_#*BE9GZBB{hhq91Y&-vM}mJt_@TVxGjZnp5<==ao}5%<_gG_VRsN=*!^Jg?&I2 z=SnX8gz=kyKo1I#lgUJNi&t|jQxm|3LKJ<-?1i&Tzps}T*zXV1eayA%Q1p*bFe#U* zuJshUZi32VlpV2{xz)gaaVe&h%%>HmqL4g{$q**(0e=f$(J+WawFDH%U3+8945TH# zb7jiuNFWvoY}gMM<-sFF&(b?r=^0GsmR?(=Ss%$8$t^{2F1W40l?8`=C`bomX5g>x z0syGv7KUV+*$|OtW2_iRiFB$t$%SCF`-a2HH4@Rd+OaHLL#rbDgEdN{F>z}i0huJe z*=xx>pQ)aF2w6|gcF25G@BzA&>hzNl6C4PwrG)+B(&y}4f9w!)>pt0GKa`+)CGqK&l zCM1y`G7)^I0QOSKvvmBjvjh?3?DSMjEviLYw7|WD{jbc8n@otJUrSA(vJC2)eo47W z)4ACj_UQS7YLT0fkn&?6@}@eOihalybuy@cQHbo>r(a(Ks&q3mDNT@OJetsfCc=Zs zK{~ymm95fHfbuYPG?b~I?pwr=3b#yrdOhf zrZNd92>ipB_&-$-!fg9-L;*o+rz2ce2k0cQ?!T5f-}hff9!4rc=?Y=1vecQpo(p6C z)B$1p@U|sLL)`4D5n3MuKjcA33LB>$9Nu8y4OMGxU5q3^_C>4H+CZiCSJj8Ip#DeC zMIst3Ea330eD~_FstY?WKzfGzVW6cFAM>8BS(7Q6y`krSbs-ABRUc9>KIUEg(T=E> zY4pdB0Os;i1we9eP4ME{hdwn55Zrh&b5MPxTL*S;g9D30r^v4Sv+}27M-{twG;A?a zZ!LS&j73~d;Lz{AOc6k?9ca`GWdT}Jj`3H}Iy4BLlPJ&g#6@lvGf!Ecw|za*>=MT0 zlLxvu52P;Nc0AaIT9I|zRE6b?*trP25N^Cz45|rhbyVb=MBfhya>9vKmZE3&0Y+A= z%t$kTSD}IFU*d{-Bcjwq~<+HSTqtltdL`8k0U3_W`HIdGeWE& z8{<_ezzsYCY-7qkmnX`v*$Z!6>YKb&GBw*B5^`#kXZKB!B>50U$=;*T5b0xvVA5(3 zd+^X~t`d9j5LlWa)!_&woGleC;ORI(3Qx2Xm&WAap&=-Y34J1r(*8!GR$tPbK)IGe5fK}SNHJF ziZhkLmjEmESXm4xAwfLNm{8BQ(fwDfo?$wMq}6ccDhL%cfZ0F?ePA!YUf&D`L-Phm zlTARN0ze=n21Ze?DmMp+_6rkS84+_cQ@WOpYw0DJ{=ArEDUv1!}dn!VSlNE#p-=~feHs=c~m{4d`ckGP= zdWKf)J^ny!L~+cc!X;Idoq@pwZeN4+fFL7Eh%U|izrZ>_uFT?!b$%Vvwkbp@TLg9@ z;CY7|GkOyRB#iUgQmmRf4qGjov8aRNlClkmFKPt?y!pI8C?!hTh2b)?Yk*T+5L%}o zQhYc%4Kw!_Sv63l$w~COz#0O3Dw|IgaQp03Gy^xYaTbIrP@f>jOV0-%f+mNo?=Vw) z%s?lSeLZXr^ee-Kj&HMg7=A2M6u`(Gs{*hgxm^qvD)t^)E%bMaIc{CF`B`ko=BTzPz{*gj$M@UG7)J5^`oN>e z#dyobe%}F8#CafhLr4!}i@V1hl`@P`#UxBTur7IACxI)b4oP_3LlB;-)DPyqXI=7V zs#3r_<{d~)Gf`1Xbc8MQsQRf``Ju#On106})8bjV_aWfP^RO(0XXOe{czm}Ju8RXx zWG*63Nl^}oW8~TOBOF+j2UMcHq!()C9`6rl`7Ku1kEgVqM&rdt5k;hmXD+Hj2lK zt%ix((;V23U8buhe02I}14+EbD`OwK4FA)m1fKmE?&L(7bD4@nxjNj*NTUyd3c|r8 z`mcUdIvYqk3R!Rh?ai&bZd^?M2)`M0YIWNpxPfW~px|k8fqi0Ld9QYOW8vxiBI8b!42@ekDf4}IKs~Et)l^tSD zS4}Ie>El6lERlidcU(fnVkG`zYypYLsK#U(aWExGc?X3`r`87oh>C!q>jc~-0fqy!+_)PTu=@6=&zfaWVS|Jv_r_VP z=c#?c6-3^xT)?CX!rH)BMJ3(*Jc?M+u+mnqi4>d)c%GYMriCG|CVbGFC-JO zL||(EZx#a5mSl9*`I%ihrR@i>#MuF+37pmaa~CW)YVpEF$IfYMon4*Qw|;vjb|87; zr5RzOgo(^{ATq0RCRF+dk|}CYab``7Mdkp~2oRpdFAZZNkydZ(XC=(cX9q`RKjqm8 zW?cL-a9phPG##_39;>m6^zaj?YK)=qYS5oNCO&wcH^sO7M|w3vj}XTJjg7wbNP-d8 z)!)`KWA4m<3z0((Ib=#LePqDi#zg@@d>HWUc=fH?@>btYP~WOe^4sX{$XJ59L*G?u z0kEmNQg`Tk#7H#MlL(|zqadFU2XeMR+XsiV9!X9~@K z7^35wU~X*Erkl!x7tPKU7vZwa=t}n3O4kFQK3ddUKigBKiep46TDtC& zQ_6bBY|M@dUfyA#7d3AD6arJ!tbwXM7^Pyl44kXgi9^SPhW^7Ow_rPVf*Vh8?*RUV zXu};vxIv0wMY~_}U*y+LgJo%qL8u;E6)Y&fN&JCCIDs04dN znqUC}3%{v0Tfij%0CyuPLXgCSPuuY9-u6N|6%2d0Z;lH0(o;mX-$adX*n^kXOa$%W zF;i>A4C1?O4wEkc<`vNHT=qJJMQtd=r9Nri17r~`y5LP6T8m$>g~3SrN@}$VpbwMS zfkc0(x6~vk=LB9*bD>tcLHx$4khPlfMZxjnH%@^{vs8r_N9kapbOkgoH!zU^J{%y6 zvALp;jS2lJs%olk!$!pi^k%%e4fm1>z-p*JcM9x05gJh=mJ`u)*p5&aGIa0xm`tS- zyXOOxB5I6oMiHwWP3Qk1m(!t1q~*K-iWF9}625Cj`=I-c z8@pfA_=EQQv~`fhQJqmN4w~JqKbya$+kYCfcU~T`A zj{Q;N5Yxcg{`DH7s6OM;_sz4m|Iny1xtbSRS!L)pc}+rJB@V~rEmsd@K|bo=8A^pB zi4>j3ZWSyde-tAVw{LBq>oH&gdZ738D69v!gIhbHQ7qzQxfCowSU=@~6iX_FlU4jE zN_d!2M8s98L+!LP3jgh6zh_Eq(KYRI(iSyM7AZkPQ`$FNFwzaXri#hoa}KB#*-{T2 z&)FhlM#4nPs>KSryn;ed^`M>Fbef=N4^I^tE%51S96A!8i?kEHkY9;P4N%v*xzmf_ z)8oJ%?qMUNfi+|*g#{LPGjA>SpK+Z|u8^)nXKuTBVT0Hl4=7>!u-XM!MNdS)Jbzp4{zx#=J&T8e)yclW& zNkIPjHv>@s>Joh8C`ir1n1TihqGA$_839qd!-nXNHVDasZ_y!$ha^d><~GuzWdSY3HVja%4E%GuTK$rjK#N6KQcCd8GLkrmwHWAn-ydV9J=tIPT z%!c$UFo{WwdNzxx)o_Lm*r3jS4w)Nu_VXHE1(dteO5W}ZFD@brBMtyE8oAB>7@rDa zx9_N76T5u}0~>HYxG<14V;DJn){NaLMsD8cWP!Ei*&0hnP1d|W4Q!(|l7zd1aE|? zeEn5AHY(QFU(rk;OHPefpr@hgD=oOfpio(w<$D%iP)Vg`PbxB@qw@zoPHhmE0RL57 z9PpLkCg9D+5|SV~uVmwTsbz)BaZ*d>5p!x`Ybw-SMl|nCN3;%i+&sFP;r@|_@c@qr zw~jo7wm4{qImowdf9WtuqF}dpF>Yl>s$qmrV4qRSwL{IpB`+$N!V)+qHO;G=^HmOO zpHURYeY7N*E<5N~+&;$<9~0Q&2Vceu$f6lZ3PG+HL({no`Pig`4w`TfT%yu84F!H5 zTqa@_^bjsa`Z@)6<>yGTl9&H20iq=-K&l;iRFD8zvZDF0akf=<1wX zYS->)s23Tjn(~IO&WlqEs?bX9Hl`P;wnG7l8`PiN1jLZWmu{v0WK=ZM%I*f^WaBJe zxrf^KvhpPyj8X3fu+5UR+sYd@v}tKS3LVgdYPvsvjW^_iudN<3q@!bq^$Wyy?CB?u zU8#IX=x=_2l(|$#;iX1gjHBFzX2AY`|MJ+tI<10s7g!v-a}9@-_N>z`ql=n0iP|Px zUh7^GX4tB}nj9@-j=>Fcs;6hV$ex3Dji*8CS?i8g4j1h`!)V|>(ofFK(Nhv;s~GQT z5YKzYds>O-*WnEg$+YW2yntsgqF#G``= zAE}POkf4mM)jUX%TeonD_1iev=zQqfV!Y!ZMyw7jL6@ro-xvu{{ZPm}*|%U!%@(1L z8Q80=JUaTwEEw5Ux~54m;uwf-M*1uL+twj`yxMB^5X62zDYAh|?Dq#@117p51?iw4 zB!Q62Vs?bAps|AH$@(~yFjIH|nD^8P<~yzLO5VLp48^zq+uh^md@>T;Z>|}pH59ibT$#$;qC8!l?iW>fyK-o)gcJG z@9#vj^-AoqYpcthUf2{^FA|hvFCL3U1+mAjBa9zgE6H-;37iCXSn_>Puu7RgnfwAnHb*_63gN44mkC>|lRdgR?=eOWg)g=-9( z$N&i%=_-Yx^1E9MXbko;rp85q^Wt_LaV?0If%S#i7C2O$Z2`x@a`-{P5eG!4(&$x) zf=#F@>S~6tqLTp^Q%%{{a?BAkSuL!>Fs4$Le-93=RIFV$iPCJcdJ@_}0b`7UMdA3a zk8Ohah0BIg2;C#~2?a?|PVjZ1#w!HIr?=7v@7brlZge-WQ&T#_X3pqDSASl7P6sk- zXY_}=U}sJZrViKuP?aw}ALCW5i&qPcUF@>e5E2l?`hnieOe`JI0{Gz3C_}@Nntwe^ zCz_Ew{XDHH>OOpUYYQ2DM?QKL>9_;e;j562!7$m@8kI-B=4)yhVl`LnHB@UNLzk-( zaKjF7d~1eWC2fc;OssilLCADMK4e@e_I{%b${*47yNs)*B^lF{zFDWb)`|0zwKFef#iHtnA&6)z;7iG|K^G4#3+Q^Kb%sV)KzFk&s^@`y_r;+srS{)d zLf`*viPwgs?W2nSMs^9c${>L@@#>bo*+vez*Se@GM|()LAh8UQtz{~8>AQgUGrZ|j zIniAJK`K6QVKid_=*xKlqm^G=#{X(4Ei#Kz?Wk$fXiB&rz92Ycu-+?+jh z(bC%KD9`jut++tiv(Fq-Z64*-?K=_3HE4VdG2G{7+Cb=aG7$LNM~ujTgYZ$aG2AUl zFCZkOQ?6p>2nh66;){QV=yc<7L`kJiJ%k_R6siVqq9r5A;p}G5XdGOm_Wdbky+f5{ zbgA33SKZ9ffuY(L4l6}3PGz-FeACwpidRcQoJkf`+YG^H*4^Ak+!|!m4sDMbwJ#k3 zc!~M?QpS zHot<|HSVpPYc|m;Q5{Qs2 zrI$|W4pl27=0LDlA3`Q9a!>})*c^NLzXnkbfp7Q>r6JYik4_wLs1QpM%EH0QSU{}6 zZlv(4*o}J-QQ(t>Z$rl#%K4Jph4Y3crAl_e7n94$j+GQ5rm0OSu>fd~AP3@{V*LCj z)Q1KTIpQhngEs7nwfk3Zl8(s=mw=SvpvY4RtVjQ;hOStTzKC^UWZY>j>J8=)%qvSb zm4UDzgCH!!u^^`~*Yhu`94aWtvEL`5)pMbW=+t_De}sbWAhN}Jue@=F>c>cDqPi*7 zK41yo*K`E*CD45ZGS5EXSTa<6ua;{fv-rdSO;#UR2QA?SD%L^A(%EFl2V8XWN=5}# zMhy{v(0;?cMcHRyw|t*94tO3nE4O@)Z^^n8Q3FwdYSc~m<-isMW?2dXR7pZ4j5GnI zbJ0HZe0texW-r8qXCJzHE9_O2Aw+@}$KirifN9$IY=~ zMRMFE-EUoNw`jhf$#WZ!jyLETlkFBh!*y~P>0zUOrS?oqPCD~MbLSw|!oDt88MFKZ zP}1VWn)Ly_8{r-*)~xq&IFjWcDG&*y)f&7+Hwf3RNhg zxJvF;z@yiMq8Dj3;##6>j$1a-m_mrz0~2lfo8X7R^$)o3Ro!#shQaLl3@2hWNaueL zb#e7*?=2$2QA9a7+5!)C^_r!uZ68r9^$2~Iv|cmPcorzvld#;f1KdL zBtRqSKaR%&@;N9kfKyYhgO}TsYl&M-!KAtuSq0|PRSIzUTvFnNv*&izuDYPQ!$Ni@ z{(APgs2G6H0Y2?oGiq?Hz<%LkWS7`4aA2TVZ9)*h(JK=s<5g%3w~R_deY1X2OkiDh zE7MahyN%iaL=20^t4K=%r*-Sj}1>9bQKRmpmlMv)3uAh$tmO*BD9Yk7z}M zFt8u}j=od}jph3W-m8PtfVPJldK+*#G2sCH$?Su@H3GZ3PAlnl)kDl*k`kg817fP% z9Q*n}?B4Gt60R9Xa}XXy?1_hr$b`!N>U6b(P0+2t9I8vr`nl{;@X%-S;bL$ufxY{B zS|0Z99a`}c23E0mhguAvASIoSYIY$qOe=gHb?@<$3L?Uht%Idh;wPO<{1S%{s>_%y zi5F=?NzVXukjt12F!~22^?|P)o@Vm|!71cP&?HdDM$4K_#{oX^rZVOyY@r!;W;7l< zS%+g`!hW8g%O`zyIF{i#+jOJnbq5NeT-1E0N*SjKMpM>R%Dr5MaEw&SK$C7i1W2od zVf!Q+{ou-`q}$}7(ZLDILYx*3L+ua86l~XxB>8)<-Nd}@K@kTK5-&3l=FDLcS2*b~ zU8p2gbjoq_87mFy4!UR1fM`{-Ws;&?Ms#r++z7oK-Fetl88pQ9tV~HXI_Pn5bq(@2 zVYA4M$id;LO1>HXL60Ck5aLbCfl}oZ8js-MsLuhlE&(jkXyOMLq0&czKw8U7vbI;( zW|LKuz_=LZ%y?GYTXgZXy$?Bv{e!?H9lM5EAlBojP>UD*#&wdIPY=LZEB4$Gkxk&s za+q+2+w^vVu1d|0xn!uzrf0DraXzyMBE4oZgE0ariEI`Ot|B-vliDE059|jPshJ-@ zdPG#W^u_#j%Z6bRWIR#5T-8k^u#f&_zZ#jTLEIG%nDocNbS-U->h-(C2`E{A?Exf$ z_+MAJIyVm)U)x@FMGMVil&oPCY4(6Q)df1}Vq`X&D}k9Um~F!NxY}_ql5i+H?FDu% zd5M~Za$}PTaQoqs18dTss#>L3v{ifLDvoQ)Pfce5zR1(XMH00DI`kG}f9goyXTZP1 zh_5ESXtdVu=xFL-5@Ps~Ih{7j%fLSABoJ4{KIudeG0|M?jW$w;Qh&_=S)VMufpDy~RiTg;(N?_;UhUAiNplj_6v&JI0yM zixweAOvG)-JZH(lY(d8jXS7feMv!nXl(d8gSzNIa=Qk`WWlbp*K3;p|;YXFnHRCb> zW?MDCHj}+(xFEhlFPIuxpZt`-zVbTRUd6uhS_)chCu~2lWL|R_c;)j_bBrJf6zJlG zU-j$y%>}PvuQcpEd%^2qm%OnTRVwTzx8QZKh%!F|Yawf$#LuX1prrv0!8edWzaNOK zx@YcUb;0b$(Em`eXE#aGB*yW@Q=v9cPNmTvL{Jvybtf9BnvsyZiuf1tQTyKo^+`mC zan+hK+F!n?UpKWvhVPmxVI=BE8az}45c?9PxaNe9YB0K0#!u86XDh6rencIm3j0an zDL68Uorz{|hiP*Ov;J-<$_N#Qj<(jlZI@) z+wX_hIFXq!z8OYMwNX!x@G@G$m=9r=zS=KG5&7g50sm2N_5;XpQt5AMK|XMcv40@| zItq>hdB=bQAmG_!pP=Lnfgm8JVC5ED7PZcqqt`(G0;851uJy((NK79$elo>&KO6_? zWOG~FEcg{Ks3N35UmeKjjhoG$rjWr+oT3LZ1~$D&n1lxh1~idLri3Z(j>hfY9sbmV z#`>L^-h7uNWKjJAHT-Y0mj9qyzyA=3MB0o@k~SlYq!EUP1|wu-rjb&#ugE0bS7a72 z5r$*wx4_1=yA4C+_sr9Xp^B0=OJ#r9h%UmVL2iNl!|mp@J1bF~zwJVax-Ekk@}U)F zhh_U#FWbAmtKmkOvLVl& zc{8LPxza455iWh~1}t5pbq69lfjxZ}HKFO57Yqo zBy`2268eOiwdn`S{X=L~tW8%iTVBVpupl;@f^;*U9{qD zz!zXQKrghf6`qU-yx3cT#9Pogqs+LteJ$pMM*z|gUZW$&FPf>(L1oqBy9{oqfHvo| z#0u^%<*pznQn~pdW}#i}py(t(1hx)aN=J`r8X=v+RPKwIl~ z8VOQrd_cPVdpJI%%fHVXYCiZjYf9KI5pJ4g@8BDwcS0zXYt0VJjD=!nDl`bM2Q9?F z+OUVZ%;%a`%ihAUt)E9A;| z>sg?KPiA9AS;*z&goNU~Z$Y!ECB8{k22K$B$z_M5*F6#+s2JgjT~?%|%n&$L*0rMn z+$Zq8#V3EP3_zkm8uTm|l8FluThe{V_2SG34R~W&bqvo?aTqYCq$KRPEQth~%g&$VYi$4p&9(Gg05j$>_M z?9Z#P=t}JNuS?kz{mL9Uf=-m>EX&vVyeR2W{xW*K;ab2I&U%<(G}~+y~5t)1iNm-O&fFW4;7pQm(+>zpgp{4TnvIE%EvIG zN#76ZA?Y3i8Q`7^m>xS%n;91R2KKiWd$1BYeuZ&aOxZ`SyCnUtyq^V zR`Cgt3mQ$3RRO?+mcGQBAVE$B(&FV>adQgv9-`B`XYF>CYz(!?eWwVojaYsEPjOcp zT2&dx?>T34SYj-MGF;T`gQ9mf)8?|Eu_?`$8hTq2QtfWH-2;1TcUR{?4bm?;t<#N5 zaUkh~WY~ugQYI*oM)@Hy&4*HjL*ScQjLxWkMEJIL?TO#-~i4a!yr6Yot+P2<3;Y?^^v*pg9Z2oSSV zBE%OurGA~ZD5#fHdSzyxa)5iEpKb!;NA(X+iTJ{!z&>Km83U4$#9@Ggw6yvUmM(-& z%1Y-uZJOP5_@27IY^aHy_L_f$WJA1`-^ujTLT7Iq^M!`DB85RBS%|`+t~KK07$ZU? zPO}Y0jn__?;lYDyeDUFy0*o>dc<$-`rmlE2Gm^vK% zz5myvZpXC^M*{D)6FYDUX?1UDe!eC6XYq#(C^*-+IW8?||F!(35?o;)GS;Hy4kC(Z z8{~ah#}VGta!TbJsDhHBb3}n8U8t6lhgDhhE}`Y03Y2CWIhqyREtt*mNH+m(MAKx zCUGp1Z=_ODQp=Rof~;K7(6|{=5UWfgvR-+yd1MIdb}bva-}n^6vY|>#HSlEHVz<>Po))E~mmfz1?gAAQ$iSHjZV2dBklA zodZGu{UtdPwR1zs3M;@%suwdoX>yEp;9^USLoqoH{X|73vPvBQut|yxMcSErp<P3}d zK}q1HTC+g;%tiv$W_&UDg8C}EnZ#9~Fz=bYdq|CSCI@w)PQj5-w%zsK=K@lU;6LE= zmUIxX#bgYdZg>IfP;|~Ab0VEl`MB{{ghKtKioiKHzHDdwZy)SHH-=pGa=Zm+EDdv~ z6Z0ltx3dNb@hEV|Am6xZsP6{705x98IQgkU%E;ohtUCpprTpSZYy*SxZ@*6?(kIL2 zcR8ls9O2=Y03aC+LhGxZY+TR2nKxOG@ufvx?4JYt4+V|Gb2HIXJ3iXUKX zv`r}hkMig&)_p5@c-xP0>t0}+i$st&B7|xiRy}EAHwQ{ zp?Qm1H7^dmMK6K$bZdDd3QQj%CWp4Yj_^WB^|uSjb}U8bYJ*VvFvh7r&_B>~#jxp}v9Fzqz-`?^l*#?#QR?M62<2E^lYH z=pEZsxc>~Nu(q^Hwh3tP0V zQ;5}fheF0QQhs8CjA>LZ^&_ z9^~3m)F;bl3?$pSGX#e0D!v3&mrALDW;k(Rgy2&&RuZ%h>KnP%i1$= z!OqI7I?HgLsz32=<%kcxsy~#Ec@{K=z%;PyT*d(OILVwKToJGy&@f;?<%((mT<^?% zsiCp#z(C(qt5)>@de3z1>aOvDE7bJ%cg{GV7wU0BrxJ-Dt~+nN_vMoHJfz+)?#H8N zo$tBA>1kKfbpxd*r8z1eR`*JC)Y95Znfg{t++5A>;=OC+YILuKqUHo z+*~UI-&1;G+Q5&?&E~4Txk{4w&E patch level 2 +L3 programming layer <2020-02-14> (./acmconf.cls +Document Class: acmconf 1994/11/27 Alternative LaTeX document class +Bugs to berson@cs.pitt.edu +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/12/20 v1.4l Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option) +) +\c@part=\count167 +\c@section=\count168 +\c@subsection=\count169 +\c@subsubsection=\count170 +\c@paragraph=\count171 +\c@subparagraph=\count172 +\c@figure=\count173 +\c@table=\count174 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen134 +) +\@acmtitlebox=\box45 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: dvips.def on input line 105. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def +File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips +)) +\Gin@req@height=\dimen135 +\Gin@req@width=\dimen136 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty +Package: multicol 2019/12/09 v1.8y multicolumn formatting (FMi) +\c@tracingmulticols=\count175 +\mult@box=\box46 +\multicol@leftmargin=\dimen137 +\c@unbalance=\count176 +\c@collectmore=\count177 +\doublecol@number=\count178 +\multicoltolerance=\count179 +\multicolpretolerance=\count180 +\full@width=\dimen138 +\page@free=\dimen139 +\premulticols=\dimen140 +\postmulticols=\dimen141 +\multicolsep=\skip49 +\multicolbaselineskip=\skip50 +\partial@page=\box47 +\last@line=\box48 +\maxbalancingoverflow=\dimen142 +\mult@rightbox=\box49 +\mult@grightbox=\box50 +\mult@gfirstbox=\box51 +\mult@firstbox=\box52 +\@tempa=\box53 +\@tempa=\box54 +\@tempa=\box55 +\@tempa=\box56 +\@tempa=\box57 +\@tempa=\box58 +\@tempa=\box59 +\@tempa=\box60 +\@tempa=\box61 +\@tempa=\box62 +\@tempa=\box63 +\@tempa=\box64 +\@tempa=\box65 +\@tempa=\box66 +\@tempa=\box67 +\@tempa=\box68 +\@tempa=\box69 +\@tempa=\box70 +\@tempa=\box71 +\@tempa=\box72 +\@tempa=\box73 +\@tempa=\box74 +\@tempa=\box75 +\@tempa=\box76 +\@tempa=\box77 +\@tempa=\box78 +\@tempa=\box79 +\@tempa=\box80 +\@tempa=\box81 +\@tempa=\box82 +\@tempa=\box83 +\@tempa=\box84 +\@tempa=\box85 +\@tempa=\box86 +\@tempa=\box87 +\@tempa=\box88 +\@tempa=\box89 +\c@minrows=\count181 +\c@columnbadness=\count182 +\c@finalcolumnbadness=\count183 +\last@try=\dimen143 +\multicolovershoot=\dimen144 +\multicolundershoot=\dimen145 +\mult@nat@firstbox=\box90 +\colbreak@box=\box91 +\mc@col@check@num=\count184 +) +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks15 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2020/01/20 v2.17e AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks16 +\ex@=\dimen146 +)) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen147 +) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count185 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count186 +\leftroot@=\count187 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count188 +\DOTSCASE@=\count189 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box92 +\strutbox@=\box93 +\big@size=\dimen148 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count190 +\c@MaxMatrixCols=\count191 +\dotsspace@=\muskip16 +\c@parentequation=\count192 +\dspbrk@lvl=\count193 +\tag@help=\toks17 +\row@=\count194 +\column@=\count195 +\maxfields@=\count196 +\andhelp@=\toks18 +\eqnshift@=\dimen149 +\alignsep@=\dimen150 +\tagshift@=\dimen151 +\tagwidth@=\dimen152 +\totwidth@=\dimen153 +\lineht@=\dimen154 +\@envbody=\toks19 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks20 +LaTeX Info: Redefining \[ on input line 2859. +LaTeX Info: Redefining \] on input line 2860. +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty +Package: epsfig 2017/06/25 v1.7b (e)psfig emulation (SPQR) +\epsfxsize=\dimen155 +\epsfysize=\dimen156 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty +Package: alltt 1997/06/16 v2.0g defines alltt environment +) +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/palatino.sty +Package: palatino 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip17 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) + +! LaTeX Error: File `pstricks.sty' not found. + +Type X to quit or to proceed, +or enter new name. (Default extension: sty) + +Enter file name: ivme04.pdf + +! LaTeX Error: File `ivme04.pdf' not found. + +Type X to quit or to proceed, +or enter new name. (Default extension: pdf) + +Enter file name: + +! LaTeX Error: File `pst-node.sty' not found. + +Type X to quit or to proceed, +or enter new name. (Default extension: sty) + +Enter file name: +(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty +Package: parskip 2020-01-22 v2.0d non-zero parskip adjustments + +(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count197 +)) +(/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty +Package: tabularx 2020/01/15 v2.11c `tabularx' package (DPC) + +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2019/08/31 v2.4l Tabular extension package (FMi) +\col@sep=\dimen157 +\ar@mcellbox=\box94 +\extrarowheight=\dimen158 +\NC@list=\toks21 +\extratabsurround=\skip54 +\backup@length=\skip55 +\ar@cellbox=\box95 +) +\TX@col@width=\dimen159 +\TX@old@table=\dimen160 +\TX@old@col=\dimen161 +\TX@target=\dimen162 +\TX@delta=\dimen163 +\TX@cols=\count198 +\TX@ftn=\toks22 +) +(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def +File: l3backend-dvips.def 2020-02-03 L3 backend support: dvips +\l__pdf_internal_box=\box96 +\g__pdf_backend_object_int=\count199 +\l__pdf_backend_content_box=\box97 +\l__pdf_backend_model_box=\box98 +\g__pdf_backend_annotation_int=\count266 +\g__pdf_backend_link_int=\count267 +\g__pdf_backend_link_sf_int=\count268 +) +No file ivme04.aux. +\openout1 = `ivme04.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 31. +LaTeX Font Info: ... okay on input line 31. +LaTeX Font Info: Trying to load font information for OT1+ppl on input line 3 +1. +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ppl.fd +File: ot1ppl.fd 2001/06/04 font definitions for OT1/ppl. +) +LaTeX Font Info: Trying to load font information for OT1+phv on input line 3 +3. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd +File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv. +) +LaTeX Font Info: Trying to load font information for U+msa on input line 33. + + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 33. + + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Trying to load font information for OT1+pcr on input line 3 +3. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd +File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. +) + +LaTeX Warning: Citation `ibex' on page 1 undefined on input line 58. + + +LaTeX Warning: Citation `jni' on page 1 undefined on input line 77. + + +LaTeX Warning: Citation `cni' on page 1 undefined on input line 77. + + +LaTeX Warning: Citation `j2me' on page 1 undefined on input line 96. + + +LaTeX Warning: Citation `msil' on page 1 undefined on input line 103. + + +LaTeX Warning: Citation `parrot' on page 1 undefined on input line 104. + + +LaTeX Warning: Citation `python' on page 1 undefined on input line 104. + +[1 + + +] +\MyLength=\skip56 + + +! LaTeX Error: Environment psmatrix undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.129 \begin{psmatrix} + [colsep=2,rowsep=0] +? +! Misplaced alignment tab character &. +l.130 & + \\[0pt] +? +! Misplaced alignment tab character &. +l.131 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] + +? +! Misplaced alignment tab character &. +l.132 [name=s00]\MyBox{\tt (.c)} & + [name=s11]\MyBox{\tt (.java)} \\[0pt] +? +! Misplaced alignment tab character &. +l.133 & + \\[0pt] +? +! Misplaced alignment tab character &. +l.134 & + \\[0pt] +? +! Misplaced alignment tab character &. +l.135 & + \\[0pt] +? +! Misplaced alignment tab character &. +l.136 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] + +? +! Misplaced alignment tab character &. +l.137 [name=b00]\MyBox{\tt (.o)} & + [name=b11]\MyBox{\tt (.class)} \\ +? +! Misplaced alignment tab character &. + & + +l.138 & + \\[0pt] +? c +Type to proceed, S to scroll future error messages, +R to run without stopping, Q to run quietly, +I to insert something, E to edit your file, +1 or ... or 9 to ignore the next 1 to 9 tokens of input, +H for help, X to quit. +? R +OK, entering \nonstopmode... +! Undefined control sequence. +l.139 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +! LaTeX Error: \begin{document} ended by \end{psmatrix}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.140 \end{psmatrix} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.150 \psmatrix + [colsep=2,rowsep=0,nrot=:D] +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Misplaced alignment tab character &. +l.151 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.152 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.153 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.154 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.155 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.156 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.157 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.158 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.159 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Undefined control sequence. +l.160 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.161 \ncline + {s0}{b0}\bput{:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.161 \ncline{s0}{b0}\bput + {:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.162 \ncline + {s1}{b0}\bput{:D}{\tt gcj} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.162 \ncline{s1}{b0}\bput + {:D}{\tt gcj} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.163 \ncline + {s1}{b1}\aput{:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.163 \ncline{s1}{b1}\aput + {:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.164 \ncline + {b1}{b0}\aput{:D}{\tt gcj}\bput{:D}{JITs} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.164 \ncline{b1}{b0}\aput + {:D}{\tt gcj}\bput{:D}{JITs} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.164 \ncline{b1}{b0}\aput{:D}{\tt gcj}\bput + {:D}{JITs} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.165 \endpsmatrix + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +Underfull \hbox (badness 10000) in paragraph at lines 150--167 +\OT1/ppl/m/n/9 nodesep=5pt,arrows=-> s0b0:U\OT1/pcr/m/n/9 gcc \OT1/ppl/m/n/9 s1 +b0:D\OT1/pcr/m/n/9 gcj + [] + + +Underfull \hbox (badness 3769) in paragraph at lines 168--172 +\OT1/ppl/m/n/9 we ex-pand upon in the re-main-der of this sec- + [] + + +Underfull \hbox (badness 1783) in paragraph at lines 175--177 +\OT1/ppl/m/n/9 The most com-mon tech-nique em-ployed is par-tial + [] + +! Undefined control sequence. +l.182 \psmatrix + [colsep=2,rowsep=0,nrot=:U] +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Misplaced alignment tab character &. +l.183 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.184 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.185 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.186 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.187 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.188 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.189 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.190 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.191 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.192 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Undefined control sequence. +l.193 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.194 \ncline + {s0}{s1}\aput{:U}{source-to}\bput{:U}{source} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.194 \ncline{s0}{s1}\aput + {:U}{source-to}\bput{:U}{source} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.194 \ncline{s0}{s1}\aput{:U}{source-to}\bput + {:U}{source} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.195 \ncline + {s1}{b1}\aput{:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.195 \ncline{s1}{b1}\aput + {:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.196 \endpsmatrix + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +Underfull \hbox (badness 10000) in paragraph at lines 182--198 +\OT1/ppl/m/n/9 nodesep=5pt,arrows=-> s0s1:Usource-to:Usource + [] + + +LaTeX Warning: Citation `jazillian' on page 2 undefined on input line 207. + + +Underfull \hbox (badness 2351) in paragraph at lines 207--218 +\OT1/ppl/m/n/9 Jazillian [[]] is a com-mer-cial so-lu-tion which pro- + [] + + +Underfull \hbox (badness 2460) in paragraph at lines 207--218 +\OT1/ppl/m/n/9 source code, but only trans-lates a small por-tion + [] + + +Underfull \hbox (badness 2932) in paragraph at lines 207--218 +\OT1/ppl/m/n/9 of the C lan-guage. Jazil-lian is unique in that + [] + + +Underfull \hbox (badness 1067) in paragraph at lines 207--218 +\OT1/ppl/m/n/9 in ad-di-tion to \OT1/ppl/m/it/9 lan-guage mi-gra-tion\OT1/ppl/m +/n/9 , it also per-forms + [] + + +Underfull \hbox (badness 1546) in paragraph at lines 207--218 +\OT1/ppl/m/it/9 API mi-gra-tion\OT1/ppl/m/n/9 ; for ex-am-ple, Jazil-lian is in +-tel-li-gent + [] + + +Underfull \hbox (badness 4543) in paragraph at lines 207--218 +\OT1/ppl/m/n/9 enough to trans-late ``\OT1/pcr/m/n/9 char* s1 = strcpy(s2)\OT1/ +ppl/m/n/9 '' + [] + + +LaTeX Warning: Citation `mohca' on page 2 undefined on input line 219. + + +LaTeX Warning: Citation `c2j' on page 2 undefined on input line 229. + + +LaTeX Warning: Citation `capp' on page 2 undefined on input line 230. + + +LaTeX Warning: Citation `ephedra' on page 2 undefined on input line 230. + +! Undefined control sequence. +l.262 \psmatrix + [colsep=2,rowsep=0,nrot=:U] +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Misplaced alignment tab character &. +l.263 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.264 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.265 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.266 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.267 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.268 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.269 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.270 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.271 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Undefined control sequence. +l.272 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.273 \ncline + {s0}{b1}\bput{:U}{source-to-binary} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.273 \ncline{s0}{b1}\bput + {:U}{source-to-binary} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.274 \endpsmatrix + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +[2] + +LaTeX Warning: Citation `egcsjvm' on page 3 undefined on input line 278. + + +LaTeX Warning: Citation `lcc' on page 3 undefined on input line 286. + +LaTeX Font Info: Trying to load font information for TS1+ppl on input line 3 +09. +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ppl.fd +File: ts1ppl.fd 2001/06/04 font definitions for TS1/ppl. +) +Underfull \hbox (badness 4013) in paragraph at lines 340--348 +[]\OT1/ppl/m/n/9 NestedVM of-fers to-tal sup-port for all non- + [] + + +Underfull \hbox (badness 1097) in paragraph at lines 340--348 +\OT1/ppl/m/n/9 found on a MIPS \OT1/pcr/m/n/9 R2000 \OT1/ppl/m/n/9 CPU, in-clud +-ing the + [] + + +! LaTeX Error: File `charts/chart5' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.385 ...ile=charts/chart5,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + +[3] +Underfull \hbox (badness 2772) in paragraph at lines 435--439 +\OT1/ppl/m/n/9 The sim-plest op-er-a-tional mode for Nest-edVM is + [] + +! Undefined control sequence. +l.444 \psmatrix + [colsep=2,rowsep=0,nrot=:U] +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Misplaced alignment tab character &. +l.445 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.446 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.447 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.448 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.449 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.450 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.451 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.452 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.453 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Undefined control sequence. +l.454 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.455 \ncline + {s0}{b0}\bput{:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.455 \ncline{s0}{b0}\bput + {:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.456 \ncline + {s1}{b1}\aput{:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.456 \ncline{s1}{b1}\aput + {:U}{\tt javac} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.457 \ncline + {b0}{s1}\naput{\tt NestedVM} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.457 \ncline{b0}{s1}\naput + {\tt NestedVM} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.458 \endpsmatrix + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +Underfull \hbox (badness 10000) in paragraph at lines 444--460 +\OT1/ppl/m/n/9 nodesep=5pt,arrows=-> s0b0:U\OT1/pcr/m/n/9 gcc \OT1/ppl/m/n/9 s1 +b1:U\OT1/pcr/m/n/9 javac + [] + + +Overfull \hbox (37.89pt too wide) in paragraph at lines 462--516 +[]$[]$ + [] + +! Undefined control sequence. +l.546 \psmatrix + [colsep=2,rowsep=0,nrot=:U] +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Misplaced alignment tab character &. +l.547 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.548 [name=s0]\MyBox{unsafe source} & + [name=s1]\MyBox{safe source} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.549 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.550 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.551 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.552 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.553 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.554 [name=b0]\MyBox{machine code} & + [name=b1]\MyBox{safe bytecode} \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Misplaced alignment tab character &. +l.555 & + \\[0pt] +I can't figure out why you would want to use a tab mark +here. If you just want an ampersand, the remedy is +simple: Just type `I\&' now. But if some right brace +up above has ended a previous alignment prematurely, +you're probably due for more error messages, and you +might try typing `S' now just to see what is salvageable. + +! Undefined control sequence. +l.556 \psset + {nodesep=5pt,arrows=->} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.557 \ncline + {s0}{b0}\bput{:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.557 \ncline{s0}{b0}\bput + {:U}{\tt gcc} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.558 \ncline + {b0}{b1}\naput{\tt NestedVM} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.558 \ncline{b0}{b1}\naput + {\tt NestedVM} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.559 \endpsmatrix + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + +Underfull \hbox (badness 1418) in paragraph at lines 572--577 +[]\OT1/ppl/m/n/9 Direct com-pi-la-tion to \OT1/pcr/m/n/9 .class \OT1/ppl/m/n/9 +files opens up + [] + + +Underfull \hbox (badness 4120) in paragraph at lines 572--577 +\OT1/ppl/m/n/9 lat-ing MIPS bi-na-ries and load-ing them via + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 572--577 +\OT1/pcr/m/n/9 ClassLoader.fromBytes() \OT1/ppl/m/it/9 at de-ploy-ment + [] + +[4] +Underfull \hbox (badness 5847) in paragraph at lines 642--645 +[]\OT1/ppl/m/n/9 Simple net-work-ing sup-port is pro-vided by the + [] + + +LaTeX Warning: Citation `jmm' on page 5 undefined on input line 674. + + +Underfull \hbox (badness 3439) in paragraph at lines 671--677 +\OT1/ppl/m/n/9 The Nest-edVM run-time cur-rently does not sup- + [] + + +Underfull \hbox (badness 1817) in paragraph at lines 685--693 +[]\OT1/ppl/m/n/9 Complex syn-chro-niza-tion and in-cor-rectly syn-chro- + [] + +[5] + +! LaTeX Error: File `charts/chart4' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.710 ...ile=charts/chart4,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +LaTeX Warning: Reference `code1' on page 6 undefined on input line 715. + + +Underfull \hbox (badness 1092) in paragraph at lines 746--749 +[]\OT1/ppl/m/n/9 This prob-lem was sur-mounted by switch-ing on a + [] + + +LaTeX Warning: Citation `hotspot' on page 6 undefined on input line 752. + + +! LaTeX Error: File `charts/chart1' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.755 ...ile=charts/chart1,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +Underfull \hbox (badness 1990) in paragraph at lines 761--764 +\OT1/ppl/m/n/9 ment can be coded as a \OT1/pcr/m/n/9 TABLESWITCH\OT1/ppl/m/n/9 +, the + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 765--769 +[]\OT1/ppl/m/n/9 Hybrid Interpretive-JIT com-pil-ers such as + [] + + +Underfull \hbox (badness 1609) in paragraph at lines 772--780 +[]\OT1/ppl/m/n/9 After tun-ing method sizes, our next per-for-mance + [] + + +Underfull \hbox (badness 2277) in paragraph at lines 785--794 +\OT1/ppl/m/n/9 and ev-ery branch in-struc-tion's des-ti-na-tion is + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 821--830 +[]\OT1/ppl/m/n/9 One sub-op-ti-mal so-lu-tion was to ex-press con- + [] + + +Underfull \hbox (badness 2990) in paragraph at lines 821--830 +\OT1/ppl/m/n/9 stants as off-sets from a few cen-tral val-ues; for + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 821--830 +\OT1/ppl/m/n/9 ex-am-ple ``\OT1/pcr/m/n/9 pc = N[]0x00010000 + 0x10\OT1/ppl/m/n +/9 '' (where + [] + + +Underfull \hbox (badness 1067) in paragraph at lines 821--830 +\OT1/ppl/m/n/9 di-rectly to \OT1/pcr/m/n/9 .class \OT1/ppl/m/n/9 files (with-ou +t the in-ter-me-di-ate + [] + +[6] + +! LaTeX Error: File `charts/chart3' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.835 ...ile=charts/chart3,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +! LaTeX Error: File `charts/chart9' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.921 ...ile=charts/chart9,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + +[7] +Underfull \hbox (badness 1052) in paragraph at lines 958--964 +\OT1/pcr/m/n/9 -fno-schedule-insns \OT1/ppl/m/n/9 in-struc-tion, \OT1/pcr/m/n/9 + gcc \OT1/ppl/m/n/9 will + [] + + +! LaTeX Error: File `charts/chart10' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.984 ...le=charts/chart10,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +Underfull \hbox (badness 2245) in paragraph at lines 996--1002 +\OT1/ppl/m/n/9 jpeg and writ-ing a tga. The \OT1/pcr/m/n/9 mspack \OT1/ppl/m/n/ +9 test con- + [] + + +! LaTeX Error: File `charts/chart8' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1003 ...le=charts/chart8,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +! LaTeX Error: File `charts/chart7' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1005 ...le=charts/chart7,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +! LaTeX Error: File `charts/chart6' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1007 ...le=charts/chart6,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +Underfull \hbox (badness 1796) in paragraph at lines 1067--1071 +[]\OT1/ppl/m/n/9 The LIN-PACK bench-mark called our at-ten-tion to + [] + + +! LaTeX Error: File `charts/chart11' not found. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1072 ...e=charts/chart11,height=2.7in,angle=-90} + +I could not locate the file with any of these extensions: +.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps +Try typing to proceed. +If that doesn't work, type X to quit. + + +LaTeX Warning: Citation `msil' on page 8 undefined on input line 1089. + +[8] +No file ivme04.bbl. +[9 + +] (./ivme04.aux) + +LaTeX Warning: There were undefined references. + + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +Here is how much of TeX's memory you used: + 3176 strings out of 483184 + 41630 string characters out of 5966317 + 299792 words of memory out of 5000000 + 18107 multiletter control sequences out of 15000+600000 + 547137 words of font info for 72 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 32i,14n,31p,814b,363s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on ivme04.dvi (9 pages, 56328 bytes).