<div dir="auto">Are you sure those classpaths are portable?   I was hoping to make them like the ones in java/build.xml if at all possible.  Also, I want you to debug the Java, not ant, JavaScript or nashorn.  See message with just the java class in it.<div dir="auto"><br></div><div dir="auto">John</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 13, 2018, 9:29 PM Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank" rel="noreferrer">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 6/8/2018 12:12 AM, John Carlson wrote:<br>
> I would like for you to make the classpaths portable between windows and Ubuntu in <a href="http://www.web3d.org/x3d/stylesheets/java/nashorn/build.xml" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java/nashorn/build.xml</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/nashorn/build.xml" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/nashorn/build.xml</a>> .  Search for ;<br>
<br>
OK understood now.  First some background:<br>
<br>
1. Ant classpath is supposed to be colon/semicolon agnostic, regardless of operating system.<br>
    <a href="https://ant.apache.org/manual/using.html" rel="noreferrer noreferrer noreferrer" target="_blank">https://ant.apache.org/manual/using.html</a><br>
<br>
2. You own the nashorn subdirectory tree so you can do anything you want there.  I can followup by confirming elsewhere.<br>
<br>
3. I am running<br>
<br>
don@it154928 ~<br>
$ java -version<br>
java version "1.8.0_172"<br>
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)<br>
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)<br>
<br>
4.I went into that build.xml and changed entries like<br>
<br>
        classpath="${java.classes.dir};${java.jars.dir}/${<a href="http://jsai.full.archive.jar.name" rel="noreferrer noreferrer noreferrer" target="_blank">jsai.full.archive.jar.name</a>}<br>
to<br>
        classpath="${java.classes.dir}:${java.jars.dir}/${<a href="http://jsai.full.archive.jar.name" rel="noreferrer noreferrer noreferrer" target="_blank">jsai.full.archive.jar.name</a>}<br>
<br>
5. That change had no effect on output of build.xml test.nashorn, copy follows<br>
==============================================================================<br>
ant -f E:\\x3d-code\\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\\x3d\\stylesheets\\java\\nashorn test.nashorn<br>
test.nashorn:<br>
Compile:<br>
Compiling 1 source file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\classes<br>
Compiling 1 source file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\classes<br>
Copy:<br>
Copying 1 file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\nashorn\examples<br>
Copying E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\examples\HelloWorldProgramOutput.x3d to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\nashorn\examples\HelloWorldProgramOutput.x3d<br>
Copying 1 file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\nashorn\examples<br>
Copying E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\examples\HelloWorldProgramOutput.json to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\nashorn\examples\HelloWorldProgramOutput.json<br>
Run:<br>
parameter: source file HelloWorldProgramOutput.x3d filesize 21195 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
parameter: "-tojs" for conversion to X3DJSONLD JavaScript source<br>
parameter: "-toFile" "../nashorn/examples/HelloWorldProgramOutput.Nashorn.js" for result file name root ../nashorn/examples/HelloWorldProgramOutput.Nashorn<br>
convert to JS JavaScript:<br>
Warning: toFileJavaScript() is overwriting prior file ../nashorn/examples/HelloWorldProgramOutput.Nashorn.js<br>
Script DEF=colorTypeConversionScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
Script DEF=MaterialModulatorScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
[Error] TODO problem handling local exception within CommandLine, exiting<br>
org.web3d.x3d.sai.X3DException: ScriptException when processing fileName ..\nashorn\examples\HelloWorldProgramOutput.Nashorn.js.intermediate.js, unable to save result: javax.script.ScriptException: TypeError: Cannot load script from nashorn/jvm-npm.js in ../nashorn/examples/HelloWorldProgramOutput.Nashorn.js.intermediate.js at line number 1<br>
        at org.web3d.x3d.jsail.Core.X3DObject.toFileJavaScript(X3DObject.java:1662)<br>
        at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:628)<br>
        at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:163)<br>
parameter: source file HelloWorldProgramOutput.x3d filesize 21195 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
parameter: "-toJSON" for conversion to JSON encoding<br>
parameter: "-toFile" "../nashorn/examples/HelloWorldProgramOutput.Java.json" for result file name root ../nashorn/examples/HelloWorldProgramOutput.Java<br>
convert to JSON:<br>
Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ../nashorn/examples/HelloWorldProgramOutput.Java.json<br>
Script DEF=colorTypeConversionScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
Script DEF=MaterialModulatorScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
file conversion successful: HelloWorldProgramOutput.Java.json (40043 bytes)<br>
parameter: source file HelloWorldProgramOutput.x3d filesize 21195 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
parameter: "-toX3D" for conversion to X3D encoding<br>
parameter: "-toFile" "../nashorn/examples/HelloWorldProgramOutput.Java.x3d" for result file name root ../nashorn/examples/HelloWorldProgramOutput.Java<br>
convert to X3D:<br>
Warning: toFileX3D() is overwriting prior file ../nashorn/examples/HelloWorldProgramOutput.Java.x3d<br>
file conversion successful: HelloWorldProgramOutput.Java.x3d (21195 bytes)<br>
===========================================<br>
HelloWorldProgramOutput.Java.x3d<br>
1 file(s) have been successfully validated.<br>
1 file(s) have been successfully validated.<br>
matches HelloWorldProgramOutput.x3d: true<br>
===========================================<br>
===========================================<br>
HelloWorldProgramOutput.Java.json<br>
matches HelloWorldProgramOutput.json: true<br>
===========================================<br>
script:<br>
../nashorn/examples/HelloWorldProgramOutput.Nashorn.js:1 TypeError: Cannot load script from nashorn/node/X3Dautoclass.js<br>
Result: 102<br>
===========================================<br>
HelloWorldProgramOutput.Java.x3d<br>
matches HelloWorldProgramOutput.Nashorn.js.new.x3d: false<br>
===========================================<br>
===========================================<br>
HelloWorldProgramOutput.Java.json<br>
matches HelloWorldProgramOutput.Nashorn.js.new.json: false<br>
===========================================<br>
../nashorn/examples/Nashorn.js:1 TypeError: Cannot load script from nashorn/node/X3Dautoclass.js<br>
Result: 102<br>
===========================================<br>
HelloWorldProgramOutput.x3d<br>
matches Nashorn.x3d: false<br>
===========================================<br>
===========================================<br>
HelloWorldProgramOutput.x3d<br>
matches Nashorn0.x3d: false<br>
===========================================<br>
../nashorn/examples/Json.js:1 TypeError: Cannot load script from nashorn/node/X3Dautoclass.js<br>
Result: 102<br>
===========================================<br>
HelloWorldProgramOutput.x3d<br>
matches Json.x3d: false<br>
===========================================<br>
HelloWorldProgramOutput.json<br>
matches Json.json: false<br>
BUILD SUCCESSFUL (total time: 18 seconds)<br>
==============================================================================<br>
<br>
so more sleuthing needed... hope this comparison testing helps.<br>
<br>
v/r Don<br>
<br>
<br>
> On Fri, Jun 8, 2018, 1:39 AM Don Brutzman <<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>> wrote:<br>
> <br>
>     Apologies John, not tracking you on this one.  readAllBytes is in your code, not clear if you want me to replace a classpath separator with colon in documentation - or what.<br>
> <br>
>     Please advise, TIA.<br>
> <br>
>     On 6/7/2018 8:56 PM, John Carlson wrote:<br>
>      > Then hold at jdk 8.   Doesn't mean you can't fix a bug that's unrelated to JDK 8.<br>
>      ><br>
>      > On Thu, Jun 7, 2018, 11:46 PM Don Brutzman <<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>>> wrote:<br>
>      ><br>
>      >     Sorry but no, advancing a version in Java is a slippery slope if everything can't advance together.  Am holding at JDK 8 until Netbeans (and thus X3D-Edit) gets upgraded to JDK 9 or 10.<br>
>      ><br>
>      >     On 6/6/2018 4:07 PM, John Carlson wrote:<br>
>      >      > Full script under OpenJDK 8,  Ubuntu on Windows 10.  Log attached.  The readAllBytes issue will be fixed by Java 9.  Is there a way to set your ant<br>
>      >      > JDK to JDK 9 inside NetBeans?  Wondering.<br>
>      >      ><br>
>      >      > John<br>
>      >      ><br>
>      >      > $ cd /mnt/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java/</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>><br>
>      >      ><br>
>      >      > $ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java<br>
>      >      ><br>
>      >      > $ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/<br>
>      >      ><br>
>      >      > # use ; instead of : in command prompt and git bash<br>
>      >      ><br>
>      >      > $ jjs -J-Djava.class.path=jars/X3DJSAIL.3.3.full.jar:classes nashorn/examples/Json.js<br>
>      >      ><br>
>      >      > $ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d<br>
>      >      ><br>
>      >      > You should be able to duplicate the error with JDK 8 this way.  Command prompt will differ slightly.<br>
>      >      ><br>
>      >      > John<br>
>      >      ><br>
>      >      > Sent from Mail <<a href="https://go.microsoft.com/fwlink/?LinkId=550986" rel="noreferrer noreferrer noreferrer" target="_blank">https://go.microsoft.com/fwlink/?LinkId=550986</a>> for Windows 10<br>
>      >      ><br>
>      >      > *From: *John Carlson <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>>><br>
>      >      > *Sent: *Wednesday, June 6, 2018 6:06 PM<br>
>      >      > *To: *Don Brutzman <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>>><br>
>      >      > *Cc: *<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>>><br>
>      >      > *Subject: *RE: X3DJSAIL, X3dToJava.xslt and DOMX3DLoaderObjecttesting:anotherClassCastException<br>
>      >      ><br>
>      >      > Under OpenJDK 8 on Ubuntu under windows, the jjs command is:<br>
>      >      ><br>
>      >      > $ jjs -J-Djava.class.path=jars/X3DJSAIL.3.3.full.jar:classes nashorn/examples/Json.js<br>
>      >      ><br>
>      >      > And the cd command is:<br>
>      >      ><br>
>      >      > $ cd /mnt/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java/</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>><br>
>      >      ><br>
>      >      > Sent from Mail <<a href="https://go.microsoft.com/fwlink/?LinkId=550986" rel="noreferrer noreferrer noreferrer" target="_blank">https://go.microsoft.com/fwlink/?LinkId=550986</a>> for Windows 10<br>
>      >      ><br>
>      >      > *From: *John Carlson <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>>><br>
>      >      > *Sent: *Wednesday, June 6, 2018 5:37 PM<br>
>      >      > *To: *Don Brutzman <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>>><br>
>      >      > *Cc: *<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>>><br>
>      >      > *Subject: *RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObjecttesting:anotherClassCastException<br>
>      >      ><br>
>      >      > Try stepping through with these commands at command prompt or similar (you’ll have to use diff and cp from Ubuntu, now available on Windows or similar commands under DOS)<br>
>      >      ><br>
>      >      > $ cd /c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java/</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>> <<a href="http://www.web3d.org/x3d/stylesheets/java/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/</a>><br>
>      >      ><br>
>      >      > $ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java<br>
>      >      ><br>
>      >      > $ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/<br>
>      >      ><br>
>      >      > $ jjs -cp "jars/X3DJSAIL.3.3.full.jar;classes" nashorn/examples/Json.js    # you may have to use the Java 8 way of specifying the classpath. See build.xml<br>
>      >      ><br>
>      >      > $ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d<br>
>      >      ><br>
>      >      > 32a33,35<br>
>      >      ><br>
>      >      >  >         <meta name='translated' content='27 May 2018'/><br>
>      >      ><br>
>      >      >  >         <meta name='generator' content='X3dToJson.xslt, <a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.html'/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/X3dToJson.html'/</a>><br>
>      >      ><br>
>      >      >  >         <meta name='reference' content='X3D JSON encoding: <a href="http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding'/" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding'/</a>><br>
>      >      ><br>
>      >      > 35,38c38<br>
>      >      ><br>
>      >      > <         <ViewpointGroup description='Available viewpoints'><br>
>      >      ><br>
>      >      > <             <Viewpoint DEF='DefaultView' description='Hello X3DJSAIL'/><br>
>      >      ><br>
>      >      > <             <Viewpoint DEF='TopDownView' description='top-down view from above' orientation='1 0 0 -1.570796' position='0 100 0'/><br>
>      >      ><br>
>      >      > <         </ViewpointGroup><br>
>      >      ><br>
>      >      > ---<br>
>      >      ><br>
>      >      >  >         <ViewpointGroup description='Available viewpoints'/><br>
>      >      ><br>
>      >      > You will see the missing Viewpoint’s (children of ViewpointGroup) as above.  Also jjs will generate significant output.<br>
>      >      ><br>
>      >      > I can’t connect through svn, so I may be out of date.<br>
>      >      ><br>
>      >      > John<br>
>      >      ><br>
>      >      > Sent from Mail <<a href="https://go.microsoft.com/fwlink/?LinkId=550986" rel="noreferrer noreferrer noreferrer" target="_blank">https://go.microsoft.com/fwlink/?LinkId=550986</a>> for Windows 10<br>
>      >      ><br>
>      >      > *From: *Don Brutzman <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>>><br>
>      >      > *Sent: *Wednesday, June 6, 2018 9:41 AM<br>
>      >      > *To: *John Carlson <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>>><br>
>      >      > *Cc: *<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>>><br>
>      >      > *Subject: *Re: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing:anotherClassCastException<br>
>      >      ><br>
>      >      > 1. Hi John, finally getting back to this one.<br>
>      >      ><br>
>      >      > On 4/30/2018 3:15 PM, John Carlson wrote:<br>
>      >      ><br>
>      >      >  > Previously reported problem, now assigned to the X3DLoaderObject, I believe.<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  > No Viewpoint children in X3D or JSON output.<br>
>      >      ><br>
>      >      > Not sure what that means?  Viewpoint node typically does not have any children, except perhaps for a Metadata* node or an IS/connect.<br>
>      >      ><br>
>      >      >  > Is a problem with X3DLoaderObject, looks like another class cast exception.  X3DJSONLD was eliminated from the problem by printing out the DOM object, and verifying the Viewpoint objects were there.   See x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js</a>> <<a href="http://www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java/nashorn/examples/Quotes.js</a>>.<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  > Can be regenerated by running `ant test.nashorn` in x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/java</a> <<a href="http://www.web3d.org/x3d/stylesheets/java" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java</a>> <<a href="http://www.web3d.org/x3d/stylesheets/java" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/x3d/stylesheets/java</a>><br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  > See output in nashorn/examples/Json.{json,x3d}<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  > John<br>
>      >      ><br>
>      >      > OK have recently updated to Java JDK 1.8.0_172 and adjusted PATH to confirm jjs is running OK.<br>
>      >      ><br>
>      >      > Have also synchronized X3DJSAIL sudirectory nashorn/ and contents with subversion.<br>
>      >      ><br>
>      >      > I get the following outputs when running test.nashorn build target:<br>
>      >      ><br>
>      >      > ============================================================<br>
>      >      ><br>
>      >      > ant -f E:\\x3d-code\\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\\x3d\\stylesheets\\java test.nashorn<br>
>      >      ><br>
>      >      > test.nashorn:<br>
>      >      ><br>
>      >      > ===========================================<br>
>      >      ><br>
>      >      > ant nashorn/build.xml test.nashorn<br>
>      >      ><br>
>      >      > X3D Nashorn SAI Library.test.nashorn:<br>
>      >      ><br>
>      >      > Compile:<br>
>      >      ><br>
>      >      > Compiling 1 source file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\classes<br>
>      >      ><br>
>      >      > Compiling 1 source file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\classes<br>
>      >      ><br>
>      >      > Copy:<br>
>      >      ><br>
>      >      > Copying 1 file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\nashorn\examples<br>
>      >      ><br>
>      >      > Copying E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\examples\HelloWorldProgramOutput.x3d to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\nashorn\examples\HelloWorldProgramOutput.x3d<br>
>      >      ><br>
>      >      > Copying 1 file to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\nashorn\examples<br>
>      >      ><br>
>      >      > Copying E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\examples\HelloWorldProgramOutput.json to E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\nashorn\examples\HelloWorldProgramOutput.json<br>
>      >      ><br>
>      >      > Run:<br>
>      >      ><br>
>      >      > parameter: source file HelloWorldProgramOutput.x3d filesize 20956 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
>      >      ><br>
>      >      > parameter: "-tojs" for conversion to X3DJSONLD JavaScript source<br>
>      >      ><br>
>      >      > parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Nashorn.js" for result file name root nashorn/examples/HelloWorldProgramOutput.Nashorn<br>
>      >      ><br>
>      >      > convert to JS JavaScript:<br>
>      >      ><br>
>      >      > Warning: toFileJavaScript() is overwriting prior file nashorn/examples/HelloWorldProgramOutput.Nashorn.js<br>
>      >      ><br>
>      >      > Script DEF=colorTypeConversionScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
>      >      ><br>
>      >      > Script DEF=MaterialModulatorScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
>      >      ><br>
>      >      > TypeError: input.readAllBytes is not a function<br>
>      >      ><br>
>      >      > Error: Cannot read file [E:\x3d-code\<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">www.web3d.org</a> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>> <<a href="http://www.web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org</a>>\x3d\stylesheets\java\nashorn\node_modules\xmldom\package.json]:<br>
>      >      ><br>
>      >      > [Error] TODO problem handling local exception within CommandLine, exiting<br>
>      >      ><br>
>      >      > org.web3d.x3d.sai.X3DException: ScriptException when processing fileName nashorn\examples\HelloWorldProgramOutput.Nashorn.js.intermediate.js, unable to save result: javax.script.ScriptException: Error: Cannot load JSON file in nashorn/jvm-npm.js at line number 216 at column number 8<br>
>      >      ><br>
>      >      >                  at org.web3d.x3d.jsail.Core.X3DObject.toFileJavaScript(X3DObject.java:1662)<br>
>      >      ><br>
>      >      >                  at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:628)<br>
>      >      ><br>
>      >      >                  at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:163)<br>
>      >      ><br>
>      >      > parameter: source file HelloWorldProgramOutput.x3d filesize 20956 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
>      >      ><br>
>      >      > parameter: "-toJSON" for conversion to JSON encoding<br>
>      >      ><br>
>      >      > parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Java.json" for result file name root nashorn/examples/HelloWorldProgramOutput.Java<br>
>      >      ><br>
>      >      > convert to JSON:<br>
>      >      ><br>
>      >      > Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file nashorn/examples/HelloWorldProgramOutput.Java.json<br>
>      >      ><br>
>      >      > Script DEF=colorTypeConversionScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
>      >      ><br>
>      >      > Script DEF=MaterialModulatorScript contains CDATA source-code text, copied as "#sourceText" using "strings" mode<br>
>      >      ><br>
>      >      > file conversion successful: HelloWorldProgramOutput.Java.json (39749 bytes)<br>
>      >      ><br>
>      >      > parameter: source file HelloWorldProgramOutput.x3d filesize 20956 bytes, parsed using Document Object Model (DOM) X3DLoader<br>
>      >      ><br>
>      >      > parameter: "-toX3D" for conversion to X3D encoding<br>
>      >      ><br>
>      >      > parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Java.x3d" for result file name root nashorn/examples/HelloWorldProgramOutput.Java<br>
>      >      ><br>
>      >      > convert to X3D:<br>
>      >      ><br>
>      >      > Warning: toFileX3D() is overwriting prior file nashorn/examples/HelloWorldProgramOutput.Java.x3d<br>
>      >      ><br>
>      >      > file conversion successful: HelloWorldProgramOutput.Java.x3d (20956 bytes)<br>
>      >      ><br>
>      >      > ===========================================<br>
>      >      ><br>
>      >      > ============================================================<br>
>      >      ><br>
>      >      > As you can see, the exception is in nashorn/jvm-npm.js:<br>
>      >      ><br>
>      >      >                  TypeError: input.readAllBytes is not a function<br>
>      >      ><br>
>      >      > Header in that file indicates that you have modified it.<br>
>      >      ><br>
>      >      > Specific javascript code block of interest:<br>
>      >      ><br>
>      >      >     function readFile (filename, core) {<br>
>      >      ><br>
>      >      >       var input;<br>
>      >      ><br>
>      >      >       try {<br>
>      >      ><br>
>      >      >         if (core) {<br>
>      >      ><br>
>      >      >           var classloader = java.lang.Thread.currentThread().getContextClassLoader();<br>
>      >      ><br>
>      >      >           input = classloader.getResourceAsStream(filename);<br>
>      >      ><br>
>      >      >         } else {<br>
>      >      ><br>
>      >      >                  input = new java.io.FileInputStream(filename);<br>
>      >      ><br>
>      >      >         }<br>
>      >      ><br>
>      >      >         return new java.lang.String(input.readAllBytes());<br>
>      >      ><br>
>      >      >       } catch (e) {<br>
>      >      ><br>
>      >      >         System.err.println(e);<br>
>      >      ><br>
>      >      >         throw new ModuleError('Cannot read file [' + filename + ']: ', 'IO_ERROR', e);<br>
>      >      ><br>
>      >      >       }<br>
>      >      ><br>
>      >      >     }<br>
>      >      ><br>
>      >      > JDK 8 Javadoc for java.io.FileInputStream does not provide a "readAllBytes()" method.  (Nor does JDK 1.9; however I am currently holding at 1.8 to stay compatible with Netbeans 8.)<br>
>      >      ><br>
>      >      > <a href="https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html" rel="noreferrer noreferrer noreferrer" target="_blank">https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html</a><br>
>      >      ><br>
>      >      > So it looks like you need another method.<br>
>      >      ><br>
>      >      > A search for "java.io.FileInputStream readAllBytes" provides a number of hits.  For example:<br>
>      >      ><br>
>      >      >                  File to byte[] in Java<br>
>      >      ><br>
>      >      > <a href="https://stackoverflow.com/questions/858980/file-to-byte-in-java" rel="noreferrer noreferrer noreferrer" target="_blank">https://stackoverflow.com/questions/858980/file-to-byte-in-java</a><br>
>      >      ><br>
>      >      > 2. Continuing with your prior error console also appears fruitful:<br>
>      >      ><br>
>      >      >  >       [exec] [X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec] java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1146)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104)<br>
>      >      ><br>
>      >      >  ><br>
>      >      ><br>
>      >      >  >       [exec]     at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80)<br>
>      >      ><br>
>      >      > Looks like it was trying to treat ViewpointGroup like a X3DGroupingNode - but it is not.  ViewpointGroup is not a X3DGroupingNode node, and can only contain a Metadata* node, Viewpoint/OrthoViewpoint/GeoViewpoint and other ViewpointGroup nodes.<br>
>      >      ><br>
>      >      > This might have been fixed already as part of the many DOM loader improvements performed; not seeing that error in my console.  Worth retesting if you can address the readAllBytes issue.<br>
>      >      ><br>
>      >      > I've added a warning to X3D tooltips to clarify that.<br>
>      >      ><br>
>      >      > Hope next round of improvement/testing can sort this one out fully.<br>
>      >      ><br>
>      >      > all the best, Don<br>
>      >      ><br>
>      >      > --<br>
>      >      ><br>
>      >      > Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>><br>
>      >      ><br>
>      >      > Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
>      >      ><br>
>      >      > X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
>      >      ><br>
>      ><br>
>      ><br>
>      >     all the best, Don<br>
>      >     --<br>
>      >     Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>><br>
>      >     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
>      >     X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
>      ><br>
> <br>
> <br>
>     all the best, Don<br>
>     -- <br>
>     Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>><br>
>     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
>     X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
> <br>
<br>
<br>
all the best, Don<br>
-- <br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
<br>
</blockquote></div>