package Savage.Submarines.SsnSeawolfUnitedStates;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.Interpolation.*;
import org.web3d.x3d.jsail.Navigation.*;
import org.web3d.x3d.jsail.Networking.*;
import org.web3d.x3d.jsail.PointingDeviceSensor.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Scripting.*;
import org.web3d.x3d.jsail.Shape.*;
import org.web3d.x3d.jsail.Text.*;
import org.web3d.x3d.jsail.Time.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> SSN-21 Seawolf fast attack submarine. </p>
 <p> Related links: Catalog page <a href="../../../../Submarines/SsnSeawolfUnitedStates/SSN21SeawolfIndex.html" target="_blank">SSN21Seawolf</a>,  source <a href="../../../../Submarines/SsnSeawolfUnitedStates/SSN21Seawolf.java">SSN21Seawolf.java</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="../../../../Submarines/SsnSeawolfUnitedStates/SSN21Seawolf.x3d">SSN21Seawolf.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> SSN-21 Seawolf fast attack submarine. </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Ryan Alexander Rippeon </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> Ryan Alexander Rippeon </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 1 March 2007 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 6 March 2007 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 28 January 2024 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://www.fas.org/man/dod-101/sys/ship/ssn-21.htm" target="_blank">https://www.fas.org/man/dod-101/sys/ship/ssn-21.htm</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> drawing </i> </td>
			<td> <a href="https://www.fas.org/man/dod-101/sys/ship/seawolf.gif" target="_blank">https://www.fas.org/man/dod-101/sys/ship/seawolf.gif</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> Image </i> </td>
			<td> <a href="https://www.fas.org/man/dod-101/sys/ship/ssn21_4.gif" target="_blank">https://www.fas.org/man/dod-101/sys/ship/ssn21_4.gif</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> Propeller from SAVAGE Archive: <a href="https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> Antennas and Radar code from SAVAGE Archive: <a href="http://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/Sail.wrl" target="_blank">http://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/Sail.wrl</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> photo </i> </td>
			<td> <a href="https://www.fas.org/man/dod-101/sys/ship/ssn-21-DNSD9904056_JPG.jpg" target="_blank">https://www.fas.org/man/dod-101/sys/ship/ssn-21-DNSD9904056_JPG.jpg</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> subject </i> </td>
			<td> Outer hull of the boat, sail, side array sonar, prop shroud </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> Wings 3D, <a href="http://www.wings3d.com/" target="_blank">http://www.wings3d.com/</a> X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> identifier </i> </td>
			<td> <a href="http://savage.nps.edu/Savage/Submarines/SsnSeawolfUnitedStates/SSN21Seawolf.x3d" target="_blank">http://savage.nps.edu/Savage/Submarines/SsnSeawolfUnitedStates/SSN21Seawolf.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="../../../../Submarines/SsnSeawolfUnitedStates/../../license.html">../../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

	<p>
		This program uses the
		<a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank">X3D Java Scene Access Interface Library (X3DJSAIL)</a>.
		It has been produced using the 
		<a href="https://www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">X3dToJava.xslt</a>
		stylesheet
	       (<a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">version control</a>)
                which is used to create Java source code from an original <code>.x3d</code> model.
	</p>

	* @author Ryan Alexander Rippeon
 */

public class SSN21Seawolf
{
	/** Default constructor to create this object. */
	public SSN21Seawolf ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_1)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("SSN21Seawolf.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("SSN-21 Seawolf fast attack submarine."))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Ryan Alexander Rippeon"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Ryan Alexander Rippeon"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("1 March 2007"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("6 March 2007"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("28 January 2024"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.fas.org/man/dod-101/sys/ship/ssn-21.htm"))
    .addMeta(new meta().setName(meta.NAME_DRAWING    ).setContent("https://www.fas.org/man/dod-101/sys/ship/seawolf.gif"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("https://www.fas.org/man/dod-101/sys/ship/ssn21_4.gif"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("Propeller from SAVAGE Archive: https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("Antennas and Radar code from SAVAGE Archive: http://savage.nps.edu/Savage/Submarines/SsnLosAngelesUnitedStates/Sail.wrl"))
    .addMeta(new meta().setName(meta.NAME_PHOTO      ).setContent("https://www.fas.org/man/dod-101/sys/ship/ssn-21-DNSD9904056_JPG.jpg"))
    .addMeta(new meta().setName(meta.NAME_SUBJECT    ).setContent("Outer hull of the boat, sail, side array sonar, prop shroud"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Wings 3D, http://www.wings3d.com/ X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("http://savage.nps.edu/Savage/Submarines/SsnSeawolfUnitedStates/SSN21Seawolf.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setInfo(new String[] {"https://www.fas.org/man/dod-101/sys/ship/ssn-21.htm"}).setTitle("SSN21Seawolf.x3d")
      .setMetadata(new MetadataSet().setName("SMAL").setReference("https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SMAL.html")
        .setMetadata(new MetadataString().setName("version").setValue(new String[] {"1.0"})
          .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"This is the version of SMAL employed, not of the model."})))
        .setMetadata(new MetadataSet().setName("EntityDefinition")
          .addComments(" Identifying metadata for the current simulation of interest ")
          .setMetadata(new MetadataSet().setName("Classification")
            .setMetadata(new MetadataString().setName("level").setValue(new String[] {"UNCLASSIFIED"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"UNCLASSIFIED","FOUO","CONFIDENTIAL","SECRET"})))
            .setMetadata(new MetadataString().setName("reference").setValue(new String[] {"https://www.fas.org/man/dod-101/sys/ship/ssn-21.htm"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The published source of classified information, if any, contained in the Metadata."})))
            .setMetadata(new MetadataString().setName("rationale")
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The specific element which contains the information classifying this document."}))))
          .setMetadata(new MetadataSet().setName("IdentificationParameters")
            .setMetadata(new MetadataString().setName("name").setValue(new String[] {"SSN21Seawolf"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The plain language name of the object this model represents."}))))
          .setMetadata(new MetadataSet().setName("X3DArchiveModel")
            .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"This is a placeholder element which ensures the proper validation of autogenerated SMAL code."})))
          .setMetadata(new MetadataSet().setName("PhysicalParameters")
            .setMetadata(new MetadataSet().setName("PhysicalConstraints")
              .setMetadata(new MetadataFloat().setName("height").setValue(new double[] {15.5})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum structural height of the object in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("width").setValue(new double[] {12.2})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum width of the object in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("length").setValue(new double[] {107.6})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum structural length of the object in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("draft").setValue(new double[] {10.67})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The vertical distance in meters from the deepest point to the waterline of this object at its stated displacement or gross weight."})))
              .setMetadata(new MetadataFloat().setName("grossWeight").setValue(new double[] {18274000.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The standard operational weight of the vehicle in pounds or kilograms. This may be used in any number of physics calculations."}))))
            .setMetadata(new MetadataSet().setName("DynamicResponseConstraints")
              .setMetadata(new MetadataFloat().setName("maximumSpeed").setValue(new double[] {25.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum rated speed for this vehicle in knots."})))
              .setMetadata(new MetadataFloat().setName("cruiseSpeed").setValue(new double[] {10.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The published cruise speed for this vehicle in knots."})))
              .setMetadata(new MetadataFloat().setName("maximumAcceleration").setValue(new double[] {1.3})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The ideal maximum acceleration acheivable by this vehicle in meters per second squared, as in at maximum Power excess for aircraft."})))
              .setMetadata(new MetadataFloat().setName("maximumFuelCapacity").setValue(new double[] {40.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum usable fuel capacity in liters."}))))
            .setMetadata(new MetadataSet().setName("TacticalConstraints")
              .addComments(" none defined ")))
          .setMetadata(new MetadataSet().setName("NetworkedCommunicationParameterSet")
            .setMetadata(new MetadataSet().setName("DisConfiguration")
              .setMetadata(new MetadataInteger().setName("entityKind").setValue(new int[] {1})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for this objects overall type (for vehicles this value should be 1)."})))
              .setMetadata(new MetadataInteger().setName("entityDomain").setValue(new int[] {3})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the domain of operations of this object (air, surface, sub-surface, etc.)."})))
              .setMetadata(new MetadataInteger().setName("entityCountry").setValue(new int[] {225})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the country of origin of this object (the value for United States is 225)."})))
              .setMetadata(new MetadataInteger().setName("entityCategory").setValue(new int[] {0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the type of this vehicle (cruiser or destroyer, tank or truck, bomber or fighter, etc.)."}))))))))
    .addChild(new Viewpoint().setDescription("Default").setPosition(-0.1,0.1,12.7))
    .addChild(new Viewpoint().setDescription("Aft").setOrientation(0.005,-1.0,0.004,1.5693).setPosition(-12.2,0.0,-0.1))
    .addChild(new Viewpoint().setDescription("Forward").setOrientation(-0.053,0.997,0.054,1.5596).setPosition(15.6,1.8,0.0))
    .addChild(new Viewpoint().setDescription("Above").setOrientation(-1.0,0.001,-0.002,1.6229).setPosition(0.0,12.2,-0.6))
    .addChild(new Viewpoint().setDescription("Sail").setOrientation(0.296,-0.955,0.0,0.049).setPosition(5.4,1.2,1.8))
    .addChild(new Viewpoint().setDescription("Bridge").setOrientation(-0.063,-0.996,-0.064,1.5818).setPosition(-0.8,2.7,-0.1))
    .addChild(new Viewpoint().setDescription("Bridge Deck").setOrientation(-0.078,-0.994,-0.079,1.5839).setPosition(6.0,1.3,0.0))
    .addChild(new Viewpoint().setDescription("Starboard Quarter").setOrientation(0.21,-0.977,0.044,0.3877).setPosition(-6.8,-0.3,9.5))
    .addChild(new Viewpoint().setDescription("Starboard Forward").setOrientation(0.154,0.979,-0.132,0.7873).setPosition(10.0,-0.4,3.4))
    .addChild(new Background().setGroundAngle(new double[] {1.309,1.570796}).setGroundColor(new MFColor(new double[] {.08,.09,.52})).setSkyAngle(new double[] {1.309,1.571}).setSkyColor(new MFColor(new double[] {0.0,0.2,0.7,0.0,0.5,1.0,1.0,1.0,1.0})))
    .addComments(" Method of calculating viewpoints. To enable, set the fieldValue of the ProtoInstance to true. Launch model and move view, once satisfied, copy values from Cortona console. ")
    .addChild(new ExternProtoDeclare("ViewPositionOrientation").setName("ViewPositionOrientation").setAppinfo("ViewPositionOrientation provides provides console output of local position and orientation as user navigates").setUrl(new String[] {"../../Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation","../../Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation"})
      .addField(new field().setName("enabled").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Whether or not ViewPositionOrientation sends output to console."))
      .addField(new field().setName("traceEnabled").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setAppinfo("Output internal trace messages for debugging this node - developer use only can be ignored."))
      .addField(new field().setName("set_traceEnabled").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INPUTONLY).setAppinfo("Ability to turn output tracing on/off at runtime."))
      .addField(new field().setName("position_changed").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_OUTPUTONLY).setAppinfo("Output local position."))
      .addField(new field().setName("orientation_changed").setType(field.TYPE_SFROTATION).setAccessType(field.ACCESSTYPE_OUTPUTONLY).setAppinfo("Output local orientation."))
      .addField(new field().setName("outputViewpointString").setType(field.TYPE_MFSTRING).setAccessType(field.ACCESSTYPE_OUTPUTONLY).setAppinfo("MFString value of new Viewpoint")))
    .addChild(new ProtoInstance("ViewPositionOrientation", "ConsoleOutputViewPositionOrientation").setContainerField("children")
      .addFieldValue(new fieldValue().setName("enabled").setValue(false)))
    .addChild(new Transform("BringInScrew").setRotation(0.0,1.0,0.0,-1.57).setScale(.2,.2,.2).setTranslation(-9.2,0.0,0.0)
      .addChild(new Inline().setUrl(new String[] {"../../Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d","https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.x3d","../../Submarines/Various/Type209GlafkosDieselSubmarinePropeller.wrl","https://www.web3d.org/x3d/content/examples/Savage/Submarines/Various/Type209GlafkosDieselSubmarinePropeller.wrl"})))
    .addChild(new Group("HullNumbers")
      .addChild(new Transform("Stbd21").setScale(.3,.3,.3).setTranslation(5.5,1.0,.3)
        .addChild(new Shape()
          .setAppearance(new Appearance("HullNumberAppearance")
            .setMaterial(new Material().setDiffuseColor(1.0,1.0,1.0)))
          .setGeometry(new Text("HullNumber").setString(new String[] {"21"})
            .setFontStyle(new FontStyle().setFamily(new String[] {"TYPEWRITER"})))))
      .addChild(new Transform("Port21")
        .addChild(new Transform().setRotation(0.0,1.0,0.0,3.14)
          .addChild(new Transform().setScale(.3,.3,.3)
            .addChild(new Transform().setTranslation(-19.5,3.33,1.0)
              .addChild(new Shape()
                .setAppearance(new Appearance().setUSE("HullNumberAppearance"))
                .setGeometry(new Text().setUSE("HullNumber"))))))))
    .addChild(new Group("SubBodyComponents")
      .addChild(new Transform("PropShroud")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material("default").setAmbientIntensity(1.0).setDiffuseColor(.15,.15,.15).setShininess(1.0).setSpecularColor(1.0,1.0,1.0)))
          .setGeometry(new IndexedFaceSet().setCreaseAngle(3.14).setCoordIndex(getIndexedFaceSet_6_105_coordIndex()).setNormalIndex(getIndexedFaceSet_6_105_normalIndex())
            .setCoord(new Coordinate().setPoint(getCoordinate_7_105_point())))))
      .addChild(new Transform("ArrayPortFwd")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {5.77687,-0.318212,-0.437583,5.77687,-0.0740474,-0.526452,5.92144,-0.409064,-0.404515,6.61302,-0.409064,-0.404515,5.92144,0.0168045,-0.559519,6.61302,0.0168045,-0.559519,6.75759,-0.0740474,-0.526452,6.75759,-0.318212,-0.437583,5.77687,-0.411214,-0.693104,5.77687,-0.16705,-0.781973,5.92144,-0.502066,-0.660037,6.61302,-0.502066,-0.660037,5.92144,-0.0761976,-0.81504,6.61302,-0.0761976,-0.81504,6.75759,-0.16705,-0.781973,6.75759,-0.411214,-0.693104,5.89946,-0.397795,-0.751197,5.89946,-0.214671,-0.817849,6.00789,-0.146532,-0.842649,6.52657,-0.146532,-0.842649,6.635,-0.214671,-0.817849,6.635,-0.397795,-0.751197,6.52657,-0.465934,-0.726397,6.00789,-0.465934,-0.726397})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.767302,-0.216543,0.60362,-0.767302,0.553881,0.323209,-0.257448,-0.638541,0.725249,0.257448,-0.638541,0.725249,-0.257448,0.955332,0.145127,0.257448,0.955332,0.145127,0.767302,0.553881,0.323209,0.767302,-0.216543,0.60362,-0.708653,-0.570222,-0.415521,-0.708653,0.169724,-0.684839,-0.238847,-0.957498,-0.161711,0.238847,-0.957498,-0.161711,-0.238847,0.62954,-0.739345,0.238847,0.62954,-0.739345,0.708653,0.169724,-0.684839,0.708653,-0.570222,-0.415521,-0.218788,-0.45557,-0.862895,-0.218788,-0.205671,-0.953851,-0.090811,0.0294907,-0.995431,0.090811,0.0294907,-0.995431,0.218788,-0.205671,-0.953851,0.218788,-0.45557,-0.862895,0.090811,-0.662442,-0.743588,-0.090811,-0.662442,-0.743588}))))))
      .addChild(new Transform("ArrayPortMid")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {0.316237,-0.318212,-0.437583,0.316237,-0.0740474,-0.526452,0.460808,-0.409064,-0.404515,1.15239,-0.409064,-0.404515,0.460808,0.0168045,-0.559519,1.15239,0.0168045,-0.559519,1.29696,-0.0740474,-0.526452,1.29696,-0.318212,-0.437583,0.316237,-0.411214,-0.693104,0.316237,-0.16705,-0.781973,0.460808,-0.502066,-0.660037,1.15239,-0.502066,-0.660037,0.460808,-0.0761976,-0.81504,1.15239,-0.0761976,-0.81504,1.29696,-0.16705,-0.781973,1.29696,-0.411214,-0.693104,0.438828,-0.397795,-0.751197,0.438828,-0.214671,-0.817849,0.547256,-0.146532,-0.842649,1.06594,-0.146532,-0.842649,1.17437,-0.214671,-0.817849,1.17437,-0.397795,-0.751197,1.06594,-0.465934,-0.726397,0.547256,-0.465934,-0.726397})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.767302,-0.216543,0.60362,-0.767302,0.553881,0.323209,-0.257448,-0.638541,0.725249,0.257448,-0.638541,0.725249,-0.257448,0.955332,0.145127,0.257448,0.955332,0.145127,0.767302,0.553881,0.323209,0.767302,-0.216543,0.60362,-0.708653,-0.570222,-0.415521,-0.708653,0.169724,-0.684839,-0.238847,-0.957498,-0.161711,0.238847,-0.957498,-0.161711,-0.238847,0.62954,-0.739345,0.238847,0.62954,-0.739345,0.708653,0.169724,-0.684839,0.708653,-0.570222,-0.415521,-0.218788,-0.45557,-0.862895,-0.218788,-0.205671,-0.953851,-0.090811,0.0294907,-0.995431,0.090811,0.0294907,-0.995431,0.218788,-0.205671,-0.953851,0.218788,-0.45557,-0.862895,0.090811,-0.662442,-0.743588,-0.090811,-0.662442,-0.743588}))))))
      .addChild(new Transform("ArrayStbdAft")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-5.5426,-0.410918,0.694146,-5.5426,-0.166439,0.782148,-5.39803,-0.501886,0.661401,-4.70645,-0.501886,0.661401,-5.39803,-0.0754702,0.814893,-4.70645,-0.0754702,0.814893,-4.56188,-0.166439,0.782148,-4.56188,-0.410918,0.694146,-5.5426,-0.318823,0.438297,-5.5426,-0.0743442,0.526298,-5.39803,-0.409792,0.405552,-4.70645,-0.409792,0.405552,-5.39803,0.0166246,0.559043,-4.70645,0.0166246,0.559043,-4.56188,-0.0743442,0.526298,-4.56188,-0.318823,0.438297,-5.42001,-0.213933,0.818193,-5.42001,-0.397292,0.752191,-5.31158,-0.465518,0.727633,-4.79289,-0.465518,0.727633,-4.68447,-0.397292,0.752191,-4.68447,-0.213933,0.818193,-4.79289,-0.145706,0.842751,-5.31158,-0.145706,0.842751})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.708653,-0.568744,0.417542,-0.708653,0.172154,0.684232,-0.238847,-0.956918,0.165108,0.238847,-0.956918,0.165108,-0.238847,0.63216,0.737106,0.238847,0.63216,0.737106,0.708653,0.172154,0.684232,0.708653,-0.568744,0.417542,-0.767302,-0.218684,-0.602848,-0.767302,0.552731,-0.325172,-0.257448,-0.641111,-0.722978,0.257448,-0.641111,-0.722978,-0.257448,0.954811,-0.148516,0.257448,0.954811,-0.148516,0.767302,0.552731,-0.325172,0.767302,-0.218684,-0.602848,-0.218788,-0.202285,0.954575,-0.218788,-0.452505,0.864506,-0.090811,-0.659799,0.745935,0.090811,-0.659799,0.745935,0.218788,-0.452505,0.864506,0.218788,-0.202285,0.954575,0.090811,0.0330231,0.99532,-0.090811,0.0330231,0.99532}))))))
      .addChild(new Transform("ArrayStbdFwd")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {5.77687,-0.410918,0.694146,5.77687,-0.166439,0.782148,5.92144,-0.501886,0.661401,6.61302,-0.501886,0.661401,5.92144,-0.0754702,0.814893,6.61302,-0.0754702,0.814893,6.75759,-0.166439,0.782148,6.75759,-0.410918,0.694146,5.77687,-0.318823,0.438297,5.77687,-0.0743442,0.526298,5.92144,-0.409792,0.405552,6.61302,-0.409792,0.405552,5.92144,0.0166246,0.559043,6.61302,0.0166246,0.559043,6.75759,-0.0743442,0.526298,6.75759,-0.318823,0.438297,5.89946,-0.213933,0.818193,5.89946,-0.397292,0.752191,6.00789,-0.465518,0.727633,6.52657,-0.465518,0.727633,6.635,-0.397292,0.752191,6.635,-0.213933,0.818193,6.52657,-0.145706,0.842751,6.00789,-0.145706,0.842751})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.708653,-0.568744,0.417542,-0.708653,0.172154,0.684232,-0.238847,-0.956918,0.165108,0.238847,-0.956918,0.165108,-0.238847,0.63216,0.737106,0.238847,0.63216,0.737106,0.708653,0.172154,0.684232,0.708653,-0.568744,0.417542,-0.767302,-0.218684,-0.602848,-0.767302,0.552731,-0.325172,-0.257448,-0.641111,-0.722978,0.257448,-0.641111,-0.722978,-0.257448,0.954811,-0.148516,0.257448,0.954811,-0.148516,0.767302,0.552731,-0.325172,0.767302,-0.218684,-0.602848,-0.218788,-0.202285,0.954575,-0.218788,-0.452505,0.864506,-0.090811,-0.659799,0.745935,0.090811,-0.659799,0.745935,0.218788,-0.452505,0.864506,0.218788,-0.202285,0.954575,0.090811,0.0330231,0.99532,-0.090811,0.0330231,0.99532}))))))
      .addChild(new Transform("ArrayStbdMid")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,18,17,-1,0,8,10,2,-1,0,17,16,1,-1,1,4,12,9,-1,1,16,23,4,-1,2,3,19,18,-1,2,10,11,3,-1,3,7,20,19,-1,3,11,15,7,-1,4,5,13,12,-1,4,23,22,5,-1,5,6,14,13,-1,5,22,21,6,-1,6,7,15,14,-1,6,21,20,7,-1,8,9,12,13,14,15,11,10,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {0.316237,-0.410918,0.694146,0.316237,-0.166439,0.782148,0.460808,-0.501886,0.661401,1.15239,-0.501886,0.661401,0.460808,-0.0754702,0.814893,1.15239,-0.0754702,0.814893,1.29696,-0.166439,0.782148,1.29696,-0.410918,0.694146,0.316237,-0.318823,0.438297,0.316237,-0.0743442,0.526298,0.460808,-0.409792,0.405552,1.15239,-0.409792,0.405552,0.460808,0.0166246,0.559043,1.15239,0.0166246,0.559043,1.29696,-0.0743442,0.526298,1.29696,-0.318823,0.438297,0.438828,-0.213933,0.818193,0.438828,-0.397292,0.752191,0.547256,-0.465518,0.727633,1.06594,-0.465518,0.727633,1.17437,-0.397292,0.752191,1.17437,-0.213933,0.818193,1.06594,-0.145706,0.842751,0.547256,-0.145706,0.842751})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.708653,-0.568744,0.417542,-0.708653,0.172154,0.684232,-0.238847,-0.956918,0.165108,0.238847,-0.956918,0.165108,-0.238847,0.63216,0.737106,0.238847,0.63216,0.737106,0.708653,0.172154,0.684232,0.708653,-0.568744,0.417542,-0.767302,-0.218684,-0.602848,-0.767302,0.552731,-0.325172,-0.257448,-0.641111,-0.722978,0.257448,-0.641111,-0.722978,-0.257448,0.954811,-0.148516,0.257448,0.954811,-0.148516,0.767302,0.552731,-0.325172,0.767302,-0.218684,-0.602848,-0.218788,-0.202285,0.954575,-0.218788,-0.452505,0.864506,-0.090811,-0.659799,0.745935,0.090811,-0.659799,0.745935,0.218788,-0.452505,0.864506,0.218788,-0.202285,0.954575,0.090811,0.0330231,0.99532,-0.090811,0.0330231,0.99532}))))))
      .addChild(new Transform("ArrayPortAft")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCoordIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1}).setNormalIndex(new int[] {0,1,9,8,-1,0,2,3,7,6,5,4,1,-1,0,8,10,2,-1,1,4,12,9,-1,2,10,11,3,-1,3,11,15,7,-1,4,5,13,12,-1,5,6,14,13,-1,6,7,15,14,-1,8,9,17,16,-1,8,16,23,10,-1,9,12,18,17,-1,10,23,22,11,-1,11,22,21,15,-1,12,13,19,18,-1,13,14,20,19,-1,14,15,21,20,-1,16,17,18,19,20,21,22,23,-1})
            .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-5.5426,-0.318212,-0.437583,-5.5426,-0.0740474,-0.526452,-5.39803,-0.409064,-0.404515,-4.70645,-0.409064,-0.404515,-5.39803,0.0168045,-0.559519,-4.70645,0.0168045,-0.559519,-4.56188,-0.0740474,-0.526452,-4.56188,-0.318212,-0.437583,-5.5426,-0.411214,-0.693104,-5.5426,-0.16705,-0.781973,-5.39803,-0.502066,-0.660037,-4.70645,-0.502066,-0.660037,-5.39803,-0.0761976,-0.81504,-4.70645,-0.0761976,-0.81504,-4.56188,-0.16705,-0.781973,-4.56188,-0.411214,-0.693104,-5.42001,-0.397795,-0.751197,-5.42001,-0.214671,-0.817849,-5.31158,-0.146532,-0.842649,-4.79289,-0.146532,-0.842649,-4.68447,-0.214671,-0.817849,-4.68447,-0.397795,-0.751197,-4.79289,-0.465934,-0.726397,-5.31158,-0.465934,-0.726397})))
            .setNormal(new Normal().setVector(new MFVec3f(new double[] {-0.767302,-0.216543,0.60362,-0.767302,0.553881,0.323209,-0.257448,-0.638541,0.725249,0.257448,-0.638541,0.725249,-0.257448,0.955332,0.145127,0.257448,0.955332,0.145127,0.767302,0.553881,0.323209,0.767302,-0.216543,0.60362,-0.708653,-0.570222,-0.415521,-0.708653,0.169724,-0.684839,-0.238847,-0.957498,-0.161711,0.238847,-0.957498,-0.161711,-0.238847,0.62954,-0.739345,0.238847,0.62954,-0.739345,0.708653,0.169724,-0.684839,0.708653,-0.570222,-0.415521,-0.218788,-0.45557,-0.862895,-0.218788,-0.205671,-0.953851,-0.090811,0.0294907,-0.995431,0.090811,0.0294907,-0.995431,0.218788,-0.205671,-0.953851,0.218788,-0.45557,-0.862895,0.090811,-0.662442,-0.743588,-0.090811,-0.662442,-0.743588}))))))
      .addChild(new Transform("RearFins")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCreaseAngle(3.14).setCoordIndex(new int[] {0,1,16,14,-1,0,3,8,2,1,-1,0,14,15,10,18,19,4,7,25,24,23,3,-1,1,2,20,21,22,6,5,13,12,11,17,16,-1,2,8,26,20,-1,3,23,26,8,-1,4,5,6,9,7,-1,4,19,13,5,-1,6,22,28,9,-1,7,9,28,25,-1,10,11,12,18,-1,10,15,17,11,-1,12,13,19,18,-1,14,16,17,15,-1,20,26,27,21,-1,21,27,28,22,-1,23,24,27,26,-1,24,25,28,27,-1,29,30,45,43,-1,29,32,37,31,30,-1,29,43,44,39,47,48,33,36,54,53,52,32,-1,30,31,49,50,51,35,34,42,41,40,46,45,-1,31,37,55,49,-1,32,52,55,37,-1,33,34,35,38,36,-1,33,48,42,34,-1,35,51,57,38,-1,36,38,57,54,-1,39,40,41,47,-1,39,44,46,40,-1,41,42,48,47,-1,43,45,46,44,-1,49,55,56,50,-1,50,56,57,51,-1,52,53,56,55,-1,53,54,57,56,-1}).setNormalIndex(new int[] {0,1,16,14,-1,0,3,8,2,1,-1,0,14,15,10,18,19,4,7,25,24,23,3,-1,1,2,20,21,22,6,5,13,12,11,17,16,-1,2,8,26,20,-1,3,23,26,8,-1,4,5,6,9,7,-1,4,19,13,5,-1,6,22,28,9,-1,7,9,28,25,-1,10,11,12,18,-1,10,15,17,11,-1,12,13,19,18,-1,14,16,17,15,-1,20,26,27,21,-1,21,27,28,22,-1,23,24,27,26,-1,24,25,28,27,-1,29,30,45,43,-1,29,32,37,31,30,-1,29,43,44,39,47,48,33,36,54,53,52,32,-1,30,31,49,50,51,35,34,42,41,40,46,45,-1,31,37,55,49,-1,32,52,55,37,-1,33,34,35,38,36,-1,33,48,42,34,-1,35,51,57,38,-1,36,38,57,54,-1,39,40,41,47,-1,39,44,46,40,-1,41,42,48,47,-1,43,45,46,44,-1,49,55,56,50,-1,50,56,57,51,-1,52,53,56,55,-1,53,54,57,56,-1})
            .setCoord(new Coordinate().setPoint(getCoordinate_7_153_point()))
            .setNormal(new Normal().setVector(getNormal_7_154_vector())))))
      .addChild(new Transform("SubBody")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setUSE("default")))
          .setGeometry(new IndexedFaceSet().setCreaseAngle(3.14).setCoordIndex(getIndexedFaceSet_6_160_coordIndex()).setNormalIndex(getIndexedFaceSet_6_160_normalIndex())
            .setCoord(new Coordinate().setPoint(getCoordinate_7_160_point()))
            .setNormal(new Normal().setVector(getNormal_7_161_vector()))))))
    .addChild(new ExternProtoDeclare("HeadsUpDisplay").setName("HeadsUpDisplay").setAppinfo("HeadsUpDisplay positions child geometry in screen space, movable by the user").setUrl(new String[] {"../../Tools/HeadsUpDisplays/HeadsUpDisplayPrototype.x3d#HeadsUpDisplay","https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/HeadsUpDisplayPrototype.x3d#HeadsUpDisplay","../../Tools/HeadsUpDisplays/HeadsUpDisplayPrototype.wrl#HeadsUpDisplay","https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/HeadsUpDisplayPrototype.wrl#HeadsUpDisplay"})
      .addField(new field().setName("children").setType(field.TYPE_MFNODE).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Displayed subscene positioned as a HUD."))
      .addField(new field().setName("dragChildren").setType(field.TYPE_MFNODE).setAccessType(field.ACCESSTYPE_INPUTOUTPUT).setAppinfo("Additional HUD geometry which can be touched and dragged for repositioning. If this geometry goes offscreen (perhaps due to screen resizing) then it snaps back to original position."))
      .addField(new field().setName("locationOffset").setType(field.TYPE_SFVEC3F).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setAppinfo("Modified screen location and distance (for size)."))
      .addField(new field().setName("traceEnabled").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INITIALIZEONLY).setAppinfo("Enable/disable console output for troubleshooting.")))
    .addChild(new TimeSensor("UpTimer").setCycleInterval(4))
    .addChild(new TimeSensor("DownTimer").setCycleInterval(4))
    .addChild(new Transform("AntennasRadarEtc").setScale(.15,.15,.15).setTranslation(5.5,.4,0.0)
      .addChild(new Shape()
        .setAppearance(new Appearance("Gray")
          .setMaterial(new Material().setDiffuseColor(.8,.8,.8).setShininess(.8))))
      .addChild(new Group("RadarGroup")
        .addChild(new Transform("MoveRadar")
          .addChild(new Transform("RadarTop").setTranslation(1.74,7.52,-.276)
            .addChild(new Shape()
              .setGeometry(new Box().setSize(.276,.25,1.104))
              .setAppearance(new Appearance("Black")
                .setMaterial(new Material().setDiffuseColor(.1,.1,.1)))))
          .addChild(new Transform("Radar").setTranslation(1.74,6.52,-.276)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setRadius(.1))
              .setAppearance(new Appearance().setUSE("Gray"))))
          .addChild(new TouchSensor("MoveRadarTouch").setDescription("Touch Sensor to cycle radar"))
          .addChild(new Group("MoveRadarUpAndDown")
            .addChild(new TimeSensor("RadarTimer").setCycleInterval(8))
            .addChild(new ROUTE().setFromNode("MoveRadarTouch").setFromField("touchTime").setToNode("RadarTimer").setToField("set_startTime"))
            .addChild(new PositionInterpolator("RadarUpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-2.5,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("RadarTimer").setFromField("fraction_changed").setToNode("RadarUpAndDown").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("RadarUpAndDown").setFromField("value_changed").setToNode("MoveRadar").setToField("set_translation")))
          .addChild(new Group("MoveRadarUp")
            .addChild(new PositionInterpolator("RadarUp").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-2.5,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("RadarUp").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("RadarUp").setFromField("value_changed").setToNode("MoveRadar").setToField("set_translation")))
          .addChild(new Group("MoveRadarDown")
            .addChild(new PositionInterpolator("RadarDown").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-2.5,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("RadarDown").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("RadarDown").setFromField("value_changed").setToNode("MoveRadar").setToField("set_translation")))))
      .addChild(new Group("Periscopes")
        .addChild(new Transform("MoveScope1").setScale(.8,.8,.8)
          .addChild(new TouchSensor("MoveScope1Sensor").setDescription("Sensor to cycle #1 Scope"))
          .addChild(new TimeSensor("Scope1Timer").setCycleInterval(4))
          .addChild(new ROUTE().setFromNode("MoveScope1Sensor").setFromField("touchTime").setToNode("Scope1Timer").setToField("set_startTime"))
          .addChild(new PositionInterpolator("Scope1UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-4.0,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("Scope1Timer").setFromField("fraction_changed").setToNode("Scope1UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("Scope1UpAndDown").setFromField("value_changed").setToNode("MoveScope1").setToField("set_translation"))
          .addChild(new Transform("No1Scope").setTranslation(-.483,6.9,.414)
            .addChild(new Shape("Scope")
              .setGeometry(new Cylinder().setHeight(13.8).setRadius(.05))
              .setAppearance(new Appearance().setUSE("Gray")))
            .addChild(new Transform().setScale(1.5,1.0,1.0)
              .addChild(new Shape("ScopeFairing")
                .setGeometry(new Cylinder().setHeight(7).setRadius(.1))
                .setAppearance(new Appearance("SeaFoamGreen")
                  .setMaterial(new Material().setDiffuseColor(.6,1.0,.8))))))
          .addChild(new Group("Move1ScopeUp")
            .addChild(new PositionInterpolator("Scope1Up").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-7.0,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("Scope1Up").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("Scope1Up").setFromField("value_changed").setToNode("MoveScope1").setToField("set_translation")))
          .addChild(new Group("Move1ScopeDown")
            .addChild(new PositionInterpolator("Scope1Down").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-7.0,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("Scope1Down").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("Scope1Down").setFromField("value_changed").setToNode("MoveScope1").setToField("set_translation"))))
        .addChild(new Transform("MoveScope2").setScale(.8,.8,.8)
          .addChild(new TouchSensor("MoveScope2Touch").setDescription("Sensor to Cycle #2 Scope"))
          .addChild(new TimeSensor("Scope2Timer").setCycleInterval(4))
          .addChild(new ROUTE().setFromNode("MoveScope2Touch").setFromField("touchTime").setToNode("Scope2Timer").setToField("set_startTime"))
          .addChild(new PositionInterpolator("Scope2UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-8.0,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("Scope2Timer").setFromField("fraction_changed").setToNode("Scope2UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("Scope2UpAndDown").setFromField("value_changed").setToNode("MoveScope2").setToField("set_translation"))
          .addChild(new Transform("No2Scope").setTranslation(-.483,6.9,-.414)
            .addChild(new Shape().setUSE("Scope"))
            .addChild(new Transform().setScale(1.5,1.0,1.0)
              .addChild(new Shape().setUSE("ScopeFairing"))))
          .addChild(new Group("Move2ScopeDown")
            .addChild(new PositionInterpolator("Scope2Down").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-7.0,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("Scope2Down").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("Scope2Down").setFromField("value_changed").setToNode("MoveScope2").setToField("set_translation")))
          .addChild(new Group("Move2ScopeUp")
            .addChild(new PositionInterpolator("Scope2Up").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-7.0,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("Scope2Up").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("Scope2Up").setFromField("value_changed").setToNode("MoveScope2").setToField("set_translation")))))
      .addChild(new Group("SnorkelMast")
        .addChild(new Transform("MoveSnorkel")
          .addChild(new TouchSensor("MoveSnorkelTouch").setDescription("Sensor to Cycle Snorkel Mast"))
          .addChild(new TimeSensor("Timer").setCycleInterval(4))
          .addChild(new ROUTE().setFromNode("MoveSnorkelTouch").setFromField("touchTime").setToNode("Timer").setToField("set_startTime"))
          .addChild(new PositionInterpolator("UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-5.0,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("Timer").setFromField("fraction_changed").setToNode("UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("UpAndDown").setFromField("value_changed").setToNode("MoveSnorkel").setToField("set_translation"))
          .addChild(new Transform("Snorkel").setScale(1.3,1.0,1.0).setTranslation(-2.484,7.52,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(4).setRadius(.3))
              .setAppearance(new Appearance()
                .setMaterial(new Material().setDiffuseColor(.6,.6,.6)))))
          .addChild(new Transform("SnorkelCap").setScale(1.4,1.1,1.1).setTranslation(-2.484,9.52,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(.6).setRadius(.5))
              .setAppearance(new Appearance().setUSE("Black"))))
          .addChild(new Group("MoveSnorkelUp")
            .addChild(new PositionInterpolator("SnorkelUp").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-5.0,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("SnorkelUp").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("SnorkelUp").setFromField("value_changed").setToNode("MoveSnorkel").setToField("set_translation")))
          .addChild(new Group("MoveSnorkelDown")
            .addChild(new PositionInterpolator("SnorkelDown").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-5.0,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("SnorkelDown").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("SnorkelDown").setFromField("value_changed").setToNode("MoveSnorkel").setToField("set_translation")))))
      .addChild(new Group("ANBRA-34")
        .addChild(new Transform("MoveBRA-34").setScale(.8,.8,.8).setTranslation(0.0,.2,0.0)
          .addChild(new TouchSensor("MoveBRA-34Touch").setDescription("Cycles #1 Bra-34"))
          .addChild(new TimeSensor("BRA-34Timer").setCycleInterval(4))
          .addChild(new PositionInterpolator("BRA-34UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-10.0,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("BRA-34Timer").setFromField("fraction_changed").setToNode("BRA-34UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("BRA-34UpAndDown").setFromField("value_changed").setToNode("MoveBRA-34").setToField("set_translation"))
          .addChild(new ROUTE().setFromNode("MoveBRA-34Touch").setFromField("touchTime").setToNode("BRA-34Timer").setToField("set_startTime"))
          .addChild(new Transform("No1BRA34").setTranslation(.552,7.4,.414)
            .addChild(new Transform("BRA34Fairing").setScale(1.8,1.0,1.0)
              .addChild(new Shape("BRA34FairingShape")
                .setGeometry(new Cylinder().setHeight(7).setRadius(.13))
                .setAppearance(new Appearance().setUSE("Gray"))))
            .addChild(new Transform("BRA34Cap").setTranslation(0.0,6.95,0.0)
              .addChild(new Shape("Cap")
                .setGeometry(new Cylinder().setHeight(.1).setRadius(.08))
                .setAppearance(new Appearance().setUSE("Black"))))
            .addChild(new Transform().setTranslation(0.0,3.0,0.0)
              .addChild(new Shape("BRA34Shape")
                .setGeometry(new Cylinder("BRA34").setHeight(7.8).setRadius(.08))
                .setAppearance(new Appearance()
                  .setMaterial(new Material().setDiffuseColor(.6,1.0,.8))))))
          .addChild(new Group("Move1Bra34Up")
            .addChild(new PositionInterpolator("BRA-34Up").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-10.0,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("BRA-34Up").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRA-34Up").setFromField("value_changed").setToNode("MoveBRA-34").setToField("set_translation")))
          .addChild(new Group("Move1BRA-34lDown")
            .addChild(new PositionInterpolator("BRA-34Down").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-10.0,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("BRA-34Down").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRA-34Down").setFromField("value_changed").setToNode("MoveBRA-34").setToField("set_translation"))))
        .addChild(new Transform("MoveBRA-34No2").setScale(.8,.8,.8).setTranslation(0.0,.2,0.0)
          .addChild(new TouchSensor("Move2BRA-34Touch").setDescription("Cycles #2 Bra-34"))
          .addChild(new TimeSensor("No2BRA-34Timer").setCycleInterval(4))
          .addChild(new PositionInterpolator("No2BRA-34UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-10.0,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("No2BRA-34Timer").setFromField("fraction_changed").setToNode("No2BRA-34UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("No2BRA-34UpAndDown").setFromField("value_changed").setToNode("MoveBRA-34No2").setToField("set_translation"))
          .addChild(new ROUTE().setFromNode("Move2BRA-34Touch").setFromField("touchTime").setToNode("No2BRA-34Timer").setToField("set_startTime"))
          .addChild(new Transform("No2BRA34").setTranslation(.552,7.4,-.414)
            .addChild(new Transform().setScale(1.8,1.0,1.0)
              .addChild(new Shape().setUSE("BRA34FairingShape")))
            .addChild(new Transform().setTranslation(0.0,6.95,0.0)
              .addChild(new Shape().setUSE("Cap")))
            .addChild(new Transform().setTranslation(0.0,3.0,0.0)
              .addChild(new Shape().setUSE("BRA34Shape"))))
          .addChild(new Group("Move2Bra34Up")
            .addChild(new PositionInterpolator("BRA-342Up").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-10.0,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("BRA-342Up").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRA-342Up").setFromField("value_changed").setToNode("MoveBRA-34No2").setToField("set_translation")))
          .addChild(new Group("Move2BRA-34lDown")
            .addChild(new PositionInterpolator("BRA-342Down").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-10.0,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("BRA-342Down").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRA-342Down").setFromField("value_changed").setToNode("MoveBRA-34No2").setToField("set_translation")))))
      .addChild(new Transform("BRD-7").setTranslation(-1.449,7.52,0.0)
        .addChild(new Transform("MoveBRD7")
          .addChild(new TouchSensor("MoveBRD7Touch").setDescription("Cycles BRD-7"))
          .addChild(new TimeSensor("BRD7Timer").setCycleInterval(4))
          .addChild(new ROUTE().setFromNode("MoveBRD7Touch").setFromField("touchTime").setToNode("BRD7Timer").setToField("set_startTime"))
          .addChild(new PositionInterpolator("BRD7UpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-5.5,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("BRD7Timer").setFromField("fraction_changed").setToNode("BRD7UpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("BRD7UpAndDown").setFromField("value_changed").setToNode("MoveBRD7").setToField("set_translation"))
          .addChild(new Transform("BRD-7Pole")
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(6).setRadius(.1))
              .setAppearance(new Appearance().setUSE("Black"))))
          .addChild(new Transform("BRD-7TopHat").setTranslation(0.0,3.0,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(.8).setRadius(.5))
              .setAppearance(new Appearance().setUSE("Black"))))
          .addChild(new Group("MoveBRD-7Up")
            .addChild(new PositionInterpolator("BRD7Up").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-5.5,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("BRD7Up").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRD7Up").setFromField("value_changed").setToNode("MoveBRD7").setToField("set_translation")))
          .addChild(new Group("MoveBRD-7lDown")
            .addChild(new PositionInterpolator("BRD7Down").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-5.5,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("BRD7Down").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("BRD7Down").setFromField("value_changed").setToNode("MoveBRD7").setToField("set_translation")))))
      .addChild(new Transform("NavID").setTranslation(1.449,5.52,.552)
        .addChild(new Transform("MoveNavID")
          .addChild(new TouchSensor("NavIDTouch").setDescription("Cycles NAV ID"))
          .addChild(new TimeSensor("NavIDTimer").setCycleInterval(4))
          .addChild(new ROUTE().setFromNode("NavIDTouch").setFromField("touchTime").setToNode("NavIDTimer").setToField("set_startTime"))
          .addChild(new PositionInterpolator("NavIDUpAndDown").setKey(new double[] {0.0,.5,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-4.2,0.0,0.0,0.0,0.0})))
          .addChild(new ROUTE().setFromNode("NavIDTimer").setFromField("fraction_changed").setToNode("NavIDUpAndDown").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("NavIDUpAndDown").setFromField("value_changed").setToNode("MoveNavID").setToField("set_translation"))
          .addChild(new Transform("NavIDPole").setTranslation(0.0,2.0,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(4).setRadius(.05))
              .setAppearance(new Appearance().setUSE("Gray"))))
          .addChild(new Transform("NavIDLight").setTranslation(0.0,4.0,0.0)
            .addChild(new Shape()
              .setGeometry(new Cylinder().setHeight(.3).setRadius(.1))
              .setAppearance(new Appearance()
                .setMaterial(new Material("NavIDColor").setAmbientIntensity(0))))
            .addChild(new ColorInterpolator("ColorPath").setKey(new double[] {0.0,.2,.250,.450,.5,.7,.750,.875,1.0}).setKeyValue(new MFColor(new double[] {.996,.598,0.0,.879,.988,.996,.996,.598,0.0,.879,.988,.996,.996,.598,0.0,.879,.988,.996,.879,.988,.996,.879,.988,.996,.879,.988,.996})))
            .addChild(new ROUTE().setFromNode("ColorPath").setFromField("value_changed").setToNode("NavIDColor").setToField("set_emissiveColor"))
            .addChild(new TimeSensor("AnimationClock").setCycleInterval(9).setLoop(true))
            .addChild(new ROUTE().setFromNode("AnimationClock").setFromField("fraction_changed").setToNode("ColorPath").setToField("set_fraction")))
          .addChild(new Group("MoveNavIDUp")
            .addChild(new PositionInterpolator("NavIDUp").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,-4.2,0.0,0.0,0.0,0.0})))
            .addChild(new ROUTE().setFromNode("UpTimer").setFromField("fraction_changed").setToNode("NavIDUp").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("NavIDUp").setFromField("value_changed").setToNode("MoveNavID").setToField("set_translation")))
          .addChild(new Group("MoveNavIDlDown")
            .addChild(new PositionInterpolator("NavIDDown").setKey(new double[] {0.0,1.0}).setKeyValue(new MFVec3f(new double[] {0.0,0.0,0.0,0.0,-4.2,0.0})))
            .addChild(new ROUTE().setFromNode("DownTimer").setFromField("fraction_changed").setToNode("NavIDDown").setToField("set_fraction"))
            .addChild(new ROUTE().setFromNode("NavIDDown").setFromField("value_changed").setToNode("MoveNavID").setToField("set_translation")))))
      .addChild(new Transform("FairwaterPlanesMain").setRotation(1.0,0.0,0.0,-1.57).setTranslation(-1.85,3.54,6.0)
        .addChild(new Transform("FairwaterPlanes").setCenter(3.0,0.0,0.0)
          .addChild(new Inline().setUrl(new String[] {"../SsnLosAngelesUnitedStates/Planes.x3d","https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Planes.x3d","../SsnLosAngelesUnitedStates/Planes.wrl","https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/Planes.wrl"}))
          .addChild(new TouchSensor("MoveFWPlanes").setDescription("Cycles FW Planes"))
          .addChild(new TimeSensor("FWPlaneTimer").setCycleInterval(5))
          .addChild(new ROUTE().setFromNode("MoveFWPlanes").setFromField("touchTime").setToNode("FWPlaneTimer").setToField("set_startTime"))
          .addChild(new OrientationInterpolator("RotateFWPlanes").setKey(new double[] {0.0,.25,.50,.75,1.0}).setKeyValue(new MFRotation(new double[] {0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.52,0.0,1.0,0.0,0.00,0.0,1.0,0.0,-0.52,0.0,1.0,0.0,0.00})))
          .addChild(new ROUTE().setFromNode("FWPlaneTimer").setFromField("fraction_changed").setToNode("RotateFWPlanes").setToField("set_fraction"))
          .addChild(new ROUTE().setFromNode("RotateFWPlanes").setFromField("value_changed").setToNode("FairwaterPlanes").setToField("set_rotation")))))
    .addChild(new ProtoInstance("HeadsUpDisplay").setContainerField("children")
      .addFieldValue(new fieldValue().setName("dragChildren")
        .addChild(new Transform().setTranslation(0.0,0.0,-0.2)
          .addChild(new Shape()
            .setGeometry(new Box().setSize(5.0,2.0,0.001))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setDiffuseColor(1.0,1.0,1.0).setTransparency(1))))))
      .addFieldValue(new fieldValue().setName("locationOffset").setValue(new SFVec3f(4.0,2.0,0.0)))
      .addFieldValue(new fieldValue().setName("children")
        .addChild(new Transform()
          .addChild(new Group("SwitchGroup")
            .addChild(new Switch("RaiseOrLowerButton").setWhichChoice(0)
              .addChild(new Group("LowerMasts")
                .addChild(new TouchSensor("ClickToLowerSensor").setDescription("click to Lower All Masts"))
                .addChild(new Shape()
                  .setGeometry(new Text().setString(new String[] {"Lower All Masts"})
                    .setFontStyle(new FontStyle("HudText").setJustify(FontStyle.JUSTIFY_MIDDLE_MIDDLE).setSize(0.5)))
                  .setAppearance(new Appearance()
                    .setMaterial(new Material().setDiffuseColor(0.0,.8,0.0)))))
              .addChild(new Group("RaiseMasts")
                .addChild(new TouchSensor("ClickToRaiseSensor").setDescription("click to Raise All Masts"))
                .addChild(new Shape()
                  .setGeometry(new Text().setString(new String[] {"Raise All Masts"})
                    .setFontStyle(new FontStyle().setUSE("HudText")))
                  .setAppearance(new Appearance()
                    .setMaterial(new Material().setDiffuseColor(1.0,0.0,0.0))))))
            .addChild(new Script("AreMastsUp").setSourceCode("""
ecmascript:


function up (value, timestamp)
{
      setSwitch = 0;
}

function down (value, timestamp)
{
     setSwitch = 1;

}
""")
              .addField(new field().setName("up").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INPUTONLY))
              .addField(new field().setName("down").setType(field.TYPE_SFBOOL).setAccessType(field.ACCESSTYPE_INPUTONLY))
              .addField(new field().setName("setSwitch").setType(field.TYPE_SFINT32).setAccessType(field.ACCESSTYPE_OUTPUTONLY))))
          .addChild(new Group("LowerOrRaiseRouteGroup")
            .addChild(new ROUTE().setFromNode("ClickToLowerSensor").setFromField("touchTime").setToNode("DownTimer").setToField("set_startTime"))
            .addChild(new ROUTE().setFromNode("ClickToRaiseSensor").setFromField("touchTime").setToNode("UpTimer").setToField("set_startTime"))
            .addChild(new ROUTE().setFromNode("ClickToLowerSensor").setFromField("isActive").setToNode("AreMastsUp").setToField("down"))
            .addChild(new ROUTE().setFromNode("ClickToRaiseSensor").setFromField("isActive").setToNode("AreMastsUp").setToField("up"))
            .addChild(new ROUTE().setFromNode("AreMastsUp").setFromField("setSwitch").setToNode("RaiseOrLowerButton").setToField("whichChoice")))))));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method

		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_6_105_coordIndex_1()
		{
			int[] value = {0,1,65,64,-1,0,15,31,16,-1,0,16,17,1,-1,0,64,79,15,-1,1,2,66,65,-1,1,17,18,2,-1,2,3,67,66,-1,2,18,19,3,-1,3,4,68,67,-1,3,19,20,4,-1,4,5,69,68,-1,4,20,21,5,-1,5,6,70,69,-1,5,21,22,6,-1,6,7,71,70,-1,6,22,23,7,-1,7,8,72,71,-1,7,23,24,8,-1,8,9,73,72,-1,8,24,25,9,-1,9,10,74,73,-1,9,25,26,10,-1,10,11,75,74,-1,10,26,27,11,-1,11,12,76,75,-1,11,27,28,12,-1,12,13,77,76,-1,12,28,29,13,-1,13,14,78,77,-1,13,29,30,14,-1,14,15,79,78,-1,14,30,31,15,-1,16,31,47,32,-1,16,32,33,17,-1,17,33,34,18,-1,18,34,35,19,-1,19,35,36,20,-1,20,36,37,21,-1,21,37,38,22,-1,22,38,39,23,-1,23,39,40,24,-1,24,40,41,25,-1,25,41,42,26,-1,26,42,43,27,-1,27,43,44,28,-1,28,44,45,29,-1,29,45,46,30,-1,30,46,47,31,-1,32,47,46,62,63,48,-1,32,48,49,33,-1,33,49,50,34,-1,34,50,51,35,-1,35,51,52,36,-1,36,52,53,37,-1,37,53,54,38,-1,38,54,55,39,-1,39,55,56,40,-1,40,56,57,41,-1,41,57,58,42,-1,42,58,59,43,-1,43,59,60,44,-1,44,60,61,45,-1,45,61,62,46,-1,48,63,79,64,-1,48,64,65,49,-1,49,65,66,50,-1,50,66,67,51,-1,51,67,68,52,-1,52,68,69,53,-1,53,69,70,54,-1,54,70,71,55,-1,55,71,72,56,-1,56,72,73,57,-1,57,73,74,58,-1,58,74,75,59,-1,59,75,76,60,-1,60,76,77,61,-1,61,77,78,62,-1,62,78,79,63,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_6_105_normalIndex_1()
		{
			int[] value = {0,1,65,64,-1,0,15,31,16,-1,0,16,17,1,-1,0,64,79,15,-1,1,2,66,65,-1,1,17,18,2,-1,2,3,67,66,-1,2,18,19,3,-1,3,4,68,67,-1,3,19,20,4,-1,4,5,69,68,-1,4,20,21,5,-1,5,6,70,69,-1,5,21,22,6,-1,6,7,71,70,-1,6,22,23,7,-1,7,8,72,71,-1,7,23,24,8,-1,8,9,73,72,-1,8,24,25,9,-1,9,10,74,73,-1,9,25,26,10,-1,10,11,75,74,-1,10,26,27,11,-1,11,12,76,75,-1,11,27,28,12,-1,12,13,77,76,-1,12,28,29,13,-1,13,14,78,77,-1,13,29,30,14,-1,14,15,79,78,-1,14,30,31,15,-1,16,31,47,32,-1,16,32,33,17,-1,17,33,34,18,-1,18,34,35,19,-1,19,35,36,20,-1,20,36,37,21,-1,21,37,38,22,-1,22,38,39,23,-1,23,39,40,24,-1,24,40,41,25,-1,25,41,42,26,-1,26,42,43,27,-1,27,43,44,28,-1,28,44,45,29,-1,29,45,46,30,-1,30,46,47,31,-1,32,47,46,62,63,48,-1,32,48,49,33,-1,33,49,50,34,-1,34,50,51,35,-1,35,51,52,36,-1,36,52,53,37,-1,37,53,54,38,-1,38,54,55,39,-1,39,55,56,40,-1,40,56,57,41,-1,41,57,58,42,-1,42,58,59,43,-1,43,59,60,44,-1,44,60,61,45,-1,45,61,62,46,-1,48,63,79,64,-1,48,64,65,49,-1,49,65,66,50,-1,50,66,67,51,-1,51,67,68,52,-1,52,68,69,53,-1,53,69,70,54,-1,54,70,71,55,-1,55,71,72,56,-1,56,72,73,57,-1,57,73,74,58,-1,58,74,75,59,-1,59,75,76,60,-1,60,76,77,61,-1,61,77,78,62,-1,62,78,79,63,-1};
			return value;
		}





		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_6_160_coordIndex_1()
		{
			int[] value = {0,619,872,621,-1,0,620,863,622,-1,0,621,879,620,-1,0,622,856,619,-1,1,619,856,625,-1,1,623,873,624,-1,1,624,872,619,-1,1,625,857,623,-1,2,623,857,628,-1,2,626,874,627,-1,2,627,873,623,-1,2,628,858,626,-1,3,626,858,631,-1,3,629,875,630,-1,3,630,874,626,-1,3,631,859,629,-1,4,629,859,633,-1,4,632,875,629,-1,4,633,936,750,-1,4,750,920,632,-1,5,634,876,635,-1,5,635,921,754,-1,5,636,860,634,-1,5,754,937,636,-1,6,634,860,639,-1,6,637,877,638,-1,6,638,876,634,-1,6,639,861,637,-1,7,637,861,642,-1,7,640,878,641,-1,7,641,877,637,-1,7,642,862,640,-1,8,620,879,643,-1,8,640,862,644,-1,8,643,878,640,-1,8,644,863,620,-1,9,621,872,645,-1,9,645,880,647,-1,9,646,879,621,-1,9,647,887,646,-1,10,624,873,648,-1,10,645,872,624,-1,10,648,881,649,-1,10,649,880,645,-1,11,627,874,650,-1,11,648,873,627,-1,11,650,882,651,-1,11,651,881,648,-1,12,630,875,652,-1,12,650,874,630,-1,12,652,883,653,-1,12,653,882,650,-1,13,632,920,748,-1,13,652,875,632,-1,13,654,883,652,-1,13,748,933,654,-1,14,635,876,655,-1,14,655,884,656,-1,14,656,922,756,-1,14,756,921,635,-1,15,638,877,657,-1,15,655,876,638,-1,15,657,885,658,-1,15,658,884,655,-1,16,641,878,659,-1,16,657,877,641,-1,16,659,886,660,-1,16,660,885,657,-1,17,643,879,646,-1,17,646,887,661,-1,17,659,878,643,-1,17,661,886,659,-1,18,647,880,662,-1,18,662,888,664,-1,18,663,887,647,-1,18,664,895,663,-1,19,649,881,665,-1,19,662,880,649,-1,19,665,889,666,-1,19,666,888,662,-1,20,651,882,667,-1,20,665,881,651,-1,20,667,890,668,-1,20,668,889,665,-1,21,653,883,669,-1,21,667,882,653,-1,21,669,891,670,-1,21,670,890,667,-1,22,654,933,778,-1,22,669,883,654,-1,22,671,891,669,-1,22,778,932,671,-1,23,656,884,672,-1,23,672,892,673,-1,23,673,923,758,-1,23,758,922,656,-1,24,658,885,674,-1,24,672,884,658,-1,24,674,893,675,-1,24,675,892,672,-1,25,660,886,676,-1,25,674,885,660,-1,25,676,894,677,-1,25,677,893,674,-1,26,661,887,663,-1,26,663,895,678,-1,26,676,886,661,-1,26,678,894,676,-1,27,664,888,679,-1,27,679,896,681,-1,27,680,895,664,-1,27,681,903,680,-1,28,666,889,682,-1,28,679,888,666,-1,28,682,897,683,-1,28,683,896,679,-1,29,668,890,684,-1,29,682,889,668,-1,29,684,898,685,-1,29,685,897,682,-1,30,670,891,686,-1,30,684,890,670,-1,30,686,899,687,-1,30,687,898,684,-1,31,671,932,776,-1,31,686,891,671,-1,31,688,899,686,-1,31,776,931,688,-1,32,673,892,689,-1,32,689,900,690,-1,32,690,924,760,-1,32,760,923,673,-1,33,675,893,691,-1,33,689,892,675,-1,33,691,901,692,-1,33,692,900,689,-1,34,677,894,693,-1,34,691,893,677,-1,34,693,902,694,-1,34,694,901,691,-1,35,678,895,680,-1,35,680,903,695,-1,35,693,894,678,-1,35,695,902,693,-1,36,681,896,696,-1,36,696,904,698,-1,36,697,903,681,-1,36,698,911,697,-1,37,683,897,699,-1,37,696,896,683,-1,37,699,905,700,-1,37,700,904,696,-1,38,685,898,701,-1,38,699,897,685,-1,38,701,906,702,-1,38,702,905,699,-1,39,687,899,703,-1,39,701,898,687,-1,39,703,907,704,-1,39,704,906,701,-1,40,688,931,774,-1,40,703,899,688,-1,40,705,907,703,-1,40,774,930,705,-1,41,690,900,706,-1,41,706,908,707,-1,41,707,925,762,-1,41,762,924,690,-1,42,692,901,708,-1,42,706,900,692,-1,42,708,909,709,-1,42,709,908,706,-1,43,694,902,710,-1,43,708,901,694,-1,43,710,910,711,-1,43,711,909,708,-1,44,695,903,697,-1,44,697,911,712,-1,44,710,902,695,-1,44,712,910,710,-1,45,698,904,713,-1,45,713,912,715,-1,45,714,911,698,-1,45,715,919,714,-1,46,700,905,716,-1,46,713,904,700,-1,46,716,913,717,-1,46,717,912,713,-1,47,702,906,718,-1,47,716,905,702,-1,47,718,914,719,-1,47,719,913,716,-1,48,704,907,720,-1,48,718,906,704,-1,48,720,915,721,-1,48,721,914,718,-1,49,705,930,772,-1,49,720,907,705,-1,49,722,915,720,-1,49,772,929,722,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_coordIndex_2()
		{
			int[] value = {50,707,908,723,-1,50,723,916,724,-1,50,724,926,764,-1,50,764,925,707,-1,51,709,909,725,-1,51,723,908,709,-1,51,725,917,726,-1,51,726,916,723,-1,52,711,910,727,-1,52,725,909,711,-1,52,727,918,728,-1,52,728,917,725,-1,53,712,911,714,-1,53,714,919,729,-1,53,727,910,712,-1,53,729,918,727,-1,54,715,912,730,-1,54,730,864,732,-1,54,731,919,715,-1,54,732,871,731,-1,55,717,913,733,-1,55,730,912,717,-1,55,733,865,734,-1,55,734,864,730,-1,56,719,914,735,-1,56,733,913,719,-1,56,735,866,736,-1,56,736,865,733,-1,57,721,915,737,-1,57,735,914,721,-1,57,737,867,738,-1,57,738,866,735,-1,58,722,929,770,-1,58,737,915,722,-1,58,739,867,737,-1,58,770,928,739,-1,59,724,916,740,-1,59,740,868,741,-1,59,741,927,766,-1,59,766,926,724,-1,60,726,917,742,-1,60,740,916,726,-1,60,742,869,743,-1,60,743,868,740,-1,61,728,918,744,-1,61,742,917,728,-1,61,744,870,745,-1,61,745,869,742,-1,62,729,919,731,-1,62,731,871,746,-1,62,744,918,729,-1,62,746,870,744,-1,63,622,863,644,-1,63,625,856,622,-1,63,628,857,625,-1,63,631,858,628,-1,63,633,859,631,-1,63,636,937,752,-1,63,639,860,636,-1,63,642,861,639,-1,63,644,862,642,-1,63,752,936,633,-1,64,732,864,734,-1,64,734,865,736,-1,64,736,866,738,-1,64,738,867,739,-1,64,739,928,768,-1,64,741,868,743,-1,64,743,869,745,-1,64,745,870,746,-1,64,746,871,732,-1,64,768,927,741,-1,65,747,940,824,-1,65,748,920,747,-1,65,777,933,748,-1,65,824,955,777,-1,66,747,920,798,-1,66,749,941,825,-1,66,798,938,749,-1,66,825,940,747,-1,67,749,938,786,-1,67,751,942,826,-1,67,786,939,751,-1,67,826,941,749,-1,68,751,939,810,-1,68,753,943,827,-1,68,810,921,753,-1,68,827,942,751,-1,69,753,921,756,-1,69,755,944,828,-1,69,756,922,755,-1,69,828,943,753,-1,70,755,922,758,-1,70,757,945,829,-1,70,758,923,757,-1,70,829,944,755,-1,71,757,923,760,-1,71,759,946,830,-1,71,760,924,759,-1,71,830,945,757,-1,72,759,924,762,-1,72,761,947,831,-1,72,762,925,761,-1,72,831,946,759,-1,73,761,925,764,-1,73,763,948,832,-1,73,764,926,763,-1,73,832,947,761,-1,74,763,926,766,-1,74,765,949,833,-1,74,766,927,765,-1,74,833,948,763,-1,75,765,927,768,-1,75,767,950,834,-1,75,768,928,767,-1,75,834,949,765,-1,76,767,928,770,-1,76,769,951,835,-1,76,770,929,769,-1,76,835,950,767,-1,77,769,929,772,-1,77,771,952,836,-1,77,772,930,771,-1,77,836,951,769,-1,78,771,930,774,-1,78,773,953,837,-1,78,774,931,773,-1,78,837,952,771,-1,79,773,931,776,-1,79,775,954,838,-1,79,776,932,775,-1,79,838,953,773,-1,80,775,932,778,-1,80,777,955,839,-1,80,778,933,777,-1,80,839,954,775,-1,81,752,937,779,-1,81,779,936,752,-1,82,779,937,780,-1,82,780,936,779,-1,83,780,937,781,-1,83,781,936,780,-1,84,125,124,99,790,811,-1,84,781,937,812,-1,84,811,936,781,-1,84,812,802,113,126,125,-1,85,100,131,124,-1,85,114,135,156,123,-1,85,123,155,132,100,-1,85,124,125,-1,85,125,126,-1,85,126,136,114,-1,86,87,134,132,-1,86,132,290,244,-1,86,135,138,87,-1,86,244,293,135,-1,87,88,130,134,-1,87,138,130,88,-1,89,127,818,-1,89,128,820,-1,89,129,822,958,-1,89,130,138,115,959,-1,89,818,128,-1,89,820,129,-1,89,958,101,134,130,-1,89,959,823,127,-1,90,782,938,815,-1,90,815,939,782,-1,91,782,939,783,-1,91,783,938,782,-1,92,783,939,784,-1,92,784,938,783,-1,93,784,939,785,-1,93,785,938,784,-1,94,785,939,786,-1,94,786,938,785,-1,95,750,936,787,-1,95,787,920,750,-1,96,787,936,788,-1,96,788,920,787,-1,97,788,936,789,-1,97,789,920,788,-1,98,789,936,811,-1,98,790,920,789,-1,98,811,790,-1,99,124,791,-1,99,791,920,790,-1,100,132,134,101,956,-1,100,956,819,131,-1,101,133,819,956,-1,101,958,822,133,-1,102,792,920,816,-1,102,816,934,792,-1,103,792,934,813,-1,103,793,920,792,-1,103,813,938,793,-1,104,793,938,794,-1,104,794,920,793,-1,105,794,938,795,-1,105,795,920,794};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_coordIndex_3()
		{
			int[] value = {-1,106,795,938,796,-1,106,796,920,795,-1,107,796,938,797,-1,107,797,920,796,-1,108,797,938,798,-1,108,798,920,797,-1,109,754,921,799,-1,109,799,937,754,-1,110,799,921,800,-1,110,800,937,799,-1,111,800,921,801,-1,111,801,937,800,-1,112,801,921,802,-1,112,802,812,-1,112,812,937,801,-1,113,802,921,803,-1,113,803,126,-1,114,136,821,957,-1,114,957,115,138,135,-1,115,137,823,959,-1,115,957,821,137,-1,116,804,935,817,-1,116,817,921,804,-1,117,804,921,805,-1,117,805,939,814,-1,117,814,935,804,-1,118,805,921,806,-1,118,806,939,805,-1,119,806,921,807,-1,119,807,939,806,-1,120,807,921,808,-1,120,808,939,807,-1,121,808,921,809,-1,121,809,939,808,-1,122,809,921,810,-1,122,810,939,809,-1,123,156,157,-1,123,157,155,-1,124,131,791,-1,126,803,136,-1,127,814,939,818,-1,127,823,935,814,-1,128,815,938,820,-1,128,818,939,815,-1,129,813,934,822,-1,129,820,938,813,-1,131,819,920,791,-1,132,155,313,290,-1,133,816,920,819,-1,133,822,934,816,-1,135,293,314,156,-1,136,803,921,821,-1,137,817,935,823,-1,137,821,921,817,-1,139,316,846,982,-1,139,332,347,154,988,-1,139,982,140,333,332,-1,139,988,852,316,-1,140,317,849,985,-1,140,982,846,317,-1,140,985,141,334,333,-1,141,318,841,977,-1,141,977,142,335,334,-1,141,985,849,318,-1,142,319,845,981,-1,142,977,841,319,-1,142,981,143,336,335,-1,143,320,851,987,-1,143,981,845,320,-1,143,987,144,337,336,-1,144,321,850,986,-1,144,986,145,338,337,-1,144,987,851,321,-1,145,322,853,989,-1,145,986,850,322,-1,145,989,146,339,338,-1,146,323,840,976,-1,146,976,147,340,339,-1,146,989,853,323,-1,147,324,843,979,-1,147,976,840,324,-1,147,979,148,341,340,-1,148,325,844,980,-1,148,979,843,325,-1,148,980,149,342,341,-1,149,326,855,991,-1,149,980,844,326,-1,149,991,150,343,342,-1,150,327,848,984,-1,150,984,151,344,343,-1,150,991,855,327,-1,151,328,854,990,-1,151,984,848,328,-1,151,990,152,345,344,-1,152,329,842,978,-1,152,978,153,346,345,-1,152,990,854,329,-1,153,330,847,983,-1,153,978,842,330,-1,153,983,154,347,346,-1,154,331,852,988,-1,154,983,847,331,-1,155,157,315,313,-1,156,314,315,157,-1,158,348,539,351,-1,158,349,562,350,-1,158,350,555,348,-1,158,351,546,349,-1,159,348,555,353,-1,159,352,540,354,-1,159,353,556,352,-1,159,354,539,348,-1,160,352,556,356,-1,160,355,541,357,-1,160,356,557,355,-1,160,357,540,352,-1,161,355,557,359,-1,161,358,542,360,-1,161,359,558,358,-1,161,360,541,355,-1,162,358,558,361,-1,162,361,603,478,-1,162,362,542,358,-1,162,478,617,362,-1,163,363,543,365,-1,163,364,559,363,-1,163,365,618,481,-1,163,481,604,364,-1,164,363,559,367,-1,164,366,544,368,-1,164,367,560,366,-1,164,368,543,363,-1,165,366,560,370,-1,165,369,545,371,-1,165,370,561,369,-1,165,371,544,366,-1,166,349,546,373,-1,166,369,561,372,-1,166,372,562,349,-1,166,373,545,369,-1,167,350,562,375,-1,167,374,555,350,-1,167,375,570,376,-1,167,376,563,374,-1,168,353,555,374,-1,168,374,563,378,-1,168,377,556,353,-1,168,378,564,377,-1,169,356,556,377,-1,169,377,564,380,-1,169,379,557,356,-1,169,380,565,379,-1,170,359,557,379,-1,170,379,565,382,-1,170,381,558,359,-1,170,382,566,381,-1,171,361,558,381,-1,171,381,566,383,-1,171,383,616,477,-1,171,477,603,361,-1,172,364,604,483,-1,172,384,559,364,-1,172,385,567,384,-1,172,483,605,385,-1,173,367,559,384,-1,173,384,567,387,-1,173,386,560,367,-1,173,387,568,386,-1,174,370,560,386,-1,174,386,568,389,-1,174,388,561,370,-1,174,389,569,388,-1,175,372,561,388,-1,175,375,562,372,-1,175,388,569,390,-1,175,390,570,375,-1,176,376,570,392,-1,176,391,563,376,-1,176,392,578,393,-1,176,393,571,391,-1,177,378,563,391,-1,177,391,571,395,-1,177,394,564,378,-1,177,395,572,394,-1,178,380,564,394,-1,178,394,572,397,-1,178,396,565,380,-1,178,397,573,396,-1,179,382,565,396,-1,179,396,573,399,-1,179,398,566,382,-1,179,399,574,398,-1,180,383,566,398,-1,180,398,574,400,-1,180,400,615,505,-1,180,505,616,383,-1,181,385,605,485,-1,181,401,567};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_coordIndex_4()
		{
			int[] value = {385,-1,181,402,575,401,-1,181,485,606,402,-1,182,387,567,401,-1,182,401,575,404,-1,182,403,568,387,-1,182,404,576,403,-1,183,389,568,403,-1,183,403,576,406,-1,183,405,569,389,-1,183,406,577,405,-1,184,390,569,405,-1,184,392,570,390,-1,184,405,577,407,-1,184,407,578,392,-1,185,393,578,409,-1,185,408,571,393,-1,185,409,586,410,-1,185,410,579,408,-1,186,395,571,408,-1,186,408,579,412,-1,186,411,572,395,-1,186,412,580,411,-1,187,397,572,411,-1,187,411,580,414,-1,187,413,573,397,-1,187,414,581,413,-1,188,399,573,413,-1,188,413,581,416,-1,188,415,574,399,-1,188,416,582,415,-1,189,400,574,415,-1,189,415,582,417,-1,189,417,614,503,-1,189,503,615,400,-1,190,402,606,487,-1,190,418,575,402,-1,190,419,583,418,-1,190,487,607,419,-1,191,404,575,418,-1,191,418,583,421,-1,191,420,576,404,-1,191,421,584,420,-1,192,406,576,420,-1,192,420,584,423,-1,192,422,577,406,-1,192,423,585,422,-1,193,407,577,422,-1,193,409,578,407,-1,193,422,585,424,-1,193,424,586,409,-1,194,410,586,426,-1,194,425,579,410,-1,194,426,594,427,-1,194,427,587,425,-1,195,412,579,425,-1,195,425,587,429,-1,195,428,580,412,-1,195,429,588,428,-1,196,414,580,428,-1,196,428,588,431,-1,196,430,581,414,-1,196,431,589,430,-1,197,416,581,430,-1,197,430,589,433,-1,197,432,582,416,-1,197,433,590,432,-1,198,417,582,432,-1,198,432,590,434,-1,198,434,613,501,-1,198,501,614,417,-1,199,419,607,489,-1,199,435,583,419,-1,199,436,591,435,-1,199,489,608,436,-1,200,421,583,435,-1,200,435,591,438,-1,200,437,584,421,-1,200,438,592,437,-1,201,423,584,437,-1,201,437,592,440,-1,201,439,585,423,-1,201,440,593,439,-1,202,424,585,439,-1,202,426,586,424,-1,202,439,593,441,-1,202,441,594,426,-1,203,427,594,443,-1,203,442,587,427,-1,203,443,602,444,-1,203,444,595,442,-1,204,429,587,442,-1,204,442,595,446,-1,204,445,588,429,-1,204,446,596,445,-1,205,431,588,445,-1,205,445,596,448,-1,205,447,589,431,-1,205,448,597,447,-1,206,433,589,447,-1,206,447,597,450,-1,206,449,590,433,-1,206,450,598,449,-1,207,434,590,449,-1,207,449,598,451,-1,207,451,612,499,-1,207,499,613,434,-1,208,436,608,491,-1,208,452,591,436,-1,208,453,599,452,-1,208,491,609,453,-1,209,438,591,452,-1,209,452,599,455,-1,209,454,592,438,-1,209,455,600,454,-1,210,440,592,454,-1,210,454,600,457,-1,210,456,593,440,-1,210,457,601,456,-1,211,441,593,456,-1,211,443,594,441,-1,211,456,601,458,-1,211,458,602,443,-1,212,444,602,460,-1,212,459,595,444,-1,212,460,554,461,-1,212,461,547,459,-1,213,446,595,459,-1,213,459,547,463,-1,213,462,596,446,-1,213,463,548,462,-1,214,448,596,462,-1,214,462,548,465,-1,214,464,597,448,-1,214,465,549,464,-1,215,450,597,464,-1,215,464,549,467,-1,215,466,598,450,-1,215,467,550,466,-1,216,451,598,466,-1,216,466,550,468,-1,216,468,611,497,-1,216,497,612,451,-1,217,453,609,493,-1,217,469,599,453,-1,217,470,551,469,-1,217,493,610,470,-1,218,455,599,469,-1,218,469,551,472,-1,218,471,600,455,-1,218,472,552,471,-1,219,457,600,471,-1,219,471,552,474,-1,219,473,601,457,-1,219,474,553,473,-1,220,458,601,473,-1,220,460,602,458,-1,220,473,553,475,-1,220,475,554,460,-1,221,351,539,354,-1,221,354,540,357,-1,221,357,541,360,-1,221,360,542,362,-1,221,362,617,479,-1,221,365,543,368,-1,221,368,544,371,-1,221,371,545,373,-1,221,373,546,351,-1,221,479,618,365,-1,222,461,554,475,-1,222,463,547,461,-1,222,465,548,463,-1,222,467,549,465,-1,222,468,550,467,-1,222,470,610,495,-1,222,472,551,470,-1,222,474,552,472,-1,222,475,553,474,-1,222,495,611,468,-1,223,297,962,476,-1,223,476,603,477,-1,223,477,616,504,-1,223,504,975,297,-1,224,225,252,251,250,249,248,286,287,261,515,262,516,263,517,264,518,265,519,266,520,-1,224,298,299,225,-1,224,476,962,298,-1,224,520,603,476,-1,225,226,532,280,531,279,530,278,529,277,528,276,527,275,285,286,248,249,250,251,252,-1,225,299,300,226,-1,226,300,963,480,-1,226,480,604,532,-1,227,301,964,482,-1,227,480,963,301,-1,227,482,605,483};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_coordIndex_5()
		{
			int[] value = {-1,227,483,604,480,-1,228,302,965,484,-1,228,482,964,302,-1,228,484,606,485,-1,228,485,605,482,-1,229,303,966,486,-1,229,484,965,303,-1,229,486,607,487,-1,229,487,606,484,-1,230,304,967,488,-1,230,486,966,304,-1,230,488,608,489,-1,230,489,607,486,-1,231,305,968,490,-1,231,488,967,305,-1,231,490,609,491,-1,231,491,608,488,-1,232,306,969,492,-1,232,490,968,306,-1,232,492,610,493,-1,232,493,609,490,-1,233,307,970,494,-1,233,492,969,307,-1,233,494,611,495,-1,233,495,610,492,-1,234,308,971,496,-1,234,494,970,308,-1,234,496,612,497,-1,234,497,611,494,-1,235,309,972,498,-1,235,496,971,309,-1,235,498,613,499,-1,235,499,612,496,-1,236,310,973,500,-1,236,498,972,310,-1,236,500,614,501,-1,236,501,613,498,-1,237,311,974,502,-1,237,500,973,311,-1,237,502,615,503,-1,237,503,614,500,-1,238,312,975,504,-1,238,502,974,312,-1,238,504,616,505,-1,238,505,615,502,-1,239,479,617,506,-1,239,506,618,479,-1,240,506,617,507,-1,240,507,618,506,-1,241,507,617,508,-1,241,508,618,507,-1,242,283,284,271,524,534,-1,242,508,617,533,-1,242,533,512,257,282,283,-1,242,534,618,508,-1,243,258,290,313,281,-1,243,272,294,284,-1,243,281,314,293,272,-1,243,282,289,258,-1,243,283,282,-1,243,284,283,-1,244,245,296,293,-1,244,290,292,245,-1,245,246,288,296,-1,245,292,288,246,-1,247,259,291,287,-1,247,273,296,288,-1,247,285,295,273,-1,247,286,285,-1,247,287,286,-1,247,288,292,259,-1,253,478,603,509,-1,253,509,617,478,-1,254,509,603,510,-1,254,510,617,509,-1,255,510,603,511,-1,255,511,617,510,-1,256,511,603,512,-1,256,512,533,-1,256,533,617,511,-1,257,512,603,513,-1,257,513,282,-1,258,289,537,960,-1,258,960,259,292,290,-1,259,960,537,291,-1,260,514,535,-1,260,535,603,514,-1,261,287,291,535,514,-1,261,514,603,515,-1,262,515,603,516,-1,263,516,603,517,-1,264,517,603,518,-1,265,518,603,519,-1,266,519,603,520,-1,267,481,618,521,-1,267,521,604,481,-1,268,521,618,522,-1,268,522,604,521,-1,269,522,618,523,-1,269,523,604,522,-1,270,523,618,534,-1,270,524,604,523,-1,270,534,524,-1,271,284,525,-1,271,525,604,524,-1,272,293,296,273,961,-1,272,961,538,294,-1,273,295,538,961,-1,274,526,604,536,-1,274,536,526,-1,275,526,536,295,285,-1,275,527,604,526,-1,276,528,604,527,-1,277,529,604,528,-1,278,530,604,529,-1,279,531,604,530,-1,280,532,604,531,-1,281,313,315,-1,281,315,314,-1,282,513,289,-1,284,294,525,-1,289,513,603,537,-1,291,537,603,535,-1,294,538,604,525,-1,295,536,604,538,-1,297,975,312,974,311,973,310,972,309,971,308,970,307,969,306,968,305,967,304,966,303,965,302,964,301,963,300,299,298,962,-1,316,824,940,846,-1,316,852,955,824,-1,317,825,941,849,-1,317,846,940,825,-1,318,826,942,841,-1,318,849,941,826,-1,319,827,943,845,-1,319,841,942,827,-1,320,828,944,851,-1,320,845,943,828,-1,321,829,945,850,-1,321,851,944,829,-1,322,830,946,853,-1,322,850,945,830,-1,323,831,947,840,-1,323,853,946,831,-1,324,832,948,843,-1,324,840,947,832,-1,325,833,949,844,-1,325,843,948,833,-1,326,834,950,855,-1,326,844,949,834,-1,327,835,951,848,-1,327,855,950,835,-1,328,836,952,854,-1,328,848,951,836,-1,329,837,953,842,-1,329,854,952,837,-1,330,838,954,847,-1,330,842,953,838,-1,331,839,955,852,-1,331,847,954,839,-1,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_6_160_normalIndex_1()
		{
			int[] value = {0,619,872,621,-1,0,620,863,622,-1,0,621,879,620,-1,0,622,856,619,-1,1,619,856,625,-1,1,623,873,624,-1,1,624,872,619,-1,1,625,857,623,-1,2,623,857,628,-1,2,626,874,627,-1,2,627,873,623,-1,2,628,858,626,-1,3,626,858,631,-1,3,629,875,630,-1,3,630,874,626,-1,3,631,859,629,-1,4,629,859,633,-1,4,632,875,629,-1,4,633,936,750,-1,4,750,920,632,-1,5,634,876,635,-1,5,635,921,754,-1,5,636,860,634,-1,5,754,937,636,-1,6,634,860,639,-1,6,637,877,638,-1,6,638,876,634,-1,6,639,861,637,-1,7,637,861,642,-1,7,640,878,641,-1,7,641,877,637,-1,7,642,862,640,-1,8,620,879,643,-1,8,640,862,644,-1,8,643,878,640,-1,8,644,863,620,-1,9,621,872,645,-1,9,645,880,647,-1,9,646,879,621,-1,9,647,887,646,-1,10,624,873,648,-1,10,645,872,624,-1,10,648,881,649,-1,10,649,880,645,-1,11,627,874,650,-1,11,648,873,627,-1,11,650,882,651,-1,11,651,881,648,-1,12,630,875,652,-1,12,650,874,630,-1,12,652,883,653,-1,12,653,882,650,-1,13,632,920,748,-1,13,652,875,632,-1,13,654,883,652,-1,13,748,933,654,-1,14,635,876,655,-1,14,655,884,656,-1,14,656,922,756,-1,14,756,921,635,-1,15,638,877,657,-1,15,655,876,638,-1,15,657,885,658,-1,15,658,884,655,-1,16,641,878,659,-1,16,657,877,641,-1,16,659,886,660,-1,16,660,885,657,-1,17,643,879,646,-1,17,646,887,661,-1,17,659,878,643,-1,17,661,886,659,-1,18,647,880,662,-1,18,662,888,664,-1,18,663,887,647,-1,18,664,895,663,-1,19,649,881,665,-1,19,662,880,649,-1,19,665,889,666,-1,19,666,888,662,-1,20,651,882,667,-1,20,665,881,651,-1,20,667,890,668,-1,20,668,889,665,-1,21,653,883,669,-1,21,667,882,653,-1,21,669,891,670,-1,21,670,890,667,-1,22,654,933,778,-1,22,669,883,654,-1,22,671,891,669,-1,22,778,932,671,-1,23,656,884,672,-1,23,672,892,673,-1,23,673,923,758,-1,23,758,922,656,-1,24,658,885,674,-1,24,672,884,658,-1,24,674,893,675,-1,24,675,892,672,-1,25,660,886,676,-1,25,674,885,660,-1,25,676,894,677,-1,25,677,893,674,-1,26,661,887,663,-1,26,663,895,678,-1,26,676,886,661,-1,26,678,894,676,-1,27,664,888,679,-1,27,679,896,681,-1,27,680,895,664,-1,27,681,903,680,-1,28,666,889,682,-1,28,679,888,666,-1,28,682,897,683,-1,28,683,896,679,-1,29,668,890,684,-1,29,682,889,668,-1,29,684,898,685,-1,29,685,897,682,-1,30,670,891,686,-1,30,684,890,670,-1,30,686,899,687,-1,30,687,898,684,-1,31,671,932,776,-1,31,686,891,671,-1,31,688,899,686,-1,31,776,931,688,-1,32,673,892,689,-1,32,689,900,690,-1,32,690,924,760,-1,32,760,923,673,-1,33,675,893,691,-1,33,689,892,675,-1,33,691,901,692,-1,33,692,900,689,-1,34,677,894,693,-1,34,691,893,677,-1,34,693,902,694,-1,34,694,901,691,-1,35,678,895,680,-1,35,680,903,695,-1,35,693,894,678,-1,35,695,902,693,-1,36,681,896,696,-1,36,696,904,698,-1,36,697,903,681,-1,36,698,911,697,-1,37,683,897,699,-1,37,696,896,683,-1,37,699,905,700,-1,37,700,904,696,-1,38,685,898,701,-1,38,699,897,685,-1,38,701,906,702,-1,38,702,905,699,-1,39,687,899,703,-1,39,701,898,687,-1,39,703,907,704,-1,39,704,906,701,-1,40,688,931,774,-1,40,703,899,688,-1,40,705,907,703,-1,40,774,930,705,-1,41,690,900,706,-1,41,706,908,707,-1,41,707,925,762,-1,41,762,924,690,-1,42,692,901,708,-1,42,706,900,692,-1,42,708,909,709,-1,42,709,908,706,-1,43,694,902,710,-1,43,708,901,694,-1,43,710,910,711,-1,43,711,909,708,-1,44,695,903,697,-1,44,697,911,712,-1,44,710,902,695,-1,44,712,910,710,-1,45,698,904,713,-1,45,713,912,715,-1,45,714,911,698,-1,45,715,919,714,-1,46,700,905,716,-1,46,713,904,700,-1,46,716,913,717,-1,46,717,912,713,-1,47,702,906,718,-1,47,716,905,702,-1,47,718,914,719,-1,47,719,913,716,-1,48,704,907,720,-1,48,718,906,704,-1,48,720,915,721,-1,48,721,914,718,-1,49,705,930,772,-1,49,720,907,705,-1,49,722,915,720,-1,49,772,929,722,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_normalIndex_2()
		{
			int[] value = {50,707,908,723,-1,50,723,916,724,-1,50,724,926,764,-1,50,764,925,707,-1,51,709,909,725,-1,51,723,908,709,-1,51,725,917,726,-1,51,726,916,723,-1,52,711,910,727,-1,52,725,909,711,-1,52,727,918,728,-1,52,728,917,725,-1,53,712,911,714,-1,53,714,919,729,-1,53,727,910,712,-1,53,729,918,727,-1,54,715,912,730,-1,54,730,864,732,-1,54,731,919,715,-1,54,732,871,731,-1,55,717,913,733,-1,55,730,912,717,-1,55,733,865,734,-1,55,734,864,730,-1,56,719,914,735,-1,56,733,913,719,-1,56,735,866,736,-1,56,736,865,733,-1,57,721,915,737,-1,57,735,914,721,-1,57,737,867,738,-1,57,738,866,735,-1,58,722,929,770,-1,58,737,915,722,-1,58,739,867,737,-1,58,770,928,739,-1,59,724,916,740,-1,59,740,868,741,-1,59,741,927,766,-1,59,766,926,724,-1,60,726,917,742,-1,60,740,916,726,-1,60,742,869,743,-1,60,743,868,740,-1,61,728,918,744,-1,61,742,917,728,-1,61,744,870,745,-1,61,745,869,742,-1,62,729,919,731,-1,62,731,871,746,-1,62,744,918,729,-1,62,746,870,744,-1,63,622,863,644,-1,63,625,856,622,-1,63,628,857,625,-1,63,631,858,628,-1,63,633,859,631,-1,63,636,937,752,-1,63,639,860,636,-1,63,642,861,639,-1,63,644,862,642,-1,63,752,936,633,-1,64,732,864,734,-1,64,734,865,736,-1,64,736,866,738,-1,64,738,867,739,-1,64,739,928,768,-1,64,741,868,743,-1,64,743,869,745,-1,64,745,870,746,-1,64,746,871,732,-1,64,768,927,741,-1,65,747,940,824,-1,65,748,920,747,-1,65,777,933,748,-1,65,824,955,777,-1,66,747,920,798,-1,66,749,941,825,-1,66,798,938,749,-1,66,825,940,747,-1,67,749,938,786,-1,67,751,942,826,-1,67,786,939,751,-1,67,826,941,749,-1,68,751,939,810,-1,68,753,943,827,-1,68,810,921,753,-1,68,827,942,751,-1,69,753,921,756,-1,69,755,944,828,-1,69,756,922,755,-1,69,828,943,753,-1,70,755,922,758,-1,70,757,945,829,-1,70,758,923,757,-1,70,829,944,755,-1,71,757,923,760,-1,71,759,946,830,-1,71,760,924,759,-1,71,830,945,757,-1,72,759,924,762,-1,72,761,947,831,-1,72,762,925,761,-1,72,831,946,759,-1,73,761,925,764,-1,73,763,948,832,-1,73,764,926,763,-1,73,832,947,761,-1,74,763,926,766,-1,74,765,949,833,-1,74,766,927,765,-1,74,833,948,763,-1,75,765,927,768,-1,75,767,950,834,-1,75,768,928,767,-1,75,834,949,765,-1,76,767,928,770,-1,76,769,951,835,-1,76,770,929,769,-1,76,835,950,767,-1,77,769,929,772,-1,77,771,952,836,-1,77,772,930,771,-1,77,836,951,769,-1,78,771,930,774,-1,78,773,953,837,-1,78,774,931,773,-1,78,837,952,771,-1,79,773,931,776,-1,79,775,954,838,-1,79,776,932,775,-1,79,838,953,773,-1,80,775,932,778,-1,80,777,955,839,-1,80,778,933,777,-1,80,839,954,775,-1,81,752,937,779,-1,81,779,936,752,-1,82,779,937,780,-1,82,780,936,779,-1,83,780,937,781,-1,83,781,936,780,-1,84,125,124,99,790,811,-1,84,781,937,812,-1,84,811,936,781,-1,84,812,802,113,126,125,-1,85,100,131,124,-1,85,114,135,156,123,-1,85,123,155,132,100,-1,85,124,125,-1,85,125,126,-1,85,126,136,114,-1,86,87,134,132,-1,86,132,290,244,-1,86,135,138,87,-1,86,244,293,135,-1,87,88,130,134,-1,87,138,130,88,-1,89,127,818,-1,89,128,820,-1,89,129,822,958,-1,89,130,138,115,959,-1,89,818,128,-1,89,820,129,-1,89,958,101,134,130,-1,89,959,823,127,-1,90,782,938,815,-1,90,815,939,782,-1,91,782,939,783,-1,91,783,938,782,-1,92,783,939,784,-1,92,784,938,783,-1,93,784,939,785,-1,93,785,938,784,-1,94,785,939,786,-1,94,786,938,785,-1,95,750,936,787,-1,95,787,920,750,-1,96,787,936,788,-1,96,788,920,787,-1,97,788,936,789,-1,97,789,920,788,-1,98,789,936,811,-1,98,790,920,789,-1,98,811,790,-1,99,124,791,-1,99,791,920,790,-1,100,132,134,101,956,-1,100,956,819,131,-1,101,133,819,956,-1,101,958,822,133,-1,102,792,920,816,-1,102,816,934,792,-1,103,792,934,813,-1,103,793,920,792,-1,103,813,938,793,-1,104,793,938,794,-1,104,794,920,793,-1,105,794,938,795,-1,105,795,920,794};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_normalIndex_3()
		{
			int[] value = {-1,106,795,938,796,-1,106,796,920,795,-1,107,796,938,797,-1,107,797,920,796,-1,108,797,938,798,-1,108,798,920,797,-1,109,754,921,799,-1,109,799,937,754,-1,110,799,921,800,-1,110,800,937,799,-1,111,800,921,801,-1,111,801,937,800,-1,112,801,921,802,-1,112,802,812,-1,112,812,937,801,-1,113,802,921,803,-1,113,803,126,-1,114,136,821,957,-1,114,957,115,138,135,-1,115,137,823,959,-1,115,957,821,137,-1,116,804,935,817,-1,116,817,921,804,-1,117,804,921,805,-1,117,805,939,814,-1,117,814,935,804,-1,118,805,921,806,-1,118,806,939,805,-1,119,806,921,807,-1,119,807,939,806,-1,120,807,921,808,-1,120,808,939,807,-1,121,808,921,809,-1,121,809,939,808,-1,122,809,921,810,-1,122,810,939,809,-1,123,156,157,-1,123,157,155,-1,124,131,791,-1,126,803,136,-1,127,814,939,818,-1,127,823,935,814,-1,128,815,938,820,-1,128,818,939,815,-1,129,813,934,822,-1,129,820,938,813,-1,131,819,920,791,-1,132,155,313,290,-1,133,816,920,819,-1,133,822,934,816,-1,135,293,314,156,-1,136,803,921,821,-1,137,817,935,823,-1,137,821,921,817,-1,139,316,846,982,-1,139,332,347,154,988,-1,139,982,140,333,332,-1,139,988,852,316,-1,140,317,849,985,-1,140,982,846,317,-1,140,985,141,334,333,-1,141,318,841,977,-1,141,977,142,335,334,-1,141,985,849,318,-1,142,319,845,981,-1,142,977,841,319,-1,142,981,143,336,335,-1,143,320,851,987,-1,143,981,845,320,-1,143,987,144,337,336,-1,144,321,850,986,-1,144,986,145,338,337,-1,144,987,851,321,-1,145,322,853,989,-1,145,986,850,322,-1,145,989,146,339,338,-1,146,323,840,976,-1,146,976,147,340,339,-1,146,989,853,323,-1,147,324,843,979,-1,147,976,840,324,-1,147,979,148,341,340,-1,148,325,844,980,-1,148,979,843,325,-1,148,980,149,342,341,-1,149,326,855,991,-1,149,980,844,326,-1,149,991,150,343,342,-1,150,327,848,984,-1,150,984,151,344,343,-1,150,991,855,327,-1,151,328,854,990,-1,151,984,848,328,-1,151,990,152,345,344,-1,152,329,842,978,-1,152,978,153,346,345,-1,152,990,854,329,-1,153,330,847,983,-1,153,978,842,330,-1,153,983,154,347,346,-1,154,331,852,988,-1,154,983,847,331,-1,155,157,315,313,-1,156,314,315,157,-1,158,348,539,351,-1,158,349,562,350,-1,158,350,555,348,-1,158,351,546,349,-1,159,348,555,353,-1,159,352,540,354,-1,159,353,556,352,-1,159,354,539,348,-1,160,352,556,356,-1,160,355,541,357,-1,160,356,557,355,-1,160,357,540,352,-1,161,355,557,359,-1,161,358,542,360,-1,161,359,558,358,-1,161,360,541,355,-1,162,358,558,361,-1,162,361,603,478,-1,162,362,542,358,-1,162,478,617,362,-1,163,363,543,365,-1,163,364,559,363,-1,163,365,618,481,-1,163,481,604,364,-1,164,363,559,367,-1,164,366,544,368,-1,164,367,560,366,-1,164,368,543,363,-1,165,366,560,370,-1,165,369,545,371,-1,165,370,561,369,-1,165,371,544,366,-1,166,349,546,373,-1,166,369,561,372,-1,166,372,562,349,-1,166,373,545,369,-1,167,350,562,375,-1,167,374,555,350,-1,167,375,570,376,-1,167,376,563,374,-1,168,353,555,374,-1,168,374,563,378,-1,168,377,556,353,-1,168,378,564,377,-1,169,356,556,377,-1,169,377,564,380,-1,169,379,557,356,-1,169,380,565,379,-1,170,359,557,379,-1,170,379,565,382,-1,170,381,558,359,-1,170,382,566,381,-1,171,361,558,381,-1,171,381,566,383,-1,171,383,616,477,-1,171,477,603,361,-1,172,364,604,483,-1,172,384,559,364,-1,172,385,567,384,-1,172,483,605,385,-1,173,367,559,384,-1,173,384,567,387,-1,173,386,560,367,-1,173,387,568,386,-1,174,370,560,386,-1,174,386,568,389,-1,174,388,561,370,-1,174,389,569,388,-1,175,372,561,388,-1,175,375,562,372,-1,175,388,569,390,-1,175,390,570,375,-1,176,376,570,392,-1,176,391,563,376,-1,176,392,578,393,-1,176,393,571,391,-1,177,378,563,391,-1,177,391,571,395,-1,177,394,564,378,-1,177,395,572,394,-1,178,380,564,394,-1,178,394,572,397,-1,178,396,565,380,-1,178,397,573,396,-1,179,382,565,396,-1,179,396,573,399,-1,179,398,566,382,-1,179,399,574,398,-1,180,383,566,398,-1,180,398,574,400,-1,180,400,615,505,-1,180,505,616,383,-1,181,385,605,485,-1,181,401,567};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_normalIndex_4()
		{
			int[] value = {385,-1,181,402,575,401,-1,181,485,606,402,-1,182,387,567,401,-1,182,401,575,404,-1,182,403,568,387,-1,182,404,576,403,-1,183,389,568,403,-1,183,403,576,406,-1,183,405,569,389,-1,183,406,577,405,-1,184,390,569,405,-1,184,392,570,390,-1,184,405,577,407,-1,184,407,578,392,-1,185,393,578,409,-1,185,408,571,393,-1,185,409,586,410,-1,185,410,579,408,-1,186,395,571,408,-1,186,408,579,412,-1,186,411,572,395,-1,186,412,580,411,-1,187,397,572,411,-1,187,411,580,414,-1,187,413,573,397,-1,187,414,581,413,-1,188,399,573,413,-1,188,413,581,416,-1,188,415,574,399,-1,188,416,582,415,-1,189,400,574,415,-1,189,415,582,417,-1,189,417,614,503,-1,189,503,615,400,-1,190,402,606,487,-1,190,418,575,402,-1,190,419,583,418,-1,190,487,607,419,-1,191,404,575,418,-1,191,418,583,421,-1,191,420,576,404,-1,191,421,584,420,-1,192,406,576,420,-1,192,420,584,423,-1,192,422,577,406,-1,192,423,585,422,-1,193,407,577,422,-1,193,409,578,407,-1,193,422,585,424,-1,193,424,586,409,-1,194,410,586,426,-1,194,425,579,410,-1,194,426,594,427,-1,194,427,587,425,-1,195,412,579,425,-1,195,425,587,429,-1,195,428,580,412,-1,195,429,588,428,-1,196,414,580,428,-1,196,428,588,431,-1,196,430,581,414,-1,196,431,589,430,-1,197,416,581,430,-1,197,430,589,433,-1,197,432,582,416,-1,197,433,590,432,-1,198,417,582,432,-1,198,432,590,434,-1,198,434,613,501,-1,198,501,614,417,-1,199,419,607,489,-1,199,435,583,419,-1,199,436,591,435,-1,199,489,608,436,-1,200,421,583,435,-1,200,435,591,438,-1,200,437,584,421,-1,200,438,592,437,-1,201,423,584,437,-1,201,437,592,440,-1,201,439,585,423,-1,201,440,593,439,-1,202,424,585,439,-1,202,426,586,424,-1,202,439,593,441,-1,202,441,594,426,-1,203,427,594,443,-1,203,442,587,427,-1,203,443,602,444,-1,203,444,595,442,-1,204,429,587,442,-1,204,442,595,446,-1,204,445,588,429,-1,204,446,596,445,-1,205,431,588,445,-1,205,445,596,448,-1,205,447,589,431,-1,205,448,597,447,-1,206,433,589,447,-1,206,447,597,450,-1,206,449,590,433,-1,206,450,598,449,-1,207,434,590,449,-1,207,449,598,451,-1,207,451,612,499,-1,207,499,613,434,-1,208,436,608,491,-1,208,452,591,436,-1,208,453,599,452,-1,208,491,609,453,-1,209,438,591,452,-1,209,452,599,455,-1,209,454,592,438,-1,209,455,600,454,-1,210,440,592,454,-1,210,454,600,457,-1,210,456,593,440,-1,210,457,601,456,-1,211,441,593,456,-1,211,443,594,441,-1,211,456,601,458,-1,211,458,602,443,-1,212,444,602,460,-1,212,459,595,444,-1,212,460,554,461,-1,212,461,547,459,-1,213,446,595,459,-1,213,459,547,463,-1,213,462,596,446,-1,213,463,548,462,-1,214,448,596,462,-1,214,462,548,465,-1,214,464,597,448,-1,214,465,549,464,-1,215,450,597,464,-1,215,464,549,467,-1,215,466,598,450,-1,215,467,550,466,-1,216,451,598,466,-1,216,466,550,468,-1,216,468,611,497,-1,216,497,612,451,-1,217,453,609,493,-1,217,469,599,453,-1,217,470,551,469,-1,217,493,610,470,-1,218,455,599,469,-1,218,469,551,472,-1,218,471,600,455,-1,218,472,552,471,-1,219,457,600,471,-1,219,471,552,474,-1,219,473,601,457,-1,219,474,553,473,-1,220,458,601,473,-1,220,460,602,458,-1,220,473,553,475,-1,220,475,554,460,-1,221,351,539,354,-1,221,354,540,357,-1,221,357,541,360,-1,221,360,542,362,-1,221,362,617,479,-1,221,365,543,368,-1,221,368,544,371,-1,221,371,545,373,-1,221,373,546,351,-1,221,479,618,365,-1,222,461,554,475,-1,222,463,547,461,-1,222,465,548,463,-1,222,467,549,465,-1,222,468,550,467,-1,222,470,610,495,-1,222,472,551,470,-1,222,474,552,472,-1,222,475,553,474,-1,222,495,611,468,-1,223,297,962,476,-1,223,476,603,477,-1,223,477,616,504,-1,223,504,975,297,-1,224,225,252,251,250,249,248,286,287,261,515,262,516,263,517,264,518,265,519,266,520,-1,224,298,299,225,-1,224,476,962,298,-1,224,520,603,476,-1,225,226,532,280,531,279,530,278,529,277,528,276,527,275,285,286,248,249,250,251,252,-1,225,299,300,226,-1,226,300,963,480,-1,226,480,604,532,-1,227,301,964,482,-1,227,480,963,301,-1,227,482,605,483};
			return value;
		}
		private int[] getIndexedFaceSet_6_160_normalIndex_5()
		{
			int[] value = {-1,227,483,604,480,-1,228,302,965,484,-1,228,482,964,302,-1,228,484,606,485,-1,228,485,605,482,-1,229,303,966,486,-1,229,484,965,303,-1,229,486,607,487,-1,229,487,606,484,-1,230,304,967,488,-1,230,486,966,304,-1,230,488,608,489,-1,230,489,607,486,-1,231,305,968,490,-1,231,488,967,305,-1,231,490,609,491,-1,231,491,608,488,-1,232,306,969,492,-1,232,490,968,306,-1,232,492,610,493,-1,232,493,609,490,-1,233,307,970,494,-1,233,492,969,307,-1,233,494,611,495,-1,233,495,610,492,-1,234,308,971,496,-1,234,494,970,308,-1,234,496,612,497,-1,234,497,611,494,-1,235,309,972,498,-1,235,496,971,309,-1,235,498,613,499,-1,235,499,612,496,-1,236,310,973,500,-1,236,498,972,310,-1,236,500,614,501,-1,236,501,613,498,-1,237,311,974,502,-1,237,500,973,311,-1,237,502,615,503,-1,237,503,614,500,-1,238,312,975,504,-1,238,502,974,312,-1,238,504,616,505,-1,238,505,615,502,-1,239,479,617,506,-1,239,506,618,479,-1,240,506,617,507,-1,240,507,618,506,-1,241,507,617,508,-1,241,508,618,507,-1,242,283,284,271,524,534,-1,242,508,617,533,-1,242,533,512,257,282,283,-1,242,534,618,508,-1,243,258,290,313,281,-1,243,272,294,284,-1,243,281,314,293,272,-1,243,282,289,258,-1,243,283,282,-1,243,284,283,-1,244,245,296,293,-1,244,290,292,245,-1,245,246,288,296,-1,245,292,288,246,-1,247,259,291,287,-1,247,273,296,288,-1,247,285,295,273,-1,247,286,285,-1,247,287,286,-1,247,288,292,259,-1,253,478,603,509,-1,253,509,617,478,-1,254,509,603,510,-1,254,510,617,509,-1,255,510,603,511,-1,255,511,617,510,-1,256,511,603,512,-1,256,512,533,-1,256,533,617,511,-1,257,512,603,513,-1,257,513,282,-1,258,289,537,960,-1,258,960,259,292,290,-1,259,960,537,291,-1,260,514,535,-1,260,535,603,514,-1,261,287,291,535,514,-1,261,514,603,515,-1,262,515,603,516,-1,263,516,603,517,-1,264,517,603,518,-1,265,518,603,519,-1,266,519,603,520,-1,267,481,618,521,-1,267,521,604,481,-1,268,521,618,522,-1,268,522,604,521,-1,269,522,618,523,-1,269,523,604,522,-1,270,523,618,534,-1,270,524,604,523,-1,270,534,524,-1,271,284,525,-1,271,525,604,524,-1,272,293,296,273,961,-1,272,961,538,294,-1,273,295,538,961,-1,274,526,604,536,-1,274,536,526,-1,275,526,536,295,285,-1,275,527,604,526,-1,276,528,604,527,-1,277,529,604,528,-1,278,530,604,529,-1,279,531,604,530,-1,280,532,604,531,-1,281,313,315,-1,281,315,314,-1,282,513,289,-1,284,294,525,-1,289,513,603,537,-1,291,537,603,535,-1,294,538,604,525,-1,295,536,604,538,-1,297,975,312,974,311,973,310,972,309,971,308,970,307,969,306,968,305,967,304,966,303,965,302,964,301,963,300,299,298,962,-1,316,824,940,846,-1,316,852,955,824,-1,317,825,941,849,-1,317,846,940,825,-1,318,826,942,841,-1,318,849,941,826,-1,319,827,943,845,-1,319,841,942,827,-1,320,828,944,851,-1,320,845,943,828,-1,321,829,945,850,-1,321,851,944,829,-1,322,830,946,853,-1,322,850,945,830,-1,323,831,947,840,-1,323,853,946,831,-1,324,832,948,843,-1,324,840,947,832,-1,325,833,949,844,-1,325,843,948,833,-1,326,834,950,855,-1,326,844,949,834,-1,327,835,951,848,-1,327,855,950,835,-1,328,836,952,854,-1,328,848,951,836,-1,329,837,953,842,-1,329,854,952,837,-1,330,838,954,847,-1,330,842,953,838,-1,331,839,955,852,-1,331,847,954,839,-1,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_7_160_point_1()
		{
			double[] value = {8.78412,0.651534,-2.74968E-17,8.74256,0.651534,0.10358,8.62592,0.651534,0.19139,8.456,0.651534,0.250064,8.0335,0.655899,0.2648,8.0335,0.655899,-0.2648,8.456,0.651534,-0.250064,8.62592,0.651534,-0.19139,8.74256,0.651534,-0.10358,9.2367,0.49957,-4.69801E-17,9.15719,0.49957,0.187486,8.93593,0.49957,0.346429,8.61853,0.49957,0.452631,7.58331,0.503363,0.488999,7.58331,0.503363,-0.488999,8.61853,0.49957,-0.452631,8.93593,0.49957,-0.346429,9.15719,0.49957,-0.187486,9.56455,0.27043,-5.3919E-17,9.45638,0.27043,0.244962,9.15719,0.27043,0.452631,8.73283,0.27043,0.591391,7.59767,0.27043,0.646326,7.59767,0.27043,-0.646326,8.73283,0.27043,-0.591391,9.15719,0.27043,-0.452631,9.45638,0.27043,-0.244962,9.68333,1.41379E-4,-5.3919E-17,9.56455,1.41379E-4,0.265145,9.2367,1.41379E-4,0.489924,8.77355,1.41379E-4,0.640117,7.60278,1.41379E-4,0.699578,7.60278,1.41379E-4,-0.699578,8.77355,1.41379E-4,-0.640117,9.2367,1.41379E-4,-0.489924,9.56455,1.41379E-4,-0.265145,9.56455,-0.270147,-5.3919E-17,9.45638,-0.270147,0.244962,9.15719,-0.270147,0.452631,8.73283,-0.270147,0.591391,7.59767,-0.270147,0.646326,7.59767,-0.270147,-0.646326,8.73283,-0.270147,-0.591391,9.15719,-0.270147,-0.452631,9.45638,-0.270147,-0.244962,9.2367,-0.499287,-4.69801E-17,9.15719,-0.499287,0.187486,8.93593,-0.499287,0.346429,8.61853,-0.499287,0.452631,7.58331,-0.499287,0.494676,7.58331,-0.499287,-0.494676,8.61853,-0.499287,-0.452631,8.93593,-0.499287,-0.346429,9.15719,-0.499287,-0.187486,8.78412,-0.651251,-2.44287E-17,8.74256,-0.651251,0.10358,8.62592,-0.651251,0.19139,8.456,-0.651251,0.250064,7.56331,-0.651822,0.270478,7.56331,-0.651822,-0.270478,8.456,-0.651251,-0.250064,8.62592,-0.651251,-0.19139,8.74256,-0.651251,-0.10358,8.286,0.711738,-1.02667E-17,8.18956,-0.711455,-9.98918E-18,2.13643,0.503363,0.493751,1.69479,0.656508,0.26442,1.59072,0.706516,-3.2107E-18,1.69479,0.656508,-0.26442,2.13643,0.503363,-0.493751,2.13643,0.27043,-0.652535,2.13643,1.41379E-4,-0.706298,2.13643,-0.270147,-0.652535,2.13643,-0.499287,-0.499428,2.13643,-0.652393,-0.270289,2.13643,-0.706157,-6.68015E-18,2.13643,-0.652393,0.270289,2.13643,-0.499287,0.499428,2.13643,-0.270147,0.652535,2.13643,1.41379E-4,0.706298,2.13643,0.27043,0.652535,7.68278,0.70644,-1.60535E-18,7.48988,0.70644,-1.60535E-18,7.29698,0.70644,-1.60535E-18,6.7183,0.70644,-6.93889E-18,6.33258,1.28191,-8.03542E-18,5.94666,1.28515,-5.41794E-18,5.5609,1.28838,-5.99546E-18,5.17513,1.29161,-6.57299E-18,4.78944,1.29484,-8.55886E-18,4.0298,0.706744,-1.60535E-18,3.86031,0.706744,-1.60535E-18,3.66742,0.706744,-1.60535E-18,3.47452,0.706744,-1.60535E-18,3.28163,0.706744,-1.60535E-18,7.15231,0.66785,0.247579,6.95942,0.66785,0.247579,6.76652,0.66785,0.247579,6.67007,0.672185,0.241091,6.34421,0.665335,0.275532};
			return value;
		}
		private double[] getCoordinate_7_160_point_2()
		{
			double[] value = {5.94669,1.28515,0.275532,5.56092,1.28838,0.275532,5.16998,0.663283,0.27054,4.76246,0.671595,0.237256,4.4695,0.668002,0.246814,4.2766,0.668002,0.246814,4.0837,0.668002,0.246814,3.89081,0.668002,0.246814,3.69791,0.668002,0.246814,7.15231,0.66785,-0.247579,6.95942,0.66785,-0.247579,6.76652,0.66785,-0.247579,6.67007,0.672185,-0.241091,6.34421,0.665335,-0.275532,5.94669,1.28515,-0.275532,5.56092,1.28838,-0.275532,5.16998,0.663283,-0.27054,4.76246,0.671595,-0.237256,4.4695,0.668002,-0.246814,4.2766,0.668002,-0.246814,4.0837,0.668002,-0.246814,3.89081,0.668002,-0.246814,3.69791,0.668002,-0.246814,6.23879,1.2827,-4.98059E-18,6.3325,0.701872,0.091844,6.42615,0.897903,-6.42141E-18,6.3325,0.701872,-0.091844,4.86237,0.699589,-0.103325,4.7191,0.715574,-5.20417E-18,4.86237,0.699589,0.103325,4.88301,1.29406,-7.01033E-18,6.00524,0.665335,0.275532,5.94672,1.28515,0.183688,5.45417,0.669902,0.252571,5.56095,1.28838,0.183688,5.94672,1.28515,-0.183688,6.00524,0.665335,-0.275532,5.45417,0.669902,-0.252571,5.56095,1.28838,-0.183688,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,6.09276,1.28392,0.091844,6.09276,1.28392,-0.091844,6.09273,1.28392,-5.19927E-18,8.75071,0.505823,2.02186E-16,8.71784,0.506814,0.0724164,8.6194,0.508265,0.142487,8.45632,0.511098,0.193895,8.0312,0.516492,0.207586,8.0312,0.516492,-0.207586,8.45632,0.511098,-0.193895,8.6194,0.508265,-0.142487,8.71784,0.506814,-0.0724164,9.1631,0.369543,-2.88512E-16,9.10361,0.371603,0.130187,8.90948,0.378534,0.258012,8.60623,0.387676,0.351341,7.57743,0.395949,0.383961,7.57743,0.395949,-0.383961,8.60623,0.387676,-0.351341,8.90948,0.378534,-0.258012,9.10361,0.371603,-0.130187,9.43978,0.185877,-2.66097E-16,9.35913,0.19424,0.162378,9.10352,0.197686,0.331921,8.70711,0.207071,0.457034,7.58905,0.212374,0.50811,7.58905,0.212374,-0.50811,8.70711,0.207071,-0.457034,9.10352,0.197686,-0.331921,9.35913,0.19424,-0.162378,9.52648,1.41379E-4,-5.37219E-17,9.44061,1.41379E-4,0.175879,9.1641,1.41379E-4,0.358796,8.73909,1.41379E-4,0.494257,7.5929,1.41379E-4,0.549915,7.5929,1.41379E-4,-0.549915,8.73909,1.41379E-4,-0.494257,9.1641,1.41379E-4,-0.358796,9.44061,1.41379E-4,-0.175879,9.43978,-0.185594,1.14088E-16,9.35913,-0.193957,0.162378,9.10352,-0.197403,0.331921,8.70711,-0.206789,0.457034,7.58905,-0.212091,0.50811,7.58905,-0.212091,-0.50811};
			return value;
		}
		private double[] getCoordinate_7_160_point_3()
		{
			double[] value = {8.70711,-0.206789,-0.457034,9.10352,-0.197403,-0.331921,9.35913,-0.193957,-0.162378,9.1631,-0.36926,-8.01554E-17,9.10361,-0.37132,0.130187,8.90948,-0.378251,0.258012,8.60623,-0.387393,0.351341,7.57725,-0.392552,0.389068,7.57725,-0.392552,-0.389068,8.60623,-0.387393,-0.351341,8.90948,-0.378251,-0.258012,9.10361,-0.37132,-0.130187,8.75071,-0.50554,-2.69723E-16,8.71784,-0.506531,0.0724164,8.6194,-0.507983,0.142487,8.45632,-0.510816,0.193895,7.56219,-0.513095,0.212693,7.56219,-0.513095,-0.212693,8.45632,-0.510816,-0.193895,8.6194,-0.507983,-0.142487,8.71784,-0.506531,-0.0724164,8.29983,0.56017,3.59764E-18,8.20381,-0.559887,-1.05495E-17,2.47458,0.393484,0.393342,2.52281,0.508672,0.240001,2.47458,0.567203,2.82031E-17,2.52281,0.508672,-0.240001,2.47458,0.393484,-0.393342,2.47458,0.213017,-0.513927,2.47458,1.41379E-4,-0.55627,2.47458,-0.212734,-0.513927,2.47458,-0.393201,-0.393342,2.47458,-0.513785,-0.212875,2.47458,-0.556129,0.0,2.47458,-0.513785,0.212875,2.47458,-0.393201,0.393342,2.47458,-0.212734,0.513927,2.47458,1.41379E-4,0.55627,2.47458,0.213017,0.513927,7.67865,0.556411,-1.36455E-18,7.48093,0.556411,-1.60535E-18,7.23303,0.556411,1.86409E-18,6.55974,0.556411,6.93889E-18,5.94024,1.13394,6.72424E-17,5.94541,1.13515,3.86461E-17,5.55964,1.13838,3.7247E-17,5.17388,1.14162,8.53696E-17,5.04838,1.14267,0.0614748,4.40354,0.567203,-6.42141E-18,4.01775,0.567203,-6.42141E-18,3.63196,0.567203,-6.42141E-18,3.24617,0.567203,-6.42141E-18,2.86038,0.567203,-6.42141E-18,7.14684,0.526524,0.192449,6.95499,0.526524,0.192449,6.76855,0.526524,0.192449,6.66517,0.529433,0.189879,6.36386,0.526312,0.205571,5.92828,1.13529,0.125532,5.53857,1.13856,0.125532,5.16169,0.526312,0.205571,4.78934,0.524038,0.217005,4.40354,0.524038,0.217005,4.01775,0.524038,0.217005,3.63196,0.524038,0.217005,3.24617,0.524038,0.217005,2.86038,0.524038,0.217005,7.14684,0.526524,-0.192449,6.95499,0.526524,-0.192449,6.76855,0.526524,-0.192449,6.66517,0.529433,-0.189879,6.36386,0.526312,-0.205571,5.92828,1.13529,-0.125532,5.53857,1.13856,-0.125532,5.16169,0.526312,-0.205571,4.78934,0.524038,-0.217005,4.40354,0.524038,-0.217005,4.01775,0.524038,-0.217005,3.63196,0.524038,-0.217005,3.24617,0.524038,-0.217005,2.86038,0.524038,-0.217005,6.23754,1.1327,-4.98059E-18,6.07983,0.547387,0.0996183,6.1852,0.746639,-5.74376E-16,6.07983,0.547387,-0.0996183,4.85724,0.573562,0.0319727,4.88984,0.567203,4.43616E-16,4.85724,0.573562,-0.0319727,4.88175,1.14406,-1.58223E-16,5.98907,0.539958,0.136966,5.94546,1.13515,0.183688,5.48905,0.539958,0.136966,5.5597,1.13838,0.183688,5.94546,1.13515,-0.183688,5.98907,0.539958,-0.136966,5.48905,0.539958,-0.136966,5.5597,1.13838,-0.183688,-5.96116,0.401114,0.400973,-5.96116,0.524038,0.217005,-5.96116,0.567203,-5.4582E-18};
			return value;
		}
		private double[] getCoordinate_7_160_point_4()
		{
			double[] value = {-5.96116,0.524038,-0.217005,-5.96116,0.401114,-0.400973,-5.96116,0.217146,-0.523896,-5.96116,1.41379E-4,-0.567061,-5.96116,-0.216864,-0.523896,-5.96116,-0.400832,-0.400973,-5.96116,-0.523755,-0.217005,-5.96116,-0.56692,-5.4582E-18,-5.96116,-0.523755,0.217005,-5.96116,-0.400832,0.400973,-5.96116,-0.216864,0.523896,-5.96116,1.41379E-4,0.567061,-5.96116,0.217146,0.523896,6.0915,1.13393,0.091844,6.0915,1.13393,-0.091844,6.09147,1.13393,-5.19927E-18,-6.01752,0.49957,0.499428,-6.01752,0.652676,0.270289,-6.01752,0.70644,-6.93889E-18,-6.01752,0.652676,-0.270289,-6.01752,0.49957,-0.499428,-6.01752,0.27043,-0.652535,-6.01752,1.41379E-4,-0.706298,-6.01752,-0.270147,-0.652535,-6.01752,-0.499287,-0.499428,-6.01752,-0.652393,-0.270289,-6.01752,-0.706157,-6.93889E-18,-6.01752,-0.652393,0.270289,-6.01752,-0.499287,0.499428,-6.01752,-0.270147,0.652535,-6.01752,1.41379E-4,0.706298,-6.01752,0.27043,0.652535,-6.11116,0.441745,0.441604,-6.11116,0.577125,0.238994,-6.11116,0.624663,-6.42141E-18,-6.11116,0.577125,-0.238994,-6.11116,0.441745,-0.441604,-6.11116,0.239136,-0.576983,-6.11116,1.41379E-4,-0.624522,-6.11116,-0.238853,-0.576983,-6.11116,-0.441462,-0.441604,-6.11116,-0.576842,-0.238994,-6.11116,-0.624381,-6.42141E-18,-6.11116,-0.576842,0.238994,-6.11116,-0.441462,0.441604,-6.11116,-0.238853,0.576983,-6.11116,1.41379E-4,0.624522,-6.11116,0.239136,0.576983,8.7521,0.505157,0.0369509,8.7521,0.505157,-0.0369509,8.96351,0.447035,-3.46945E-17,8.55052,0.538929,1.83013E-16,8.68536,0.506438,0.110925,8.91704,0.447985,0.103187,8.53139,0.539562,0.0421091,8.54991,0.508675,0.175162,8.76962,0.452537,0.203081,8.47566,0.539882,0.0826874,8.36163,0.511306,0.212146,8.53394,0.458586,0.27605,8.38187,0.541046,0.112522,7.56957,0.474581,0.285206,8.08561,0.543694,0.115941,8.36163,0.511306,-0.212146,7.56957,0.474581,-0.285206,8.08561,0.543694,-0.115941,8.54991,0.508675,-0.175162,8.53394,0.458586,-0.27605,8.38187,0.541046,-0.112522,8.68536,0.506438,-0.110925,8.76962,0.452537,-0.203081,8.47566,0.539882,-0.0826874,8.91704,0.447985,-0.103187,8.53139,0.539562,-0.0421091,9.14918,0.370004,0.0649143,9.14918,0.370004,-0.0649143,9.32369,0.280325,-3.36536E-16,9.02256,0.374552,0.196175,9.25216,0.286196,0.149182,8.76779,0.383234,0.310833,9.0221,0.292093,0.300822,8.43354,0.390888,0.376243,8.66466,0.302533,0.412122,7.58406,0.308406,0.457304,8.43354,0.390888,-0.376243,7.58406,0.308406,-0.457304,8.76779,0.383234,-0.310833,8.66466,0.302533,-0.412122,9.02256,0.374552,-0.196175,9.0221,0.292093,-0.300822,9.25216,0.286196,-0.149182,9.42052,0.1892,0.080088,9.42052,0.1892,-0.080088,9.50591,0.0926931,-1.66533E-16,9.25205,0.196069,0.249071,9.42098,0.098209,0.171978,8.91778,0.202085,0.402682,9.14977,0.0997865,0.351721,8.48375,0.210447,0.490662,8.73145,0.105207,0.484721};
			return value;
		}
		private double[] getCoordinate_7_160_point_5()
		{
			double[] value = {7.59196,0.108275,0.539257,8.48375,0.210447,-0.490662,7.59196,0.108275,-0.539257,8.91778,0.202085,-0.402682,8.73145,0.105207,-0.484721,9.25205,0.196069,-0.249071,9.14977,0.0997865,-0.351721,9.42098,0.098209,-0.171978,9.50624,1.41379E-4,0.0868179,9.50624,1.41379E-4,-0.0868179,9.50591,-0.0924103,5.89806E-17,9.32465,1.41379E-4,0.269427,9.42098,-0.0979262,0.171978,8.96471,1.41379E-4,0.435323,9.14977,-0.0995037,0.351721,8.49985,1.41379E-4,0.530849,8.73145,-0.104924,0.484721,7.59196,-0.107992,0.539257,8.49985,1.41379E-4,-0.530849,7.59196,-0.107992,-0.539257,8.96471,1.41379E-4,-0.435323,8.73145,-0.104924,-0.484721,9.32465,1.41379E-4,-0.269427,9.14977,-0.0995037,-0.351721,9.42098,-0.0979262,-0.171978,9.42052,-0.188917,0.080088,9.42052,-0.188917,-0.080088,9.32369,-0.280042,4.85723E-17,9.25205,-0.195787,0.249071,9.25216,-0.285913,0.149182,8.91778,-0.201802,0.402682,9.0221,-0.29181,0.300822,8.48375,-0.210164,0.490662,8.66466,-0.30225,0.412122,7.58406,-0.308123,0.457304,8.48375,-0.210164,-0.490662,7.58406,-0.308123,-0.457304,8.91778,-0.201802,-0.402682,8.66466,-0.30225,-0.412122,9.25205,-0.195787,-0.249071,9.0221,-0.29181,-0.300822,9.25216,-0.285913,-0.149182,9.14918,-0.369722,0.0649143,9.14918,-0.369722,-0.0649143,8.96351,-0.446752,-2.09902E-16,9.02256,-0.374269,0.196175,8.91704,-0.447702,0.103187,8.76779,-0.382951,0.310833,8.76962,-0.452255,0.203081,8.43354,-0.390605,0.376243,8.53394,-0.458304,0.27605,7.56886,-0.461842,0.305633,8.43354,-0.390605,-0.376243,7.56886,-0.461842,-0.305633,8.76779,-0.382951,-0.310833,8.53394,-0.458304,-0.27605,9.02256,-0.374269,-0.196175,8.76962,-0.452255,-0.203081,8.91704,-0.447702,-0.103187,8.7521,-0.504874,0.0369509,8.7521,-0.504874,-0.0369509,8.55052,-0.538646,-1.9082E-16,8.68536,-0.506155,0.110925,8.53139,-0.539279,0.0421091,8.54991,-0.508393,0.175162,8.47566,-0.5396,0.0826874,8.36163,-0.511024,0.212146,8.38187,-0.540763,0.112522,7.56057,-0.543411,0.115941,8.36163,-0.511024,-0.212146,7.56057,-0.543411,-0.115941,8.54991,-0.508393,-0.175162,8.38187,-0.540763,-0.112522,8.68536,-0.506155,-0.110925,8.47566,-0.5396,-0.0826874,8.53139,-0.539279,-0.0421091,2.47458,0.462576,0.308989,5.36564,0.40594,0.372916,7.24328,0.526524,0.192449,7.7751,0.556411,-3.46945E-18,2.47458,0.462576,-0.308989,7.24328,0.526524,-0.192449,2.47458,0.30913,-0.462435,5.36564,0.40594,-0.372916,2.47458,0.108644,-0.545479,5.36432,0.213017,-0.513927,2.47458,-0.108361,-0.545479,5.36419,1.41379E-4,-0.55627,2.47458,-0.308848,-0.462435,5.36432,-0.212734,-0.513927,2.47458,-0.462293,-0.308989,5.36493,-0.393201,-0.393342,2.47458,-0.545337,-0.108502,5.36726,-0.513785,-0.212875,2.47458,-0.545337,0.108502,5.37474,-0.556129,-3.46945E-18,2.47458,-0.462293,0.308989,5.36726,-0.513785,0.212875,2.47458,-0.308848,0.462435,5.36493,-0.393201,0.393342};
			return value;
		}
		private double[] getCoordinate_7_160_point_6()
		{
			double[] value = {2.47458,-0.108361,0.545479,5.36432,-0.212734,0.513927,2.47458,0.108644,0.545479,5.36419,1.41379E-4,0.55627,2.47458,0.30913,0.462435,5.36432,0.213017,0.513927,7.57737,0.556411,-3.46945E-18,7.38448,0.556411,-3.46945E-18,7.13658,0.556411,0.0,7.05144,0.526524,0.192449,6.85854,0.526524,0.192449,6.6721,0.526524,0.192449,6.55123,0.524038,0.217005,6.18757,0.533135,0.171269,4.98223,0.524038,0.217005,4.59644,0.524038,0.217005,4.21065,0.524038,0.217005,3.82486,0.524038,0.217005,3.43906,0.524038,0.217005,3.05327,0.524038,0.217005,2.66748,0.524038,0.217005,7.05144,0.526524,-0.192449,6.85854,0.526524,-0.192449,6.6721,0.526524,-0.192449,6.55123,0.524038,-0.217005,6.18757,0.533135,-0.171269,4.98223,0.524038,-0.217005,4.59644,0.524038,-0.217005,4.21065,0.524038,-0.217005,3.82486,0.524038,-0.217005,3.43906,0.524038,-0.217005,3.05327,0.524038,-0.217005,2.66748,0.524038,-0.217005,6.6212,0.54562,0.108502,6.6212,0.54562,-0.108502,5.31427,0.533135,0.171269,5.31427,0.533135,-0.171269,5.73511,0.542233,0.125532,5.73511,0.542233,-0.125532,8.5842,0.535165,0.0240564,8.54163,0.535769,0.072211,8.45506,0.536566,0.114074,8.33242,0.537914,0.138255,8.33242,0.537914,-0.138255,8.45506,0.536566,-0.114074,8.54163,0.535769,-0.072211,8.5842,0.535165,-0.0240564,8.5842,-0.534882,0.0240564,8.54163,-0.535486,0.072211,8.45506,-0.536283,0.114074,8.33242,-0.537631,0.138255,8.33242,-0.537631,-0.138255,8.45506,-0.536283,-0.114074,8.54163,-0.535486,-0.072211,8.5842,-0.534882,-0.0240564,8.95236,0.447171,0.051578,8.85569,0.44988,0.154857,8.66016,0.455641,0.24435,8.39761,0.460771,0.295565,8.39761,0.460771,-0.295565,8.66016,0.455641,-0.24435,8.85569,0.44988,-0.154857,8.95236,0.447171,-0.051578,9.30678,0.282453,0.0739364,9.15591,0.288913,0.227046,8.85476,0.297226,0.363803,8.4626,0.306233,0.441911,8.4626,0.306233,-0.441911,8.85476,0.297226,-0.363803,9.15591,0.288913,-0.227046,9.30678,0.282453,-0.0739364,9.48575,0.0949256,0.0848124,9.30727,0.0991295,0.263849,8.9536,0.10228,0.426888,8.49597,0.107167,0.52059,8.49597,0.107167,-0.52059,8.9536,0.10228,-0.426888,9.30727,0.0991295,-0.263849,9.48575,0.0949256,-0.0848124,9.48575,-0.0946428,0.0848124,9.30727,-0.0988467,0.263849,8.9536,-0.101997,0.426888,8.49597,-0.106885,0.52059,8.49597,-0.106885,-0.52059,8.9536,-0.101997,-0.426888,9.30727,-0.0988467,-0.263849,9.48575,-0.0946428,-0.0848124,9.30678,-0.28217,0.0739364,9.15591,-0.28863,0.227046,8.85476,-0.296943,0.363803,8.4626,-0.30595,0.441911,8.4626,-0.30595,-0.441911,8.85476,-0.296943,-0.363803,9.15591,-0.28863,-0.227046,9.30678,-0.28217,-0.0739364,8.95236,-0.446889,0.051578,8.85569,-0.449597,0.154857,8.66016,-0.455358,0.24435,8.39761,-0.460489,0.295565,8.39761,-0.460489,-0.295565};
			return value;
		}
		private double[] getCoordinate_7_160_point_7()
		{
			double[] value = {8.66016,-0.455358,-0.24435,8.85569,-0.449597,-0.154857,8.95236,-0.446889,-0.051578,5.36823,0.512401,0.227282,5.36823,0.512401,-0.227282,5.36457,0.30913,-0.462435,5.36421,0.108644,-0.545479,5.36421,-0.108361,-0.545479,5.36457,-0.308848,-0.462435,5.3654,-0.462293,-0.308989,5.3718,-0.545337,-0.108502,5.3718,-0.545337,0.108502,5.3654,-0.462293,0.308989,5.36457,-0.308848,0.462435,5.36421,-0.108361,0.545479,5.36421,0.108644,0.545479,5.36457,0.30913,0.462435,7.47197,0.54562,0.108502,7.47197,0.54562,-0.108502,8.78424,0.650392,0.0539142,8.78424,0.650392,-0.0539142,9.01637,0.587296,-3.81639E-17,8.5624,0.688171,-1.9082E-17,8.70151,0.650392,0.153535,8.95555,0.587296,0.147279,8.53866,0.688171,0.0601699,8.55183,0.650392,0.229781,8.78563,0.587296,0.272136,8.47185,0.688171,0.111179,8.36229,0.650392,0.271045,8.54006,0.587296,0.355563,8.37406,0.688171,0.145263,7.57341,0.602471,0.365882,8.08495,0.690454,0.147499,8.36229,0.650392,-0.271045,7.57341,0.602471,-0.365882,8.08495,0.690454,-0.147499,8.55183,0.650392,-0.229781,8.54006,0.587296,-0.355563,8.37406,0.688171,-0.145263,8.70151,0.650392,-0.153535,8.78563,0.587296,-0.272136,8.47185,0.688171,-0.111179,8.95555,0.587296,-0.147279,8.53866,0.688171,-0.0601699,9.21626,0.49957,0.0955615,9.21626,0.49957,-0.0955615,9.42265,0.392466,-4.85723E-17,9.06176,0.49957,0.272136,9.32701,0.392466,0.220419,8.78563,0.49957,0.40728,9.06176,0.392466,0.40728,8.44228,0.49957,0.48042,8.68371,0.392466,0.532137,7.59151,0.392466,0.581568,8.44228,0.49957,-0.48042,7.59151,0.392466,-0.581568,8.78563,0.49957,-0.40728,8.68371,0.392466,-0.532137,9.06176,0.49957,-0.272136,9.06176,0.392466,-0.40728,9.32701,0.392466,-0.220419,9.53667,0.27043,0.124857,9.53667,0.27043,-0.124857,9.65269,0.137907,-4.85723E-17,9.32701,0.27043,0.355563,9.53667,0.137907,0.260001,8.95555,0.27043,0.532137,9.21626,0.137907,0.48042,8.49973,0.27043,0.627699,8.76312,0.137907,0.627699,7.60147,0.137907,0.686007,8.49973,0.27043,-0.627699,7.60147,0.137907,-0.686007,8.95555,0.27043,-0.532137,8.76312,0.137907,-0.627699,9.32701,0.27043,-0.355563,9.21626,0.137907,-0.48042,9.53667,0.137907,-0.260001,9.65269,1.41379E-4,0.135144,9.65269,1.41379E-4,-0.135144,9.65269,-0.137625,-4.85723E-17,9.42265,1.41379E-4,0.384858,9.53667,-0.137625,0.260001,9.01637,1.41379E-4,0.575981,9.21626,-0.137625,0.48042,8.52016,1.41379E-4,0.679416,8.76312,-0.137625,0.627699,7.60147,-0.137625,0.686007,8.52016,1.41379E-4,-0.679416,7.60147,-0.137625,-0.686007,9.01637,1.41379E-4,-0.575981,8.76312,-0.137625,-0.627699,9.42265,1.41379E-4,-0.384858,9.21626,-0.137625,-0.48042,9.53667,-0.137625,-0.260001,9.53667,-0.270147,0.124857,9.53667,-0.270147,-0.124857,9.42265,-0.392183,-5.20417E-17,9.32701,-0.270147,0.355563};
			return value;
		}
		private double[] getCoordinate_7_160_point_8()
		{
			double[] value = {9.32701,-0.392183,0.220419,8.95555,-0.270147,0.532137,9.06176,-0.392183,0.40728,8.49973,-0.270147,0.627699,8.68371,-0.392183,0.532137,7.59151,-0.392183,0.581568,8.49973,-0.270147,-0.627699,7.59151,-0.392183,-0.581568,8.95555,-0.270147,-0.532137,8.68371,-0.392183,-0.532137,9.32701,-0.270147,-0.355563,9.06176,-0.392183,-0.40728,9.32701,-0.392183,-0.220419,9.21626,-0.499287,0.0955615,9.21626,-0.499287,-0.0955615,9.01637,-0.587014,-3.46945E-17,9.06176,-0.499287,0.272136,8.95555,-0.587014,0.147279,8.78563,-0.499287,0.40728,8.78563,-0.587014,0.272136,8.44228,-0.499287,0.48042,8.54006,-0.587014,0.355563,7.57341,-0.587014,0.388591,8.44228,-0.499287,-0.48042,7.57341,-0.587014,-0.388591,8.78563,-0.499287,-0.40728,8.54006,-0.587014,-0.355563,9.06176,-0.499287,-0.272136,8.78563,-0.587014,-0.272136,8.95555,-0.587014,-0.147279,8.78424,-0.65011,0.0539142,8.78424,-0.65011,-0.0539142,8.5624,-0.687888,-1.73472E-17,8.70151,-0.65011,0.153535,8.53866,-0.687888,0.0601699,8.55183,-0.65011,0.229781,8.47185,-0.687888,0.111179,8.36229,-0.65011,0.271045,8.37406,-0.687888,0.145263,7.55448,-0.690172,0.147499,8.36229,-0.65011,-0.271045,7.55448,-0.690172,-0.147499,8.55183,-0.65011,-0.229781,8.37406,-0.687888,-0.145263,8.70151,-0.65011,-0.153535,8.47185,-0.687888,-0.111179,8.53866,-0.687888,-0.0601699,2.13643,0.602471,0.369615,5.36802,0.514744,0.476719,1.72014,0.69289,0.137001,7.24876,0.66785,0.247579,1.72014,0.69289,-0.137001,7.77922,0.70644,0.0,2.13643,0.602471,-0.369615,7.24876,0.66785,-0.247579,2.13643,0.392466,-0.587155,5.36802,0.514744,-0.476719,2.13643,0.137907,-0.692597,5.36802,0.27043,-0.652535,2.13643,-0.137625,-0.692597,5.36802,1.41379E-4,-0.706298,2.13643,-0.392183,-0.587155,5.36802,-0.270147,-0.652535,2.13643,-0.587014,-0.392324,5.36802,-0.499287,-0.499428,2.13643,-0.692455,-0.137766,5.36802,-0.652393,-0.270289,2.13643,-0.692455,0.137766,5.36802,-0.706157,0.0,2.13643,-0.587014,0.392324,5.36802,-0.652393,0.270289,2.13643,-0.392183,0.587155,5.36802,-0.499287,0.499428,2.13643,-0.137625,0.692597,5.36802,-0.270147,0.652535,2.13643,0.137907,0.692597,5.36802,1.41379E-4,0.706298,2.13643,0.392466,0.587155,5.36802,0.27043,0.652535,7.58633,0.70644,0.0,7.39343,0.70644,0.0,7.20054,0.70644,0.0,3.95676,0.706744,0.0,3.76387,0.706744,0.0,3.57097,0.706744,0.0,3.37807,0.706744,0.0,3.18518,0.706744,0.0,7.05586,0.66785,0.247579,6.86297,0.66785,0.247579,6.67007,0.66785,0.247579,6.5254,0.665335,0.275532,6.18643,0.665335,0.275532,5.09694,0.663283,0.27054,4.56594,0.668002,0.246814,4.37305,0.668002,0.246814,4.18015,0.668002,0.246814,3.98726,0.668002,0.246814,3.79436,0.668002,0.246814,3.60146,0.668002,0.246814,7.05586,0.66785,-0.247579};
			return value;
		}
		private double[] getCoordinate_7_160_point_9()
		{
			double[] value = {6.86297,0.66785,-0.247579,6.67007,0.66785,-0.247579,6.5254,0.665335,-0.275532,6.18643,0.665335,-0.275532,5.09694,0.663283,-0.27054,4.56594,0.668002,-0.246814,4.37305,0.668002,-0.246814,4.18015,0.668002,-0.246814,3.98726,0.668002,-0.246814,3.79436,0.668002,-0.246814,3.60146,0.668002,-0.246814,6.7183,0.692738,0.137766,6.7183,0.692738,-0.137766,4.5842,0.683756,0.182923,4.5842,0.683756,-0.182923,4.12625,0.706744,0.0,5.26642,0.663283,0.27054,5.26642,0.663283,-0.27054,4.74251,0.711007,-0.045922,5.75382,0.665335,0.275532,4.74251,0.711007,0.045922,5.75382,0.665335,-0.275532,5.12831,0.683604,0.183688,5.12831,0.683604,-0.183688,-1.77147,0.49957,0.499428,-1.77147,0.652676,0.270289,-1.77147,0.70644,0.0,-1.77147,0.652676,-0.270289,-1.77147,0.49957,-0.499428,-1.77147,0.27043,-0.652535,-1.77147,1.41379E-4,-0.706298,-1.77147,-0.270147,-0.652535,-1.77147,-0.499287,-0.499428,-1.77147,-0.652393,-0.270289,-1.77147,-0.706157,0.0,-1.77147,-0.652393,0.270289,-1.77147,-0.499287,0.499428,-1.77147,-0.270147,0.652535,-1.77147,1.41379E-4,0.706298,-1.77147,0.27043,0.652535,-6.01752,-0.392183,-0.587155,-6.01752,0.692738,-0.137766,-6.01752,-0.137625,0.692597,-6.01752,-0.587014,-0.392324,-6.01752,-0.692455,-0.137766,-6.01752,0.587296,-0.392324,-6.01752,0.587296,0.392324,-6.01752,0.137907,0.692597,-6.01752,-0.587014,0.392324,-6.01752,0.692738,0.137766,-6.01752,0.137907,-0.692597,-6.01752,0.392466,-0.587155,-6.01752,0.392466,0.587155,-6.01752,-0.137625,-0.692597,-6.01752,-0.392183,0.587155,-6.01752,-0.692455,0.137766,8.59941,0.683604,0.0351472,8.54628,0.683604,0.100091,8.44979,0.683604,0.149796,8.32698,0.683604,0.176697,8.32698,0.683604,-0.176697,8.44979,0.683604,-0.149796,8.54628,0.683604,-0.100091,8.59941,0.683604,-0.0351472,8.59941,-0.683321,0.0351472,8.54628,-0.683321,0.100091,8.44979,-0.683321,0.149796,8.32698,-0.683321,0.176697,8.32698,-0.683321,-0.176697,8.44979,-0.683321,-0.149796,8.54628,-0.683321,-0.100091,8.59941,-0.683321,-0.0351472,9.00076,0.587296,0.075068,8.88239,0.587296,0.213776,8.66961,0.587296,0.319938,8.40271,0.587296,0.377393,8.40271,0.587296,-0.377393,8.66961,0.587296,-0.319938,8.88239,0.587296,-0.213776,9.00076,0.587296,-0.075068,9.39803,0.392466,0.112347,9.21245,0.392466,0.319938,8.88239,0.392466,0.478821,8.47507,0.392466,0.564808,8.47507,0.392466,-0.564808,8.88239,0.392466,-0.478821,9.21245,0.392466,-0.319938,9.39803,0.392466,-0.112347,9.62277,0.137907,0.132523,9.39803,0.137907,0.377393,9.00076,0.137907,0.564808,8.51493,0.137907,0.666236,8.51493,0.137907,-0.666236,9.00076,0.137907,-0.564808,9.39803,0.137907,-0.377393,9.62277,0.137907,-0.132523,9.62277,-0.137625,0.132523,9.39803,-0.137625,0.377393,9.00076,-0.137625,0.564808,8.51493,-0.137625,0.666236};
			return value;
		}
		private double[] getCoordinate_7_160_point_10()
		{
			double[] value = {8.51493,-0.137625,-0.666236,9.00076,-0.137625,-0.564808,9.39803,-0.137625,-0.377393,9.62277,-0.137625,-0.132523,9.39803,-0.392183,0.112347,9.21245,-0.392183,0.319938,8.88239,-0.392183,0.478821,8.47507,-0.392183,0.564808,8.47507,-0.392183,-0.564808,8.88239,-0.392183,-0.478821,9.21245,-0.392183,-0.319938,9.39803,-0.392183,-0.112347,9.00076,-0.587014,0.075068,8.88239,-0.587014,0.213776,8.66961,-0.587014,0.319938,8.40271,-0.587014,0.377393,8.40271,-0.587014,-0.377393,8.66961,-0.587014,-0.319938,8.88239,-0.587014,-0.213776,9.00076,-0.587014,-0.075068,5.36802,0.647993,0.301486,5.36802,0.647993,-0.301486,5.36802,0.392466,-0.587155,5.36802,0.137907,-0.692597,5.36802,-0.137625,-0.692597,5.36802,-0.392183,-0.587155,5.36802,-0.587014,-0.392324,5.36802,-0.692455,-0.137766,5.36802,-0.692455,0.137766,5.36802,-0.587014,0.392324,5.36802,-0.392183,0.587155,5.36802,-0.137625,0.692597,5.36802,0.137907,0.692597,5.36802,0.392466,0.587155,5.05527,0.674469,0.22961,5.05527,0.674469,-0.22961,7.48988,0.692738,0.137766,7.48988,0.692738,-0.137766,3.70288,0.693347,0.134705,3.70288,0.693347,-0.134705,-1.77147,0.587296,0.392324,-1.77147,0.692738,0.137766,-1.77147,0.692738,-0.137766,-1.77147,0.587296,-0.392324,-1.77147,0.392466,-0.587155,-1.77147,0.137907,-0.692597,-1.77147,-0.137625,-0.692597,-1.77147,-0.392183,-0.587155,-1.77147,-0.587014,-0.392324,-1.77147,-0.692455,-0.137766,-1.77147,-0.692455,0.137766,-1.77147,-0.587014,0.392324,-1.77147,-0.392183,0.587155,-1.77147,-0.137625,0.692597,-1.77147,0.137907,0.692597,-1.77147,0.392466,0.587155,5.7538,1.28676,0.275532,5.7538,1.28676,-0.275532,5.17518,1.29161,0.137766,5.17518,1.29161,-0.137766,5.73342,1.13693,0.125532,5.73342,1.13693,-0.125532,-5.96116,0.462576,0.308989,-5.96116,0.462576,-0.308989,-5.96116,0.30913,-0.462435,-5.96116,0.108644,-0.545479,-5.96116,-0.108361,-0.545479,-5.96116,-0.308848,-0.462435,-5.96116,-0.462293,-0.308989,-5.96116,-0.545337,-0.108502,-5.96116,-0.545337,0.108502,-5.96116,-0.462293,0.308989,-5.96116,-0.308848,0.462435,-5.96116,-0.108361,0.545479,-5.96116,0.108644,0.545479,-5.96116,0.30913,0.462435,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0,-9.61116,1.41379E-4,0.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getNormal_7_161_vector_1()
		{
			double[] value = {0.220699,0.975342,-1.62835E-15,0.202265,0.964618,0.169117,0.152901,0.941041,0.301766,0.0830723,0.920077,0.382827,0.00459684,0.921726,0.387815,0.00459684,0.921726,-0.387815,0.0830723,0.920077,-0.382827,0.152901,0.941041,-0.301766,0.202265,0.964618,-0.169117,0.436001,0.899946,3.49392E-17,0.387006,0.858079,0.337531,0.275865,0.779218,0.562777,0.144305,0.720876,0.677874,0.00508922,0.715732,0.698356,0.00508922,0.715732,-0.698356,0.144305,0.720876,-0.677874,0.275865,0.779218,-0.562777,0.387006,0.858079,-0.337531,0.749591,0.661902,4.26079E-17,0.608452,0.577372,0.544451,0.383403,0.460849,0.800388,0.18879,0.396319,0.898493,0.0107763,0.378869,0.925388,0.0107763,0.378869,-0.925388,0.18879,0.396319,-0.898493,0.383403,0.460849,-0.800388,0.608452,0.577372,-0.544451,1.0,-1.33934E-15,-4.30917E-15,0.743574,6.25706E-16,0.668653,0.429377,2.99394E-15,0.903125,0.204739,3.03878E-16,0.978817,0.0123934,8.7158E-17,0.999923,0.0123934,1.74316E-17,-0.999923,0.204739,8.38284E-17,-0.978817,0.429377,2.80463E-17,-0.903125,0.743574,-1.76335E-15,-0.668653,0.749591,-0.661902,-1.42026E-15,0.608452,-0.577372,0.544451,0.383403,-0.460849,0.800388,0.18879,-0.396319,0.898493,0.0107763,-0.378869,0.925388,0.0107763,-0.378869,-0.925388,0.18879,-0.396319,-0.898493,0.383403,-0.460849,-0.800388,0.608452,-0.577372,-0.544451,0.436001,-0.899946,1.29625E-15,0.387006,-0.858079,0.337531,0.275865,-0.779218,0.562777,0.144305,-0.720876,0.677874,0.00667614,-0.702774,0.711382,0.00667614,-0.702774,-0.711382,0.144305,-0.720876,-0.677874,0.275865,-0.779218,-0.562777,0.387006,-0.858079,-0.337531,0.220699,-0.975342,-9.41906E-16,0.202265,-0.964618,0.169117,0.152901,-0.941041,0.301766,0.0830723,-0.920077,0.382827,9.66794E-4,-0.918125,0.396289,9.66794E-4,-0.918125,-0.396289,0.0830723,-0.920077,-0.382827,0.152901,-0.941041,-0.301766,0.202265,-0.964618,-0.169117,0.0421359,0.999112,1.81714E-17,0.0334991,-0.999439,-4.18939E-18,6.5126E-4,0.719728,0.694255,-0.00123318,0.93174,0.363123,-7.48458E-5,1.0,0.0,-0.00123318,0.93174,-0.363123,6.5126E-4,0.719728,-0.694255,4.21455E-19,0.382683,-0.92388,-7.38626E-21,1.39463E-17,-1.0,-1.59239E-19,-0.382683,-0.92388,-6.74328E-19,-0.707107,-0.707107,-4.5708E-18,-0.92388,-0.382683,-4.5708E-18,-1.0,0.0,0.0,-0.92388,0.382683,9.36744E-19,-0.707107,0.707107,0.0,-0.382683,0.92388,-6.30004E-21,1.04597E-17,1.0,-2.43529E-19,0.382683,0.92388,0.0,1.0,5.16011E-16,0.0,1.0,1.03202E-15,0.0,1.0,5.22985E-16,0.048306,0.998833,2.90439E-16,0.663813,0.747898,-2.3784E-16,0.713006,0.701158,-2.1652E-16,0.00837843,0.999965,-4.59475E-16,0.00837843,0.999965,-6.12951E-16,-0.772281,0.635281,3.20116E-16,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.958841,0.283945,0.0,0.958841,0.283945,0.0,0.958841,0.283945,0.0215538,0.913278,0.406766,0.0304748,0.906777,0.420507};
			return value;
		}
		private double[] getNormal_7_161_vector_2()
		{
			double[] value = {0.194792,0.736372,0.647929,-0.108096,0.716897,0.688748,0.0,0.93489,0.354937,-0.00601669,0.950924,0.309367,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.958841,-0.283945,0.0,0.958841,-0.283945,0.0,0.958841,-0.283945,0.0215538,0.913278,-0.406766,0.0304748,0.906777,-0.420507,0.194792,0.736372,-0.647929,-0.108096,0.716897,-0.688748,0.0,0.93489,-0.354937,-0.00601669,0.950924,-0.309367,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.00837843,0.999965,-2.63524E-16,0.281394,0.735899,0.615849,0.533862,0.845572,3.76336E-16,0.281394,0.735899,-0.615849,-0.229046,0.679214,-0.697285,-0.629077,0.777343,3.90739E-17,-0.229046,0.679214,0.697285,0.00837843,0.999965,1.16578E-16,0.164573,0.583972,0.794917,0.156326,0.950468,-0.26865,-0.103023,0.594671,0.797341,0.00837843,0.999965,1.70266E-16,0.156326,0.950468,0.26865,0.164573,0.583972,-0.794917,-0.103023,0.594671,-0.797341,0.00837843,0.999965,7.72512E-16,-0.881269,0.33419,0.33419,-0.881269,0.43664,0.180862,-0.881269,0.472616,3.97174E-14,-0.881269,0.43664,-0.180862,-0.881269,0.33419,-0.33419,-0.881269,0.180862,-0.43664,-0.881269,-2.81462E-15,-0.472616,-0.881269,-0.180862,-0.43664,-0.881269,-0.33419,-0.33419,-0.881269,-0.43664,-0.180862,-0.881269,-0.472616,6.25471E-16,-0.881269,-0.43664,0.180862,-0.881269,-0.33419,0.33419,-0.881269,-0.180862,0.43664,-0.881269,-2.18915E-15,0.472616,-0.881269,0.180862,0.43664,-0.570215,0.757289,-0.318383,-0.570215,0.757289,0.318383,-0.701158,0.713006,9.58308E-20,-0.220672,-0.975348,-2.60685E-17,-0.205269,-0.964091,-0.168504,-0.159804,-0.939704,-0.302357,-0.0895507,-0.917796,-0.386821,-0.00437494,-0.919009,-0.394212,-0.00437494,-0.919009,0.394212,-0.0895507,-0.917796,0.386821,-0.159804,-0.939704,0.302357,-0.205269,-0.964091,0.168504,-0.423418,-0.905935,1.17935E-15,-0.379058,-0.864508,-0.330062,-0.280159,-0.779031,-0.560912,-0.149983,-0.717357,-0.68037,-0.00513148,-0.718785,-0.695214,-0.00513148,-0.718785,0.695214,-0.149983,-0.717357,0.68037,-0.280159,-0.779031,0.560912,-0.379058,-0.864508,0.330062,-0.730182,-0.683253,-6.92752E-15,-0.593407,-0.587757,-0.549918,-0.380573,-0.460794,-0.801769,-0.190106,-0.394387,-0.899065,-0.0105978,-0.377883,-0.925793,-0.0105978,-0.377883,0.925793,-0.190106,-0.394387,0.899065,-0.380573,-0.460794,0.801769,-0.593407,-0.587757,0.549918,-1.0,-1.95319E-15,-1.7637E-15,-0.722747,-1.05765E-15,-0.691113,-0.423855,4.10136E-15,-0.90573,-0.2024,1.20151E-15,-0.979303,-0.0118616,-3.83496E-17,-0.99993,-0.0118616,-8.36718E-17,0.99993,-0.2024,-3.49276E-18,0.979303,-0.423855,1.97706E-15,0.90573,-0.722747,3.33622E-16,0.691113,-0.730182,0.683253,2.59605E-15,-0.593407,0.587757,-0.549918,-0.380573,0.460794,-0.801769,-0.190106,0.394387,-0.899065,-0.0105978,0.377883,-0.925793,-0.0105978,0.377883,0.925793};
			return value;
		}
		private double[] getNormal_7_161_vector_3()
		{
			double[] value = {-0.190106,0.394387,0.899065,-0.380573,0.460794,0.801769,-0.593407,0.587757,0.549918,-0.423418,0.905935,2.11096E-15,-0.379058,0.864508,-0.330062,-0.280159,0.779031,-0.560912,-0.149983,0.717357,-0.68037,-0.0069338,0.700767,-0.713357,-0.0069338,0.700767,0.713357,-0.149983,0.717357,0.68037,-0.280159,0.779031,0.560912,-0.379058,0.864508,0.330062,-0.220672,0.975348,-1.46679E-15,-0.205269,0.964091,-0.168504,-0.159804,0.939704,-0.302357,-0.0895507,0.917796,-0.386821,-0.0015399,0.917067,-0.398731,-0.0015399,0.917067,0.398731,-0.0895507,0.917796,0.386821,-0.159804,0.939704,0.302357,-0.205269,0.964091,0.168504,-0.0444346,-0.999012,0.0,-0.0343168,0.999411,2.62436E-16,-0.00117433,-0.718908,-0.695105,7.05162E-5,-0.921276,-0.38891,8.59436E-4,-1.0,1.6314E-16,7.05162E-5,-0.921276,0.38891,-0.00117433,-0.718908,0.695105,-3.18834E-4,-0.382683,0.923879,-3.18834E-4,1.18904E-16,1.0,-3.18834E-4,0.382683,0.923879,-3.18834E-4,0.707107,0.707107,-3.18834E-4,0.923879,0.382683,-3.18834E-4,1.0,1.18904E-16,-3.18834E-4,0.923879,-0.382683,-3.18834E-4,0.707107,-0.707107,-3.18834E-4,0.382683,-0.923879,-3.18834E-4,-1.46881E-16,-1.0,-3.18834E-4,-0.382683,-0.923879,0.0,-1.0,0.0,0.0,-1.0,0.0,3.58847E-17,-1.0,0.0,-0.0503122,-0.998734,6.08922E-17,-0.904748,0.425947,-7.08432E-16,0.701158,-0.713006,2.0757E-16,-0.00837843,-0.999965,4.53355E-16,-0.00837843,-0.999965,6.12951E-16,-0.334697,0.942278,-0.00949557,0.00231829,-0.999997,3.11416E-16,0.00231829,-0.999997,3.11416E-16,0.00231829,-0.999997,3.11416E-16,0.00231829,-0.999997,3.11416E-16,0.00231829,-0.999997,3.11416E-16,0.0,-0.954018,-0.29975,0.0,-0.954018,-0.29975,0.0,-0.954018,-0.29975,-0.0141523,-0.931746,-0.362835,-0.028388,-0.939594,-0.341113,-0.315793,0.722209,-0.615377,0.0688247,0.712428,-0.698362,-0.0123142,-0.959827,-0.28032,7.94472E-4,-0.916923,-0.399063,0.001199,-0.866404,-0.499342,0.001199,-0.866404,-0.499342,0.001199,-0.866404,-0.499342,0.001199,-0.866404,-0.499342,0.001199,-0.866404,-0.499342,5.12135E-17,-0.954018,0.29975,0.0,-0.954018,0.29975,-5.26984E-17,-0.954018,0.29975,-0.0141523,-0.931746,0.362835,-0.028388,-0.939594,0.341113,-0.315793,0.722209,0.615377,0.105654,0.693433,0.712733,-0.0123142,-0.959827,0.28032,7.94472E-4,-0.916923,0.399063,0.001199,-0.866404,0.499342,0.001199,-0.866404,0.499342,0.001199,-0.866404,0.499342,0.001199,-0.866404,0.499342,0.001199,-0.866404,0.499342,-0.999999,-0.00132591,-3.61094E-13,-0.309916,-0.766126,-0.56303,-0.406464,-0.913667,1.37657E-15,-0.309916,-0.766126,0.56303,-0.180897,-0.928737,0.32361,-0.641123,-0.767433,0.00269925,-0.239895,-0.914333,-0.326258,0.0,0.0,0.0,-0.263092,-0.709697,-0.653539,0.339368,0.714259,-0.612098,0.0526962,-0.610027,-0.790627,0.0,0.0,0.0,0.339368,0.714259,0.612098,-0.263092,-0.709697,0.653539,0.0811211,-0.636628,0.766892,0.0,0.0,0.0,0.450705,-0.631215,-0.631215,0.453184,-0.819664,-0.350393,0.455468,-0.890252,-3.92359E-16};
			return value;
		}
		private double[] getNormal_7_161_vector_4()
		{
			double[] value = {0.453184,-0.819664,0.350393,0.450705,-0.631215,0.631215,0.450705,-0.341611,0.824722,0.450705,1.12729E-16,0.892673,0.450705,0.341611,0.824722,0.450705,0.631215,0.631215,0.450705,0.824722,0.341611,0.450705,0.892673,-4.25864E-16,0.450705,0.824722,-0.341611,0.450705,0.631215,-0.631215,0.450705,0.341611,-0.824722,0.450705,-3.50712E-16,-0.892673,0.450705,-0.341611,-0.824722,-0.874092,0.0073086,-0.485705,-0.874092,0.0073086,0.485705,-0.713006,-0.701158,9.58308E-20,-0.0968903,0.70378,0.70378,-0.0968903,0.919533,0.380883,-0.0968903,0.995295,4.34338E-16,-0.0968903,0.919533,-0.380883,-0.0968903,0.70378,-0.70378,-0.0968903,0.380883,-0.919533,-0.0968903,-1.40109E-17,-0.995295,-0.0968903,-0.380883,-0.919533,-0.0968903,-0.70378,-0.70378,-0.0968903,-0.919533,-0.380883,-0.0968903,-0.995295,0.0,-0.0968903,-0.919533,0.380883,-0.0968903,-0.70378,0.70378,-0.0968903,-0.380883,0.919533,-0.0968903,-7.00545E-18,0.995295,-0.0968903,0.380883,0.919533,-0.321146,-0.669651,-0.669651,-0.321146,-0.874941,-0.362413,-0.321146,-0.94703,7.61814E-16,-0.321146,-0.874941,0.362413,-0.321146,-0.669651,0.669651,-0.321146,-0.362413,0.874941,-0.321146,-2.04057E-16,0.94703,-0.321146,0.362413,0.874941,-0.321146,0.669651,0.669651,-0.321146,0.874941,0.362413,-0.321146,0.94703,7.61814E-16,-0.321146,0.874941,-0.362413,-0.321146,0.669651,-0.669651,-0.321146,0.362413,-0.874941,-0.321146,-2.04057E-16,-0.94703,-0.321146,-0.362413,-0.874941,-0.214431,-0.973194,-0.0831457,-0.214431,-0.973194,0.0831457,-0.316417,-0.94862,5.21867E-17,-0.12785,-0.991794,2.07552E-16,-0.184619,-0.954083,-0.235886,-0.290618,-0.924779,-0.245613,-0.11896,-0.988554,-0.0927862,-0.12691,-0.929638,-0.34593,-0.222612,-0.874863,-0.430184,-0.0940697,-0.980436,-0.172903,-0.0429796,-0.914028,-0.403369,-0.121854,-0.832556,-0.540372,-0.0519352,-0.973443,-0.222961,-0.00414829,-0.828129,-0.560522,-0.0040023,-0.977418,-0.211278,-0.0429796,-0.914028,0.403369,-0.00414829,-0.828129,0.560522,-0.0040023,-0.977418,0.211278,-0.12691,-0.929638,0.34593,-0.121854,-0.832556,0.540372,-0.0519352,-0.973443,0.222961,-0.184619,-0.954083,0.235886,-0.222612,-0.874863,0.430184,-0.0940697,-0.980436,0.172903,-0.290618,-0.924779,0.245613,-0.11896,-0.988554,0.0927862,-0.411514,-0.895625,-0.168859,-0.411514,-0.895625,0.168859,-0.559224,-0.829017,-1.46074E-15,-0.334404,-0.821952,-0.461052,-0.483172,-0.760367,-0.434035,-0.218067,-0.742953,-0.632825,-0.334896,-0.639165,-0.692324,-0.062222,-0.706123,-0.70535,-0.173639,-0.567076,-0.805155,-0.00839599,-0.559445,-0.828825,-0.062222,-0.706123,0.70535,-0.00839599,-0.559445,0.828825,-0.218067,-0.742953,0.632825,-0.173639,-0.567076,0.805155,-0.334404,-0.821952,0.461052,-0.334896,-0.639165,0.692324,-0.483172,-0.760367,0.434035,-0.691949,-0.656674,-0.299977,-0.691949,-0.656674,0.299977,-0.914109,-0.405469,-9.2944E-15,-0.483472,-0.516268,-0.70691,-0.685874,-0.32613,-0.650551,-0.283399,-0.420523,-0.861885,-0.412358,-0.243498,-0.877878,-0.0808956,-0.380048,-0.921422,-0.19942,-0.203062,-0.958644};
			return value;
		}
		private double[] getNormal_7_161_vector_5()
		{
			double[] value = {-0.0115512,-0.192785,-0.981173,-0.0808956,-0.380048,0.921422,-0.0115512,-0.192785,0.981173,-0.283399,-0.420523,0.861885,-0.19942,-0.203062,0.958644,-0.483472,-0.516268,0.70691,-0.412358,-0.243498,0.877878,-0.685874,-0.32613,0.650551,-0.908162,-4.16967E-15,-0.418619,-0.908162,2.96285E-16,0.418619,-0.914109,0.405469,5.87129E-15,-0.559701,3.42702E-15,-0.828695,-0.685874,0.32613,-0.650551,-0.306295,2.7203E-15,-0.951937,-0.412358,0.243498,-0.877878,-0.0862704,2.44575E-16,-0.996272,-0.19942,0.203062,-0.958644,-0.0115512,0.192785,-0.981173,-0.0862704,6.28907E-17,0.996272,-0.0115512,0.192785,0.981173,-0.306295,7.8672E-16,0.951937,-0.19942,0.203062,0.958644,-0.559701,1.18925E-15,0.828695,-0.412358,0.243498,0.877878,-0.685874,0.32613,0.650551,-0.691949,0.656674,-0.299977,-0.691949,0.656674,0.299977,-0.559224,0.829017,2.02122E-15,-0.483472,0.516268,-0.70691,-0.483172,0.760367,-0.434035,-0.283399,0.420523,-0.861885,-0.334896,0.639165,-0.692324,-0.0808956,0.380048,-0.921422,-0.173639,0.567076,-0.805155,-0.00900507,0.549126,-0.835691,-0.0808956,0.380048,0.921422,-0.00900507,0.549126,0.835691,-0.283399,0.420523,0.861885,-0.173639,0.567076,0.805155,-0.483472,0.516268,0.70691,-0.334896,0.639165,0.692324,-0.483172,0.760367,0.434035,-0.411514,0.895625,-0.168859,-0.411514,0.895625,0.168859,-0.316417,0.94862,-1.44905E-15,-0.334404,0.821952,-0.461052,-0.290618,0.924779,-0.245613,-0.218067,0.742953,-0.632825,-0.222612,0.874863,-0.430184,-0.0631857,0.702469,-0.708904,-0.121854,0.832556,-0.540372,-0.00432888,0.823766,-0.566914,-0.0631857,0.702469,0.708904,-0.00432888,0.823766,0.566914,-0.218067,0.742953,0.632825,-0.121854,0.832556,0.540372,-0.334404,0.821952,0.461052,-0.222612,0.874863,0.430184,-0.290618,0.924779,0.245613,-0.214431,0.973194,-0.0831457,-0.214431,0.973194,0.0831457,-0.117446,0.993079,-1.21194E-16,-0.184619,0.954083,-0.235886,-0.109837,0.990308,-0.0850094,-0.12691,0.929638,-0.34593,-0.0881009,0.983014,-0.161003,-0.0415241,0.914965,-0.401392,-0.0481729,0.975148,-0.216255,-9.3685E-4,0.975027,-0.222082,-0.0415241,0.914965,0.401392,-9.3685E-4,0.975027,0.222082,-0.12691,0.929638,0.34593,-0.0481729,0.975148,0.216255,-0.184619,0.954083,0.235886,-0.0881009,0.983014,0.161003,-0.109837,0.990308,0.0850094,-0.00104842,-0.815351,-0.578966,-8.02822E-4,-0.731844,-0.681472,-0.0015736,-0.941388,-0.337323,0.00118251,-0.999999,-3.48964E-18,-0.00104842,-0.815351,0.578966,-0.0015736,-0.941388,0.337323,-6.28508E-4,-0.562361,0.826891,-8.02822E-4,-0.731844,0.681472,-3.1724E-4,-0.19509,0.980785,-0.00124943,-0.381774,0.924255,-3.1724E-4,0.19509,0.980785,-0.00141526,0.0,0.999999,-3.1724E-4,0.55557,0.83147,-0.00124943,0.381774,0.924255,-3.1724E-4,0.83147,0.55557,-7.87216E-4,0.705949,0.708262,-3.1724E-4,0.980785,0.19509,-1.74882E-4,0.92284,0.385183,-3.1724E-4,0.980785,-0.19509,2.71091E-4,1.0,3.69986E-16,-3.1724E-4,0.83147,-0.55557,-1.74882E-4,0.92284,-0.385183,-3.1724E-4,0.55557,-0.83147,-7.87216E-4,0.705949,-0.708262};
			return value;
		}
		private double[] getNormal_7_161_vector_6()
		{
			double[] value = {-3.1724E-4,0.19509,-0.980785,-0.00124943,0.381774,-0.924255,-3.1724E-4,-0.19509,-0.980785,-0.00141526,-1.15054E-16,-0.999999,-6.28508E-4,-0.562361,-0.826891,-0.00124943,-0.381774,-0.924255,0.0,-1.0,3.48656E-18,1.79424E-17,-1.0,3.48656E-18,1.79424E-17,-1.0,-3.48656E-18,0.0,-0.954018,-0.29975,0.0,-0.954018,-0.29975,-0.00715507,-0.92434,-0.381503,-0.0473274,-0.877663,-0.476936,0.00351817,-0.974405,-0.224771,-0.00635593,-0.921035,-0.389428,7.94356E-4,-0.805364,-0.59278,7.94356E-4,-0.805364,-0.59278,7.94356E-4,-0.805364,-0.59278,7.94356E-4,-0.805364,-0.59278,7.94356E-4,-0.805364,-0.59278,3.00016E-4,-0.854324,-0.51974,2.56068E-17,-0.954018,0.29975,-2.63492E-17,-0.954018,0.29975,-0.00715507,-0.92434,0.381503,-0.0473274,-0.877663,0.476936,0.00351817,-0.974405,0.224771,-0.00635593,-0.921035,0.389428,7.94356E-4,-0.805364,0.59278,7.94356E-4,-0.805364,0.59278,7.94356E-4,-0.805364,0.59278,7.94356E-4,-0.805364,0.59278,7.94356E-4,-0.805364,0.59278,3.00016E-4,-0.854324,0.51974,-0.024033,-0.961815,-0.272644,-0.024033,-0.961815,0.272644,-0.00937304,-0.963917,-0.266038,-0.00937304,-0.963917,0.266038,-0.00225538,-0.603151,-0.797624,-0.00225538,-0.603151,0.797624,-0.137472,-0.989389,-0.0470087,-0.118525,-0.981649,-0.149387,-0.0843547,-0.97192,-0.219673,-0.0287933,-0.966324,-0.255714,-0.0287933,-0.966324,0.255714,-0.0843547,-0.97192,0.219673,-0.118525,-0.981649,0.149387,-0.137472,-0.989389,0.0470087,-0.130555,0.990471,-0.0438493,-0.113321,0.983326,-0.142223,-0.0816439,0.974057,-0.211061,-0.0254263,0.965893,-0.25769,-0.0254263,0.965893,0.25769,-0.0816439,0.974057,0.211061,-0.113321,0.983326,0.142223,-0.130555,0.990471,0.0438493,-0.30907,-0.942536,-0.126894,-0.261443,-0.901577,-0.344683,-0.175343,-0.851528,-0.49412,-0.0518392,-0.822216,-0.566809,-0.0518392,-0.822216,0.566809,-0.175343,-0.851528,0.49412,-0.261443,-0.901577,0.344683,-0.30907,-0.942536,0.126894,-0.539314,-0.812021,-0.223074,-0.411174,-0.695809,-0.588885,-0.255588,-0.595914,-0.761289,-0.0733142,-0.552909,-0.83001,-0.0733142,-0.552909,0.83001,-0.255588,-0.595914,0.761289,-0.411174,-0.695809,0.588885,-0.539314,-0.812021,0.223074,-0.84215,-0.380419,-0.382184,-0.538701,-0.278341,-0.79519,-0.300513,-0.218792,-0.928344,-0.0849792,-0.194449,-0.977225,-0.0849792,-0.194449,0.977225,-0.300513,-0.218792,0.928344,-0.538701,-0.278341,0.79519,-0.84215,-0.380419,0.382184,-0.84215,0.380419,-0.382184,-0.538701,0.278341,-0.79519,-0.300513,0.218792,-0.928344,-0.0849792,0.194449,-0.977225,-0.0849792,0.194449,0.977225,-0.300513,0.218792,0.928344,-0.538701,0.278341,0.79519,-0.84215,0.380419,0.382184,-0.539314,0.812021,-0.223074,-0.411174,0.695809,-0.588885,-0.255588,0.595914,-0.761289,-0.0736073,0.551001,-0.831252,-0.0736073,0.551001,0.831252,-0.255588,0.595914,0.761289,-0.411174,0.695809,0.588885,-0.539314,0.812021,0.223074,-0.30907,0.942536,-0.126894,-0.261443,0.901577,-0.344683,-0.175343,0.851528,-0.49412,-0.0519222,0.822869,-0.565854,-0.0519222,0.822869,0.565854};
			return value;
		}
		private double[] getNormal_7_161_vector_7()
		{
			double[] value = {-0.175343,0.851528,0.49412,-0.261443,0.901577,0.344683,-0.30907,0.942536,0.126894,-0.00255831,-0.819103,-0.573641,-0.00255831,-0.819103,0.573641,-0.00104664,-0.569548,0.821958,-0.00137427,-0.194645,0.980873,-0.00137427,0.194645,0.980873,-0.00104505,0.554373,0.832268,-4.78179E-4,0.830175,0.557503,1.1425E-4,0.979542,0.201239,1.1425E-4,0.979542,-0.201239,-4.78179E-4,0.830175,-0.557503,-0.00104505,0.554373,-0.832268,-0.00137427,0.194645,-0.980873,-0.00137427,-0.194645,-0.980873,-0.00104664,-0.569548,-0.821958,-4.33892E-4,-0.986101,-0.166146,-4.33892E-4,-0.986101,0.166146,0.21346,0.973143,0.0861817,0.21346,0.973143,-0.0861817,0.32111,0.947042,-8.45877E-16,0.127785,0.991802,-7.58983E-16,0.178653,0.954544,0.238597,0.291151,0.923782,0.248712,0.117427,0.988398,0.096331,0.118583,0.931102,0.344944,0.215524,0.875479,0.432534,0.0891527,0.980809,0.173394,0.0412106,0.917109,0.3965,0.115397,0.835563,0.537138,0.0465604,0.974018,0.221631,0.00470497,0.82928,0.558814,0.00297009,0.97784,0.209333,0.0412106,0.917109,-0.3965,0.00470497,0.82928,-0.558814,0.00297009,0.97784,-0.209333,0.118583,0.931102,-0.344944,0.115397,0.835563,-0.537138,0.0465604,0.974018,-0.221631,0.178653,0.954544,-0.238597,0.215524,0.875479,-0.432534,0.0891527,0.980809,-0.173394,0.291151,0.923782,-0.248712,0.117427,0.988398,-0.096331,0.422989,0.888326,0.178769,0.422989,0.888326,-0.178769,0.578556,0.815643,2.10785E-17,0.335644,0.81851,0.466246,0.49548,0.749472,0.43908,0.211579,0.745635,0.631872,0.334206,0.640967,0.69099,0.0599491,0.708575,0.703084,0.16969,0.571153,0.803112,0.00831577,0.559199,0.828992,0.0599491,0.708575,-0.703084,0.00831577,0.559199,-0.828992,0.211579,0.745635,-0.631872,0.16969,0.571153,-0.803112,0.335644,0.81851,-0.466246,0.334206,0.640967,-0.69099,0.49548,0.749472,-0.43908,0.707923,0.636219,0.306709,0.707923,0.636219,-0.306709,0.919942,0.392054,-1.41199E-15,0.492778,0.513493,0.702492,0.703941,0.323235,0.632444,0.283028,0.422034,0.861268,0.417188,0.242576,0.875849,0.0806667,0.381948,0.920657,0.200692,0.203097,0.958371,0.011977,0.192925,0.98114,0.0806667,0.381948,-0.920657,0.011977,0.192925,-0.98114,0.283028,0.422034,-0.861268,0.200692,0.203097,-0.958371,0.492778,0.513493,-0.702492,0.417188,0.242576,-0.875849,0.703941,0.323235,-0.632444,0.917433,7.20554E-17,0.397891,0.917433,-3.08397E-15,-0.397891,0.919942,-0.392054,-4.26479E-15,0.571365,2.48641E-15,0.820696,0.703941,-0.323235,0.632444,0.310387,1.43726E-15,0.95061,0.417188,-0.242576,0.875849,0.0877577,-3.49405E-18,0.996142,0.200692,-0.203097,0.958371,0.011977,-0.192925,0.98114,0.0877577,7.68692E-17,-0.996142,0.011977,-0.192925,-0.98114,0.310387,-1.88838E-16,-0.95061,0.200692,-0.203097,-0.958371,0.571365,1.12698E-16,-0.820696,0.417188,-0.242576,-0.875849,0.703941,-0.323235,-0.632444,0.707923,-0.636219,0.306709,0.707923,-0.636219,-0.306709,0.578556,-0.815643,1.16634E-15,0.492778,-0.513493,0.702492};
			return value;
		}
		private double[] getNormal_7_161_vector_8()
		{
			double[] value = {0.49548,-0.749472,0.43908,0.283028,-0.422034,0.861268,0.334206,-0.640967,0.69099,0.0806667,-0.381948,0.920657,0.16969,-0.571153,0.803112,0.0089321,-0.550988,0.834465,0.0806667,-0.381948,-0.920657,0.0089321,-0.550988,-0.834465,0.283028,-0.422034,-0.861268,0.16969,-0.571153,-0.803112,0.492778,-0.513493,-0.702492,0.334206,-0.640967,-0.69099,0.49548,-0.749472,-0.43908,0.422989,-0.888326,0.178769,0.422989,-0.888326,-0.178769,0.32111,-0.947042,-7.90182E-16,0.335644,-0.81851,0.466246,0.291151,-0.923782,0.248712,0.211579,-0.745635,0.631872,0.215524,-0.875479,0.432534,0.0607873,-0.706022,0.705576,0.115397,-0.835563,0.537138,0.00389953,-0.8255,0.564388,0.0607873,-0.706022,-0.705576,0.00389953,-0.8255,-0.564388,0.211579,-0.745635,-0.631872,0.115397,-0.835563,-0.537138,0.335644,-0.81851,-0.466246,0.215524,-0.875479,-0.432534,0.291151,-0.923782,-0.248712,0.21346,-0.973143,0.0861817,0.21346,-0.973143,-0.0861817,0.118129,-0.992998,5.21221E-18,0.178653,-0.954544,0.238597,0.109134,-0.989955,0.0898817,0.118583,-0.931102,0.344944,0.0840973,-0.98282,0.164293,0.0396763,-0.917177,0.3965,0.0435028,-0.9752,0.217007,3.89488E-4,-0.975256,0.221078,0.0396763,-0.917177,-0.3965,3.89488E-4,-0.975256,-0.221078,0.118583,-0.931102,-0.344944,0.0435028,-0.9752,-0.217007,0.178653,-0.954544,-0.238597,0.0840973,-0.98282,-0.164293,0.109134,-0.989955,-0.0898817,-3.52532E-4,0.840722,0.541467,5.00573E-4,0.726798,0.686851,-5.35186E-4,0.983125,0.182935,0.00222128,0.944989,0.327094,-5.35186E-4,0.983125,-0.182935,-0.00187927,0.999998,3.1756E-16,-3.52532E-4,0.840722,-0.541467,0.00222128,0.944989,-0.327094,2.69969E-4,0.563672,-0.825999,5.00573E-4,0.726798,-0.686851,8.09324E-20,0.19509,-0.980785,0.0012771,0.381941,-0.924186,-1.63251E-19,-0.19509,-0.980785,0.00148951,2.44054E-17,-0.999999,0.0,-0.55557,-0.83147,0.0012771,-0.381941,-0.924186,-1.3484E-18,-0.83147,-0.55557,7.59966E-4,-0.706297,-0.707915,-4.56994E-18,-0.980785,-0.19509,1.14639E-4,-0.923005,-0.384789,-3.89574E-18,-0.980785,0.19509,-4.17832E-4,-1.0,6.98122E-18,-6.74201E-19,-0.83147,0.55557,1.14639E-4,-0.923005,0.384789,1.61077E-18,-0.55557,0.83147,7.59966E-4,-0.706297,0.707915,-2.85109E-21,-0.19509,0.980785,0.0012771,-0.381941,0.924186,-2.46931E-19,0.19509,0.980785,0.00148951,9.76217E-17,0.999999,2.69969E-4,0.563672,0.825999,0.0012771,0.381941,0.924186,0.0,1.0,7.74017E-16,0.0,1.0,7.77504E-16,1.00427E-16,1.0,4.39307E-16,0.0,1.0,3.48656E-18,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,-3.48656E-18,-6.37398E-5,1.0,-3.48662E-18,0.0,0.958841,0.283945,0.0,0.958841,0.283945,0.0110034,0.921215,0.388899,0.0519914,0.800925,0.596503,0.0,0.92388,0.382683,-0.00372087,0.936874,0.349647,-0.00372548,0.950047,0.312085,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.959213,0.282684,0.0,0.959213,0.282684,-0.00104244,0.948548,0.31663,0.0,0.958841,-0.283945};
			return value;
		}
		private double[] getNormal_7_161_vector_9()
		{
			double[] value = {0.0,0.958841,-0.283945,0.0110034,0.921215,-0.388899,0.0519914,0.800925,-0.596503,0.0,0.92388,-0.382683,-0.00372087,0.936874,-0.349647,-0.00372548,0.950047,-0.312085,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,0.0,0.959213,-0.282684,-0.00104244,0.948548,-0.31663,0.0237085,0.96658,0.255268,0.0237085,0.96658,-0.255268,-0.00156935,0.975846,0.218453,-0.00156935,0.975846,-0.218453,-0.0061562,0.999981,0.0,-0.00253424,0.94215,0.335183,-0.00253424,0.94215,-0.335183,-0.434175,0.72295,-0.537433,-0.0159684,0.506649,0.862005,-0.434175,0.72295,0.537433,-0.0159684,0.506649,-0.862005,-0.184879,0.660978,0.727274,-0.184879,0.660978,-0.727274,1.61655E-4,0.709525,0.70468,-1.89718E-4,0.925282,0.37928,-1.11057E-5,1.0,3.48657E-18,-1.89718E-4,0.925282,-0.37928,1.61655E-4,0.709525,-0.70468,3.17585E-18,0.382683,-0.92388,8.62526E-20,1.39463E-17,-1.0,5.5283E-18,-0.382683,-0.92388,1.73938E-18,-0.707107,-0.707107,3.22214E-18,-0.92388,-0.382683,1.21187E-17,-1.0,0.0,-5.93107E-18,-0.92388,0.382683,6.31598E-18,-0.707107,0.707107,0.0,-0.382683,0.92388,-5.47616E-21,6.97313E-18,1.0,-1.11208E-18,0.382683,0.92388,-0.0968723,-0.552957,-0.827559,-0.0968723,0.976172,-0.194173,-0.0968723,-0.194173,0.976172,-0.0968723,-0.827559,-0.552957,-0.0968723,-0.976172,-0.194173,-0.0968723,0.827559,-0.552957,-0.0968723,0.827559,0.552957,-0.0968723,0.194173,0.976172,-0.0968723,-0.827559,0.552957,-0.0968723,0.976172,0.194173,-0.0968723,0.194173,-0.976172,-0.0968723,0.552957,-0.827559,-0.0968723,0.552957,0.827559,-0.0968723,-0.194173,-0.976172,-0.0968723,-0.552957,0.827559,-0.0968723,-0.976172,0.194173,0.136773,0.98911,0.0543504,0.114959,0.981751,0.151489,0.0765776,0.972308,0.220801,0.0271091,0.967396,0.251813,0.0271091,0.967396,-0.251813,0.0765776,0.972308,-0.220801,0.114959,0.981751,-0.151489,0.136773,0.98911,-0.0543504,0.130356,-0.990112,0.0518188,0.110358,-0.983189,0.145464,0.0744698,-0.973825,0.214754,0.0243555,-0.9668,0.254371,0.0243555,-0.9668,-0.254371,0.0744698,-0.973825,-0.214754,0.110358,-0.983189,-0.145464,0.130356,-0.990112,-0.0518188,0.312805,0.940979,0.129273,0.257034,0.900739,0.350148,0.167402,0.853565,0.49336,0.0496827,0.825809,0.561758,0.0496827,0.825809,-0.561758,0.167402,0.853565,-0.49336,0.257034,0.900739,-0.350148,0.312805,0.940979,-0.129273,0.55547,0.796562,0.238623,0.417116,0.692686,0.588388,0.251591,0.599851,0.759527,0.071837,0.556071,0.828024,0.071837,0.556071,-0.828024,0.251591,0.599851,-0.759527,0.417116,0.692686,-0.588388,0.55547,0.796562,-0.238623,0.852255,0.370013,0.369801,0.549623,0.277298,0.788049,0.303334,0.218463,0.927503,0.0859631,0.19471,0.977087,0.0859631,0.19471,-0.977087,0.303334,0.218463,-0.927503,0.549623,0.277298,-0.788049,0.852255,0.370013,-0.369801,0.852255,-0.370013,0.369801,0.549623,-0.277298,0.788049,0.303334,-0.218463,0.927503,0.0859631,-0.19471,0.977087};
			return value;
		}
		private double[] getNormal_7_161_vector_10()
		{
			double[] value = {0.0859631,-0.19471,-0.977087,0.303334,-0.218463,-0.927503,0.549623,-0.277298,-0.788049,0.852255,-0.370013,-0.369801,0.55547,-0.796562,0.238623,0.417116,-0.692686,0.588388,0.251591,-0.599851,0.759527,0.0721336,-0.554575,0.829001,0.0721336,-0.554575,-0.829001,0.251591,-0.599851,-0.759527,0.417116,-0.692686,-0.588388,0.55547,-0.796562,-0.238623,0.312805,-0.940979,0.129273,0.257034,-0.900739,0.350148,0.167402,-0.853565,0.49336,0.0493207,-0.826002,0.561505,0.0493207,-0.826002,-0.561505,0.167402,-0.853565,-0.49336,0.257034,-0.900739,-0.350148,0.312805,-0.940979,-0.129273,9.0367E-5,0.889717,0.456512,9.0367E-5,0.889717,-0.456512,9.33153E-4,0.568033,-0.823005,0.00143438,0.194665,-0.980869,0.00143438,-0.194665,-0.980869,0.00104055,-0.554694,-0.832054,4.31381E-4,-0.830466,-0.557069,-2.18988E-4,-0.979533,-0.201284,-2.18988E-4,-0.979533,0.201284,4.31381E-4,-0.830466,0.557069,0.00104055,-0.554694,0.832054,0.00143438,-0.194665,0.980869,0.00143438,0.194665,0.980869,9.33153E-4,0.568033,0.823005,-0.00132168,0.972299,0.233735,-0.00132168,0.972299,-0.233735,4.78275E-4,0.986133,0.165957,4.78275E-4,0.986133,-0.165957,-0.00115239,0.9865,0.163758,-0.00115239,0.9865,-0.163758,-2.00688E-5,0.833387,0.55269,-7.59513E-5,0.981153,0.193235,-7.59513E-5,0.981153,-0.193235,-2.00688E-5,0.833387,-0.55269,6.24388E-5,0.557027,-0.830494,2.69222E-18,0.19509,-0.980785,2.51858E-18,-0.19509,-0.980785,2.96498E-18,-0.55557,-0.83147,4.96059E-18,-0.83147,-0.55557,9.15149E-18,-0.980785,-0.19509,2.96498E-18,-0.980785,0.19509,-2.70842E-18,-0.83147,0.55557,3.09326E-18,-0.55557,0.83147,-2.85109E-21,-0.19509,0.980785,-3.73246E-19,0.19509,0.980785,6.24388E-5,0.557027,0.830494,-0.0172132,0.442148,0.896777,-0.0172132,0.442148,-0.896777,-0.252323,0.504606,0.825655,-0.252323,0.504606,-0.825655,0.00352911,0.441283,-0.897361,0.00352911,0.441283,0.897361,0.447091,-0.731534,-0.51475,0.447091,-0.731534,0.51475,0.447177,-0.496927,0.743704,0.447177,-0.174498,0.877259,0.447177,0.174498,0.877259,0.447177,0.496927,0.743704,0.447177,0.743704,0.496927,0.447177,0.877259,0.174498,0.447177,0.877259,-0.174498,0.447177,0.743704,-0.496927,0.447177,0.496927,-0.743704,0.447177,0.174498,-0.877259,0.447177,-0.174498,-0.877259,0.447177,-0.496927,-0.743704,-0.213341,-0.54278,-0.812327,-0.213341,0.958205,-0.190599,-0.213341,-0.190599,0.958205,-0.213341,-0.812327,-0.54278,-0.213341,-0.958205,-0.190599,-0.213341,0.812327,-0.54278,-0.213341,0.812327,0.54278,-0.213341,0.190599,0.958205,-0.213341,-0.812327,0.54278,-0.213341,0.958205,0.190599,-0.213341,0.190599,-0.958205,-0.213341,0.54278,-0.812327,-0.213341,0.54278,0.812327,-0.213341,-0.190599,-0.958205,-0.213341,-0.54278,0.812327,-0.213341,-0.958205,0.190599};
			return value;
		}

		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=6, element #105, 397 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_6_105_coordIndex()
		{
			MFInt32 IndexedFaceSet_6_105_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_6_105_coordIndex_1()));
			return IndexedFaceSet_6_105_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet normalIndex field, scene-graph level=6, element #105, 397 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_6_105_normalIndex()
		{
			MFInt32 IndexedFaceSet_6_105_normalIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_6_105_normalIndex_1()));
			return IndexedFaceSet_6_105_normalIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=7, element #105, 240 total numbers made up of 80 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_7_105_point()
		{
			MFVec3f Coordinate_7_105_point = new MFVec3f(new double[] {-9.15117,0.50366,-0.0116714,-9.15117,0.465655,0.179389,-9.15117,0.357429,0.341362,-9.15117,0.195456,0.449588,-9.15117,0.00439552,0.487593,-9.15117,-0.186665,0.449588,-9.15117,-0.348637,0.341362,-9.15117,-0.456864,0.179389,-9.15117,-0.494869,-0.0116714,-9.15117,-0.456864,-0.202731,-9.15117,-0.348637,-0.364704,-9.15117,-0.186665,-0.472931,-9.15117,0.00439552,-0.510935,-9.15117,0.195456,-0.472931,-9.15117,0.357429,-0.364704,-9.15117,0.465655,-0.202731,-9.64041,0.365232,-0.0116714,-9.64041,0.337765,0.126415,-9.64041,0.259546,0.243479,-9.64041,0.142482,0.321698,-9.64041,0.00439552,0.349165,-9.64041,-0.133691,0.321698,-9.64041,-0.250754,0.243479,-9.64041,-0.328974,0.126415,-9.64041,-0.356441,-0.0116714,-9.64041,-0.328974,-0.149758,-9.64041,-0.250754,-0.266821,-9.64041,-0.133691,-0.345041,-9.64041,0.00439552,-0.372508,-9.64041,0.142482,-0.345041,-9.64041,0.259546,-0.266821,-9.64041,0.337765,-0.149758,-9.22617,0.42866,-0.0116714,-9.22617,0.396364,0.150687,-9.22617,0.304396,0.288329,-9.22617,0.166754,0.380298,-9.22617,0.00439552,0.412593,-9.22617,-0.157963,0.380298,-9.22617,-0.295604,0.288329,-9.22617,-0.387573,0.150687,-9.22617,-0.419869,-0.0116714,-9.22617,-0.387573,-0.17403,-9.22617,-0.295604,-0.311671,-9.22617,-0.157963,-0.40364,-9.22617,0.00439552,-0.435935,-9.22617,0.166754,-0.40364,-9.22617,0.304396,-0.311671,-9.22617,0.396364,-0.17403,-9.07617,0.42866,-0.0116714,-9.07617,0.396364,0.150687,-9.07617,0.304396,0.288329,-9.07617,0.166754,0.380298,-9.07617,0.00439552,0.412593,-9.07617,-0.157963,0.380298,-9.07617,-0.295604,0.288329,-9.07617,-0.387573,0.150687,-9.07617,-0.419869,-0.0116714,-9.07617,-0.387573,-0.17403,-9.07617,-0.295604,-0.311671,-9.07617,-0.157963,-0.40364,-9.07617,0.00439552,-0.435935,-9.07617,0.166754,-0.40364,-9.07617,0.304396,-0.311671,-9.07617,0.396364,-0.17403,-8.99375,0.383774,-0.0116714,-8.99375,0.354896,0.133511,-8.99375,0.272657,0.25659,-8.99375,0.149577,0.338829,-8.99375,0.00439552,0.367707,-8.99375,-0.140786,0.338829,-8.99375,-0.263866,0.25659,-8.99375,-0.346105,0.133511,-8.99375,-0.374983,-0.0116714,-8.99375,-0.346105,-0.156853,-8.99375,-0.263866,-0.279933,-8.99375,-0.140786,-0.362172,-8.99375,0.00439552,-0.39105,-8.99375,0.149577,-0.362172,-8.99375,0.272657,-0.279933,-8.99375,0.354896,-0.156853});
			return Coordinate_7_105_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=7, element #153, 174 total numbers made up of 58 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_7_153_point()
		{
			MFVec3f Coordinate_7_153_point = new MFVec3f(new double[] {-8.1207,0.152415,1.09595,-8.14047,0.152415,-1.10005,-8.06999,0.129505,-1.09967,-8.08868,0.129464,1.09513,-8.1207,-0.156265,1.09595,-8.14047,-0.156265,-1.10005,-8.06999,-0.133355,-1.09967,-8.08868,-0.133313,1.09513,-7.92862,0.134211,-0.00211759,-7.92862,-0.13806,-0.00211759,-8.52264,-0.00192481,1.09596,-8.5424,-0.00192481,-1.10004,-8.40907,-0.0566418,-1.10004,-8.27574,-0.111359,-1.10004,-8.25597,0.107509,1.09596,-8.38931,0.0527922,1.09596,-8.27574,0.107509,-1.10004,-8.40907,0.0527922,-1.10004,-8.38931,-0.0566418,1.09596,-8.25597,-0.111359,1.09596,-8.04172,0.0801507,-1.10004,-8.02172,-0.00192481,-1.10004,-8.04172,-0.0840003,-1.10004,-8.06148,0.0801507,1.09596,-8.03945,-0.00192481,1.09596,-8.06148,-0.0840003,1.09596,-7.71789,0.0801507,-0.00203707,-7.66789,-0.00192481,-0.00203707,-7.71789,-0.0840003,-0.00203707,-8.1207,-1.09995,0.151945,-8.14047,1.09605,0.151945,-8.06999,1.09567,0.129035,-8.08868,-1.09913,0.128993,-8.1207,-1.09995,-0.156735,-8.14047,1.09605,-0.156735,-8.06999,1.09567,-0.133825,-8.08868,-1.09913,-0.133784,-7.92862,-0.00188424,0.13374,-7.92862,-0.00188424,-0.138531,-8.52264,-1.09996,-0.00239528,-8.5424,1.09604,-0.00239528,-8.40907,1.09604,-0.0571123,-8.27574,1.09604,-0.111829,-8.25597,-1.09996,0.107039,-8.38931,-1.09996,0.0523217,-8.27574,1.09604,0.107039,-8.40907,1.09604,0.0523217,-8.38931,-1.09996,-0.0571123,-8.25597,-1.09996,-0.111829,-8.04172,1.09604,0.0796802,-8.02172,1.09604,-0.00239528,-8.04172,1.09604,-0.0844708,-8.06148,-1.09996,0.0796802,-8.03945,-1.09996,-0.00239528,-8.06148,-1.09996,-0.0844708,-7.71789,-0.00196476,0.0796802,-7.66789,-0.00196476,-0.00239528,-7.71789,-0.00196476,-0.0844708});
			return Coordinate_7_153_point;
		}
		/** Large attribute array: Normal vector field, scene-graph level=7, element #154, 174 total numbers made up of 58 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getNormal_7_154_vector()
		{
			MFVec3f Normal_7_154_vector = new MFVec3f(new double[] {-0.0704368,0.885786,0.458718,-0.070716,0.886757,-0.456794,0.246196,0.841634,-0.480666,0.246497,0.840153,0.483097,-0.0704368,-0.885786,0.458718,-0.070716,-0.886757,-0.456794,0.246196,-0.841634,-0.480666,0.246497,-0.840153,0.483097,0.320499,0.947246,0.00234768,0.320499,-0.947246,0.00234768,-0.601746,6.16492E-16,0.798688,-0.607212,6.21731E-16,-0.79454,-0.339918,-0.828626,-0.444786,-0.311106,-0.839646,-0.445204,-0.31015,0.837598,0.449707,-0.338816,0.826419,0.449705,-0.311106,0.839646,-0.445204,-0.339918,0.828626,-0.444786,-0.338816,-0.826419,0.449705,-0.31015,-0.837598,0.449707,0.564065,0.568926,-0.59846,0.753144,-1.48801E-15,-0.657856,0.564065,-0.568926,-0.59846,0.558382,0.568748,0.603934,0.745119,-1.48413E-15,0.666932,0.558382,-0.568748,0.603934,0.702169,0.711989,0.0054635,0.999974,-1.98426E-15,0.00721355,0.702169,-0.711989,0.0054635,-0.0704368,-0.458718,0.885786,-0.070716,0.456794,0.886757,0.246196,0.480666,0.841634,0.246497,-0.483097,0.840153,-0.0704368,-0.458718,-0.885786,-0.070716,0.456794,-0.886757,0.246196,0.480666,-0.841634,0.246497,-0.483097,-0.840153,0.320499,-0.00234768,0.947246,0.320499,-0.00234768,-0.947246,-0.601746,-0.798688,1.93755E-15,-0.607212,0.79454,1.15464E-15,-0.339918,0.444786,-0.828626,-0.311106,0.445204,-0.839646,-0.31015,-0.449707,0.837598,-0.338816,-0.449705,0.826419,-0.311106,0.445204,0.839646,-0.339918,0.444786,0.828626,-0.338816,-0.449705,-0.826419,-0.31015,-0.449707,-0.837598,0.564065,0.59846,0.568926,0.753144,0.657856,-1.55886E-15,0.564065,0.59846,-0.568926,0.558382,-0.603934,0.568748,0.745119,-0.666932,-1.13076E-15,0.558382,-0.603934,-0.568748,0.702169,-0.0054635,0.711989,0.999974,-0.00721355,-1.98426E-15,0.702169,-0.0054635,-0.711989});
			return Normal_7_154_vector;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=6, element #160, 4830 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_6_160_coordIndex()
		{
			MFInt32 IndexedFaceSet_6_160_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_6_160_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_6_160_coordIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_6_160_coordIndex_3()))
				.append(new MFInt32(getIndexedFaceSet_6_160_coordIndex_4()))
				.append(new MFInt32(getIndexedFaceSet_6_160_coordIndex_5()));
			return IndexedFaceSet_6_160_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet normalIndex field, scene-graph level=6, element #160, 4830 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_6_160_normalIndex()
		{
			MFInt32 IndexedFaceSet_6_160_normalIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_6_160_normalIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_6_160_normalIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_6_160_normalIndex_3()))
				.append(new MFInt32(getIndexedFaceSet_6_160_normalIndex_4()))
				.append(new MFInt32(getIndexedFaceSet_6_160_normalIndex_5()));
			return IndexedFaceSet_6_160_normalIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=7, element #160, 2976 total numbers made up of 992 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_7_160_point()
		{
			MFVec3f Coordinate_7_160_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_7_160_point_1()))
				.append(new MFVec3f(getCoordinate_7_160_point_2()))
				.append(new MFVec3f(getCoordinate_7_160_point_3()))
				.append(new MFVec3f(getCoordinate_7_160_point_4()))
				.append(new MFVec3f(getCoordinate_7_160_point_5()))
				.append(new MFVec3f(getCoordinate_7_160_point_6()))
				.append(new MFVec3f(getCoordinate_7_160_point_7()))
				.append(new MFVec3f(getCoordinate_7_160_point_8()))
				.append(new MFVec3f(getCoordinate_7_160_point_9()))
				.append(new MFVec3f(getCoordinate_7_160_point_10()));
			return Coordinate_7_160_point;
		}
		/** Large attribute array: Normal vector field, scene-graph level=7, element #161, 2976 total numbers made up of 992 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getNormal_7_161_vector()
		{
			MFVec3f Normal_7_161_vector = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getNormal_7_161_vector_1()))
				.append(new MFVec3f(getNormal_7_161_vector_2()))
				.append(new MFVec3f(getNormal_7_161_vector_3()))
				.append(new MFVec3f(getNormal_7_161_vector_4()))
				.append(new MFVec3f(getNormal_7_161_vector_5()))
				.append(new MFVec3f(getNormal_7_161_vector_6()))
				.append(new MFVec3f(getNormal_7_161_vector_7()))
				.append(new MFVec3f(getNormal_7_161_vector_8()))
				.append(new MFVec3f(getNormal_7_161_vector_9()))
				.append(new MFVec3f(getNormal_7_161_vector_10()));
			return Normal_7_161_vector;
		}

	/** The initialized model object, created within initialize() method. */
	private X3D x3dModel;

	/** 
	 * Provide a 
	 * <a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank">shallow copy</a>
	 * of the X3D model.
	 * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html">X3D</a>
	 * @return SSN21Seawolf model
	 */
	public X3D getX3dModel()
	{	  
		return x3dModel;
	}
	   
    /** 
     * Default main() method provided for test purposes, uses CommandLine to set global ConfigurationProperties for this object.
     * @param args array of input parameters, provided as arguments
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-">X3D.handleArguments(args)</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--">X3D.validationReport()</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html">CommandLine</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE">CommandLine.USAGE</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html">ConfigurationProperties</a>
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new SSN21Seawolf().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) && (args.length > 0);
        boolean validate = true; // default
        boolean argumentsLoadNewModel = false;
        String  fileName = new String();

        if (args != null)
        {
                for (String arg : args)
                {
                        if (arg.toLowerCase().startsWith("-v") || arg.toLowerCase().contains("validate"))
                        {
                                validate = true; // making sure
                        }
                        if (arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3D) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_CLASSICVRML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3DB) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_VRML97) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_EXI) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_GZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_ZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_HTML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_XHTML))
                        {
                                argumentsLoadNewModel = true;
                                fileName = arg;
                        }
                }
        }
        if      (argumentsLoadNewModel)
                System.out.println("WARNING: \"Savage.Submarines.SsnSeawolfUnitedStates.SSN21Seawolf\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("Savage.Submarines.SsnSeawolfUnitedStates.SSN21Seawolf self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

                // experimental: test X3DJSAIL output files
                // Submarines/SsnSeawolfUnitedStates/SSN21Seawolf_JavaExport.* file validation is checked when building X3D Example Archives
                String filenameX3D  = "Submarines/SsnSeawolfUnitedStates/SSN21Seawolf_JavaExport.x3d"; 
                String filenameX3DV = "Submarines/SsnSeawolfUnitedStates/SSN21Seawolf_JavaExport.x3dv"; 
                String filenameJSON = "Submarines/SsnSeawolfUnitedStates/SSN21Seawolf_JavaExport.json";
                thisExampleX3dModel.toFileX3D        (filenameX3D);
                thisExampleX3dModel.toFileClassicVRML(filenameX3DV);
// TODO         thisExampleX3dModel.toFileJSON       (filenameJSON);
        }
    }
}
