diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index 8c43ccab30..1bc96d79ab 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -57,14 +57,13 @@ 1516200E199E75C2006099B8 /* CCRay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6105179199CB1A600DC41CE /* CCRay.cpp */; }; 1516200F199E75C2006099B8 /* CCSkeleton3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA2A83E1987A6810077B3D4 /* CCSkeleton3D.cpp */; }; 15162010199E75C2006099B8 /* CCAttachNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E3198639EF00FA95D0 /* CCAttachNode.cpp */; }; - 15162011199E75C2006099B8 /* CCSubMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E5198639EF00FA95D0 /* CCSubMesh.cpp */; }; - 15162012199E75C2006099B8 /* CCSubMeshState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E7198639EF00FA95D0 /* CCSubMeshState.cpp */; }; + 15162011199E75C2006099B8 /* CCMeshVertexIndexData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E5198639EF00FA95D0 /* CCMeshVertexIndexData.cpp */; }; + 15162012199E75C2006099B8 /* CCMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E7198639EF00FA95D0 /* CCMesh.cpp */; }; 15162013199E75C2006099B8 /* CCBundleReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */; }; 15162014199E75C2006099B8 /* CCBundle3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6AAF83F19404E0D0069DE01 /* CCBundle3D.cpp */; }; 15162015199E75C2006099B8 /* CCAnimate3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6ACD89C193DC0CC005E0B8A /* CCAnimate3D.cpp */; }; 15162016199E75C2006099B8 /* CCMeshSkin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6ACD895193D6693005E0B8A /* CCMeshSkin.cpp */; }; 15162017199E75C2006099B8 /* CCAnimation3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6B26341193884D60088FE25 /* CCAnimation3D.cpp */; }; - 15162018199E75C2006099B8 /* CCMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594B91926D61F003EEF37 /* CCMesh.cpp */; }; 15162019199E75C2006099B8 /* CCObjLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BB1926D61F003EEF37 /* CCObjLoader.cpp */; }; 1516201A199E75C2006099B8 /* CCSprite3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BD1926D61F003EEF37 /* CCSprite3D.cpp */; }; 1516201B199E75C2006099B8 /* CCSprite3DMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BF1926D61F003EEF37 /* CCSprite3DMaterial.cpp */; }; @@ -73,15 +72,14 @@ 1516201E199E75FE006099B8 /* CCRay.h in Headers */ = {isa = PBXBuildFile; fileRef = B610517A199CB1A600DC41CE /* CCRay.h */; }; 1516201F199E75FE006099B8 /* CCSkeleton3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA2A83F1987A6810077B3D4 /* CCSkeleton3D.h */; }; 15162020199E75FE006099B8 /* CCAttachNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E4198639EF00FA95D0 /* CCAttachNode.h */; }; - 15162021199E75FE006099B8 /* CCSubMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E6198639EF00FA95D0 /* CCSubMesh.h */; }; - 15162022199E75FF006099B8 /* CCSubMeshState.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E8198639EF00FA95D0 /* CCSubMeshState.h */; }; + 15162021199E75FE006099B8 /* CCMeshVertexIndexData.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E6198639EF00FA95D0 /* CCMeshVertexIndexData.h */; }; + 15162022199E75FF006099B8 /* CCMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E8198639EF00FA95D0 /* CCMesh.h */; }; 15162023199E75FF006099B8 /* CCBundleReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA4786F195478E00068D9D1 /* CCBundleReader.h */; }; 15162024199E75FF006099B8 /* CCBundle3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AAF84019404E0D0069DE01 /* CCBundle3D.h */; }; 15162025199E75FF006099B8 /* CCAnimate3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6ACD89D193DC0CC005E0B8A /* CCAnimate3D.h */; }; 15162026199E75FF006099B8 /* CCMeshSkin.h in Headers */ = {isa = PBXBuildFile; fileRef = B6ACD896193D6693005E0B8A /* CCMeshSkin.h */; }; 15162027199E75FF006099B8 /* CCAnimation3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B26342193884D60088FE25 /* CCAnimation3D.h */; }; 15162028199E75FF006099B8 /* CCAnimationCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B2633C19381FBF0088FE25 /* CCAnimationCurve.h */; }; - 15162029199E75FF006099B8 /* CCMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BA1926D61F003EEF37 /* CCMesh.h */; }; 1516202A199E75FF006099B8 /* CCObjLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BC1926D61F003EEF37 /* CCObjLoader.h */; }; 1516202B199E75FF006099B8 /* CCSprite3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BE1926D61F003EEF37 /* CCSprite3D.h */; }; 1516202C199E75FF006099B8 /* CCSprite3DMaterial.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594C01926D61F003EEF37 /* CCSprite3DMaterial.h */; }; @@ -91,14 +89,13 @@ 15162204199E7874006099B8 /* CCRay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6105179199CB1A600DC41CE /* CCRay.cpp */; }; 15162205199E7874006099B8 /* CCSkeleton3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA2A83E1987A6810077B3D4 /* CCSkeleton3D.cpp */; }; 15162206199E7874006099B8 /* CCAttachNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E3198639EF00FA95D0 /* CCAttachNode.cpp */; }; - 15162207199E7874006099B8 /* CCSubMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E5198639EF00FA95D0 /* CCSubMesh.cpp */; }; - 15162208199E7874006099B8 /* CCSubMeshState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E7198639EF00FA95D0 /* CCSubMeshState.cpp */; }; + 15162207199E7874006099B8 /* CCMeshVertexIndexData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E5198639EF00FA95D0 /* CCMeshVertexIndexData.cpp */; }; + 15162208199E7874006099B8 /* CCMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E9E80E7198639EF00FA95D0 /* CCMesh.cpp */; }; 15162209199E7874006099B8 /* CCBundleReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */; }; 1516220A199E7874006099B8 /* CCBundle3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6AAF83F19404E0D0069DE01 /* CCBundle3D.cpp */; }; 1516220B199E7874006099B8 /* CCAnimate3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6ACD89C193DC0CC005E0B8A /* CCAnimate3D.cpp */; }; 1516220C199E7874006099B8 /* CCMeshSkin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6ACD895193D6693005E0B8A /* CCMeshSkin.cpp */; }; 1516220D199E7874006099B8 /* CCAnimation3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6B26341193884D60088FE25 /* CCAnimation3D.cpp */; }; - 1516220E199E7874006099B8 /* CCMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594B91926D61F003EEF37 /* CCMesh.cpp */; }; 1516220F199E7874006099B8 /* CCObjLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BB1926D61F003EEF37 /* CCObjLoader.cpp */; }; 15162210199E7874006099B8 /* CCSprite3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BD1926D61F003EEF37 /* CCSprite3D.cpp */; }; 15162211199E7874006099B8 /* CCSprite3DMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B29594BF1926D61F003EEF37 /* CCSprite3DMaterial.cpp */; }; @@ -107,15 +104,14 @@ 15162214199E7A32006099B8 /* CCRay.h in Headers */ = {isa = PBXBuildFile; fileRef = B610517A199CB1A600DC41CE /* CCRay.h */; }; 15162215199E7A32006099B8 /* CCSkeleton3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA2A83F1987A6810077B3D4 /* CCSkeleton3D.h */; }; 15162216199E7A32006099B8 /* CCAttachNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E4198639EF00FA95D0 /* CCAttachNode.h */; }; - 15162217199E7A32006099B8 /* CCSubMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E6198639EF00FA95D0 /* CCSubMesh.h */; }; - 15162218199E7A32006099B8 /* CCSubMeshState.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E8198639EF00FA95D0 /* CCSubMeshState.h */; }; + 15162217199E7A32006099B8 /* CCMeshVertexIndexData.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E6198639EF00FA95D0 /* CCMeshVertexIndexData.h */; }; + 15162218199E7A32006099B8 /* CCMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E9E80E8198639EF00FA95D0 /* CCMesh.h */; }; 15162219199E7A32006099B8 /* CCBundleReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA4786F195478E00068D9D1 /* CCBundleReader.h */; }; 1516221A199E7A32006099B8 /* CCBundle3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AAF84019404E0D0069DE01 /* CCBundle3D.h */; }; 1516221B199E7A32006099B8 /* CCAnimate3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6ACD89D193DC0CC005E0B8A /* CCAnimate3D.h */; }; 1516221C199E7A32006099B8 /* CCMeshSkin.h in Headers */ = {isa = PBXBuildFile; fileRef = B6ACD896193D6693005E0B8A /* CCMeshSkin.h */; }; 1516221D199E7A32006099B8 /* CCAnimation3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B26342193884D60088FE25 /* CCAnimation3D.h */; }; 1516221E199E7A32006099B8 /* CCAnimationCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B2633C19381FBF0088FE25 /* CCAnimationCurve.h */; }; - 1516221F199E7A32006099B8 /* CCMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BA1926D61F003EEF37 /* CCMesh.h */; }; 15162220199E7A32006099B8 /* CCObjLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BC1926D61F003EEF37 /* CCObjLoader.h */; }; 15162221199E7A32006099B8 /* CCSprite3D.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594BE1926D61F003EEF37 /* CCSprite3D.h */; }; 15162222199E7A32006099B8 /* CCSprite3DMaterial.h in Headers */ = {isa = PBXBuildFile; fileRef = B29594C01926D61F003EEF37 /* CCSprite3DMaterial.h */; }; @@ -2534,10 +2530,10 @@ 3E61781C1966A5A300DE83F5 /* CCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCController.cpp; path = ../base/CCController.cpp; sourceTree = ""; }; 3E9E80E3198639EF00FA95D0 /* CCAttachNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCAttachNode.cpp; sourceTree = ""; }; 3E9E80E4198639EF00FA95D0 /* CCAttachNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAttachNode.h; sourceTree = ""; }; - 3E9E80E5198639EF00FA95D0 /* CCSubMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCSubMesh.cpp; sourceTree = ""; }; - 3E9E80E6198639EF00FA95D0 /* CCSubMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSubMesh.h; sourceTree = ""; }; - 3E9E80E7198639EF00FA95D0 /* CCSubMeshState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCSubMeshState.cpp; sourceTree = ""; }; - 3E9E80E8198639EF00FA95D0 /* CCSubMeshState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSubMeshState.h; sourceTree = ""; }; + 3E9E80E5198639EF00FA95D0 /* CCMeshVertexIndexData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCMeshVertexIndexData.cpp; sourceTree = ""; }; + 3E9E80E6198639EF00FA95D0 /* CCMeshVertexIndexData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMeshVertexIndexData.h; sourceTree = ""; }; + 3E9E80E7198639EF00FA95D0 /* CCMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCMesh.cpp; sourceTree = ""; }; + 3E9E80E8198639EF00FA95D0 /* CCMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMesh.h; sourceTree = ""; }; 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoPlayer.h; sourceTree = ""; }; 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIVideoPlayerIOS.mm; sourceTree = ""; }; 3EA2A83E1987A6810077B3D4 /* CCSkeleton3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCSkeleton3D.cpp; sourceTree = ""; }; @@ -3084,8 +3080,6 @@ B29594B11926D5D9003EEF37 /* ccShader_3D_PositionTex.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = ccShader_3D_PositionTex.vert; sourceTree = ""; }; B29594B21926D5EC003EEF37 /* CCMeshCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCMeshCommand.cpp; sourceTree = ""; }; B29594B31926D5EC003EEF37 /* CCMeshCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMeshCommand.h; sourceTree = ""; }; - B29594B91926D61F003EEF37 /* CCMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCMesh.cpp; sourceTree = ""; }; - B29594BA1926D61F003EEF37 /* CCMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMesh.h; sourceTree = ""; }; B29594BB1926D61F003EEF37 /* CCObjLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCObjLoader.cpp; sourceTree = ""; }; B29594BC1926D61F003EEF37 /* CCObjLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCObjLoader.h; sourceTree = ""; }; B29594BD1926D61F003EEF37 /* CCSprite3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCSprite3D.cpp; sourceTree = ""; }; @@ -5311,10 +5305,10 @@ 3EA2A83F1987A6810077B3D4 /* CCSkeleton3D.h */, 3E9E80E3198639EF00FA95D0 /* CCAttachNode.cpp */, 3E9E80E4198639EF00FA95D0 /* CCAttachNode.h */, - 3E9E80E5198639EF00FA95D0 /* CCSubMesh.cpp */, - 3E9E80E6198639EF00FA95D0 /* CCSubMesh.h */, - 3E9E80E7198639EF00FA95D0 /* CCSubMeshState.cpp */, - 3E9E80E8198639EF00FA95D0 /* CCSubMeshState.h */, + 3E9E80E5198639EF00FA95D0 /* CCMeshVertexIndexData.cpp */, + 3E9E80E6198639EF00FA95D0 /* CCMeshVertexIndexData.h */, + 3E9E80E7198639EF00FA95D0 /* CCMesh.cpp */, + 3E9E80E8198639EF00FA95D0 /* CCMesh.h */, 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */, 3EA4786F195478E00068D9D1 /* CCBundleReader.h */, B6AAF83F19404E0D0069DE01 /* CCBundle3D.cpp */, @@ -5327,8 +5321,6 @@ B6B26342193884D60088FE25 /* CCAnimation3D.h */, B6B2633B19381FBF0088FE25 /* CCAnimationCurve.inl */, B6B2633C19381FBF0088FE25 /* CCAnimationCurve.h */, - B29594B91926D61F003EEF37 /* CCMesh.cpp */, - B29594BA1926D61F003EEF37 /* CCMesh.h */, B29594BB1926D61F003EEF37 /* CCObjLoader.cpp */, B29594BC1926D61F003EEF37 /* CCObjLoader.h */, B29594BD1926D61F003EEF37 /* CCSprite3D.cpp */, @@ -5353,8 +5345,8 @@ 1516201E199E75FE006099B8 /* CCRay.h in Headers */, 1516201F199E75FE006099B8 /* CCSkeleton3D.h in Headers */, 15162020199E75FE006099B8 /* CCAttachNode.h in Headers */, - 15162021199E75FE006099B8 /* CCSubMesh.h in Headers */, - 15162022199E75FF006099B8 /* CCSubMeshState.h in Headers */, + 15162021199E75FE006099B8 /* CCMeshVertexIndexData.h in Headers */, + 15162022199E75FF006099B8 /* CCMesh.h in Headers */, 15162023199E75FF006099B8 /* CCBundleReader.h in Headers */, 15162024199E75FF006099B8 /* CCBundle3D.h in Headers */, 15162025199E75FF006099B8 /* CCAnimate3D.h in Headers */, @@ -5362,7 +5354,6 @@ 15162026199E75FF006099B8 /* CCMeshSkin.h in Headers */, 15162027199E75FF006099B8 /* CCAnimation3D.h in Headers */, 15162028199E75FF006099B8 /* CCAnimationCurve.h in Headers */, - 15162029199E75FF006099B8 /* CCMesh.h in Headers */, 1516202A199E75FF006099B8 /* CCObjLoader.h in Headers */, 1516202B199E75FF006099B8 /* CCSprite3D.h in Headers */, 1516202C199E75FF006099B8 /* CCSprite3DMaterial.h in Headers */, @@ -5379,8 +5370,8 @@ 15162214199E7A32006099B8 /* CCRay.h in Headers */, 15162215199E7A32006099B8 /* CCSkeleton3D.h in Headers */, 15162216199E7A32006099B8 /* CCAttachNode.h in Headers */, - 15162217199E7A32006099B8 /* CCSubMesh.h in Headers */, - 15162218199E7A32006099B8 /* CCSubMeshState.h in Headers */, + 15162217199E7A32006099B8 /* CCMeshVertexIndexData.h in Headers */, + 15162218199E7A32006099B8 /* CCMesh.h in Headers */, 15162219199E7A32006099B8 /* CCBundleReader.h in Headers */, 1516221A199E7A32006099B8 /* CCBundle3D.h in Headers */, 1516221B199E7A32006099B8 /* CCAnimate3D.h in Headers */, @@ -5388,7 +5379,6 @@ 1516221C199E7A32006099B8 /* CCMeshSkin.h in Headers */, 1516221D199E7A32006099B8 /* CCAnimation3D.h in Headers */, 1516221E199E7A32006099B8 /* CCAnimationCurve.h in Headers */, - 1516221F199E7A32006099B8 /* CCMesh.h in Headers */, 15162220199E7A32006099B8 /* CCObjLoader.h in Headers */, 15162221199E7A32006099B8 /* CCSprite3D.h in Headers */, 15162222199E7A32006099B8 /* CCSprite3DMaterial.h in Headers */, @@ -6913,14 +6903,13 @@ 1516200E199E75C2006099B8 /* CCRay.cpp in Sources */, 1516200F199E75C2006099B8 /* CCSkeleton3D.cpp in Sources */, 15162010199E75C2006099B8 /* CCAttachNode.cpp in Sources */, - 15162011199E75C2006099B8 /* CCSubMesh.cpp in Sources */, - 15162012199E75C2006099B8 /* CCSubMeshState.cpp in Sources */, + 15162011199E75C2006099B8 /* CCMeshVertexIndexData.cpp in Sources */, + 15162012199E75C2006099B8 /* CCMesh.cpp in Sources */, 15162013199E75C2006099B8 /* CCBundleReader.cpp in Sources */, 15162014199E75C2006099B8 /* CCBundle3D.cpp in Sources */, 15162015199E75C2006099B8 /* CCAnimate3D.cpp in Sources */, 15162016199E75C2006099B8 /* CCMeshSkin.cpp in Sources */, 15162017199E75C2006099B8 /* CCAnimation3D.cpp in Sources */, - 15162018199E75C2006099B8 /* CCMesh.cpp in Sources */, 15162019199E75C2006099B8 /* CCObjLoader.cpp in Sources */, 1516201A199E75C2006099B8 /* CCSprite3D.cpp in Sources */, 1516201B199E75C2006099B8 /* CCSprite3DMaterial.cpp in Sources */, @@ -6936,14 +6925,13 @@ 15162204199E7874006099B8 /* CCRay.cpp in Sources */, 15162205199E7874006099B8 /* CCSkeleton3D.cpp in Sources */, 15162206199E7874006099B8 /* CCAttachNode.cpp in Sources */, - 15162207199E7874006099B8 /* CCSubMesh.cpp in Sources */, - 15162208199E7874006099B8 /* CCSubMeshState.cpp in Sources */, + 15162207199E7874006099B8 /* CCMeshVertexIndexData.cpp in Sources */, + 15162208199E7874006099B8 /* CCMesh.cpp in Sources */, 15162209199E7874006099B8 /* CCBundleReader.cpp in Sources */, 1516220A199E7874006099B8 /* CCBundle3D.cpp in Sources */, 1516220B199E7874006099B8 /* CCAnimate3D.cpp in Sources */, 1516220C199E7874006099B8 /* CCMeshSkin.cpp in Sources */, 1516220D199E7874006099B8 /* CCAnimation3D.cpp in Sources */, - 1516220E199E7874006099B8 /* CCMesh.cpp in Sources */, 1516220F199E7874006099B8 /* CCObjLoader.cpp in Sources */, 15162210199E7874006099B8 /* CCSprite3D.cpp in Sources */, 15162211199E7874006099B8 /* CCSprite3DMaterial.cpp in Sources */, diff --git a/cocos/2d/CCNode.h b/cocos/2d/CCNode.h index 3d4d7500b4..186d8b3fca 100644 --- a/cocos/2d/CCNode.h +++ b/cocos/2d/CCNode.h @@ -961,7 +961,7 @@ public: CC_DEPRECATED_ATTRIBUTE GLProgram* getShaderProgram() const { return getGLProgram(); } GLProgramState *getGLProgramState() const; - void setGLProgramState(GLProgramState *glProgramState); + virtual void setGLProgramState(GLProgramState *glProgramState); /** * Sets the shader program for this node @@ -974,7 +974,7 @@ public: * * @param shaderProgram The shader program */ - void setGLProgram(GLProgram *glprogram); + virtual void setGLProgram(GLProgram *glprogram); CC_DEPRECATED_ATTRIBUTE void setShaderProgram(GLProgram *glprogram) { setGLProgram(glprogram); } /// @} end of Shader Program diff --git a/cocos/3d/Android.mk b/cocos/3d/Android.mk index cf05d12d7b..ff4ffa8101 100644 --- a/cocos/3d/Android.mk +++ b/cocos/3d/Android.mk @@ -16,12 +16,11 @@ CCBundle3D.cpp \ CCBundleReader.cpp \ CCMesh.cpp \ CCMeshSkin.cpp \ +CCMeshVertexIndexData.cpp \ CCSprite3DMaterial.cpp \ CCObjLoader.cpp \ CCSkeleton3D.cpp \ CCSprite3D.cpp \ -CCSubMesh.cpp \ -CCSubMeshState.cpp \ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. diff --git a/cocos/3d/CCAABB.cpp b/cocos/3d/CCAABB.cpp index 4c159ae8b8..912e184c00 100755 --- a/cocos/3d/CCAABB.cpp +++ b/cocos/3d/CCAABB.cpp @@ -119,6 +119,11 @@ void AABB::reset() _max.set(-99999.0f, -99999.0f, -99999.0f); } +bool AABB::isEmpty() const +{ + return _min.x > _max.x || _min.y > _max.y || _min.z > _max.z; +} + void AABB::updateMinMax(const Vec3* point, ssize_t num) { for (ssize_t i = 0; i < num; i++) diff --git a/cocos/3d/CCAABB.h b/cocos/3d/CCAABB.h index 20d1650e70..2838d90fc7 100644 --- a/cocos/3d/CCAABB.h +++ b/cocos/3d/CCAABB.h @@ -94,6 +94,8 @@ public: * reset min and max value. */ void reset(); + + bool isEmpty() const; /** * update the _min and _max from the given point. diff --git a/cocos/3d/CCAnimate3D.cpp b/cocos/3d/CCAnimate3D.cpp index 0034621814..c359194843 100644 --- a/cocos/3d/CCAnimate3D.cpp +++ b/cocos/3d/CCAnimate3D.cpp @@ -90,12 +90,12 @@ Animate3D* Animate3D::reverse() const void Animate3D::startWithTarget(Node *target) { Sprite3D* sprite = dynamic_cast(target); - CCASSERT(sprite && sprite->getSkin() && _animation, "Animate3D apply to Sprite3D only"); + CCASSERT(sprite && sprite->getSkeleton() && _animation, "Animate3D apply to Sprite3D only"); ActionInterval::startWithTarget(target); _boneCurves.clear(); - auto skin = sprite->getSkin(); + auto skin = sprite->getSkeleton(); for (unsigned int i = 0; i < skin->getBoneCount(); i++) { auto bone = skin->getBoneByIndex(i); auto curve = _animation->getBoneCurveByName(bone->getName()); diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 77dfb36c08..8c8bbab2f8 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -1,28 +1,29 @@ /**************************************************************************** - Copyright (c) 2014 Chukong Technologies Inc. +Copyright (c) 2014 Chukong Technologies Inc. - http://www.cocos2d-x.org +http://www.cocos2d-x.org - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ #include "3d/CCBundle3D.h" +#include "3d/CCObjLoader.h" #include "base/ccMacros.h" #include "platform/CCFileUtils.h" @@ -47,41 +48,45 @@ static const char* VERSION = "version"; static const char* ID = "id"; - -static const char* MESHDATA_MESH = "mesh"; -static const char* MESHDATA_DEFAULTPART = "body"; -static const char* MESHDATA_VERTEXSIZE = "vertexsize"; -static const char* MESHDATA_VERTEX = "vertex"; -static const char* MESHDATA_VERTICES = "vertices"; -static const char* MESHDATA_INDEXNUM = "indexnum"; -static const char* MESHDATA_INDICES = "indices"; -static const char* MESHDATA_SUBMESH = "submesh"; -static const char* MESHDATA_ATTRIBUTES = "attributes"; -static const char* MESHDATA_SIZE = "size"; -static const char* MESHDATA_TYPE = "type"; -static const char* MESHDATA_ATTRIBUTE = "attribute"; - -static const char* SKINDATA_SKIN = "skin"; -static const char* SKINDATA_BONES = "bones"; -static const char* SKINDATA_NODE = "node"; -static const char* SKINDATA_BINDSHAPE = "bindshape"; -static const char* SKINDATA_CHILDREN = "children"; -static const char* SKINDATA_TRANSFORM = "tansform"; - -static const char* MATERIALDATA_MATERIAL = "material"; -static const char* MATERIALDATA_BASE = "base"; -static const char* MATERIALDATA_FILENAME = "filename"; -static const char* MATERIALDATA_TEXTURES = "textures"; - -static const char* ANIMATIONDATA_ANIMATION = "animation"; -static const char* ANIMATIONDATA_LENGTH = "length"; -static const char* ANIMATIONDATA_BONES = "bones"; -static const char* ANIMATIONDATA_BONEID = "boneId"; -static const char* ANIMATIONDATA_KEYFRAMES = "keyframes"; -static const char* ANIMATIONDATA_TRANSLATION = "translation"; -static const char* ANIMATIONDATA_ROTATION = "rotation"; -static const char* ANIMATIONDATA_SCALE = "scale"; -static const char* ANIMATIONDATA_KEYTIME = "keytime"; +static const char* DEFAULTPART = "body"; +static const char* VERTEXSIZE = "vertexsize"; +static const char* VERTEX = "vertex"; +static const char* VERTICES = "vertices"; +static const char* INDEXNUM = "indexnum"; +static const char* INDICES = "indices"; +static const char* SUBMESH = "submesh"; +static const char* ATTRIBUTES = "attributes"; +static const char* ATTRIBUTESIZE = "size"; +static const char* TYPE = "type"; +static const char* ATTRIBUTE = "attribute"; +static const char* SKIN = "skin"; +static const char* BINDSHAPE = "bindshape"; +static const char* MESH = "mesh"; +static const char* MESHES = "meshes"; +static const char* MESHPARTID = "meshpartid"; +static const char* MATERIALID = "materialid"; +static const char* NODE = "node"; +static const char* NODES = "nodes"; +static const char* CHILDREN = "children"; +static const char* PARTS = "parts"; +static const char* BONES = "bones"; +static const char* SKELETON = "skeleton"; +static const char* MATERIALS = "materials"; +static const char* ANIMATIONS = "animations"; +static const char* TRANSFORM = "transform"; +static const char* OLDTRANSFORM = "tansform"; +static const char* ANIMATION = "animation"; +static const char* MATERIAL = "material"; +static const char* BASE = "base"; +static const char* FILENAME = "filename"; +static const char* TEXTURES = "textures"; +static const char* LENGTH = "length"; +static const char* BONEID = "boneId"; +static const char* KEYFRAMES = "keyframes"; +static const char* TRANSLATION = "translation"; +static const char* ROTATION = "rotation"; +static const char* SCALE = "scale"; +static const char* KEYTIME = "keytime"; NS_CC_BEGIN @@ -89,15 +94,15 @@ void getChildMap(std::map >& map, SkinData* skinData, cons { if (!skinData) return; - + // get transform matrix Mat4 transform; - const rapidjson::Value& parent_tranform = val[SKINDATA_TRANSFORM]; + const rapidjson::Value& parent_tranform = val[OLDTRANSFORM]; for (rapidjson::SizeType j = 0; j < parent_tranform.Size(); j++) { transform.m[j] = parent_tranform[j].GetDouble(); } - + // set origin matrices std::string parent_name = val[ID].GetString(); int parent_name_index = skinData->getSkinBoneNameIndex(parent_name); @@ -111,33 +116,33 @@ void getChildMap(std::map >& map, SkinData* skinData, cons { skinData->skinBoneOriginMatrices[parent_name_index] = (transform); } - + // set root bone index if(skinData->rootBoneIndex < 0) skinData->rootBoneIndex = parent_name_index; - - if (!val.HasMember(SKINDATA_CHILDREN)) + + if (!val.HasMember(CHILDREN)) return; - - const rapidjson::Value& children = val[SKINDATA_CHILDREN]; + + const rapidjson::Value& children = val[CHILDREN]; for (rapidjson::SizeType i = 0; i < children.Size(); i++) { // get child bone name const rapidjson::Value& child = children[i]; - + std::string child_name = child[ID].GetString(); int child_name_index = skinData->getSkinBoneNameIndex(child_name); if (child_name_index < 0) { skinData->addNodeBoneNames(child_name); child_name_index = skinData->getBoneNameIndex(child_name); - + } - + map[parent_name_index].push_back(child_name_index); - + getChildMap(map, skinData, child); - + } } @@ -200,14 +205,111 @@ bool Bundle3D::load(const std::string& path) } ret?(_path = path):(_path = ""); - + return ret; } - + +bool Bundle3D::loadObj(MeshDatas& meshdatas, MaterialDatas& materialdatas, NodeDatas& nodedatas, const std::string& fullPath, const char* mtl_basepath) +{ + meshdatas.resetData(); + materialdatas.resetData(); + nodedatas.resetData(); + + ObjLoader::shapes_t shapes; + auto ret = ObjLoader::LoadObj(shapes, fullPath.c_str(), mtl_basepath); + if (ret.empty()) + { + //fill data + MeshData* meshdata = new MeshData(); + MeshVertexAttrib attrib; + attrib.size = 3; + attrib.type = GL_FLOAT; + if (shapes.positions.size()) + { + attrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_POSITION; + attrib.attribSizeBytes = attrib.size * sizeof(float); + meshdata->attribs.push_back(attrib); + + } + bool hasnormal = false, hastex = false; + if (shapes.normals.size()) + { + hasnormal = true; + attrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_NORMAL; + attrib.attribSizeBytes = attrib.size * sizeof(float);; + meshdata->attribs.push_back(attrib); + } + if (shapes.texcoords.size()) + { + hastex = true; + attrib.size = 2; + attrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_TEX_COORD; + attrib.attribSizeBytes = attrib.size * sizeof(float); + meshdata->attribs.push_back(attrib); + } + auto vertexNum = shapes.positions.size() / 3; + for(auto i = 0; i < vertexNum; i++) + { + meshdata->vertex.push_back(shapes.positions[i * 3]); + meshdata->vertex.push_back(shapes.positions[i * 3 + 1]); + meshdata->vertex.push_back(shapes.positions[i * 3 + 2]); + + if (hasnormal) + { + meshdata->vertex.push_back(shapes.normals[i * 3]); + meshdata->vertex.push_back(shapes.normals[i * 3 + 1]); + meshdata->vertex.push_back(shapes.normals[i * 3 + 2]); + } + + if (hastex) + { + meshdata->vertex.push_back(shapes.texcoords[i * 2]); + meshdata->vertex.push_back(shapes.texcoords[i * 2 + 1]); + } + } + meshdatas.meshDatas.push_back(meshdata); + + NMaterialData materialdata; + int i = 0; + char str[20]; + std::string dir = ""; + auto last = fullPath.rfind("/"); + if (last != -1) + dir = fullPath.substr(0, last + 1); + + for (const auto& it : shapes.shapes) + { + NTextureData tex; + tex.filename = dir + it.material.diffuse_texname; + tex.type = NTextureData::Usage::Diffuse; + tex.wrapS = GL_CLAMP_TO_EDGE; + tex.wrapT = GL_CLAMP_TO_EDGE; + + sprintf(str, "%d", i++); + materialdata.textures.push_back(tex); + materialdata.id = str; + materialdatas.materials.push_back(materialdata); + + meshdata->subMeshIndices.push_back(it.mesh.indices); + meshdata->subMeshIds.push_back(str); + auto node = new NodeData(); + auto modelnode = new ModelData(); + modelnode->matrialId = str; + modelnode->subMeshId = str; + node->id = it.name; + node->modelNodeDatas.push_back(modelnode); + nodedatas.nodes.push_back(node); + } + return true; + } + CCLOG("load %s file error: %s", fullPath.c_str(), ret.c_str()); + return false; +} + bool Bundle3D::loadMeshData(const std::string& id, MeshData* meshdata) { meshdata->resetData(); - + if (_isBinary) { return loadMeshDataBinary(meshdata); @@ -217,11 +319,11 @@ bool Bundle3D::loadMeshData(const std::string& id, MeshData* meshdata) return loadMeshDataJson(meshdata); } } - + bool Bundle3D::loadSkinData(const std::string& id, SkinData* skindata) { skindata->resetData(); - + if (_isBinary) { return loadSkinDataBinary(skindata); @@ -231,11 +333,11 @@ bool Bundle3D::loadSkinData(const std::string& id, SkinData* skindata) return loadSkinDataJson(skindata); } } - + bool Bundle3D::loadMaterialData(const std::string& id, MaterialData* materialdata) { materialdata->resetData(); - + if (_isBinary) { return loadMaterialDataBinary(materialdata); @@ -245,11 +347,11 @@ bool Bundle3D::loadMaterialData(const std::string& id, MaterialData* materialdat return loadMaterialDataJson(materialdata); } } - + bool Bundle3D::loadAnimationData(const std::string& id, Animation3DData* animationdata) { animationdata->resetData(); - + if (_isBinary) { return loadAnimationDataBinary(animationdata); @@ -260,309 +362,884 @@ bool Bundle3D::loadAnimationData(const std::string& id, Animation3DData* animati } } -bool Bundle3D::loadSkeletonData(const std::string& id, Skeleton3DData* skeletondata) +//since 3.3, to support reskin +bool Bundle3D::loadMeshDatas(MeshDatas& meshdatas) { - skeletondata->resetData(); - - //TODO + meshdatas.resetData(); + if (_isBinary) + { + if (_version == "0.1") + { + return loadMeshDatasBinary_0_1(meshdatas); + } + else if(_version == "0.2") + { + return loadMeshDatasBinary_0_2(meshdatas); + } + else if(_version == "0.3") + { + return loadMeshDatasBinary(meshdatas); + } + } + else + { + if (_version == "1.2") + { + return loadMeshDataJson_0_1(meshdatas); + } + else if(_version == "0.2") + { + return loadMeshDataJson_0_2(meshdatas); + } + else if(_version == "0.3") + { + return loadMeshDatasJson(meshdatas); + } + } + return true; +} +bool Bundle3D::loadMeshDatasBinary(MeshDatas& meshdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MESH)) + return false; + unsigned int meshSize = 0; + if (_binaryReader.read(&meshSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return false; + } + for(int i = 0; i < meshSize ; i++ ) + { + MeshData* meshData = new MeshData(); + unsigned int attribSize=0; + // read mesh data + if (_binaryReader.read(&attribSize, 4, 1) != 1 || attribSize < 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return false; + } + meshData->attribCount = attribSize; + meshData->attribs.resize(meshData->attribCount); + for (ssize_t j = 0; j < meshData->attribCount; j++) + { + std::string attribute=""; + unsigned int vSize; + if (_binaryReader.read(&vSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: usage or size '%s'.", _path.c_str()); + return false; + } + std::string type = _binaryReader.readString(); + attribute=_binaryReader.readString(); + meshData->attribs[j].size = vSize; + meshData->attribs[j].attribSizeBytes = meshData->attribs[j].size * 4; + meshData->attribs[j].type = parseGLType(type); + meshData->attribs[j].vertexAttrib = parseGLProgramAttribute(attribute); + } + unsigned int vertexSizeInFloat = 0; + // Read vertex data + if (_binaryReader.read(&vertexSizeInFloat, 4, 1) != 1 || vertexSizeInFloat == 0) + { + CCLOGINFO("Failed to read meshdata: vertexSizeInFloat '%s'.", _path.c_str()); + return false; + } + + meshData->vertex.resize(vertexSizeInFloat); + if (_binaryReader.read(&meshData->vertex[0], 4, vertexSizeInFloat) != vertexSizeInFloat) + { + CCLOGINFO("Failed to read meshdata: vertex element '%s'.", _path.c_str()); + return false; + } + + // Read index data + unsigned int meshPartCount = 1; + _binaryReader.read(&meshPartCount, 4, 1); + + for (unsigned int k = 0; k < meshPartCount; ++k) + { + std::vector indexArray; + std:: string meshPartid = _binaryReader.readString(); + meshData->subMeshIds.push_back(meshPartid); + unsigned int nIndexCount; + if (_binaryReader.read(&nIndexCount, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: nIndexCount '%s'.", _path.c_str()); + return false; + } + indexArray.resize(nIndexCount); + if (_binaryReader.read(&indexArray[0], 2, nIndexCount) != nIndexCount) + { + CCLOGINFO("Failed to read meshdata: indices '%s'.", _path.c_str()); + return false; + } + meshData->subMeshIndices.push_back(indexArray); + meshData->numIndex = (int)meshData->subMeshIndices.size(); + } + meshdatas.meshDatas.push_back(meshData); + } + return true; +} +bool Bundle3D::loadMeshDatasBinary_0_1(MeshDatas& meshdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MESH)) + return false; + + meshdatas.resetData(); + + MeshData* meshdata = new MeshData(); + + // read mesh data + unsigned int attribSize=0; + if (_binaryReader.read(&attribSize, 4, 1) != 1 || attribSize < 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return false; + } + enum + { + VERTEX_ATTRIB_POSITION, + VERTEX_ATTRIB_COLOR, + VERTEX_ATTRIB_TEX_COORD, + VERTEX_ATTRIB_NORMAL, + VERTEX_ATTRIB_BLEND_WEIGHT, + VERTEX_ATTRIB_BLEND_INDEX, + + VERTEX_ATTRIB_MAX, + + // backward compatibility + VERTEX_ATTRIB_TEX_COORDS = VERTEX_ATTRIB_TEX_COORD, + }; + for (ssize_t i = 0; i < attribSize; i++) + { + unsigned int vUsage, vSize; + if (_binaryReader.read(&vUsage, 4, 1) != 1 || _binaryReader.read(&vSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: usage or size '%s'.", _path.c_str()); + return false; + } + + MeshVertexAttrib meshVertexAttribute; + meshVertexAttribute.size = vSize; + meshVertexAttribute.attribSizeBytes = vSize * 4; + meshVertexAttribute.type = GL_FLOAT; + if(vUsage == VERTEX_ATTRIB_NORMAL) + { + vUsage= GLProgram::VERTEX_ATTRIB_NORMAL; + } + else if(vUsage == VERTEX_ATTRIB_BLEND_WEIGHT) + { + vUsage= GLProgram::VERTEX_ATTRIB_BLEND_WEIGHT; + } + else if(vUsage == VERTEX_ATTRIB_BLEND_INDEX) + { + vUsage= GLProgram::VERTEX_ATTRIB_BLEND_INDEX; + } + else if(vUsage == VERTEX_ATTRIB_POSITION) + { + vUsage= GLProgram::VERTEX_ATTRIB_POSITION; + } + else if(vUsage == VERTEX_ATTRIB_TEX_COORD) + { + vUsage= GLProgram::VERTEX_ATTRIB_TEX_COORD; + } + meshVertexAttribute.vertexAttrib = vUsage; + + meshdata->attribs.push_back(meshVertexAttribute); + } + + // Read vertex data + if (_binaryReader.read(&meshdata->vertexSizeInFloat, 4, 1) != 1 || meshdata->vertexSizeInFloat == 0) + { + CCLOGINFO("Failed to read meshdata: vertexSizeInFloat '%s'.", _path.c_str()); + return false; + } + + meshdata->vertex.resize(meshdata->vertexSizeInFloat); + if (_binaryReader.read(&meshdata->vertex[0], 4, meshdata->vertexSizeInFloat) != meshdata->vertexSizeInFloat) + { + CCLOGINFO("Failed to read meshdata: vertex element '%s'.", _path.c_str()); + return false; + } + + // Read index data + unsigned int meshPartCount = 1; + for (unsigned int i = 0; i < meshPartCount; ++i) + { + unsigned int nIndexCount; + if (_binaryReader.read(&nIndexCount, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: nIndexCount '%s'.", _path.c_str()); + return false; + } + + std::vector indices; + indices.resize(nIndexCount); + if (_binaryReader.read(&indices[0], 2, nIndexCount) != nIndexCount) + { + CCLOGINFO("Failed to read meshdata: indices '%s'.", _path.c_str()); + return false; + } + + meshdata->subMeshIndices.push_back(indices); + } + + meshdatas.meshDatas.push_back(meshdata); return true; } +bool Bundle3D::loadMeshDatasBinary_0_2(MeshDatas& meshdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MESH)) + return false; + + meshdatas.resetData(); + + MeshData* meshdata = new MeshData(); + + // read mesh data + unsigned int attribSize=0; + if (_binaryReader.read(&attribSize, 4, 1) != 1 || attribSize < 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return false; + } + enum + { + VERTEX_ATTRIB_POSITION, + VERTEX_ATTRIB_COLOR, + VERTEX_ATTRIB_TEX_COORD, + VERTEX_ATTRIB_NORMAL, + VERTEX_ATTRIB_BLEND_WEIGHT, + VERTEX_ATTRIB_BLEND_INDEX, + + VERTEX_ATTRIB_MAX, + + // backward compatibility + VERTEX_ATTRIB_TEX_COORDS = VERTEX_ATTRIB_TEX_COORD, + }; + for (ssize_t i = 0; i < attribSize; i++) + { + unsigned int vUsage, vSize; + if (_binaryReader.read(&vUsage, 4, 1) != 1 || _binaryReader.read(&vSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: usage or size '%s'.", _path.c_str()); + return false; + } + + MeshVertexAttrib meshVertexAttribute; + meshVertexAttribute.size = vSize; + meshVertexAttribute.attribSizeBytes = vSize * 4; + meshVertexAttribute.type = GL_FLOAT; + if(vUsage == VERTEX_ATTRIB_NORMAL) + { + vUsage= GLProgram::VERTEX_ATTRIB_NORMAL; + } + else if(vUsage == VERTEX_ATTRIB_BLEND_WEIGHT) + { + vUsage= GLProgram::VERTEX_ATTRIB_BLEND_WEIGHT; + } + else if(vUsage == VERTEX_ATTRIB_BLEND_INDEX) + { + vUsage= GLProgram::VERTEX_ATTRIB_BLEND_INDEX; + } + else if(vUsage == VERTEX_ATTRIB_POSITION) + { + vUsage= GLProgram::VERTEX_ATTRIB_POSITION; + } + else if(vUsage == VERTEX_ATTRIB_TEX_COORD) + { + vUsage= GLProgram::VERTEX_ATTRIB_TEX_COORD; + } + meshVertexAttribute.vertexAttrib = vUsage; + + meshdata->attribs.push_back(meshVertexAttribute); + } + + // Read vertex data + if (_binaryReader.read(&meshdata->vertexSizeInFloat, 4, 1) != 1 || meshdata->vertexSizeInFloat == 0) + { + CCLOGINFO("Failed to read meshdata: vertexSizeInFloat '%s'.", _path.c_str()); + return false; + } + + meshdata->vertex.resize(meshdata->vertexSizeInFloat); + if (_binaryReader.read(&meshdata->vertex[0], 4, meshdata->vertexSizeInFloat) != meshdata->vertexSizeInFloat) + { + CCLOGINFO("Failed to read meshdata: vertex element '%s'.", _path.c_str()); + return false; + } + + // read submesh + unsigned int submeshCount; + if (_binaryReader.read(&submeshCount, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: submeshCount '%s'.", _path.c_str()); + return false; + } + + for (unsigned int i = 0; i < submeshCount; ++i) + { + unsigned int nIndexCount; + if (_binaryReader.read(&nIndexCount, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: nIndexCount '%s'.", _path.c_str()); + return false; + } + + std::vector indices; + indices.resize(nIndexCount); + if (_binaryReader.read(&indices[0], 2, nIndexCount) != nIndexCount) + { + CCLOGINFO("Failed to read meshdata: indices '%s'.", _path.c_str()); + return false; + } + + meshdata->subMeshIndices.push_back(indices); + } + + meshdatas.meshDatas.push_back(meshdata); + + return true; +} +bool Bundle3D::loadMeshDatasJson(MeshDatas& meshdatas) +{ + const rapidjson::Value& mesh_data_array = _jsonReader[MESHES]; + for (rapidjson::SizeType index = 0; index < mesh_data_array.Size(); index++) + { + MeshData* meshData = new MeshData(); + const rapidjson::Value& mesh_data = mesh_data_array[index]; + // mesh_vertex_attribute + const rapidjson::Value& mesh_vertex_attribute = mesh_data[ATTRIBUTES]; + MeshVertexAttrib tempAttrib; + meshData->attribCount=mesh_vertex_attribute.Size(); + meshData->attribs.resize(meshData->attribCount); + for (int i = 0; i < mesh_vertex_attribute.Size(); i++) + { + const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i]; + + int size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetInt(); + std::string type = mesh_vertex_attribute_val[TYPE].GetString(); + std::string attribute = mesh_vertex_attribute_val[ATTRIBUTE].GetString(); + + tempAttrib.size = size; + tempAttrib.attribSizeBytes = sizeof(float) * size; + tempAttrib.type = parseGLType(type); + tempAttrib.vertexAttrib = parseGLProgramAttribute(attribute); + meshData->attribs[i]=tempAttrib; + } + // mesh vertices + //////////////////////////////////////////////////////////////////////////////////////////////// + const rapidjson::Value& mesh_data_vertex_array = mesh_data[VERTICES]; + meshData->vertexSizeInFloat=mesh_data_vertex_array.Size(); + for (rapidjson::SizeType i = 0; i < mesh_data_vertex_array.Size(); i++) + { + meshData->vertex.push_back(mesh_data_vertex_array[i].GetDouble()); + } + // mesh part + //////////////////////////////////////////////////////////////////////////////////////////////// + const rapidjson::Value& mesh_part_array = mesh_data[PARTS]; + for (rapidjson::SizeType i = 0; i < mesh_part_array.Size(); i++) + { + std::vector indexArray; + const rapidjson::Value& mesh_part = mesh_part_array[i]; + meshData->subMeshIds.push_back(mesh_part[ID].GetString()); + // index_number + const rapidjson::Value& indices_val_array = mesh_part[INDICES]; + for (rapidjson::SizeType j = 0; j < indices_val_array.Size(); j++) + indexArray.push_back((unsigned short)indices_val_array[j].GetUint()); + + meshData->subMeshIndices.push_back(indexArray); + meshData->numIndex = (int)meshData->subMeshIndices.size(); + } + meshdatas.meshDatas.push_back(meshData); + } + return true; +} +bool Bundle3D::loadNodes(NodeDatas& nodedatas) +{ + if (_version == "0.1" || _version == "1.2" || _version == "0.2") + { + SkinData skinData; + loadSkinData("", &skinData); + auto nodeDatas = new NodeData*[skinData.skinBoneNames.size() + skinData.nodeBoneNames.size()]; + int index = 0; + size_t i; + for (i = 0; i < skinData.skinBoneNames.size(); i++) + { + nodeDatas[index] = new NodeData(); + nodeDatas[index]->id = skinData.skinBoneNames[i]; + nodeDatas[index]->transform = skinData.skinBoneOriginMatrices[i]; + index++; + } + for (i = 0; i < skinData.nodeBoneNames.size(); i++) + { + nodeDatas[index] = new NodeData(); + nodeDatas[index]->id = skinData.nodeBoneNames[i]; + nodeDatas[index]->transform = skinData.nodeBoneOriginMatrices[i]; + index++; + } + for (const auto& it : skinData.boneChild) + { + const auto& children = it.second; + auto parent = nodeDatas[it.first]; + for (const auto& child : children) + { + parent->children.push_back(nodeDatas[child]); + } + } + nodedatas.skeleton.push_back(nodeDatas[skinData.rootBoneIndex]); + auto node= new NodeData(); + auto modelnode = new ModelData(); + modelnode->matrialId = ""; + modelnode->subMeshId = ""; + modelnode->bones = skinData.skinBoneNames; + modelnode->invBindPose = skinData.inverseBindPoseMatrices; + node->modelNodeDatas.push_back(modelnode); + nodedatas.nodes.push_back(node); + } + else + { + if (_isBinary) + { + loadNodesBinary(nodedatas); + } + else + { + loadNodesJson(nodedatas); + } + } + return true; +} +bool Bundle3D::loadMaterials(MaterialDatas& materialdatas) +{ + materialdatas.resetData(); + if (_isBinary) + { + if (_version == "0.1") + { + return loadMaterialsBinary_0_1(materialdatas); + } + else if (_version == "0.2") + { + return loadMaterialsBinary_0_2(materialdatas); + } + else if (_version == "0.3") + { + return loadMaterialsBinary(materialdatas); + } + } + else + { + if (_version == "1.2") + { + return loadMaterialDataJson_0_1(materialdatas); + } + else if (_version == "0.2") + { + return loadMaterialDataJson_0_2(materialdatas); + } + else if (_version == "0.3") + { + return loadMaterialsJson(materialdatas); + } + } + return true; +} +bool Bundle3D::loadMaterialsBinary(MaterialDatas& materialdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MATERIAL)) + return false; + unsigned int materialnum = 1; + _binaryReader.read(&materialnum, 4, 1); + for (int i = 0; i < materialnum; i++) + { + NMaterialData materialData; + materialData.id = _binaryReader.readString(); + float data[14]; + _binaryReader.read(&data,sizeof(float), 14); + + unsigned int textruenum = 1; + _binaryReader.read(&textruenum, 4, 1); + for(int j = 0; j < textruenum ; j++ ) + { + NTextureData textureData; + textureData.id = _binaryReader.readString(); + if (textureData.id.empty()) + { + CCLOGINFO("Failed to read Materialdata: texturePath is empty '%s'.", textureID.c_str()); + return false; + } + std::string texturePath = _binaryReader.readString(); + if (texturePath.empty()) + { + CCLOGINFO("Failed to read Materialdata: texturePath is empty '%s'.", _path.c_str()); + return false; + } + + textureData.filename = _modelPath + texturePath; + float uvdata[4]; + _binaryReader.read(&uvdata,sizeof(float), 4); + textureData.type = parseGLTextureType(_binaryReader.readString()); + textureData.wrapS= parseGLType(_binaryReader.readString()); + textureData.wrapT= parseGLType(_binaryReader.readString()); + materialData.textures.push_back(textureData); + } + materialdatas.materials.push_back(materialData); + } + return true; +} +bool Bundle3D::loadMaterialsBinary_0_1(MaterialDatas& materialdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MATERIAL)) + return false; + + NMaterialData materialData; + + std::string texturePath = _binaryReader.readString(); + if (texturePath.empty()) + { + CCLOGINFO("Failed to read Materialdata: texturePath is empty '%s'.", _path.c_str()); + return false; + } + + NTextureData textureData; + textureData.filename = _modelPath + texturePath; + textureData.type= NTextureData::Usage::Diffuse; + textureData.id=""; + materialData.textures.push_back(textureData); + materialdatas.materials.push_back(materialData); + return true; +} + +bool Bundle3D::loadMaterialsBinary_0_2(MaterialDatas& materialdatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_MATERIAL)) + return false; + + unsigned int materialnum = 1; + _binaryReader.read(&materialnum, 4, 1); + + for (int i = 0; i < materialnum; i++) + { + NMaterialData materialData; + + std::string texturePath = _binaryReader.readString(); + if (texturePath.empty()) + { + CCLOGINFO("Failed to read Materialdata: texturePath is empty '%s'.", _path.c_str()); + return false; + } + + NTextureData textureData; + textureData.filename = _modelPath + texturePath; + textureData.type= NTextureData::Usage::Diffuse; + textureData.id=""; + materialData.textures.push_back(textureData); + materialdatas.materials.push_back(materialData); + } + return true; +} +bool Bundle3D::loadMaterialsJson(MaterialDatas& materialdatas) +{ + if (!_jsonReader.HasMember(MATERIALS)) + return false; + const rapidjson::Value& material_array = _jsonReader[MATERIALS]; + for (rapidjson::SizeType i = 0; i < material_array.Size(); i++) + { + NMaterialData materialData; + const rapidjson::Value& material_val = material_array[i]; + materialData.id = material_val[ID].GetString(); + if (material_val.HasMember(TEXTURES)) + { + const rapidjson::Value& testure_array = material_val[TEXTURES]; + for (rapidjson::SizeType j = 0; j < testure_array.Size(); j++) + { + NTextureData textureData; + const rapidjson::Value& texture_val = testure_array[j]; + std::string filename = texture_val[FILENAME].GetString(); + textureData.filename = _modelPath + filename; + textureData.type = parseGLTextureType(texture_val["type"].GetString()); + textureData.wrapS = parseGLType(texture_val["wrapModeU"].GetString()); + textureData.wrapT = parseGLType(texture_val["wrapModeV"].GetString()); + materialData.textures.push_back(textureData); + } + } + materialdatas.materials.push_back(materialData); + } + return true; +} bool Bundle3D::loadJson(const std::string& path) { clear(); - + Data data = FileUtils::getInstance()->getDataFromFile(path); ssize_t size = data.getSize(); - + // json need null-terminated string. _jsonBuffer = new char[size + 1]; memcpy(_jsonBuffer, data.getBytes(), size); _jsonBuffer[size] = '\0'; if (_jsonReader.ParseInsitu<0>(_jsonBuffer).HasParseError()) { - assert(0); - clear(); - return false; + CCASSERT(false, "Parse json failed"); + clear(); + return false; } - + const rapidjson::Value& mash_data_array = _jsonReader[VERSION]; _version = mash_data_array.GetString(); return true; } -bool Bundle3D::loadMeshDataJson(MeshData* meshdata) +bool Bundle3D::loadMeshDataJson_0_1(MeshDatas& meshdatas) { - //1.2 is a wrong version. Our first released fbx-conv write this version id, so we keep on using it. - if (_version == "1.2") - { - return loadMeshDataJson_0_1(meshdata); - } - else if(_version == "0.2") - { - return loadMeshDataJson_0_2(meshdata); - } - else - { - CCLOGINFO(false, "Unsupported version of loadMeshDataJson(): %s", _version); - return false; - } -} - -bool Bundle3D::loadMeshDataJson_0_1(MeshData* meshdata) -{ - const rapidjson::Value& mesh_data_array = _jsonReader[MESHDATA_MESH]; - + const rapidjson::Value& mesh_data_array = _jsonReader[MESH]; + MeshData* meshdata= new MeshData(); const rapidjson::Value& mesh_data_val = mesh_data_array[(rapidjson::SizeType)0]; - - const rapidjson::Value& mesh_data_body_array = mesh_data_val[MESHDATA_DEFAULTPART]; - + + const rapidjson::Value& mesh_data_body_array = mesh_data_val[DEFAULTPART]; + const rapidjson::Value& mesh_data_body_array_0 = mesh_data_body_array[(rapidjson::SizeType)0]; - + // mesh_vertex_attribute - const rapidjson::Value& mesh_vertex_attribute = mesh_data_val[MESHDATA_ATTRIBUTES]; + const rapidjson::Value& mesh_vertex_attribute = mesh_data_val[ATTRIBUTES]; meshdata->attribCount = mesh_vertex_attribute.Size(); meshdata->attribs.resize(meshdata->attribCount); for (rapidjson::SizeType i = 0; i < mesh_vertex_attribute.Size(); i++) { const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i]; - - meshdata->attribs[i].size = mesh_vertex_attribute_val[MESHDATA_SIZE].GetUint(); + + meshdata->attribs[i].size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetUint(); meshdata->attribs[i].attribSizeBytes = meshdata->attribs[i].size * 4; - meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[MESHDATA_TYPE].GetString()); - meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[MESHDATA_ATTRIBUTE].GetString()); + meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[TYPE].GetString()); + meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[ATTRIBUTE].GetString()); } - + // vertices - meshdata->vertexSizeInFloat = mesh_data_body_array_0[MESHDATA_VERTEXSIZE].GetInt(); + meshdata->vertexSizeInFloat = mesh_data_body_array_0[VERTEXSIZE].GetInt(); meshdata->vertex.resize(meshdata->vertexSizeInFloat); - - const rapidjson::Value& mesh_data_body_vertices = mesh_data_body_array_0[MESHDATA_VERTICES]; + + const rapidjson::Value& mesh_data_body_vertices = mesh_data_body_array_0[VERTICES]; for (rapidjson::SizeType i = 0; i < mesh_data_body_vertices.Size(); i++) meshdata->vertex[i] = mesh_data_body_vertices[i].GetDouble(); - + // index_number - unsigned int indexnum = mesh_data_body_array_0[MESHDATA_INDEXNUM].GetUint(); - + unsigned int indexnum = mesh_data_body_array_0[INDEXNUM].GetUint(); + // indices std::vector indices; indices.resize(indexnum); - const rapidjson::Value& indices_val_array = mesh_data_body_array_0[MESHDATA_INDICES]; + const rapidjson::Value& indices_val_array = mesh_data_body_array_0[INDICES]; for (rapidjson::SizeType i = 0; i < indices_val_array.Size(); i++) indices[i] = (unsigned short)indices_val_array[i].GetUint(); - - meshdata->subMeshIndices.push_back(indices); + meshdata->subMeshIndices.push_back(indices); + meshdatas.meshDatas.push_back(meshdata); return true; } -bool Bundle3D::loadMeshDataJson_0_2(MeshData* meshdata) +bool Bundle3D::loadMeshDataJson_0_2(MeshDatas& meshdatas) { - const rapidjson::Value& mesh_array = _jsonReader[MESHDATA_MESH]; - + MeshData* meshdata= new MeshData(); + const rapidjson::Value& mesh_array = _jsonReader[MESH]; const rapidjson::Value& mesh_array_0 = mesh_array[(rapidjson::SizeType)0]; - + // mesh_vertex_attribute - const rapidjson::Value& mesh_vertex_attribute = mesh_array_0[MESHDATA_ATTRIBUTES]; + const rapidjson::Value& mesh_vertex_attribute = mesh_array_0[ATTRIBUTES]; meshdata->attribCount = mesh_vertex_attribute.Size(); meshdata->attribs.resize(meshdata->attribCount); for (rapidjson::SizeType i = 0; i < mesh_vertex_attribute.Size(); i++) { const rapidjson::Value& mesh_vertex_attribute_val = mesh_vertex_attribute[i]; - - meshdata->attribs[i].size = mesh_vertex_attribute_val[MESHDATA_SIZE].GetUint(); + + meshdata->attribs[i].size = mesh_vertex_attribute_val[ATTRIBUTESIZE].GetUint(); meshdata->attribs[i].attribSizeBytes = meshdata->attribs[i].size * 4; - meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[MESHDATA_TYPE].GetString()); - meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[MESHDATA_ATTRIBUTE].GetString()); + meshdata->attribs[i].type = parseGLType(mesh_vertex_attribute_val[TYPE].GetString()); + meshdata->attribs[i].vertexAttrib = parseGLProgramAttribute(mesh_vertex_attribute_val[ATTRIBUTE].GetString()); } - + // vertices - const rapidjson::Value& mesh_data_vertex = mesh_array_0[MESHDATA_VERTEX]; + const rapidjson::Value& mesh_data_vertex = mesh_array_0[VERTEX]; const rapidjson::Value& mesh_data_vertex_0 = mesh_data_vertex[(rapidjson::SizeType)0]; - - meshdata->vertexSizeInFloat = mesh_data_vertex_0[MESHDATA_VERTEXSIZE].GetInt(); + + meshdata->vertexSizeInFloat = mesh_data_vertex_0[VERTEXSIZE].GetInt(); meshdata->vertex.resize(meshdata->vertexSizeInFloat); - - const rapidjson::Value& mesh_data_body_vertices = mesh_data_vertex_0[MESHDATA_VERTICES]; + + const rapidjson::Value& mesh_data_body_vertices = mesh_data_vertex_0[VERTICES]; for (rapidjson::SizeType i = 0; i < mesh_data_body_vertices.Size(); i++) meshdata->vertex[i] = mesh_data_body_vertices[i].GetDouble(); - + // submesh - const rapidjson::Value& mesh_submesh_array = mesh_array_0[MESHDATA_SUBMESH]; + const rapidjson::Value& mesh_submesh_array = mesh_array_0[SUBMESH]; for (rapidjson::SizeType i = 0; i < mesh_submesh_array.Size(); i++) { const rapidjson::Value& mesh_submesh_val = mesh_submesh_array[i]; //std::string id = mesh_submesh_val[ID].GetString(); - + // index_number - unsigned int indexnum = mesh_submesh_val[MESHDATA_INDEXNUM].GetUint(); - + unsigned int indexnum = mesh_submesh_val[INDEXNUM].GetUint(); + // indices std::vector indices; indices.resize(indexnum); - - const rapidjson::Value& indices_val_array = mesh_submesh_val[MESHDATA_INDICES]; + + const rapidjson::Value& indices_val_array = mesh_submesh_val[INDICES]; for (rapidjson::SizeType j = 0; j < indices_val_array.Size(); j++) indices[j] = (unsigned short)indices_val_array[j].GetUint(); - + meshdata->subMeshIndices.push_back(indices); } + meshdatas.meshDatas.push_back(meshdata); return true; } bool Bundle3D::loadSkinDataJson(SkinData* skindata) { - if (!_jsonReader.HasMember(SKINDATA_SKIN )) return false; - - const rapidjson::Value& skin_data_array = _jsonReader[SKINDATA_SKIN ]; - - assert(skin_data_array.IsArray()); + if (!_jsonReader.HasMember(SKIN )) return false; + + const rapidjson::Value& skin_data_array = _jsonReader[SKIN ]; + + CCASSERT(skin_data_array.IsArray(), "skin data is not an array"); const rapidjson::Value& skin_data_array_val_0 = skin_data_array[(rapidjson::SizeType)0]; - - if (!skin_data_array_val_0.HasMember(SKINDATA_BONES)) + + if (!skin_data_array_val_0.HasMember(BONES)) return false; - - const rapidjson::Value& skin_data_bones = skin_data_array_val_0[SKINDATA_BONES]; + + const rapidjson::Value& skin_data_bones = skin_data_array_val_0[BONES]; for (rapidjson::SizeType i = 0; i < skin_data_bones.Size(); i++) { const rapidjson::Value& skin_data_bone = skin_data_bones[i]; - std::string name = skin_data_bone[SKINDATA_NODE].GetString(); + std::string name = skin_data_bone[NODE].GetString(); skindata->addSkinBoneNames(name); - + Mat4 mat_bind_pos; - const rapidjson::Value& bind_pos = skin_data_bone[SKINDATA_BINDSHAPE]; + const rapidjson::Value& bind_pos = skin_data_bone[BINDSHAPE]; for (rapidjson::SizeType j = 0; j < bind_pos.Size(); j++) { mat_bind_pos.m[j] = bind_pos[j].GetDouble(); } skindata->inverseBindPoseMatrices.push_back(mat_bind_pos); } - + // set root bone infomation const rapidjson::Value& skin_data_1 = skin_data_array[1]; - + // parent and child relationship map skindata->skinBoneOriginMatrices.resize(skindata->skinBoneNames.size()); getChildMap(skindata->boneChild, skindata, skin_data_1); return true; } -bool Bundle3D::loadMaterialDataJson(MaterialData* materialdata) +bool Bundle3D::loadMaterialDataJson_0_1(MaterialDatas& materialdatas) { - //1.2 is a wrong version. Our first released fbx-conv write this version id, so we keep on using it. - if (_version == "1.2") - { - return loadMaterialDataJson_0_1(materialdata); - } - else if(_version == "0.2") - { - return loadMaterialDataJson_0_2(materialdata); - } - else - { - CCLOGINFO(false, "Unsupported version of loadMaterialDataJson() : %s", _version); + if (!_jsonReader.HasMember(MATERIAL)) return false; - } -} - -bool Bundle3D::loadMaterialDataJson_0_1(MaterialData* materialdata) -{ - if (!_jsonReader.HasMember(MATERIALDATA_MATERIAL)) - return false; - - const rapidjson::Value& material_data_array = _jsonReader[MATERIALDATA_MATERIAL]; + NMaterialData materialData; + const rapidjson::Value& material_data_array = _jsonReader[MATERIAL]; const rapidjson::Value& material_data_array_0 = material_data_array[(rapidjson::SizeType)0]; - const rapidjson::Value& material_data_base_array = material_data_array_0[MATERIALDATA_BASE]; + const rapidjson::Value& material_data_base_array = material_data_array_0[BASE]; const rapidjson::Value& material_data_base_array_0 = material_data_base_array[(rapidjson::SizeType)0]; - + NTextureData textureData; // set texture - materialdata->texturePaths[0] =_modelRelativePath + material_data_base_array_0[MATERIALDATA_FILENAME].GetString(); - + textureData.filename =_modelPath + material_data_base_array_0[FILENAME].GetString(); + textureData.type= NTextureData::Usage::Diffuse; + textureData.id=""; + materialData.textures.push_back(textureData); + materialdatas.materials.push_back(materialData); return true; } -bool Bundle3D::loadMaterialDataJson_0_2(MaterialData* materialdata) +bool Bundle3D::loadMaterialDataJson_0_2(MaterialDatas& materialdatas) { - if (!_jsonReader.HasMember(MATERIALDATA_MATERIAL)) + if (!_jsonReader.HasMember(MATERIAL)) return false; - - const rapidjson::Value& material_array = _jsonReader[MATERIALDATA_MATERIAL]; - + NMaterialData materialData; + const rapidjson::Value& material_array = _jsonReader[MATERIAL]; + for (rapidjson::SizeType i = 0; i < material_array.Size(); i++) { + NTextureData textureData; const rapidjson::Value& material_val = material_array[i]; - //std::string id = material_val[ID].GetString(); - + // set texture - materialdata->texturePaths[i] = _modelRelativePath + material_val[MATERIALDATA_TEXTURES].GetString(); + textureData.filename = _modelPath + material_val[TEXTURES].GetString(); + textureData.type= NTextureData::Usage::Diffuse; + textureData.id=""; + materialData.textures.push_back(textureData); } - + materialdatas.materials.push_back(materialData); return true; } bool Bundle3D::loadAnimationDataJson(Animation3DData* animationdata) { - if (!_jsonReader.HasMember(ANIMATIONDATA_ANIMATION)) return false; + std::string anim = ""; + if (_version == "1.2" || _version == "0.2") + anim = ANIMATION; + else + anim = ANIMATIONS; - const rapidjson::Value& animation_data_array = _jsonReader[ANIMATIONDATA_ANIMATION]; + if (!_jsonReader.HasMember(anim.c_str())) return false; + + const rapidjson::Value& animation_data_array = _jsonReader[anim.c_str()]; if (animation_data_array.Size()==0) return false; const rapidjson::Value& animation_data_array_val_0 = animation_data_array[(rapidjson::SizeType)0]; - animationdata->_totalTime = animation_data_array_val_0[ANIMATIONDATA_LENGTH].GetDouble(); + animationdata->_totalTime = animation_data_array_val_0[LENGTH].GetDouble(); - const rapidjson::Value& bones = animation_data_array_val_0[ANIMATIONDATA_BONES]; + const rapidjson::Value& bones = animation_data_array_val_0[BONES]; for (rapidjson::SizeType i = 0; i < bones.Size(); i++) { const rapidjson::Value& bone = bones[i]; - std::string bone_name = bone[ANIMATIONDATA_BONEID].GetString(); + std::string bone_name = bone[BONEID].GetString(); - if ( bone.HasMember(ANIMATIONDATA_KEYFRAMES)) + if ( bone.HasMember(KEYFRAMES)) { - const rapidjson::Value& bone_keyframes = bone[ANIMATIONDATA_KEYFRAMES]; + const rapidjson::Value& bone_keyframes = bone[KEYFRAMES]; rapidjson::SizeType keyframe_size = bone_keyframes.Size(); for (rapidjson::SizeType j = 0; j < keyframe_size; j++) { const rapidjson::Value& bone_keyframe = bone_keyframes[j]; - if ( bone_keyframe.HasMember(ANIMATIONDATA_TRANSLATION)) + if ( bone_keyframe.HasMember(TRANSLATION)) { - const rapidjson::Value& bone_keyframe_translation = bone_keyframe[ANIMATIONDATA_TRANSLATION]; - float keytime = bone_keyframe[ANIMATIONDATA_KEYTIME].GetDouble(); + const rapidjson::Value& bone_keyframe_translation = bone_keyframe[TRANSLATION]; + float keytime = bone_keyframe[KEYTIME].GetDouble(); Vec3 val = Vec3(bone_keyframe_translation[(rapidjson::SizeType)0].GetDouble(), bone_keyframe_translation[1].GetDouble(), bone_keyframe_translation[2].GetDouble()); animationdata->_translationKeys[bone_name].push_back(Animation3DData::Vec3Key(keytime,val)); } - if ( bone_keyframe.HasMember(ANIMATIONDATA_ROTATION)) + if ( bone_keyframe.HasMember(ROTATION)) { - const rapidjson::Value& bone_keyframe_rotation = bone_keyframe[ANIMATIONDATA_ROTATION]; - float keytime = bone_keyframe[ANIMATIONDATA_KEYTIME].GetDouble(); + const rapidjson::Value& bone_keyframe_rotation = bone_keyframe[ROTATION]; + float keytime = bone_keyframe[KEYTIME].GetDouble(); Quaternion val = Quaternion(bone_keyframe_rotation[(rapidjson::SizeType)0].GetDouble(),bone_keyframe_rotation[1].GetDouble(),bone_keyframe_rotation[2].GetDouble(),bone_keyframe_rotation[3].GetDouble()); animationdata->_rotationKeys[bone_name].push_back(Animation3DData::QuatKey(keytime,val)); } - if ( bone_keyframe.HasMember(ANIMATIONDATA_SCALE)) + if ( bone_keyframe.HasMember(SCALE)) { - const rapidjson::Value& bone_keyframe_scale = bone_keyframe[ANIMATIONDATA_SCALE]; - float keytime = bone_keyframe[ANIMATIONDATA_KEYTIME].GetDouble(); + const rapidjson::Value& bone_keyframe_scale = bone_keyframe[SCALE]; + float keytime = bone_keyframe[KEYTIME].GetDouble(); Vec3 val = Vec3(bone_keyframe_scale[(rapidjson::SizeType)0].GetDouble(), bone_keyframe_scale[1].GetDouble(), bone_keyframe_scale[2].GetDouble()); animationdata->_scaleKeys[bone_name].push_back(Animation3DData::Vec3Key(keytime,val)); } } } } - + return true; } bool Bundle3D::loadBinary(const std::string& path) { clear(); - + // get file data CC_SAFE_DELETE(_binaryBuffer); _binaryBuffer = new Data(); @@ -593,7 +1270,7 @@ bool Bundle3D::loadBinary(const std::string& path) CCLOG("Failed to read version:"); return false; } - + char version[20] = {0}; sprintf(version, "%d.%d", ver[0], ver[1]); _version = version; @@ -696,7 +1373,7 @@ bool Bundle3D::loadMeshDataBinary_0_1(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: nIndexCount '%s'.", _path.c_str()); return false; } - + std::vector indices; indices.resize(nIndexCount); if (_binaryReader.read(&indices[0], 2, nIndexCount) != nIndexCount) @@ -704,7 +1381,7 @@ bool Bundle3D::loadMeshDataBinary_0_1(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: indices '%s'.", _path.c_str()); return false; } - + meshdata->subMeshIndices.push_back(indices); } @@ -715,16 +1392,16 @@ bool Bundle3D::loadMeshDataBinary_0_2(MeshData* meshdata) { if (!seekToFirstType(BUNDLE_TYPE_MESH)) return false; - + meshdata->resetData(); - + // read mesh data if (_binaryReader.read(&meshdata->attribCount, 4, 1) != 1 || meshdata->attribCount < 1) { CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); return false; } - + meshdata->attribs.resize(meshdata->attribCount); for (ssize_t i = 0; i < meshdata->attribCount; i++) { @@ -734,27 +1411,27 @@ bool Bundle3D::loadMeshDataBinary_0_2(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: usage or size '%s'.", _path.c_str()); return false; } - + meshdata->attribs[i].size = vSize; meshdata->attribs[i].attribSizeBytes = meshdata->attribs[i].size * 4; meshdata->attribs[i].type = GL_FLOAT; meshdata->attribs[i].vertexAttrib = vUsage; } - + // Read vertex data if (_binaryReader.read(&meshdata->vertexSizeInFloat, 4, 1) != 1 || meshdata->vertexSizeInFloat == 0) { CCLOGINFO("Failed to read meshdata: vertexSizeInFloat '%s'.", _path.c_str()); return false; } - + meshdata->vertex.resize(meshdata->vertexSizeInFloat); if (_binaryReader.read(&meshdata->vertex[0], 4, meshdata->vertexSizeInFloat) != meshdata->vertexSizeInFloat) { CCLOGINFO("Failed to read meshdata: vertex element '%s'.", _path.c_str()); return false; } - + // read submesh unsigned int submeshCount; if (_binaryReader.read(&submeshCount, 4, 1) != 1) @@ -762,7 +1439,7 @@ bool Bundle3D::loadMeshDataBinary_0_2(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: submeshCount '%s'.", _path.c_str()); return false; } - + for (unsigned int i = 0; i < submeshCount; ++i) { unsigned int nIndexCount; @@ -771,7 +1448,7 @@ bool Bundle3D::loadMeshDataBinary_0_2(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: nIndexCount '%s'.", _path.c_str()); return false; } - + std::vector indices; indices.resize(nIndexCount); if (_binaryReader.read(&indices[0], 2, nIndexCount) != nIndexCount) @@ -779,10 +1456,10 @@ bool Bundle3D::loadMeshDataBinary_0_2(MeshData* meshdata) CCLOGINFO("Failed to read meshdata: indices '%s'.", _path.c_str()); return false; } - + meshdata->subMeshIndices.push_back(indices); } - + return true; } @@ -790,9 +1467,9 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) { if (!seekToFirstType(BUNDLE_TYPE_MESHSKIN)) return false; - + std::string boneName = _binaryReader.readString(); - + // transform float bindShape[16]; if (!_binaryReader.readMatrix(bindShape)) @@ -800,7 +1477,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) CCLOGINFO("Failed to read SkinData: bindShape matrix '%s'.", _path.c_str()); return false; } - + // bone count unsigned int boneNum; if (!_binaryReader.read(&boneNum)) @@ -808,7 +1485,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) CCLOGINFO("Failed to read SkinData: boneNum '%s'.", _path.c_str()); return false; } - + // bone names and bind pos float bindpos[16]; for (unsigned int i = 0; i < boneNum; i++) @@ -822,11 +1499,11 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) } skindata->inverseBindPoseMatrices.push_back(bindpos); } - + skindata->skinBoneOriginMatrices.resize(boneNum); - + boneName = _binaryReader.readString(); - + // bind shape _binaryReader.readMatrix(bindShape); int rootIndex = skindata->getSkinBoneNameIndex(boneName); @@ -840,10 +1517,10 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) { skindata->skinBoneOriginMatrices[rootIndex] = bindShape; } - + // set root bone index skindata->rootBoneIndex = rootIndex; - + // read parent and child relationship map float transform[16]; unsigned int linkNum; @@ -853,15 +1530,15 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) std::string id = _binaryReader.readString(); int index = skindata->getSkinBoneNameIndex(id); - + std::string parentid = _binaryReader.readString(); - + if (!_binaryReader.readMatrix(transform)) { CCLOGINFO("Failed to load SkinData: transform '%s'.", _path.c_str()); return false; } - + if(index < 0) { skindata->addNodeBoneNames(id); @@ -872,16 +1549,16 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) { skindata->skinBoneOriginMatrices[index] = transform; } - + int parentIndex = skindata->getSkinBoneNameIndex(parentid); if(parentIndex < 0) { skindata->addNodeBoneNames(parentid); parentIndex = skindata->getBoneNameIndex(parentid); } - + skindata->boneChild[parentIndex].push_back(index); - + } return true; @@ -897,7 +1574,7 @@ bool Bundle3D::loadMaterialDataBinary(MaterialData* materialdata) { _binaryReader.read(&materialnum, 4, 1); } - + for (int i = 0; i < materialnum; i++) { std::string texturePath = _binaryReader.readString(); @@ -906,11 +1583,11 @@ bool Bundle3D::loadMaterialDataBinary(MaterialData* materialdata) CCLOGINFO("Failed to read Materialdata: texturePath is empty '%s'.", _path.c_str()); return false; } - - std::string path = _modelRelativePath + texturePath; + + std::string path = _modelPath + texturePath; materialdata->texturePaths[i] = path; } - + return true; } @@ -918,8 +1595,16 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) { if (!seekToFirstType(BUNDLE_TYPE_ANIMATIONS)) return false; - - _binaryReader.readString(); + unsigned int animNum=0; + if( _version == "0.3") + { + if (!_binaryReader.read(&animNum)) + { + CCLOGINFO("Failed to read AnimationData: animNum '%s'.", _path.c_str()); + return false; + } + } + std::string id = _binaryReader.readString(); if (!_binaryReader.read(&animationdata->_totalTime)) { @@ -927,14 +1612,13 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) return false; } - unsigned int animNum; - if (!_binaryReader.read(&animNum)) + unsigned int nodeAnimationNum; + if (!_binaryReader.read(&nodeAnimationNum)) { CCLOGINFO("Failed to read AnimationData: animNum '%s'.", _path.c_str()); return false; } - - for (unsigned int i = 0; i < animNum; ++i) + for (unsigned int i = 0; i < nodeAnimationNum; ++i) { std::string boneName = _binaryReader.readString(); unsigned int keyframeNum; @@ -981,6 +1665,262 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) return true; } +bool Bundle3D::loadNodesJson(NodeDatas& nodedatas) +{ + if (!_jsonReader.HasMember(NODES)) return false; + const rapidjson::Value& nodes = _jsonReader[NODES]; + if(!nodes.IsArray()) return false; + + // traverse the nodes again + for (rapidjson::SizeType i = 0; i < nodes.Size(); i++) + { + const rapidjson::Value& jnode = nodes[i]; + std::string id = jnode[ID].GetString(); + NodeData* nodedata = parseNodesRecursivelyJson(jnode); + + bool isSkeleton = jnode[SKELETON].GetBool(); + if (isSkeleton) + nodedatas.skeleton.push_back(nodedata); + else + nodedatas.nodes.push_back(nodedata); + } + return true; +} +NodeData* Bundle3D::parseNodesRecursivelyJson(const rapidjson::Value& jvalue) +{ + NodeData* nodedata = new NodeData();; + //if (jvalue.HasMember(PARTS)) + // nodedata = new ModelNodeData(); + //else + //nodedata = new NodeData(); + + // id + nodedata->id = jvalue[ID].GetString(); + + // transform + Mat4 tranform; + const rapidjson::Value& jtransform = jvalue[TRANSFORM]; + + for (rapidjson::SizeType j = 0; j < jtransform.Size(); j++) + { + tranform.m[j] = jtransform[j].GetDouble(); + } + + nodedata->transform = tranform; + + // parts + if (jvalue.HasMember(PARTS)) + { + const rapidjson::Value& parts = jvalue[PARTS]; + + + for (rapidjson::SizeType i = 0; i < parts.Size(); i++) + { + auto modelnodedata = new ModelData();; + const rapidjson::Value& part = parts[i]; + modelnodedata->subMeshId = part[MESHPARTID].GetString(); + modelnodedata->matrialId = part[MATERIALID].GetString(); + + if (modelnodedata->subMeshId == "" || modelnodedata->matrialId == "") + { + std::string err = "Node " + nodedata->id + " part is missing meshPartId or materialId"; + CCASSERT(false, err.c_str()); + return nullptr; + } + + if (part.HasMember(BONES)) + { + const rapidjson::Value& bones = part[BONES]; + + for (rapidjson::SizeType j = 0; j < bones.Size(); j++) + { + const rapidjson::Value& bone = bones[j]; + + // node + if (!bone.HasMember(NODE)) + { + CCASSERT(false, "Bone node ID missing"); + return nullptr; + } + + modelnodedata->bones.push_back(bone[NODE].GetString()); + + Mat4 invbindpos; + const rapidjson::Value& jinvbindpos = bone[TRANSFORM]; + + for (rapidjson::SizeType k = 0; k < jinvbindpos.Size(); k++) + { + invbindpos.m[k] = jinvbindpos[k].GetDouble(); + } + + //invbindpos.inverse(); + modelnodedata->invBindPose.push_back(invbindpos); + } + } + nodedata->modelNodeDatas.push_back(modelnodedata); + } + } + + if (jvalue.HasMember(CHILDREN)) + { + const rapidjson::Value& children = jvalue[CHILDREN]; + for (rapidjson::SizeType i = 0; i < children.Size(); i++) + { + const rapidjson::Value& child = children[i]; + + NodeData* tempdata = parseNodesRecursivelyJson(child); + nodedata->children.push_back(tempdata); + } + } + return nodedata; +} + +bool Bundle3D::loadNodesBinary(NodeDatas& nodedatas) +{ + if (!seekToFirstType(BUNDLE_TYPE_NODE)) + return false; + + unsigned int nodeSize = 0; + if (_binaryReader.read(&nodeSize, 4, 1) != 1) + { + CCASSERT(false, "Failed to read nodes"); + return false; + } + + // traverse the nodes again + for (rapidjson::SizeType i = 0; i < nodeSize; i++) + { + bool skeleton = false; + NodeData* nodedata = parseNodesRecursivelyBinary(skeleton); + + if (skeleton) + nodedatas.skeleton.push_back(nodedata); + else + nodedatas.nodes.push_back(nodedata); + } + return true; +} +NodeData* Bundle3D::parseNodesRecursivelyBinary(bool& skeleton) +{ + // id + std::string id = _binaryReader.readString(); + // is skeleton + bool skeleton_; + if (_binaryReader.read(&skeleton_, 1, 1) != 1) + { + CCASSERT(false, "Failed to read is sleleton"); + return nullptr; + } + if (skeleton_) + skeleton = true; + + // transform + Mat4 transform; + if (!_binaryReader.readMatrix(transform.m)) + { + CCASSERT(false,"Failed to read transform matrix"); + return nullptr; + } + // parts + unsigned int partsSize = 0; + if (_binaryReader.read(&partsSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return nullptr; + } + + NodeData* nodedata = new NodeData(); + nodedata->id = id; + nodedata->transform = transform; + if (partsSize > 0) + { + for (rapidjson::SizeType i = 0; i < partsSize; i++) + { + auto modelnodedata = new ModelData(); + modelnodedata->subMeshId = _binaryReader.readString(); + modelnodedata->matrialId = _binaryReader.readString(); + + if (modelnodedata->subMeshId == "" || modelnodedata->matrialId == "") + { + std::string err = "Node " + nodedata->id + " part is missing meshPartId or materialId"; + CCASSERT(false, err.c_str()); + return nullptr; + } + + // read bone + unsigned int bonesSize = 0; + if (_binaryReader.read(&bonesSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return nullptr; + } + + if (bonesSize > 0) + { + for (rapidjson::SizeType j = 0; j < bonesSize; j++) + { + std::string name = _binaryReader.readString(); + modelnodedata->bones.push_back(name); + + Mat4 invbindpos; + if (!_binaryReader.readMatrix(invbindpos.m)) + { + return nullptr; + } + + modelnodedata->invBindPose.push_back(invbindpos); + } + } + unsigned int uvMapping = 0; + if (_binaryReader.read(&uvMapping, 4, 1) != 1) + { + CCLOGINFO("Failed to read nodedata: uvMapping '%s'.", _path.c_str()); + return nullptr; + } + for( int j = 0 ;j < uvMapping ; j++ ) + { + unsigned int textureIndexSize=0; + if (_binaryReader.read(&textureIndexSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return nullptr; + } + for(int k =0; k < textureIndexSize ; k++ ) + { + unsigned int index=0; + if (_binaryReader.read(&index, 4, 1) != 1) + { + return nullptr; + } + } + } + nodedata->modelNodeDatas.push_back(modelnodedata); + } + } + //else + //{ + // nodedata = new NodeData(); + // nodedata->id = id; + // nodedata->transform = transform; + //} + + unsigned int childrenSize = 0; + if (_binaryReader.read(&childrenSize, 4, 1) != 1) + { + CCLOGINFO("Failed to read meshdata: attribCount '%s'.", _path.c_str()); + return nullptr; + } + if (childrenSize > 0) + { + for (rapidjson::SizeType i = 0; i < childrenSize; i++) + { + NodeData* tempdata = parseNodesRecursivelyBinary(skeleton); + nodedata->children.push_back(tempdata); + } + } + return nodedata; +} + GLenum Bundle3D::parseGLType(const std::string& str) { if (str == "GL_BYTE") @@ -1011,13 +1951,68 @@ GLenum Bundle3D::parseGLType(const std::string& str) { return GL_FLOAT; } + else if (str == "REPEAT") + { + return GL_REPEAT; + } + else if (str == "CLAMP") + { + return GL_CLAMP_TO_EDGE; + } else { CCASSERT(false, "Wrong GL type"); return 0; } } - +NTextureData::Usage Bundle3D::parseGLTextureType(const std::string& str) +{ + if (str == "AMBIENT") + { + return NTextureData::Usage::Ambient; + } + else if(str == "BUMP") + { + return NTextureData::Usage::Bump; + } + else if(str == "DIFFUSE") + { + return NTextureData::Usage::Diffuse; + } + else if(str == "EMISSIVE") + { + return NTextureData::Usage::Emissive; + } + else if(str == "NONE") + { + return NTextureData::Usage::None; + } + else if (str == "NORMAL") + { + return NTextureData::Usage::Normal; + } + else if (str == "REFLECTION") + { + return NTextureData::Usage::Reflection; + } + else if (str == "SHININESS") + { + return NTextureData::Usage::Shininess; + } + else if (str == "SPECULAR") + { + return NTextureData::Usage::Specular; + } + else if (str == "TRANSPARENCY") + { + return NTextureData::Usage::Transparency; + } + else + { + CCASSERT(false, "Wrong Texture type"); + return NTextureData::Usage::Unknown; + } +} unsigned int Bundle3D::parseGLProgramAttribute(const std::string& str) { if (str == "VERTEX_ATTRIB_POSITION") @@ -1032,6 +2027,34 @@ unsigned int Bundle3D::parseGLProgramAttribute(const std::string& str) { return GLProgram::VERTEX_ATTRIB_TEX_COORD; } + else if (str == "VERTEX_ATTRIB_TEX_COORD1") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD1; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD2") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD2; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD3") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD3; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD4") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD4; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD5") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD5; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD6") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD6; + } + else if (str == "VERTEX_ATTRIB_TEX_COORD7") + { + return GLProgram::VERTEX_ATTRIB_TEX_COORD7; + } else if (str == "VERTEX_ATTRIB_NORMAL") { return GLProgram::VERTEX_ATTRIB_NORMAL; @@ -1046,7 +2069,7 @@ unsigned int Bundle3D::parseGLProgramAttribute(const std::string& str) } else { - assert(0); + CCASSERT(false, "Wrong Attribute type"); return -1; } } @@ -1055,17 +2078,7 @@ void Bundle3D::getModelRelativePath(const std::string& path) { ssize_t index = path.find_last_of('/'); std::string fullModelPath; - fullModelPath = path.substr(0, index + 1); - - auto list = FileUtils::getInstance()->getSearchPaths(); - for( const auto &item : list ) - { - if ( fullModelPath.find(item) != std::string::npos ) - { - _modelRelativePath = fullModelPath.substr(item.length(), fullModelPath.length() + 1); - break; - } - } + _modelPath = path.substr(0, index + 1); } Reference* Bundle3D::seekToFirstType(unsigned int type) @@ -1089,21 +2102,21 @@ Reference* Bundle3D::seekToFirstType(unsigned int type) } Bundle3D::Bundle3D() -:_isBinary(false), -_modelRelativePath(""), -_path(""), -_version(""), -_jsonBuffer(nullptr), -_binaryBuffer(nullptr), -_referenceCount(0), -_references(nullptr) + :_isBinary(false), + _modelPath(""), + _path(""), + _version(""), + _jsonBuffer(nullptr), + _binaryBuffer(nullptr), + _referenceCount(0), + _references(nullptr) { } Bundle3D::~Bundle3D() { clear(); - + } NS_CC_END diff --git a/cocos/3d/CCBundle3D.h b/cocos/3d/CCBundle3D.h index f66b0db5f6..6388e14ad6 100644 --- a/cocos/3d/CCBundle3D.h +++ b/cocos/3d/CCBundle3D.h @@ -26,6 +26,7 @@ #define __CCBUNDLE3D_H__ #include +#include #include "3d/CCBundle3DData.h" @@ -90,28 +91,39 @@ public: */ virtual bool loadAnimationData(const std::string& id, Animation3DData* animationdata); - /** - * load skeleton data from bundle - * - */ - virtual bool loadSkeletonData(const std::string& id, Skeleton3DData* skeletondata); - + //since 3.3, to support reskin + virtual bool loadMeshDatas(MeshDatas& meshdatas); + //since 3.3, to support reskin + virtual bool loadNodes(NodeDatas& nodedatas); + //since 3.3, to support reskin + virtual bool loadMaterials(MaterialDatas& materialdatas); + + //load .obj file + static bool loadObj(MeshDatas& meshdatas, MaterialDatas& materialdatas, NodeDatas& nodedatas, const std::string& fullPath, const char* mtl_basepath = nullptr); + protected: bool loadJson(const std::string& path); - - bool loadMeshDataJson(MeshData* meshdata); - bool loadMeshDataJson_0_1(MeshData* meshdata); - bool loadMeshDataJson_0_2(MeshData* meshdata); - + bool loadMeshDatasJson(MeshDatas& meshdatas); + bool loadMeshDataJson_0_1(MeshDatas& meshdatas); + bool loadMeshDataJson_0_2(MeshDatas& meshdatas); + bool loadMeshDatasBinary(MeshDatas& meshdatas); + bool loadMeshDatasBinary_0_1(MeshDatas& meshdatas); + bool loadMeshDatasBinary_0_2(MeshDatas& meshdatas); + bool loadMaterialsJson(MaterialDatas& materialdatas); + bool loadMaterialDataJson_0_1(MaterialDatas& materialdatas); + bool loadMaterialDataJson_0_2(MaterialDatas& materialdatas); + bool loadMaterialsBinary(MaterialDatas& materialdatas); + bool loadMaterialsBinary_0_1(MaterialDatas& materialdatas); + bool loadMaterialsBinary_0_2(MaterialDatas& materialdatas); + bool loadMeshDataJson(MeshData* meshdata){return true;} + bool loadMeshDataJson_0_1(MeshData* meshdata){return true;} + bool loadMeshDataJson_0_2(MeshData* meshdata){return true;} bool loadSkinDataJson(SkinData* skindata); - - bool loadMaterialDataJson(MaterialData* materialdata); - bool loadMaterialDataJson_0_1(MaterialData* materialdata); - bool loadMaterialDataJson_0_2(MaterialData* materialdata); - + bool loadMaterialDataJson(MaterialData* materialdata){return true;} + bool loadMaterialDataJson_0_1(MaterialData* materialdata){return true;} + bool loadMaterialDataJson_0_2(MaterialData* materialdata){return true;} bool loadAnimationDataJson(Animation3DData* animationdata); - /** * load data in binary * @param path The c3b file path @@ -144,12 +156,32 @@ protected: */ bool loadAnimationDataBinary(Animation3DData* animationdata); + bool checkIsBone(const std::string& name); + + /** + * load nodes of json + */ + bool loadNodesJson(NodeDatas& nodedatas); + NodeData* parseNodesRecursivelyJson(const rapidjson::Value& jvalue); + + /** + * load nodes of binary + */ + bool loadNodesBinary(NodeDatas& nodedatas); + NodeData* parseNodesRecursivelyBinary(bool& skeleton); + /** * get define data type * @param str The type in string */ GLenum parseGLType(const std::string& str); + /** + * get define data type + * @param str The type in string + */ + NTextureData::Usage parseGLTextureType(const std::string& str); + /** * get vertex attribute type * @param str The type in string @@ -176,7 +208,7 @@ protected: static Bundle3D* _instance; - std::string _modelRelativePath; + std::string _modelPath; std::string _path; std::string _version;// the c3b or c3t version @@ -190,7 +222,6 @@ protected: BundleReader _binaryReader; unsigned int _referenceCount; Reference* _references; - bool _isBinary; }; diff --git a/cocos/3d/CCBundle3DData.h b/cocos/3d/CCBundle3DData.h index e6076f082f..63c5916c89 100644 --- a/cocos/3d/CCBundle3DData.h +++ b/cocos/3d/CCBundle3DData.h @@ -47,6 +47,73 @@ struct MeshVertexAttrib int attribSizeBytes; }; + +struct ModelData; +/** Node data, since 3.3 */ +struct NodeData +{ + std::string id; + Mat4 transform; + std::vector modelNodeDatas; + std::vector children; + + virtual ~NodeData() + { + resetData(); + } + virtual void resetData() + { + id.clear(); + transform.setIdentity(); + for (auto& it : children) + { + delete it; + } + children.clear(); + } + +}; + +/** model node data, since 3.3 */ +struct ModelData +{ + std::string subMeshId; + std::string matrialId; + std::vector bones; + std::vector invBindPose; + + virtual ~ModelData() + { + resetData(); + } + virtual void resetData() + { + bones.clear(); + invBindPose.clear(); + } +}; + +/** node datas, since 3.3 */ +struct NodeDatas +{ + std::vector skeleton; //skeleton + std::vector nodes; // nodes, CCNode, Sprite3D or part of Sprite3D + + void resetData() + { + for(auto& it : skeleton) + { + delete it; + } + skeleton.clear(); + for(auto& it : nodes) + { + delete it; + } + nodes.clear(); + } +}; + /**mesh data*/ struct MeshData { @@ -54,11 +121,21 @@ struct MeshData std::vector vertex; int vertexSizeInFloat; std::vector subMeshIndices; + std::vector subMeshIds; //subMesh Names (since 3.3) int numIndex; std::vector attribs; int attribCount; public: + int getPerVertexSize() const + { + int vertexsize = 0; + for(const auto& attrib : attribs) + { + vertexsize += attrib.attribSizeBytes; + } + return vertexsize; + } void resetData() { vertex.clear(); @@ -80,6 +157,25 @@ public: } }; +/** mesh datas */ +struct MeshDatas +{ + std::vector meshDatas; + + void resetData() + { + for(auto& it : meshDatas) + { + delete it; + } + meshDatas.clear(); + } + ~MeshDatas() + { + resetData(); + } +}; + /**skin data*/ struct SkinData { @@ -149,47 +245,7 @@ struct SkinData }; -/**skin data*/ -struct Skeleton3DData -{ - std::vector boneNames; //bone names - std::vector inverseBindPoseMatrices; //bind pose of skin bone - std::vector boneOriginMatrices; // original bone transform - - //bone child info, both skinbone and node bone - std::map > boneChild;//key parent, value child - int rootBoneIndex; - - void resetData() - { - boneNames.clear(); - inverseBindPoseMatrices.clear(); - boneOriginMatrices.clear(); - boneChild.clear(); - rootBoneIndex = -1; - } - - void addBoneNames(const std::string& name) - { - auto it = std::find(boneNames.begin(), boneNames.end(), name); - if (it == boneNames.end()) - boneNames.push_back(name); - } - - int getBoneNameIndex(const std::string& name)const - { - int i = 0; - for (auto iter : boneNames) - { - if ((iter) == name) - return i; - i++; - } - return -1; - } -}; - -/**material data*/ +/**material data, */ struct MaterialData { std::map texturePaths; //submesh id, texture path @@ -199,6 +255,61 @@ struct MaterialData } }; + +/**new material, since 3.3 */ +struct NTextureData +{ + enum class Usage { + Unknown = 0, + None = 1, + Diffuse = 2, + Emissive = 3, + Ambient = 4, + Specular = 5, + Shininess = 6, + Normal = 7, + Bump = 8, + Transparency = 9, + Reflection = 10 + }; + std::string id; + std::string filename; + Usage type; + GLenum wrapS; + GLenum wrapT; +} ; +struct NMaterialData +{ + std::vector textures; + std::string id; + const NTextureData* getTextureData(const NTextureData::Usage& type) const + { + for(const auto& it : textures) + { + if (it.type == type) + return ⁢ + } + return nullptr; + } +}; +/** material datas, since 3.3 */ +struct MaterialDatas +{ + std::vector materials; + void resetData() + { + materials.clear(); + } + const NMaterialData* getMaterialData(const std::string& materialid) const + { + for(const auto& it : materials) + { + if (it.id == materialid) + return ⁢ + } + return nullptr; + } +}; /**animation data*/ struct Animation3DData { diff --git a/cocos/3d/CCMesh.cpp b/cocos/3d/CCMesh.cpp index 16007b1588..8da9f6325a 100644 --- a/cocos/3d/CCMesh.cpp +++ b/cocos/3d/CCMesh.cpp @@ -22,16 +22,14 @@ THE SOFTWARE. ****************************************************************************/ -#include "CCMesh.h" - #include #include #include #include -#include "3d/CCSubMesh.h" -#include "3d/CCObjLoader.h" -#include "3d/CCSprite3DMaterial.h" +#include "3d/CCMesh.h" +#include "3d/CCMeshSkin.h" +#include "3d/CCMeshVertexIndexData.h" #include "base/ccMacros.h" #include "base/CCEventCustom.h" @@ -40,347 +38,263 @@ #include "base/CCEventType.h" #include "base/CCDirector.h" #include "renderer/ccGLStateCache.h" +#include "renderer/CCTexture2D.h" +#include "renderer/CCTextureCache.h" +#include "renderer/CCGLProgramCache.h" using namespace std; NS_CC_BEGIN -bool RenderMeshData::hasVertexAttrib(int attrib) -{ - for (auto itr = _vertexAttribs.begin(); itr != _vertexAttribs.end(); itr++) - { - if ((*itr).vertexAttrib == attrib) - return true; //already has - } - return false; -} - -bool RenderMeshData::init(const std::vector& positions, - const std::vector& normals, - const std::vector& texs, - const std::vector& indices) -{ - CC_ASSERT(positions.size()<65536 * 3 && "index may out of bound"); - - _vertexAttribs.clear(); - - _vertexNum = positions.size() / 3; //number of vertex - if (_vertexNum == 0) - return false; - - if ((normals.size() != 0 && _vertexNum * 3 != normals.size()) || (texs.size() != 0 && _vertexNum * 2 != texs.size())) - return false; - - MeshVertexAttrib meshvertexattrib; - meshvertexattrib.size = 3; - meshvertexattrib.type = GL_FLOAT; - meshvertexattrib.attribSizeBytes = meshvertexattrib.size * sizeof(float); - meshvertexattrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_POSITION; - _vertexAttribs.push_back(meshvertexattrib); - - //normal - if (normals.size()) - { - //add normal flag - meshvertexattrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_NORMAL; - _vertexAttribs.push_back(meshvertexattrib); - } - // - if (texs.size()) - { - meshvertexattrib.size = 2; - meshvertexattrib.vertexAttrib = GLProgram::VERTEX_ATTRIB_TEX_COORD; - meshvertexattrib.attribSizeBytes = meshvertexattrib.size * sizeof(float); - _vertexAttribs.push_back(meshvertexattrib); - } - - _vertexs.clear(); - _vertexsizeBytes = calVertexSizeBytes(); - _vertexs.reserve(_vertexNum * _vertexsizeBytes / sizeof(float)); - - bool hasNormal = hasVertexAttrib(GLProgram::VERTEX_ATTRIB_NORMAL); - bool hasTexCoord = hasVertexAttrib(GLProgram::VERTEX_ATTRIB_TEX_COORD); - //position, normal, texCoordinate into _vertexs - for(int i = 0; i < _vertexNum; i++) - { - _vertexs.push_back(positions[i * 3]); - _vertexs.push_back(positions[i * 3 + 1]); - _vertexs.push_back(positions[i * 3 + 2]); - - if (hasNormal) - { - _vertexs.push_back(normals[i * 3]); - _vertexs.push_back(normals[i * 3 + 1]); - _vertexs.push_back(normals[i * 3 + 2]); - } - - if (hasTexCoord) - { - _vertexs.push_back(texs[i * 2]); - _vertexs.push_back(texs[i * 2 + 1]); - } - } - _subMeshIndices = indices; - - return true; -} - -bool RenderMeshData::init(const std::vector& vertices, int vertexSizeInFloat, const std::vector& indices, const std::vector& attribs) -{ - _vertexs = vertices; - _subMeshIndices = indices; - _vertexAttribs = attribs; - - _vertexsizeBytes = calVertexSizeBytes(); - - return true; -} - -int RenderMeshData::calVertexSizeBytes() -{ - int sizeBytes = 0; - for (auto it = _vertexAttribs.begin(); it != _vertexAttribs.end(); it++) { - sizeBytes += (*it).size; - CCASSERT((*it).type == GL_FLOAT, "use float"); - } - sizeBytes *= sizeof(float); - - return sizeBytes; -} - Mesh::Mesh() -:_vertexBuffer(0) +: _visible(true) +, _texture(nullptr) +, _skin(nullptr) +, _meshIndexData(nullptr) +, _visibleChanged(nullptr) +, _glProgramState(nullptr) +, _blend(BlendFunc::ALPHA_NON_PREMULTIPLIED) { + } - Mesh::~Mesh() { - _subMeshes.clear(); - cleanAndFreeBuffers(); + CC_SAFE_RELEASE(_texture); + CC_SAFE_RELEASE(_skin); + CC_SAFE_RELEASE(_meshIndexData); + CC_SAFE_RELEASE(_glProgramState); +} + +GLuint Mesh::getVertexBuffer() const +{ + return _meshIndexData->getVertexBuffer()->getVBO(); +} + +bool Mesh::hasVertexAttrib(int attrib) const +{ + return _meshIndexData->getMeshVertexData()->hasVertexAttrib(attrib); +} + +ssize_t Mesh::getMeshVertexAttribCount() const +{ + return _meshIndexData->getMeshVertexData()->getMeshVertexAttribCount(); +} + +const MeshVertexAttrib& Mesh::getMeshVertexAttribute(int idx) +{ + return _meshIndexData->getMeshVertexData()->getMeshVertexAttrib(idx); +} + +int Mesh::getVertexSizeInBytes() const +{ + return _meshIndexData->getVertexBuffer()->getSizePerVertex(); } Mesh* Mesh::create(const std::vector& positions, const std::vector& normals, const std::vector& texs, const IndexArray& indices) { - std::vector submeshIndices; - submeshIndices.push_back(indices); - return create(positions, normals, texs, submeshIndices); -} - -Mesh* Mesh::create(const std::vector& positions, const std::vector& normals, const std::vector& texs, const std::vector& indices) -{ - auto mesh = new Mesh(); - if(mesh && mesh->init(positions, normals, texs, indices)) + int perVertexSizeInFloat = 0; + std::vector vertices; + std::vector attribs; + MeshVertexAttrib att; + att.size = 3; + att.type = GL_FLOAT; + att.attribSizeBytes = att.size * sizeof(float); + + if (positions.size()) { - mesh->autorelease(); - return mesh; + perVertexSizeInFloat += 3; + att.vertexAttrib = GLProgram::VERTEX_ATTRIB_POSITION; + attribs.push_back(att); } - CC_SAFE_DELETE(mesh); - return nullptr; -} - -Mesh* Mesh::create(const std::vector& vertices, int vertexSizeInFloat, const IndexArray& indices, const std::vector& attribs) -{ - std::vector submeshIndices; - submeshIndices.push_back(indices); - return create(vertices, vertexSizeInFloat, submeshIndices, attribs); -} - -Mesh* Mesh::create(const std::vector &vertices, int vertexSizeInFloat, const std::vector &indices, const std::vector &attribs) -{ - auto mesh = new Mesh(); - if (mesh && mesh->init(vertices, vertexSizeInFloat, indices, attribs)) + if (normals.size()) { - mesh->autorelease(); - return mesh; + perVertexSizeInFloat += 3; + att.vertexAttrib = GLProgram::VERTEX_ATTRIB_NORMAL; + attribs.push_back(att); } - CC_SAFE_DELETE(mesh); - return nullptr; -} - -bool Mesh::init(const std::vector& positions, const std::vector& normals, const std::vector& texs, const std::vector& indices) -{ - bool bRet = _renderdata.init(positions, normals, texs, indices); - if (!bRet) - return false; - - buildSubMeshes(); - - buildBuffer(); - - calOriginAABB(positions, 3); - - return true; -} - - -bool Mesh::init(const std::vector& vertices, int vertexSizeInFloat, const std::vector& indices, const std::vector& attribs) -{ - bool bRet = _renderdata.init(vertices, vertexSizeInFloat, indices, attribs); - if (!bRet) - return false; - - buildSubMeshes(); - - buildBuffer(); - - unsigned int perVertexSize = _renderdata.calVertexSizeBytes() / sizeof(float); - calOriginAABB(vertices, perVertexSize); - - return true; -} - -void Mesh::buildSubMeshes() -{ - _subMeshes.clear(); - for (auto& it : _renderdata._subMeshIndices) { - auto subMesh = SubMesh::create(PrimitiveType::TRIANGLES, IndexFormat::INDEX16, it); - _subMeshes.pushBack(subMesh); - } -} - -void Mesh::cleanAndFreeBuffers() -{ - if(glIsBuffer(_vertexBuffer)) + if (texs.size()) { - glDeleteBuffers(1, &_vertexBuffer); - _vertexBuffer = 0; + perVertexSizeInFloat += 2; + att.vertexAttrib = GLProgram::VERTEX_ATTRIB_TEX_COORD; + att.size = 2; + att.attribSizeBytes = att.size * sizeof(float); + attribs.push_back(att); } - for (auto& it : _subMeshes) { - (*it).cleanAndFreeBuffers(); - } -} - -void Mesh::calOriginAABB(const std::vector& vertices, unsigned int stride) -{ - ssize_t vertexNum = vertices.size() / stride; - for(unsigned int i = 0; i < vertexNum; i++) + bool hasNormal = (normals.size() != 0); + bool hasTexCoord = (texs.size() != 0); + //position, normal, texCoordinate into _vertexs + size_t vertexNum = positions.size() / 3; + for(size_t i = 0; i < vertexNum; i++) { - Vec3 point = Vec3(vertices[i * stride], vertices[i * stride + 1], vertices[i * stride + 2]); - _originAABB.updateMinMax(&point, 1); - } -} + vertices.push_back(positions[i * 3]); + vertices.push_back(positions[i * 3 + 1]); + vertices.push_back(positions[i * 3 + 2]); -void Mesh::buildBuffer() -{ - cleanAndFreeBuffers(); - - glGenBuffers(1, &_vertexBuffer); - glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer); - - glBufferData(GL_ARRAY_BUFFER, - _renderdata._vertexs.size() * sizeof(_renderdata._vertexs[0]), - &_renderdata._vertexs[0], - GL_STATIC_DRAW); - glBindBuffer(GL_ARRAY_BUFFER, 0); - - for (size_t i = 0; i < _subMeshes.size(); i++) { - _subMeshes.at(i)->buildBuffer(_renderdata._subMeshIndices[i]); - } -} - -void Mesh::restore() -{ - _vertexBuffer = 0; - for (auto& it : _subMeshes) { - it->_indexBuffer = 0; - } - - buildBuffer(); -} - -const AABB& Mesh::getOriginAABB() const -{ - return _originAABB; -} - -/** - * MeshCache - */ -MeshCache* MeshCache::_cacheInstance = nullptr; - -MeshCache* MeshCache::getInstance() -{ - if (_cacheInstance == nullptr) - _cacheInstance = new MeshCache(); - - return _cacheInstance; -} -void MeshCache::destroyInstance() -{ - if (_cacheInstance) - CC_SAFE_DELETE(_cacheInstance); -} - -Mesh* MeshCache::getMesh(const std::string& key) const -{ - auto it = _meshes.find(key); - if (it != _meshes.end()) - return it->second; - - return nullptr; -} - -bool MeshCache::addMesh(const std::string& key, Mesh* mesh) -{ - auto it = _meshes.find(key); - if (it == _meshes.end()) - { - mesh->retain(); - _meshes[key] = mesh; - - return true; - } - return false; -} - -void MeshCache::removeAllMeshes() -{ - for (auto it : _meshes) { - CC_SAFE_RELEASE(it.second); - } - _meshes.clear(); -} - -void MeshCache::removeUnusedMesh() -{ - for( auto it=_meshes.cbegin(); it!=_meshes.cend(); /* nothing */) { - if(it->second->getReferenceCount() == 1) + if (hasNormal) { - it->second->release(); - _meshes.erase(it++); + vertices.push_back(normals[i * 3]); + vertices.push_back(normals[i * 3 + 1]); + vertices.push_back(normals[i * 3 + 2]); + } + + if (hasTexCoord) + { + vertices.push_back(texs[i * 2]); + vertices.push_back(texs[i * 2 + 1]); } - else - ++it; } + return create(vertices, perVertexSizeInFloat, indices, attribs); } -MeshCache::MeshCache() +Mesh* Mesh::create(const std::vector& vertices, int perVertexSizeInFloat, const IndexArray& indices, const std::vector& attribs) { -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - // listen the event that renderer was recreated on Android/WP8 - _rendererRecreatedListener = EventListenerCustom::create(EVENT_RENDERER_RECREATED, CC_CALLBACK_1(MeshCache::listenRendererRecreated, this)); - Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(_rendererRecreatedListener, -1); -#endif -} -MeshCache::~MeshCache() -{ - removeAllMeshes(); -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - Director::getInstance()->getEventDispatcher()->removeEventListener(_rendererRecreatedListener); -#endif + MeshData meshdata; + meshdata.attribs = attribs; + meshdata.vertex = vertices; + meshdata.subMeshIndices.push_back(indices); + meshdata.subMeshIds.push_back(""); + auto meshvertexdata = MeshVertexData::create(meshdata); + auto indexbuffer = IndexBuffer::create(IndexBuffer::IndexType::INDEX_TYPE_SHORT_16, (int)indices.size()); + + AABB aabb = MeshVertexData::calculateAABB(meshdata.vertex, meshdata.getPerVertexSize(), indices); + auto indexData = MeshIndexData::create("", meshvertexdata, indexbuffer, aabb); + + return create("", indexData); } -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) -void MeshCache::listenRendererRecreated(EventCustom* event) +Mesh* Mesh::create(const std::string& name, MeshIndexData* indexData, MeshSkin* skin) { - for (auto iter = _meshes.begin(); iter != _meshes.end(); ++iter) + auto state = new Mesh(); + state->autorelease(); + state->bindMeshCommand(); + state->_name = name; + state->setMeshIndexData(indexData); + state->setSkin(skin); + + return state; +} + +void Mesh::setVisible(bool visible) +{ + if (_visible != visible) { - auto mesh = iter->second; - mesh->restore(); + _visible = visible; + if (_visibleChanged) + _visibleChanged(); } } -#endif + +void Mesh::setTexture(const std::string& texPath) +{ + auto tex = Director::getInstance()->getTextureCache()->addImage(texPath); + setTexture(tex); +} + +void Mesh::setTexture(Texture2D* tex) +{ + if (tex != _texture) + { + CC_SAFE_RETAIN(tex); + CC_SAFE_RELEASE(_texture); + _texture = tex; + bindMeshCommand(); + } +} + +void Mesh::setSkin(MeshSkin* skin) +{ + if (_skin != skin) + { + CC_SAFE_RETAIN(skin); + CC_SAFE_RELEASE(_skin); + _skin = skin; + calcuateAABB(); + } +} + +void Mesh::setMeshIndexData(MeshIndexData* subMesh) +{ + if (_meshIndexData != subMesh) + { + CC_SAFE_RETAIN(subMesh); + CC_SAFE_RELEASE(_meshIndexData); + _meshIndexData = subMesh; + calcuateAABB(); + bindMeshCommand(); + } +} + +void Mesh::setGLProgramState(GLProgramState* glProgramState) +{ + if (_glProgramState != glProgramState) + { + CC_SAFE_RETAIN(glProgramState); + CC_SAFE_RELEASE(_glProgramState); + _glProgramState = glProgramState; + bindMeshCommand(); + } +} + +void Mesh::calcuateAABB() +{ + if (_meshIndexData) + { + _aabb = _meshIndexData->getAABB(); + if (_skin) + { + Bone3D* root = _skin->getRootBone(); + if (root) + { + _aabb.transform(root->getWorldMat()); + } + } + } +} + +void Mesh::bindMeshCommand() +{ + if (_glProgramState && _meshIndexData && _texture) + { + GLuint texID = _texture ? _texture->getName() : 0; + _meshCommand.genMaterialID(texID, _glProgramState, _meshIndexData->getVertexBuffer()->getVBO(), _meshIndexData->getIndexBuffer()->getVBO(), _blend); + _meshCommand.setCullFaceEnabled(true); + _meshCommand.setDepthTestEnabled(true); + } +} + +void Mesh::setBlendFunc(const BlendFunc &blendFunc) +{ + if(_blend.src != blendFunc.src || _blend.dst != blendFunc.dst) + { + _blend = blendFunc; + bindMeshCommand(); + } +} +const BlendFunc &Mesh::getBlendFunc() const +{ + return _blend; +} + +GLenum Mesh::getPrimitiveType() const +{ + return _meshIndexData->getPrimitiveType(); +} + +ssize_t Mesh::getIndexCount() const +{ + return _meshIndexData->getIndexBuffer()->getIndexNumber(); +} + +GLenum Mesh::getIndexFormat() const +{ + return GL_UNSIGNED_SHORT; +} + +GLuint Mesh::getIndexBuffer() const +{ + return _meshIndexData->getIndexBuffer()->getVBO(); +} NS_CC_END diff --git a/cocos/3d/CCMesh.h b/cocos/3d/CCMesh.h index fa16d6c703..5080d74f48 100644 --- a/cocos/3d/CCMesh.h +++ b/cocos/3d/CCMesh.h @@ -29,190 +29,122 @@ #include #include "3d/CCBundle3DData.h" -#include "3d/CCSubMesh.h" +#include "3d/CCAABB.h" +#include "3d/3dExport.h" #include "base/CCRef.h" #include "base/ccTypes.h" -#include "base/CCVector.h" #include "math/CCMath.h" #include "renderer/CCGLProgram.h" - -#include "CCAABB.h" -#include "3d/3dExport.h" - +#include "renderer/CCGLProgramState.h" +#include "renderer/CCMeshCommand.h" NS_CC_BEGIN -class EventListenerCustom; -class EventCustom; - -class CC_3D_DLL RenderMeshData -{ - typedef std::vector IndexArray; - friend class Mesh; -public: - RenderMeshData(): _vertexsizeBytes(0) - { - } - bool hasVertexAttrib(int attrib); - bool init(const std::vector& positions, const std::vector& normals, const std::vector& texs, const std::vector& subMeshIndices); - bool init(const std::vector& vertices, int vertexSizeInFloat, const std::vector& subMeshIndices, const std::vector& attribs); - -protected: - - int calVertexSizeBytes(); - - int _vertexsizeBytes; - ssize_t _vertexNum; - std::vector _vertexs; - std::vector _subMeshIndices; - std::vector _vertexAttribs; -}; - +class Texture2D; +class MeshSkin; +class MeshIndexData; /** - * Mesh: Geometry with a collection of vertex. - * Supporting various vertex formats. + * Mesh: contains ref to index buffer, GLProgramState, texture, skin, blend function, aabb and so on */ class CC_3D_DLL Mesh : public Ref { - typedef std::vector IndexArray; + friend class Sprite3D; public: + typedef std::vector IndexArray; /**create mesh from positions, normals, and so on, sigle SubMesh*/ static Mesh* create(const std::vector& positions, const std::vector& normals, const std::vector& texs, const IndexArray& indices); - - /**create mesh from positions, normals, and so on, multi-SubMesh*/ - static Mesh* create(const std::vector& positions, const std::vector& normals, const std::vector& texs, const std::vector& subMeshIndices); - /**create mesh with vertex attributes*/ - CC_DEPRECATED_ATTRIBUTE static Mesh* create(const std::vector& vertices, int vertexSizeInFloat, const IndexArray& indices, int numIndex, const std::vector& attribs, int attribCount) { return create(vertices, vertexSizeInFloat, indices, attribs); } + CC_DEPRECATED_ATTRIBUTE static Mesh* create(const std::vector& vertices, int perVertexSizeInFloat, const IndexArray& indices, int numIndex, const std::vector& attribs, int attribCount){ return create(vertices, perVertexSizeInFloat, indices, attribs); } - /** - * create Mesh - * @param vertices vertices buffer data - * @param vertexSizeInFloat size of each vertex - * @param indices index buffer data that denotes how to connect the vertex, sigle SubMesh - * @param attribs vertex attributes - */ - static Mesh* create(const std::vector& vertices, int vertexSizeInFloat, const IndexArray& indices, const std::vector& attribs); + static Mesh* create(const std::vector& vertices, int perVertexSizeInFloat, const IndexArray& indices, const std::vector& attribs); + + /** create mesh */ + static Mesh* create(const std::string& name, MeshIndexData* indexData, MeshSkin* skin = nullptr); - /** - * create Mesh - * @param vertices vertices buffer data - * @param vertexSizeInFloat size of each vertex - * @param subMeshIndices index buffer data that denotes how to connect the vertex, multi-SubMesh - * @param attribs vertex attributes - */ - static Mesh* create(const std::vector& vertices, int vertexSizeInFloat, const std::vector& subMeshIndices, const std::vector& attribs); - /**get vertex buffer*/ - inline GLuint getVertexBuffer() const { return _vertexBuffer; } - - /**get mesh vertex attribute count*/ - ssize_t getMeshVertexAttribCount() const { return _renderdata._vertexAttribs.size(); } - /**get MeshVertexAttribute by index*/ - const MeshVertexAttrib& getMeshVertexAttribute(int idx) const { return _renderdata._vertexAttribs[idx]; } + GLuint getVertexBuffer() const; /**has vertex attribute?*/ - bool hasVertexAttrib(int attrib) { return _renderdata.hasVertexAttrib(attrib); } + bool hasVertexAttrib(int attrib) const; + /**get mesh vertex attribute count*/ + ssize_t getMeshVertexAttribCount() const; + /**get MeshVertexAttribute by index*/ + const MeshVertexAttrib& getMeshVertexAttribute(int idx); /**get per vertex size in bytes*/ - int getVertexSizeInBytes() const { return _renderdata._vertexsizeBytes; } + int getVertexSizeInBytes() const; + + /**texture getter and setter*/ + void setTexture(const std::string& texPath); + void setTexture(Texture2D* tex); + Texture2D* getTexture() const { return _texture; } - /**get sub mesh count*/ - ssize_t getSubMeshCount() const { return _subMeshes.size(); } + /**visible getter and setter*/ + void setVisible(bool visible); + bool isVisible() const { return _visible; } - /**get sub mesh by index*/ - SubMesh* getSubMesh(int index) const { return _subMeshes.at(index); } + /**skin getter */ + MeshSkin* getSkin() const { return _skin; } - /**build vertex buffer from renderdata*/ - void restore(); + /**mesh index data getter */ + MeshIndexData* getMeshIndexData() const { return _meshIndexData; } - /** get origin aabb that calculate from vertices*/ - const AABB& getOriginAABB() const; + /**get GLProgramState*/ + GLProgramState* getGLProgramState() const { return _glProgramState; } + + /**name getter */ + const std::string& getName() const { return _name; } + + void setBlendFunc(const BlendFunc &blendFunc); + const BlendFunc &getBlendFunc() const; - /**to be deprecated, those functions have been moved to SubMesh*/ /** get primitive type*/ - CC_DEPRECATED_ATTRIBUTE PrimitiveType getPrimitiveType() const { return _subMeshes.at(0)->getPrimitiveType(); } + GLenum getPrimitiveType() const; /**get index count*/ - CC_DEPRECATED_ATTRIBUTE ssize_t getIndexCount() const { return _subMeshes.at(0)->getIndexCount(); } + ssize_t getIndexCount() const; /**get index format*/ - CC_DEPRECATED_ATTRIBUTE IndexFormat getIndexFormat() const { return _subMeshes.at(0)->getIndexFormat(); } + GLenum getIndexFormat() const; /**get index buffer*/ - CC_DEPRECATED_ATTRIBUTE GLuint getIndexBuffer() const {return _subMeshes.at(0)->getIndexBuffer(); } + GLuint getIndexBuffer() const; + + /**get AABB*/ + const AABB& getAABB() const { return _aabb; } CC_CONSTRUCTOR_ACCESS: Mesh(); virtual ~Mesh(); - /**init mesh*/ - bool init(const std::vector& positions, const std::vector& normals, const std::vector& texs, const std::vector& indices); - /**init mesh*/ - bool init(const std::vector& vertices, int vertexSizeInFloat, const std::vector& indices, const std::vector& attribs); - - /**build sub meshes*/ - void buildSubMeshes(); - /**build buffer*/ - void buildBuffer(); - /**free buffer*/ - void cleanAndFreeBuffers(); + GLProgram* getDefaultGLProgram(bool textured); - /* - * calculate AABB by origin vertices - * @param the vertices list - * @param stride the stride between two vertex's position data. - */ - void calOriginAABB(const std::vector& vertices, unsigned int stride); + void setGLProgramState(GLProgramState* glProgramState); + + MeshCommand& getMeshCommand() { return _meshCommand; } + /**skin setter*/ + void setSkin(MeshSkin* skin); + /**Mesh index data setter*/ + void setMeshIndexData(MeshIndexData* indexdata); + /**name setter*/ + void setName(const std::string& name) { _name = name; } + + void calcuateAABB(); + + void bindMeshCommand(); protected: - GLuint _vertexBuffer; - Vector _subMeshes; - - RenderMeshData _renderdata; + Texture2D* _texture; //texture that submesh is using + MeshSkin* _skin; //skin + bool _visible; // is the submesh visible - AABB _originAABB; -}; - -/** - * Mesh Cache - */ -class MeshCache -{ -public: - /**get & destroy*/ - static MeshCache* getInstance(); - static void destroyInstance(); - - /**get mesh from cache*/ - Mesh* getMesh(const std::string& key) const; - - /**add mesh to cache*/ - bool addMesh(const std::string& key, Mesh* mesh); - - /**remove all meshes*/ - void removeAllMeshes(); - - /**remove unused meshes*/ - void removeUnusedMesh(); - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - void listenRendererRecreated(EventCustom* event); -#endif - -CC_CONSTRUCTOR_ACCESS: - - MeshCache(); - ~MeshCache(); - -protected: - - static MeshCache* _cacheInstance;//instance - - std::unordered_map _meshes; //cached meshes - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - EventListenerCustom* _rendererRecreatedListener; -#endif + //since 3.3 + std::string _name; + MeshIndexData* _meshIndexData; + GLProgramState* _glProgramState; + MeshCommand _meshCommand; + BlendFunc _blend; + AABB _aabb; + std::function _visibleChanged; }; NS_CC_END -#endif // __CCMESH_H_ +#endif // __CCMESH_H__ diff --git a/cocos/3d/CCMeshSkin.cpp b/cocos/3d/CCMeshSkin.cpp index bedf24ede5..bf2ef106ad 100644 --- a/cocos/3d/CCMeshSkin.cpp +++ b/cocos/3d/CCMeshSkin.cpp @@ -37,6 +37,7 @@ static int PALETTE_ROWS = 3; MeshSkin::MeshSkin() : _rootBone(nullptr) , _matrixPalette(nullptr) +, _skeleton(nullptr) { } @@ -47,77 +48,26 @@ MeshSkin::~MeshSkin() CC_SAFE_RELEASE(_skeleton); } -MeshSkin* MeshSkin::create(Skeleton3D* skeleton, const std::string& filename, const std::string& name) +MeshSkin* MeshSkin::create(Skeleton3D* skeleton, const std::vector& boneNames, const std::vector& invBindPose) { - //load skin here; - std::string fullPath = FileUtils::getInstance()->fullPathForFilename(filename); - std::string key = fullPath + "#" + name; - const auto skindata = MeshSkinDataCache::getInstance()->getMeshSkinData(key); - if (skindata) - { - auto skin = new MeshSkin(); - skin->_skeleton = skeleton; - skeleton->retain(); - skin->initFromSkinData(*skindata); - skin->autorelease(); - return skin; - } - else - { - auto instance = Bundle3D::getInstance(); - bool ret = instance->load(fullPath); - if (ret) - { - SkinData data; - if (instance->loadSkinData(name, &data)) - { - auto skin = new MeshSkin(); - skin->_skeleton = skeleton; - skeleton->retain(); - skin->initFromSkinData(data); - skin->autorelease(); - MeshSkinDataCache::getInstance()->addMeshSkinData(key, data); - return skin; - } - } - } + auto skin = new MeshSkin(); + skin->_skeleton = skeleton; + skeleton->retain(); - return nullptr; -} - -bool MeshSkin::initFromSkinData(const SkinData& skindata) -{ - ssize_t i = 0; - for (; i < skindata.skinBoneNames.size(); i++) { - auto bone = Bone3D::create(skindata.skinBoneNames[i]); - bone->_invBindPose = skindata.inverseBindPoseMatrices[i]; - bone->setOriPose(skindata.skinBoneOriginMatrices[i]); - _invBindPoses.push_back(skindata.inverseBindPoseMatrices[i]); - addSkinBone(bone); - } - for (i = 0; i < skindata.nodeBoneNames.size(); i++) { - auto bone = Bone3D::create(skindata.nodeBoneNames[i]); - bone->setOriPose(skindata.nodeBoneOriginMatrices[i]); - addNodeBone(bone); - } - for (auto it : skindata.boneChild) { - auto parent = getBoneByIndex(it.first); - for (auto childIt : it.second) { - auto child = getBoneByIndex(childIt); - child->_parent = parent; - parent->_children.pushBack(child); - } + CCASSERT(boneNames.size() == invBindPose.size(), "bone names' num should equals to invBindPose's num"); + for (const auto& it : boneNames) { + auto bone = skeleton->getBoneByName(it); + skin->addSkinBone(bone); } + skin->_invBindPoses = invBindPose; + skin->autorelease(); - setRootBone(getBoneByIndex(skindata.rootBoneIndex)); - _rootBone->resetPose(); - - return true; + return skin; } ssize_t MeshSkin::getBoneCount() const { - return _skinBones.size() + _nodeBones.size(); + return _skinBones.size(); } //get bone @@ -125,9 +75,6 @@ Bone3D* MeshSkin::getBoneByIndex(unsigned int index) const { if (index < _skinBones.size()) return _skinBones.at(index); - index -= _skinBones.size(); - if (index < _nodeBones.size()) - return _nodeBones.at(index); return nullptr; } @@ -138,25 +85,9 @@ Bone3D* MeshSkin::getBoneByName(const std::string& id) const if (it->getName() == id) return it; } - //search from node bones - for (const auto& it : _nodeBones) { - if (it->getName() == id ) - return it; - } return nullptr; } -Bone3D* MeshSkin::getRootBone() const -{ - return _rootBone; -} -void MeshSkin::setRootBone(Bone3D* joint) -{ - CC_SAFE_RETAIN(joint); - CC_SAFE_RELEASE(_rootBone); - _rootBone = joint; -} - int MeshSkin::getBoneIndex(Bone3D* bone) const { int i = 0; @@ -164,19 +95,13 @@ int MeshSkin::getBoneIndex(Bone3D* bone) const if (_skinBones.at(i) == bone) return i; } - int index = 0; - for (; index < _nodeBones.size(); index++, i++) { - if (_nodeBones.at(index) == bone) - return i; - } + return -1; } //compute matrix palette used by gpu skin Vec4* MeshSkin::getMatrixPalette() { - updateBoneMatrix(); - if (_matrixPalette == nullptr) { _matrixPalette = new Vec4[_skinBones.size() * PALETTE_ROWS]; @@ -199,17 +124,9 @@ ssize_t MeshSkin::getMatrixPaletteSize() const return _skinBones.size() * PALETTE_ROWS; } -//refresh bone world matrix -void MeshSkin::updateBoneMatrix() -{ - _rootBone->setWorldMatDirty(true); - _rootBone->updateWorldMat(); -} - void MeshSkin::removeAllBones() { _skinBones.clear(); - _nodeBones.clear(); CC_SAFE_DELETE_ARRAY(_matrixPalette); CC_SAFE_RELEASE(_rootBone); } @@ -219,59 +136,17 @@ void MeshSkin::addSkinBone(Bone3D* bone) _skinBones.pushBack(bone); } -void MeshSkin::addNodeBone(Bone3D* bone) +Bone3D* MeshSkin::getRootBone() const { - _nodeBones.pushBack(bone); -} - -//////////////////////////////////////////////////////////////////////// -MeshSkinDataCache* MeshSkinDataCache::_cacheInstance = nullptr; - -MeshSkinDataCache* MeshSkinDataCache::getInstance() -{ - if (_cacheInstance == nullptr) - _cacheInstance = new MeshSkinDataCache(); - return _cacheInstance; -} -void MeshSkinDataCache::destroyInstance() -{ - if (_cacheInstance) + Bone3D* root = nullptr; + if (_skinBones.size()) { - CC_SAFE_DELETE(_cacheInstance); + root = _skinBones.at(0); + while (root->getParentBone()) { + root = root->getParentBone(); + } } -} - -const SkinData* MeshSkinDataCache::getMeshSkinData(const std::string& key) const -{ - auto it = _skinDatas.find(key); - if (it != _skinDatas.end()) - return &it->second; - - return nullptr; -} - -bool MeshSkinDataCache::addMeshSkinData(const std::string& key, const SkinData& skin) -{ - if (_skinDatas.find(key) != _skinDatas.end()) - return false; // already have this key - - _skinDatas[key] = skin; - - return true; -} - -void MeshSkinDataCache::removeAllMeshSkinData() -{ - _skinDatas.clear(); -} - -MeshSkinDataCache::MeshSkinDataCache() -{ - -} -MeshSkinDataCache::~MeshSkinDataCache() -{ - + return root; } NS_CC_END diff --git a/cocos/3d/CCMeshSkin.h b/cocos/3d/CCMeshSkin.h index 20910ece02..6442c3401a 100644 --- a/cocos/3d/CCMeshSkin.h +++ b/cocos/3d/CCMeshSkin.h @@ -53,6 +53,8 @@ public: /**create a new meshskin if do not want to share meshskin*/ static MeshSkin* create(Skeleton3D* skeleton, const std::string& filename, const std::string& name); + static MeshSkin* create(Skeleton3D* skeleton, const std::vector& boneNames, const std::vector& invBindPose); + /**get total bone count, skin bone + node bone*/ ssize_t getBoneCount() const; @@ -60,10 +62,6 @@ public: Bone3D* getBoneByIndex(unsigned int index) const; Bone3D* getBoneByName(const std::string& id) const; - /**get & set root bone*/ - Bone3D* getRootBone() const; - void setRootBone(Bone3D* bone); - /**get bone index*/ int getBoneIndex(Bone3D* bone) const; @@ -73,8 +71,8 @@ public: /**getSkinBoneCount() * 3*/ ssize_t getMatrixPaletteSize() const; - /**refresh bone world matrix*/ - void updateBoneMatrix(); + /**get root bone of the skin*/ + Bone3D* getRootBone() const; CC_CONSTRUCTOR_ACCESS: @@ -82,23 +80,16 @@ CC_CONSTRUCTOR_ACCESS: ~MeshSkin(); - /**init from skin data*/ - bool initFromSkinData(const SkinData& skindata); - /**remove all bones*/ void removeAllBones(); /**add skin bone*/ void addSkinBone(Bone3D* bone); - /**add Node bone*/ - void addNodeBone(Bone3D* bone); - protected: Vector _skinBones; // bones with skin std::vector _invBindPoses; //inverse bind pose of bone - Vector _nodeBones; //bones without skin, only used to compute transform of children Bone3D* _rootBone; Skeleton3D* _skeleton; //skeleton the skin refered @@ -110,34 +101,6 @@ protected: Vec4* _matrixPalette; }; -/** - * MeshSkinData Cache - */ -class MeshSkinDataCache -{ -public: - /**get & destroy*/ - static MeshSkinDataCache* getInstance(); - static void destroyInstance(); - - /**get mesh skin data from cache*/ - const SkinData* getMeshSkinData(const std::string& key) const; - - /**add mesh skin data to cache*/ - bool addMeshSkinData(const std::string& key, const SkinData& skinData); - - /**remove all mesh skin data*/ - void removeAllMeshSkinData(); - -protected: - MeshSkinDataCache(); - ~MeshSkinDataCache(); - - static MeshSkinDataCache* _cacheInstance; // instance - - std::unordered_map _skinDatas; //cached skindatas -}; - NS_CC_END #endif // __CCSKIN_H__ diff --git a/cocos/3d/CCMeshVertexIndexData.cpp b/cocos/3d/CCMeshVertexIndexData.cpp new file mode 100644 index 0000000000..5d5621a10d --- /dev/null +++ b/cocos/3d/CCMeshVertexIndexData.cpp @@ -0,0 +1,168 @@ +/**************************************************************************** + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include +#include +#include +#include + +#include "3d/CCMeshVertexIndexData.h" +#include "3d/CCObjLoader.h" +#include "3d/CCSprite3DMaterial.h" +#include "3d/CCMesh.h" + +#include "base/ccMacros.h" +#include "base/CCEventCustom.h" +#include "base/CCEventListenerCustom.h" +#include "base/CCEventDispatcher.h" +#include "base/CCEventType.h" +#include "base/CCDirector.h" +#include "renderer/ccGLStateCache.h" + + +using namespace std; + +NS_CC_BEGIN + + +///////////////////////////////////////////////////////////////////////////////////////////////////////////// +MeshIndexData* MeshIndexData::create(const std::string& id, MeshVertexData* vertexData, IndexBuffer* indexbuffer, const AABB& aabb) +{ + auto meshindex = new MeshIndexData(); + + meshindex->_id = id; + meshindex->_indexBuffer = indexbuffer; + meshindex->_vertexData = vertexData; + indexbuffer->retain(); + vertexData->retain(); + meshindex->_aabb = aabb; + + meshindex->autorelease(); + return meshindex; +} + +const VertexBuffer* MeshIndexData::getVertexBuffer() const +{ + return _vertexData->getVertexBuffer(); +} + +MeshIndexData::MeshIndexData() +: _indexBuffer(nullptr) +, _vertexData(nullptr) +, _primitiveType(GL_TRIANGLES) +{ + +} +MeshIndexData::~MeshIndexData() +{ + CC_SAFE_RELEASE(_indexBuffer); + CC_SAFE_RELEASE(_vertexData); +} + +MeshVertexData* MeshVertexData::create(const MeshData& meshdata) +{ + auto vertexdata = new MeshVertexData(); + int pervertexsize = meshdata.getPerVertexSize(); + vertexdata->_vertexBuffer = VertexBuffer::create(pervertexsize, (int)(meshdata.vertex.size() / (pervertexsize / 4))); + vertexdata->_vertexData = VertexData::create(); + CC_SAFE_RETAIN(vertexdata->_vertexData); + CC_SAFE_RETAIN(vertexdata->_vertexBuffer); + + int offset = 0; + for (const auto& it : meshdata.attribs) { + vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offset, it.vertexAttrib, it.type, it.size)); + offset += it.attribSizeBytes; + } + vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(0, GLProgram::VERTEX_ATTRIB_POSITION, GL_FLOAT, 3)); + vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offsetof(V3F_C4B_T2F, colors), GLProgram::VERTEX_ATTRIB_COLOR, GL_UNSIGNED_BYTE, 4, true)); + vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offsetof(V3F_C4B_T2F, texCoords), GLProgram::VERTEX_ATTRIB_TEX_COORD, GL_FLOAT, 2)); + + vertexdata->_attribs = meshdata.attribs; + + if(vertexdata->_vertexBuffer) + { + vertexdata->_vertexBuffer->updateVertices((void*)&meshdata.vertex[0], (int)meshdata.vertex.size() * 4, 0); + } + + AABB aabb; + for (size_t i = 0; i < meshdata.subMeshIndices.size(); i++) { + + auto& index = meshdata.subMeshIndices[i]; + auto indexBuffer = IndexBuffer::create(IndexBuffer::IndexType::INDEX_TYPE_SHORT_16, (int)(index.size())); + indexBuffer->updateIndices(&index[0], (int)index.size(), 0); + aabb = MeshVertexData::calculateAABB(meshdata.vertex, meshdata.getPerVertexSize(), index); + std::string id = (i < meshdata.subMeshIds.size() ? meshdata.subMeshIds[i] : ""); + MeshIndexData* indexdata = MeshIndexData::create(id, vertexdata, indexBuffer, aabb); + vertexdata->_indexs.pushBack(indexdata); + } + + vertexdata->autorelease(); + return vertexdata; +} + +const AABB& MeshVertexData::calculateAABB(const std::vector& vertex, int stride, const std::vector& index) +{ + static AABB aabb; + stride /= 4; + for(const auto& it : index) + { + Vec3 point = Vec3(vertex[it * stride ], vertex[ it * stride + 1], vertex[it * stride + 2 ]); + aabb.updateMinMax(&point, 1); + } + return aabb; +} + +MeshIndexData* MeshVertexData::getMeshIndexDataById(const std::string& id) const +{ + for (auto it : _indexs) { + if (it->getId() == id) + return it; + } + return nullptr; +} + +bool MeshVertexData::hasVertexAttrib(int attrib) const +{ + for (const auto& it : _attribs) { + if (it.vertexAttrib == attrib) + return true; + } + return false; +} + +MeshVertexData::MeshVertexData() +: _vertexData(nullptr) +, _vertexBuffer(nullptr) +, _vertexCount(0) +{ + +} +MeshVertexData::~MeshVertexData() +{ + CC_SAFE_RELEASE(_vertexData); + CC_SAFE_RELEASE(_vertexBuffer); + _indexs.clear(); +} + +NS_CC_END diff --git a/cocos/3d/CCMeshVertexIndexData.h b/cocos/3d/CCMeshVertexIndexData.h new file mode 100644 index 0000000000..677ec709cb --- /dev/null +++ b/cocos/3d/CCMeshVertexIndexData.h @@ -0,0 +1,130 @@ +/**************************************************************************** + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __CCMESHVERTEXINDEXDATA_H__ +#define __CCMESHVERTEXINDEXDATA_H__ + +#include +#include + +#include "3d/CCBundle3DData.h" +#include "3d/CCAABB.h" + +#include "base/CCRef.h" +#include "base/ccTypes.h" +#include "math/CCMath.h" +#include "renderer/CCGLProgram.h" +#include "renderer/CCVertexIndexData.h" +#include "renderer/CCVertexIndexBuffer.h" +#include "3d/3dExport.h" + +NS_CC_BEGIN + +class MeshVertexData; + +class MeshIndexData : public Ref +{ +public: + /** create */ + static MeshIndexData* create(const std::string& id, MeshVertexData* vertexData, IndexBuffer* indexbuffer, const AABB& aabb); + + /**get index buffer*/ + const IndexBuffer* getIndexBuffer() const { return _indexBuffer; } + /**get vertex buffer*/ + const VertexBuffer* getVertexBuffer() const; + + /**get vertex data*/ + const MeshVertexData* getMeshVertexData() const { return _vertexData; } + + /** aabb getter and setter */ + void setAABB(const AABB& aabb) { _aabb = aabb; } + const AABB& getAABB() const { return _aabb; } + + /** id setter and getter */ + void setId(const std::string& id) { _id = id; } + const std::string& getId() const { return _id; } + + /**primitive type setter & getter*/ + GLenum getPrimitiveType() const { return _primitiveType; } + void setPrimitiveType(GLenum primitive) { _primitiveType = primitive; } + +CC_CONSTRUCTOR_ACCESS: + MeshIndexData(); + virtual ~MeshIndexData(); + +protected: + IndexBuffer* _indexBuffer; //index buffer + MeshVertexData* _vertexData; //vertex buffer + AABB _aabb; // original aabb of the submesh + std::string _id; //id + GLenum _primitiveType; + + friend class MeshVertexData; + friend class Sprite3D; +}; + +class MeshVertexData : public Ref +{ + friend class Sprite3D; + friend class Mesh; +public: + /**create*/ + static MeshVertexData* create(const MeshData& meshdata); + + /** get vertexbuffer */ + const VertexBuffer* getVertexBuffer() const { return _vertexBuffer; } + + /** get attributes count */ + ssize_t getMeshVertexAttribCount() const { return _attribs.size(); } + + /** get attribute by index */ + const MeshVertexAttrib& getMeshVertexAttrib(ssize_t index) const { return _attribs[index]; } + + /** get index data count */ + ssize_t getMeshIndexDataCount() const { return _indexs.size(); } + /** get index data by index */ + MeshIndexData* getMeshIndexDataByIndex(int index) const { return _indexs.at(index); } + /** get index data by id */ + MeshIndexData* getMeshIndexDataById(const std::string& id) const; + + /**has vertex attribute?*/ + bool hasVertexAttrib(int attrib) const; + +CC_CONSTRUCTOR_ACCESS: + MeshVertexData(); + virtual ~MeshVertexData(); + + static const AABB& calculateAABB(const std::vector& vertex, int stride, const std::vector& index); +protected: + VertexData* _vertexData; //mesh vertex data + VertexBuffer* _vertexBuffer; // vertex buffer + Vector _indexs; //index data + std::vector _attribs; //vertex attributes + + int _vertexCount; //vertex count +}; + +NS_CC_END + +#endif // __CCMESHVERTEXINDEXDATA_H__ diff --git a/cocos/3d/CCSkeleton3D.cpp b/cocos/3d/CCSkeleton3D.cpp index 57d6ea3c4a..76a40eb7a0 100644 --- a/cocos/3d/CCSkeleton3D.cpp +++ b/cocos/3d/CCSkeleton3D.cpp @@ -249,7 +249,6 @@ void Bone3D::updateLocalMat() //////////////////////////////////////////////////////////////////////////////////////////////////////////////// Skeleton3D::Skeleton3D() -: _rootBone(nullptr) { } @@ -259,64 +258,16 @@ Skeleton3D::~Skeleton3D() removeAllBones(); } -//create a new meshskin if do not want to share meshskin -Skeleton3D* Skeleton3D::create(const std::string& filename, const std::string& name) +Skeleton3D* Skeleton3D::create(const std::vector& skeletondata) { - //load skin here; - std::string fullPath = FileUtils::getInstance()->fullPathForFilename(filename); - std::string key(fullPath + "#" + name); - const auto skeletondata = Skeleton3DDataCache::getInstance()->getSkeletonData(key); - if (skeletondata) - { - auto skeleton = new Skeleton3D(); - skeleton->initFromSkeletonData(*skeletondata); - skeleton->autorelease(); - return skeleton; + auto skeleton = new Skeleton3D(); + for (const auto& it : skeletondata) { + auto bone = skeleton->createBone3D(*it); + bone->resetPose(); + skeleton->_rootBones.pushBack(bone); } - else - { - auto instance = Bundle3D::getInstance(); - bool ret = instance->load(fullPath); - if (ret) - { - Skeleton3DData data; - if (instance->loadSkeletonData(name, &data)) - { - auto skeleton = new Skeleton3D(); - skeleton->initFromSkeletonData(data); - skeleton->autorelease(); - Skeleton3DDataCache::getInstance()->addSkeletonData(key, data); - return skeleton; - } - } - } - - return nullptr; -} - -bool Skeleton3D::initFromSkeletonData(const Skeleton3DData& skeletondata) -{ - ssize_t i = 0; - for (; i < skeletondata.boneNames.size(); i++) { - auto bone = Bone3D::create(skeletondata.boneNames[i]); - bone->setOriPose(skeletondata.boneOriginMatrices[i]); - addBone(bone); - } - - for (auto it : skeletondata.boneChild) { - auto parent = getBoneByIndex(it.first); - for (auto childIt : it.second) { - auto child = getBoneByIndex(childIt); - child->_parent = parent; - parent->_children.pushBack(child); - } - } - - setRootBone(getBoneByIndex(skeletondata.rootBoneIndex)); - if (_rootBone) - _rootBone->resetPose(); - - return true; + skeleton->autorelease(); + return skeleton; } ssize_t Skeleton3D::getBoneCount() const @@ -343,15 +294,14 @@ Bone3D* Skeleton3D::getBoneByName(const std::string& id) const return nullptr; } -Bone3D* Skeleton3D::getRootBone() const +ssize_t Skeleton3D::getRootCount() const { - return _rootBone; + return _rootBones.size(); } -void Skeleton3D::setRootBone(Bone3D* joint) + +Bone3D* Skeleton3D::getRootBone(int index) const { - CC_SAFE_RETAIN(joint); - CC_SAFE_RELEASE(_rootBone); - _rootBone = joint; + return _rootBones.at(index); } int Skeleton3D::getBoneIndex(Bone3D* bone) const @@ -368,14 +318,16 @@ int Skeleton3D::getBoneIndex(Bone3D* bone) const //refresh bone world matrix void Skeleton3D::updateBoneMatrix() { - _rootBone->setWorldMatDirty(true); - _rootBone->updateWorldMat(); + for (const auto& it : _rootBones) { + it->setWorldMatDirty(true); + it->updateWorldMat(); + } } void Skeleton3D::removeAllBones() { _bones.clear(); - CC_SAFE_RELEASE(_rootBone); + _rootBones.clear(); } void Skeleton3D::addBone(Bone3D* bone) @@ -383,54 +335,17 @@ void Skeleton3D::addBone(Bone3D* bone) _bones.pushBack(bone); } -//////////////////////////////////////////////////////////////////////// -Skeleton3DDataCache* Skeleton3DDataCache::_cacheInstance = nullptr; - -Skeleton3DDataCache* Skeleton3DDataCache::getInstance() +Bone3D* Skeleton3D::createBone3D(const NodeData& nodedata) { - if (_cacheInstance == nullptr) - _cacheInstance = new Skeleton3DDataCache(); - return _cacheInstance; -} -void Skeleton3DDataCache::destroyInstance() -{ - if (_cacheInstance) - { - CC_SAFE_DELETE(_cacheInstance); + auto bone = Bone3D::create(nodedata.id); + for (const auto& it : nodedata.children) { + auto child = createBone3D(*it); + bone->addChildBone(child); + child->_parent = bone; } -} - -const Skeleton3DData* Skeleton3DDataCache::getSkeletonData(const std::string& key) const -{ - auto it = _skeletonDatas.find(key); - if (it != _skeletonDatas.end()) - return &it->second; - - return nullptr; -} - -bool Skeleton3DDataCache::addSkeletonData(const std::string& key, const Skeleton3DData& data) -{ - if (_skeletonDatas.find(key) != _skeletonDatas.end()) - return false; // already have this key - - _skeletonDatas[key] = data; - - return true; -} - -void Skeleton3DDataCache::removeAllSkeletonData() -{ - _skeletonDatas.clear(); -} - -Skeleton3DDataCache::Skeleton3DDataCache() -{ - -} -Skeleton3DDataCache::~Skeleton3DDataCache() -{ - + _bones.pushBack(bone); + bone->_oriPose = nodedata.transform; + return bone; } NS_CC_END diff --git a/cocos/3d/CCSkeleton3D.h b/cocos/3d/CCSkeleton3D.h index d6c431c22f..aadd977967 100644 --- a/cocos/3d/CCSkeleton3D.h +++ b/cocos/3d/CCSkeleton3D.h @@ -188,8 +188,7 @@ class CC_3D_DLL Skeleton3D: public Ref { public: - /**create a new meshskin if do not want to share Skeleton3D*/ - static Skeleton3D* create(const std::string& filename, const std::string& name); + static Skeleton3D* create(const std::vector& skeletondata); /**get total bone count*/ ssize_t getBoneCount() const; @@ -199,8 +198,8 @@ public: Bone3D* getBoneByName(const std::string& id) const; /**get & set root bone*/ - Bone3D* getRootBone() const; - void setRootBone(Bone3D* bone); + ssize_t getRootCount() const; + Bone3D* getRootBone(int index) const; /**get bone index*/ int getBoneIndex(Bone3D* bone) const; @@ -214,48 +213,20 @@ CC_CONSTRUCTOR_ACCESS: ~Skeleton3D(); - /**init from skeleton data*/ - bool initFromSkeletonData(const Skeleton3DData& skeletondata); - /**remove all bones*/ void removeAllBones(); /**add bone*/ void addBone(Bone3D* bone); + /** create Bone3D from NodeData */ + Bone3D* createBone3D(const NodeData& nodedata); + protected: Vector _bones; // bones - Bone3D* _rootBone; -}; - -/** - * Skeleton3DData Cache - */ -class Skeleton3DDataCache -{ -public: - /**get & destroy*/ - static Skeleton3DDataCache* getInstance(); - static void destroyInstance(); - - /**get mesh skin data from cache*/ - const Skeleton3DData* getSkeletonData(const std::string& key) const; - - /**add skeleton data to cache*/ - bool addSkeletonData(const std::string& key, const Skeleton3DData& skeletonData); - - /**remove all skeleton data*/ - void removeAllSkeletonData(); - -CC_CONSTRUCTOR_ACCESS: - Skeleton3DDataCache(); - ~Skeleton3DDataCache(); - - static Skeleton3DDataCache* _cacheInstance; // instance - - std::unordered_map _skeletonDatas; //cached skeleton datas + Vector _rootBones; }; NS_CC_END diff --git a/cocos/3d/CCSprite3D.cpp b/cocos/3d/CCSprite3D.cpp index 5e81c75532..5de394fac0 100644 --- a/cocos/3d/CCSprite3D.cpp +++ b/cocos/3d/CCSprite3D.cpp @@ -23,14 +23,11 @@ ****************************************************************************/ #include "3d/CCSprite3D.h" -#include "3d/CCMesh.h" #include "3d/CCObjLoader.h" #include "3d/CCMeshSkin.h" #include "3d/CCBundle3D.h" #include "3d/CCSprite3DMaterial.h" -#include "3d/CCSubMesh.h" #include "3d/CCAttachNode.h" -#include "3d/CCSubMeshState.h" #include "3d/CCSkeleton3D.h" #include "base/CCDirector.h" @@ -46,7 +43,7 @@ NS_CC_BEGIN -std::string s_attributeNames[] = {GLProgram::ATTRIBUTE_NAME_POSITION, GLProgram::ATTRIBUTE_NAME_COLOR, GLProgram::ATTRIBUTE_NAME_TEX_COORD, GLProgram::ATTRIBUTE_NAME_NORMAL, GLProgram::ATTRIBUTE_NAME_BLEND_WEIGHT, GLProgram::ATTRIBUTE_NAME_BLEND_INDEX}; +std::string s_attributeNames[] = {GLProgram::ATTRIBUTE_NAME_POSITION, GLProgram::ATTRIBUTE_NAME_COLOR, GLProgram::ATTRIBUTE_NAME_TEX_COORD, GLProgram::ATTRIBUTE_NAME_TEX_COORD1, GLProgram::ATTRIBUTE_NAME_TEX_COORD2,GLProgram::ATTRIBUTE_NAME_TEX_COORD3,GLProgram::ATTRIBUTE_NAME_TEX_COORD4,GLProgram::ATTRIBUTE_NAME_TEX_COORD5,GLProgram::ATTRIBUTE_NAME_TEX_COORD6,GLProgram::ATTRIBUTE_NAME_TEX_COORD7,GLProgram::ATTRIBUTE_NAME_NORMAL, GLProgram::ATTRIBUTE_NAME_BLEND_WEIGHT, GLProgram::ATTRIBUTE_NAME_BLEND_INDEX}; Sprite3D* Sprite3D::create(const std::string &modelPath) { @@ -62,7 +59,6 @@ Sprite3D* Sprite3D::create(const std::string &modelPath) CC_SAFE_DELETE(sprite); return nullptr; } - Sprite3D* Sprite3D::create(const std::string &modelPath, const std::string &texturePath) { auto sprite = create(modelPath); @@ -76,33 +72,24 @@ Sprite3D* Sprite3D::create(const std::string &modelPath, const std::string &text bool Sprite3D::loadFromCache(const std::string& path) { - std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path); - - //find from the cache - std::string key = fullPath + "#"; - auto mesh = MeshCache::getInstance()->getMesh(key); - if (mesh) + auto spritedata = Sprite3DCache::getInstance()->getSpriteData(path); + if (spritedata) { - _mesh = mesh; - _mesh->retain(); + for (auto it : spritedata->meshVertexDatas) { + _meshVertexDatas.pushBack(it); + } + _skeleton = Skeleton3D::create(spritedata->nodedatas->skeleton); + CC_SAFE_RETAIN(_skeleton); - char str[20]; - for (int i = 0; i < (int)_mesh->getSubMeshCount(); i++) { - sprintf(str, "submesh%d", i); - std::string submeshkey = key + std::string(str); - auto tex = Sprite3DMaterialCache::getInstance()->getSprite3DMaterial(submeshkey); - auto submeshstate = SubMeshState::create(); - submeshstate->setTexture(tex); - _subMeshStates.pushBack(submeshstate); + for(const auto& it : spritedata->nodedatas->nodes) + { + if(it) + { + createNode(it, this, *(spritedata->materialdatas), spritedata->nodedatas->nodes.size() == 1); + } } - _skeleton = Skeleton3D::create(fullPath, ""); - CC_SAFE_RETAIN(_skeleton); - _skin = MeshSkin::create(_skeleton, fullPath, ""); - CC_SAFE_RETAIN(_skin); - genGLProgramState(); - return true; } @@ -113,114 +100,79 @@ bool Sprite3D::loadFromCache(const std::string& path) bool Sprite3D::loadFromObj(const std::string& path) { std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path); - std::string key = fullPath + "#"; - //.mtl file directory - std::string dir = ""; - auto last = fullPath.rfind("/"); - if (last != -1) - dir = fullPath.substr(0, last + 1); - - ObjLoader::shapes_t shapes; - std::string errstr = ObjLoader::LoadObj(shapes, fullPath.c_str(), dir.c_str()); - if (!errstr.empty()) - return false; - - //convert to mesh and material - std::vector > submeshIndices; - std::vector matnames; - std::string texname; - for (auto it = shapes.shapes.begin(); it != shapes.shapes.end(); it++) + MeshDatas meshdatas; + MaterialDatas* materialdatas = new MaterialDatas(); + NodeDatas* nodeDatas = new NodeDatas(); + bool ret = Bundle3D::loadObj(meshdatas, *materialdatas, *nodeDatas, fullPath); + if (ret && initFrom(*nodeDatas, meshdatas, *materialdatas)) { - submeshIndices.push_back((*it).mesh.indices); - - texname = (*it).material.diffuse_texname; - if (!texname.empty()) - texname = dir + (*it).material.diffuse_texname; - matnames.push_back(texname); + //add to cache + auto data = new Sprite3DCache::Sprite3DData(); + data->materialdatas = materialdatas; + data->nodedatas = nodeDatas; + data->meshVertexDatas = _meshVertexDatas; + Sprite3DCache::getInstance()->addSprite3DData(path, data); + return true; } - _mesh = Mesh::create(shapes.positions, shapes.normals, shapes.texcoords, submeshIndices); - _mesh->retain(); - if (_mesh == nullptr) - return false; - //add mesh to cache - MeshCache::getInstance()->addMesh(key, _mesh); + delete materialdatas; + delete nodeDatas; - genMaterials(key, matnames); - - genGLProgramState(); - - return true; + return false; } - bool Sprite3D::loadFromC3x(const std::string& path) { std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path); - std::string key = fullPath + "#"; - + //load from .c3b or .c3t auto bundle = Bundle3D::getInstance(); if (!bundle->load(fullPath)) return false; - MeshData meshdata; - bool ret = bundle->loadMeshData("", &meshdata); - if (!ret) + MeshDatas meshdatas; + MaterialDatas* materialdatas = new MaterialDatas(); + NodeDatas* nodeDatas = new NodeDatas(); + if (bundle->loadMeshDatas(meshdatas) + && bundle->loadMaterials(*materialdatas) + && bundle->loadNodes(*nodeDatas) + && initFrom(*nodeDatas, meshdatas, *materialdatas)) { - return false; + //add to cache + auto data = new Sprite3DCache::Sprite3DData(); + data->materialdatas = materialdatas; + data->nodedatas = nodeDatas; + data->meshVertexDatas = _meshVertexDatas; + Sprite3DCache::getInstance()->addSprite3DData(path, data); + return true; } - _mesh = Mesh::create(meshdata.vertex, meshdata.vertexSizeInFloat, meshdata.subMeshIndices, meshdata.attribs); - - CC_SAFE_RETAIN(_mesh); - //add mesh to cache - MeshCache::getInstance()->addMesh(key, _mesh); - _skeleton = Skeleton3D::create(fullPath, ""); - CC_SAFE_RETAIN(_skeleton); - _skin = MeshSkin::create(_skeleton, fullPath, ""); - CC_SAFE_RETAIN(_skin); + delete materialdatas; + delete nodeDatas; - MaterialData materialdata; - ret = bundle->loadMaterialData("", &materialdata); - if (ret) - { - std::vector texpaths; - texpaths.resize(_mesh->getSubMeshCount(), ""); - for (auto& it : materialdata.texturePaths) - { - texpaths[it.first] = it.second; - } - genMaterials(key, texpaths); - } - - genGLProgramState(); - - return true; + return false; } Sprite3D::Sprite3D() -: _mesh(nullptr) -, _skin(nullptr) -, _skeleton(nullptr) +: _skeleton(nullptr) , _blend(BlendFunc::ALPHA_NON_PREMULTIPLIED) +, _aabbDirty(true) { } Sprite3D::~Sprite3D() { - _subMeshStates.clear(); - CC_SAFE_RELEASE_NULL(_mesh); - CC_SAFE_RELEASE_NULL(_skin); + _meshes.clear(); + _meshVertexDatas.clear(); CC_SAFE_RELEASE_NULL(_skeleton); removeAllAttachNode(); } bool Sprite3D::initWithFile(const std::string &path) { - _subMeshStates.clear(); - CC_SAFE_RELEASE_NULL(_mesh); - CC_SAFE_RELEASE_NULL(_skin); + _meshes.clear(); + _meshVertexDatas.clear(); CC_SAFE_RELEASE_NULL(_skeleton); + removeAllAttachNode(); if (loadFromCache(path)) return true; @@ -241,69 +193,240 @@ bool Sprite3D::initWithFile(const std::string &path) return false; } +bool Sprite3D::initFrom(const NodeDatas& nodeDatas, const MeshDatas& meshdatas, const MaterialDatas& materialdatas) +{ + for(const auto& it : meshdatas.meshDatas) + { + if(it) + { +// Mesh* mesh = Mesh::create(*it); +// _meshes.pushBack(mesh); + auto meshvertex = MeshVertexData::create(*it); + _meshVertexDatas.pushBack(meshvertex); + } + } + _skeleton = Skeleton3D::create(nodeDatas.skeleton); + CC_SAFE_RETAIN(_skeleton); + + for(const auto& it : nodeDatas.nodes) + { + if(it) + { + createNode(it, this, materialdatas, nodeDatas.nodes.size() == 1); + } + } + for(const auto& it : nodeDatas.skeleton) + { + if(it) + { + createAttachSprite3DNode(it,materialdatas); + } + } + genGLProgramState(); + + return true; +} +Sprite3D* Sprite3D::createSprite3DNode(NodeData* nodedata,ModelData* modeldata,const MaterialDatas& matrialdatas) +{ + auto sprite = new Sprite3D(); + if (sprite) + { + auto mesh = Mesh::create(nodedata->id, getMeshIndexData(modeldata->subMeshId)); + if (modeldata->matrialId == "" && matrialdatas.materials.size()) + { + const NTextureData* textureData = matrialdatas.materials[0].getTextureData(NTextureData::Usage::Diffuse); + mesh->setTexture(textureData->filename); + } + else + { + const NMaterialData* materialData=matrialdatas.getMaterialData(modeldata->matrialId); + if(materialData) + { + const NTextureData* textureData = materialData->getTextureData(NTextureData::Usage::Diffuse); + if(textureData) + { + auto tex = Director::getInstance()->getTextureCache()->addImage(textureData->filename); + if(tex) + { + Texture2D::TexParams texParams; + texParams.minFilter = GL_LINEAR; + texParams.magFilter = GL_LINEAR; + texParams.wrapS = textureData->wrapS; + texParams.wrapT = textureData->wrapT; + tex->setTexParameters(texParams); + mesh->setTexture(tex); + } + + } + } + } + sprite->setAdditionalTransform(&nodedata->transform); + sprite->addMesh(mesh); + sprite->autorelease(); + sprite->genGLProgramState(); + } + return sprite; +} +void Sprite3D::createAttachSprite3DNode(NodeData* nodedata,const MaterialDatas& matrialdatas) +{ + for(const auto& it : nodedata->modelNodeDatas) + { + if(it && getAttachNode(nodedata->id)) + { + auto sprite = createSprite3DNode(nodedata,it,matrialdatas); + if (sprite) + { + getAttachNode(nodedata->id)->addChild(sprite); + } + } + } + for(const auto& it : nodedata->children) + { + createAttachSprite3DNode(it,matrialdatas); + } +} void Sprite3D::genGLProgramState() { - auto programstate = GLProgramState::getOrCreateWithGLProgram(getDefaultGLProgram(_mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_TEX_COORD))); - long offset = 0; - auto attributeCount = _mesh->getMeshVertexAttribCount(); - for (auto k = 0; k < attributeCount; k++) { - auto meshattribute = _mesh->getMeshVertexAttribute(k); - programstate->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib], - meshattribute.size, - meshattribute.type, - GL_FALSE, - _mesh->getVertexSizeInBytes(), - (GLvoid*)offset); - offset += meshattribute.attribSizeBytes; - } - - setGLProgramState(programstate); - auto count = _mesh->getSubMeshCount(); - _meshCommands.resize(count); - for (int i = 0; i < count; i++) { - auto tex = _subMeshStates.at(i)->getTexture(); - GLuint texID = tex ? tex->getName() : 0; - _meshCommands[i].genMaterialID(texID, programstate, _mesh, _blend); - } -} - -GLProgram* Sprite3D::getDefaultGLProgram(bool textured) -{ - bool hasSkin = _skin && _mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_BLEND_INDEX) - && _mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_BLEND_WEIGHT); - - if(textured) + std::unordered_map glProgramestates; + for(auto& mesh : _meshVertexDatas) { - if (hasSkin) - return GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE); + bool textured = mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_TEX_COORD); + bool hasSkin = mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_BLEND_INDEX) + && mesh->hasVertexAttrib(GLProgram::VERTEX_ATTRIB_BLEND_WEIGHT); - return GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_POSITION_TEXTURE); + GLProgram* glProgram = nullptr; + if(textured) + { + if (hasSkin) + glProgram = GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE); + else + glProgram = GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_POSITION_TEXTURE); + } + else + { + glProgram = GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_POSITION); + } + + auto programstate = GLProgramState::create(glProgram); + long offset = 0; + auto attributeCount = mesh->getMeshVertexAttribCount(); + for (auto k = 0; k < attributeCount; k++) { + auto meshattribute = mesh->getMeshVertexAttrib(k); + programstate->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib], + meshattribute.size, + meshattribute.type, + GL_FALSE, + mesh->getVertexBuffer()->getSizePerVertex(), + (GLvoid*)offset); + offset += meshattribute.attribSizeBytes; + } + + glProgramestates[mesh] = programstate; } - else - { - return GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_3D_POSITION); + + for (auto& it : _meshes) { + auto glProgramState = glProgramestates[it->getMeshIndexData()->getMeshVertexData()]; + it->setGLProgramState(glProgramState); } } -void Sprite3D::genMaterials(const std::string& keyprefix, const std::vector& texpaths) +void Sprite3D::createNode(NodeData* nodedata, Node* root, const MaterialDatas& matrialdatas, bool singleSprite) { - _subMeshStates.clear(); - - char str[20]; - auto cache = Director::getInstance()->getTextureCache(); - int index = 0; - for (auto& it : texpaths) { - auto tex = cache->addImage(it); - auto subMeshState = SubMeshState::create(); - subMeshState->setTexture(tex); - _subMeshStates.pushBack(subMeshState); + Node* node=nullptr; + for(const auto& it : nodedata->modelNodeDatas) + { + if(it) + { + if(it->bones.size() > 0 || singleSprite) + { + auto mesh = Mesh::create(nodedata->id, getMeshIndexData(it->subMeshId)); + if(mesh) + { + _meshes.pushBack(mesh); + if (_skeleton && it->bones.size()) + { + auto skin = MeshSkin::create(_skeleton, it->bones, it->invBindPose); + mesh->setSkin(skin); + } + mesh->_visibleChanged = std::bind(&Sprite3D::onAABBDirty, this); - //add to cache - sprintf(str, "submesh%d", index); - std::string submeshkey = keyprefix + std::string(str); - Sprite3DMaterialCache::getInstance()->addSprite3DMaterial(submeshkey, tex); - index++; + if (it->matrialId == "" && matrialdatas.materials.size()) + { + const NTextureData* textureData = matrialdatas.materials[0].getTextureData(NTextureData::Usage::Diffuse); + mesh->setTexture(textureData->filename); + } + else + { + const NMaterialData* materialData=matrialdatas.getMaterialData(it->matrialId); + if(materialData) + { + const NTextureData* textureData = materialData->getTextureData(NTextureData::Usage::Diffuse); + if(textureData) + { + auto tex = Director::getInstance()->getTextureCache()->addImage(textureData->filename); + if(tex) + { + Texture2D::TexParams texParams; + texParams.minFilter = GL_LINEAR; + texParams.magFilter = GL_LINEAR; + texParams.wrapS = textureData->wrapS; + texParams.wrapT = textureData->wrapT; + tex->setTexParameters(texParams); + mesh->setTexture(tex); + } + + } + } + } + } + } + else + { + auto sprite = createSprite3DNode(nodedata,it,matrialdatas); + if (sprite) + { + if(root) + { + root->addChild(sprite); + } + } + node=sprite; + } + } } + if(nodedata->modelNodeDatas.size() ==0 ) + { + node= Node::create(); + if(node) + { + node->setAdditionalTransform(&nodedata->transform); + if(root) + { + root->addChild(node); + } + } + } + for(const auto& it : nodedata->children) + { + createNode(it,node, matrialdatas, singleSprite); + } +} + +MeshIndexData* Sprite3D::getMeshIndexData(const std::string& indexId) const +{ + for (auto it : _meshVertexDatas) { + auto index = it->getMeshIndexDataById(indexId); + if (index) + return index; + } + return nullptr; +} + +void Sprite3D::addMesh(Mesh* mesh) +{ + auto meshVertex = mesh->getMeshIndexData()->_vertexData; + _meshVertexDatas.pushBack(meshVertex); + _meshes.pushBack(mesh); } void Sprite3D::setTexture(const std::string& texFile) @@ -314,18 +437,19 @@ void Sprite3D::setTexture(const std::string& texFile) void Sprite3D::setTexture(Texture2D* texture) { - _subMeshStates.at(0)->setTexture(texture); + for (auto& state : _meshes) { + state->setTexture(texture); + } } - AttachNode* Sprite3D::getAttachNode(const std::string& boneName) { auto it = _attachments.find(boneName); if (it != _attachments.end()) return it->second; - if (_skin) + if (_skeleton) { - auto bone = _skin->getBoneByName(boneName); + auto bone = _skeleton->getBoneByName(boneName); auto attachNode = AttachNode::create(bone); addChild(attachNode); _attachments[boneName] = attachNode; @@ -355,30 +479,31 @@ void Sprite3D::removeAllAttachNode() void Sprite3D::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) { -// if (_skeleton) -// _skeleton->updateBoneMatrix(); + if (_skeleton) + _skeleton->updateBoneMatrix(); - GLProgramState* programstate = getGLProgramState(); Color4F color(getDisplayedColor()); color.a = getDisplayedOpacity() / 255.0f; - for (ssize_t i = 0; i < _mesh->getSubMeshCount(); i++) { - auto submeshstate = _subMeshStates.at(i); - if (!submeshstate->isVisible()) - continue; - - auto submesh = _mesh->getSubMesh((int)i); - auto& meshCommand = _meshCommands[i]; - - GLuint textureID = submeshstate->getTexture() ? submeshstate->getTexture()->getName() : 0; - meshCommand.init(_globalZOrder, textureID, programstate, _blend, _mesh->getVertexBuffer(), submesh->getIndexBuffer(), (GLenum)submesh->getPrimitiveType(), (GLenum)submesh->getIndexFormat(), submesh->getIndexCount(), transform); - - meshCommand.setCullFaceEnabled(true); - meshCommand.setDepthTestEnabled(true); - if (_skin) + int i = 0; + for (auto& mesh : _meshes) { + if (!mesh->isVisible()) { - meshCommand.setMatrixPaletteSize((int)_skin->getMatrixPaletteSize()); - meshCommand.setMatrixPalette(_skin->getMatrixPalette()); + i++; + continue; + } + auto programstate = mesh->getGLProgramState(); + auto& meshCommand = mesh->getMeshCommand(); + + GLuint textureID = mesh->getTexture() ? mesh->getTexture()->getName() : 0; + + meshCommand.init(_globalZOrder, textureID, programstate, _blend, mesh->getVertexBuffer(), mesh->getIndexBuffer(), mesh->getPrimitiveType(), mesh->getIndexFormat(), mesh->getIndexCount(), transform); + + auto skin = mesh->getSkin(); + if (skin) + { + meshCommand.setMatrixPaletteSize((int)skin->getMatrixPaletteSize()); + meshCommand.setMatrixPalette(skin->getMatrixPalette()); } //support tint and fade meshCommand.setDisplayColor(Vec4(color.r, color.g, color.b, color.a)); @@ -386,11 +511,28 @@ void Sprite3D::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) } } +void Sprite3D::setGLProgramState(GLProgramState *glProgramState) +{ + Node::setGLProgramState(glProgramState); + for (auto& state : _meshes) { + state->setGLProgramState(glProgramState); + } +} +void Sprite3D::setGLProgram(GLProgram *glprogram) +{ + Node::setGLProgram(glprogram); + setGLProgramState(getGLProgramState()); +} + void Sprite3D::setBlendFunc(const BlendFunc &blendFunc) { if(_blend.src != blendFunc.src || _blend.dst != blendFunc.dst) { _blend = blendFunc; + for(auto& state : _meshes) + { + state->setBlendFunc(blendFunc); + } } } @@ -399,23 +541,22 @@ const BlendFunc& Sprite3D::getBlendFunc() const return _blend; } -AABB Sprite3D::getAABB() const +const AABB& Sprite3D::getAABB() const { Mat4 nodeToWorldTransform(getNodeToWorldTransform()); // If nodeToWorldTransform matrix isn't changed, we don't need to transform aabb. - if (memcmp(_nodeToWorldTransform.m, nodeToWorldTransform.m, sizeof(Mat4)) == 0) + if (memcmp(_nodeToWorldTransform.m, nodeToWorldTransform.m, sizeof(Mat4)) == 0 && !_aabbDirty) { return _aabb; } else { + _aabb.reset(); Mat4 transform(nodeToWorldTransform); - _aabb = _mesh->getOriginAABB(); - - if (getSkin() && getSkin()->getRootBone()) - { - transform = nodeToWorldTransform * getSkin()->getRootBone()->getWorldMat(); + for (const auto& it : _meshes) { + if (it->isVisible()) + _aabb.merge(it->getAABB()); } _aabb.transform(transform); @@ -434,16 +575,104 @@ Rect Sprite3D::getBoundingBox() const void Sprite3D::setCullFace(GLenum cullFace) { - for (auto& it : _meshCommands) { - it.setCullFace(cullFace); + for (auto& it : _meshes) { + it->getMeshCommand().setCullFace(cullFace); } } void Sprite3D::setCullFaceEnabled(bool enable) { - for (auto& it : _meshCommands) { - it.setCullFaceEnabled(enable); + for (auto& it : _meshes) { + it->getMeshCommand().setCullFaceEnabled(enable); } } +Mesh* Sprite3D::getMeshByIndex(int index) const +{ + CCASSERT(index < _meshes.size(), "invald index"); + return _meshes.at(index); +} + +/**get SubMeshState by Name */ +Mesh* Sprite3D::getMeshByName(const std::string& name) const +{ + for (const auto& it : _meshes) { + if (it->getName() == name) + return it; + } + return nullptr; +} + +MeshSkin* Sprite3D::getSkin() const +{ + for (const auto& it : _meshes) { + if (it->getSkin()) + return it->getSkin(); + } + return nullptr; +} + +/////////////////////////////////////////////////////////////////////////////////// +Sprite3DCache* Sprite3DCache::_cacheInstance = nullptr; +Sprite3DCache* Sprite3DCache::getInstance() +{ + if (_cacheInstance == nullptr) + _cacheInstance = new Sprite3DCache(); + return _cacheInstance; +} +void Sprite3DCache::destroyInstance() +{ + if (_cacheInstance) + { + delete _cacheInstance; + _cacheInstance = nullptr; + } +} + +Sprite3DCache::Sprite3DData* Sprite3DCache::getSpriteData(const std::string& key) const +{ + auto it = _spriteDatas.find(key); + if (it != _spriteDatas.end()) + return it->second; + return nullptr; +} + +bool Sprite3DCache::addSprite3DData(const std::string& key, Sprite3DCache::Sprite3DData* spritedata) +{ + auto it = _spriteDatas.find(key); + if (it == _spriteDatas.end()) + { + _spriteDatas[key] = spritedata; + return true; + } + return false; +} + +void Sprite3DCache::removeSprite3DData(const std::string& key) +{ + auto it = _spriteDatas.find(key); + if (it != _spriteDatas.end()) + { + delete it->second; + } + _spriteDatas.erase(it); +} + +void Sprite3DCache::removeAllSprite3DData() +{ + for (auto& it : _spriteDatas) { + delete it.second; + } + _spriteDatas.clear(); +} + +Sprite3DCache::Sprite3DCache() +{ + +} +Sprite3DCache::~Sprite3DCache() +{ + removeAllSprite3DData(); +} + NS_CC_END diff --git a/cocos/3d/CCSprite3D.h b/cocos/3d/CCSprite3D.h index 36de7ac3cf..ad3679d975 100644 --- a/cocos/3d/CCSprite3D.h +++ b/cocos/3d/CCSprite3D.h @@ -33,9 +33,13 @@ #include "base/CCProtocols.h" #include "2d/CCNode.h" #include "renderer/CCMeshCommand.h" -#include "CCAABB.h" +#include "3d/CCAABB.h" +#include "3d/CCBundle3DData.h" +#include "3d/CCMesh.h" +#include "3d/CCMeshVertexIndexData.h" #include "3d/3dExport.h" + NS_CC_BEGIN class GLProgramState; @@ -45,14 +49,15 @@ class MeshSkin; class AttachNode; class SubMeshState; class Skeleton3D; - +struct NodeData; +class SubMesh; /** Sprite3D: A sprite can be loaded from 3D model files, .obj, .c3t, .c3b, then can be drawed as sprite */ class CC_3D_DLL Sprite3D : public Node, public BlendProtocol { public: /** creates a Sprite3D*/ static Sprite3D* create(const std::string &modelPath); - + // creates a Sprite3D. It only supports one texture, and overrides the internal texture with 'texturePath' static Sprite3D* create(const std::string &modelPath, const std::string &texturePath); @@ -61,13 +66,18 @@ public: void setTexture(Texture2D* texture); /**get SubMeshState by index*/ - SubMeshState* getSubMeshState(int index) const; + Mesh* getMeshByIndex(int index) const; + + /**get SubMeshState by Name */ + Mesh* getMeshByName(const std::string& name) const; /**get mesh*/ - Mesh* getMesh() const { return _mesh; } + Mesh* getMesh() const { return _meshes.at(0); } /**get skin*/ - MeshSkin* getSkin() const { return _skin; } + CC_DEPRECATED_ATTRIBUTE MeshSkin* getSkin() const; + + Skeleton3D* getSkeleton() const { return _skeleton; } /**get AttachNode by bone name, return nullptr if not exist*/ AttachNode* getAttachNode(const std::string& boneName); @@ -82,13 +92,19 @@ public: virtual void setBlendFunc(const BlendFunc &blendFunc) override; virtual const BlendFunc &getBlendFunc() const override; + // overrides + /** set GLProgramState, you should bind attributes by yourself */ + virtual void setGLProgramState(GLProgramState *glProgramState) override; + /** just rember bind attributes */ + virtual void setGLProgram(GLProgram *glprogram) override; + /* * Get AABB * If the sprite has animation, it can't be calculated accuratly, * because bone can drive the vertices, we just use the origin vertices * to calculate the AABB. */ - AABB getAABB() const; + const AABB& getAABB() const; /** * Returns 2d bounding-box @@ -107,6 +123,8 @@ CC_CONSTRUCTOR_ACCESS: virtual ~Sprite3D(); bool initWithFile(const std::string &path); + bool initFrom(const NodeDatas& nodedatas, const MeshDatas& meshdatas, const MaterialDatas& materialdatas); + /**load sprite3d from cache, return true if succeed, false otherwise*/ bool loadFromCache(const std::string& path); @@ -119,30 +137,77 @@ CC_CONSTRUCTOR_ACCESS: /**draw*/ virtual void draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) override; - /**get default shader*/ - virtual GLProgram* getDefaultGLProgram(bool textured = true); - /**generate default GLProgramState*/ void genGLProgramState(); - - /**generate materials, and add them to cache, keyprefix is used as key prefix when added to cache*/ - void genMaterials(const std::string& keyprefix, const std::vector& texpaths); + void createNode(NodeData* nodedata, Node* root, const MaterialDatas& matrialdatas, bool singleSprite); + void createAttachSprite3DNode(NodeData* nodedata,const MaterialDatas& matrialdatas); + Sprite3D* createSprite3DNode(NodeData* nodedata,ModelData* modeldata,const MaterialDatas& matrialdatas); + + /**get MeshIndexData by Id*/ + MeshIndexData* getMeshIndexData(const std::string& indexId) const; + + void addMesh(Mesh* mesh); + + void onAABBDirty() { _aabbDirty = true; } + protected: - Mesh* _mesh;//mesh - MeshSkin* _skin;//skin + Skeleton3D* _skeleton; //skeleton - std::vector _meshCommands; //render command each for one submesh - - Vector _subMeshStates; // SubMeshStates + Vector _meshVertexDatas; std::unordered_map _attachments; BlendFunc _blend; + Vector _meshes; + mutable AABB _aabb; // cache current aabb mutable Mat4 _nodeToWorldTransform; // cache the matrix + bool _aabbDirty; +}; + +/////////////////////////////////////////////////////// +class Sprite3DCache +{ +public: + struct Sprite3DData + { + Vector meshVertexDatas; + NodeDatas* nodedatas; + MaterialDatas* materialdatas; + ~Sprite3DData() + { + if (nodedatas) + delete nodedatas; + if (materialdatas) + delete materialdatas; + meshVertexDatas.clear(); + } + }; + + /**get & destroy*/ + static Sprite3DCache* getInstance(); + static void destroyInstance(); + + Sprite3DData* getSpriteData(const std::string& key) const; + + bool addSprite3DData(const std::string& key, Sprite3DData* spritedata); + + void removeSprite3DData(const std::string& key); + + void removeAllSprite3DData(); + + CC_CONSTRUCTOR_ACCESS: + Sprite3DCache(); + ~Sprite3DCache(); + +protected: + + + static Sprite3DCache* _cacheInstance; + std::unordered_map _spriteDatas; //cached sprite datas }; extern std::string CC_3D_DLL s_attributeNames[];//attribute names array diff --git a/cocos/3d/CCSubMesh.cpp b/cocos/3d/CCSubMesh.cpp deleted file mode 100644 index 330e6e3f2a..0000000000 --- a/cocos/3d/CCSubMesh.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCSubMesh.h" - -#include -#include -#include -#include - -#include "3d/CCObjLoader.h" -#include "3d/CCSprite3DMaterial.h" - -#include "base/ccMacros.h" -#include "base/CCEventCustom.h" -#include "base/CCEventListenerCustom.h" -#include "base/CCEventDispatcher.h" -#include "base/CCEventType.h" -#include "base/CCDirector.h" -#include "renderer/ccGLStateCache.h" - - -using namespace std; - -NS_CC_BEGIN - -SubMesh::SubMesh() -: _indexBuffer(0) -, _primitiveType(PrimitiveType::TRIANGLES) -, _indexFormat(IndexFormat::INDEX16) -, _indexCount(0) -{ -} - -SubMesh::~SubMesh() -{ - cleanAndFreeBuffers(); -} - -SubMesh* SubMesh::create(PrimitiveType primitivetype, IndexFormat indexformat, const std::vector& indices) -{ - auto submesh = new SubMesh(); - submesh->_primitiveType = primitivetype; - submesh->_indexFormat = indexformat; - submesh->autorelease(); - - return submesh; -} - -void SubMesh::cleanAndFreeBuffers() -{ - if(glIsBuffer(_indexBuffer)) - { - glDeleteBuffers(1, &_indexBuffer); - _indexBuffer = 0; - } - - _indexCount = 0; -} - -void SubMesh::buildBuffer(const std::vector& indices) -{ - glGenBuffers(1, &_indexBuffer); - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); - - unsigned int indexSize = 2; - - glBufferData(GL_ELEMENT_ARRAY_BUFFER, indexSize * indices.size(), &indices[0], GL_STATIC_DRAW); - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - - _indexCount = indices.size(); -} - -NS_CC_END diff --git a/cocos/3d/CCSubMesh.h b/cocos/3d/CCSubMesh.h deleted file mode 100644 index d8f62e7e65..0000000000 --- a/cocos/3d/CCSubMesh.h +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __CCSUBMESH_H__ -#define __CCSUBMESH_H__ - -#include -#include - -#include "3d/CCBundle3DData.h" - -#include "base/CCRef.h" -#include "base/ccTypes.h" -#include "math/CCMath.h" -#include "renderer/CCGLProgram.h" -#include "3d/3dExport.h" - -NS_CC_BEGIN - -/** Defines supported index formats. */ -enum class IndexFormat -{ - INDEX8 = GL_UNSIGNED_BYTE, - INDEX16 = GL_UNSIGNED_SHORT, -}; - -/** Defines supported primitive types. */ -enum class PrimitiveType -{ - TRIANGLES = GL_TRIANGLES, - TRIANGLE_STRIP = GL_TRIANGLE_STRIP, - LINES = GL_LINES, - LINE_STRIP = GL_LINE_STRIP, - POINTS = GL_POINTS -}; - -/** - * SubMesh: Defines the way the mesh's vertices how to be connected together. - */ -class CC_3D_DLL SubMesh : public Ref -{ - friend class Mesh; -public: - - /**create submesh from primitivetype indexformat and indices*/ - static SubMesh* create(PrimitiveType primitivetype, IndexFormat indexformat, const std::vector& indices); - - /** get primitive type*/ - PrimitiveType getPrimitiveType() const { return _primitiveType; } - /**get index count*/ - ssize_t getIndexCount() const { return _indexCount; } - /**get index format*/ - IndexFormat getIndexFormat() const { return _indexFormat; } - /**get index buffer*/ - GLuint getIndexBuffer() const {return _indexBuffer; } - - -CC_CONSTRUCTOR_ACCESS: - - SubMesh(); - virtual ~SubMesh(); - - /**build buffer*/ - void buildBuffer(const std::vector& indices); - /**free buffer*/ - void cleanAndFreeBuffers(); - -protected: - PrimitiveType _primitiveType; - IndexFormat _indexFormat; - - GLuint _indexBuffer; - ssize_t _indexCount; -}; - -NS_CC_END - -#endif // __CCMESH_H_ diff --git a/cocos/3d/CCSubMeshState.cpp b/cocos/3d/CCSubMeshState.cpp deleted file mode 100644 index 639c1e87cd..0000000000 --- a/cocos/3d/CCSubMeshState.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include -#include -#include -#include - -#include "3d/CCSubMeshState.h" -#include "3d/CCMeshSkin.h" -#include "3d/CCSubMesh.h" - -#include "base/ccMacros.h" -#include "base/CCEventCustom.h" -#include "base/CCEventListenerCustom.h" -#include "base/CCEventDispatcher.h" -#include "base/CCEventType.h" -#include "base/CCDirector.h" -#include "renderer/ccGLStateCache.h" -#include "renderer/CCTexture2D.h" - - -using namespace std; - -NS_CC_BEGIN - -SubMeshState::SubMeshState() -: _visible(true) -, _texture(nullptr) -, _skin(nullptr) -{ - -} -SubMeshState::~SubMeshState() -{ - CC_SAFE_RELEASE(_texture); - CC_SAFE_RELEASE(_skin); -} - -SubMeshState* SubMeshState::create() -{ - auto state = new SubMeshState(); - state->autorelease(); - - return state; -} - -void SubMeshState::setTexture(Texture2D* tex) -{ - if (tex != _texture) - { - CC_SAFE_RETAIN(tex); - CC_SAFE_RELEASE(_texture); - _texture = tex; - } -} - -void SubMeshState::setSkin(MeshSkin* skin) -{ - if (_skin != skin) - { - CC_SAFE_RETAIN(skin); - CC_SAFE_RELEASE(_skin); - _skin = skin; - } -} - -NS_CC_END diff --git a/cocos/3d/CCSubMeshState.h b/cocos/3d/CCSubMeshState.h deleted file mode 100644 index 542b0ecd32..0000000000 --- a/cocos/3d/CCSubMeshState.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __CCSUBMESHSTATE_H__ -#define __CCSUBMESHSTATE_H__ - -#include -#include - -#include "3d/CCBundle3DData.h" - -#include "base/CCRef.h" -#include "base/ccTypes.h" -#include "math/CCMath.h" -#include "renderer/CCGLProgram.h" -#include "3d/3dExport.h" - -NS_CC_BEGIN - -class Texture2D; -class MeshSkin; -/** - * SubMeshState: visibility and apperence of submesh - */ -class CC_3D_DLL SubMeshState : public Ref -{ -public: - - /**create submesh from primitivetype indexformat and indices*/ - static SubMeshState* create(); - - /**texture getter and setter*/ - void setTexture(Texture2D* tex); - Texture2D* getTexture() const { return _texture; } - - /**visible getter and setter*/ - void setVisible(bool visible) { _visible = visible; } - bool isVisible() const { return _visible; } - - /**skin getter and setter*/ - void setSkin(MeshSkin* skin); - MeshSkin* getSkin() const { return _skin; } - -CC_CONSTRUCTOR_ACCESS: - - SubMeshState(); - virtual ~SubMeshState(); - -protected: - Texture2D* _texture; //texture that submesh is using - MeshSkin* _skin; //skin - bool _visible; // is the submesh visible -}; - -NS_CC_END - -#endif // __CCSUBMESHSTATE_H__ diff --git a/cocos/3d/CMakeLists.txt b/cocos/3d/CMakeLists.txt index 28e0ac6970..70e3560efd 100644 --- a/cocos/3d/CMakeLists.txt +++ b/cocos/3d/CMakeLists.txt @@ -9,12 +9,11 @@ CCBundle3D.cpp CCBundleReader.cpp CCMesh.cpp CCMeshSkin.cpp +CCMeshVertexIndexData.cpp CCSprite3DMaterial.cpp CCObjLoader.cpp CCSkeleton3D.cpp CCSprite3D.cpp -CCSubMesh.cpp -CCSubMeshState.cpp ) diff --git a/cocos/3d/cocos3d.h b/cocos/3d/cocos3d.h index 58e88e969d..fdbfef8fca 100755 --- a/cocos/3d/cocos3d.h +++ b/cocos/3d/cocos3d.h @@ -35,7 +35,7 @@ #include "3d/CCAnimate3D.h" #include "3d/CCAnimation3D.h" #include "3d/CCSprite3DMaterial.h" -#include "3d/CCSubMeshState.h" #include "3d/CCAttachNode.h" +#include "3d/CCMeshVertexIndexData.h" #endif diff --git a/cocos/3d/proj.win32/libcocos3d.vcxproj b/cocos/3d/proj.win32/libcocos3d.vcxproj index 25fe3874e2..b4597e95f9 100644 --- a/cocos/3d/proj.win32/libcocos3d.vcxproj +++ b/cocos/3d/proj.win32/libcocos3d.vcxproj @@ -24,14 +24,13 @@ + - - @@ -45,14 +44,13 @@ + - - diff --git a/cocos/3d/proj.win32/libcocos3d.vcxproj.filters b/cocos/3d/proj.win32/libcocos3d.vcxproj.filters index 21f2af6ec5..efcac73276 100644 --- a/cocos/3d/proj.win32/libcocos3d.vcxproj.filters +++ b/cocos/3d/proj.win32/libcocos3d.vcxproj.filters @@ -48,10 +48,7 @@ 3d - - 3d - - + 3d @@ -104,17 +101,14 @@ 3d - - 3d - - - 3d - 3d 3d + + 3d + \ No newline at end of file diff --git a/cocos/renderer/CCGLProgram.cpp b/cocos/renderer/CCGLProgram.cpp index 7533d991be..4b757c5b0f 100644 --- a/cocos/renderer/CCGLProgram.cpp +++ b/cocos/renderer/CCGLProgram.cpp @@ -94,6 +94,13 @@ const char* GLProgram::UNIFORM_NAME_ALPHA_TEST_VALUE = "CC_alpha_value"; const char* GLProgram::ATTRIBUTE_NAME_COLOR = "a_color"; const char* GLProgram::ATTRIBUTE_NAME_POSITION = "a_position"; const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD = "a_texCoord"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD1 = "a_texCoord1"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD2 = "a_texCoord2"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD3 = "a_texCoord3"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD4 = "a_texCoord4"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD5 = "a_texCoord5"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD6 = "a_texCoord6"; +const char* GLProgram::ATTRIBUTE_NAME_TEX_COORD7 = "a_texCoord7"; const char* GLProgram::ATTRIBUTE_NAME_NORMAL = "a_normal"; const char* GLProgram::ATTRIBUTE_NAME_BLEND_WEIGHT = "a_blendWeight"; const char* GLProgram::ATTRIBUTE_NAME_BLEND_INDEX = "a_blendIndex"; @@ -281,6 +288,13 @@ void GLProgram::bindPredefinedVertexAttribs() {GLProgram::ATTRIBUTE_NAME_POSITION, GLProgram::VERTEX_ATTRIB_POSITION}, {GLProgram::ATTRIBUTE_NAME_COLOR, GLProgram::VERTEX_ATTRIB_COLOR}, {GLProgram::ATTRIBUTE_NAME_TEX_COORD, GLProgram::VERTEX_ATTRIB_TEX_COORD}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD1, GLProgram::VERTEX_ATTRIB_TEX_COORD1}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD2, GLProgram::VERTEX_ATTRIB_TEX_COORD2}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD3, GLProgram::VERTEX_ATTRIB_TEX_COORD3}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD4, GLProgram::VERTEX_ATTRIB_TEX_COORD4}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD5, GLProgram::VERTEX_ATTRIB_TEX_COORD5}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD6, GLProgram::VERTEX_ATTRIB_TEX_COORD6}, + {GLProgram::ATTRIBUTE_NAME_TEX_COORD7, GLProgram::VERTEX_ATTRIB_TEX_COORD7}, {GLProgram::ATTRIBUTE_NAME_NORMAL, GLProgram::VERTEX_ATTRIB_NORMAL}, }; diff --git a/cocos/renderer/CCGLProgram.h b/cocos/renderer/CCGLProgram.h index 5ccd78f738..d73519562f 100644 --- a/cocos/renderer/CCGLProgram.h +++ b/cocos/renderer/CCGLProgram.h @@ -84,6 +84,13 @@ public: VERTEX_ATTRIB_POSITION, VERTEX_ATTRIB_COLOR, VERTEX_ATTRIB_TEX_COORD, + VERTEX_ATTRIB_TEX_COORD1, + VERTEX_ATTRIB_TEX_COORD2, + VERTEX_ATTRIB_TEX_COORD3, + VERTEX_ATTRIB_TEX_COORD4, + VERTEX_ATTRIB_TEX_COORD5, + VERTEX_ATTRIB_TEX_COORD6, + VERTEX_ATTRIB_TEX_COORD7, VERTEX_ATTRIB_NORMAL, VERTEX_ATTRIB_BLEND_WEIGHT, VERTEX_ATTRIB_BLEND_INDEX, @@ -152,6 +159,13 @@ public: static const char* ATTRIBUTE_NAME_COLOR; static const char* ATTRIBUTE_NAME_POSITION; static const char* ATTRIBUTE_NAME_TEX_COORD; + static const char* ATTRIBUTE_NAME_TEX_COORD1; + static const char* ATTRIBUTE_NAME_TEX_COORD2; + static const char* ATTRIBUTE_NAME_TEX_COORD3; + static const char* ATTRIBUTE_NAME_TEX_COORD4; + static const char* ATTRIBUTE_NAME_TEX_COORD5; + static const char* ATTRIBUTE_NAME_TEX_COORD6; + static const char* ATTRIBUTE_NAME_TEX_COORD7; static const char* ATTRIBUTE_NAME_NORMAL; static const char* ATTRIBUTE_NAME_BLEND_WEIGHT; static const char* ATTRIBUTE_NAME_BLEND_INDEX; diff --git a/cocos/renderer/CCMeshCommand.cpp b/cocos/renderer/CCMeshCommand.cpp index 8b69a7c3b0..dbe69989d6 100644 --- a/cocos/renderer/CCMeshCommand.cpp +++ b/cocos/renderer/CCMeshCommand.cpp @@ -172,18 +172,16 @@ void MeshCommand::restoreRenderState() s_cullFace = 0; } -void MeshCommand::genMaterialID(GLuint texID, void* glProgramState, void* mesh, const BlendFunc& blend) +void MeshCommand::genMaterialID(GLuint texID, void* glProgramState, GLuint vertexBuffer, GLuint indexBuffer, const BlendFunc& blend) { int* intstate = static_cast(glProgramState); - int* intmesh = static_cast(mesh); - int statekey[] = {intstate[0], 0}, meshkey[] = {intmesh[0], 0}; + int statekey[] = {intstate[0], 0}; if (sizeof(void*) > sizeof(int)) { statekey[1] = intstate[1]; - meshkey[1] = intmesh[1]; } - int intArray[] = {(int)texID, statekey[0], statekey[1], meshkey[0], meshkey[1], (int)blend.src, (int)blend.dst}; + int intArray[] = {(int)texID, statekey[0], statekey[1], (int)vertexBuffer, (int)indexBuffer, (int)blend.src, (int)blend.dst}; _materialID = XXH32((const void*)intArray, sizeof(intArray), 0); } diff --git a/cocos/renderer/CCMeshCommand.h b/cocos/renderer/CCMeshCommand.h index fcbf7881a9..d394aac366 100644 --- a/cocos/renderer/CCMeshCommand.h +++ b/cocos/renderer/CCMeshCommand.h @@ -70,7 +70,7 @@ public: void batchDraw(); void postBatchDraw(); - void genMaterialID(GLuint texID, void* glProgramState, void* mesh, const BlendFunc& blend); + void genMaterialID(GLuint texID, void* glProgramState, GLuint vertexBuffer, GLuint indexBuffer, const BlendFunc& blend); uint32_t getMaterialID() const { return _materialID; } diff --git a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp index be0263bdcc..d381e4c2a5 100644 --- a/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp +++ b/tests/cpp-tests/Classes/Camera3DTest/Camera3DTest.cpp @@ -353,7 +353,6 @@ void Camera3DTestDemo::addNewSpriteWithCoords(Vec3 p,std::string fileName,bool p { auto sprite = Sprite3D::create(fileName); - sprite->setScale(1); _layer3D->addChild(sprite); float globalZOrder=sprite->getGlobalZOrder(); sprite->setPosition3D( Vec3( p.x, p.y,p.z) ); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 9079785751..d817e0e348 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -26,10 +26,10 @@ #include "Sprite3DTest.h" #include "3d/CCAnimation3D.h" #include "3d/CCAnimate3D.h" -#include "3d/CCSubMesh.h" #include "3d/CCAttachNode.h" #include "3d/CCRay.h" #include "3d/CCSprite3D.h" +#include "renderer/CCVertexIndexBuffer.h" #include "DrawNode3D.h" #include @@ -59,6 +59,7 @@ static std::function createFunctions[] = #endif CL(Animate3DTest), CL(AttachmentTest), + CL(Sprite3DReskinTest), CL(Sprite3DWithOBBPerfromanceTest), CL(Sprite3DMirrorTest) }; @@ -488,7 +489,7 @@ void Effect3DOutline::setTarget(EffectSprite3D *sprite) if(sprite != _sprite) { GLProgram* glprogram; - if(!sprite->getSkin()) + if(!sprite->getMesh()->getSkin()) glprogram = GLProgram::createWithFilenames(_vertShaderFile, _fragShaderFile); else glprogram = GLProgram::createWithFilenames(_vertSkinnedShaderFile, _fragSkinnedShaderFile); @@ -544,22 +545,21 @@ void Effect3DOutline::draw(const Mat4 &transform) auto mesh = _sprite->getMesh(); glBindBuffer(GL_ARRAY_BUFFER, mesh->getVertexBuffer()); - if(_sprite && _sprite->getSkin()) + auto skin = _sprite->getMesh()->getSkin(); + if(_sprite && skin) { auto function = std::bind(MatrixPalleteCallBack, std::placeholders::_1, std::placeholders::_2, - _sprite->getSkin()->getMatrixPaletteSize(), (float*)_sprite->getSkin()->getMatrixPalette()); + skin->getMatrixPaletteSize(), (float*)skin->getMatrixPalette()); _glProgramState->setUniformCallback("u_matrixPalette", function); } if(_sprite) _glProgramState->apply(transform); - for (ssize_t i = 0; i < mesh->getSubMeshCount(); i++) { - auto submesh = mesh->getSubMesh((int)i); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, submesh->getIndexBuffer()); - glDrawElements((GLenum)submesh->getPrimitiveType(), (GLsizei)submesh->getIndexCount(), (GLenum)submesh->getIndexFormat(), 0); - CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, submesh->getIndexCount()); - } + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh->getIndexBuffer()); + glDrawElements(mesh->getPrimitiveType(), mesh->getIndexCount(), mesh->getIndexFormat(), 0); + CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, mesh->getIndexCount()); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glBindBuffer(GL_ARRAY_BUFFER, 0); glDisable(GL_DEPTH_TEST); @@ -998,7 +998,219 @@ void AttachmentTest::onTouchesEnded(const std::vector& touches, Event* e } _hasWeapon = !_hasWeapon; } +Sprite3DReskinTest::Sprite3DReskinTest() +: _sprite(nullptr) +{ + auto s = Director::getInstance()->getWinSize(); + addNewSpriteWithCoords( Vec2(s.width/2, s.height/2) ); + + auto listener = EventListenerTouchAllAtOnce::create(); + listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DReskinTest::onTouchesEnded, this); + _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); + TTFConfig ttfConfig("fonts/arial.ttf", 20); + auto label1 = Label::createWithTTF(ttfConfig,"Hair"); + auto item1 = MenuItemLabel::create(label1,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchHair,this) ); + auto label2 = Label::createWithTTF(ttfConfig,"Glasses"); + auto item2 = MenuItemLabel::create(label2, CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchGlasses,this) ); + auto label3 = Label::createWithTTF(ttfConfig,"Coat"); + auto item3 = MenuItemLabel::create(label3,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchCoat,this) ); + auto label4 = Label::createWithTTF(ttfConfig,"Pants"); + auto item4 = MenuItemLabel::create(label4, CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchPants,this) ); + auto label5 = Label::createWithTTF(ttfConfig,"Shoes"); + auto item5 = MenuItemLabel::create(label5,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchShoes,this) ); + item1->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height*4 ) ); + item2->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *5 ) ); + item3->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height*6 ) ); + item4->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *7 ) ); + item5->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *8 ) ); + auto pMenu1 = CCMenu::create(item1,item2,item3,item4,item5,NULL); + pMenu1->setPosition(Vec2(0,0)); + this->addChild(pMenu1, 10); + +} +void Sprite3DReskinTest::menuCallback_switchHair(Ref* sender) +{ + _useHairId++; + if(_useHairId > 1 ) + { + _useHairId = 0; + } + if(_useHairId >= 0 && _sprite) + { + for(int i = 0; i < 2; i++ ) + { + auto subMesh = _sprite->getMeshByName(_girlHair[i]); + if(subMesh) + { + if(i == _useHairId ) + { + subMesh->setVisible(true); + } + else + { + subMesh->setVisible(false); + } + } + } + } +} +void Sprite3DReskinTest::menuCallback_switchGlasses(Ref* sender) +{ + auto subMesh = _sprite->getMeshByName("Girl_Yanjing_01"); + if(subMesh) + { + if(subMesh->isVisible()) + { + subMesh->setVisible(false); + } + else + { + subMesh->setVisible(true); + } + } +} +void Sprite3DReskinTest::menuCallback_switchCoat(Ref* sender) +{ + _useUpBodyId++; + if(_useUpBodyId > 1 ) + { + _useUpBodyId = 0; + } + if(_useUpBodyId >= 0 && _sprite) + { + for(int i = 0; i < 2; i++ ) + { + auto subMesh = _sprite->getMeshByName(_girlUpperBody[i]); + if(subMesh) + { + if(i == _useUpBodyId ) + { + subMesh->setVisible(true); + } + else + { + subMesh->setVisible(false); + } + } + } + } +} +void Sprite3DReskinTest::menuCallback_switchPants(Ref* sender) +{ + _usePantsId++; + if(_usePantsId > 1 ) + { + _usePantsId = 0; + } + if(_usePantsId >= 0 && _sprite) + { + for(int i = 0; i < 2; i++ ) + { + auto subMesh = _sprite->getMeshByName(_girlPants[i]); + if(subMesh) + { + if(i == _usePantsId ) + { + subMesh->setVisible(true); + } + else + { + subMesh->setVisible(false); + } + } + } + } +} +void Sprite3DReskinTest::menuCallback_switchShoes(Ref* sender) +{ + _useShoesId++; + if(_useShoesId > 1 ) + { + _useShoesId = 0; + } + if(_useShoesId >= 0 && _sprite) + { + for(int i = 0; i < 2; i++ ) + { + auto subMesh = _sprite->getMeshByName(_girlShoes[i]); + if(subMesh) + { + if(i == _useShoesId ) + { + subMesh->setVisible(true); + } + else + { + subMesh->setVisible(false); + } + } + } + } + +} +std::string Sprite3DReskinTest::title() const +{ + return "Testing Sprite3D Reskin"; +} +std::string Sprite3DReskinTest::subtitle() const +{ + return ""; +} +void Sprite3DReskinTest::addNewSpriteWithCoords(Vec2 p) +{ + _girlPants[0]= "Girl_Xiashen_01"; + _girlPants[1]= "Girl_Xiashen_02"; + _girlUpperBody[0] = "Girl_Shangshen_01"; + _girlUpperBody[1] = "Girl_Shangshen_02"; + _girlShoes[0] = "Girl_Xie_01"; + _girlShoes[1] = "Girl_Xie_02"; + _girlHair[0]= "Girl_Toufa_01"; + _girlHair[1]= "Girl_Toufa_02"; + _usePantsId = 0; + _useUpBodyId = 0; + _useShoesId =0; + _useHairId = 0; + + std::string fileName = "Sprite3DTest/ReskinGirl.c3b"; + auto sprite = Sprite3D::create(fileName); + sprite->setScale(4); + sprite->setRotation3D(Vec3(0,0,0)); + auto girlPants = sprite->getMeshByName(_girlPants[1]); + if(girlPants) + { + girlPants->setVisible(false); + } + auto girlShoes = sprite->getMeshByName(_girlShoes[1]); + if(girlShoes) + { + girlShoes->setVisible(false); + } + auto girlHair = sprite->getMeshByName(_girlHair[1]); + if(girlHair) + { + girlHair->setVisible(false); + } + auto girlUpBody = sprite->getMeshByName( _girlUpperBody[1]); + if(girlUpBody) + { + girlUpBody->setVisible(false); + } + addChild(sprite); + sprite->setPosition( Vec2( p.x, p.y-60) ); + auto animation = Animation3D::create(fileName); + if (animation) + { + auto animate = Animate3D::create(animation); + + sprite->runAction(RepeatForever::create(animate)); + } + _sprite = sprite; +} + +void Sprite3DReskinTest::onTouchesEnded(const std::vector& touches, Event* event) +{ +} Sprite3DWithOBBPerfromanceTest::Sprite3DWithOBBPerfromanceTest() { auto listener = EventListenerTouchAllAtOnce::create(); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h index 175c57f793..b2ac350077 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h @@ -246,6 +246,31 @@ protected: cocos2d::Sprite3D* _sprite; }; +class Sprite3DReskinTest : public Sprite3DTestDemo +{ +public: + CREATE_FUNC(Sprite3DReskinTest); + Sprite3DReskinTest(); + virtual std::string title() const override; + virtual std::string subtitle() const override; + void onTouchesEnded(const std::vector& touches, Event* event); + void addNewSpriteWithCoords(Vec2 p); + void menuCallback_switchHair(Ref* sender); + void menuCallback_switchGlasses(Ref* sender); + void menuCallback_switchCoat(Ref* sender); + void menuCallback_switchPants(Ref* sender); + void menuCallback_switchShoes(Ref* sender); +protected: + std::string _girlPants[2]; + int _usePantsId; + std::string _girlUpperBody[2]; + int _useUpBodyId; + std::string _girlShoes[2]; + int _useShoesId; + std::string _girlHair[2]; + int _useHairId; + cocos2d::Sprite3D* _sprite; +}; class Sprite3DWithOBBPerfromanceTest : public Sprite3DTestDemo { public: diff --git a/tests/cpp-tests/Classes/controller.cpp b/tests/cpp-tests/Classes/controller.cpp index 5d7c834f06..528dedaa6f 100644 --- a/tests/cpp-tests/Classes/controller.cpp +++ b/tests/cpp-tests/Classes/controller.cpp @@ -60,6 +60,7 @@ Controller g_aTestNames[] = { { "FileUtils", []() { return new FileUtilsTestScene(); } }, { "Fonts", []() { return new FontTestScene(); } }, { "Interval", [](){return new IntervalTestScene(); } }, + { "Node: Camera 3D Test", [](){ return new Camera3DTestScene(); }}, { "Node: Clipping", []() { return new ClippingNodeTestScene(); } }, { "Node: Draw", [](){return new DrawPrimitivesTestScene();} }, { "Node: Label - New API", [](){return new AtlasTestSceneNew(); } }, @@ -76,7 +77,6 @@ Controller g_aTestNames[] = { { "Node: Spine", []() { return new SpineTestScene(); } }, { "Node: Sprite", [](){return new SpriteTestScene(); } }, { "Node: Sprite3D", [](){ return new Sprite3DTestScene(); }}, - { "Node: Camera 3D Test", [](){ return new Camera3DTestScene(); }}, { "Node: TileMap", [](){return new TileMapTestScene(); } }, #if CC_TARGET_PLATFORM != CC_PLATFORM_WP8 { "Node: FastTileMap", [](){return new TileMapTestSceneNew(); } }, diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Lian.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Lian.png new file mode 100644 index 0000000000..9dc0b7634d Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Lian.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png new file mode 100644 index 0000000000..d7d47ac29f Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Maozi_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_01.png new file mode 100644 index 0000000000..3b8233a4b7 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_02.png new file mode 100644 index 0000000000..ec01cd6806 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_02.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png new file mode 100644 index 0000000000..0e8821b78d Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shangshen_03.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shou_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shou_01.png new file mode 100644 index 0000000000..f95fecae54 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Shou_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_01.png new file mode 100644 index 0000000000..05d3f1b060 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_02.png new file mode 100644 index 0000000000..c86e87ba27 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Toufa_02.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_01.png new file mode 100644 index 0000000000..3b8ee9c27d Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_02.png new file mode 100644 index 0000000000..8815077867 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xiashen_02.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_01.png new file mode 100644 index 0000000000..42d35215c2 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_02.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_02.png new file mode 100644 index 0000000000..9e9f9d2899 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Xie_02.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Girl_Yanjing_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Yanjing_01.png new file mode 100644 index 0000000000..0754928550 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Girl_Yanjing_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/ReskinGirl.c3b b/tests/cpp-tests/Resources/Sprite3DTest/ReskinGirl.c3b new file mode 100644 index 0000000000..001818417f Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/ReskinGirl.c3b differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/Xie_01.png b/tests/cpp-tests/Resources/Sprite3DTest/Xie_01.png new file mode 100644 index 0000000000..42d35215c2 Binary files /dev/null and b/tests/cpp-tests/Resources/Sprite3DTest/Xie_01.png differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/orc.c3b b/tests/cpp-tests/Resources/Sprite3DTest/orc.c3b index 26af301f3b..03c9dd6910 100644 Binary files a/tests/cpp-tests/Resources/Sprite3DTest/orc.c3b and b/tests/cpp-tests/Resources/Sprite3DTest/orc.c3b differ diff --git a/tests/cpp-tests/Resources/Sprite3DTest/orc.c3t b/tests/cpp-tests/Resources/Sprite3DTest/orc.c3t index 2266d9bde7..ad0c72664e 100644 --- a/tests/cpp-tests/Resources/Sprite3DTest/orc.c3t +++ b/tests/cpp-tests/Resources/Sprite3DTest/orc.c3t @@ -1,8 +1,8 @@ { - "version": "1.2", - "mesh": [ + "version": "0.3", + "id": "", + "meshes": [ { - "version": "1.2", "attributes": [{ "size": 3, "type": "GL_FLOAT", @@ -24,824 +24,825 @@ "type": "GL_FLOAT", "attribute": "VERTEX_ATTRIB_BLEND_INDEX" }], - "body": [ + "vertices": [ + -4.087269, -0.284269, 2.467412, -0.182764, -0.799652, 0.571974, 0.309707, 0.734820, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, + -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.333359, 0.578025, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -2.124681, -1.398316, 0.289938, -0.414717, -0.889848, -0.190211, 0.417569, 0.615200, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -2.100720, -1.487626, 2.218094, -0.411006, -0.899549, 0.147936, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -2.078975, 0.078682, -0.000000, -0.977792, -0.209578, 0.525722, 0.603595, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -2.070344, 2.035419, -0.000000, -0.999855, -0.017055, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 0.000001, 4.297429, -1.503800, 0.000000, 0.936130, -0.351655, 0.006597, 0.515721, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -1.603829, 4.007904, -1.704409, -0.412737, 0.832650, -0.369245, 0.089726, 0.506043, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -1.731886, 4.110137, -1.393818, -0.358334, 0.820791, -0.444858, 0.095736, 0.526351, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 0.000001, 4.472917, -1.244516, 0.000000, 0.939374, -0.342895, 0.006597, 0.529964, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -2.699813, 3.173344, -1.321615, -0.670689, 0.515875, -0.532962, 0.156909, 0.519452, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -2.304296, 4.159584, -0.913794, -0.444107, 0.797287, -0.408781, 0.129889, 0.550101, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -4.037735, 1.413715, -1.060306, -0.418257, 0.014467, -0.908214, 0.261456, 0.548139, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -3.700437, 1.374616, -1.755363, -0.821703, 0.075096, -0.564947, 0.255269, 0.506941, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -2.492359, -0.026555, -2.382115, -0.657806, -0.677670, -0.328716, 0.371389, 0.460607, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -1.409547, -0.560929, -2.241735, -0.396237, -0.901413, -0.174500, 0.428271, 0.468498, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.032045, -2.270670, -0.000000, -0.995830, -0.091227, 0.498482, 0.466908, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -1.271439, 3.820890, -2.718979, -0.520736, 0.833095, -0.186511, 0.074126, 0.453328, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, + 0.000001, 4.317747, -3.058584, 0.000000, 0.994804, -0.101805, 0.006597, 0.435372, 0.500000, 0.500000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, + -1.311322, 2.632204, -5.556628, -0.377153, 0.768994, -0.516143, 0.059060, 0.307149, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -1.279647, 3.174070, -5.240715, -0.488778, 0.679734, -0.546861, 0.065137, 0.345324, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + 0.000000, 3.271122, -5.496089, 0.000000, 0.704023, -0.710177, 0.011131, 0.330332, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 2.475905, -5.905610, 0.000000, 0.300297, -0.953846, 0.015665, 0.286176, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.115160, 2.203591, -5.181072, -0.768884, 0.620334, -0.154932, 0.096355, 0.325173, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -2.121875, 2.400129, -4.578133, -0.812972, 0.569146, -0.123080, 0.099752, 0.356788, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.648977, 1.176870, -3.907624, -0.999865, 0.005325, -0.015548, 0.258097, 0.369293, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.945580, -0.203632, -3.893907, -0.741636, -0.669474, 0.042186, 0.410864, 0.376128, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -3.116709, 1.356369, -2.376023, -0.863554, 0.065266, -0.500015, 0.222539, 0.471098, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -0.848848, -1.060937, -3.776123, -0.493121, -0.859195, 0.136440, 0.455689, 0.380896, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.484694, -3.754461, -0.000000, -0.966174, 0.257889, 0.498482, 0.382042, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.949844, -0.534743, -5.166467, -0.650147, -0.754724, -0.087753, 0.413034, 0.312333, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.473518, 0.267851, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -0.668760, -1.251831, -4.751909, -0.682018, -0.703493, -0.199874, 0.463024, 0.329289, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.192731, -0.151175, -6.952621, -0.706980, -0.707226, -0.003249, 0.223990, 0.200451, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.559485, -0.159917, -7.099087, 0.664694, -0.735478, -0.131356, 0.297911, 0.187062, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.313899, 0.234980, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -1.949844, -0.534743, -5.166467, -0.650147, -0.754724, -0.087753, 0.264840, 0.293298, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -1.363352, 2.352389, -7.482214, -0.057472, 0.941870, -0.331027, 0.092745, 0.204413, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -1.345824, 2.391657, -7.228285, -0.040380, 0.989286, -0.140294, 0.092457, 0.215355, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.337184, 1.974184, -7.229906, 0.817066, 0.553768, -0.160446, 0.050725, 0.214293, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -2.456792, 1.664786, -7.763762, -0.895836, 0.382931, -0.225480, 0.135718, 0.192678, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -2.198960, -0.322827, -7.748406, -0.661146, -0.748557, -0.050474, 0.220752, 0.175320, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -2.446790, 1.841885, -7.083439, -0.867876, 0.490999, -0.075576, 0.134189, 0.223714, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.516951, -0.344615, -8.002507, 0.662362, -0.747149, -0.055178, 0.293523, 0.163656, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -0.291513, 1.726454, -8.018309, 0.876017, 0.430689, -0.217028, 0.050484, 0.172362, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -0.559485, -0.159917, -7.099087, 0.664694, -0.735478, -0.131356, 0.016660, 0.198764, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.516951, -0.344615, -8.002507, 0.662362, -0.747149, -0.055178, 0.021520, 0.174105, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, + -1.399821, 2.145950, -7.765605, -0.089109, 0.902329, -0.421736, 0.093066, 0.192203, 1.000000, 0.000000, 0.000000, 0.000000, 6.000000, 0.000000, 0.000000, 0.000000, + -0.672552, 1.785165, -8.769882, 0.852244, 0.499706, 0.154835, 0.054507, 0.140099, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.918122, 1.822824, -8.766640, -0.840166, 0.528132, 0.123281, 0.135006, 0.139102, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.867185, -0.207010, -8.766640, -0.633388, -0.764150, -0.122039, 0.216749, 0.130305, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.282241, 0.117162, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.031727, 0.118539, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.603736, 2.914354, -9.649544, 0.560407, 0.707841, -0.430005, 0.409494, 0.156094, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.844998, 2.948897, -9.646300, -0.505244, 0.753432, -0.420796, 0.468034, 0.156945, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.814559, 2.693850, -9.155198, -0.530276, 0.591429, 0.607469, 0.473499, 0.189960, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.584145, 2.656984, -9.158441, 0.720044, 0.460381, 0.519217, 0.401508, 0.189512, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -2.042195, 2.013168, -9.646300, -0.779666, 0.085093, -0.620387, 0.511310, 0.207254, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -2.042197, -0.197363, -9.646300, -0.640053, -0.561469, -0.524485, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.867185, -0.207010, -8.766640, -0.633388, -0.764150, -0.122039, 0.544001, 0.306866, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.918122, 1.822824, -8.766640, -0.840166, 0.528132, 0.123281, 0.478977, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.525088, -0.209657, -9.649544, 0.635800, -0.569710, -0.520758, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.567978, 0.339376, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.525088, -0.209657, -9.649544, 0.635800, -0.569710, -0.520758, 0.305184, 0.277596, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.525088, 1.989544, -9.649544, 0.773438, 0.037465, -0.632764, 0.362947, 0.203204, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.672552, 1.785165, -8.769882, 0.852244, 0.499706, 0.154835, 0.393045, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.325454, 0.299241, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -2.608569, 1.016925, -4.803867, -0.957354, -0.036606, -0.286590, 0.258097, 0.322029, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -2.799144, 1.096897, -4.355746, -0.999806, -0.012017, 0.015625, 0.258097, 0.345661, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.447415, -5.899581, 0.000000, -0.227521, -0.973773, 0.498483, 0.268938, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.296495, -5.346404, -0.000000, -0.377608, -0.925966, 0.498482, 0.297847, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.701918, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -9.506982, 1.369790, -7.232455, 0.582190, -0.409918, -0.702155, 0.809294, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -10.173913, 1.368696, -7.035121, -0.487498, -0.398394, -0.776935, 0.803017, 0.048839, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -10.098513, 3.419651, -6.822248, -0.418157, 0.722694, -0.550325, 0.700094, 0.044098, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -5.226847, -0.209988, 2.609826, -0.251472, -0.685146, 0.683621, 0.802093, 0.761336, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -5.680608, 1.538691, 3.242541, -0.410778, 0.009161, 0.911689, 0.733641, 0.752808, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -7.027541, 1.516949, 2.106554, -0.885259, -0.027789, 0.464268, 0.730021, 0.692124, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.164830, -0.180191, 1.673024, -0.669704, -0.671669, 0.316792, 0.801099, 0.692476, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.400888, 3.032663, 1.776775, -0.678619, 0.636635, 0.366297, 0.654224, 0.705733, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -5.206931, 3.130308, 2.632219, -0.154022, 0.714850, 0.682104, 0.666574, 0.765984, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -5.297268, 3.888346, 0.865671, -0.109427, 0.993288, -0.037494, 0.609914, 0.721996, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -8.059044, 1.611084, -1.215237, -0.577808, 0.017912, 0.815976, 0.783292, 0.550426, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -7.330895, -0.060689, -1.553667, -0.520354, -0.852216, 0.054397, 0.837165, 0.560061, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -6.425374, -0.031633, 0.116190, -0.541352, -0.840789, 0.003400, 0.863836, 0.629434, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -7.212104, 1.498293, 0.505771, -0.961884, -0.050890, 0.268681, 0.788340, 0.635051, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.217341, 0.016180, -2.329300, 0.337991, -0.807179, -0.483967, 0.614730, 0.495421, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -6.199885, 1.115161, -2.871512, 0.954891, -0.101008, -0.279248, 0.643053, 0.506383, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -4.402750, 1.610668, -1.099740, 0.436820, 0.023405, -0.899244, 0.594807, 0.585225, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.555129, 0.559088, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.217341, 0.016180, -2.329300, 0.337991, -0.807179, -0.483967, 0.887421, 0.523772, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.948691, 0.591039, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -8.731559, 0.605550, -5.436355, 0.328823, -0.667422, -0.668149, 0.873543, 0.161241, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -8.525305, 1.705669, -5.510110, 0.563401, 0.108959, -0.818967, 0.925373, 0.159709, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.066343, 1.404206, -3.498836, 0.937709, 0.056408, -0.342812, 0.903262, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.448989, -0.021814, -3.319559, 0.609028, -0.747698, -0.264635, 0.855594, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -7.909877, -0.066002, -2.097403, -0.272676, -0.881820, 0.384760, 0.795482, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -9.454158, 0.254739, -4.022870, -0.503633, -0.854024, 0.130374, 0.808374, 0.191682, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.863916, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -7.457404, 0.100791, -1.786957, -0.413783, -0.874080, 0.254496, 0.781685, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -9.590482, 3.106455, -4.024086, -0.409523, 0.775280, 0.480866, 0.669089, 0.164888, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -10.223380, 1.971139, -3.935808, -0.863901, 0.050932, 0.501080, 0.741196, 0.168431, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -8.776958, 1.600158, -1.333798, -0.589004, -0.009943, 0.808069, 0.750048, 0.288506, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -7.921735, 3.031140, -1.890856, -0.147307, 0.845178, 0.513785, 0.670890, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.597230, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -6.642373, 2.996217, -3.139717, 0.609769, 0.771715, -0.180662, 0.581654, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -7.590149, 2.821004, -1.714477, -0.309495, 0.831239, 0.461795, 0.677509, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -9.857598, 0.884636, -6.106341, 0.283276, -0.784596, -0.551510, 0.871793, 0.086111, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, + -9.857598, 0.884636, -6.106341, 0.283276, -0.784596, -0.551510, 0.862768, 0.105605, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, + -10.393832, 0.635038, -5.380906, -0.592763, -0.805377, -0.000689, 0.809288, 0.120362, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, + -10.848620, 2.014231, -4.998157, -0.958365, 0.018156, 0.284966, 0.740199, 0.125330, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, + -10.266550, 3.314583, -5.089772, -0.681601, 0.693889, 0.232246, 0.685856, 0.114656, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, + -10.600281, 3.298884, -6.031265, -0.732005, 0.668723, -0.130301, 0.697291, 0.079573, 0.500000, 0.250000, 0.250000, 0.000000, 10.000000, 8.000000, 9.000000, 0.000000, + -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.674520, 0.102479, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -9.733442, 3.334297, -5.822344, 0.471779, 0.876474, -0.096009, 0.678811, 0.061866, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, + -10.693343, 1.103751, -6.300011, -0.766271, -0.514906, -0.384317, 0.798732, 0.085677, 0.500000, 0.250000, 0.250000, 0.000000, 10.000000, 8.000000, 9.000000, 0.000000, + -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.679660, 0.046854, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -9.506982, 1.369790, -7.232455, 0.582190, -0.409918, -0.702155, 0.874577, 0.027494, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.976382, 0.027514, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, + -9.733442, 3.334297, -5.822344, 0.471779, 0.876474, -0.096009, 0.979709, 0.086919, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, + -3.950830, 1.543703, 3.461952, 0.580282, -0.003905, 0.814406, 0.729448, 0.816242, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -4.087269, -0.284269, 2.467412, -0.182764, -0.799652, 0.571974, 0.837287, 0.797153, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, + -7.212104, 1.498293, 0.505771, -0.961884, -0.050890, 0.268681, 0.729175, 0.647588, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.425374, -0.031633, 0.116190, -0.541352, -0.840789, 0.003400, 0.790912, 0.647805, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -6.602324, 2.945920, 0.175992, -0.627366, 0.771340, 0.106985, 0.655417, 0.665584, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -4.037735, 1.413715, -1.060306, -0.418257, 0.014467, -0.908214, 0.577173, 0.603020, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -4.480650, 3.012777, -0.839426, 0.314541, 0.681317, -0.660962, 0.628522, 0.614343, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.618911, 0.635115, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, + -6.602324, 2.945920, 0.175992, -0.627366, 0.771340, 0.106985, 0.712671, 0.636472, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -7.590149, 2.821004, -1.714477, -0.309495, 0.831239, 0.461795, 0.733992, 0.549137, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -3.777824, 2.962523, 2.384039, -0.050780, 0.756911, 0.651542, 0.638448, 0.809917, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -9.313349, 4.116706, -5.519038, 0.523871, 0.528172, -0.668276, 0.607391, 0.107445, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, + -9.897751, 4.106010, -5.496856, -0.591482, 0.535778, -0.602570, 0.575106, 0.093366, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, + -9.548986, 4.053653, -4.947104, 0.033562, 0.829653, 0.557270, 0.597136, 0.077548, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, + -9.548986, 4.053653, -4.947104, 0.033562, 0.829653, 0.557270, 0.639460, 0.112075, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, + -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.603774, 0.150144, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -9.897751, 4.106010, -5.496856, -0.591482, 0.535778, -0.602570, 0.649827, 0.087020, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, + -10.266550, 3.314583, -5.089772, -0.681601, 0.693889, 0.232246, 0.543322, 0.125652, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, + -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.221918, 0.585510, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, + -2.705508, 4.351819, 0.865750, -0.419016, 0.893229, 0.162994, 0.159966, 0.682612, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -3.777824, 2.962523, 2.384039, -0.050780, 0.756911, 0.651542, 0.236873, 0.741601, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -0.359108, -3.717716, -5.234697, -0.998278, -0.054710, -0.021170, 0.228642, 0.040555, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -3.682446, -4.842300, 0.000000, -0.087652, 0.996151, 0.226080, 0.059948, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.639396, -4.119738, -0.000000, -0.719266, 0.694735, 0.119285, 0.095657, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.668760, -1.251831, -4.751909, -0.682018, -0.703493, -0.199874, 0.100205, 0.064415, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.296495, -5.346404, -0.000000, -0.377608, -0.925966, 0.091060, 0.035035, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -3.637610, -5.791828, 0.000000, -0.028832, -0.999584, 0.225648, 0.011626, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.318626, -5.076919, -4.887983, -0.984724, 0.039673, -0.169542, 0.298757, 0.057690, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -4.724963, -4.644907, 0.000000, 0.549724, 0.835347, 0.279966, 0.069703, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.536608, -5.517948, -4.240118, -0.997433, -0.062802, 0.034391, 0.320663, 0.089708, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -5.443347, -3.529106, 0.000000, 0.913771, 0.406231, 0.315761, 0.124846, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -5.971040, -4.558301, -0.000000, -0.923559, 0.383457, 0.344881, 0.073983, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -5.926406, -2.269355, 0.000000, -0.182359, 0.983232, 0.352260, 0.188761, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -5.345521, -5.288476, -0.000000, -0.363061, -0.931765, 0.313567, 0.037898, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -6.552838, -4.725423, 0.000000, -0.996104, 0.088184, 0.375653, 0.065724, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -8.059044, 1.611084, -1.215237, -0.577808, 0.017912, 0.815976, 0.727063, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -2.482942, 0.952246, -5.766534, -0.997978, -0.054741, -0.032315, 0.188531, 0.272155, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -2.608569, 1.016925, -4.803867, -0.957354, -0.036606, -0.286590, 0.196915, 0.317992, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -2.115160, 2.203591, -5.181072, -0.768884, 0.620334, -0.154932, 0.132015, 0.307637, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -6.199885, 1.115161, -2.871512, 0.954891, -0.101008, -0.279248, 0.898151, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.535434, 0.570924, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -2.042195, 2.013168, -9.646300, -0.779666, 0.085093, -0.620387, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.525088, 1.989544, -9.649544, 0.773438, 0.037465, -0.632764, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -1.844998, 2.948897, -9.646300, -0.505244, 0.753432, -0.420796, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -0.603736, 2.914354, -9.649544, 0.560407, 0.707841, -0.430005, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, + -2.172686, 4.036571, 1.465014, -0.598887, 0.800822, 0.004296, 0.138233, 0.713080, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -2.772282, 3.497846, 2.268019, -0.778560, 0.609915, 0.147811, 0.188130, 0.752618, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -3.083329, 2.601864, 2.847198, -0.752258, 0.391855, 0.529678, 0.257680, 0.795774, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.275284, 0.755259, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, + -3.173249, 1.603701, 3.323305, -0.787395, -0.018652, 0.616166, 0.305484, 0.790334, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -2.022877, -0.888534, 2.991356, -0.337048, -0.585701, 0.737125, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -3.615881, 0.363853, 3.062848, -0.521702, -0.194763, 0.830599, 0.307595, 0.762577, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.192320, 2.126802, -5.946790, 0.420610, 0.374846, -0.826183, 0.046011, 0.264211, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.010951, 0.240628, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -1.311322, 2.632204, -5.556628, -0.377153, 0.768994, -0.516143, 0.089725, 0.287526, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.447415, -5.899581, 0.000000, -0.227521, -0.973773, 0.015665, 0.286176, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.021764, 0.289124, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -0.192320, 2.126802, -5.946790, 0.420610, 0.374846, -0.826183, 0.021764, 0.289124, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, + -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.683948, 0.813080, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, + -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.783368, 0.806697, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, + -0.000000, -1.639396, -4.119738, -0.000000, -0.719266, 0.694735, 0.498482, 0.362723, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.030988, 2.562693, -3.975194, -0.829566, 0.537252, -0.152250, 0.103148, 0.388402, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.324249, 2.784155, -2.580866, -0.773000, 0.548819, -0.318228, 0.120417, 0.444405, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -1.247973, 3.654534, -4.101803, -0.566219, 0.787820, -0.242353, 0.071215, 0.383499, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 4.004938, -4.263569, 0.000000, 0.922439, -0.386143, 0.006597, 0.374488, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -6.605109, 3.398014, -1.640210, -0.126468, 0.978741, -0.161471, 0.694861, 0.565899, 0.900000, 0.100000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.683039, 0.527767, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + 0.000001, 4.676855, 0.606215, 0.000000, 0.735969, -0.677015, 0.006597, 0.677833, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -1.945033, 0.288834, 3.561427, -0.649828, -0.678770, 0.342044, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.933280, 0.776237, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.247447, 1.993111, 5.800342, -0.691824, -0.718240, -0.074239, 0.927090, 0.781738, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.932892, 0.819354, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.922817, 0.828081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.296023, 0.688238, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.240168, 0.684302, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.275252, 0.593933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.308571, 0.646436, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.921272, 0.765846, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.901954, 0.761593, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.874456, 2.042140, 4.712246, -0.971244, -0.235256, 0.036606, 0.899196, 0.769566, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.247447, 1.993111, 5.800342, -0.691824, -0.718240, -0.074239, 0.918393, 0.773382, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.744351, 4.998834, 4.404832, -0.628382, 0.774276, 0.075049, 0.096221, 0.854527, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.329685, 4.404623, 4.378291, -0.887804, 0.391273, 0.242299, 0.149841, 0.857828, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.138491, 4.874975, 4.753927, -0.683508, 0.723824, 0.094321, 0.117520, 0.874487, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.305616, 4.104658, 5.546338, -0.937320, 0.265085, 0.226189, 0.158566, 0.921940, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.100717, 0.057122, 4.527284, -0.698132, -0.712466, -0.070738, 0.418789, 0.825849, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.788123, 4.660317, -0.000000, -0.999977, 0.006808, 0.525722, 0.832065, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.442645, 6.093413, -0.000000, -0.927476, 0.373882, 0.525722, 0.904921, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.030670, 0.229257, 6.013463, -0.680155, -0.653599, 0.331961, 0.432923, 0.901813, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.261880, 2.531273, 0.000000, 0.884510, -0.466520, 0.006597, 0.752766, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.288567, 1.536665, 0.000000, 0.960480, -0.278349, 0.006597, 0.709554, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.067885, 5.917471, 1.639274, -0.511330, 0.814153, -0.275129, 0.071511, 0.722277, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.179682, 5.942925, 2.649745, -0.540272, 0.722269, -0.431779, 0.070910, 0.760489, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.244514, 0.834024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.874456, 2.042140, 4.712246, -0.971244, -0.235256, 0.036606, 0.306429, 0.818156, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.135767, 4.817859, 1.861608, -0.784432, 0.487097, -0.383932, 0.136424, 0.735000, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -2.209270, 4.895686, 3.182524, -0.583324, 0.786675, 0.202177, 0.127679, 0.779159, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -2.645871, 4.438720, 3.090069, -0.929190, 0.368445, -0.029233, 0.155096, 0.787607, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -2.388766, 4.900162, 3.823812, -0.750856, 0.633285, 0.187527, 0.135879, 0.821018, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.142159, 6.202897, 2.823985, -0.504438, 0.823944, -0.258183, 0.069024, 0.770052, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.534364, 2.733282, 0.000000, 0.925457, -0.378852, 0.006597, 0.766635, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -2.359366, 4.832208, 2.773417, -0.796366, 0.579454, -0.173306, 0.135222, 0.768211, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -1.889815, 5.162753, 3.481335, -0.238007, 0.840642, -0.486492, 0.108020, 0.801101, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -2.284314, 4.970498, 2.977456, -0.742398, 0.657841, 0.126846, 0.131451, 0.773468, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 0.000001, 6.137319, 4.071155, 0.000000, 0.999925, 0.012248, 0.007593, 0.835127, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.981896, 3.801053, 0.000000, 0.679239, -0.733917, 0.009371, 0.816485, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.051859, 3.018328, 0.000000, 0.138561, 0.990354, 0.012962, 0.783566, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -2.209270, 4.895686, 3.182524, -0.583324, 0.786675, 0.202177, 0.013050, 0.798258, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 0.000001, 4.210176, 3.353002, 0.000000, 0.999926, 0.012129, 0.107075, 0.799345, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.889815, 5.162753, 3.481335, -0.238007, 0.840642, -0.486492, 0.013039, 0.802236, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 0.000001, 5.981896, 3.801053, 0.000000, 0.679239, -0.733917, 0.012952, 0.812094, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.993446, 4.634690, 5.201987, -0.676622, 0.720470, 0.152005, 0.111262, 0.900644, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.610057, 5.374901, 4.735716, -0.411115, 0.800451, 0.436191, 0.033340, 0.875149, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.618510, 5.833383, 4.473998, -0.482332, 0.789771, 0.378968, 0.032089, 0.860034, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.147332, 4.747048, 0.000000, 0.819967, 0.572411, 0.006526, 0.876876, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.169214, 4.530669, 0.000000, 0.983581, -0.180468, 0.006526, 0.864028, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.997812, 4.235533, -0.000000, 0.970473, 0.241209, 0.006526, 0.846308, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.494679, 3.457902, -0.000000, -0.967706, -0.252082, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.209385, 7.070982, -0.000000, -0.752818, 0.658229, 0.526304, 0.949830, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.605514, 0.714111, 7.046171, -0.563926, -0.500544, 0.656843, 0.428848, 0.950606, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.214757, 0.960645, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.369535, 0.909298, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.226122, 0.965353, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.209943, 0.976697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.104636, 6.149989, 3.039298, -0.320462, 0.595577, 0.736608, 0.067138, 0.775594, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.503769, 2.960140, 0.000000, 0.763460, 0.645855, 0.006597, 0.772028, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.104638, 0.636606, 0.000000, 0.176678, -0.984269, 0.006597, 0.687373, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, + -1.086343, 4.793220, 0.932789, -0.388776, 0.020748, -0.921099, 0.072415, 0.700226, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, + -1.067883, 5.536584, 1.084825, -0.492723, 0.497115, -0.714213, 0.071511, 0.714203, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 0.000001, 5.824797, 0.847815, 0.000000, 0.602294, -0.798275, 0.006597, 0.697521, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + -1.505060, 4.568878, 6.707249, -0.580112, 0.580950, 0.570935, 0.107178, 0.991042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.070794, 6.673260, 0.000000, 0.782803, 0.622270, 0.010844, 0.991008, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.644645, 5.783891, -0.000000, 0.953113, 0.302616, 0.006526, 0.937953, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.397726, 4.912599, 6.261040, -0.455401, 0.673674, 0.582042, 0.093827, 0.964235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.505060, 4.568878, 6.707249, -0.580112, 0.580950, 0.570935, 0.652251, 0.344933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.762823, 0.351792, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.431622, 2.524216, 7.621109, -0.563855, 0.053854, 0.824116, 0.784523, 0.418498, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.021021, 3.881262, 7.522913, -0.391688, 0.401501, 0.827875, 0.699478, 0.420790, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.070794, 6.673260, 0.000000, 0.782803, 0.622270, 0.584291, 0.385125, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 4.217567, 7.495490, 0.000000, 0.548145, 0.836383, 0.642782, 0.456495, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.605514, 0.714111, 7.046171, -0.563926, -0.500544, 0.656843, 0.883538, 0.381171, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 1.235957, 7.883574, -0.000000, -0.377457, 0.926027, 0.885473, 0.473587, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.880768, 1.677415, 7.769854, -0.344761, -0.198087, 0.917552, 0.848403, 0.428504, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 2.662455, 8.001239, 0.000000, 0.097247, 0.995260, 0.769150, 0.486235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 6.051859, 3.018328, 0.000000, 0.138561, 0.990354, 0.006597, 0.776686, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 5.823220, 4.912951, 0.000000, 0.757467, 0.652874, 0.006526, 0.886124, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.389372, 0.935901, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.209385, 7.070982, -0.000000, -0.752818, 0.658229, 0.933183, 0.401826, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.821777, 5.228320, 5.732300, -0.684879, 0.707212, 0.175473, 0.103857, 0.931602, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.704836, 5.597308, 5.767645, -0.168658, 0.939384, 0.298515, 0.040769, 0.935496, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -7.457404, 0.100791, -1.786957, -0.413783, -0.874080, 0.254496, 0.833439, 0.550855, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.879081, 0.514615, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.626233, 0.482010, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.550807, 0.743689, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, + -4.480650, 3.012777, -0.839426, 0.314541, 0.681317, -0.660962, 0.550206, 0.713349, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -5.289504, -0.876400, 0.915476, -0.114568, -0.988892, -0.094692, 0.846870, 0.713917, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.928805, 0.663638, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, + -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.929204, 0.720872, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.990700, 0.162240, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.642373, 2.996217, -3.139717, 0.609769, 0.771715, -0.180662, 0.956479, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, + -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.956955, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, + -1.945033, 0.288834, 3.561427, -0.043445, -0.433054, 0.900320, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.022877, -0.888534, 2.991356, -0.043445, -0.433054, 0.900320, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, -0.043445, -0.433054, 0.900320, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, -0.175903, -0.544988, 0.819784, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -0.494679, 3.457902, -0.175903, -0.544988, 0.819784, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.945033, 0.288834, 3.561427, -0.175903, -0.544988, 0.819784, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.022877, -0.888534, 2.991356, -0.160794, -0.772319, 0.614548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -2.100720, -1.487626, 2.218094, -0.160794, -0.772319, 0.614548, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -2.070344, 2.035419, -0.160794, -0.772319, 0.614548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -2.070344, 2.035419, -0.169903, -0.779014, 0.603548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, -0.169903, -0.779014, 0.603548, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -2.022877, -0.888534, 2.991356, -0.169903, -0.779014, 0.603548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 4.087269, -0.284270, 2.467412, 0.182764, -0.799652, 0.571974, 0.309707, 0.734820, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 2.100719, -1.487627, 2.218094, 0.411006, -0.899549, 0.147936, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.124680, -1.398316, 0.289938, 0.414717, -0.889848, -0.190211, 0.417569, 0.615200, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.333359, 0.578025, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 1.731887, 4.110136, -1.393818, 0.358335, 0.820791, -0.444858, 0.095736, 0.526351, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 1.603830, 4.007903, -1.704409, 0.412737, 0.832650, -0.369245, 0.089726, 0.506043, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 2.304297, 4.159583, -0.913794, 0.444107, 0.797287, -0.408781, 0.129889, 0.550101, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 2.699814, 3.173343, -1.321615, 0.670690, 0.515875, -0.532962, 0.156909, 0.519452, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 2.492359, -0.026556, -2.382115, 0.657806, -0.677670, -0.328716, 0.371389, 0.460607, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 3.700437, 1.374614, -1.755363, 0.821703, 0.075096, -0.564947, 0.255269, 0.506941, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + 4.037735, 1.413714, -1.060307, 0.418257, 0.014467, -0.908213, 0.261456, 0.548139, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 1.409547, -0.560929, -2.241735, 0.396237, -0.901413, -0.174500, 0.428271, 0.468498, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 1.271440, 3.820889, -2.718979, 0.520736, 0.833095, -0.186511, 0.074126, 0.453328, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, + 1.311323, 2.632203, -5.556628, 0.377153, 0.768994, -0.516143, 0.059060, 0.307149, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 1.279648, 3.174069, -5.240715, 0.488778, 0.679734, -0.546861, 0.065137, 0.345324, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 2.121876, 2.400128, -4.578133, 0.812973, 0.569146, -0.123081, 0.099752, 0.356788, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.115160, 2.203590, -5.181072, 0.768884, 0.620334, -0.154932, 0.096355, 0.325173, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 2.648978, 1.176869, -3.907624, 0.999865, 0.005325, -0.015548, 0.258097, 0.369293, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 3.116709, 1.356368, -2.376023, 0.863554, 0.065266, -0.500015, 0.222539, 0.471098, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 1.945580, -0.203632, -3.893907, 0.741636, -0.669475, 0.042186, 0.410864, 0.376128, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.848847, -1.060938, -3.776123, 0.493121, -0.859195, 0.136440, 0.455689, 0.380896, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.949844, -0.534744, -5.166467, 0.650147, -0.754724, -0.087753, 0.413034, 0.312333, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.668759, -1.251831, -4.751909, 0.682018, -0.703493, -0.199873, 0.463024, 0.329289, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.473518, 0.267851, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 2.192731, -0.151175, -6.952621, 0.706979, -0.707227, -0.003249, 0.223990, 0.200451, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 1.949844, -0.534744, -5.166467, 0.650147, -0.754724, -0.087753, 0.264840, 0.293298, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.313899, 0.234980, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.559485, -0.159917, -7.099087, -0.664694, -0.735477, -0.131356, 0.297911, 0.187062, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 1.363353, 2.352388, -7.482214, 0.057472, 0.941870, -0.331027, 0.092745, 0.204413, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 0.337184, 1.974184, -7.229906, -0.817066, 0.553769, -0.160446, 0.050725, 0.214293, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 1.345825, 2.391656, -7.228285, 0.040380, 0.989286, -0.140294, 0.092457, 0.215355, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 2.456792, 1.664785, -7.763762, 0.895836, 0.382931, -0.225480, 0.135718, 0.192678, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 2.446791, 1.841884, -7.083439, 0.867876, 0.490998, -0.075576, 0.134189, 0.223714, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 2.198960, -0.322828, -7.748406, 0.661146, -0.748558, -0.050474, 0.220752, 0.175320, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 0.516951, -0.344616, -8.002507, -0.662363, -0.747149, -0.055178, 0.293523, 0.163656, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 0.291514, 1.726454, -8.018309, -0.876016, 0.430690, -0.217029, 0.050484, 0.172362, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 0.516951, -0.344616, -8.002507, -0.662363, -0.747149, -0.055178, 0.021520, 0.174105, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, + 0.559485, -0.159917, -7.099087, -0.664694, -0.735477, -0.131356, 0.016660, 0.198764, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 1.399822, 2.145949, -7.765605, 0.089110, 0.902329, -0.421736, 0.093066, 0.192203, 1.000000, 0.000000, 0.000000, 0.000000, 15.000000, 0.000000, 0.000000, 0.000000, + 0.672552, 1.785165, -8.769882, -0.852244, 0.499707, 0.154835, 0.054507, 0.140099, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.867185, -0.207010, -8.766640, 0.633388, -0.764150, -0.122039, 0.216749, 0.130305, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.918123, 1.822824, -8.766640, 0.840166, 0.528131, 0.123281, 0.135006, 0.139102, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.282241, 0.117162, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.031727, 0.118539, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.603736, 2.914354, -9.649544, -0.560407, 0.707841, -0.430005, 0.409494, 0.156094, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.584146, 2.656984, -9.158441, -0.720044, 0.460381, 0.519217, 0.401508, 0.189512, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.814559, 2.693849, -9.155198, 0.530276, 0.591429, 0.607470, 0.473499, 0.189960, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.844999, 2.948896, -9.646300, 0.505244, 0.753432, -0.420796, 0.468034, 0.156945, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 2.042196, 2.013168, -9.646300, 0.779666, 0.085093, -0.620387, 0.511310, 0.207254, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.918123, 1.822824, -8.766640, 0.840166, 0.528131, 0.123281, 0.478977, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.867185, -0.207010, -8.766640, 0.633388, -0.764150, -0.122039, 0.544001, 0.306866, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 2.042197, -0.197364, -9.646300, 0.640053, -0.561469, -0.524485, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.567978, 0.339376, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.525088, -0.209657, -9.649544, -0.635801, -0.569709, -0.520758, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.525088, -0.209657, -9.649544, -0.635801, -0.569709, -0.520758, 0.305184, 0.277596, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.325454, 0.299241, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.672552, 1.785165, -8.769882, -0.852244, 0.499707, 0.154835, 0.393045, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.525089, 1.989544, -9.649544, -0.773437, 0.037465, -0.632764, 0.362947, 0.203204, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 2.799144, 1.096896, -4.355746, 0.999806, -0.012018, 0.015625, 0.258097, 0.345661, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.608570, 1.016924, -4.803867, 0.957354, -0.036606, -0.286590, 0.258097, 0.322029, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.701918, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 10.098515, 3.419648, -6.822248, 0.418157, 0.722695, -0.550325, 0.700094, 0.044098, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 10.173913, 1.368693, -7.035121, 0.487498, -0.398394, -0.776935, 0.803017, 0.048839, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 9.506982, 1.369787, -7.232455, -0.582190, -0.409918, -0.702155, 0.809294, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 5.226847, -0.209989, 2.609825, 0.251472, -0.685146, 0.683621, 0.802093, 0.761336, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.164830, -0.180192, 1.673024, 0.669704, -0.671669, 0.316792, 0.801099, 0.692476, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 7.027541, 1.516947, 2.106554, 0.885259, -0.027789, 0.464268, 0.730021, 0.692124, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 5.680608, 1.538689, 3.242541, 0.410778, 0.009161, 0.911689, 0.733641, 0.752808, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.400889, 3.032661, 1.776775, 0.678619, 0.636634, 0.366297, 0.654224, 0.705733, 0.900000, 0.100000, 0.000000, 0.000000, 13.000000, 12.000000, 0.000000, 0.000000, + 5.297269, 3.888345, 0.865671, 0.109427, 0.993287, -0.037494, 0.609914, 0.721996, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 5.206932, 3.130306, 2.632219, 0.154022, 0.714850, 0.682104, 0.666574, 0.765984, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 8.059044, 1.611082, -1.215237, 0.577809, 0.017912, 0.815976, 0.783292, 0.550426, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 7.212104, 1.498290, 0.505771, 0.961884, -0.050890, 0.268681, 0.788340, 0.635051, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.425374, -0.031635, 0.116190, 0.541352, -0.840789, 0.003400, 0.863836, 0.629434, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 7.330895, -0.060691, -1.553667, 0.520354, -0.852216, 0.054397, 0.837165, 0.560061, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 6.217341, 0.016178, -2.329300, -0.337991, -0.807179, -0.483967, 0.614730, 0.495421, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.555129, 0.559088, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 4.402750, 1.610666, -1.099740, -0.436820, 0.023405, -0.899245, 0.594807, 0.585225, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.199885, 1.115159, -2.871512, -0.954892, -0.101008, -0.279248, 0.643053, 0.506383, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.948691, 0.591039, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.217341, 0.016178, -2.329300, -0.337991, -0.807179, -0.483967, 0.887421, 0.523772, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 8.731559, 0.605548, -5.436355, -0.328823, -0.667422, -0.668149, 0.873543, 0.161241, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.448989, -0.021816, -3.319559, -0.609028, -0.747698, -0.264635, 0.855594, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.066343, 1.404204, -3.498836, -0.937709, 0.056408, -0.342812, 0.903262, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 8.525305, 1.705666, -5.510110, -0.563401, 0.108959, -0.818968, 0.925373, 0.159709, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 9.454158, 0.254736, -4.022870, 0.503633, -0.854024, 0.130374, 0.808374, 0.191682, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 7.909877, -0.066005, -2.097403, 0.272676, -0.881820, 0.384760, 0.795482, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.863916, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 7.457404, 0.100788, -1.786957, 0.413782, -0.874080, 0.254496, 0.781685, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 9.590482, 3.106452, -4.024086, 0.409523, 0.775280, 0.480866, 0.669089, 0.164888, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 7.921736, 3.031138, -1.890856, 0.147308, 0.845178, 0.513785, 0.670890, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 8.776958, 1.600155, -1.333798, 0.589004, -0.009943, 0.808069, 0.750048, 0.288506, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 10.223380, 1.971136, -3.935808, 0.863901, 0.050932, 0.501080, 0.741196, 0.168431, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.597230, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 7.590150, 2.821002, -1.714477, 0.309496, 0.831239, 0.461795, 0.677509, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 6.642374, 2.996215, -3.139717, -0.609768, 0.771715, -0.180662, 0.581654, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 9.857598, 0.884633, -6.106341, -0.283277, -0.784596, -0.551510, 0.871793, 0.086111, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 9.857598, 0.884633, -6.106341, -0.283277, -0.784596, -0.551510, 0.862768, 0.105605, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 10.393832, 0.635035, -5.380906, 0.592763, -0.805377, -0.000689, 0.809288, 0.120362, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 10.848620, 2.014228, -4.998157, 0.958365, 0.018155, 0.284967, 0.740199, 0.125330, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 10.600283, 3.298881, -6.031265, 0.732005, 0.668723, -0.130301, 0.697291, 0.079573, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 10.266552, 3.314580, -5.089772, 0.681602, 0.693888, 0.232246, 0.685856, 0.114656, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.674520, 0.102479, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 9.733444, 3.334294, -5.822344, -0.471779, 0.876474, -0.096009, 0.678811, 0.061866, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 10.693343, 1.103748, -6.300011, 0.766271, -0.514906, -0.384317, 0.798732, 0.085677, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.679660, 0.046854, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 9.506982, 1.369787, -7.232455, -0.582190, -0.409918, -0.702155, 0.874577, 0.027494, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 9.733444, 3.334294, -5.822344, -0.471779, 0.876474, -0.096009, 0.979709, 0.086919, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.976382, 0.027514, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, + 3.950831, 1.543702, 3.461952, -0.580282, -0.003905, 0.814406, 0.729448, 0.816242, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 4.087269, -0.284270, 2.467412, 0.182764, -0.799652, 0.571974, 0.837287, 0.797153, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 6.425374, -0.031635, 0.116190, 0.541352, -0.840789, 0.003400, 0.790912, 0.647805, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 7.212104, 1.498290, 0.505771, 0.961884, -0.050890, 0.268681, 0.729175, 0.647588, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.602325, 2.945918, 0.175992, 0.627367, 0.771340, 0.106985, 0.655417, 0.665584, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 4.037735, 1.413714, -1.060307, 0.418257, 0.014467, -0.908213, 0.577173, 0.603020, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.618911, 0.635115, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 4.480651, 3.012775, -0.839426, -0.314541, 0.681317, -0.660962, 0.628522, 0.614343, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 6.602325, 2.945918, 0.175992, 0.627367, 0.771340, 0.106985, 0.712671, 0.636472, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 7.590150, 2.821002, -1.714477, 0.309496, 0.831239, 0.461795, 0.733992, 0.549137, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 3.777825, 2.962523, 2.384039, 0.050780, 0.756911, 0.651542, 0.638448, 0.809917, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 9.313351, 4.116703, -5.519038, -0.523871, 0.528172, -0.668277, 0.607391, 0.107445, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, + 9.548988, 4.053650, -4.947104, -0.033561, 0.829653, 0.557270, 0.597136, 0.077548, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, + 9.897753, 4.106007, -5.496856, 0.591482, 0.535778, -0.602570, 0.575106, 0.093366, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, + 9.548988, 4.053650, -4.947104, -0.033561, 0.829653, 0.557270, 0.639460, 0.112075, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, + 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.603774, 0.150144, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 9.897753, 4.106007, -5.496856, 0.591482, 0.535778, -0.602570, 0.649827, 0.087020, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, + 10.266552, 3.314580, -5.089772, 0.681602, 0.693888, 0.232246, 0.543322, 0.125652, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, + 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.221918, 0.585510, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 2.705509, 4.351818, 0.865750, 0.419017, 0.893229, 0.162994, 0.159966, 0.682612, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 3.777825, 2.962523, 2.384039, 0.050780, 0.756911, 0.651542, 0.236873, 0.741601, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 0.359106, -3.717716, -5.234697, 0.998278, -0.054710, -0.021170, 0.228642, 0.040555, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.668759, -1.251831, -4.751909, 0.682018, -0.703493, -0.199873, 0.100205, 0.064415, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.318625, -5.076919, -4.887983, 0.984724, 0.039673, -0.169542, 0.298757, 0.057690, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.536606, -5.517948, -4.240118, 0.997433, -0.062802, 0.034391, 0.320663, 0.089708, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 8.059044, 1.611082, -1.215237, 0.577809, 0.017912, 0.815976, 0.727063, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 2.482943, 0.952245, -5.766534, 0.997977, -0.054741, -0.032315, 0.188531, 0.272155, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 2.115160, 2.203590, -5.181072, 0.768884, 0.620334, -0.154932, 0.132015, 0.307637, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, + 2.608570, 1.016924, -4.803867, 0.957354, -0.036606, -0.286590, 0.196915, 0.317992, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 6.199885, 1.115159, -2.871512, -0.954892, -0.101008, -0.279248, 0.898151, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.535434, 0.570924, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 0.525089, 1.989544, -9.649544, -0.773437, 0.037465, -0.632764, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 2.042196, 2.013168, -9.646300, 0.779666, 0.085093, -0.620387, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 0.603736, 2.914354, -9.649544, -0.560407, 0.707841, -0.430005, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 1.844999, 2.948896, -9.646300, 0.505244, 0.753432, -0.420796, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, + 2.172687, 4.036570, 1.465014, 0.598887, 0.800822, 0.004296, 0.138233, 0.713080, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.772283, 3.497845, 2.268019, 0.778560, 0.609915, 0.147811, 0.188130, 0.752618, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 3.083330, 2.601863, 2.847198, 0.752258, 0.391855, 0.529678, 0.257680, 0.795774, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.275284, 0.755259, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, + 3.173250, 1.603700, 3.323305, 0.787395, -0.018652, 0.616166, 0.305484, 0.790334, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 3.615881, 0.363852, 3.062848, 0.521702, -0.194763, 0.830599, 0.307595, 0.762577, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.022877, -0.888535, 2.991356, 0.337047, -0.585702, 0.737125, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.010951, 0.240628, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.192320, 2.126802, -5.946790, -0.420610, 0.374846, -0.826183, 0.046011, 0.264211, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 1.311323, 2.632203, -5.556628, 0.377153, 0.768994, -0.516143, 0.089725, 0.287526, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.192320, 2.126802, -5.946790, -0.420610, 0.374846, -0.826183, 0.021764, 0.289124, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.021764, 0.289124, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, + 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.683948, 0.813080, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, + 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.783368, 0.806697, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, + 2.030989, 2.562692, -3.975194, 0.829566, 0.537252, -0.152250, 0.103148, 0.388402, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.324250, 2.784155, -2.580866, 0.773000, 0.548819, -0.318228, 0.120417, 0.444405, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 1.247974, 3.654534, -4.101803, 0.566219, 0.787820, -0.242353, 0.071215, 0.383499, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 6.605110, 3.398012, -1.640210, 0.126468, 0.978741, -0.161471, 0.694861, 0.565899, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.683039, 0.527767, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 1.945033, 0.288834, 3.561427, 0.649828, -0.678770, 0.342044, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.933280, 0.776237, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.932892, 0.819354, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.101593, 1.996771, 5.795833, 0.549278, -0.833777, -0.055759, 0.927090, 0.781738, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.922817, 0.828081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.296023, 0.688238, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.308571, 0.646436, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.275252, 0.593933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.240168, 0.684302, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.921272, 0.765846, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 3.101593, 1.996771, 5.795833, 0.549278, -0.833777, -0.055759, 0.918393, 0.773382, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.874457, 2.042139, 4.712246, 0.972764, -0.226088, 0.051128, 0.899196, 0.769566, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.901954, 0.761593, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.744352, 4.998833, 4.404832, 0.628382, 0.774276, 0.075049, 0.096221, 0.854527, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.138492, 4.874974, 4.753927, 0.683508, 0.723824, 0.094321, 0.117520, 0.874487, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.329687, 4.404622, 4.378291, 0.887804, 0.391273, 0.242299, 0.149841, 0.857828, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.305617, 4.104657, 5.546338, 0.937320, 0.265084, 0.226189, 0.158566, 0.921940, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.100717, 0.057121, 4.527284, 0.698132, -0.712466, -0.070738, 0.418789, 0.825849, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.030670, 0.229257, 6.013463, 0.680155, -0.653599, 0.331961, 0.432923, 0.901813, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.179684, 5.942925, 2.649745, 0.540272, 0.722269, -0.431779, 0.070910, 0.760489, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.067886, 5.917471, 1.639274, 0.511330, 0.814153, -0.275129, 0.071511, 0.722277, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.244514, 0.834024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.874457, 2.042139, 4.712246, 0.972764, -0.226088, 0.051128, 0.306429, 0.818156, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.135769, 4.817858, 1.861608, 0.784432, 0.487096, -0.383932, 0.136424, 0.735000, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 2.209271, 4.895685, 3.182524, 0.583325, 0.786675, 0.202177, 0.127679, 0.779159, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 2.388767, 4.900161, 3.823812, 0.750856, 0.633284, 0.187527, 0.135879, 0.821018, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.645873, 4.438719, 3.090069, 0.929190, 0.368445, -0.029233, 0.155096, 0.787607, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 1.142160, 6.202897, 2.823985, 0.504438, 0.823944, -0.258183, 0.069024, 0.770052, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 2.359367, 4.832207, 2.773417, 0.796366, 0.579453, -0.173306, 0.135222, 0.768211, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 1.889817, 5.162752, 3.481335, 0.238007, 0.840641, -0.486492, 0.108020, 0.801101, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 2.284316, 4.970497, 2.977456, 0.742399, 0.657841, 0.126846, 0.131451, 0.773468, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 2.209271, 4.895685, 3.182524, 0.583325, 0.786675, 0.202177, 0.013050, 0.798258, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 1.889817, 5.162752, 3.481335, 0.238007, 0.840641, -0.486492, 0.013039, 0.802236, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 1.993447, 4.634689, 5.201987, 0.676622, 0.720470, 0.152005, 0.111262, 0.900644, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.618512, 5.833383, 4.473998, 0.482332, 0.789771, 0.378968, 0.032089, 0.860034, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.610059, 5.374901, 4.735716, 0.411115, 0.800451, 0.436191, 0.033340, 0.875149, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.605515, 0.714110, 7.046171, 0.563926, -0.500545, 0.656843, 0.428848, 0.950606, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.214757, 0.960645, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.369535, 0.909298, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.226122, 0.965353, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.209943, 0.976697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.104638, 6.149989, 3.039298, 0.320463, 0.595577, 0.736608, 0.067138, 0.775594, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.067884, 5.536584, 1.084825, 0.492724, 0.497115, -0.714213, 0.071511, 0.714203, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, + 1.086344, 4.793220, 0.932789, 0.388776, 0.020748, -0.921099, 0.072415, 0.700226, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, + 1.505062, 4.568878, 6.707249, 0.580112, 0.580950, 0.570935, 0.107178, 0.991042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.397728, 4.912599, 6.261040, 0.455402, 0.673674, 0.582042, 0.093827, 0.964235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.505062, 4.568878, 6.707249, 0.580112, 0.580950, 0.570935, 0.652251, 0.344933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.021022, 3.881262, 7.522913, 0.391688, 0.401501, 0.827875, 0.699478, 0.420790, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.431623, 2.524216, 7.621109, 0.563855, 0.053854, 0.824116, 0.784523, 0.418498, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.762823, 0.351792, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.605515, 0.714110, 7.046171, 0.563926, -0.500545, 0.656843, 0.883538, 0.381171, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.880768, 1.677414, 7.769854, 0.344761, -0.198087, 0.917552, 0.848403, 0.428504, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.389372, 0.935901, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.821778, 5.228319, 5.732300, 0.684880, 0.707212, 0.175472, 0.103857, 0.931602, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.704838, 5.597308, 5.767645, 0.168659, 0.939384, 0.298515, 0.040769, 0.935496, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 7.457404, 0.100788, -1.786957, 0.413782, -0.874080, 0.254496, 0.833439, 0.550855, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.879081, 0.514615, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.626233, 0.482010, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.550807, 0.743689, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, + 4.480651, 3.012775, -0.839426, -0.314541, 0.681317, -0.660962, 0.550206, 0.713349, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 5.289504, -0.876402, 0.915476, 0.114568, -0.988892, -0.094692, 0.846870, 0.713917, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.929204, 0.720872, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.928805, 0.663638, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, + 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.990700, 0.162240, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.642374, 2.996215, -3.139717, -0.609768, 0.771715, -0.180662, 0.956479, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, + 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.956955, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, + 1.945033, 0.288834, 3.561427, 0.175903, -0.544988, 0.819784, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -0.494679, 3.457902, 0.175903, -0.544988, 0.819784, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, 0.175903, -0.544988, 0.819784, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, 0.043445, -0.433054, 0.900320, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.022877, -0.888535, 2.991356, 0.043445, -0.433054, 0.900320, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 1.945033, 0.288834, 3.561427, 0.043445, -0.433054, 0.900320, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 2.022877, -0.888535, 2.991356, 0.169903, -0.779014, 0.603548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -1.471252, 2.808681, 0.169903, -0.779014, 0.603548, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -2.070344, 2.035419, 0.169903, -0.779014, 0.603548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -0.000000, -2.070344, 2.035419, 0.160793, -0.772319, 0.614548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.100719, -1.487627, 2.218094, 0.160793, -0.772319, 0.614548, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + 2.022877, -0.888535, 2.991356, 0.160793, -0.772319, 0.614548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, + -2.171721, 3.376760, -4.168801, -0.741689, 0.622351, -0.250154, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.809124, 3.072505, -5.003186, -0.666298, 0.559091, -0.493421, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.974933, 2.804268, -4.916487, -0.942245, 0.095409, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.967840, 2.713004, -4.710462, -0.957126, -0.063323, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.232371, 2.413843, -4.367285, -0.929187, 0.129856, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.319298, 2.530162, -3.827997, -0.984301, 0.119175, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.171434, 3.376519, -3.441473, -0.766044, 0.642788, 0.000514, 0.451606, 0.130640, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.280035, 2.939553, -3.505896, -0.981685, 0.186854, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.573754, 3.282374, -4.916487, -0.257579, 0.911362, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.233964, 3.603698, -4.367285, -0.289235, 0.892522, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.482644, 3.291237, -4.710462, -0.103843, 0.953581, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.363611, 3.669105, -3.827997, -0.288287, 0.948653, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.759964, 3.559348, -3.505896, -0.354483, 0.934324, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.171721, 3.376759, -4.168801, 0.741689, 0.622351, -0.250154, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.974934, 2.804267, -4.916487, 0.942245, 0.095409, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.809125, 3.072505, -5.003186, 0.666298, 0.559091, -0.493421, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.232372, 2.413842, -4.367285, 0.929187, 0.129856, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.967840, 2.713003, -4.710462, 0.957126, -0.063323, -0.282665, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.319299, 2.530162, -3.827997, 0.984301, 0.119175, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.171435, 3.376519, -3.441473, 0.766044, 0.642788, 0.000514, 0.451606, 0.130640, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.280035, 2.939553, -3.505896, 0.981685, 0.186854, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.573755, 3.282373, -4.916487, 0.257579, 0.911362, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.482645, 3.291236, -4.710462, 0.103843, 0.953581, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.233965, 3.603698, -4.367285, 0.289235, 0.892522, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.363612, 3.669105, -3.827997, 0.288287, 0.948653, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.759965, 3.559348, -3.505896, 0.354483, 0.934324, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.520755, 5.587278, 3.023941, -0.527537, 0.847227, 0.062541, 0.289075, 0.864863, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.718281, 5.140290, 3.007710, -0.914407, 0.404571, -0.013485, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.651838, 5.308445, 3.547163, -0.876941, 0.460404, 0.137851, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.524569, 5.531939, 3.555278, -0.504441, 0.844248, 0.181066, 0.290902, 0.882222, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.328358, 5.476600, 4.086616, -0.482829, 0.834586, 0.265221, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -1.334352, 5.513103, 3.594080, 0.079421, 0.992542, 0.092479, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.791811, 6.108243, 2.960360, -0.448297, 0.893885, -0.000250, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.980155, 5.837409, 3.016448, -0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.881781, 5.975036, 3.354879, -0.808596, 0.581230, 0.091346, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.787609, 6.110453, 3.326836, -0.466134, 0.882518, 0.062305, 0.288248, 0.882715, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.678392, 6.112663, 3.693311, -0.459756, 0.878222, 0.131722, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.660664, 6.105395, 3.348310, 0.041929, 0.999042, -0.012557, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 4.544241, -4.139903, 0.000000, 0.975608, -0.219519, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.000001, 3.953575, -5.377921, 0.000000, 0.902540, -0.430607, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.463021, 3.896918, -5.249282, -0.471233, 0.833156, -0.289468, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -0.559988, 3.816933, -4.943592, -0.614159, 0.748674, -0.249592, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.152314, 3.829844, -4.434402, -0.444059, 0.842257, -0.305638, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -1.103008, 4.006241, -3.634236, -0.477064, 0.871527, -0.113363, 0.495359, 0.108999, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, + 0.000001, 4.543774, -3.060731, 0.000000, 1.000000, 0.000433, 0.451606, 0.130640, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, + -0.600239, 4.297089, -3.156317, -0.424975, 0.904638, -0.032030, 0.475754, 0.125810, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, + 1.520757, 5.587278, 3.023941, 0.527537, 0.847226, 0.062541, 0.289075, 0.864863, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.524571, 5.531939, 3.555278, 0.504442, 0.844247, 0.181066, 0.290902, 0.882222, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.651840, 5.308444, 3.547163, 0.876942, 0.460402, 0.137851, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.718283, 5.140289, 3.007710, 0.914408, 0.404570, -0.013485, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.328359, 5.476600, 4.086616, 0.482830, 0.834585, 0.265221, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.334354, 5.513103, 3.594080, -0.079421, 0.992542, 0.092479, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.791813, 6.108243, 2.960360, 0.448297, 0.893885, -0.000250, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.787611, 6.110453, 3.326836, 0.466134, 0.882518, 0.062305, 0.288248, 0.882715, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.881783, 5.975036, 3.354879, 0.808596, 0.581230, 0.091346, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.980157, 5.837409, 3.016448, 0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.678394, 6.112663, 3.693311, 0.459756, 0.878222, 0.131722, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.660666, 6.105395, 3.348310, -0.041929, 0.999042, -0.012557, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.463022, 3.896918, -5.249282, 0.471233, 0.833155, -0.289468, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.152315, 3.829843, -4.434402, 0.444059, 0.842257, -0.305638, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 0.559990, 3.816933, -4.943592, 0.614159, 0.748674, -0.249592, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 1.103009, 4.006241, -3.634236, 0.477064, 0.871527, -0.113363, 0.495359, 0.108999, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, + 0.600240, 4.297089, -3.156317, 0.424975, 0.904638, -0.032030, 0.475754, 0.125810, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, + -0.000001, 0.067566, 7.433109, -0.000000, -0.940426, -0.339997, 0.602601, 0.462555, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.593160, 0.337166, 7.725164, -0.755821, -0.654184, 0.027901, 0.587300, 0.478284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.399771, 1.063723, 7.297896, -0.849279, -0.071544, -0.523075, 0.545406, 0.454664, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 0.891214, 7.117573, -0.000000, -0.357743, -0.933820, 0.555200, 0.444956, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.593160, 0.870324, 8.297078, -0.750042, -0.087060, 0.655635, 0.557039, 0.509081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.399771, 1.404421, 7.650320, -0.836985, 0.518118, 0.176096, 0.526061, 0.473635, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 1.127739, 8.566290, 0.000000, 0.236011, 0.971750, 0.542424, 0.523574, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 1.569982, 7.817772, 0.000000, 0.853861, 0.520502, 0.516659, 0.482647, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -1.020623, 7.705671, 0.000000, 0.073925, -0.997264, 0.703290, 0.852123, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.946626, -0.749224, 8.206474, -0.856724, 0.135206, -0.497738, 0.706071, 0.901278, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.419059, 0.608771, 7.666940, -0.802237, 0.081854, -0.591368, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 0.422371, 7.467996, 0.000000, -0.162520, -0.986705, 0.629516, 0.872293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.946626, -0.251111, 9.129706, -0.845806, 0.369473, 0.384839, 0.695375, 0.943212, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.419059, 0.979188, 8.059962, -0.804057, 0.554976, 0.213292, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 0.189326, 9.610215, 0.000000, 0.601881, 0.798586, 0.687462, 0.984024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 1.160258, 8.248867, 0.000000, 0.801473, 0.598031, 0.606736, 0.941328, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, 0.611745, 8.025559, -0.000000, -0.730462, 0.682953, 0.571719, 0.494463, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -2.207735, 7.412736, 0.000000, 0.439276, -0.898352, 0.793979, 0.835265, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.096123, 8.114799, -0.895053, 0.171826, -0.411530, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.015487, 9.530549, -0.846077, -0.035288, 0.531891, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -1.750179, 10.331022, 0.000000, 0.020919, 0.999781, 0.783473, 0.991512, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -3.026798, 6.814359, 0.000000, 0.548431, -0.836196, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.129799, -3.360023, 7.355148, -0.856920, 0.261637, -0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.129799, -4.019727, 8.643523, -0.876419, -0.176600, 0.447997, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000002, -4.346144, 9.381991, -0.000000, -0.343354, 0.939206, 0.885692, 0.988753, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.399769, 1.063723, 7.297896, 0.849279, -0.071545, -0.523075, 0.545406, 0.454664, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.593158, 0.337165, 7.725164, 0.755821, -0.654184, 0.027901, 0.587300, 0.478284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.399770, 1.404421, 7.650320, 0.836985, 0.518118, 0.176096, 0.526061, 0.473635, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.593158, 0.870324, 8.297078, 0.750042, -0.087061, 0.655635, 0.557039, 0.509081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.419057, 0.608770, 7.666940, 0.802237, 0.081853, -0.591368, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.946624, -0.749224, 8.206474, 0.856724, 0.135205, -0.497738, 0.706071, 0.901278, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.419057, 0.979188, 8.059962, 0.804058, 0.554975, 0.213292, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.946624, -0.251111, 9.129706, 0.845806, 0.369473, 0.384839, 0.695375, 0.943212, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.096123, 8.114799, 0.895053, 0.171826, -0.411530, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.015488, 9.530549, 0.846077, -0.035288, 0.531891, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.129797, -3.360023, 7.355148, 0.856920, 0.261637, -0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.129796, -4.019727, 8.643524, 0.876419, -0.176600, 0.447998, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -3.561234, 6.937406, 0.000000, 0.365029, -0.930996, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.884116, -3.976414, 7.210742, -0.889807, 0.119533, -0.440404, 0.886369, 0.876580, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.096123, 8.114799, -0.938466, 0.027888, -0.344244, 0.621521, 0.890142, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -2.207735, 7.412736, 0.000000, 0.331348, -0.943509, 0.629516, 0.866346, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.884116, -4.870378, 7.906315, -0.819305, -0.313552, 0.480026, 0.886097, 0.921211, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.015488, 9.530548, -0.710926, -0.402806, 0.576483, 0.614927, 0.907284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000002, -5.346106, 8.322102, -0.012702, -0.507196, 0.861737, 0.885692, 0.964046, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -1.750179, 10.331022, -0.007721, -0.502718, 0.864416, 0.606736, 0.924260, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.096124, 8.114799, 0.938466, 0.027888, -0.344244, 0.621521, 0.890142, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.884113, -3.976415, 7.210742, 0.889807, 0.119533, -0.440404, 0.886369, 0.876580, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.015488, 9.530548, 0.731429, -0.371157, 0.572062, 0.614927, 0.907284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.884113, -4.870379, 7.906317, 0.831441, -0.328963, 0.447761, 0.886097, 0.921211, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.096123, 8.114799, 0.930165, -0.196490, 0.310137, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.129799, -3.360022, 7.355147, 0.856920, -0.261637, 0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -3.026798, 6.814358, -0.000000, -0.548431, 0.836196, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -2.207734, 7.412735, -0.000000, -0.589908, 0.807471, 0.793979, 0.835265, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.015487, 9.530549, 0.762467, 0.265192, -0.590184, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.129800, -4.019727, 8.643523, 0.876419, 0.176600, -0.447997, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -1.750178, 10.331021, -0.000000, 0.383013, -0.923743, 0.783473, 0.991512, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000002, -4.346144, 9.381990, 0.000000, 0.343354, -0.939206, 0.885692, 0.988753, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.096123, 8.114799, -0.930165, -0.196490, 0.310137, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.129797, -3.360023, 7.355147, -0.856920, -0.261637, 0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.015487, 9.530549, -0.762467, 0.265192, -0.590184, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.129796, -4.019726, 8.643524, -0.876419, 0.176600, -0.447998, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000002, -4.433487, 7.582271, 0.000000, -0.927545, -0.373711, 0.828533, 0.911578, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.096123, 8.114799, -0.877393, -0.353679, -0.324180, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -2.207734, 7.412735, -0.000000, -0.075950, -0.997112, 0.629516, 0.872293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.138957, -2.015487, 9.530548, -0.558480, -0.663842, 0.497407, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -0.000001, -1.750178, 10.331021, -0.000000, -0.715573, 0.698537, 0.606736, 0.941328, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.096123, 8.114799, 0.877393, -0.353679, -0.324180, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 1.138954, -2.015487, 9.530548, 0.558479, -0.663842, 0.497407, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + 0.242433, 5.105717, -0.882794, 0.149074, 0.986324, -0.070292, 0.962284, 0.614281, 0.700000, 0.300000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 1.600020, 4.269749, -2.034275, 0.605018, 0.788025, -0.113883, 0.962284, 0.539918, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 1.162399, 4.489936, -2.835589, 0.562525, 0.803314, -0.195581, 0.997191, 0.539918, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -0.371226, 5.105717, -1.625796, 0.104055, 0.990851, -0.085941, 0.997191, 0.614281, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + -1.544198, 5.054295, 0.463897, -0.206375, 0.972199, 0.110625, 0.962284, 0.688645, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -2.058964, 5.054296, -0.426690, -0.173219, 0.979711, 0.100800, 0.997191, 0.688645, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, + -3.493287, 4.198587, 0.917447, -0.576070, 0.790388, 0.208398, 0.997191, 0.763008, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -3.159199, 4.198586, 1.752134, -0.631874, 0.732646, 0.252912, 0.962284, 0.763008, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -3.777824, 2.962523, 2.384038, -0.866242, 0.451999, 0.212890, 0.962284, 0.828947, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + -3.807109, 3.181101, 1.481434, -0.929496, 0.350439, 0.115021, 0.997191, 0.823719, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, + 2.718091, 2.889540, -2.946126, 0.668365, 0.525017, -0.526921, 0.962284, 0.450215, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, + 2.171070, 2.703260, -3.713501, 0.682216, 0.434023, -0.588392, 0.997191, 0.449275, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.648978, 1.176869, -3.907624, 0.743959, 0.308327, -0.592840, 0.962284, 0.427354, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + 2.280738, 2.002637, -3.947887, 0.758649, 0.310379, -0.572814, 0.997191, 0.427354, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, + -2.995890, 1.700986, 5.156621, -0.947595, 0.094779, 0.305092, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.842206, 2.258922, 5.460625, -0.947595, 0.094779, 0.305092, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.021260, 1.991533, 4.987562, -0.947595, 0.094779, 0.305092, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.808360, 2.502507, 5.381116, -0.919319, 0.088793, 0.383364, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, -0.919319, 0.088793, 0.383364, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.978030, 2.651995, 4.939616, -0.919319, 0.088793, 0.383364, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, -0.948345, 0.094181, 0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.097670, 2.936896, 4.455233, -0.948345, 0.094181, 0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, -0.948345, 0.094181, 0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, -0.951506, 0.119635, 0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.978030, 2.651995, 4.939616, -0.951506, 0.119635, 0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, -0.951506, 0.119635, 0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.097670, 2.936896, 4.455233, -0.939614, 0.107088, 0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.251354, 2.511201, 4.151228, -0.939615, 0.107088, 0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.156410, 2.420167, 4.455673, -0.939615, 0.107088, 0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, -0.939614, 0.107088, 0.325049, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.285201, 1.972883, 4.230737, -0.939615, 0.107088, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.174316, 2.135377, 4.497736, -0.939615, 0.107088, 0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.179384, 1.637281, 4.647183, -0.939615, 0.107088, 0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.118335, 1.957831, 4.718052, -0.939615, 0.107088, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.995890, 1.700986, 5.156621, -0.939615, 0.107088, 0.325049, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.021260, 1.991533, 4.987562, -0.939615, 0.107088, 0.325049, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.995890, 1.700986, 5.156621, 0.947595, -0.094779, -0.305091, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.021260, 1.991533, 4.987562, 0.947595, -0.094779, -0.305091, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.842206, 2.258922, 5.460625, 0.947595, -0.094779, -0.305091, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.808360, 2.502507, 5.381116, 0.919319, -0.088793, -0.383364, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.978030, 2.651995, 4.939616, 0.919319, -0.088793, -0.383364, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, 0.919319, -0.088793, -0.383364, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, 0.951506, -0.119636, -0.283415, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.978030, 2.651995, 4.939616, 0.951506, -0.119636, -0.283415, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, 0.951506, -0.119636, -0.283415, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, 0.948345, -0.094181, -0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.097670, 2.936896, 4.455233, 0.948345, -0.094181, -0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.914176, 2.973520, 5.018271, 0.948345, -0.094181, -0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.097670, 2.936896, 4.455233, 0.939614, -0.107088, -0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.075105, 2.645375, 4.616503, 0.939614, -0.107088, -0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.156410, 2.420167, 4.455673, 0.939614, -0.107088, -0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.156410, 2.420167, 4.455673, 0.939615, -0.107088, -0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.251354, 2.511201, 4.151228, 0.939615, -0.107088, -0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.097670, 2.936896, 4.455233, 0.939615, -0.107088, -0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.174316, 2.135377, 4.497736, 0.939615, -0.107088, -0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.285201, 1.972883, 4.230737, 0.939615, -0.107088, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.118335, 1.957831, 4.718052, 0.939614, -0.107088, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.179384, 1.637281, 4.647183, 0.939614, -0.107088, -0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.021260, 1.991533, 4.987562, 0.939614, -0.107088, -0.325049, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -2.995890, 1.700986, 5.156621, 0.939615, -0.107089, -0.325049, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -1.083309, 5.549606, 3.101544, 0.068987, 0.992000, 0.105717, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 1.083311, 5.549606, 3.101544, -0.068987, 0.992000, 0.105717, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.526897, 5.899904, 3.043022, -0.820401, 0.571758, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.384680, 6.098868, 3.532284, -0.503416, 0.864044, 0.000563, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.390755, 6.095674, 3.002480, -0.448296, 0.893885, -0.000249, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.207234, 6.088361, 3.033525, 0.040909, 0.999142, -0.006493, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.504560, 5.899904, 3.043022, 0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.368418, 6.095674, 3.002480, 0.448296, 0.893885, -0.000249, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.362343, 6.098868, 3.532284, 0.503416, 0.864044, 0.000562, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.184897, 6.088361, 3.033525, -0.040909, 0.999142, -0.006493, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -0.537921, 6.098127, 3.003309, 0.040909, 0.999142, -0.006494, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + 0.537923, 6.098127, 3.003309, -0.040908, 0.999142, -0.006494, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, + -3.276351, 1.749548, 5.709937, -0.929793, 0.340256, -0.140399, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.182558, 2.082404, 5.895470, -0.929793, 0.340256, -0.140399, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194047, 1.932997, 5.609465, -0.929793, 0.340256, -0.140399, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.161902, 2.305543, 5.846946, -0.926336, 0.094782, 0.364578, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, -0.926336, 0.094782, 0.364578, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.265451, 2.329944, 5.577500, -0.926336, 0.094782, 0.364578, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, -0.948345, 0.094181, 0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, -0.948345, 0.094181, 0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, -0.948345, 0.094181, 0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, -0.951506, 0.119636, 0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.265451, 2.329944, 5.577500, -0.951506, 0.119636, 0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, -0.951506, 0.119636, 0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, -0.939614, 0.107089, 0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, -0.939614, 0.107089, 0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, -0.939614, 0.107089, 0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, -0.939614, 0.107089, 0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, -0.939614, 0.107089, 0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, -0.939614, 0.107089, 0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, -0.939614, 0.107088, 0.325050, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, -0.939614, 0.107088, 0.325050, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, -0.939614, 0.107088, 0.325050, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, -0.939615, 0.107086, 0.325048, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, -0.939615, 0.107086, 0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, -0.939615, 0.107086, 0.325048, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, -0.939615, 0.107088, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, -0.939615, 0.107088, 0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, -0.939615, 0.107088, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, -0.939614, 0.107090, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, -0.939614, 0.107090, 0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, -0.939614, 0.107090, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, -0.831478, 0.502642, 0.236634, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.276351, 1.749548, 5.709937, -0.831478, 0.502642, 0.236634, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194047, 1.932997, 5.609465, -0.831478, 0.502642, 0.236634, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194047, 1.932997, 5.609465, -0.727796, -0.012982, 0.685671, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, -0.727796, -0.012982, 0.685671, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, -0.727796, -0.012982, 0.685671, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.276351, 1.749548, 5.709937, 0.929792, -0.340256, 0.140400, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194046, 1.932996, 5.609465, 0.929792, -0.340256, 0.140400, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.182558, 2.082404, 5.895470, 0.929792, -0.340256, 0.140400, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.161902, 2.305543, 5.846946, 0.926336, -0.094782, -0.364578, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.265451, 2.329944, 5.577500, 0.926336, -0.094782, -0.364578, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, 0.926336, -0.094782, -0.364578, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, 0.951506, -0.119636, -0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.265451, 2.329944, 5.577500, 0.951506, -0.119636, -0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, 0.951506, -0.119636, -0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, 0.948345, -0.094181, -0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, 0.948345, -0.094181, -0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.226481, 2.526169, 5.625503, 0.948345, -0.094181, -0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, 0.939614, -0.107089, -0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.324695, 2.325904, 5.380305, 0.939614, -0.107089, -0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, 0.939614, -0.107089, -0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, 0.939614, -0.107089, -0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, 0.939614, -0.107089, -0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.338466, 2.503818, 5.281883, 0.939614, -0.107089, -0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, 0.939615, -0.107086, -0.325048, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.374315, 2.188460, 5.282152, 0.939615, -0.107086, -0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, 0.939615, -0.107086, -0.325048, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, 0.939614, -0.107088, -0.325050, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, 0.939614, -0.107088, -0.325050, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.432259, 2.244018, 5.096350, 0.939614, -0.107088, -0.325050, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, 0.939614, -0.107089, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.385243, 2.014654, 5.307822, 0.939614, -0.107089, -0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, 0.939614, -0.107089, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, 0.939615, -0.107088, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, 0.939615, -0.107088, -0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.452916, 1.915485, 5.144874, 0.939615, -0.107088, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, 0.727795, 0.012982, -0.685672, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.351078, 1.906299, 5.442281, 0.727795, 0.012982, -0.685672, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194046, 1.932996, 5.609465, 0.727795, 0.012982, -0.685672, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.194046, 1.932996, 5.609465, 0.831477, -0.502643, -0.236634, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.276351, 1.749548, 5.709937, 0.831477, -0.502643, -0.236634, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, + -3.388336, 1.710668, 5.399030, 0.831477, -0.502643, -0.236634, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000 + ], + "parts": [ { - "vertices": [ - -4.087269, -0.284269, 2.467412, -0.182764, -0.799652, 0.571974, 0.309707, 0.734820, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.333359, 0.578025, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -2.124681, -1.398316, 0.289938, -0.414717, -0.889848, -0.190211, 0.417569, 0.615200, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -2.100720, -1.487626, 2.218094, -0.411006, -0.899549, 0.147936, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -2.078975, 0.078682, -0.000000, -0.977792, -0.209578, 0.525722, 0.603595, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -2.070344, 2.035419, -0.000000, -0.999855, -0.017055, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 0.000001, 4.297429, -1.503800, 0.000000, 0.936130, -0.351655, 0.006597, 0.515721, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -1.603829, 4.007904, -1.704409, -0.412737, 0.832650, -0.369245, 0.089726, 0.506043, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -1.731886, 4.110137, -1.393818, -0.358334, 0.820791, -0.444858, 0.095736, 0.526351, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 0.000001, 4.472917, -1.244516, 0.000000, 0.939374, -0.342895, 0.006597, 0.529964, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -2.699813, 3.173344, -1.321615, -0.670689, 0.515875, -0.532962, 0.156909, 0.519452, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -2.304296, 4.159584, -0.913794, -0.444107, 0.797287, -0.408781, 0.129889, 0.550101, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -4.037735, 1.413715, -1.060306, -0.418257, 0.014467, -0.908214, 0.261456, 0.548139, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -3.700437, 1.374616, -1.755363, -0.821703, 0.075096, -0.564947, 0.255269, 0.506941, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -2.492359, -0.026555, -2.382115, -0.657806, -0.677670, -0.328716, 0.371389, 0.460607, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -1.409547, -0.560929, -2.241735, -0.396237, -0.901413, -0.174500, 0.428271, 0.468498, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.032045, -2.270670, -0.000000, -0.995830, -0.091227, 0.498482, 0.466908, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -1.271439, 3.820890, -2.718979, -0.520736, 0.833095, -0.186511, 0.074126, 0.453328, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, - 0.000001, 4.317747, -3.058584, 0.000000, 0.994804, -0.101805, 0.006597, 0.435372, 0.500000, 0.500000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, - -1.311322, 2.632204, -5.556628, -0.377153, 0.768994, -0.516143, 0.059060, 0.307149, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -1.279647, 3.174070, -5.240715, -0.488778, 0.679734, -0.546861, 0.065137, 0.345324, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - 0.000000, 3.271122, -5.496089, 0.000000, 0.704023, -0.710177, 0.011131, 0.330332, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 2.475905, -5.905610, 0.000000, 0.300297, -0.953846, 0.015665, 0.286176, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.115160, 2.203591, -5.181072, -0.768884, 0.620334, -0.154932, 0.096355, 0.325173, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -2.121875, 2.400129, -4.578133, -0.812972, 0.569146, -0.123080, 0.099752, 0.356788, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.648977, 1.176870, -3.907624, -0.999865, 0.005325, -0.015548, 0.258097, 0.369293, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.945580, -0.203632, -3.893907, -0.741636, -0.669474, 0.042186, 0.410864, 0.376128, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -3.116709, 1.356369, -2.376023, -0.863554, 0.065266, -0.500015, 0.222539, 0.471098, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -0.848848, -1.060937, -3.776123, -0.493121, -0.859195, 0.136440, 0.455689, 0.380896, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.484694, -3.754461, -0.000000, -0.966174, 0.257889, 0.498482, 0.382042, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.949844, -0.534743, -5.166467, -0.650147, -0.754724, -0.087753, 0.413034, 0.312333, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.473518, 0.267851, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -0.668760, -1.251831, -4.751909, -0.682018, -0.703493, -0.199874, 0.463024, 0.329289, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.192731, -0.151175, -6.952621, -0.706980, -0.707226, -0.003249, 0.223990, 0.200451, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.559485, -0.159917, -7.099087, 0.664694, -0.735478, -0.131356, 0.297911, 0.187062, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.313899, 0.234980, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -1.949844, -0.534743, -5.166467, -0.650147, -0.754724, -0.087753, 0.264840, 0.293298, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -1.363352, 2.352389, -7.482214, -0.057472, 0.941870, -0.331027, 0.092745, 0.204413, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -1.345824, 2.391657, -7.228285, -0.040380, 0.989286, -0.140294, 0.092457, 0.215355, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.337184, 1.974184, -7.229906, 0.817066, 0.553768, -0.160446, 0.050725, 0.214293, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -2.456792, 1.664786, -7.763762, -0.895836, 0.382931, -0.225480, 0.135718, 0.192678, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -2.198960, -0.322827, -7.748406, -0.661146, -0.748557, -0.050474, 0.220752, 0.175320, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -2.446790, 1.841885, -7.083439, -0.867876, 0.490999, -0.075576, 0.134189, 0.223714, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.516951, -0.344615, -8.002507, 0.662362, -0.747149, -0.055178, 0.293523, 0.163656, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -0.291513, 1.726454, -8.018309, 0.876017, 0.430689, -0.217028, 0.050484, 0.172362, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -0.559485, -0.159917, -7.099087, 0.664694, -0.735478, -0.131356, 0.016660, 0.198764, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.516951, -0.344615, -8.002507, 0.662362, -0.747149, -0.055178, 0.021520, 0.174105, 0.500000, 0.500000, 0.000000, 0.000000, 5.000000, 6.000000, 0.000000, 0.000000, - -1.399821, 2.145950, -7.765605, -0.089109, 0.902329, -0.421736, 0.093066, 0.192203, 1.000000, 0.000000, 0.000000, 0.000000, 6.000000, 0.000000, 0.000000, 0.000000, - -0.672552, 1.785165, -8.769882, 0.852244, 0.499706, 0.154835, 0.054507, 0.140099, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.918122, 1.822824, -8.766640, -0.840166, 0.528132, 0.123281, 0.135006, 0.139102, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.867185, -0.207010, -8.766640, -0.633388, -0.764150, -0.122039, 0.216749, 0.130305, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.282241, 0.117162, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.031727, 0.118539, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.603736, 2.914354, -9.649544, 0.560407, 0.707841, -0.430005, 0.409494, 0.156094, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.844998, 2.948897, -9.646300, -0.505244, 0.753432, -0.420796, 0.468034, 0.156945, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.814559, 2.693850, -9.155198, -0.530276, 0.591429, 0.607469, 0.473499, 0.189960, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.584145, 2.656984, -9.158441, 0.720044, 0.460381, 0.519217, 0.401508, 0.189512, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -2.042195, 2.013168, -9.646300, -0.779666, 0.085093, -0.620387, 0.511310, 0.207254, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -2.042197, -0.197363, -9.646300, -0.640053, -0.561469, -0.524485, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.867185, -0.207010, -8.766640, -0.633388, -0.764150, -0.122039, 0.544001, 0.306866, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.918122, 1.822824, -8.766640, -0.840166, 0.528132, 0.123281, 0.478977, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.525088, -0.209657, -9.649544, 0.635800, -0.569710, -0.520758, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.567978, 0.339376, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.525088, -0.209657, -9.649544, 0.635800, -0.569710, -0.520758, 0.305184, 0.277596, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.525088, 1.989544, -9.649544, 0.773438, 0.037465, -0.632764, 0.362947, 0.203204, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.672552, 1.785165, -8.769882, 0.852244, 0.499706, 0.154835, 0.393045, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.723487, -0.220962, -8.769882, 0.629503, -0.769966, -0.104296, 0.325454, 0.299241, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -2.608569, 1.016925, -4.803867, -0.957354, -0.036606, -0.286590, 0.258097, 0.322029, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -2.799144, 1.096897, -4.355746, -0.999806, -0.012017, 0.015625, 0.258097, 0.345661, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.447415, -5.899581, 0.000000, -0.227521, -0.973773, 0.498483, 0.268938, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.296495, -5.346404, -0.000000, -0.377608, -0.925966, 0.498482, 0.297847, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.701918, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -9.506982, 1.369790, -7.232455, 0.582190, -0.409918, -0.702155, 0.809294, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -10.173913, 1.368696, -7.035121, -0.487498, -0.398394, -0.776935, 0.803017, 0.048839, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -10.098513, 3.419651, -6.822248, -0.418157, 0.722694, -0.550325, 0.700094, 0.044098, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -5.226847, -0.209988, 2.609826, -0.251472, -0.685146, 0.683621, 0.802093, 0.761336, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.680608, 1.538691, 3.242541, -0.410778, 0.009161, 0.911689, 0.733641, 0.752808, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -7.027541, 1.516949, 2.106554, -0.885259, -0.027789, 0.464268, 0.730021, 0.692124, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.164830, -0.180191, 1.673024, -0.669704, -0.671669, 0.316792, 0.801099, 0.692476, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.400888, 3.032663, 1.776775, -0.678619, 0.636635, 0.366297, 0.654224, 0.705733, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.206931, 3.130308, 2.632219, -0.154022, 0.714850, 0.682104, 0.666574, 0.765984, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.297268, 3.888346, 0.865671, -0.109427, 0.993288, -0.037494, 0.609914, 0.721996, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -8.059044, 1.611084, -1.215237, -0.577808, 0.017912, 0.815976, 0.783292, 0.550426, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -7.330895, -0.060689, -1.553667, -0.520354, -0.852216, 0.054397, 0.837165, 0.560061, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -6.425374, -0.031633, 0.116190, -0.541352, -0.840789, 0.003400, 0.863836, 0.629434, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -7.212104, 1.498293, 0.505771, -0.961884, -0.050890, 0.268681, 0.788340, 0.635051, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.217341, 0.016180, -2.329300, 0.337991, -0.807179, -0.483967, 0.614730, 0.495421, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -6.199885, 1.115161, -2.871512, 0.954891, -0.101008, -0.279248, 0.643053, 0.506383, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -4.402750, 1.610668, -1.099740, 0.436820, 0.023405, -0.899244, 0.594807, 0.585225, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.555129, 0.559088, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.217341, 0.016180, -2.329300, 0.337991, -0.807179, -0.483967, 0.887421, 0.523772, 0.500000, 0.500000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.948691, 0.591039, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -8.731559, 0.605550, -5.436355, 0.328823, -0.667422, -0.668149, 0.873543, 0.161241, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -8.525305, 1.705669, -5.510110, 0.563401, 0.108959, -0.818967, 0.925373, 0.159709, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.066343, 1.404206, -3.498836, 0.937709, 0.056408, -0.342812, 0.903262, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.448989, -0.021814, -3.319559, 0.609028, -0.747698, -0.264635, 0.855594, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -7.909877, -0.066002, -2.097403, -0.272676, -0.881820, 0.384760, 0.795482, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -9.454158, 0.254739, -4.022870, -0.503633, -0.854024, 0.130374, 0.808374, 0.191682, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.863916, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -7.457404, 0.100791, -1.786957, -0.413783, -0.874080, 0.254496, 0.781685, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -9.590482, 3.106455, -4.024086, -0.409523, 0.775280, 0.480866, 0.669089, 0.164888, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -10.223380, 1.971139, -3.935808, -0.863901, 0.050932, 0.501080, 0.741196, 0.168431, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -8.776958, 1.600158, -1.333798, -0.589004, -0.009943, 0.808069, 0.750048, 0.288506, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -7.921735, 3.031140, -1.890856, -0.147307, 0.845178, 0.513785, 0.670890, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.597230, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -6.642373, 2.996217, -3.139717, 0.609769, 0.771715, -0.180662, 0.581654, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -7.590149, 2.821004, -1.714477, -0.309495, 0.831239, 0.461795, 0.677509, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -9.857598, 0.884636, -6.106341, 0.283276, -0.784596, -0.551510, 0.871793, 0.086111, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, - -9.857598, 0.884636, -6.106341, 0.283276, -0.784596, -0.551510, 0.862768, 0.105605, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, - -10.393832, 0.635038, -5.380906, -0.592763, -0.805377, -0.000689, 0.809288, 0.120362, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, - -10.848620, 2.014231, -4.998157, -0.958365, 0.018156, 0.284966, 0.740199, 0.125330, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, - -10.266550, 3.314583, -5.089772, -0.681601, 0.693889, 0.232246, 0.685856, 0.114656, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, - -10.600281, 3.298884, -6.031265, -0.732005, 0.668723, -0.130301, 0.697291, 0.079573, 0.500000, 0.250000, 0.250000, 0.000000, 10.000000, 8.000000, 9.000000, 0.000000, - -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.674520, 0.102479, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -9.733442, 3.334297, -5.822344, 0.471779, 0.876474, -0.096009, 0.678811, 0.061866, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, - -10.693343, 1.103751, -6.300011, -0.766271, -0.514906, -0.384317, 0.798732, 0.085677, 0.500000, 0.250000, 0.250000, 0.000000, 10.000000, 8.000000, 9.000000, 0.000000, - -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.679660, 0.046854, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -9.506982, 1.369790, -7.232455, 0.582190, -0.409918, -0.702155, 0.874577, 0.027494, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -9.406387, 3.423885, -6.948456, 0.633359, 0.597440, -0.491854, 0.976382, 0.027514, 1.000000, 0.000000, 0.000000, 0.000000, 8.000000, 0.000000, 0.000000, 0.000000, - -9.733442, 3.334297, -5.822344, 0.471779, 0.876474, -0.096009, 0.979709, 0.086919, 0.500000, 0.500000, 0.000000, 0.000000, 8.000000, 9.000000, 0.000000, 0.000000, - -3.950830, 1.543703, 3.461952, 0.580282, -0.003905, 0.814406, 0.729448, 0.816242, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -4.087269, -0.284269, 2.467412, -0.182764, -0.799652, 0.571974, 0.837287, 0.797153, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -7.212104, 1.498293, 0.505771, -0.961884, -0.050890, 0.268681, 0.729175, 0.647588, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.425374, -0.031633, 0.116190, -0.541352, -0.840789, 0.003400, 0.790912, 0.647805, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -6.602324, 2.945920, 0.175992, -0.627366, 0.771340, 0.106985, 0.655417, 0.665584, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -4.037735, 1.413715, -1.060306, -0.418257, 0.014467, -0.908214, 0.577173, 0.603020, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -4.480650, 3.012777, -0.839426, 0.314541, 0.681317, -0.660962, 0.628522, 0.614343, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.618911, 0.635115, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -6.602324, 2.945920, 0.175992, -0.627366, 0.771340, 0.106985, 0.712671, 0.636472, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -7.590149, 2.821004, -1.714477, -0.309495, 0.831239, 0.461795, 0.733992, 0.549137, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -3.777824, 2.962523, 2.384039, -0.050780, 0.756911, 0.651542, 0.638448, 0.809917, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -9.313349, 4.116706, -5.519038, 0.523871, 0.528172, -0.668276, 0.607391, 0.107445, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, - -9.897751, 4.106010, -5.496856, -0.591482, 0.535778, -0.602570, 0.575106, 0.093366, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, - -9.548986, 4.053653, -4.947104, 0.033562, 0.829653, 0.557270, 0.597136, 0.077548, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, - -9.548986, 4.053653, -4.947104, 0.033562, 0.829653, 0.557270, 0.639460, 0.112075, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, - -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.603774, 0.150144, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -9.897751, 4.106010, -5.496856, -0.591482, 0.535778, -0.602570, 0.649827, 0.087020, 1.000000, 0.000000, 0.000000, 0.000000, 11.000000, 0.000000, 0.000000, 0.000000, - -10.266550, 3.314583, -5.089772, -0.681601, 0.693889, 0.232246, 0.543322, 0.125652, 1.000000, 0.000000, 0.000000, 0.000000, 10.000000, 0.000000, 0.000000, 0.000000, - -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.221918, 0.585510, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -2.705508, 4.351819, 0.865750, -0.419016, 0.893229, 0.162994, 0.159966, 0.682612, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -3.777824, 2.962523, 2.384039, -0.050780, 0.756911, 0.651542, 0.236873, 0.741601, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -0.359108, -3.717716, -5.234697, -0.998278, -0.054710, -0.021170, 0.228642, 0.040555, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -3.682446, -4.842300, 0.000000, -0.087652, 0.996151, 0.226080, 0.059948, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.639396, -4.119738, -0.000000, -0.719266, 0.694735, 0.119285, 0.095657, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.668760, -1.251831, -4.751909, -0.682018, -0.703493, -0.199874, 0.100205, 0.064415, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.296495, -5.346404, -0.000000, -0.377608, -0.925966, 0.091060, 0.035035, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -3.637610, -5.791828, 0.000000, -0.028832, -0.999584, 0.225648, 0.011626, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.318626, -5.076919, -4.887983, -0.984724, 0.039673, -0.169542, 0.298757, 0.057690, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -4.724963, -4.644907, 0.000000, 0.549724, 0.835347, 0.279966, 0.069703, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.536608, -5.517948, -4.240118, -0.997433, -0.062802, 0.034391, 0.320663, 0.089708, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -5.443347, -3.529106, 0.000000, 0.913771, 0.406231, 0.315761, 0.124846, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -5.971040, -4.558301, -0.000000, -0.923559, 0.383457, 0.344881, 0.073983, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -5.926406, -2.269355, 0.000000, -0.182359, 0.983232, 0.352260, 0.188761, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -5.345521, -5.288476, -0.000000, -0.363061, -0.931765, 0.313567, 0.037898, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -6.552838, -4.725423, 0.000000, -0.996104, 0.088184, 0.375653, 0.065724, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -8.059044, 1.611084, -1.215237, -0.577808, 0.017912, 0.815976, 0.727063, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -2.482942, 0.952246, -5.766534, -0.997978, -0.054741, -0.032315, 0.188531, 0.272155, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -2.608569, 1.016925, -4.803867, -0.957354, -0.036606, -0.286590, 0.196915, 0.317992, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -2.115160, 2.203591, -5.181072, -0.768884, 0.620334, -0.154932, 0.132015, 0.307637, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -6.199885, 1.115161, -2.871512, 0.954891, -0.101008, -0.279248, 0.898151, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.535434, 0.570924, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -2.042195, 2.013168, -9.646300, -0.779666, 0.085093, -0.620387, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.525088, 1.989544, -9.649544, 0.773438, 0.037465, -0.632764, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -1.844998, 2.948897, -9.646300, -0.505244, 0.753432, -0.420796, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -0.603736, 2.914354, -9.649544, 0.560407, 0.707841, -0.430005, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 7.000000, 0.000000, 0.000000, 0.000000, - -2.172686, 4.036571, 1.465014, -0.598887, 0.800822, 0.004296, 0.138233, 0.713080, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -2.772282, 3.497846, 2.268019, -0.778560, 0.609915, 0.147811, 0.188130, 0.752618, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -3.083329, 2.601864, 2.847198, -0.752258, 0.391855, 0.529678, 0.257680, 0.795774, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.275284, 0.755259, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, - -3.173249, 1.603701, 3.323305, -0.787395, -0.018652, 0.616166, 0.305484, 0.790334, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -2.022877, -0.888534, 2.991356, -0.337048, -0.585701, 0.737125, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -3.615881, 0.363853, 3.062848, -0.521702, -0.194763, 0.830599, 0.307595, 0.762577, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.192320, 2.126802, -5.946790, 0.420610, 0.374846, -0.826183, 0.046011, 0.264211, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.010951, 0.240628, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -1.311322, 2.632204, -5.556628, -0.377153, 0.768994, -0.516143, 0.089725, 0.287526, 1.000000, 0.000000, 0.000000, 0.000000, 5.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.447415, -5.899581, 0.000000, -0.227521, -0.973773, 0.015665, 0.286176, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.179114, -0.521083, -5.927430, 0.229903, -0.644196, -0.729490, 0.021764, 0.289124, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -0.192320, 2.126802, -5.946790, 0.420610, 0.374846, -0.826183, 0.021764, 0.289124, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 5.000000, 0.000000, 0.000000, - -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.683948, 0.813080, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, - -3.952864, 1.398620, 2.692738, 0.465888, 0.068919, 0.882156, 0.783368, 0.806697, 0.653178, 0.241591, 0.105231, 0.000000, 1.000000, 0.000000, 2.000000, 0.000000, - -0.000000, -1.639396, -4.119738, -0.000000, -0.719266, 0.694735, 0.498482, 0.362723, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.030988, 2.562693, -3.975194, -0.829566, 0.537252, -0.152250, 0.103148, 0.388402, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.324249, 2.784155, -2.580866, -0.773000, 0.548819, -0.318228, 0.120417, 0.444405, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -1.247973, 3.654534, -4.101803, -0.566219, 0.787820, -0.242353, 0.071215, 0.383499, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 4.004938, -4.263569, 0.000000, 0.922439, -0.386143, 0.006597, 0.374488, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -6.605109, 3.398014, -1.640210, -0.126468, 0.978741, -0.161471, 0.694861, 0.565899, 0.900000, 0.100000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.683039, 0.527767, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - 0.000001, 4.676855, 0.606215, 0.000000, 0.735969, -0.677015, 0.006597, 0.677833, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -1.945033, 0.288834, 3.561427, -0.649828, -0.678770, 0.342044, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.933280, 0.776237, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.247447, 1.993111, 5.800342, -0.691824, -0.718240, -0.074239, 0.927090, 0.781738, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.932892, 0.819354, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.922817, 0.828081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.253341, 2.196780, 7.380289, -0.405730, -0.097088, 0.908822, 0.296023, 0.688238, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.240168, 0.684302, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.275252, 0.593933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.308571, 0.646436, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.231303, 2.297051, 5.690937, -0.899762, 0.419064, -0.121710, 0.921272, 0.765846, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.901954, 0.761593, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.874456, 2.042140, 4.712246, -0.971244, -0.235256, 0.036606, 0.899196, 0.769566, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.247447, 1.993111, 5.800342, -0.691824, -0.718240, -0.074239, 0.918393, 0.773382, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.744351, 4.998834, 4.404832, -0.628382, 0.774276, 0.075049, 0.096221, 0.854527, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.329685, 4.404623, 4.378291, -0.887804, 0.391273, 0.242299, 0.149841, 0.857828, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.138491, 4.874975, 4.753927, -0.683508, 0.723824, 0.094321, 0.117520, 0.874487, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.305616, 4.104658, 5.546338, -0.937320, 0.265085, 0.226189, 0.158566, 0.921940, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.100717, 0.057122, 4.527284, -0.698132, -0.712466, -0.070738, 0.418789, 0.825849, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.788123, 4.660317, -0.000000, -0.999977, 0.006808, 0.525722, 0.832065, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.442645, 6.093413, -0.000000, -0.927476, 0.373882, 0.525722, 0.904921, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.030670, 0.229257, 6.013463, -0.680155, -0.653599, 0.331961, 0.432923, 0.901813, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.261880, 2.531273, 0.000000, 0.884510, -0.466520, 0.006597, 0.752766, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.288567, 1.536665, 0.000000, 0.960480, -0.278349, 0.006597, 0.709554, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.067885, 5.917471, 1.639274, -0.511330, 0.814153, -0.275129, 0.071511, 0.722277, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.179682, 5.942925, 2.649745, -0.540272, 0.722269, -0.431779, 0.070910, 0.760489, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -2.802409, 2.639805, 4.685534, -0.955574, 0.287876, 0.063282, 0.244514, 0.834024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.874456, 2.042140, 4.712246, -0.971244, -0.235256, 0.036606, 0.306429, 0.818156, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.135767, 4.817859, 1.861608, -0.784432, 0.487097, -0.383932, 0.136424, 0.735000, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -2.209270, 4.895686, 3.182524, -0.583324, 0.786675, 0.202177, 0.127679, 0.779159, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -2.645871, 4.438720, 3.090069, -0.929190, 0.368445, -0.029233, 0.155096, 0.787607, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -2.388766, 4.900162, 3.823812, -0.750856, 0.633285, 0.187527, 0.135879, 0.821018, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.142159, 6.202897, 2.823985, -0.504438, 0.823944, -0.258183, 0.069024, 0.770052, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.534364, 2.733282, 0.000000, 0.925457, -0.378852, 0.006597, 0.766635, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -2.359366, 4.832208, 2.773417, -0.796366, 0.579454, -0.173306, 0.135222, 0.768211, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -1.889815, 5.162753, 3.481335, -0.238007, 0.840642, -0.486492, 0.108020, 0.801101, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -2.284314, 4.970498, 2.977456, -0.742398, 0.657841, 0.126846, 0.131451, 0.773468, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 0.000001, 6.137319, 4.071155, 0.000000, 0.999925, 0.012248, 0.007593, 0.835127, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.981896, 3.801053, 0.000000, 0.679239, -0.733917, 0.009371, 0.816485, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.051859, 3.018328, 0.000000, 0.138561, 0.990354, 0.012962, 0.783566, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -2.209270, 4.895686, 3.182524, -0.583324, 0.786675, 0.202177, 0.013050, 0.798258, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 0.000001, 4.210176, 3.353002, 0.000000, 0.999926, 0.012129, 0.107075, 0.799345, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.889815, 5.162753, 3.481335, -0.238007, 0.840642, -0.486492, 0.013039, 0.802236, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 0.000001, 5.981896, 3.801053, 0.000000, 0.679239, -0.733917, 0.012952, 0.812094, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.993446, 4.634690, 5.201987, -0.676622, 0.720470, 0.152005, 0.111262, 0.900644, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.610057, 5.374901, 4.735716, -0.411115, 0.800451, 0.436191, 0.033340, 0.875149, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.618510, 5.833383, 4.473998, -0.482332, 0.789771, 0.378968, 0.032089, 0.860034, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.147332, 4.747048, 0.000000, 0.819967, 0.572411, 0.006526, 0.876876, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.169214, 4.530669, 0.000000, 0.983581, -0.180468, 0.006526, 0.864028, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.997812, 4.235533, -0.000000, 0.970473, 0.241209, 0.006526, 0.846308, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.494679, 3.457902, -0.000000, -0.967706, -0.252082, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 0.209385, 7.070982, -0.000000, -0.752818, 0.658229, 0.526304, 0.949830, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.605514, 0.714111, 7.046171, -0.563926, -0.500544, 0.656843, 0.428848, 0.950606, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.335441, 2.861595, 6.335299, -0.742076, 0.462860, 0.484855, 0.214757, 0.960645, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.369535, 0.909298, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.339109, 2.092413, 6.368515, -0.533788, -0.551403, 0.641112, 0.226122, 0.965353, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.209943, 0.976697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.104636, 6.149989, 3.039298, -0.320462, 0.595577, 0.736608, 0.067138, 0.775594, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.503769, 2.960140, 0.000000, 0.763460, 0.645855, 0.006597, 0.772028, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.104638, 0.636606, 0.000000, 0.176678, -0.984269, 0.006597, 0.687373, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, - -1.086343, 4.793220, 0.932789, -0.388776, 0.020748, -0.921099, 0.072415, 0.700226, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, - -1.067883, 5.536584, 1.084825, -0.492723, 0.497115, -0.714213, 0.071511, 0.714203, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 0.000001, 5.824797, 0.847815, 0.000000, 0.602294, -0.798275, 0.006597, 0.697521, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - -1.505060, 4.568878, 6.707249, -0.580112, 0.580950, 0.570935, 0.107178, 0.991042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.070794, 6.673260, 0.000000, 0.782803, 0.622270, 0.010844, 0.991008, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.644645, 5.783891, -0.000000, 0.953113, 0.302616, 0.006526, 0.937953, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.397726, 4.912599, 6.261040, -0.455401, 0.673674, 0.582042, 0.093827, 0.964235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.505060, 4.568878, 6.707249, -0.580112, 0.580950, 0.570935, 0.652251, 0.344933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.762823, 0.351792, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.431622, 2.524216, 7.621109, -0.563855, 0.053854, 0.824116, 0.784523, 0.418498, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.021021, 3.881262, 7.522913, -0.391688, 0.401501, 0.827875, 0.699478, 0.420790, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.070794, 6.673260, 0.000000, 0.782803, 0.622270, 0.584291, 0.385125, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 4.217567, 7.495490, 0.000000, 0.548145, 0.836383, 0.642782, 0.456495, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.605514, 0.714111, 7.046171, -0.563926, -0.500544, 0.656843, 0.883538, 0.381171, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 1.235957, 7.883574, -0.000000, -0.377457, 0.926027, 0.885473, 0.473587, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.880768, 1.677415, 7.769854, -0.344761, -0.198087, 0.917552, 0.848403, 0.428504, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 2.662455, 8.001239, 0.000000, 0.097247, 0.995260, 0.769150, 0.486235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 6.051859, 3.018328, 0.000000, 0.138561, 0.990354, 0.006597, 0.776686, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 5.823220, 4.912951, 0.000000, 0.757467, 0.652874, 0.006526, 0.886124, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.110316, 2.417574, 6.832777, -0.818567, 0.022117, 0.573985, 0.389372, 0.935901, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 0.209385, 7.070982, -0.000000, -0.752818, 0.658229, 0.933183, 0.401826, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.821777, 5.228320, 5.732300, -0.684879, 0.707212, 0.175473, 0.103857, 0.931602, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.704836, 5.597308, 5.767645, -0.168658, 0.939384, 0.298515, 0.040769, 0.935496, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -7.457404, 0.100791, -1.786957, -0.413783, -0.874080, 0.254496, 0.833439, 0.550855, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.879081, 0.514615, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.453750, 0.135404, -2.532112, 0.425826, -0.857101, -0.289914, 0.626233, 0.482010, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -3.626477, 3.188630, -0.349689, -0.328483, 0.796315, -0.507919, 0.550807, 0.743689, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -4.480650, 3.012777, -0.839426, 0.314541, 0.681317, -0.660962, 0.550206, 0.713349, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.289504, -0.876400, 0.915476, -0.114568, -0.988892, -0.094692, 0.846870, 0.713917, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -4.480651, 0.347086, -0.839425, 0.297727, -0.621360, -0.724755, 0.928805, 0.663638, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -3.801909, -0.138538, -0.349688, -0.335480, -0.819229, -0.465099, 0.929204, 0.720872, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -8.849494, 3.097458, -4.937233, 0.611627, 0.704821, -0.359360, 0.990700, 0.162240, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.642373, 2.996217, -3.139717, 0.609769, 0.771715, -0.180662, 0.956479, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 9.000000, 0.000000, 0.000000, 0.000000, - -6.586499, 2.798094, -2.691324, 0.618874, 0.760946, -0.194825, 0.956955, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 1.000000, 9.000000, 0.000000, 0.000000, - -1.945033, 0.288834, 3.561427, -0.043445, -0.433054, 0.900320, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.022877, -0.888534, 2.991356, -0.043445, -0.433054, 0.900320, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, -0.043445, -0.433054, 0.900320, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, -0.175903, -0.544988, 0.819784, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -0.494679, 3.457902, -0.175903, -0.544988, 0.819784, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.945033, 0.288834, 3.561427, -0.175903, -0.544988, 0.819784, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.022877, -0.888534, 2.991356, -0.160794, -0.772319, 0.614548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -2.100720, -1.487626, 2.218094, -0.160794, -0.772319, 0.614548, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -2.070344, 2.035419, -0.160794, -0.772319, 0.614548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -2.070344, 2.035419, -0.169903, -0.779014, 0.603548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, -0.169903, -0.779014, 0.603548, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -2.022877, -0.888534, 2.991356, -0.169903, -0.779014, 0.603548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 4.087269, -0.284270, 2.467412, 0.182764, -0.799652, 0.571974, 0.309707, 0.734820, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 2.100719, -1.487627, 2.218094, 0.411006, -0.899549, 0.147936, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.124680, -1.398316, 0.289938, 0.414717, -0.889848, -0.190211, 0.417569, 0.615200, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.333359, 0.578025, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 1.731887, 4.110136, -1.393818, 0.358335, 0.820791, -0.444858, 0.095736, 0.526351, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 1.603830, 4.007903, -1.704409, 0.412737, 0.832650, -0.369245, 0.089726, 0.506043, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 2.304297, 4.159583, -0.913794, 0.444107, 0.797287, -0.408781, 0.129889, 0.550101, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 2.699814, 3.173343, -1.321615, 0.670690, 0.515875, -0.532962, 0.156909, 0.519452, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 2.492359, -0.026556, -2.382115, 0.657806, -0.677670, -0.328716, 0.371389, 0.460607, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 3.700437, 1.374614, -1.755363, 0.821703, 0.075096, -0.564947, 0.255269, 0.506941, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - 4.037735, 1.413714, -1.060307, 0.418257, 0.014467, -0.908213, 0.261456, 0.548139, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 1.409547, -0.560929, -2.241735, 0.396237, -0.901413, -0.174500, 0.428271, 0.468498, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 1.271440, 3.820889, -2.718979, 0.520736, 0.833095, -0.186511, 0.074126, 0.453328, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 4.000000, 0.000000, 0.000000, - 1.311323, 2.632203, -5.556628, 0.377153, 0.768994, -0.516143, 0.059060, 0.307149, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 1.279648, 3.174069, -5.240715, 0.488778, 0.679734, -0.546861, 0.065137, 0.345324, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 2.121876, 2.400128, -4.578133, 0.812973, 0.569146, -0.123081, 0.099752, 0.356788, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.115160, 2.203590, -5.181072, 0.768884, 0.620334, -0.154932, 0.096355, 0.325173, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 2.648978, 1.176869, -3.907624, 0.999865, 0.005325, -0.015548, 0.258097, 0.369293, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 3.116709, 1.356368, -2.376023, 0.863554, 0.065266, -0.500015, 0.222539, 0.471098, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 1.945580, -0.203632, -3.893907, 0.741636, -0.669475, 0.042186, 0.410864, 0.376128, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.848847, -1.060938, -3.776123, 0.493121, -0.859195, 0.136440, 0.455689, 0.380896, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.949844, -0.534744, -5.166467, 0.650147, -0.754724, -0.087753, 0.413034, 0.312333, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.668759, -1.251831, -4.751909, 0.682018, -0.703493, -0.199873, 0.463024, 0.329289, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.473518, 0.267851, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 2.192731, -0.151175, -6.952621, 0.706979, -0.707227, -0.003249, 0.223990, 0.200451, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 1.949844, -0.534744, -5.166467, 0.650147, -0.754724, -0.087753, 0.264840, 0.293298, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.313899, 0.234980, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.559485, -0.159917, -7.099087, -0.664694, -0.735477, -0.131356, 0.297911, 0.187062, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 1.363353, 2.352388, -7.482214, 0.057472, 0.941870, -0.331027, 0.092745, 0.204413, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 0.337184, 1.974184, -7.229906, -0.817066, 0.553769, -0.160446, 0.050725, 0.214293, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 1.345825, 2.391656, -7.228285, 0.040380, 0.989286, -0.140294, 0.092457, 0.215355, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 2.456792, 1.664785, -7.763762, 0.895836, 0.382931, -0.225480, 0.135718, 0.192678, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 2.446791, 1.841884, -7.083439, 0.867876, 0.490998, -0.075576, 0.134189, 0.223714, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 2.198960, -0.322828, -7.748406, 0.661146, -0.748558, -0.050474, 0.220752, 0.175320, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 0.516951, -0.344616, -8.002507, -0.662363, -0.747149, -0.055178, 0.293523, 0.163656, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 0.291514, 1.726454, -8.018309, -0.876016, 0.430690, -0.217029, 0.050484, 0.172362, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 0.516951, -0.344616, -8.002507, -0.662363, -0.747149, -0.055178, 0.021520, 0.174105, 0.500000, 0.500000, 0.000000, 0.000000, 14.000000, 15.000000, 0.000000, 0.000000, - 0.559485, -0.159917, -7.099087, -0.664694, -0.735477, -0.131356, 0.016660, 0.198764, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 1.399822, 2.145949, -7.765605, 0.089110, 0.902329, -0.421736, 0.093066, 0.192203, 1.000000, 0.000000, 0.000000, 0.000000, 15.000000, 0.000000, 0.000000, 0.000000, - 0.672552, 1.785165, -8.769882, -0.852244, 0.499707, 0.154835, 0.054507, 0.140099, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.867185, -0.207010, -8.766640, 0.633388, -0.764150, -0.122039, 0.216749, 0.130305, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.918123, 1.822824, -8.766640, 0.840166, 0.528131, 0.123281, 0.135006, 0.139102, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.282241, 0.117162, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.031727, 0.118539, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.603736, 2.914354, -9.649544, -0.560407, 0.707841, -0.430005, 0.409494, 0.156094, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.584146, 2.656984, -9.158441, -0.720044, 0.460381, 0.519217, 0.401508, 0.189512, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.814559, 2.693849, -9.155198, 0.530276, 0.591429, 0.607470, 0.473499, 0.189960, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.844999, 2.948896, -9.646300, 0.505244, 0.753432, -0.420796, 0.468034, 0.156945, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 2.042196, 2.013168, -9.646300, 0.779666, 0.085093, -0.620387, 0.511310, 0.207254, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.918123, 1.822824, -8.766640, 0.840166, 0.528131, 0.123281, 0.478977, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.867185, -0.207010, -8.766640, 0.633388, -0.764150, -0.122039, 0.544001, 0.306866, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 2.042197, -0.197364, -9.646300, 0.640053, -0.561469, -0.524485, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.567978, 0.339376, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.525088, -0.209657, -9.649544, -0.635801, -0.569709, -0.520758, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.525088, -0.209657, -9.649544, -0.635801, -0.569709, -0.520758, 0.305184, 0.277596, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.723487, -0.220963, -8.769882, -0.629504, -0.769966, -0.104296, 0.325454, 0.299241, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.672552, 1.785165, -8.769882, -0.852244, 0.499707, 0.154835, 0.393045, 0.223891, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.525089, 1.989544, -9.649544, -0.773437, 0.037465, -0.632764, 0.362947, 0.203204, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 2.799144, 1.096896, -4.355746, 0.999806, -0.012018, 0.015625, 0.258097, 0.345661, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.608570, 1.016924, -4.803867, 0.957354, -0.036606, -0.286590, 0.258097, 0.322029, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.701918, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 10.098515, 3.419648, -6.822248, 0.418157, 0.722695, -0.550325, 0.700094, 0.044098, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 10.173913, 1.368693, -7.035121, 0.487498, -0.398394, -0.776935, 0.803017, 0.048839, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 9.506982, 1.369787, -7.232455, -0.582190, -0.409918, -0.702155, 0.809294, 0.027306, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 5.226847, -0.209989, 2.609825, 0.251472, -0.685146, 0.683621, 0.802093, 0.761336, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.164830, -0.180192, 1.673024, 0.669704, -0.671669, 0.316792, 0.801099, 0.692476, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 7.027541, 1.516947, 2.106554, 0.885259, -0.027789, 0.464268, 0.730021, 0.692124, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 5.680608, 1.538689, 3.242541, 0.410778, 0.009161, 0.911689, 0.733641, 0.752808, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.400889, 3.032661, 1.776775, 0.678619, 0.636634, 0.366297, 0.654224, 0.705733, 0.900000, 0.100000, 0.000000, 0.000000, 13.000000, 12.000000, 0.000000, 0.000000, - 5.297269, 3.888345, 0.865671, 0.109427, 0.993287, -0.037494, 0.609914, 0.721996, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 5.206932, 3.130306, 2.632219, 0.154022, 0.714850, 0.682104, 0.666574, 0.765984, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 8.059044, 1.611082, -1.215237, 0.577809, 0.017912, 0.815976, 0.783292, 0.550426, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 7.212104, 1.498290, 0.505771, 0.961884, -0.050890, 0.268681, 0.788340, 0.635051, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.425374, -0.031635, 0.116190, 0.541352, -0.840789, 0.003400, 0.863836, 0.629434, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 7.330895, -0.060691, -1.553667, 0.520354, -0.852216, 0.054397, 0.837165, 0.560061, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 6.217341, 0.016178, -2.329300, -0.337991, -0.807179, -0.483967, 0.614730, 0.495421, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.555129, 0.559088, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 4.402750, 1.610666, -1.099740, -0.436820, 0.023405, -0.899245, 0.594807, 0.585225, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.199885, 1.115159, -2.871512, -0.954892, -0.101008, -0.279248, 0.643053, 0.506383, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.948691, 0.591039, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.217341, 0.016178, -2.329300, -0.337991, -0.807179, -0.483967, 0.887421, 0.523772, 0.500000, 0.500000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 8.731559, 0.605548, -5.436355, -0.328823, -0.667422, -0.668149, 0.873543, 0.161241, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.448989, -0.021816, -3.319559, -0.609028, -0.747698, -0.264635, 0.855594, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.066343, 1.404204, -3.498836, -0.937709, 0.056408, -0.342812, 0.903262, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 8.525305, 1.705666, -5.510110, -0.563401, 0.108959, -0.818968, 0.925373, 0.159709, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 9.454158, 0.254736, -4.022870, 0.503633, -0.854024, 0.130374, 0.808374, 0.191682, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 7.909877, -0.066005, -2.097403, 0.272676, -0.881820, 0.384760, 0.795482, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.863916, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 7.457404, 0.100788, -1.786957, 0.413782, -0.874080, 0.254496, 0.781685, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 9.590482, 3.106452, -4.024086, 0.409523, 0.775280, 0.480866, 0.669089, 0.164888, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 7.921736, 3.031138, -1.890856, 0.147308, 0.845178, 0.513785, 0.670890, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 8.776958, 1.600155, -1.333798, 0.589004, -0.009943, 0.808069, 0.750048, 0.288506, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 10.223380, 1.971136, -3.935808, 0.863901, 0.050932, 0.501080, 0.741196, 0.168431, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.597230, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 7.590150, 2.821002, -1.714477, 0.309496, 0.831239, 0.461795, 0.677509, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 6.642374, 2.996215, -3.139717, -0.609768, 0.771715, -0.180662, 0.581654, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 9.857598, 0.884633, -6.106341, -0.283277, -0.784596, -0.551510, 0.871793, 0.086111, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 9.857598, 0.884633, -6.106341, -0.283277, -0.784596, -0.551510, 0.862768, 0.105605, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 10.393832, 0.635035, -5.380906, 0.592763, -0.805377, -0.000689, 0.809288, 0.120362, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 10.848620, 2.014228, -4.998157, 0.958365, 0.018155, 0.284967, 0.740199, 0.125330, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 10.600283, 3.298881, -6.031265, 0.732005, 0.668723, -0.130301, 0.697291, 0.079573, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 10.266552, 3.314580, -5.089772, 0.681602, 0.693888, 0.232246, 0.685856, 0.114656, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.674520, 0.102479, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 9.733444, 3.334294, -5.822344, -0.471779, 0.876474, -0.096009, 0.678811, 0.061866, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 10.693343, 1.103748, -6.300011, 0.766271, -0.514906, -0.384317, 0.798732, 0.085677, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.679660, 0.046854, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 9.506982, 1.369787, -7.232455, -0.582190, -0.409918, -0.702155, 0.874577, 0.027494, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 9.733444, 3.334294, -5.822344, -0.471779, 0.876474, -0.096009, 0.979709, 0.086919, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 9.406389, 3.423882, -6.948456, -0.633359, 0.597441, -0.491854, 0.976382, 0.027514, 1.000000, 0.000000, 0.000000, 0.000000, 17.000000, 0.000000, 0.000000, 0.000000, - 3.950831, 1.543702, 3.461952, -0.580282, -0.003905, 0.814406, 0.729448, 0.816242, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 4.087269, -0.284270, 2.467412, 0.182764, -0.799652, 0.571974, 0.837287, 0.797153, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 6.425374, -0.031635, 0.116190, 0.541352, -0.840789, 0.003400, 0.790912, 0.647805, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 7.212104, 1.498290, 0.505771, 0.961884, -0.050890, 0.268681, 0.729175, 0.647588, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.602325, 2.945918, 0.175992, 0.627367, 0.771340, 0.106985, 0.655417, 0.665584, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 4.037735, 1.413714, -1.060307, 0.418257, 0.014467, -0.908213, 0.577173, 0.603020, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.618911, 0.635115, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 4.480651, 3.012775, -0.839426, -0.314541, 0.681317, -0.660962, 0.628522, 0.614343, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 6.602325, 2.945918, 0.175992, 0.627367, 0.771340, 0.106985, 0.712671, 0.636472, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 7.590150, 2.821002, -1.714477, 0.309496, 0.831239, 0.461795, 0.733992, 0.549137, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 3.777825, 2.962523, 2.384039, 0.050780, 0.756911, 0.651542, 0.638448, 0.809917, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 9.313351, 4.116703, -5.519038, -0.523871, 0.528172, -0.668277, 0.607391, 0.107445, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, - 9.548988, 4.053650, -4.947104, -0.033561, 0.829653, 0.557270, 0.597136, 0.077548, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, - 9.897753, 4.106007, -5.496856, 0.591482, 0.535778, -0.602570, 0.575106, 0.093366, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, - 9.548988, 4.053650, -4.947104, -0.033561, 0.829653, 0.557270, 0.639460, 0.112075, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, - 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.603774, 0.150144, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 9.897753, 4.106007, -5.496856, 0.591482, 0.535778, -0.602570, 0.649827, 0.087020, 1.000000, 0.000000, 0.000000, 0.000000, 20.000000, 0.000000, 0.000000, 0.000000, - 10.266552, 3.314580, -5.089772, 0.681602, 0.693888, 0.232246, 0.543322, 0.125652, 1.000000, 0.000000, 0.000000, 0.000000, 19.000000, 0.000000, 0.000000, 0.000000, - 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.221918, 0.585510, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 2.705509, 4.351818, 0.865750, 0.419017, 0.893229, 0.162994, 0.159966, 0.682612, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 3.777825, 2.962523, 2.384039, 0.050780, 0.756911, 0.651542, 0.236873, 0.741601, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 0.359106, -3.717716, -5.234697, 0.998278, -0.054710, -0.021170, 0.228642, 0.040555, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.668759, -1.251831, -4.751909, 0.682018, -0.703493, -0.199873, 0.100205, 0.064415, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.318625, -5.076919, -4.887983, 0.984724, 0.039673, -0.169542, 0.298757, 0.057690, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.536606, -5.517948, -4.240118, 0.997433, -0.062802, 0.034391, 0.320663, 0.089708, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 8.059044, 1.611082, -1.215237, 0.577809, 0.017912, 0.815976, 0.727063, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 2.482943, 0.952245, -5.766534, 0.997977, -0.054741, -0.032315, 0.188531, 0.272155, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 2.115160, 2.203590, -5.181072, 0.768884, 0.620334, -0.154932, 0.132015, 0.307637, 1.000000, 0.000000, 0.000000, 0.000000, 14.000000, 0.000000, 0.000000, 0.000000, - 2.608570, 1.016924, -4.803867, 0.957354, -0.036606, -0.286590, 0.196915, 0.317992, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 6.199885, 1.115159, -2.871512, -0.954892, -0.101008, -0.279248, 0.898151, 0.310177, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.535434, 0.570924, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 0.525089, 1.989544, -9.649544, -0.773437, 0.037465, -0.632764, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 2.042196, 2.013168, -9.646300, 0.779666, 0.085093, -0.620387, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 0.603736, 2.914354, -9.649544, -0.560407, 0.707841, -0.430005, 0.588459, 0.314547, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 1.844999, 2.948896, -9.646300, 0.505244, 0.753432, -0.420796, 0.565986, 0.286168, 1.000000, 0.000000, 0.000000, 0.000000, 16.000000, 0.000000, 0.000000, 0.000000, - 2.172687, 4.036570, 1.465014, 0.598887, 0.800822, 0.004296, 0.138233, 0.713080, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.772283, 3.497845, 2.268019, 0.778560, 0.609915, 0.147811, 0.188130, 0.752618, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 3.083330, 2.601863, 2.847198, 0.752258, 0.391855, 0.529678, 0.257680, 0.795774, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.275284, 0.755259, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, - 3.173250, 1.603700, 3.323305, 0.787395, -0.018652, 0.616166, 0.305484, 0.790334, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 3.615881, 0.363852, 3.062848, 0.521702, -0.194763, 0.830599, 0.307595, 0.762577, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.022877, -0.888535, 2.991356, 0.337047, -0.585702, 0.737125, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.010951, 0.240628, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.192320, 2.126802, -5.946790, -0.420610, 0.374846, -0.826183, 0.046011, 0.264211, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 1.311323, 2.632203, -5.556628, 0.377153, 0.768994, -0.516143, 0.089725, 0.287526, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.192320, 2.126802, -5.946790, -0.420610, 0.374846, -0.826183, 0.021764, 0.289124, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 0.179114, -0.521083, -5.927430, -0.229903, -0.644196, -0.729490, 0.021764, 0.289124, 0.500000, 0.500000, 0.000000, 0.000000, 4.000000, 14.000000, 0.000000, 0.000000, - 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.683948, 0.813080, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, - 3.952865, 1.398619, 2.692738, -0.465888, 0.068919, 0.882156, 0.783368, 0.806697, 0.653179, 0.241590, 0.105231, 0.000000, 13.000000, 0.000000, 2.000000, 0.000000, - 2.030989, 2.562692, -3.975194, 0.829566, 0.537252, -0.152250, 0.103148, 0.388402, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.324250, 2.784155, -2.580866, 0.773000, 0.548819, -0.318228, 0.120417, 0.444405, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 1.247974, 3.654534, -4.101803, 0.566219, 0.787820, -0.242353, 0.071215, 0.383499, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 6.605110, 3.398012, -1.640210, 0.126468, 0.978741, -0.161471, 0.694861, 0.565899, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.683039, 0.527767, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 1.945033, 0.288834, 3.561427, 0.649828, -0.678770, 0.342044, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.933280, 0.776237, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.932892, 0.819354, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.101593, 1.996771, 5.795833, 0.549278, -0.833777, -0.055759, 0.927090, 0.781738, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.901109, 0.834697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.922817, 0.828081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.253342, 2.196779, 7.380289, 0.422494, -0.103324, 0.900457, 0.296023, 0.688238, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.308571, 0.646436, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.275252, 0.593933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.240168, 0.684302, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.181583, 2.297050, 5.690937, 0.960396, 0.259003, -0.102750, 0.921272, 0.765846, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 3.101593, 1.996771, 5.795833, 0.549278, -0.833777, -0.055759, 0.918393, 0.773382, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.874457, 2.042139, 4.712246, 0.972764, -0.226088, 0.051128, 0.899196, 0.769566, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.901954, 0.761593, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.744352, 4.998833, 4.404832, 0.628382, 0.774276, 0.075049, 0.096221, 0.854527, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.138492, 4.874974, 4.753927, 0.683508, 0.723824, 0.094321, 0.117520, 0.874487, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.329687, 4.404622, 4.378291, 0.887804, 0.391273, 0.242299, 0.149841, 0.857828, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.305617, 4.104657, 5.546338, 0.937320, 0.265084, 0.226189, 0.158566, 0.921940, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.100717, 0.057121, 4.527284, 0.698132, -0.712466, -0.070738, 0.418789, 0.825849, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.030670, 0.229257, 6.013463, 0.680155, -0.653599, 0.331961, 0.432923, 0.901813, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.179684, 5.942925, 2.649745, 0.540272, 0.722269, -0.431779, 0.070910, 0.760489, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.067886, 5.917471, 1.639274, 0.511330, 0.814153, -0.275129, 0.071511, 0.722277, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 2.802409, 2.639804, 4.685534, 0.956990, 0.281554, 0.069986, 0.244514, 0.834024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.874457, 2.042139, 4.712246, 0.972764, -0.226088, 0.051128, 0.306429, 0.818156, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.135769, 4.817858, 1.861608, 0.784432, 0.487096, -0.383932, 0.136424, 0.735000, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 2.209271, 4.895685, 3.182524, 0.583325, 0.786675, 0.202177, 0.127679, 0.779159, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 2.388767, 4.900161, 3.823812, 0.750856, 0.633284, 0.187527, 0.135879, 0.821018, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.645873, 4.438719, 3.090069, 0.929190, 0.368445, -0.029233, 0.155096, 0.787607, 0.900000, 0.100000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 1.142160, 6.202897, 2.823985, 0.504438, 0.823944, -0.258183, 0.069024, 0.770052, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 2.359367, 4.832207, 2.773417, 0.796366, 0.579453, -0.173306, 0.135222, 0.768211, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 1.889817, 5.162752, 3.481335, 0.238007, 0.840641, -0.486492, 0.108020, 0.801101, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 2.284316, 4.970497, 2.977456, 0.742399, 0.657841, 0.126846, 0.131451, 0.773468, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 2.209271, 4.895685, 3.182524, 0.583325, 0.786675, 0.202177, 0.013050, 0.798258, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 1.889817, 5.162752, 3.481335, 0.238007, 0.840641, -0.486492, 0.013039, 0.802236, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 1.993447, 4.634689, 5.201987, 0.676622, 0.720470, 0.152005, 0.111262, 0.900644, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.618512, 5.833383, 4.473998, 0.482332, 0.789771, 0.378968, 0.032089, 0.860034, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.610059, 5.374901, 4.735716, 0.411115, 0.800451, 0.436191, 0.033340, 0.875149, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.605515, 0.714110, 7.046171, 0.563926, -0.500545, 0.656843, 0.428848, 0.950606, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.335442, 2.861594, 6.335299, 0.742076, 0.462859, 0.484855, 0.214757, 0.960645, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.369535, 0.909298, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.339110, 2.092412, 6.368515, 0.532494, -0.551190, 0.642371, 0.226122, 0.965353, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.209943, 0.976697, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.104638, 6.149989, 3.039298, 0.320463, 0.595577, 0.736608, 0.067138, 0.775594, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.067884, 5.536584, 1.084825, 0.492724, 0.497115, -0.714213, 0.071511, 0.714203, 0.500000, 0.500000, 0.000000, 0.000000, 2.000000, 12.000000, 0.000000, 0.000000, - 1.086344, 4.793220, 0.932789, 0.388776, 0.020748, -0.921099, 0.072415, 0.700226, 0.675000, 0.225000, 0.100000, 0.000000, 2.000000, 0.000000, 12.000000, 0.000000, - 1.505062, 4.568878, 6.707249, 0.580112, 0.580950, 0.570935, 0.107178, 0.991042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.397728, 4.912599, 6.261040, 0.455402, 0.673674, 0.582042, 0.093827, 0.964235, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.505062, 4.568878, 6.707249, 0.580112, 0.580950, 0.570935, 0.652251, 0.344933, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.021022, 3.881262, 7.522913, 0.391688, 0.401501, 0.827875, 0.699478, 0.420790, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.431623, 2.524216, 7.621109, 0.563855, 0.053854, 0.824116, 0.784523, 0.418498, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.762823, 0.351792, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.605515, 0.714110, 7.046171, 0.563926, -0.500545, 0.656843, 0.883538, 0.381171, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.880768, 1.677414, 7.769854, 0.344761, -0.198087, 0.917552, 0.848403, 0.428504, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.110317, 2.417574, 6.832777, 0.818567, 0.022117, 0.573985, 0.389372, 0.935901, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.821778, 5.228319, 5.732300, 0.684880, 0.707212, 0.175472, 0.103857, 0.931602, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.704838, 5.597308, 5.767645, 0.168659, 0.939384, 0.298515, 0.040769, 0.935496, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 7.457404, 0.100788, -1.786957, 0.413782, -0.874080, 0.254496, 0.833439, 0.550855, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.879081, 0.514615, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.453750, 0.135402, -2.532112, -0.425827, -0.857101, -0.289914, 0.626233, 0.482010, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 3.626478, 3.188629, -0.349689, 0.328483, 0.796315, -0.507919, 0.550807, 0.743689, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, - 4.480651, 3.012775, -0.839426, -0.314541, 0.681317, -0.660962, 0.550206, 0.713349, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 5.289504, -0.876402, 0.915476, 0.114568, -0.988892, -0.094692, 0.846870, 0.713917, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 3.801909, -0.138539, -0.349688, 0.335479, -0.819229, -0.465099, 0.929204, 0.720872, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 4.480651, 0.347085, -0.839425, -0.297727, -0.621360, -0.724756, 0.928805, 0.663638, 1.000000, 0.000000, 0.000000, 0.000000, 13.000000, 0.000000, 0.000000, 0.000000, - 8.849494, 3.097455, -4.937233, -0.611627, 0.704821, -0.359360, 0.990700, 0.162240, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.642374, 2.996215, -3.139717, -0.609768, 0.771715, -0.180662, 0.956479, 0.289332, 1.000000, 0.000000, 0.000000, 0.000000, 18.000000, 0.000000, 0.000000, 0.000000, - 6.586500, 2.798092, -2.691324, -0.618874, 0.760946, -0.194825, 0.956955, 0.310177, 0.750000, 0.250000, 0.000000, 0.000000, 13.000000, 18.000000, 0.000000, 0.000000, - 1.945033, 0.288834, 3.561427, 0.175903, -0.544988, 0.819784, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -0.494679, 3.457902, 0.175903, -0.544988, 0.819784, 0.525356, 0.772532, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, 0.175903, -0.544988, 0.819784, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, 0.043445, -0.433054, 0.900320, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.022877, -0.888535, 2.991356, 0.043445, -0.433054, 0.900320, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 1.945033, 0.288834, 3.561427, 0.043445, -0.433054, 0.900320, 0.418789, 0.773487, 0.750000, 0.250000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 2.022877, -0.888535, 2.991356, 0.169903, -0.779014, 0.603548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -1.471252, 2.808681, 0.169903, -0.779014, 0.603548, 0.524989, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -2.070344, 2.035419, 0.169903, -0.779014, 0.603548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -0.000000, -2.070344, 2.035419, 0.160793, -0.772319, 0.614548, 0.525356, 0.716106, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.100719, -1.487627, 2.218094, 0.160793, -0.772319, 0.614548, 0.418789, 0.721124, 0.900000, 0.100000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - 2.022877, -0.888535, 2.991356, 0.160793, -0.772319, 0.614548, 0.418789, 0.747305, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, - -2.171721, 3.376760, -4.168801, -0.741689, 0.622351, -0.250154, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.809124, 3.072505, -5.003186, -0.666298, 0.559091, -0.493421, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.974933, 2.804268, -4.916487, -0.942245, 0.095409, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.967840, 2.713004, -4.710462, -0.957126, -0.063323, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.232371, 2.413843, -4.367285, -0.929187, 0.129856, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.319298, 2.530162, -3.827997, -0.984301, 0.119175, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.171434, 3.376519, -3.441473, -0.766044, 0.642788, 0.000514, 0.451606, 0.130640, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.280035, 2.939553, -3.505896, -0.981685, 0.186854, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.573754, 3.282374, -4.916487, -0.257579, 0.911362, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.233964, 3.603698, -4.367285, -0.289235, 0.892522, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.482644, 3.291237, -4.710462, -0.103843, 0.953581, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.363611, 3.669105, -3.827997, -0.288287, 0.948653, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.759964, 3.559348, -3.505896, -0.354483, 0.934324, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.171721, 3.376759, -4.168801, 0.741689, 0.622351, -0.250154, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.974934, 2.804267, -4.916487, 0.942245, 0.095409, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.809125, 3.072505, -5.003186, 0.666298, 0.559091, -0.493421, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.232372, 2.413842, -4.367285, 0.929187, 0.129856, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.967840, 2.713003, -4.710462, 0.957126, -0.063323, -0.282665, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.319299, 2.530162, -3.827997, 0.984301, 0.119175, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.171435, 3.376519, -3.441473, 0.766044, 0.642788, 0.000514, 0.451606, 0.130640, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.280035, 2.939553, -3.505896, 0.981685, 0.186854, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.573755, 3.282373, -4.916487, 0.257579, 0.911362, -0.321048, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.482645, 3.291236, -4.710462, 0.103843, 0.953581, -0.282666, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.233965, 3.603698, -4.367285, 0.289235, 0.892522, -0.346047, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.363612, 3.669105, -3.827997, 0.288287, 0.948653, -0.130184, 0.495359, 0.108999, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.759965, 3.559348, -3.505896, 0.354483, 0.934324, -0.037164, 0.475754, 0.125810, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.520755, 5.587278, 3.023941, -0.527537, 0.847227, 0.062541, 0.289075, 0.864863, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.718281, 5.140290, 3.007710, -0.914407, 0.404571, -0.013485, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.651838, 5.308445, 3.547163, -0.876941, 0.460404, 0.137851, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.524569, 5.531939, 3.555278, -0.504441, 0.844248, 0.181066, 0.290902, 0.882222, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.328358, 5.476600, 4.086616, -0.482829, 0.834586, 0.265221, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -1.334352, 5.513103, 3.594080, 0.079421, 0.992542, 0.092479, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.791811, 6.108243, 2.960360, -0.448297, 0.893885, -0.000250, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.980155, 5.837409, 3.016448, -0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.881781, 5.975036, 3.354879, -0.808596, 0.581230, 0.091346, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.787609, 6.110453, 3.326836, -0.466134, 0.882518, 0.062305, 0.288248, 0.882715, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.678392, 6.112663, 3.693311, -0.459756, 0.878222, 0.131722, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.660664, 6.105395, 3.348310, 0.041929, 0.999042, -0.012557, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 4.544241, -4.139903, 0.000000, 0.975608, -0.219519, 0.451606, 0.088706, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.000001, 3.953575, -5.377921, 0.000000, 0.902540, -0.430607, 0.451606, 0.028945, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.463021, 3.896918, -5.249282, -0.471233, 0.833156, -0.289468, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -0.559988, 3.816933, -4.943592, -0.614159, 0.748674, -0.249592, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.152314, 3.829844, -4.434402, -0.444059, 0.842257, -0.305638, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -1.103008, 4.006241, -3.634236, -0.477064, 0.871527, -0.113363, 0.495359, 0.108999, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, - 0.000001, 4.543774, -3.060731, 0.000000, 1.000000, 0.000433, 0.451606, 0.130640, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, - -0.600239, 4.297089, -3.156317, -0.424975, 0.904638, -0.032030, 0.475754, 0.125810, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, - 1.520757, 5.587278, 3.023941, 0.527537, 0.847226, 0.062541, 0.289075, 0.864863, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.524571, 5.531939, 3.555278, 0.504442, 0.844247, 0.181066, 0.290902, 0.882222, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.651840, 5.308444, 3.547163, 0.876942, 0.460402, 0.137851, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.718283, 5.140289, 3.007710, 0.914408, 0.404570, -0.013485, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.328359, 5.476600, 4.086616, 0.482830, 0.834585, 0.265221, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.334354, 5.513103, 3.594080, -0.079421, 0.992542, 0.092479, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.791813, 6.108243, 2.960360, 0.448297, 0.893885, -0.000250, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.787611, 6.110453, 3.326836, 0.466134, 0.882518, 0.062305, 0.288248, 0.882715, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.881783, 5.975036, 3.354879, 0.808596, 0.581230, 0.091346, 0.299446, 0.880656, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.980157, 5.837409, 3.016448, 0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.678394, 6.112663, 3.693311, 0.459756, 0.878222, 0.131722, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.660666, 6.105395, 3.348310, -0.041929, 0.999042, -0.012557, 0.281076, 0.884034, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.463022, 3.896918, -5.249282, 0.471233, 0.833155, -0.289468, 0.479388, 0.030186, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.152315, 3.829843, -4.434402, 0.444059, 0.842257, -0.305638, 0.500794, 0.082557, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 0.559990, 3.816933, -4.943592, 0.614159, 0.748674, -0.249592, 0.481973, 0.044842, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 1.103009, 4.006241, -3.634236, 0.477064, 0.871527, -0.113363, 0.495359, 0.108999, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, - 0.600240, 4.297089, -3.156317, 0.424975, 0.904638, -0.032030, 0.475754, 0.125810, 0.750000, 0.250000, 0.000000, 0.000000, 4.000000, 3.000000, 0.000000, 0.000000, - -0.000001, 0.067566, 7.433109, -0.000000, -0.940426, -0.339997, 0.602601, 0.462555, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.593160, 0.337166, 7.725164, -0.755821, -0.654184, 0.027901, 0.587300, 0.478284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.399771, 1.063723, 7.297896, -0.849279, -0.071544, -0.523075, 0.545406, 0.454664, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 0.891214, 7.117573, -0.000000, -0.357743, -0.933820, 0.555200, 0.444956, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.593160, 0.870324, 8.297078, -0.750042, -0.087060, 0.655635, 0.557039, 0.509081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.399771, 1.404421, 7.650320, -0.836985, 0.518118, 0.176096, 0.526061, 0.473635, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 1.127739, 8.566290, 0.000000, 0.236011, 0.971750, 0.542424, 0.523574, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 1.569982, 7.817772, 0.000000, 0.853861, 0.520502, 0.516659, 0.482647, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -1.020623, 7.705671, 0.000000, 0.073925, -0.997264, 0.703290, 0.852123, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.946626, -0.749224, 8.206474, -0.856724, 0.135206, -0.497738, 0.706071, 0.901278, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.419059, 0.608771, 7.666940, -0.802237, 0.081854, -0.591368, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 0.422371, 7.467996, 0.000000, -0.162520, -0.986705, 0.629516, 0.872293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.946626, -0.251111, 9.129706, -0.845806, 0.369473, 0.384839, 0.695375, 0.943212, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.419059, 0.979188, 8.059962, -0.804057, 0.554976, 0.213292, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 0.189326, 9.610215, 0.000000, 0.601881, 0.798586, 0.687462, 0.984024, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 1.160258, 8.248867, 0.000000, 0.801473, 0.598031, 0.606736, 0.941328, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, 0.611745, 8.025559, -0.000000, -0.730462, 0.682953, 0.571719, 0.494463, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -2.207735, 7.412736, 0.000000, 0.439276, -0.898352, 0.793979, 0.835265, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.096123, 8.114799, -0.895053, 0.171826, -0.411530, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.015487, 9.530549, -0.846077, -0.035288, 0.531891, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -1.750179, 10.331022, 0.000000, 0.020919, 0.999781, 0.783473, 0.991512, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -3.026798, 6.814359, 0.000000, 0.548431, -0.836196, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.129799, -3.360023, 7.355148, -0.856920, 0.261637, -0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.129799, -4.019727, 8.643523, -0.876419, -0.176600, 0.447997, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000002, -4.346144, 9.381991, -0.000000, -0.343354, 0.939206, 0.885692, 0.988753, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.399769, 1.063723, 7.297896, 0.849279, -0.071545, -0.523075, 0.545406, 0.454664, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.593158, 0.337165, 7.725164, 0.755821, -0.654184, 0.027901, 0.587300, 0.478284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.399770, 1.404421, 7.650320, 0.836985, 0.518118, 0.176096, 0.526061, 0.473635, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.593158, 0.870324, 8.297078, 0.750042, -0.087061, 0.655635, 0.557039, 0.509081, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.419057, 0.608770, 7.666940, 0.802237, 0.081853, -0.591368, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.946624, -0.749224, 8.206474, 0.856724, 0.135205, -0.497738, 0.706071, 0.901278, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.419057, 0.979188, 8.059962, 0.804058, 0.554975, 0.213292, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.946624, -0.251111, 9.129706, 0.845806, 0.369473, 0.384839, 0.695375, 0.943212, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.096123, 8.114799, 0.895053, 0.171826, -0.411530, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.015488, 9.530549, 0.846077, -0.035288, 0.531891, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.129797, -3.360023, 7.355148, 0.856920, 0.261637, -0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.129796, -4.019727, 8.643524, 0.876419, -0.176600, 0.447998, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -3.561234, 6.937406, 0.000000, 0.365029, -0.930996, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.884116, -3.976414, 7.210742, -0.889807, 0.119533, -0.440404, 0.886369, 0.876580, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.096123, 8.114799, -0.938466, 0.027888, -0.344244, 0.621521, 0.890142, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -2.207735, 7.412736, 0.000000, 0.331348, -0.943509, 0.629516, 0.866346, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.884116, -4.870378, 7.906315, -0.819305, -0.313552, 0.480026, 0.886097, 0.921211, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.015488, 9.530548, -0.710926, -0.402806, 0.576483, 0.614927, 0.907284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000002, -5.346106, 8.322102, -0.012702, -0.507196, 0.861737, 0.885692, 0.964046, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -1.750179, 10.331022, -0.007721, -0.502718, 0.864416, 0.606736, 0.924260, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.096124, 8.114799, 0.938466, 0.027888, -0.344244, 0.621521, 0.890142, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.884113, -3.976415, 7.210742, 0.889807, 0.119533, -0.440404, 0.886369, 0.876580, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.015488, 9.530548, 0.731429, -0.371157, 0.572062, 0.614927, 0.907284, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.884113, -4.870379, 7.906317, 0.831441, -0.328963, 0.447761, 0.886097, 0.921211, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.096123, 8.114799, 0.930165, -0.196490, 0.310137, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.129799, -3.360022, 7.355147, 0.856920, -0.261637, 0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -3.026798, 6.814358, -0.000000, -0.548431, 0.836196, 0.886612, 0.835373, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -2.207734, 7.412735, -0.000000, -0.589908, 0.807471, 0.793979, 0.835265, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.015487, 9.530549, 0.762467, 0.265192, -0.590184, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.129800, -4.019727, 8.643523, 0.876419, 0.176600, -0.447997, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -1.750178, 10.331021, -0.000000, 0.383013, -0.923743, 0.783473, 0.991512, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000002, -4.346144, 9.381990, 0.000000, 0.343354, -0.939206, 0.885692, 0.988753, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.096123, 8.114799, -0.930165, -0.196490, 0.310137, 0.788193, 0.893299, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.129797, -3.360023, 7.355147, -0.856920, -0.261637, 0.444110, 0.886369, 0.884493, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.015487, 9.530549, -0.762467, 0.265192, -0.590184, 0.788938, 0.945029, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.129796, -4.019726, 8.643524, -0.876419, 0.176600, -0.447998, 0.886097, 0.937693, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000002, -4.433487, 7.582271, 0.000000, -0.927545, -0.373711, 0.828533, 0.911578, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.096123, 8.114799, -0.877393, -0.353679, -0.324180, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -2.207734, 7.412735, -0.000000, -0.075950, -0.997112, 0.629516, 0.872293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.138957, -2.015487, 9.530548, -0.558480, -0.663842, 0.497407, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -0.000001, -1.750178, 10.331021, -0.000000, -0.715573, 0.698537, 0.606736, 0.941328, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.096123, 8.114799, 0.877393, -0.353679, -0.324180, 0.621521, 0.900658, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 1.138954, -2.015487, 9.530548, 0.558479, -0.663842, 0.497407, 0.614927, 0.921092, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - 0.242433, 5.105717, -0.882794, 0.149074, 0.986324, -0.070292, 0.962284, 0.614281, 0.700000, 0.300000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 1.600020, 4.269749, -2.034275, 0.605018, 0.788025, -0.113883, 0.962284, 0.539918, 0.750000, 0.250000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 1.162399, 4.489936, -2.835589, 0.562525, 0.803314, -0.195581, 0.997191, 0.539918, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -0.371226, 5.105717, -1.625796, 0.104055, 0.990851, -0.085941, 0.997191, 0.614281, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - -1.544198, 5.054295, 0.463897, -0.206375, 0.972199, 0.110625, 0.962284, 0.688645, 0.750000, 0.250000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -2.058964, 5.054296, -0.426690, -0.173219, 0.979711, 0.100800, 0.997191, 0.688645, 0.500000, 0.500000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, - -3.493287, 4.198587, 0.917447, -0.576070, 0.790388, 0.208398, 0.997191, 0.763008, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -3.159199, 4.198586, 1.752134, -0.631874, 0.732646, 0.252912, 0.962284, 0.763008, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -3.777824, 2.962523, 2.384038, -0.866242, 0.451999, 0.212890, 0.962284, 0.828947, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - -3.807109, 3.181101, 1.481434, -0.929496, 0.350439, 0.115021, 0.997191, 0.823719, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, - 2.718091, 2.889540, -2.946126, 0.668365, 0.525017, -0.526921, 0.962284, 0.450215, 1.000000, 0.000000, 0.000000, 0.000000, 3.000000, 0.000000, 0.000000, 0.000000, - 2.171070, 2.703260, -3.713501, 0.682216, 0.434023, -0.588392, 0.997191, 0.449275, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.648978, 1.176869, -3.907624, 0.743959, 0.308327, -0.592840, 0.962284, 0.427354, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - 2.280738, 2.002637, -3.947887, 0.758649, 0.310379, -0.572814, 0.997191, 0.427354, 1.000000, 0.000000, 0.000000, 0.000000, 4.000000, 0.000000, 0.000000, 0.000000, - -2.995890, 1.700986, 5.156621, -0.947595, 0.094779, 0.305092, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.842206, 2.258922, 5.460625, -0.947595, 0.094779, 0.305092, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.021260, 1.991533, 4.987562, -0.947595, 0.094779, 0.305092, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.808360, 2.502507, 5.381116, -0.919319, 0.088793, 0.383364, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, -0.919319, 0.088793, 0.383364, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.978030, 2.651995, 4.939616, -0.919319, 0.088793, 0.383364, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, -0.948345, 0.094181, 0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.097670, 2.936896, 4.455233, -0.948345, 0.094181, 0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, -0.948345, 0.094181, 0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, -0.951506, 0.119635, 0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.978030, 2.651995, 4.939616, -0.951506, 0.119635, 0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, -0.951506, 0.119635, 0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.097670, 2.936896, 4.455233, -0.939614, 0.107088, 0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.251354, 2.511201, 4.151228, -0.939615, 0.107088, 0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.156410, 2.420167, 4.455673, -0.939615, 0.107088, 0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, -0.939614, 0.107088, 0.325049, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.285201, 1.972883, 4.230737, -0.939615, 0.107088, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.174316, 2.135377, 4.497736, -0.939615, 0.107088, 0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.179384, 1.637281, 4.647183, -0.939615, 0.107088, 0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.118335, 1.957831, 4.718052, -0.939615, 0.107088, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.995890, 1.700986, 5.156621, -0.939615, 0.107088, 0.325049, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.021260, 1.991533, 4.987562, -0.939615, 0.107088, 0.325049, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.995890, 1.700986, 5.156621, 0.947595, -0.094779, -0.305091, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.021260, 1.991533, 4.987562, 0.947595, -0.094779, -0.305091, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.842206, 2.258922, 5.460625, 0.947595, -0.094779, -0.305091, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.808360, 2.502507, 5.381116, 0.919319, -0.088793, -0.383364, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.978030, 2.651995, 4.939616, 0.919319, -0.088793, -0.383364, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, 0.919319, -0.088793, -0.383364, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, 0.951506, -0.119636, -0.283415, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.978030, 2.651995, 4.939616, 0.951506, -0.119636, -0.283415, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, 0.951506, -0.119636, -0.283415, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, 0.948345, -0.094181, -0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.097670, 2.936896, 4.455233, 0.948345, -0.094181, -0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.914176, 2.973520, 5.018271, 0.948345, -0.094181, -0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.097670, 2.936896, 4.455233, 0.939614, -0.107088, -0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.075105, 2.645375, 4.616503, 0.939614, -0.107088, -0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.156410, 2.420167, 4.455673, 0.939614, -0.107088, -0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.156410, 2.420167, 4.455673, 0.939615, -0.107088, -0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.251354, 2.511201, 4.151228, 0.939615, -0.107088, -0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.097670, 2.936896, 4.455233, 0.939615, -0.107088, -0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.174316, 2.135377, 4.497736, 0.939615, -0.107088, -0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.285201, 1.972883, 4.230737, 0.939615, -0.107088, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.118335, 1.957831, 4.718052, 0.939614, -0.107088, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.179384, 1.637281, 4.647183, 0.939614, -0.107088, -0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.021260, 1.991533, 4.987562, 0.939614, -0.107088, -0.325049, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -2.995890, 1.700986, 5.156621, 0.939615, -0.107089, -0.325049, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -1.083309, 5.549606, 3.101544, 0.068987, 0.992000, 0.105717, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 1.083311, 5.549606, 3.101544, -0.068987, 0.992000, 0.105717, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.526897, 5.899904, 3.043022, -0.820401, 0.571758, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.384680, 6.098868, 3.532284, -0.503416, 0.864044, 0.000563, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.390755, 6.095674, 3.002480, -0.448296, 0.893885, -0.000249, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.207234, 6.088361, 3.033525, 0.040909, 0.999142, -0.006493, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.504560, 5.899904, 3.043022, 0.820401, 0.571757, 0.005959, 0.306163, 0.861731, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.368418, 6.095674, 3.002480, 0.448296, 0.893885, -0.000249, 0.283766, 0.865850, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.362343, 6.098868, 3.532284, 0.503416, 0.864044, 0.000562, 0.294566, 0.906503, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.184897, 6.088361, 3.033525, -0.040909, 0.999142, -0.006493, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -0.537921, 6.098127, 3.003309, 0.040909, 0.999142, -0.006494, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - 0.537923, 6.098127, 3.003309, -0.040908, 0.999142, -0.006494, 0.269422, 0.868488, 1.000000, 0.000000, 0.000000, 0.000000, 12.000000, 0.000000, 0.000000, 0.000000, - -3.276351, 1.749548, 5.709937, -0.929793, 0.340256, -0.140399, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.182558, 2.082404, 5.895470, -0.929793, 0.340256, -0.140399, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194047, 1.932997, 5.609465, -0.929793, 0.340256, -0.140399, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.161902, 2.305543, 5.846946, -0.926336, 0.094782, 0.364578, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, -0.926336, 0.094782, 0.364578, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.265451, 2.329944, 5.577500, -0.926336, 0.094782, 0.364578, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, -0.948345, 0.094181, 0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, -0.948345, 0.094181, 0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, -0.948345, 0.094181, 0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, -0.951506, 0.119636, 0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.265451, 2.329944, 5.577500, -0.951506, 0.119636, 0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, -0.951506, 0.119636, 0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, -0.939614, 0.107089, 0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, -0.939614, 0.107089, 0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, -0.939614, 0.107089, 0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, -0.939614, 0.107089, 0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, -0.939614, 0.107089, 0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, -0.939614, 0.107089, 0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, -0.939614, 0.107088, 0.325050, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, -0.939614, 0.107088, 0.325050, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, -0.939614, 0.107088, 0.325050, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, -0.939615, 0.107086, 0.325048, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, -0.939615, 0.107086, 0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, -0.939615, 0.107086, 0.325048, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, -0.939615, 0.107088, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, -0.939615, 0.107088, 0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, -0.939615, 0.107088, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, -0.939614, 0.107090, 0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, -0.939614, 0.107090, 0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, -0.939614, 0.107090, 0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, -0.831478, 0.502642, 0.236634, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.276351, 1.749548, 5.709937, -0.831478, 0.502642, 0.236634, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194047, 1.932997, 5.609465, -0.831478, 0.502642, 0.236634, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194047, 1.932997, 5.609465, -0.727796, -0.012982, 0.685671, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, -0.727796, -0.012982, 0.685671, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, -0.727796, -0.012982, 0.685671, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.276351, 1.749548, 5.709937, 0.929792, -0.340256, 0.140400, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194046, 1.932996, 5.609465, 0.929792, -0.340256, 0.140400, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.182558, 2.082404, 5.895470, 0.929792, -0.340256, 0.140400, 0.528071, 0.202400, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.161902, 2.305543, 5.846946, 0.926336, -0.094782, -0.364578, 0.522015, 0.182677, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.265451, 2.329944, 5.577500, 0.926336, -0.094782, -0.364578, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, 0.926336, -0.094782, -0.364578, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, 0.951506, -0.119636, -0.283416, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.265451, 2.329944, 5.577500, 0.951506, -0.119636, -0.283416, 0.533384, 0.172996, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, 0.951506, -0.119636, -0.283416, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, 0.948345, -0.094181, -0.302939, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, 0.948345, -0.094181, -0.302939, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.226481, 2.526169, 5.625503, 0.948345, -0.094181, -0.302939, 0.525066, 0.166822, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, 0.939614, -0.107089, -0.325050, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.324695, 2.325904, 5.380305, 0.939614, -0.107089, -0.325050, 0.542040, 0.169197, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, 0.939614, -0.107089, -0.325050, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, 0.939614, -0.107089, -0.325049, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, 0.939614, -0.107089, -0.325049, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.338466, 2.503818, 5.281883, 0.939614, -0.107089, -0.325049, 0.540681, 0.158867, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, 0.939615, -0.107086, -0.325048, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.374315, 2.188460, 5.282152, 0.939615, -0.107086, -0.325048, 0.551610, 0.173114, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, 0.939615, -0.107086, -0.325048, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, 0.939614, -0.107088, -0.325050, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, 0.939614, -0.107088, -0.325050, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.432259, 2.244018, 5.096350, 0.939614, -0.107088, -0.325050, 0.558079, 0.165285, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, 0.939614, -0.107089, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.385243, 2.014654, 5.307822, 0.939614, -0.107089, -0.325049, 0.555928, 0.182704, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, 0.939614, -0.107089, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, 0.939615, -0.107088, -0.325049, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, 0.939615, -0.107088, -0.325049, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.452916, 1.915485, 5.144874, 0.939615, -0.107088, -0.325049, 0.565932, 0.182042, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, 0.727795, 0.012982, -0.685672, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.351078, 1.906299, 5.442281, 0.727795, 0.012982, -0.685672, 0.552546, 0.192585, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194046, 1.932996, 5.609465, 0.727795, 0.012982, -0.685672, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.194046, 1.932996, 5.609465, 0.831477, -0.502643, -0.236634, 0.543681, 0.197347, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.276351, 1.749548, 5.709937, 0.831477, -0.502643, -0.236634, 0.544140, 0.207417, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000, - -3.388336, 1.710668, 5.399030, 0.831477, -0.502643, -0.236634, 0.559972, 0.199293, 1.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 0.000000, 0.000000 - ], - "vertexsize": 13008, + "id": "shape1_part1", + "type": "TRIANGLES", "indices": [ 0, 1, 2, 2, 3, 0, 2, 4, 5, 5, 3, 2, 6, 7, 8, 8, 9, 6, 8, 10, 11, 1, 12, 13, @@ -1073,170 +1074,201 @@ 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812 - ], - "indexnum": 2760 + ] } ] } ], - "material": [ + "materials": [ { - "version": "1.2", - "base": [ + "id": "base", + "ambient": [ 0.588235, 0.588235, 0.588235], + "diffuse": [ 0.588235, 0.588235, 0.588235], + "emissive": [ 0.000000, 0.000000, 0.000000], + "opacity": 1.000000, + "specular": [ 0.900000, 0.900000, 0.900000], + "shininess": 2.000000, + "textures": [ { - "filename": "monguger.tga" + "id": "Map #1", + "filename": "monguger.tga", + "type": "DIFFUSE", + "wrapModeU": "REPEAT", + "wrapModeV": "REPEAT" } ] } ], - "skin": [ + "nodes": [ { "id": "Object005", - "tansform": [ 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -0.142358, 9.629485, 1.274491, 1.000000], - "bones": [ + "skeleton": false, + "transform": [ 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -0.142358, 9.629485, 1.274491, 1.000000], + "parts": [ { - "node": "Bip001 Spine1", - "bindshape": [-0.000000, 0.000002, -1.000000, 0.000000, 0.087949, 0.996125, 0.000002, 0.000000, 0.996125, -0.087949, -0.000000, 0.000000, 1.297510, -1.435822, -0.000002, 1.000000] - }, - { - "node": "Bip001 L UpperArm", - "bindshape": [-0.650007, -0.056867, -0.757798, 0.000000, 0.011354, -0.997812, 0.065139, 0.000000, -0.759844, 0.033737, 0.649230, 0.000000, -1.529892, 1.318230, -4.160798, 1.000000] - }, - { - "node": "Bip001 Head", - "bindshape": [-0.000000, 0.000002, -1.000000, 0.000000, 0.258818, 0.965926, 0.000001, 0.000000, 0.965926, -0.258818, -0.000001, 0.000000, -2.965949, -1.221239, -0.000001, 1.000000] - }, - { - "node": "Bip001 Spine", - "bindshape": [-0.000000, 0.000002, -1.000000, 0.000000, 0.174432, 0.984669, 0.000002, 0.000000, 0.984669, -0.174432, -0.000000, 0.000000, 3.432504, -1.546038, -0.000002, 1.000000] - }, - { - "node": "Bip001 Pelvis", - "bindshape": [ 0.000000, -0.000003, -1.000000, 0.000000, 0.000000, 1.000000, -0.000003, 0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 5.046729, -0.925373, 0.000003, 1.000000] - }, - { - "node": "Bip001 L Thigh", - "bindshape": [-0.000000, -0.000001, 1.000000, 0.000000, 0.012733, 0.999919, 0.000001, 0.000000, -0.999919, 0.012733, -0.000000, 0.000000, -5.058103, -0.861036, 1.214654, 1.000000] - }, - { - "node": "Bip001 L Calf", - "bindshape": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.186174, 0.982517, 0.000001, 0.000000, -0.982517, -0.186174, -0.000000, 0.000000, -7.165535, -2.331075, 1.214654, 1.000000] - }, - { - "node": "Bip001 L Foot", - "bindshape": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.000000, 1.000000, 0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, -8.868242, -0.692142, 1.214654, 1.000000] - }, - { - "node": "Bip001 L Finger1", - "bindshape": [ 0.189390, 0.981820, -0.012711, 0.000000, 0.201003, -0.051437, -0.978239, 0.000000, -0.961108, 0.182714, -0.207090, 0.000000, -3.798321, 10.941897, 0.719564, 1.000000] - }, - { - "node": "Bip001 L Forearm", - "bindshape": [-0.639483, -0.129629, -0.757798, 0.000000, 0.123531, -0.990200, 0.065139, 0.000000, -0.758816, -0.051956, 0.649230, 0.000000, -6.486903, 0.592245, -4.160798, 1.000000] - }, - { - "node": "Bip001 L Hand", - "bindshape": [-0.639483, 0.757694, -0.130232, 0.000000, 0.123531, -0.065928, -0.990148, 0.000000, -0.758816, -0.649271, -0.051439, 0.000000, -9.773757, 4.161268, 0.588932, 1.000000] - }, - { - "node": "Bip001 L Finger0", - "bindshape": [ 0.038940, -0.059247, -0.997484, 0.000000, 0.779720, -0.622488, 0.067413, 0.000000, -0.624916, -0.780384, 0.021956, 0.000000, -5.184858, -2.176859, -9.721279, 1.000000] - }, - { - "node": "Bone001", - "bindshape": [ 0.000000, 0.000000, -1.000000, 0.000000, 0.979771, -0.200123, 0.000000, 0.000000, -0.200123, -0.979771, -0.000000, 0.000000, -2.807834, 3.737062, 0.000001, 1.000000] - }, - { - "node": "Bip001 R UpperArm", - "bindshape": [ 0.650007, 0.056869, -0.757798, 0.000000, 0.011356, -0.997811, -0.065141, 0.000000, -0.759844, 0.033737, -0.649230, 0.000000, -1.529894, 1.318229, 4.160800, 1.000000] - }, - { - "node": "Bip001 R Thigh", - "bindshape": [ 0.000000, -0.000001, 1.000000, 0.000000, 0.012733, 0.999919, 0.000001, 0.000000, -0.999919, 0.012733, 0.000000, 0.000000, -5.058103, -0.861036, -1.214657, 1.000000] - }, - { - "node": "Bip001 R Calf", - "bindshape": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.186174, 0.982517, 0.000001, 0.000000, -0.982517, -0.186174, 0.000000, 0.000000, -7.165535, -2.331075, -1.214657, 1.000000] - }, - { - "node": "Bip001 R Foot", - "bindshape": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.000000, 1.000000, 0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, -8.868242, -0.692142, -1.214658, 1.000000] - }, - { - "node": "Bip001 R Finger1", - "bindshape": [-0.189390, -0.981820, -0.012713, 0.000000, 0.201002, -0.051440, 0.978239, 0.000000, -0.961108, 0.182714, 0.207090, 0.000000, -3.798321, 10.941902, -0.719563, 1.000000] - }, - { - "node": "Bip001 R Forearm", - "bindshape": [ 0.639483, 0.129631, -0.757798, 0.000000, 0.123532, -0.990200, -0.065141, 0.000000, -0.758816, -0.051956, -0.649230, 0.000000, -6.486905, 0.592245, 4.160800, 1.000000] - }, - { - "node": "Bip001 R Hand", - "bindshape": [ 0.639483, -0.757694, -0.130234, 0.000000, 0.123532, -0.065930, 0.990148, 0.000000, -0.758816, -0.649271, 0.051439, 0.000000, -9.773759, 4.161271, -0.588932, 1.000000] - }, - { - "node": "Bip001 R Finger0", - "bindshape": [-0.038942, 0.059248, -0.997483, 0.000000, 0.779720, -0.622488, -0.067415, 0.000000, -0.624916, -0.780383, -0.021956, 0.000000, -5.184858, -2.176859, 9.721282, 1.000000] + "meshpartid": "shape1_part1", + "materialid": "base", + "bones": [ + { + "node": "Bip001 Spine1", + "transform": [-0.000000, 0.000002, -1.000000, 0.000000, 0.087949, 0.996125, 0.000002, 0.000000, 0.996125, -0.087949, -0.000000, 0.000000, 1.297510, -1.435822, -0.000002, 1.000000] + }, + { + "node": "Bip001 L UpperArm", + "transform": [-0.650007, -0.056867, -0.757798, 0.000000, 0.011354, -0.997812, 0.065139, 0.000000, -0.759844, 0.033737, 0.649230, 0.000000, -1.529892, 1.318230, -4.160798, 1.000000] + }, + { + "node": "Bip001 Head", + "transform": [-0.000000, 0.000002, -1.000000, 0.000000, 0.258818, 0.965926, 0.000001, 0.000000, 0.965926, -0.258818, -0.000001, 0.000000, -2.965949, -1.221239, -0.000001, 1.000000] + }, + { + "node": "Bip001 Spine", + "transform": [-0.000000, 0.000002, -1.000000, 0.000000, 0.174432, 0.984669, 0.000002, 0.000000, 0.984669, -0.174432, -0.000000, 0.000000, 3.432504, -1.546038, -0.000002, 1.000000] + }, + { + "node": "Bip001 Pelvis", + "transform": [ 0.000000, -0.000003, -1.000000, 0.000000, 0.000000, 1.000000, -0.000003, 0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 5.046729, -0.925373, 0.000003, 1.000000] + }, + { + "node": "Bip001 L Thigh", + "transform": [-0.000000, -0.000001, 1.000000, 0.000000, 0.012733, 0.999919, 0.000001, 0.000000, -0.999919, 0.012733, -0.000000, 0.000000, -5.058103, -0.861036, 1.214654, 1.000000] + }, + { + "node": "Bip001 L Calf", + "transform": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.186174, 0.982517, 0.000001, 0.000000, -0.982517, -0.186174, -0.000000, 0.000000, -7.165535, -2.331075, 1.214654, 1.000000] + }, + { + "node": "Bip001 L Foot", + "transform": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.000000, 1.000000, 0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, -8.868242, -0.692142, 1.214654, 1.000000] + }, + { + "node": "Bip001 L Finger1", + "transform": [ 0.189390, 0.981820, -0.012711, 0.000000, 0.201003, -0.051437, -0.978239, 0.000000, -0.961108, 0.182714, -0.207090, 0.000000, -3.798321, 10.941897, 0.719564, 1.000000] + }, + { + "node": "Bip001 L Forearm", + "transform": [-0.639483, -0.129629, -0.757798, 0.000000, 0.123531, -0.990200, 0.065139, 0.000000, -0.758816, -0.051956, 0.649230, 0.000000, -6.486903, 0.592245, -4.160798, 1.000000] + }, + { + "node": "Bip001 L Hand", + "transform": [-0.639483, 0.757694, -0.130232, 0.000000, 0.123531, -0.065928, -0.990148, 0.000000, -0.758816, -0.649271, -0.051439, 0.000000, -9.773757, 4.161268, 0.588932, 1.000000] + }, + { + "node": "Bip001 L Finger0", + "transform": [ 0.038940, -0.059247, -0.997484, 0.000000, 0.779720, -0.622488, 0.067413, 0.000000, -0.624916, -0.780384, 0.021956, 0.000000, -5.184858, -2.176859, -9.721279, 1.000000] + }, + { + "node": "Bone001", + "transform": [ 0.000000, 0.000000, -1.000000, 0.000000, 0.979771, -0.200123, 0.000000, 0.000000, -0.200123, -0.979771, -0.000000, 0.000000, -2.807834, 3.737062, 0.000001, 1.000000] + }, + { + "node": "Bip001 R UpperArm", + "transform": [ 0.650007, 0.056869, -0.757798, 0.000000, 0.011356, -0.997811, -0.065141, 0.000000, -0.759844, 0.033737, -0.649230, 0.000000, -1.529894, 1.318229, 4.160800, 1.000000] + }, + { + "node": "Bip001 R Thigh", + "transform": [ 0.000000, -0.000001, 1.000000, 0.000000, 0.012733, 0.999919, 0.000001, 0.000000, -0.999919, 0.012733, 0.000000, 0.000000, -5.058103, -0.861036, -1.214657, 1.000000] + }, + { + "node": "Bip001 R Calf", + "transform": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.186174, 0.982517, 0.000001, 0.000000, -0.982517, -0.186174, 0.000000, 0.000000, -7.165535, -2.331075, -1.214657, 1.000000] + }, + { + "node": "Bip001 R Foot", + "transform": [ 0.000000, -0.000001, 1.000000, 0.000000, -0.000000, 1.000000, 0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, -8.868242, -0.692142, -1.214658, 1.000000] + }, + { + "node": "Bip001 R Finger1", + "transform": [-0.189390, -0.981820, -0.012713, 0.000000, 0.201002, -0.051440, 0.978239, 0.000000, -0.961108, 0.182714, 0.207090, 0.000000, -3.798321, 10.941902, -0.719563, 1.000000] + }, + { + "node": "Bip001 R Forearm", + "transform": [ 0.639483, 0.129631, -0.757798, 0.000000, 0.123532, -0.990200, -0.065141, 0.000000, -0.758816, -0.051956, -0.649230, 0.000000, -6.486905, 0.592245, 4.160800, 1.000000] + }, + { + "node": "Bip001 R Hand", + "transform": [ 0.639483, -0.757694, -0.130234, 0.000000, 0.123532, -0.065930, 0.990148, 0.000000, -0.758816, -0.649271, 0.051439, 0.000000, -9.773759, 4.161271, -0.588932, 1.000000] + }, + { + "node": "Bip001 R Finger0", + "transform": [-0.038942, 0.059248, -0.997483, 0.000000, 0.779720, -0.622488, -0.067415, 0.000000, -0.624916, -0.780383, -0.021956, 0.000000, -5.184858, -2.176859, 9.721282, 1.000000] + } + ], + "uvMapping": [[ 0]] } ] }, { "id": "Bip001", - "tansform": [ 0.257833, -0.087156, -0.962250, 0.000000, -0.965926, 0.000000, -0.258818, 0.000000, 0.022557, 0.996195, -0.084186, 0.000000, -0.495035, 3.925042, 0.780696, 1.000000], + "skeleton": true, + "transform": [ 0.257833, -0.087156, -0.962250, 0.000000, -0.965926, 0.000000, -0.258818, 0.000000, 0.022557, 0.996195, -0.084186, 0.000000, -0.495035, 3.925042, 0.780696, 1.000000], "children": [ { "id": "Bip001 Footsteps", - "tansform": [ 0.257833, -0.965926, 0.022557, 0.000000, 0.962250, 0.258818, 0.084186, 0.000000, -0.087156, 0.000000, 0.996195, 0.000000, 0.350998, -0.000000, -4.011928, 1.000000] + "skeleton": true, + "transform": [ 0.257833, -0.965926, 0.022557, 0.000000, 0.962250, 0.258818, 0.084186, 0.000000, -0.087156, 0.000000, 0.996195, 0.000000, 0.350998, -0.000000, -4.011928, 1.000000] }, { "id": "Bip001 Pelvis", - "tansform": [ 0.000330, 0.086823, 0.996224, 0.000000, 0.999971, -0.007595, 0.000330, 0.000000, 0.007595, 0.996195, -0.086823, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.000330, 0.086823, 0.996224, 0.000000, 0.999971, -0.007595, 0.000330, 0.000000, 0.007595, 0.996195, -0.086823, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 Spine", - "tansform": [ 0.891669, 0.422665, -0.162118, 0.000000, -0.443728, 0.886952, -0.128147, 0.000000, 0.089627, 0.186200, 0.978415, 0.000000, 1.392380, -0.001139, -0.121047, 1.000000], + "skeleton": true, + "transform": [ 0.891669, 0.422665, -0.162118, 0.000000, -0.443728, 0.886952, -0.128147, 0.000000, 0.089627, 0.186200, 0.978415, 0.000000, 1.392380, -0.001139, -0.121047, 1.000000], "children": [ { "id": "Bip001 Spine1", - "tansform": [ 0.981055, 0.172988, -0.087216, 0.000000, -0.179690, 0.980789, -0.075921, 0.000000, 0.072407, 0.090155, 0.993292, 0.000000, 2.265768, -0.002554, 0.000198, 1.000000], + "skeleton": true, + "transform": [ 0.981055, 0.172988, -0.087216, 0.000000, -0.179690, 0.980789, -0.075921, 0.000000, 0.072407, 0.090155, 0.993292, 0.000000, 2.265768, -0.002554, 0.000198, 1.000000], "children": [ { "id": "Bip001 Neck", - "tansform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 3.270138, -0.000426, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 3.270138, -0.000426, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Clavicle", - "tansform": [-0.000000, 0.000000, 1.000000, 0.000000, -0.000796, -1.000000, -0.000000, 0.000000, 1.000000, -0.000796, 0.000000, 0.000000, -0.343008, 0.030706, 3.141804, 1.000000], + "skeleton": true, + "transform": [-0.000000, 0.000000, 1.000000, 0.000000, -0.000796, -1.000000, -0.000000, 0.000000, 1.000000, -0.000796, 0.000000, 0.000000, -0.343008, 0.030706, 3.141804, 1.000000], "children": [ { "id": "Bip001 L UpperArm", - "tansform": [ 0.453512, -0.495191, -0.741021, 0.000000, 0.430767, 0.849663, -0.304158, 0.000000, 0.780235, -0.181268, 0.598644, 0.000000, 0.930716, 0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.453512, -0.495191, -0.741021, 0.000000, 0.430767, 0.849663, -0.304158, 0.000000, 0.780235, -0.181268, 0.598644, 0.000000, 0.930716, 0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Forearm", - "tansform": [ 0.690601, -0.723236, 0.000000, 0.000000, 0.723237, 0.690601, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 4.849212, 0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.690601, -0.723236, 0.000000, 0.000000, 0.723237, 0.690601, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 4.849212, 0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Hand", - "tansform": [ 1.000000, 0.000000, -0.000000, 0.000000, -0.000000, 0.000796, -1.000000, 0.000000, -0.000000, 1.000000, 0.000796, 0.000000, 3.286854, -0.000001, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 1.000000, 0.000000, -0.000000, 0.000000, -0.000000, 0.000796, -1.000000, 0.000000, -0.000000, 1.000000, 0.000796, 0.000000, 3.286854, -0.000001, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Finger0", - "tansform": [ 0.760723, 0.598173, -0.251970, 0.000000, 0.158045, 0.205811, 0.965745, 0.000000, 0.629541, -0.774487, 0.062026, 0.000000, 0.379262, -0.283002, -1.224734, 1.000000], + "skeleton": true, + "transform": [ 0.760723, 0.598173, -0.251970, 0.000000, 0.158045, 0.205811, 0.965745, 0.000000, 0.629541, -0.774487, 0.062026, 0.000000, 0.379262, -0.283002, -1.224734, 1.000000], "children": [ { "id": "Bip001 L Finger0Nub", - "tansform": [ 1.000000, -0.000000, -0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.870941, 0.000000, -0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, -0.000000, -0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.870941, 0.000000, -0.000000, 1.000000] } ] }, { "id": "Bip001 L Finger1", - "tansform": [-0.185144, 0.966431, -0.178139, 0.000000, -0.981707, -0.173695, 0.077989, 0.000000, 0.044429, 0.189320, 0.980910, 0.000000, 1.055224, 0.011045, 0.165891, 1.000000], + "skeleton": true, + "transform": [-0.185144, 0.966431, -0.178139, 0.000000, -0.981707, -0.173695, 0.077989, 0.000000, 0.044429, 0.189320, 0.980910, 0.000000, 1.055224, 0.011045, 0.165891, 1.000000], "children": [ { "id": "Bip001 L Finger1Nub", - "tansform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 1.262419, -0.000000, -0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 1.262419, -0.000000, -0.000000, 1.000000] } ] } @@ -1250,37 +1282,45 @@ }, { "id": "Bip001 R Clavicle", - "tansform": [ 0.000000, -0.000000, -1.000000, 0.000000, -0.000796, -1.000000, -0.000000, 0.000000, -1.000000, 0.000796, -0.000000, 0.000000, -0.343008, 0.030723, -3.141804, 1.000000], + "skeleton": true, + "transform": [ 0.000000, -0.000000, -1.000000, 0.000000, -0.000796, -1.000000, -0.000000, 0.000000, -1.000000, 0.000796, -0.000000, 0.000000, -0.343008, 0.030723, -3.141804, 1.000000], "children": [ { "id": "Bip001 R UpperArm", - "tansform": [ 0.396274, -0.116316, 0.910734, 0.000000, -0.348465, 0.898668, 0.266397, 0.000000, -0.849434, -0.422926, 0.315587, 0.000000, 0.930716, 0.000000, -0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.396274, -0.116316, 0.910734, 0.000000, -0.348465, 0.898668, 0.266397, 0.000000, -0.849434, -0.422926, 0.315587, 0.000000, 0.930716, 0.000000, -0.000000, 1.000000], "children": [ { "id": "Bip001 R Forearm", - "tansform": [ 0.637357, -0.770568, -0.000000, 0.000000, 0.770569, 0.637357, -0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 4.849210, -0.000000, -0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.637357, -0.770568, -0.000000, 0.000000, 0.770569, 0.637357, -0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 4.849210, -0.000000, -0.000000, 1.000000], "children": [ { "id": "Bip001 R Hand", - "tansform": [ 0.973529, 0.022769, 0.227427, 0.000000, -0.224179, -0.098835, 0.969523, 0.000000, 0.044553, -0.994843, -0.091114, 0.000000, 3.286856, 0.000001, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.973529, 0.022769, 0.227427, 0.000000, -0.224179, -0.098835, 0.969523, 0.000000, 0.044553, -0.994843, -0.091114, 0.000000, 3.286856, 0.000001, 0.000000, 1.000000], "children": [ { "id": "Bip001 R Finger0", - "tansform": [ 0.298127, 0.949537, -0.097470, 0.000000, 0.484157, -0.238429, -0.841869, 0.000000, -0.822625, 0.203793, -0.530807, 0.000000, 0.379262, -0.283000, 1.224734, 1.000000], + "skeleton": true, + "transform": [ 0.298127, 0.949537, -0.097470, 0.000000, 0.484157, -0.238429, -0.841869, 0.000000, -0.822625, 0.203793, -0.530807, 0.000000, 0.379262, -0.283000, 1.224734, 1.000000], "children": [ { "id": "Bip001 R Finger0Nub", - "tansform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.870941, 0.000000, -0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.870941, 0.000000, -0.000000, 1.000000] } ] }, { "id": "Bip001 R Finger1", - "tansform": [-0.011860, 0.981910, 0.188976, 0.000000, -0.998942, -0.003238, -0.045871, 0.000000, -0.044429, -0.189320, 0.980910, 0.000000, 1.055224, 0.011046, -0.165890, 1.000000], + "skeleton": true, + "transform": [-0.011860, 0.981910, 0.188976, 0.000000, -0.998942, -0.003238, -0.045871, 0.000000, -0.044429, -0.189320, 0.980910, 0.000000, 1.055224, 0.011046, -0.165890, 1.000000], "children": [ { "id": "Bip001 R Finger1Nub", - "tansform": [ 1.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 1.262418, -0.000000, 0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1.000000, 0.000000, 1.262418, -0.000000, 0.000000, 1.000000] } ] } @@ -1294,19 +1334,23 @@ }, { "id": "Bip001 Head", - "tansform": [ 0.894496, -0.439166, 0.083735, 0.000000, 0.334112, 0.781098, 0.527499, 0.000000, -0.297064, -0.443869, 0.845419, 0.000000, 0.737565, 0.280161, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.894496, -0.439166, 0.083735, 0.000000, 0.334112, 0.781098, 0.527499, 0.000000, -0.297064, -0.443869, 0.845419, 0.000000, 0.737565, 0.280161, 0.000000, 1.000000], "children": [ { "id": "Bip001 HeadNub", - "tansform": [ 1.000000, -0.000000, -0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 5.436248, -0.000000, 0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, -0.000000, -0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 5.436248, -0.000000, 0.000000, 1.000000] }, { "id": "Bone001", - "tansform": [-0.026948, 0.999637, 0.000001, 0.000000, -0.999637, -0.026949, 0.000001, 0.000000, 0.000001, -0.000001, 1.000000, 0.000000, 0.933568, 1.356227, -0.000001, 1.000000], + "skeleton": true, + "transform": [-0.026948, 0.999637, 0.000001, 0.000000, -0.999637, -0.026949, 0.000001, 0.000000, 0.000001, -0.000001, 1.000000, 0.000000, 0.933568, 1.356227, -0.000001, 1.000000], "children": [ { "id": "Bone002", - "tansform": [ 1.000000, 0.000000, -0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 3.089145, 0.000000, 0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, 0.000000, -0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 3.089145, 0.000000, 0.000000, 1.000000] } ] } @@ -1318,23 +1362,28 @@ }, { "id": "Bip001 L Thigh", - "tansform": [-0.224895, 0.947918, 0.225553, 0.000000, 0.904676, 0.117154, 0.409679, 0.000000, 0.361918, 0.296187, -0.883906, 0.000000, -1.457602, 0.447684, 1.182289, 1.000000], + "skeleton": true, + "transform": [-0.224895, 0.947918, 0.225553, 0.000000, 0.904676, 0.117154, 0.409679, 0.000000, 0.361918, 0.296187, -0.883906, 0.000000, -1.457602, 0.447684, 1.182289, 1.000000], "children": [ { "id": "Bip001 L Calf", - "tansform": [ 0.614838, -0.788653, 0.000000, 0.000000, 0.788653, 0.614838, 0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 2.427713, 0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.614838, -0.788653, 0.000000, 0.000000, 0.788653, 0.614838, 0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 2.427713, 0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Foot", - "tansform": [ 0.980433, 0.093547, -0.173205, 0.000000, -0.135625, 0.958725, -0.249905, 0.000000, 0.142678, 0.268506, 0.952653, 0.000000, 1.418803, 0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.980433, 0.093547, -0.173205, 0.000000, -0.135625, 0.958725, -0.249905, 0.000000, 0.142678, 0.268506, 0.952653, 0.000000, 1.418803, 0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 L Toe0", - "tansform": [-0.000000, 1.000000, -0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 0.000001, 1.000000, 0.000000, 0.823326, 1.589808, -0.000000, 1.000000], + "skeleton": true, + "transform": [-0.000000, 1.000000, -0.000001, 0.000000, -1.000000, -0.000000, 0.000000, 0.000000, 0.000000, 0.000001, 1.000000, 0.000000, 0.823326, 1.589808, -0.000000, 1.000000], "children": [ { "id": "Bip001 L Toe0Nub", - "tansform": [ 1.000000, -0.000000, -0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, -0.000000, -1.000000, 0.000000, 0.107390, 0.000000, -0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, -0.000000, -0.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000, -0.000000, -0.000000, -1.000000, 0.000000, 0.107390, 0.000000, -0.000000, 1.000000] } ] } @@ -1346,23 +1395,28 @@ }, { "id": "Bip001 R Thigh", - "tansform": [-0.571128, 0.773025, -0.276127, 0.000000, 0.801121, 0.598238, 0.017780, 0.000000, 0.178933, -0.211056, -0.960957, 0.000000, -1.063766, 0.758988, -1.194587, 1.000000], + "skeleton": true, + "transform": [-0.571128, 0.773025, -0.276127, 0.000000, 0.801121, 0.598238, 0.017780, 0.000000, 0.178933, -0.211056, -0.960957, 0.000000, -1.063766, 0.758988, -1.194587, 1.000000], "children": [ { "id": "Bip001 R Calf", - "tansform": [ 0.579893, -0.814693, -0.000000, 0.000000, 0.814693, 0.579893, 0.000000, 0.000000, -0.000000, -0.000000, 1.000000, 0.000000, 2.427712, -0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.579893, -0.814693, -0.000000, 0.000000, 0.814693, 0.579893, 0.000000, 0.000000, -0.000000, -0.000000, 1.000000, 0.000000, 2.427712, -0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 R Foot", - "tansform": [ 0.826433, 0.492345, -0.273141, 0.000000, -0.496991, 0.865879, 0.057044, 0.000000, 0.264592, 0.088606, 0.960281, 0.000000, 1.418803, -0.000000, 0.000000, 1.000000], + "skeleton": true, + "transform": [ 0.826433, 0.492345, -0.273141, 0.000000, -0.496991, 0.865879, 0.057044, 0.000000, 0.264592, 0.088606, 0.960281, 0.000000, 1.418803, -0.000000, 0.000000, 1.000000], "children": [ { "id": "Bip001 R Toe0", - "tansform": [-0.000002, 0.939693, -0.342020, 0.000000, -1.000000, -0.000002, 0.000000, 0.000000, -0.000001, 0.342020, 0.939693, 0.000000, 0.823326, 1.589808, 0.000000, 1.000000], + "skeleton": true, + "transform": [-0.000002, 0.939693, -0.342020, 0.000000, -1.000000, -0.000002, 0.000000, 0.000000, -0.000001, 0.342020, 0.939693, 0.000000, 0.823326, 1.589808, 0.000000, 1.000000], "children": [ { "id": "Bip001 R Toe0Nub", - "tansform": [ 1.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 0.107390, -0.000000, 0.000000, 1.000000] + "skeleton": true, + "transform": [ 1.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, -0.000000, 0.000000, -0.000000, 0.000000, 1.000000, 0.000000, 0.107390, -0.000000, 0.000000, 1.000000] } ] } @@ -1379,9 +1433,8 @@ ] } ], - "animation": [ + "animations": [ { - "version": "1.2", "id": "Take 001", "length": 3.033000, "bones": [ @@ -1942,6 +1995,1120 @@ } ] }, + { + "boneId": "Bip001 L UpperArm", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [-0.036070, 0.446516, -0.271785, 0.851736], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.010990, + "rotation": [-0.037798, 0.441940, -0.260280, 0.857621], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.021980, + "rotation": [-0.039693, 0.437096, -0.247960, 0.863647], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, 0.000000] + }, + { + "keytime": 0.032971, + "rotation": [-0.041754, 0.431905, -0.234551, 0.869885], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, 0.000000] + }, + { + "keytime": 0.043961, + "rotation": [-0.043801, 0.426745, -0.220979, 0.875864], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930715, 0.000000, 0.000000] + }, + { + "keytime": 0.054951, + "rotation": [-0.045837, 0.421539, -0.207004, 0.881676], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.065941, + "rotation": [-0.047814, 0.416353, -0.192779, 0.887243], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.076932, + "rotation": [-0.049739, 0.411098, -0.178029, 0.892653], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.087922, + "rotation": [-0.051459, 0.406146, -0.163791, 0.897536], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.098912, + "rotation": [-0.053039, 0.401255, -0.149389, 0.902144], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, 0.000000] + }, + { + "keytime": 0.109902, + "rotation": [-0.054356, 0.396766, -0.135849, 0.906183], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.120892, + "rotation": [-0.055430, 0.392580, -0.122925, 0.909779], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.131883, + "rotation": [-0.056258, 0.388629, -0.110448, 0.913019], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.142873, + "rotation": [-0.056772, 0.385188, -0.099340, 0.915717], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.153863, + "rotation": [-0.056981, 0.382174, -0.089407, 0.917988], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.164853, + "rotation": [-0.056858, 0.379553, -0.080597, 0.919897], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.175844, + "rotation": [-0.056391, 0.377518, -0.073614, 0.921347], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, 0.000000] + }, + { + "keytime": 0.186834, + "rotation": [-0.055553, 0.376012, -0.068349, 0.922419], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.197824, + "rotation": [-0.055243, 0.376140, -0.065935, 0.922562], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.208814, + "rotation": [-0.056031, 0.378566, -0.067227, 0.921427], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.219804, + "rotation": [-0.057324, 0.382714, -0.071581, 0.919304], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.230795, + "rotation": [-0.058542, 0.388036, -0.078467, 0.916430], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.241785, + "rotation": [-0.059121, 0.394153, -0.087656, 0.912943], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.252775, + "rotation": [-0.058481, 0.400110, -0.098097, 0.909323], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.263765, + "rotation": [-0.056154, 0.405454, -0.109563, 0.905787], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.274755, + "rotation": [-0.051509, 0.409618, -0.121989, 0.902596], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.285746, + "rotation": [-0.044385, 0.411629, -0.134241, 0.900317], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.296736, + "rotation": [-0.035679, 0.411960, -0.146323, 0.898669], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.307726, + "rotation": [-0.026744, 0.411486, -0.158137, 0.897194], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000001] + }, + { + "keytime": 0.318716, + "rotation": [-0.018598, 0.410352, -0.168488, 0.896034], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.329706, + "rotation": [-0.011439, 0.408674, -0.177236, 0.895233], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000001, 0.000000] + }, + { + "keytime": 0.340697, + "rotation": [-0.005574, 0.406512, -0.184043, 0.894899], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.351687, + "rotation": [-0.001219, 0.404160, -0.188137, 0.895130], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.362677, + "rotation": [ 0.002279, 0.401711, -0.189937, 0.895850], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.373667, + "rotation": [ 0.005025, 0.399205, -0.189714, 0.897005], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.384658, + "rotation": [ 0.006885, 0.396894, -0.187791, 0.898422], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, 0.000000] + }, + { + "keytime": 0.395648, + "rotation": [ 0.007994, 0.394737, -0.184383, 0.900068], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.406638, + "rotation": [ 0.008297, 0.392945, -0.180004, 0.901734], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.417628, + "rotation": [ 0.007844, 0.391526, -0.174885, 0.903361], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.428619, + "rotation": [ 0.006582, 0.390529, -0.169175, 0.904889], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000001, 0.000000] + }, + { + "keytime": 0.439609, + "rotation": [ 0.004576, 0.390075, -0.163534, 0.906133], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.450599, + "rotation": [ 0.001791, 0.390190, -0.158124, 0.907053], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.461589, + "rotation": [-0.001905, 0.390967, -0.153139, 0.907573], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.472580, + "rotation": [-0.007727, 0.392873, -0.150696, 0.907128], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000000] + }, + { + "keytime": 0.483570, + "rotation": [-0.016397, 0.396132, -0.151764, 0.905416], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.494560, + "rotation": [-0.027016, 0.400558, -0.155771, 0.902529], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.505550, + "rotation": [-0.037696, 0.405638, -0.161698, 0.898827], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.516540, + "rotation": [-0.046781, 0.410708, -0.176183, 0.893359], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.527531, + "rotation": [-0.052972, 0.415553, -0.202242, 0.885216], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.538521, + "rotation": [-0.055571, 0.420152, -0.230944, 0.875814], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.549511, + "rotation": [-0.054707, 0.424737, -0.255719, 0.866726], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.560501, + "rotation": [-0.050303, 0.429459, -0.269751, 0.860389], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.571492, + "rotation": [-0.030942, 0.435804, -0.239049, 0.867164], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.582482, + "rotation": [ 0.001169, 0.441405, -0.164225, 0.882151], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.593472, + "rotation": [ 0.028567, 0.444439, -0.087178, 0.891099], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.604462, + "rotation": [ 0.034310, 0.447900, -0.052248, 0.891896], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.615453, + "rotation": [ 0.006814, 0.457888, -0.080883, 0.885297], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.626443, + "rotation": [-0.042552, 0.464017, -0.160518, 0.870121], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.637433, + "rotation": [-0.087216, 0.448055, -0.265822, 0.849105], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.648423, + "rotation": [-0.121518, 0.371504, -0.449418, 0.803269], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.659413, + "rotation": [-0.128819, 0.292453, -0.595710, 0.736890], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.670404, + "rotation": [-0.084921, 0.316271, -0.578733, 0.746879], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.681394, + "rotation": [-0.066205, 0.348633, -0.504507, 0.787112], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.692384, + "rotation": [-0.233033, 0.271606, -0.380962, 0.852522], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000000] + }, + { + "keytime": 0.703374, + "rotation": [-0.263092, 0.250490, -0.347847, 0.864315], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.714364, + "rotation": [-0.245308, 0.257496, -0.351187, 0.866134], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.725355, + "rotation": [-0.084210, 0.342940, -0.436393, 0.827564], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.736345, + "rotation": [-0.186559, 0.284881, -0.388686, 0.856132], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000000] + }, + { + "keytime": 0.747335, + "rotation": [-0.291566, 0.221188, -0.329898, 0.870191], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930715, 0.000000, 0.000000] + }, + { + "keytime": 0.758325, + "rotation": [-0.315774, 0.207758, -0.313262, 0.871200], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.769315, + "rotation": [-0.334093, 0.198811, -0.301373, 0.870649], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.780306, + "rotation": [-0.346524, 0.194427, -0.293142, 0.869590], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.791296, + "rotation": [-0.351541, 0.195755, -0.288257, 0.868911], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.802286, + "rotation": [-0.350735, 0.201182, -0.286184, 0.868683], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.813276, + "rotation": [-0.347490, 0.208331, -0.285888, 0.868399], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000001, -0.000000] + }, + { + "keytime": 0.824266, + "rotation": [-0.341827, 0.217270, -0.287084, 0.868061], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.835257, + "rotation": [-0.334294, 0.227257, -0.289359, 0.867683], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000000] + }, + { + "keytime": 0.846247, + "rotation": [-0.324976, 0.238320, -0.292380, 0.867242], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.857237, + "rotation": [-0.314095, 0.250255, -0.295801, 0.866729], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.868227, + "rotation": [-0.301494, 0.263255, -0.299377, 0.866125], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000001, -0.000001] + }, + { + "keytime": 0.879217, + "rotation": [-0.288162, 0.276362, -0.302547, 0.865478], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.890208, + "rotation": [-0.274000, 0.289773, -0.305074, 0.864804], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.901198, + "rotation": [-0.258831, 0.303729, -0.306647, 0.864131], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.912188, + "rotation": [-0.242103, 0.318347, -0.306856, 0.863644], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.923178, + "rotation": [-0.222050, 0.334615, -0.305745, 0.863277], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.934168, + "rotation": [-0.198449, 0.352390, -0.303331, 0.862803], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.945159, + "rotation": [-0.173273, 0.369985, -0.299881, 0.862066], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000000] + }, + { + "keytime": 0.956149, + "rotation": [-0.146503, 0.387341, -0.295482, 0.860927], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000001] + }, + { + "keytime": 0.967139, + "rotation": [-0.117983, 0.404446, -0.290133, 0.859259], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.978129, + "rotation": [-0.090137, 0.419879, -0.284354, 0.857158], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.989119, + "rotation": [-0.062903, 0.433830, -0.278232, 0.854647], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.036328, 0.446391, -0.271845, 0.851772], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + } + ] + }, + { + "boneId": "Bip001 L Forearm", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [-0.000000, -0.000000, -0.393319, 0.919402], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849211, 0.000000, 0.000000] + }, + { + "keytime": 0.010990, + "rotation": [-0.000000, -0.000000, -0.408870, 0.912593], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.021980, + "rotation": [-0.000000, 0.000000, -0.425410, 0.905001], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, -0.000001] + }, + { + "keytime": 0.032971, + "rotation": [ 0.000000, -0.000000, -0.443204, 0.896421], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.043961, + "rotation": [-0.000000, -0.000000, -0.460942, 0.887430], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000001, 0.000000] + }, + { + "keytime": 0.054951, + "rotation": [ 0.000000, 0.000000, -0.478882, 0.877879], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.065941, + "rotation": [-0.000000, -0.000000, -0.496780, 0.867876], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.076932, + "rotation": [-0.000000, 0.000000, -0.514928, 0.857233], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.087922, + "rotation": [-0.000000, 0.000000, -0.532030, 0.846725], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.098912, + "rotation": [ 0.000000, 0.000000, -0.548894, 0.835892], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.109902, + "rotation": [-0.000000, 0.000000, -0.564324, 0.825554], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.120892, + "rotation": [ 0.000000, 0.000000, -0.578637, 0.815585], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.131883, + "rotation": [ 0.000000, 0.000000, -0.592026, 0.805919], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.142873, + "rotation": [ 0.000000, 0.000000, -0.603530, 0.797340], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.153863, + "rotation": [ 0.000000, -0.000000, -0.613398, 0.789774], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.164853, + "rotation": [ 0.000000, -0.000000, -0.621684, 0.783268], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.175844, + "rotation": [ 0.000000, 0.000000, -0.627736, 0.778427], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.186834, + "rotation": [ 0.000000, -0.000000, -0.631697, 0.775216], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, -0.000000] + }, + { + "keytime": 0.197824, + "rotation": [ 0.000000, 0.000000, -0.629399, 0.777082], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.208814, + "rotation": [-0.000000, 0.000000, -0.618453, 0.785822], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.219804, + "rotation": [ 0.000000, 0.000000, -0.600878, 0.799340], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.230795, + "rotation": [-0.000000, 0.000000, -0.578658, 0.815570], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.241785, + "rotation": [-0.000000, 0.000000, -0.553145, 0.833085], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.252775, + "rotation": [ 0.000000, -0.000000, -0.528169, 0.849140], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.263765, + "rotation": [ 0.000000, -0.000000, -0.505492, 0.862831], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.274755, + "rotation": [ 0.000000, 0.000000, -0.487305, 0.873232], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.285746, + "rotation": [ 0.000000, 0.000000, -0.477443, 0.878663], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, -0.000001] + }, + { + "keytime": 0.296736, + "rotation": [-0.000000, -0.000000, -0.473041, 0.881040], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000001] + }, + { + "keytime": 0.307726, + "rotation": [ 0.000000, -0.000000, -0.469858, 0.882742], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000001] + }, + { + "keytime": 0.318716, + "rotation": [ 0.000000, -0.000000, -0.467961, 0.883749], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.329706, + "rotation": [-0.000000, -0.000000, -0.467163, 0.884171], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000000] + }, + { + "keytime": 0.340697, + "rotation": [ 0.000000, 0.000000, -0.467408, 0.884042], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000000] + }, + { + "keytime": 0.351687, + "rotation": [-0.000000, -0.000000, -0.468599, 0.883411], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.362677, + "rotation": [ 0.000000, 0.000000, -0.470648, 0.882321], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.373667, + "rotation": [ 0.000000, -0.000000, -0.473568, 0.880757], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, -0.000000] + }, + { + "keytime": 0.384658, + "rotation": [ 0.000000, 0.000000, -0.477103, 0.878847], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000000] + }, + { + "keytime": 0.395648, + "rotation": [ 0.000000, -0.000000, -0.481377, 0.876514], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.406638, + "rotation": [ 0.000000, -0.000000, -0.486053, 0.873929], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000001] + }, + { + "keytime": 0.417628, + "rotation": [ 0.000000, -0.000000, -0.491165, 0.871066], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.428619, + "rotation": [ 0.000000, -0.000000, -0.496801, 0.867865], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.439609, + "rotation": [ 0.000000, 0.000000, -0.502544, 0.864551], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.450599, + "rotation": [-0.000000, -0.000000, -0.508475, 0.861077], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.461589, + "rotation": [-0.000000, -0.000000, -0.514697, 0.857372], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.472580, + "rotation": [ 0.000000, 0.000000, -0.524400, 0.851472], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.483570, + "rotation": [-0.000000, -0.000000, -0.539826, 0.841776], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849211, -0.000001, -0.000000] + }, + { + "keytime": 0.494560, + "rotation": [-0.000000, -0.000000, -0.559263, 0.828990], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.505550, + "rotation": [-0.000000, -0.000000, -0.579298, 0.815116], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000001] + }, + { + "keytime": 0.516540, + "rotation": [ 0.000000, -0.000000, -0.598342, 0.801241], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.527531, + "rotation": [ 0.000000, 0.000000, -0.614836, 0.788655], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.538521, + "rotation": [-0.000000, -0.000000, -0.625925, 0.779883], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.549511, + "rotation": [ 0.000000, 0.000000, -0.630329, 0.776328], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.560501, + "rotation": [ 0.000000, 0.000000, -0.625877, 0.779921], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.571492, + "rotation": [ 0.000000, -0.000000, -0.596078, 0.802926], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000001, 0.000000] + }, + { + "keytime": 0.582482, + "rotation": [ 0.000000, 0.000000, -0.534326, 0.845278], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.593472, + "rotation": [ 0.000000, 0.000000, -0.452406, 0.891812], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.604462, + "rotation": [-0.000000, 0.000000, -0.373423, 0.927661], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.615453, + "rotation": [-0.000000, 0.000000, -0.249280, 0.968432], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.626443, + "rotation": [-0.000000, 0.000000, -0.112408, 0.993662], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.637433, + "rotation": [-0.000000, 0.000000, -0.124619, 0.992205], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000001, 0.000000] + }, + { + "keytime": 0.648423, + "rotation": [-0.000000, 0.000000, -0.543887, 0.839158], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000001] + }, + { + "keytime": 0.659413, + "rotation": [-0.000000, 0.000000, 0.887472, -0.460862], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000001] + }, + { + "keytime": 0.670404, + "rotation": [ 0.000000, -0.000000, 0.929311, -0.369297], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.681394, + "rotation": [-0.000000, -0.000000, 0.890105, -0.455755], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.692384, + "rotation": [-0.000000, 0.000000, -0.570158, 0.821535], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.703374, + "rotation": [ 0.000000, 0.000000, -0.501939, 0.864903], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000001] + }, + { + "keytime": 0.714364, + "rotation": [-0.000000, 0.000000, -0.565605, 0.824676], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000001] + }, + { + "keytime": 0.725355, + "rotation": [-0.000000, 0.000000, 0.887472, -0.460862], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.736345, + "rotation": [-0.000000, 0.000000, -0.758867, 0.651246], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.747335, + "rotation": [-0.000000, 0.000000, -0.572594, 0.819839], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849211, 0.000000, 0.000001] + }, + { + "keytime": 0.758325, + "rotation": [-0.000000, -0.000000, -0.540641, 0.841253], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.769315, + "rotation": [ 0.000000, -0.000000, -0.516861, 0.856069], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000001] + }, + { + "keytime": 0.780306, + "rotation": [-0.000000, -0.000000, -0.498121, 0.867108], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000001] + }, + { + "keytime": 0.791296, + "rotation": [ 0.000000, 0.000000, -0.483556, 0.875314], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000001, 0.000002] + }, + { + "keytime": 0.802286, + "rotation": [-0.000000, 0.000000, -0.473431, 0.880831], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.813276, + "rotation": [-0.000000, 0.000000, -0.466605, 0.884466], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.824266, + "rotation": [-0.000000, 0.000000, -0.462299, 0.886724], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.835257, + "rotation": [-0.000000, 0.000000, -0.460052, 0.887892], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.846247, + "rotation": [-0.000000, -0.000000, -0.458981, 0.888446], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000001] + }, + { + "keytime": 0.857237, + "rotation": [-0.000000, 0.000000, -0.458362, 0.888765], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000000] + }, + { + "keytime": 0.868227, + "rotation": [-0.000000, 0.000000, -0.457430, 0.889246], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000001] + }, + { + "keytime": 0.879217, + "rotation": [-0.000000, -0.000000, -0.455500, 0.890236], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000001] + }, + { + "keytime": 0.890208, + "rotation": [-0.000000, -0.000000, -0.451819, 0.892110], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, -0.000000, 0.000000] + }, + { + "keytime": 0.901198, + "rotation": [ 0.000000, 0.000000, -0.445398, 0.895333], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, -0.000000] + }, + { + "keytime": 0.912188, + "rotation": [-0.000000, 0.000000, -0.438032, 0.898960], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, 0.000000, 0.000000] + }, + { + "keytime": 0.923178, + "rotation": [ 0.000000, 0.000000, -0.431425, 0.902149], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000000] + }, + { + "keytime": 0.934168, + "rotation": [-0.000000, 0.000000, -0.425268, 0.905068], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, -0.000000, 0.000000] + }, + { + "keytime": 0.945159, + "rotation": [ 0.000000, 0.000000, -0.419765, 0.907633], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, -0.000000] + }, + { + "keytime": 0.956149, + "rotation": [-0.000000, 0.000000, -0.414571, 0.910017], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849210, -0.000000, 0.000001] + }, + { + "keytime": 0.967139, + "rotation": [-0.000000, 0.000000, -0.409378, 0.912365], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000000, 0.000001] + }, + { + "keytime": 0.978129, + "rotation": [ 0.000000, 0.000000, -0.404328, 0.914614], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849208, 0.000000, 0.000000] + }, + { + "keytime": 0.989119, + "rotation": [-0.000000, -0.000000, -0.399107, 0.916904], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849209, 0.000001, -0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.000000, -0.000000, -0.393375, 0.919378], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 4.849211, 0.000000, 0.000000] + } + ] + }, { "boneId": "Bip001", "keyframes": [ @@ -3733,1116 +4900,421 @@ ] }, { - "boneId": "Bip001 L UpperArm", + "boneId": "Bip001 L Finger1", "keyframes": [ { "keytime": 0.000000, - "rotation": [-0.036070, 0.446516, -0.271785, 0.851736], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.010990, - "rotation": [-0.037798, 0.441940, -0.260280, 0.857621], + "rotation": [-0.043709, 0.087376, 0.764799, 0.636819], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.021980, - "rotation": [-0.039693, 0.437096, -0.247960, 0.863647], + "rotation": [-0.043709, 0.087376, 0.764800, 0.636817], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.032971, - "rotation": [-0.041754, 0.431905, -0.234551, 0.869885], + "rotation": [-0.043707, 0.087377, 0.764813, 0.636802], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.043961, - "rotation": [-0.043801, 0.426745, -0.220979, 0.875864], + "rotation": [-0.043704, 0.087379, 0.764833, 0.636777], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930715, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.054951, - "rotation": [-0.045837, 0.421539, -0.207004, 0.881676], + "rotation": [-0.043700, 0.087381, 0.764860, 0.636746], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.065941, - "rotation": [-0.047814, 0.416353, -0.192779, 0.887243], + "rotation": [-0.043697, 0.087382, 0.764888, 0.636712], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.076932, - "rotation": [-0.049739, 0.411098, -0.178029, 0.892653], + "rotation": [-0.043693, 0.087384, 0.764916, 0.636678], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.087922, - "rotation": [-0.051459, 0.406146, -0.163791, 0.897536], + "rotation": [-0.043690, 0.087386, 0.764939, 0.636650], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.098912, - "rotation": [-0.053039, 0.401255, -0.149389, 0.902144], + "rotation": [-0.043687, 0.087387, 0.764955, 0.636631], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.109902, - "rotation": [-0.054356, 0.396766, -0.135849, 0.906183], + "rotation": [-0.043687, 0.087388, 0.764960, 0.636624], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.120892, - "rotation": [-0.055430, 0.392580, -0.122925, 0.909779], + "rotation": [-0.043688, 0.087387, 0.764952, 0.636634], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.131883, - "rotation": [-0.056258, 0.388629, -0.110448, 0.913019], + "rotation": [-0.043691, 0.087385, 0.764927, 0.636664], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.142873, - "rotation": [-0.056772, 0.385188, -0.099340, 0.915717], + "rotation": [-0.043697, 0.087382, 0.764883, 0.636717], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.153863, - "rotation": [-0.056981, 0.382174, -0.089407, 0.917988], + "rotation": [-0.043706, 0.087378, 0.764816, 0.636798], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055225, 0.011046, 0.165891] }, { "keytime": 0.164853, - "rotation": [-0.056858, 0.379553, -0.080597, 0.919897], + "rotation": [-0.043720, 0.087371, 0.764720, 0.636913], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.175844, - "rotation": [-0.056391, 0.377518, -0.073614, 0.921347], + "rotation": [-0.043736, 0.087363, 0.764598, 0.637059], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.186834, - "rotation": [-0.055553, 0.376012, -0.068349, 0.922419], + "rotation": [-0.043757, 0.087352, 0.764445, 0.637243], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.197824, - "rotation": [-0.055243, 0.376140, -0.065935, 0.922562], + "rotation": [-0.043796, 0.087333, 0.764162, 0.637582], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.208814, - "rotation": [-0.056031, 0.378566, -0.067227, 0.921427], + "rotation": [-0.043857, 0.087302, 0.763715, 0.638118], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.219804, - "rotation": [-0.057324, 0.382714, -0.071581, 0.919304], + "rotation": [-0.043935, 0.087263, 0.763149, 0.638794], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.230795, - "rotation": [-0.058542, 0.388036, -0.078467, 0.916430], + "rotation": [-0.044021, 0.087220, 0.762520, 0.639546], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.241785, - "rotation": [-0.059121, 0.394153, -0.087656, 0.912943], + "rotation": [-0.044110, 0.087174, 0.761861, 0.640330], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.252775, - "rotation": [-0.058481, 0.400110, -0.098097, 0.909323], + "rotation": [-0.044191, 0.087133, 0.761266, 0.641037], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.263765, - "rotation": [-0.056154, 0.405454, -0.109563, 0.905787], + "rotation": [-0.044259, 0.087099, 0.760770, 0.641626], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.274755, - "rotation": [-0.051509, 0.409618, -0.121989, 0.902596], + "rotation": [-0.044306, 0.087075, 0.760421, 0.642040], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.285746, - "rotation": [-0.044385, 0.411629, -0.134241, 0.900317], + "rotation": [-0.044323, 0.087066, 0.760295, 0.642188], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055225, 0.011045, 0.165891] }, { "keytime": 0.296736, - "rotation": [-0.035679, 0.411960, -0.146323, 0.898669], + "rotation": [-0.044341, 0.087057, 0.760164, 0.642344], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055225, 0.011045, 0.165891] }, { "keytime": 0.307726, - "rotation": [-0.026744, 0.411486, -0.158137, 0.897194], + "rotation": [-0.044391, 0.087032, 0.759794, 0.642781], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.318716, - "rotation": [-0.018598, 0.410352, -0.168488, 0.896034], + "rotation": [-0.044463, 0.086995, 0.759263, 0.643408], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.329706, - "rotation": [-0.011439, 0.408674, -0.177236, 0.895233], + "rotation": [-0.044549, 0.086951, 0.758624, 0.644162], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000001, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165890] }, { "keytime": 0.340697, - "rotation": [-0.005574, 0.406512, -0.184043, 0.894899], + "rotation": [-0.044645, 0.086902, 0.757912, 0.644999], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.351687, - "rotation": [-0.001219, 0.404160, -0.188137, 0.895130], + "rotation": [-0.044737, 0.086855, 0.757232, 0.645797], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055225, 0.011045, 0.165891] }, { "keytime": 0.362677, - "rotation": [ 0.002279, 0.401711, -0.189937, 0.895850], + "rotation": [-0.044819, 0.086812, 0.756622, 0.646512], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.373667, - "rotation": [ 0.005025, 0.399205, -0.189714, 0.897005], + "rotation": [-0.044885, 0.086778, 0.756130, 0.647088], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.384658, - "rotation": [ 0.006885, 0.396894, -0.187791, 0.898422], + "rotation": [-0.044923, 0.086758, 0.755846, 0.647420], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.395648, - "rotation": [ 0.007994, 0.394737, -0.184383, 0.900068], + "rotation": [-0.044927, 0.086756, 0.755817, 0.647453], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055225, 0.011045, 0.165890] }, { "keytime": 0.406638, - "rotation": [ 0.008297, 0.392945, -0.180004, 0.901734], + "rotation": [-0.044888, 0.086777, 0.756105, 0.647116], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.417628, - "rotation": [ 0.007844, 0.391526, -0.174885, 0.903361], + "rotation": [-0.044799, 0.086822, 0.756765, 0.646344], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.428619, - "rotation": [ 0.006582, 0.390529, -0.169175, 0.904889], + "rotation": [-0.044647, 0.086901, 0.757895, 0.645019], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000001, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.439609, - "rotation": [ 0.004576, 0.390075, -0.163534, 0.906133], + "rotation": [-0.044433, 0.087011, 0.759487, 0.643145], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.450599, - "rotation": [ 0.001791, 0.390190, -0.158124, 0.907053], + "rotation": [-0.044143, 0.087158, 0.761620, 0.640617], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.461589, - "rotation": [-0.001905, 0.390967, -0.153139, 0.907573], + "rotation": [-0.043758, 0.087352, 0.764441, 0.637248], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.472580, - "rotation": [-0.007727, 0.392873, -0.150696, 0.907128], + "rotation": [-0.042773, 0.087839, 0.771562, 0.628608], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.483570, - "rotation": [-0.016397, 0.396132, -0.151764, 0.905416], + "rotation": [-0.040886, 0.088733, 0.784816, 0.611979], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.494560, - "rotation": [-0.027016, 0.400558, -0.155771, 0.902529], + "rotation": [-0.038367, 0.089850, 0.801765, 0.589599], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.505550, - "rotation": [-0.037696, 0.405638, -0.161698, 0.898827], + "rotation": [-0.035728, 0.090932, 0.818632, 0.565948], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.516540, - "rotation": [-0.046781, 0.410708, -0.176183, 0.893359], + "rotation": [-0.033280, 0.091855, 0.833491, 0.543827], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.527531, - "rotation": [-0.052972, 0.415553, -0.202242, 0.885216], + "rotation": [-0.031375, 0.092524, 0.844555, 0.526481], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.538521, - "rotation": [-0.055571, 0.420152, -0.230944, 0.875814], + "rotation": [-0.030527, 0.092807, 0.849338, 0.518728], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.549511, - "rotation": [-0.054707, 0.424737, -0.255719, 0.866726], + "rotation": [-0.031064, 0.092630, 0.846319, 0.523640], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.560501, - "rotation": [-0.050303, 0.429459, -0.269751, 0.860389], + "rotation": [-0.033460, 0.091790, 0.832425, 0.545457], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.571492, - "rotation": [-0.030942, 0.435804, -0.239049, 0.867164], + "rotation": [-0.043263, 0.087626, 0.768148, 0.632770], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.582482, - "rotation": [ 0.001169, 0.441405, -0.164225, 0.882151], + "rotation": [-0.059374, 0.077580, 0.631374, 0.769301], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.593472, - "rotation": [ 0.028567, 0.444439, -0.087178, 0.891099], + "rotation": [-0.073313, 0.064577, 0.469800, 0.877350], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.604462, - "rotation": [ 0.034310, 0.447900, -0.052248, 0.891896], + "rotation": [-0.079115, 0.057324, 0.384364, 0.917998], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.615453, - "rotation": [ 0.006814, 0.457888, -0.080883, 0.885297], + "rotation": [-0.073506, 0.064460, 0.467735, 0.878445], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055223, 0.011046, 0.165891] }, { "keytime": 0.626443, - "rotation": [-0.042552, 0.464017, -0.160518, 0.870121], + "rotation": [-0.057917, 0.078681, 0.645501, 0.757485], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.637433, - "rotation": [-0.087216, 0.448055, -0.265822, 0.849105], + "rotation": [-0.043778, 0.087311, 0.764185, 0.637559], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.648423, - "rotation": [-0.121518, 0.371504, -0.449418, 0.803269], + "rotation": [-0.041598, 0.088402, 0.779878, 0.618259], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165891] }, { "keytime": 0.659413, - "rotation": [-0.128819, 0.292453, -0.595710, 0.736890], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.670404, - "rotation": [-0.084921, 0.316271, -0.578733, 0.746879], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.681394, - "rotation": [-0.066205, 0.348633, -0.504507, 0.787112], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.692384, - "rotation": [-0.233033, 0.271606, -0.380962, 0.852522], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000000] - }, - { - "keytime": 0.703374, - "rotation": [-0.263092, 0.250490, -0.347847, 0.864315], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] - }, - { - "keytime": 0.714364, - "rotation": [-0.245308, 0.257496, -0.351187, 0.866134], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.725355, - "rotation": [-0.084210, 0.342940, -0.436393, 0.827564], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165891] }, { "keytime": 0.736345, - "rotation": [-0.186559, 0.284881, -0.388686, 0.856132], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000000] + "translation": [ 1.055224, 0.011045, 0.165890] }, { "keytime": 0.747335, - "rotation": [-0.291566, 0.221188, -0.329898, 0.870191], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930715, 0.000000, 0.000000] - }, - { - "keytime": 0.758325, - "rotation": [-0.315774, 0.207758, -0.313262, 0.871200], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.769315, - "rotation": [-0.334093, 0.198811, -0.301373, 0.870649], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.780306, - "rotation": [-0.346524, 0.194427, -0.293142, 0.869590], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.791296, - "rotation": [-0.351541, 0.195755, -0.288257, 0.868911], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055224, 0.011045, 0.165892] }, { "keytime": 0.802286, - "rotation": [-0.350735, 0.201182, -0.286184, 0.868683], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.055223, 0.011046, 0.165891] }, { "keytime": 0.813276, - "rotation": [-0.347490, 0.208331, -0.285888, 0.868399], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000001, -0.000000] - }, - { - "keytime": 0.824266, - "rotation": [-0.341827, 0.217270, -0.287084, 0.868061], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.835257, - "rotation": [-0.334294, 0.227257, -0.289359, 0.867683], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000000] - }, - { - "keytime": 0.846247, - "rotation": [-0.324976, 0.238320, -0.292380, 0.867242], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] - }, - { - "keytime": 0.857237, - "rotation": [-0.314095, 0.250255, -0.295801, 0.866729], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.868227, - "rotation": [-0.301494, 0.263255, -0.299377, 0.866125], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000001, -0.000001] - }, - { - "keytime": 0.879217, - "rotation": [-0.288162, 0.276362, -0.302547, 0.865478], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.890208, - "rotation": [-0.274000, 0.289773, -0.305074, 0.864804], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] + "translation": [ 1.055225, 0.011045, 0.165891] }, { "keytime": 0.901198, - "rotation": [-0.258831, 0.303729, -0.306647, 0.864131], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] + "translation": [ 1.055224, 0.011046, 0.165890] }, { "keytime": 0.912188, - "rotation": [-0.242103, 0.318347, -0.306856, 0.863644], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.923178, - "rotation": [-0.222050, 0.334615, -0.305745, 0.863277], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.934168, - "rotation": [-0.198449, 0.352390, -0.303331, 0.862803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.945159, - "rotation": [-0.173273, 0.369985, -0.299881, 0.862066], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000000] - }, - { - "keytime": 0.956149, - "rotation": [-0.146503, 0.387341, -0.295482, 0.860927], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000001] - }, - { - "keytime": 0.967139, - "rotation": [-0.117983, 0.404446, -0.290133, 0.859259], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] + "translation": [ 1.055225, 0.011045, 0.165891] }, { "keytime": 0.978129, - "rotation": [-0.090137, 0.419879, -0.284354, 0.857158], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.989119, - "rotation": [-0.062903, 0.433830, -0.278232, 0.854647], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000000] + "translation": [ 1.055225, 0.011044, 0.165891] }, { "keytime": 1.000000, - "rotation": [-0.036328, 0.446391, -0.271845, 0.851772], + "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - } - ] - }, - { - "boneId": "Bip001 L Forearm", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [-0.000000, -0.000000, -0.393319, 0.919402], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849211, 0.000000, 0.000000] - }, - { - "keytime": 0.010990, - "rotation": [-0.000000, -0.000000, -0.408870, 0.912593], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.021980, - "rotation": [-0.000000, 0.000000, -0.425410, 0.905001], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, -0.000001] - }, - { - "keytime": 0.032971, - "rotation": [ 0.000000, -0.000000, -0.443204, 0.896421], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.043961, - "rotation": [-0.000000, -0.000000, -0.460942, 0.887430], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000001, 0.000000] - }, - { - "keytime": 0.054951, - "rotation": [ 0.000000, 0.000000, -0.478882, 0.877879], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.065941, - "rotation": [-0.000000, -0.000000, -0.496780, 0.867876], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.076932, - "rotation": [-0.000000, 0.000000, -0.514928, 0.857233], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.087922, - "rotation": [-0.000000, 0.000000, -0.532030, 0.846725], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.098912, - "rotation": [ 0.000000, 0.000000, -0.548894, 0.835892], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.109902, - "rotation": [-0.000000, 0.000000, -0.564324, 0.825554], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.120892, - "rotation": [ 0.000000, 0.000000, -0.578637, 0.815585], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.131883, - "rotation": [ 0.000000, 0.000000, -0.592026, 0.805919], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.142873, - "rotation": [ 0.000000, 0.000000, -0.603530, 0.797340], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.153863, - "rotation": [ 0.000000, -0.000000, -0.613398, 0.789774], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.164853, - "rotation": [ 0.000000, -0.000000, -0.621684, 0.783268], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.175844, - "rotation": [ 0.000000, 0.000000, -0.627736, 0.778427], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.186834, - "rotation": [ 0.000000, -0.000000, -0.631697, 0.775216], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, -0.000000] - }, - { - "keytime": 0.197824, - "rotation": [ 0.000000, 0.000000, -0.629399, 0.777082], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.208814, - "rotation": [-0.000000, 0.000000, -0.618453, 0.785822], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.219804, - "rotation": [ 0.000000, 0.000000, -0.600878, 0.799340], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.230795, - "rotation": [-0.000000, 0.000000, -0.578658, 0.815570], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.241785, - "rotation": [-0.000000, 0.000000, -0.553145, 0.833085], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.252775, - "rotation": [ 0.000000, -0.000000, -0.528169, 0.849140], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.263765, - "rotation": [ 0.000000, -0.000000, -0.505492, 0.862831], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.274755, - "rotation": [ 0.000000, 0.000000, -0.487305, 0.873232], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.285746, - "rotation": [ 0.000000, 0.000000, -0.477443, 0.878663], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, -0.000001] - }, - { - "keytime": 0.296736, - "rotation": [-0.000000, -0.000000, -0.473041, 0.881040], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000001] - }, - { - "keytime": 0.307726, - "rotation": [ 0.000000, -0.000000, -0.469858, 0.882742], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000001] - }, - { - "keytime": 0.318716, - "rotation": [ 0.000000, -0.000000, -0.467961, 0.883749], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.329706, - "rotation": [-0.000000, -0.000000, -0.467163, 0.884171], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000000] - }, - { - "keytime": 0.340697, - "rotation": [ 0.000000, 0.000000, -0.467408, 0.884042], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000000] - }, - { - "keytime": 0.351687, - "rotation": [-0.000000, -0.000000, -0.468599, 0.883411], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.362677, - "rotation": [ 0.000000, 0.000000, -0.470648, 0.882321], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.373667, - "rotation": [ 0.000000, -0.000000, -0.473568, 0.880757], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, -0.000000] - }, - { - "keytime": 0.384658, - "rotation": [ 0.000000, 0.000000, -0.477103, 0.878847], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000000] - }, - { - "keytime": 0.395648, - "rotation": [ 0.000000, -0.000000, -0.481377, 0.876514], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.406638, - "rotation": [ 0.000000, -0.000000, -0.486053, 0.873929], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000001] - }, - { - "keytime": 0.417628, - "rotation": [ 0.000000, -0.000000, -0.491165, 0.871066], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.428619, - "rotation": [ 0.000000, -0.000000, -0.496801, 0.867865], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.439609, - "rotation": [ 0.000000, 0.000000, -0.502544, 0.864551], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.450599, - "rotation": [-0.000000, -0.000000, -0.508475, 0.861077], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.461589, - "rotation": [-0.000000, -0.000000, -0.514697, 0.857372], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.472580, - "rotation": [ 0.000000, 0.000000, -0.524400, 0.851472], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.483570, - "rotation": [-0.000000, -0.000000, -0.539826, 0.841776], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849211, -0.000001, -0.000000] - }, - { - "keytime": 0.494560, - "rotation": [-0.000000, -0.000000, -0.559263, 0.828990], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.505550, - "rotation": [-0.000000, -0.000000, -0.579298, 0.815116], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000001] - }, - { - "keytime": 0.516540, - "rotation": [ 0.000000, -0.000000, -0.598342, 0.801241], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.527531, - "rotation": [ 0.000000, 0.000000, -0.614836, 0.788655], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.538521, - "rotation": [-0.000000, -0.000000, -0.625925, 0.779883], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.549511, - "rotation": [ 0.000000, 0.000000, -0.630329, 0.776328], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.560501, - "rotation": [ 0.000000, 0.000000, -0.625877, 0.779921], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.571492, - "rotation": [ 0.000000, -0.000000, -0.596078, 0.802926], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000001, 0.000000] - }, - { - "keytime": 0.582482, - "rotation": [ 0.000000, 0.000000, -0.534326, 0.845278], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.593472, - "rotation": [ 0.000000, 0.000000, -0.452406, 0.891812], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.604462, - "rotation": [-0.000000, 0.000000, -0.373423, 0.927661], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.615453, - "rotation": [-0.000000, 0.000000, -0.249280, 0.968432], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.626443, - "rotation": [-0.000000, 0.000000, -0.112408, 0.993662], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.637433, - "rotation": [-0.000000, 0.000000, -0.124619, 0.992205], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000001, 0.000000] - }, - { - "keytime": 0.648423, - "rotation": [-0.000000, 0.000000, -0.543887, 0.839158], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000001] - }, - { - "keytime": 0.659413, - "rotation": [-0.000000, 0.000000, 0.887472, -0.460862], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000001] - }, - { - "keytime": 0.670404, - "rotation": [ 0.000000, -0.000000, 0.929311, -0.369297], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.681394, - "rotation": [-0.000000, -0.000000, 0.890105, -0.455755], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.692384, - "rotation": [-0.000000, 0.000000, -0.570158, 0.821535], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.703374, - "rotation": [ 0.000000, 0.000000, -0.501939, 0.864903], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000001] - }, - { - "keytime": 0.714364, - "rotation": [-0.000000, 0.000000, -0.565605, 0.824676], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000001] - }, - { - "keytime": 0.725355, - "rotation": [-0.000000, 0.000000, 0.887472, -0.460862], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.736345, - "rotation": [-0.000000, 0.000000, -0.758867, 0.651246], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.747335, - "rotation": [-0.000000, 0.000000, -0.572594, 0.819839], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849211, 0.000000, 0.000001] - }, - { - "keytime": 0.758325, - "rotation": [-0.000000, -0.000000, -0.540641, 0.841253], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.769315, - "rotation": [ 0.000000, -0.000000, -0.516861, 0.856069], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000001] - }, - { - "keytime": 0.780306, - "rotation": [-0.000000, -0.000000, -0.498121, 0.867108], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000001] - }, - { - "keytime": 0.791296, - "rotation": [ 0.000000, 0.000000, -0.483556, 0.875314], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000001, 0.000002] - }, - { - "keytime": 0.802286, - "rotation": [-0.000000, 0.000000, -0.473431, 0.880831], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.813276, - "rotation": [-0.000000, 0.000000, -0.466605, 0.884466], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.824266, - "rotation": [-0.000000, 0.000000, -0.462299, 0.886724], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.835257, - "rotation": [-0.000000, 0.000000, -0.460052, 0.887892], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.846247, - "rotation": [-0.000000, -0.000000, -0.458981, 0.888446], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000001] - }, - { - "keytime": 0.857237, - "rotation": [-0.000000, 0.000000, -0.458362, 0.888765], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000000] - }, - { - "keytime": 0.868227, - "rotation": [-0.000000, 0.000000, -0.457430, 0.889246], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000001] - }, - { - "keytime": 0.879217, - "rotation": [-0.000000, -0.000000, -0.455500, 0.890236], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000001] - }, - { - "keytime": 0.890208, - "rotation": [-0.000000, -0.000000, -0.451819, 0.892110], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, -0.000000, 0.000000] - }, - { - "keytime": 0.901198, - "rotation": [ 0.000000, 0.000000, -0.445398, 0.895333], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, -0.000000] - }, - { - "keytime": 0.912188, - "rotation": [-0.000000, 0.000000, -0.438032, 0.898960], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, 0.000000, 0.000000] - }, - { - "keytime": 0.923178, - "rotation": [ 0.000000, 0.000000, -0.431425, 0.902149], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000000] - }, - { - "keytime": 0.934168, - "rotation": [-0.000000, 0.000000, -0.425268, 0.905068], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, -0.000000, 0.000000] - }, - { - "keytime": 0.945159, - "rotation": [ 0.000000, 0.000000, -0.419765, 0.907633], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, -0.000000] - }, - { - "keytime": 0.956149, - "rotation": [-0.000000, 0.000000, -0.414571, 0.910017], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849210, -0.000000, 0.000001] - }, - { - "keytime": 0.967139, - "rotation": [-0.000000, 0.000000, -0.409378, 0.912365], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000000, 0.000001] - }, - { - "keytime": 0.978129, - "rotation": [ 0.000000, 0.000000, -0.404328, 0.914614], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849208, 0.000000, 0.000000] - }, - { - "keytime": 0.989119, - "rotation": [-0.000000, -0.000000, -0.399107, 0.916904], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849209, 0.000001, -0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.000000, -0.000000, -0.393375, 0.919378], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 4.849211, 0.000000, 0.000000] + "translation": [ 1.055224, 0.011045, 0.165891] } ] }, @@ -4917,6 +5389,431 @@ } ] }, + { + "boneId": "Bip001 L Finger0", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.010990, + "rotation": [ 0.610912, 0.309472, 0.154495, 0.712141], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.021980, + "rotation": [ 0.610913, 0.309471, 0.154496, 0.712141], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.032971, + "rotation": [ 0.610919, 0.309459, 0.154510, 0.712137], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.043961, + "rotation": [ 0.610929, 0.309439, 0.154533, 0.712132], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.054951, + "rotation": [ 0.610942, 0.309414, 0.154562, 0.712126], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.065941, + "rotation": [ 0.610955, 0.309387, 0.154594, 0.712119], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.076932, + "rotation": [ 0.610969, 0.309360, 0.154625, 0.712112], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.087922, + "rotation": [ 0.610980, 0.309338, 0.154651, 0.712107], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.098912, + "rotation": [ 0.610988, 0.309322, 0.154669, 0.712103], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.109902, + "rotation": [ 0.610991, 0.309317, 0.154675, 0.712102], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.120892, + "rotation": [ 0.610987, 0.309325, 0.154667, 0.712103], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.131883, + "rotation": [ 0.610975, 0.309349, 0.154638, 0.712110], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.142873, + "rotation": [ 0.610953, 0.309392, 0.154589, 0.712120], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.153863, + "rotation": [ 0.610921, 0.309456, 0.154514, 0.712137], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.164853, + "rotation": [ 0.610874, 0.309548, 0.154407, 0.712160], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.175844, + "rotation": [ 0.610815, 0.309665, 0.154271, 0.712189], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.186834, + "rotation": [ 0.610740, 0.309811, 0.154099, 0.712226], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.197824, + "rotation": [ 0.610603, 0.310082, 0.153783, 0.712295], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.208814, + "rotation": [ 0.610385, 0.310511, 0.153283, 0.712403], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.219804, + "rotation": [ 0.610110, 0.311052, 0.152652, 0.712538], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.230795, + "rotation": [ 0.609803, 0.311653, 0.151950, 0.712688], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.241785, + "rotation": [ 0.609481, 0.312281, 0.151216, 0.712844], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.252775, + "rotation": [ 0.609191, 0.312846, 0.150553, 0.712984], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.263765, + "rotation": [ 0.608949, 0.313318, 0.150002, 0.713101], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.274755, + "rotation": [ 0.608778, 0.313649, 0.149613, 0.713182], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.285746, + "rotation": [ 0.608717, 0.313768, 0.149474, 0.713212], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.296736, + "rotation": [ 0.608653, 0.313893, 0.149328, 0.713242], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.307726, + "rotation": [ 0.608472, 0.314243, 0.148918, 0.713328], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224735] + }, + { + "keytime": 0.318716, + "rotation": [ 0.608212, 0.314745, 0.148329, 0.713451], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.329706, + "rotation": [ 0.607899, 0.315350, 0.147619, 0.713598], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.340697, + "rotation": [ 0.607551, 0.316021, 0.146832, 0.713760], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.351687, + "rotation": [ 0.607217, 0.316661, 0.146079, 0.713915], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.362677, + "rotation": [ 0.606918, 0.317235, 0.145404, 0.714052], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.373667, + "rotation": [ 0.606676, 0.317696, 0.144861, 0.714163], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.384658, + "rotation": [ 0.606537, 0.317963, 0.144547, 0.714226], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.395648, + "rotation": [ 0.606522, 0.317990, 0.144515, 0.714233], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.406638, + "rotation": [ 0.606664, 0.317719, 0.144834, 0.714168], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.417628, + "rotation": [ 0.606988, 0.317100, 0.145563, 0.714020], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.282999, -1.224735] + }, + { + "keytime": 0.428619, + "rotation": [ 0.607542, 0.316037, 0.146813, 0.713764], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.439609, + "rotation": [ 0.608321, 0.314534, 0.148576, 0.713399], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.450599, + "rotation": [ 0.609364, 0.312510, 0.150948, 0.712901], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.461589, + "rotation": [ 0.610738, 0.309815, 0.154095, 0.712227], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.472580, + "rotation": [ 0.613890, 0.303524, 0.161405, 0.710606], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.483570, + "rotation": [ 0.619524, 0.291852, 0.174824, 0.707425], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.494560, + "rotation": [ 0.626605, 0.276320, 0.192401, 0.702848], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.505550, + "rotation": [ 0.633575, 0.259941, 0.210603, 0.697610], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.516540, + "rotation": [ 0.639705, 0.244468, 0.227494, 0.692286], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.527531, + "rotation": [ 0.644385, 0.231852, 0.241052, 0.687682], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.538521, + "rotation": [ 0.646755, 0.225154, 0.248173, 0.685145], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.549511, + "rotation": [ 0.646381, 0.226225, 0.247038, 0.685555], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.560501, + "rotation": [ 0.642226, 0.237767, 0.234719, 0.689870], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.571492, + "rotation": [ 0.620238, 0.290342, 0.176551, 0.706991], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.582482, + "rotation": [ 0.569639, 0.380141, 0.068452, 0.725478], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.593472, + "rotation": [ 0.505085, 0.462467, -0.042862, 0.727445], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224735] + }, + { + "keytime": 0.604462, + "rotation": [ 0.468261, 0.499717, -0.098335, 0.722042], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.615453, + "rotation": [ 0.499948, 0.468041, -0.050901, 0.726911], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.626443, + "rotation": [ 0.567511, 0.383299, 0.064406, 0.725855], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.637433, + "rotation": [ 0.610692, 0.309897, 0.153994, 0.712253], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283000, -1.224734] + }, + { + "keytime": 0.648423, + "rotation": [ 0.616229, 0.298746, 0.166920, 0.709331], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.659413, + "rotation": [ 0.610919, 0.309460, 0.154510, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.282999, -1.224734] + }, + { + "keytime": 0.670404, + "rotation": [ 0.610918, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.703374, + "rotation": [ 0.610919, 0.309460, 0.154510, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.282999, -1.224734] + }, + { + "keytime": 0.714364, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.758325, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379263, -0.283001, -1.224734] + }, + { + "keytime": 0.769315, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224735] + }, + { + "keytime": 0.923178, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 0.978129, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + }, + { + "keytime": 0.989119, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283000, -1.224734] + }, + { + "keytime": 1.000000, + "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.379262, -0.283001, -1.224734] + } + ] + }, { "boneId": "Bip001 L Hand", "keyframes": [ @@ -5365,496 +6262,6 @@ } ] }, - { - "boneId": "Bip001 L Finger0", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.010990, - "rotation": [ 0.610912, 0.309472, 0.154495, 0.712141], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.021980, - "rotation": [ 0.610913, 0.309471, 0.154496, 0.712141], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.032971, - "rotation": [ 0.610919, 0.309459, 0.154510, 0.712137], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.043961, - "rotation": [ 0.610929, 0.309439, 0.154533, 0.712132], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.054951, - "rotation": [ 0.610942, 0.309414, 0.154562, 0.712126], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.065941, - "rotation": [ 0.610955, 0.309387, 0.154594, 0.712119], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.076932, - "rotation": [ 0.610969, 0.309360, 0.154625, 0.712112], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.087922, - "rotation": [ 0.610980, 0.309338, 0.154651, 0.712107], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.098912, - "rotation": [ 0.610988, 0.309322, 0.154669, 0.712103], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.109902, - "rotation": [ 0.610991, 0.309317, 0.154675, 0.712102], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.120892, - "rotation": [ 0.610987, 0.309325, 0.154667, 0.712103], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.131883, - "rotation": [ 0.610975, 0.309349, 0.154638, 0.712110], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.142873, - "rotation": [ 0.610953, 0.309392, 0.154589, 0.712120], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.153863, - "rotation": [ 0.610921, 0.309456, 0.154514, 0.712137], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.164853, - "rotation": [ 0.610874, 0.309548, 0.154407, 0.712160], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.175844, - "rotation": [ 0.610815, 0.309665, 0.154271, 0.712189], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.186834, - "rotation": [ 0.610740, 0.309811, 0.154099, 0.712226], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.197824, - "rotation": [ 0.610603, 0.310082, 0.153783, 0.712295], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.208814, - "rotation": [ 0.610385, 0.310511, 0.153283, 0.712403], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.219804, - "rotation": [ 0.610110, 0.311052, 0.152652, 0.712538], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.230795, - "rotation": [ 0.609803, 0.311653, 0.151950, 0.712688], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.241785, - "rotation": [ 0.609481, 0.312281, 0.151216, 0.712844], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.252775, - "rotation": [ 0.609191, 0.312846, 0.150553, 0.712984], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.263765, - "rotation": [ 0.608949, 0.313318, 0.150002, 0.713101], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.274755, - "rotation": [ 0.608778, 0.313649, 0.149613, 0.713182], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.285746, - "rotation": [ 0.608717, 0.313768, 0.149474, 0.713212], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.296736, - "rotation": [ 0.608653, 0.313893, 0.149328, 0.713242], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.307726, - "rotation": [ 0.608472, 0.314243, 0.148918, 0.713328], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224735] - }, - { - "keytime": 0.318716, - "rotation": [ 0.608212, 0.314745, 0.148329, 0.713451], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.329706, - "rotation": [ 0.607899, 0.315350, 0.147619, 0.713598], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.340697, - "rotation": [ 0.607551, 0.316021, 0.146832, 0.713760], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.351687, - "rotation": [ 0.607217, 0.316661, 0.146079, 0.713915], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.362677, - "rotation": [ 0.606918, 0.317235, 0.145404, 0.714052], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.373667, - "rotation": [ 0.606676, 0.317696, 0.144861, 0.714163], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.384658, - "rotation": [ 0.606537, 0.317963, 0.144547, 0.714226], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.395648, - "rotation": [ 0.606522, 0.317990, 0.144515, 0.714233], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.406638, - "rotation": [ 0.606664, 0.317719, 0.144834, 0.714168], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.417628, - "rotation": [ 0.606988, 0.317100, 0.145563, 0.714020], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.282999, -1.224735] - }, - { - "keytime": 0.428619, - "rotation": [ 0.607542, 0.316037, 0.146813, 0.713764], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.439609, - "rotation": [ 0.608321, 0.314534, 0.148576, 0.713399], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.450599, - "rotation": [ 0.609364, 0.312510, 0.150948, 0.712901], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.461589, - "rotation": [ 0.610738, 0.309815, 0.154095, 0.712227], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.472580, - "rotation": [ 0.613890, 0.303524, 0.161405, 0.710606], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.483570, - "rotation": [ 0.619524, 0.291852, 0.174824, 0.707425], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.494560, - "rotation": [ 0.626605, 0.276320, 0.192401, 0.702848], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.505550, - "rotation": [ 0.633575, 0.259941, 0.210603, 0.697610], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.516540, - "rotation": [ 0.639705, 0.244468, 0.227494, 0.692286], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.527531, - "rotation": [ 0.644385, 0.231852, 0.241052, 0.687682], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.538521, - "rotation": [ 0.646755, 0.225154, 0.248173, 0.685145], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.549511, - "rotation": [ 0.646381, 0.226225, 0.247038, 0.685555], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.560501, - "rotation": [ 0.642226, 0.237767, 0.234719, 0.689870], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.571492, - "rotation": [ 0.620238, 0.290342, 0.176551, 0.706991], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.582482, - "rotation": [ 0.569639, 0.380141, 0.068452, 0.725478], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.593472, - "rotation": [ 0.505085, 0.462467, -0.042862, 0.727445], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224735] - }, - { - "keytime": 0.604462, - "rotation": [ 0.468261, 0.499717, -0.098335, 0.722042], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.615453, - "rotation": [ 0.499948, 0.468041, -0.050901, 0.726911], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.626443, - "rotation": [ 0.567511, 0.383299, 0.064406, 0.725855], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.637433, - "rotation": [ 0.610692, 0.309897, 0.153994, 0.712253], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283000, -1.224734] - }, - { - "keytime": 0.648423, - "rotation": [ 0.616229, 0.298746, 0.166920, 0.709331], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.659413, - "rotation": [ 0.610919, 0.309460, 0.154510, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.282999, -1.224734] - }, - { - "keytime": 0.670404, - "rotation": [ 0.610918, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.703374, - "rotation": [ 0.610919, 0.309460, 0.154510, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.282999, -1.224734] - }, - { - "keytime": 0.714364, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.758325, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379263, -0.283001, -1.224734] - }, - { - "keytime": 0.769315, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224735] - }, - { - "keytime": 0.923178, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 0.978129, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - }, - { - "keytime": 0.989119, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283000, -1.224734] - }, - { - "keytime": 1.000000, - "rotation": [ 0.610919, 0.309460, 0.154509, 0.712138], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.379262, -0.283001, -1.224734] - } - ] - }, - { - "boneId": "Bip001 L Finger1Nub", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [-0.000000, -0.000000, -0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, -0.000000, -0.000000] - }, - { - "keytime": 0.142873, - "rotation": [ 0.000000, 0.000000, -0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262418, 0.000000, 0.000000] - }, - { - "keytime": 0.241785, - "rotation": [ 0.000000, -0.000000, 0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, -0.000000, -0.000000] - }, - { - "keytime": 0.252775, - "rotation": [-0.000000, -0.000000, -0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262418, 0.000000, -0.000000] - }, - { - "keytime": 0.439609, - "rotation": [ 0.000000, -0.000000, -0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, -0.000000, 0.000000] - }, - { - "keytime": 0.626443, - "rotation": [ 0.000000, 0.000000, -0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, 0.000000, 0.000000] - }, - { - "keytime": 0.780306, - "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262418, 0.000000, -0.000000] - }, - { - "keytime": 0.824266, - "rotation": [ 0.000000, 0.000000, 0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262420, 0.000001, 0.000000] - }, - { - "keytime": 0.978129, - "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, -0.000000, 0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.262419, -0.000000, -0.000000] - } - ] - }, { "boneId": "Bip001 R Clavicle", "keyframes": [ @@ -5921,978 +6328,67 @@ ] }, { - "boneId": "Bip001 L Finger1", + "boneId": "Bip001 L Finger1Nub", "keyframes": [ { "keytime": 0.000000, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], + "rotation": [-0.000000, -0.000000, -0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.010990, - "rotation": [-0.043709, 0.087376, 0.764799, 0.636819], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.021980, - "rotation": [-0.043709, 0.087376, 0.764800, 0.636817], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.032971, - "rotation": [-0.043707, 0.087377, 0.764813, 0.636802], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.043961, - "rotation": [-0.043704, 0.087379, 0.764833, 0.636777], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.054951, - "rotation": [-0.043700, 0.087381, 0.764860, 0.636746], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.065941, - "rotation": [-0.043697, 0.087382, 0.764888, 0.636712], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.076932, - "rotation": [-0.043693, 0.087384, 0.764916, 0.636678], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.087922, - "rotation": [-0.043690, 0.087386, 0.764939, 0.636650], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.098912, - "rotation": [-0.043687, 0.087387, 0.764955, 0.636631], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.109902, - "rotation": [-0.043687, 0.087388, 0.764960, 0.636624], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.120892, - "rotation": [-0.043688, 0.087387, 0.764952, 0.636634], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.131883, - "rotation": [-0.043691, 0.087385, 0.764927, 0.636664], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] + "translation": [ 1.262419, -0.000000, -0.000000] }, { "keytime": 0.142873, - "rotation": [-0.043697, 0.087382, 0.764883, 0.636717], + "rotation": [ 0.000000, 0.000000, -0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.153863, - "rotation": [-0.043706, 0.087378, 0.764816, 0.636798], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011046, 0.165891] - }, - { - "keytime": 0.164853, - "rotation": [-0.043720, 0.087371, 0.764720, 0.636913], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.175844, - "rotation": [-0.043736, 0.087363, 0.764598, 0.637059], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.186834, - "rotation": [-0.043757, 0.087352, 0.764445, 0.637243], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.197824, - "rotation": [-0.043796, 0.087333, 0.764162, 0.637582], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.208814, - "rotation": [-0.043857, 0.087302, 0.763715, 0.638118], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.219804, - "rotation": [-0.043935, 0.087263, 0.763149, 0.638794], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.230795, - "rotation": [-0.044021, 0.087220, 0.762520, 0.639546], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] + "translation": [ 1.262418, 0.000000, 0.000000] }, { "keytime": 0.241785, - "rotation": [-0.044110, 0.087174, 0.761861, 0.640330], + "rotation": [ 0.000000, -0.000000, 0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] + "translation": [ 1.262419, -0.000000, -0.000000] }, { "keytime": 0.252775, - "rotation": [-0.044191, 0.087133, 0.761266, 0.641037], + "rotation": [-0.000000, -0.000000, -0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.263765, - "rotation": [-0.044259, 0.087099, 0.760770, 0.641626], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.274755, - "rotation": [-0.044306, 0.087075, 0.760421, 0.642040], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.285746, - "rotation": [-0.044323, 0.087066, 0.760295, 0.642188], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165891] - }, - { - "keytime": 0.296736, - "rotation": [-0.044341, 0.087057, 0.760164, 0.642344], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165891] - }, - { - "keytime": 0.307726, - "rotation": [-0.044391, 0.087032, 0.759794, 0.642781], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.318716, - "rotation": [-0.044463, 0.086995, 0.759263, 0.643408], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.329706, - "rotation": [-0.044549, 0.086951, 0.758624, 0.644162], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165890] - }, - { - "keytime": 0.340697, - "rotation": [-0.044645, 0.086902, 0.757912, 0.644999], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.351687, - "rotation": [-0.044737, 0.086855, 0.757232, 0.645797], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165891] - }, - { - "keytime": 0.362677, - "rotation": [-0.044819, 0.086812, 0.756622, 0.646512], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.373667, - "rotation": [-0.044885, 0.086778, 0.756130, 0.647088], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.384658, - "rotation": [-0.044923, 0.086758, 0.755846, 0.647420], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.395648, - "rotation": [-0.044927, 0.086756, 0.755817, 0.647453], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165890] - }, - { - "keytime": 0.406638, - "rotation": [-0.044888, 0.086777, 0.756105, 0.647116], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.417628, - "rotation": [-0.044799, 0.086822, 0.756765, 0.646344], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.428619, - "rotation": [-0.044647, 0.086901, 0.757895, 0.645019], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] + "translation": [ 1.262418, 0.000000, -0.000000] }, { "keytime": 0.439609, - "rotation": [-0.044433, 0.087011, 0.759487, 0.643145], + "rotation": [ 0.000000, -0.000000, -0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.450599, - "rotation": [-0.044143, 0.087158, 0.761620, 0.640617], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.461589, - "rotation": [-0.043758, 0.087352, 0.764441, 0.637248], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.472580, - "rotation": [-0.042773, 0.087839, 0.771562, 0.628608], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.483570, - "rotation": [-0.040886, 0.088733, 0.784816, 0.611979], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.494560, - "rotation": [-0.038367, 0.089850, 0.801765, 0.589599], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.505550, - "rotation": [-0.035728, 0.090932, 0.818632, 0.565948], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.516540, - "rotation": [-0.033280, 0.091855, 0.833491, 0.543827], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.527531, - "rotation": [-0.031375, 0.092524, 0.844555, 0.526481], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.538521, - "rotation": [-0.030527, 0.092807, 0.849338, 0.518728], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.549511, - "rotation": [-0.031064, 0.092630, 0.846319, 0.523640], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.560501, - "rotation": [-0.033460, 0.091790, 0.832425, 0.545457], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.571492, - "rotation": [-0.043263, 0.087626, 0.768148, 0.632770], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.582482, - "rotation": [-0.059374, 0.077580, 0.631374, 0.769301], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.593472, - "rotation": [-0.073313, 0.064577, 0.469800, 0.877350], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.604462, - "rotation": [-0.079115, 0.057324, 0.384364, 0.917998], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.615453, - "rotation": [-0.073506, 0.064460, 0.467735, 0.878445], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055223, 0.011046, 0.165891] + "translation": [ 1.262419, -0.000000, 0.000000] }, { "keytime": 0.626443, - "rotation": [-0.057917, 0.078681, 0.645501, 0.757485], + "rotation": [ 0.000000, 0.000000, -0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.637433, - "rotation": [-0.043778, 0.087311, 0.764185, 0.637559], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.648423, - "rotation": [-0.041598, 0.088402, 0.779878, 0.618259], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - }, - { - "keytime": 0.659413, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165891] - }, - { - "keytime": 0.736345, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165890] - }, - { - "keytime": 0.747335, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165892] - }, - { - "keytime": 0.802286, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055223, 0.011046, 0.165891] - }, - { - "keytime": 0.813276, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165891] - }, - { - "keytime": 0.901198, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011046, 0.165890] - }, - { - "keytime": 0.912188, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011045, 0.165891] - }, - { - "keytime": 0.978129, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055225, 0.011044, 0.165891] - }, - { - "keytime": 1.000000, - "rotation": [-0.043707, 0.087377, 0.764812, 0.636803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.055224, 0.011045, 0.165891] - } - ] - }, - { - "boneId": "Bip001 R UpperArm", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [ 0.213319, -0.544703, 0.071841, 0.807857], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.010990, - "rotation": [ 0.209507, -0.542736, 0.066249, 0.810651], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.021980, - "rotation": [ 0.205394, -0.540517, 0.060129, 0.813658], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.032971, - "rotation": [ 0.200939, -0.537994, 0.053374, 0.816907], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.043961, - "rotation": [ 0.196494, -0.535345, 0.046479, 0.820144], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.054951, - "rotation": [ 0.192015, -0.532536, 0.039351, 0.823400], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.065941, - "rotation": [ 0.187581, -0.529610, 0.032092, 0.826618], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.076932, - "rotation": [ 0.183138, -0.526526, 0.024589, 0.829835], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.087922, - "rotation": [ 0.179017, -0.523523, 0.017392, 0.832811], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.098912, - "rotation": [ 0.175034, -0.520487, 0.010183, 0.835675], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.109902, - "rotation": [ 0.171482, -0.517667, 0.003498, 0.838214], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.120892, - "rotation": [ 0.168292, -0.515045, -0.002763, 0.840475], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.131883, - "rotation": [ 0.165434, -0.512634, -0.008652, 0.842474], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.142873, - "rotation": [ 0.163124, -0.510655, -0.013705, 0.844058], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.153863, - "rotation": [ 0.161315, -0.509112, -0.017991, 0.845257], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.164853, - "rotation": [ 0.160023, -0.508062, -0.021483, 0.846052], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.175844, - "rotation": [ 0.159371, -0.507641, -0.023859, 0.846364], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000001, -0.000000] - }, - { - "keytime": 0.186834, - "rotation": [ 0.159613, -0.508625, -0.025681, 0.845675], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.197824, - "rotation": [ 0.161287, -0.511508, -0.026271, 0.843597], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000001, 0.000000] - }, - { - "keytime": 0.208814, - "rotation": [ 0.164369, -0.515593, -0.024706, 0.840557], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.219804, - "rotation": [ 0.168647, -0.520492, -0.021240, 0.836777], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000000] - }, - { - "keytime": 0.230795, - "rotation": [ 0.173876, -0.525759, -0.016089, 0.832518], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.241785, - "rotation": [ 0.179978, -0.531112, -0.009241, 0.827915], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.252775, - "rotation": [ 0.186294, -0.535822, -0.001301, 0.823522], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.263765, - "rotation": [ 0.192655, -0.539676, 0.007726, 0.819496], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.274755, - "rotation": [ 0.198860, -0.542394, 0.017986, 0.816052], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, -0.000001] - }, - { - "keytime": 0.285746, - "rotation": [ 0.204128, -0.543506, 0.028718, 0.813700], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.296736, - "rotation": [ 0.208201, -0.542824, 0.040081, 0.812643], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.307726, - "rotation": [ 0.211158, -0.540678, 0.051706, 0.812654], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.318716, - "rotation": [ 0.213017, -0.537963, 0.061879, 0.813259], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.329706, - "rotation": [ 0.213717, -0.534884, 0.070333, 0.814418], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.340697, - "rotation": [ 0.213072, -0.531587, 0.076588, 0.816180], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.351687, - "rotation": [ 0.210808, -0.528439, 0.080201, 0.818462], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.362677, - "rotation": [ 0.206908, -0.525370, 0.081876, 0.821262], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000001] - }, - { - "keytime": 0.373667, - "rotation": [ 0.201500, -0.522313, 0.081782, 0.824560], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.384658, - "rotation": [ 0.195211, -0.519465, 0.080123, 0.828027], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.395648, - "rotation": [ 0.187980, -0.516681, 0.077021, 0.831728], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.406638, - "rotation": [ 0.180526, -0.514163, 0.072875, 0.835306], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.417628, - "rotation": [ 0.172928, -0.511878, 0.067839, 0.838734], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.428619, - "rotation": [ 0.165236, -0.509841, 0.061971, 0.841973], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, -0.000001] - }, - { - "keytime": 0.439609, - "rotation": [ 0.158167, -0.508257, 0.055866, 0.844711], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000000] - }, - { - "keytime": 0.450599, - "rotation": [ 0.151747, -0.507162, 0.049614, 0.846934], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.461589, - "rotation": [ 0.146072, -0.506661, 0.043294, 0.848577], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000001] - }, - { - "keytime": 0.472580, - "rotation": [ 0.141722, -0.506899, 0.037539, 0.849446], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, 0.000000] - }, - { - "keytime": 0.483570, - "rotation": [ 0.138685, -0.508573, 0.032690, 0.849147], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, -0.000000] - }, - { - "keytime": 0.494560, - "rotation": [ 0.137059, -0.512127, 0.029112, 0.847404], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.505550, - "rotation": [ 0.137112, -0.516855, 0.027105, 0.844587], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, -0.000001] - }, - { - "keytime": 0.516540, - "rotation": [ 0.144772, -0.521857, 0.031231, 0.840078], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.527531, - "rotation": [ 0.163573, -0.526252, 0.043440, 0.833316], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.538521, - "rotation": [ 0.187769, -0.529199, 0.058388, 0.825398], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.549511, - "rotation": [ 0.213016, -0.530602, 0.071980, 0.817254], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.560501, - "rotation": [ 0.235011, -0.530781, 0.080296, 0.810305], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.571492, - "rotation": [ 0.247530, -0.530601, 0.079040, 0.806811], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.582482, - "rotation": [ 0.250335, -0.529252, 0.060204, 0.808455], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.593472, - "rotation": [ 0.246792, -0.524960, 0.024136, 0.814204], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.604462, - "rotation": [ 0.239140, -0.518727, -0.015933, 0.820659], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.615453, - "rotation": [ 0.229704, -0.512956, -0.050002, 0.825598], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000000] - }, - { - "keytime": 0.626443, - "rotation": [ 0.220923, -0.511532, -0.067561, 0.827625], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.637433, - "rotation": [ 0.213663, -0.516537, -0.062119, 0.826849], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.648423, - "rotation": [ 0.191651, -0.526967, -0.039037, 0.827074], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.659413, - "rotation": [ 0.148863, -0.538164, -0.004197, 0.829579], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, -0.000000] - }, - { - "keytime": 0.670404, - "rotation": [ 0.099751, -0.544001, 0.031293, 0.832546], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, -0.000000] - }, - { - "keytime": 0.681394, - "rotation": [ 0.055711, -0.544398, 0.058950, 0.834896], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.692384, - "rotation": [ 0.028654, -0.543807, 0.070027, 0.835792], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.703374, - "rotation": [ 0.018815, -0.545375, 0.066203, 0.835362], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.714364, - "rotation": [ 0.014726, -0.548184, 0.057045, 0.834280], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.725355, - "rotation": [ 0.015227, -0.552048, 0.043732, 0.832526], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.736345, - "rotation": [ 0.019062, -0.556335, 0.028653, 0.830245], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, 0.000000] - }, - { - "keytime": 0.747335, - "rotation": [ 0.025007, -0.560718, 0.013055, 0.827526], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] - }, - { - "keytime": 0.758325, - "rotation": [ 0.032130, -0.564915, -0.001859, 0.824521], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.769315, - "rotation": [ 0.038900, -0.568337, -0.013565, 0.821764], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000001] + "translation": [ 1.262419, 0.000000, 0.000000] }, { "keytime": 0.780306, - "rotation": [ 0.044435, -0.570835, -0.020872, 0.819596], + "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.791296, - "rotation": [ 0.047715, -0.572183, -0.022032, 0.818440], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.802286, - "rotation": [ 0.049632, -0.572719, -0.018971, 0.818028], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.813276, - "rotation": [ 0.052299, -0.573116, -0.014993, 0.817666], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, -0.000001] + "translation": [ 1.262418, 0.000000, -0.000000] }, { "keytime": 0.824266, - "rotation": [ 0.056079, -0.573402, -0.010000, 0.817292], + "rotation": [ 0.000000, 0.000000, 0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, -0.000001] - }, - { - "keytime": 0.835257, - "rotation": [ 0.060989, -0.573565, -0.004346, 0.816875], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, -0.000000] - }, - { - "keytime": 0.846247, - "rotation": [ 0.067363, -0.573608, 0.002044, 0.816353], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000001, 0.000000] - }, - { - "keytime": 0.857237, - "rotation": [ 0.075010, -0.573445, 0.008644, 0.815757], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, 0.000000, 0.000000] - }, - { - "keytime": 0.868227, - "rotation": [ 0.083775, -0.572974, 0.015152, 0.815140], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.879217, - "rotation": [ 0.093028, -0.572200, 0.021188, 0.814546], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930717, -0.000000, 0.000000] - }, - { - "keytime": 0.890208, - "rotation": [ 0.102905, -0.571098, 0.026955, 0.813960], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.901198, - "rotation": [ 0.113617, -0.569611, 0.032623, 0.813370], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.912188, - "rotation": [ 0.124419, -0.567827, 0.037866, 0.812809], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.923178, - "rotation": [ 0.135509, -0.565717, 0.042861, 0.812259], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] - }, - { - "keytime": 0.934168, - "rotation": [ 0.147119, -0.563225, 0.047756, 0.811698], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] - }, - { - "keytime": 0.945159, - "rotation": [ 0.158457, -0.560530, 0.052270, 0.811150], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.956149, - "rotation": [ 0.169757, -0.557609, 0.056559, 0.810590], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, -0.000000, 0.000000] - }, - { - "keytime": 0.967139, - "rotation": [ 0.181253, -0.554420, 0.060748, 0.809985], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.262420, 0.000001, 0.000000] }, { "keytime": 0.978129, - "rotation": [ 0.192170, -0.551220, 0.064601, 0.809354], + "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000001] - }, - { - "keytime": 0.989119, - "rotation": [ 0.202754, -0.547993, 0.068251, 0.808663], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, -0.000000] + "translation": [ 1.262419, -0.000000, 0.000000] }, { "keytime": 1.000000, - "rotation": [ 0.213216, -0.544735, 0.071807, 0.807865], + "rotation": [-0.000000, -0.000000, 0.000000, 1.000000], "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 0.930716, 0.000000, 0.000000] + "translation": [ 1.262419, -0.000000, -0.000000] } ] }, @@ -7453,6 +6949,563 @@ } ] }, + { + "boneId": "Bip001 R UpperArm", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [ 0.213319, -0.544703, 0.071841, 0.807857], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.010990, + "rotation": [ 0.209507, -0.542736, 0.066249, 0.810651], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.021980, + "rotation": [ 0.205394, -0.540517, 0.060129, 0.813658], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.032971, + "rotation": [ 0.200939, -0.537994, 0.053374, 0.816907], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.043961, + "rotation": [ 0.196494, -0.535345, 0.046479, 0.820144], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.054951, + "rotation": [ 0.192015, -0.532536, 0.039351, 0.823400], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.065941, + "rotation": [ 0.187581, -0.529610, 0.032092, 0.826618], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.076932, + "rotation": [ 0.183138, -0.526526, 0.024589, 0.829835], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.087922, + "rotation": [ 0.179017, -0.523523, 0.017392, 0.832811], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.098912, + "rotation": [ 0.175034, -0.520487, 0.010183, 0.835675], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.109902, + "rotation": [ 0.171482, -0.517667, 0.003498, 0.838214], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.120892, + "rotation": [ 0.168292, -0.515045, -0.002763, 0.840475], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.131883, + "rotation": [ 0.165434, -0.512634, -0.008652, 0.842474], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.142873, + "rotation": [ 0.163124, -0.510655, -0.013705, 0.844058], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.153863, + "rotation": [ 0.161315, -0.509112, -0.017991, 0.845257], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.164853, + "rotation": [ 0.160023, -0.508062, -0.021483, 0.846052], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.175844, + "rotation": [ 0.159371, -0.507641, -0.023859, 0.846364], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000001, -0.000000] + }, + { + "keytime": 0.186834, + "rotation": [ 0.159613, -0.508625, -0.025681, 0.845675], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.197824, + "rotation": [ 0.161287, -0.511508, -0.026271, 0.843597], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000001, 0.000000] + }, + { + "keytime": 0.208814, + "rotation": [ 0.164369, -0.515593, -0.024706, 0.840557], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.219804, + "rotation": [ 0.168647, -0.520492, -0.021240, 0.836777], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000000] + }, + { + "keytime": 0.230795, + "rotation": [ 0.173876, -0.525759, -0.016089, 0.832518], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.241785, + "rotation": [ 0.179978, -0.531112, -0.009241, 0.827915], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.252775, + "rotation": [ 0.186294, -0.535822, -0.001301, 0.823522], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.263765, + "rotation": [ 0.192655, -0.539676, 0.007726, 0.819496], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.274755, + "rotation": [ 0.198860, -0.542394, 0.017986, 0.816052], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, -0.000001] + }, + { + "keytime": 0.285746, + "rotation": [ 0.204128, -0.543506, 0.028718, 0.813700], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.296736, + "rotation": [ 0.208201, -0.542824, 0.040081, 0.812643], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.307726, + "rotation": [ 0.211158, -0.540678, 0.051706, 0.812654], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.318716, + "rotation": [ 0.213017, -0.537963, 0.061879, 0.813259], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.329706, + "rotation": [ 0.213717, -0.534884, 0.070333, 0.814418], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.340697, + "rotation": [ 0.213072, -0.531587, 0.076588, 0.816180], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.351687, + "rotation": [ 0.210808, -0.528439, 0.080201, 0.818462], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.362677, + "rotation": [ 0.206908, -0.525370, 0.081876, 0.821262], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000001] + }, + { + "keytime": 0.373667, + "rotation": [ 0.201500, -0.522313, 0.081782, 0.824560], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.384658, + "rotation": [ 0.195211, -0.519465, 0.080123, 0.828027], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.395648, + "rotation": [ 0.187980, -0.516681, 0.077021, 0.831728], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.406638, + "rotation": [ 0.180526, -0.514163, 0.072875, 0.835306], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.417628, + "rotation": [ 0.172928, -0.511878, 0.067839, 0.838734], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.428619, + "rotation": [ 0.165236, -0.509841, 0.061971, 0.841973], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, -0.000001] + }, + { + "keytime": 0.439609, + "rotation": [ 0.158167, -0.508257, 0.055866, 0.844711], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000000] + }, + { + "keytime": 0.450599, + "rotation": [ 0.151747, -0.507162, 0.049614, 0.846934], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.461589, + "rotation": [ 0.146072, -0.506661, 0.043294, 0.848577], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000001] + }, + { + "keytime": 0.472580, + "rotation": [ 0.141722, -0.506899, 0.037539, 0.849446], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, 0.000000] + }, + { + "keytime": 0.483570, + "rotation": [ 0.138685, -0.508573, 0.032690, 0.849147], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, -0.000000] + }, + { + "keytime": 0.494560, + "rotation": [ 0.137059, -0.512127, 0.029112, 0.847404], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.505550, + "rotation": [ 0.137112, -0.516855, 0.027105, 0.844587], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, -0.000001] + }, + { + "keytime": 0.516540, + "rotation": [ 0.144772, -0.521857, 0.031231, 0.840078], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.527531, + "rotation": [ 0.163573, -0.526252, 0.043440, 0.833316], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.538521, + "rotation": [ 0.187769, -0.529199, 0.058388, 0.825398], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.549511, + "rotation": [ 0.213016, -0.530602, 0.071980, 0.817254], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.560501, + "rotation": [ 0.235011, -0.530781, 0.080296, 0.810305], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.571492, + "rotation": [ 0.247530, -0.530601, 0.079040, 0.806811], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.582482, + "rotation": [ 0.250335, -0.529252, 0.060204, 0.808455], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.593472, + "rotation": [ 0.246792, -0.524960, 0.024136, 0.814204], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.604462, + "rotation": [ 0.239140, -0.518727, -0.015933, 0.820659], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.615453, + "rotation": [ 0.229704, -0.512956, -0.050002, 0.825598], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000000] + }, + { + "keytime": 0.626443, + "rotation": [ 0.220923, -0.511532, -0.067561, 0.827625], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.637433, + "rotation": [ 0.213663, -0.516537, -0.062119, 0.826849], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.648423, + "rotation": [ 0.191651, -0.526967, -0.039037, 0.827074], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.659413, + "rotation": [ 0.148863, -0.538164, -0.004197, 0.829579], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, -0.000000] + }, + { + "keytime": 0.670404, + "rotation": [ 0.099751, -0.544001, 0.031293, 0.832546], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, -0.000000] + }, + { + "keytime": 0.681394, + "rotation": [ 0.055711, -0.544398, 0.058950, 0.834896], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.692384, + "rotation": [ 0.028654, -0.543807, 0.070027, 0.835792], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.703374, + "rotation": [ 0.018815, -0.545375, 0.066203, 0.835362], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.714364, + "rotation": [ 0.014726, -0.548184, 0.057045, 0.834280], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.725355, + "rotation": [ 0.015227, -0.552048, 0.043732, 0.832526], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.736345, + "rotation": [ 0.019062, -0.556335, 0.028653, 0.830245], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, 0.000000] + }, + { + "keytime": 0.747335, + "rotation": [ 0.025007, -0.560718, 0.013055, 0.827526], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.758325, + "rotation": [ 0.032130, -0.564915, -0.001859, 0.824521], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.769315, + "rotation": [ 0.038900, -0.568337, -0.013565, 0.821764], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000001] + }, + { + "keytime": 0.780306, + "rotation": [ 0.044435, -0.570835, -0.020872, 0.819596], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.791296, + "rotation": [ 0.047715, -0.572183, -0.022032, 0.818440], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.802286, + "rotation": [ 0.049632, -0.572719, -0.018971, 0.818028], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.813276, + "rotation": [ 0.052299, -0.573116, -0.014993, 0.817666], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, -0.000001] + }, + { + "keytime": 0.824266, + "rotation": [ 0.056079, -0.573402, -0.010000, 0.817292], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, -0.000001] + }, + { + "keytime": 0.835257, + "rotation": [ 0.060989, -0.573565, -0.004346, 0.816875], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, -0.000000] + }, + { + "keytime": 0.846247, + "rotation": [ 0.067363, -0.573608, 0.002044, 0.816353], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000001, 0.000000] + }, + { + "keytime": 0.857237, + "rotation": [ 0.075010, -0.573445, 0.008644, 0.815757], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, 0.000000, 0.000000] + }, + { + "keytime": 0.868227, + "rotation": [ 0.083775, -0.572974, 0.015152, 0.815140], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.879217, + "rotation": [ 0.093028, -0.572200, 0.021188, 0.814546], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930717, -0.000000, 0.000000] + }, + { + "keytime": 0.890208, + "rotation": [ 0.102905, -0.571098, 0.026955, 0.813960], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.901198, + "rotation": [ 0.113617, -0.569611, 0.032623, 0.813370], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.912188, + "rotation": [ 0.124419, -0.567827, 0.037866, 0.812809], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.923178, + "rotation": [ 0.135509, -0.565717, 0.042861, 0.812259], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.934168, + "rotation": [ 0.147119, -0.563225, 0.047756, 0.811698], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 0.945159, + "rotation": [ 0.158457, -0.560530, 0.052270, 0.811150], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.956149, + "rotation": [ 0.169757, -0.557609, 0.056559, 0.810590], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, -0.000000, 0.000000] + }, + { + "keytime": 0.967139, + "rotation": [ 0.181253, -0.554420, 0.060748, 0.809985], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + }, + { + "keytime": 0.978129, + "rotation": [ 0.192170, -0.551220, 0.064601, 0.809354], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000001] + }, + { + "keytime": 0.989119, + "rotation": [ 0.202754, -0.547993, 0.068251, 0.808663], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, -0.000000] + }, + { + "keytime": 1.000000, + "rotation": [ 0.213216, -0.544735, 0.071807, 0.807865], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 0.930716, 0.000000, 0.000000] + } + ] + }, { "boneId": "Bip001 R Hand", "keyframes": [ @@ -7554,100 +7607,6 @@ } ] }, - { - "boneId": "Bip001 R Finger0Nub", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [ 0.000000, -0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870941, 0.000000, -0.000000] - }, - { - "keytime": 0.098912, - "rotation": [-0.000000, -0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870940, 0.000000, 0.000000] - }, - { - "keytime": 0.131883, - "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870942, -0.000000, 0.000001] - }, - { - "keytime": 0.175844, - "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870940, 0.000000, -0.000000] - }, - { - "keytime": 0.483570, - "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870940, 0.000000, 0.000000] - }, - { - "keytime": 0.494560, - "rotation": [-0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870940, -0.000000, -0.000001] - }, - { - "keytime": 0.670404, - "rotation": [ 0.000000, -0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870941, -0.000000, 0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 0.870940, 0.000000, 0.000000] - } - ] - }, - { - "boneId": "Bip001 R Finger1Nub", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [-0.000000, -0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262418, -0.000000, 0.000000] - }, - { - "keytime": 0.032971, - "rotation": [ 0.000000, 0.000000, 1.000000, 0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262418, 0.000000, 0.000000] - }, - { - "keytime": 0.087922, - "rotation": [-0.000000, -0.000000, 1.000000, 0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262420, -0.000000, 0.000000] - }, - { - "keytime": 0.098912, - "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262418, 0.000000, 0.000000] - }, - { - "keytime": 0.626443, - "rotation": [ 0.000000, -0.000000, 1.000000, 0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262419, 0.000000, -0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.000000, -0.000000, 1.000000, 0.000000], - "scale": [-1.000000, -1.000000, -1.000000], - "translation": [ 1.262419, 0.000000, 0.000000] - } - ] - }, { "boneId": "Bip001 R Finger1", "keyframes": [ @@ -7707,6 +7666,59 @@ } ] }, + { + "boneId": "Bip001 R Finger0Nub", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [ 0.000000, -0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870941, 0.000000, -0.000000] + }, + { + "keytime": 0.098912, + "rotation": [-0.000000, -0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870940, 0.000000, 0.000000] + }, + { + "keytime": 0.131883, + "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870942, -0.000000, 0.000001] + }, + { + "keytime": 0.175844, + "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870940, 0.000000, -0.000000] + }, + { + "keytime": 0.483570, + "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870940, 0.000000, 0.000000] + }, + { + "keytime": 0.494560, + "rotation": [-0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870940, -0.000000, -0.000001] + }, + { + "keytime": 0.670404, + "rotation": [ 0.000000, -0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870941, -0.000000, 0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 0.870940, 0.000000, 0.000000] + } + ] + }, { "boneId": "Bip001 Head", "keyframes": [ @@ -8264,6 +8276,47 @@ } ] }, + { + "boneId": "Bip001 R Finger1Nub", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [-0.000000, -0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262418, -0.000000, 0.000000] + }, + { + "keytime": 0.032971, + "rotation": [ 0.000000, 0.000000, 1.000000, 0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262418, 0.000000, 0.000000] + }, + { + "keytime": 0.087922, + "rotation": [-0.000000, -0.000000, 1.000000, 0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262420, -0.000000, 0.000000] + }, + { + "keytime": 0.098912, + "rotation": [ 0.000000, 0.000000, 1.000000, -0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262418, 0.000000, 0.000000] + }, + { + "keytime": 0.626443, + "rotation": [ 0.000000, -0.000000, 1.000000, 0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262419, 0.000000, -0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.000000, -0.000000, 1.000000, 0.000000], + "scale": [-1.000000, -1.000000, -1.000000], + "translation": [ 1.262419, 0.000000, 0.000000] + } + ] + }, { "boneId": "Bip001 HeadNub", "keyframes": [ @@ -9760,1120 +9813,6 @@ } ] }, - { - "boneId": "Bip001 L Calf", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [-0.000000, -0.000000, -0.438840, 0.898565], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.010990, - "rotation": [-0.000000, 0.000000, -0.446849, 0.894610], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.021980, - "rotation": [-0.000000, 0.000000, -0.455086, 0.890447], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.032971, - "rotation": [-0.000000, -0.000000, -0.463457, 0.886119], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427713, 0.000000, -0.000000] - }, - { - "keytime": 0.043961, - "rotation": [-0.000000, 0.000000, -0.471189, 0.882032], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.054951, - "rotation": [ 0.000000, 0.000000, -0.478308, 0.878192], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.065941, - "rotation": [ 0.000000, 0.000000, -0.484667, 0.874699], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.076932, - "rotation": [ 0.000000, 0.000000, -0.490334, 0.871535], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.087922, - "rotation": [-0.000000, 0.000000, -0.494918, 0.868940], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.098912, - "rotation": [ 0.000000, 0.000000, -0.498715, 0.866766], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.109902, - "rotation": [-0.000000, -0.000000, -0.501527, 0.865142], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.120892, - "rotation": [-0.000000, -0.000000, -0.503543, 0.863970], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.131883, - "rotation": [-0.000000, 0.000000, -0.504868, 0.863197], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427713, -0.000000, -0.000000] - }, - { - "keytime": 0.142873, - "rotation": [ 0.000000, 0.000000, -0.505501, 0.862826], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.153863, - "rotation": [ 0.000000, 0.000000, -0.505540, 0.862803], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.164853, - "rotation": [ 0.000000, -0.000000, -0.504996, 0.863122], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.175844, - "rotation": [-0.000000, -0.000000, -0.503431, 0.864035], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.186834, - "rotation": [ 0.000000, 0.000000, -0.500416, 0.865785], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.197824, - "rotation": [ 0.000000, 0.000000, -0.495690, 0.868500], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.208814, - "rotation": [-0.000000, 0.000000, -0.489372, 0.872075], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.219804, - "rotation": [-0.000000, -0.000000, -0.481240, 0.876589], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.230795, - "rotation": [-0.000000, -0.000000, -0.471313, 0.881966], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.241785, - "rotation": [ 0.000000, 0.000000, -0.459434, 0.888212], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.252775, - "rotation": [ 0.000000, 0.000000, -0.446794, 0.894637], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.263765, - "rotation": [-0.000000, -0.000000, -0.433836, 0.900992], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.274755, - "rotation": [ 0.000000, -0.000000, -0.421329, 0.906908], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.285746, - "rotation": [-0.000000, -0.000000, -0.411422, 0.911445], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.296736, - "rotation": [-0.000000, -0.000000, -0.405296, 0.914186], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.307726, - "rotation": [-0.000000, -0.000000, -0.404524, 0.914527], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.318716, - "rotation": [-0.000000, 0.000000, -0.407926, 0.913015], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.329706, - "rotation": [ 0.000000, 0.000000, -0.413130, 0.910672], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.340697, - "rotation": [-0.000000, -0.000000, -0.419995, 0.907526], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.351687, - "rotation": [ 0.000000, 0.000000, -0.427743, 0.903900], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.362677, - "rotation": [-0.000000, 0.000000, -0.436209, 0.899845], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.373667, - "rotation": [ 0.000000, 0.000000, -0.445325, 0.895369], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.384658, - "rotation": [-0.000000, -0.000000, -0.454268, 0.890865], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.395648, - "rotation": [ 0.000000, -0.000000, -0.463321, 0.886190], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.406638, - "rotation": [-0.000000, 0.000000, -0.471771, 0.881721], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.417628, - "rotation": [ 0.000000, 0.000000, -0.479757, 0.877401], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.428619, - "rotation": [-0.000000, -0.000000, -0.487416, 0.873170], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.439609, - "rotation": [-0.000000, 0.000000, -0.494267, 0.869310], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.450599, - "rotation": [ 0.000000, 0.000000, -0.500561, 0.865701], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.461589, - "rotation": [ 0.000000, -0.000000, -0.506515, 0.862231], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, -0.000000, -0.000000] - }, - { - "keytime": 0.472580, - "rotation": [-0.000000, -0.000000, -0.511871, 0.859062], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.483570, - "rotation": [-0.000000, -0.000000, -0.516921, 0.856033], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.494560, - "rotation": [ 0.000000, -0.000000, -0.521939, 0.852983], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427713, 0.000000, -0.000000] - }, - { - "keytime": 0.505550, - "rotation": [ 0.000000, 0.000000, -0.526771, 0.850007], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.516540, - "rotation": [ 0.000000, 0.000000, -0.531696, 0.846935], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.527531, - "rotation": [-0.000000, 0.000000, -0.536993, 0.843587], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.538521, - "rotation": [ 0.000000, -0.000000, -0.542439, 0.840095], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.549511, - "rotation": [ 0.000000, 0.000000, -0.548181, 0.836360], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, -0.000000, -0.000000] - }, - { - "keytime": 0.560501, - "rotation": [ 0.000000, 0.000000, -0.559181, 0.829046], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.571492, - "rotation": [-0.000000, -0.000000, -0.573884, 0.818936], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.582482, - "rotation": [ 0.000000, 0.000000, -0.584423, 0.811449], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.593472, - "rotation": [ 0.000000, 0.000000, -0.585515, 0.810662], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.604462, - "rotation": [ 0.000000, -0.000000, -0.576268, 0.817260], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.615453, - "rotation": [ 0.000000, 0.000000, -0.560458, 0.828183], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.626443, - "rotation": [-0.000000, 0.000000, -0.544649, 0.838664], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.637433, - "rotation": [ 0.000000, -0.000000, -0.531704, 0.846931], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, 0.000000, -0.000000] - }, - { - "keytime": 0.648423, - "rotation": [-0.000000, 0.000000, -0.517874, 0.855457], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427713, -0.000000, -0.000000] - }, - { - "keytime": 0.659413, - "rotation": [-0.000000, -0.000000, -0.502835, 0.864383], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.670404, - "rotation": [-0.000000, -0.000000, -0.487552, 0.873094], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.681394, - "rotation": [-0.000000, 0.000000, -0.471640, 0.881791], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.692384, - "rotation": [-0.000000, -0.000000, -0.454612, 0.890690], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.703374, - "rotation": [-0.000000, -0.000000, -0.437484, 0.899226], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.714364, - "rotation": [-0.000000, 0.000000, -0.419786, 0.907623], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.725355, - "rotation": [ 0.000000, -0.000000, -0.400989, 0.916083], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.736345, - "rotation": [ 0.000000, 0.000000, -0.382270, 0.924051], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.747335, - "rotation": [ 0.000000, 0.000000, -0.363197, 0.931712], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000001, -0.000000] - }, - { - "keytime": 0.758325, - "rotation": [-0.000000, -0.000000, -0.343372, 0.939200], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.769315, - "rotation": [-0.000000, -0.000000, -0.324236, 0.945976], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, -0.000000, -0.000000] - }, - { - "keytime": 0.780306, - "rotation": [-0.000000, -0.000000, -0.305600, 0.952160], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.791296, - "rotation": [-0.000000, 0.000000, -0.287492, 0.957783], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.802286, - "rotation": [ 0.000000, -0.000000, -0.271691, 0.962384], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.813276, - "rotation": [ 0.000000, 0.000000, -0.258526, 0.966004], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.824266, - "rotation": [ 0.000000, -0.000000, -0.248777, 0.968561], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.835257, - "rotation": [ 0.000000, -0.000000, -0.244386, 0.969678], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, 0.000000] - }, - { - "keytime": 0.846247, - "rotation": [-0.000000, -0.000000, -0.245454, 0.969408], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.857237, - "rotation": [ 0.000000, 0.000000, -0.251371, 0.967891], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.868227, - "rotation": [-0.000000, 0.000000, -0.261612, 0.965173], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.879217, - "rotation": [-0.000000, -0.000000, -0.274604, 0.961557], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.890208, - "rotation": [-0.000000, -0.000000, -0.289685, 0.957122], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, 0.000000, 0.000000] - }, - { - "keytime": 0.901198, - "rotation": [-0.000000, 0.000000, -0.306576, 0.951846], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, -0.000000, 0.000000] - }, - { - "keytime": 0.912188, - "rotation": [ 0.000000, -0.000000, -0.323623, 0.946186], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, -0.000000] - }, - { - "keytime": 0.923178, - "rotation": [ 0.000000, 0.000000, -0.340800, 0.940136], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.934168, - "rotation": [-0.000000, 0.000000, -0.358184, 0.933651], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427711, -0.000000, -0.000000] - }, - { - "keytime": 0.945159, - "rotation": [-0.000000, -0.000000, -0.374430, 0.927255], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, 0.000000, 0.000000] - }, - { - "keytime": 0.956149, - "rotation": [ 0.000000, 0.000000, -0.389787, 0.920905], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.967139, - "rotation": [-0.000000, 0.000000, -0.404443, 0.914563], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.978129, - "rotation": [-0.000000, 0.000000, -0.417332, 0.908754], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 0.989119, - "rotation": [ 0.000000, 0.000000, -0.428733, 0.903431], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.000000, 0.000000, -0.438743, 0.898613], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 2.427712, -0.000000, -0.000000] - } - ] - }, - { - "boneId": "Bip001 R Foot", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [-0.008257, 0.140681, 0.258829, 0.955588], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.010990, - "rotation": [-0.009216, 0.139405, 0.268580, 0.953072], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, -0.000000, 0.000000] - }, - { - "keytime": 0.021980, - "rotation": [-0.010098, 0.137990, 0.278501, 0.950418], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.032971, - "rotation": [-0.010868, 0.136419, 0.288525, 0.947642], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.043961, - "rotation": [-0.011443, 0.134815, 0.297784, 0.944997], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.054951, - "rotation": [-0.011853, 0.133177, 0.306541, 0.942420], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.065941, - "rotation": [-0.012042, 0.131522, 0.314335, 0.940080], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.076932, - "rotation": [-0.012032, 0.129842, 0.321432, 0.937911], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.087922, - "rotation": [-0.011812, 0.128261, 0.327211, 0.936132], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.098912, - "rotation": [-0.011471, 0.126742, 0.332335, 0.934536], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.109902, - "rotation": [-0.011039, 0.125397, 0.336365, 0.933280], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.120892, - "rotation": [-0.010555, 0.124211, 0.339500, 0.932309], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.131883, - "rotation": [-0.010056, 0.123189, 0.341842, 0.931594], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.142873, - "rotation": [-0.009623, 0.122420, 0.343298, 0.931164], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.153863, - "rotation": [-0.009290, 0.121904, 0.343976, 0.930985], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.164853, - "rotation": [-0.009088, 0.121667, 0.343854, 0.931063], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.175844, - "rotation": [-0.009100, 0.121888, 0.342399, 0.931570], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.186834, - "rotation": [-0.009298, 0.122638, 0.339179, 0.932647], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, 0.000000] - }, - { - "keytime": 0.197824, - "rotation": [-0.009554, 0.123877, 0.334006, 0.934346], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.208814, - "rotation": [-0.009705, 0.125444, 0.327115, 0.936571], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.219804, - "rotation": [-0.009594, 0.127258, 0.318112, 0.939424], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.230795, - "rotation": [-0.009217, 0.129257, 0.307740, 0.942605], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.241785, - "rotation": [-0.008415, 0.131354, 0.295160, 0.946338], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.252775, - "rotation": [-0.007281, 0.133328, 0.281771, 0.950145], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.263765, - "rotation": [-0.005862, 0.135130, 0.267783, 0.953938], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.274755, - "rotation": [-0.004342, 0.136743, 0.254383, 0.957377], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.285746, - "rotation": [-0.002978, 0.137963, 0.243343, 0.960074], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.296736, - "rotation": [-0.002030, 0.138786, 0.236156, 0.961751], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.307726, - "rotation": [-0.001782, 0.139154, 0.234645, 0.962068], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.318716, - "rotation": [-0.002096, 0.139096, 0.237646, 0.961339], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.329706, - "rotation": [-0.002682, 0.138781, 0.242911, 0.960066], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, -0.000000] - }, - { - "keytime": 0.340697, - "rotation": [-0.003505, 0.138217, 0.250256, 0.958257], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.351687, - "rotation": [-0.004402, 0.137443, 0.258567, 0.956155], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.362677, - "rotation": [-0.005381, 0.136492, 0.267829, 0.953734], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.373667, - "rotation": [-0.006311, 0.135317, 0.277454, 0.951141], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.384658, - "rotation": [-0.007203, 0.134060, 0.287194, 0.948417], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.395648, - "rotation": [-0.007983, 0.132646, 0.296877, 0.945624], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.406638, - "rotation": [-0.008609, 0.131203, 0.305897, 0.942941], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.417628, - "rotation": [-0.009092, 0.129725, 0.314406, 0.940339], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.428619, - "rotation": [-0.009443, 0.128205, 0.322546, 0.937784], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.439609, - "rotation": [-0.009653, 0.126770, 0.329790, 0.935454], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.450599, - "rotation": [-0.009758, 0.125414, 0.336377, 0.933288], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.461589, - "rotation": [-0.009795, 0.124139, 0.342500, 0.931229], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.472580, - "rotation": [-0.009807, 0.123057, 0.347849, 0.929388], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.483570, - "rotation": [-0.009849, 0.122165, 0.352685, 0.927681], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.494560, - "rotation": [-0.009984, 0.121480, 0.357223, 0.926032], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.505550, - "rotation": [-0.010266, 0.121080, 0.361291, 0.924501], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.516540, - "rotation": [-0.010762, 0.120978, 0.365285, 0.922938], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.527531, - "rotation": [-0.011543, 0.121207, 0.368911, 0.921456], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.538521, - "rotation": [-0.012620, 0.121803, 0.372481, 0.919925], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.549511, - "rotation": [-0.014017, 0.122778, 0.375948, 0.918364], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, 0.000000] - }, - { - "keytime": 0.560501, - "rotation": [-0.017921, 0.126718, 0.380639, 0.915825], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.571492, - "rotation": [-0.024002, 0.134840, 0.383943, 0.913143], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.582482, - "rotation": [-0.028981, 0.145615, 0.380499, 0.912785], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.593472, - "rotation": [-0.030392, 0.157415, 0.365673, 0.916832], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.604462, - "rotation": [-0.027547, 0.167504, 0.340500, 0.924794], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, 0.000000] - }, - { - "keytime": 0.615453, - "rotation": [-0.022162, 0.174556, 0.310095, 0.934280], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.626443, - "rotation": [-0.017189, 0.177254, 0.284992, 0.941842], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.637433, - "rotation": [-0.014111, 0.176916, 0.269659, 0.946460], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.648423, - "rotation": [-0.011180, 0.175903, 0.254731, 0.950813], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.659413, - "rotation": [-0.008298, 0.174219, 0.239771, 0.955033], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.670404, - "rotation": [-0.005666, 0.172043, 0.225784, 0.958849], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.681394, - "rotation": [-0.003354, 0.169482, 0.213157, 0.962200], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, -0.000000] - }, - { - "keytime": 0.692384, - "rotation": [-0.001129, 0.166437, 0.200782, 0.965393], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.703374, - "rotation": [ 0.000759, 0.163231, 0.190137, 0.968093], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.714364, - "rotation": [ 0.002489, 0.159808, 0.180345, 0.970531], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.725355, - "rotation": [ 0.004129, 0.156133, 0.171095, 0.972796], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.736345, - "rotation": [ 0.005564, 0.152524, 0.163195, 0.974717], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.747335, - "rotation": [ 0.006867, 0.148948, 0.156295, 0.976391], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.758325, - "rotation": [ 0.008131, 0.145346, 0.149824, 0.977937], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, 0.000000] - }, - { - "keytime": 0.769315, - "rotation": [ 0.009286, 0.142005, 0.144120, 0.979274], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.780306, - "rotation": [ 0.010294, 0.138934, 0.139482, 0.980376], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.791296, - "rotation": [ 0.011233, 0.136088, 0.135321, 0.981347], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.802286, - "rotation": [ 0.011998, 0.133725, 0.132092, 0.982103], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.813276, - "rotation": [ 0.012588, 0.131830, 0.129729, 0.982666], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.824266, - "rotation": [ 0.012977, 0.130449, 0.128268, 0.983037], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.835257, - "rotation": [ 0.013039, 0.129609, 0.128612, 0.983102], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.846247, - "rotation": [ 0.012644, 0.129189, 0.131907, 0.982726], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.857237, - "rotation": [ 0.011920, 0.129101, 0.137249, 0.982015], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.868227, - "rotation": [ 0.011040, 0.129275, 0.144613, 0.980945], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418804, 0.000000, 0.000000] - }, - { - "keytime": 0.879217, - "rotation": [ 0.009615, 0.129795, 0.153134, 0.979597], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.890208, - "rotation": [ 0.008163, 0.130480, 0.162642, 0.977986], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.901198, - "rotation": [ 0.006516, 0.131364, 0.173120, 0.976079], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, -0.000000] - }, - { - "keytime": 0.912188, - "rotation": [ 0.004836, 0.132351, 0.183502, 0.974057], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.923178, - "rotation": [ 0.003101, 0.133455, 0.194354, 0.971806], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.934168, - "rotation": [ 0.001302, 0.134647, 0.205287, 0.969394], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, -0.000000] - }, - { - "keytime": 0.945159, - "rotation": [-0.000442, 0.135824, 0.215635, 0.966981], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.956149, - "rotation": [-0.002195, 0.136998, 0.225734, 0.964505], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, 0.000000, 0.000000] - }, - { - "keytime": 0.967139, - "rotation": [-0.003865, 0.138099, 0.235045, 0.962116], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.978129, - "rotation": [-0.005471, 0.139116, 0.244027, 0.959723], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 0.989119, - "rotation": [-0.006916, 0.139967, 0.251694, 0.957607], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - }, - { - "keytime": 1.000000, - "rotation": [-0.008244, 0.140674, 0.258760, 0.955608], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [ 1.418803, -0.000000, 0.000000] - } - ] - }, { "boneId": "Bip001 L Foot", "keyframes": [ @@ -11431,6 +10370,563 @@ } ] }, + { + "boneId": "Bip001 L Calf", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [-0.000000, -0.000000, -0.438840, 0.898565], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.010990, + "rotation": [-0.000000, 0.000000, -0.446849, 0.894610], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.021980, + "rotation": [-0.000000, 0.000000, -0.455086, 0.890447], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.032971, + "rotation": [-0.000000, -0.000000, -0.463457, 0.886119], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427713, 0.000000, -0.000000] + }, + { + "keytime": 0.043961, + "rotation": [-0.000000, 0.000000, -0.471189, 0.882032], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.054951, + "rotation": [ 0.000000, 0.000000, -0.478308, 0.878192], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.065941, + "rotation": [ 0.000000, 0.000000, -0.484667, 0.874699], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.076932, + "rotation": [ 0.000000, 0.000000, -0.490334, 0.871535], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.087922, + "rotation": [-0.000000, 0.000000, -0.494918, 0.868940], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.098912, + "rotation": [ 0.000000, 0.000000, -0.498715, 0.866766], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.109902, + "rotation": [-0.000000, -0.000000, -0.501527, 0.865142], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.120892, + "rotation": [-0.000000, -0.000000, -0.503543, 0.863970], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.131883, + "rotation": [-0.000000, 0.000000, -0.504868, 0.863197], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427713, -0.000000, -0.000000] + }, + { + "keytime": 0.142873, + "rotation": [ 0.000000, 0.000000, -0.505501, 0.862826], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.153863, + "rotation": [ 0.000000, 0.000000, -0.505540, 0.862803], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.164853, + "rotation": [ 0.000000, -0.000000, -0.504996, 0.863122], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.175844, + "rotation": [-0.000000, -0.000000, -0.503431, 0.864035], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.186834, + "rotation": [ 0.000000, 0.000000, -0.500416, 0.865785], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.197824, + "rotation": [ 0.000000, 0.000000, -0.495690, 0.868500], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.208814, + "rotation": [-0.000000, 0.000000, -0.489372, 0.872075], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.219804, + "rotation": [-0.000000, -0.000000, -0.481240, 0.876589], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.230795, + "rotation": [-0.000000, -0.000000, -0.471313, 0.881966], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.241785, + "rotation": [ 0.000000, 0.000000, -0.459434, 0.888212], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.252775, + "rotation": [ 0.000000, 0.000000, -0.446794, 0.894637], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.263765, + "rotation": [-0.000000, -0.000000, -0.433836, 0.900992], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.274755, + "rotation": [ 0.000000, -0.000000, -0.421329, 0.906908], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.285746, + "rotation": [-0.000000, -0.000000, -0.411422, 0.911445], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.296736, + "rotation": [-0.000000, -0.000000, -0.405296, 0.914186], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.307726, + "rotation": [-0.000000, -0.000000, -0.404524, 0.914527], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.318716, + "rotation": [-0.000000, 0.000000, -0.407926, 0.913015], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.329706, + "rotation": [ 0.000000, 0.000000, -0.413130, 0.910672], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.340697, + "rotation": [-0.000000, -0.000000, -0.419995, 0.907526], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.351687, + "rotation": [ 0.000000, 0.000000, -0.427743, 0.903900], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.362677, + "rotation": [-0.000000, 0.000000, -0.436209, 0.899845], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.373667, + "rotation": [ 0.000000, 0.000000, -0.445325, 0.895369], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.384658, + "rotation": [-0.000000, -0.000000, -0.454268, 0.890865], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.395648, + "rotation": [ 0.000000, -0.000000, -0.463321, 0.886190], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.406638, + "rotation": [-0.000000, 0.000000, -0.471771, 0.881721], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.417628, + "rotation": [ 0.000000, 0.000000, -0.479757, 0.877401], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.428619, + "rotation": [-0.000000, -0.000000, -0.487416, 0.873170], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.439609, + "rotation": [-0.000000, 0.000000, -0.494267, 0.869310], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.450599, + "rotation": [ 0.000000, 0.000000, -0.500561, 0.865701], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.461589, + "rotation": [ 0.000000, -0.000000, -0.506515, 0.862231], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, -0.000000, -0.000000] + }, + { + "keytime": 0.472580, + "rotation": [-0.000000, -0.000000, -0.511871, 0.859062], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.483570, + "rotation": [-0.000000, -0.000000, -0.516921, 0.856033], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.494560, + "rotation": [ 0.000000, -0.000000, -0.521939, 0.852983], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427713, 0.000000, -0.000000] + }, + { + "keytime": 0.505550, + "rotation": [ 0.000000, 0.000000, -0.526771, 0.850007], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.516540, + "rotation": [ 0.000000, 0.000000, -0.531696, 0.846935], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.527531, + "rotation": [-0.000000, 0.000000, -0.536993, 0.843587], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.538521, + "rotation": [ 0.000000, -0.000000, -0.542439, 0.840095], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.549511, + "rotation": [ 0.000000, 0.000000, -0.548181, 0.836360], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, -0.000000, -0.000000] + }, + { + "keytime": 0.560501, + "rotation": [ 0.000000, 0.000000, -0.559181, 0.829046], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.571492, + "rotation": [-0.000000, -0.000000, -0.573884, 0.818936], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.582482, + "rotation": [ 0.000000, 0.000000, -0.584423, 0.811449], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.593472, + "rotation": [ 0.000000, 0.000000, -0.585515, 0.810662], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.604462, + "rotation": [ 0.000000, -0.000000, -0.576268, 0.817260], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.615453, + "rotation": [ 0.000000, 0.000000, -0.560458, 0.828183], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.626443, + "rotation": [-0.000000, 0.000000, -0.544649, 0.838664], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.637433, + "rotation": [ 0.000000, -0.000000, -0.531704, 0.846931], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, 0.000000, -0.000000] + }, + { + "keytime": 0.648423, + "rotation": [-0.000000, 0.000000, -0.517874, 0.855457], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427713, -0.000000, -0.000000] + }, + { + "keytime": 0.659413, + "rotation": [-0.000000, -0.000000, -0.502835, 0.864383], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.670404, + "rotation": [-0.000000, -0.000000, -0.487552, 0.873094], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.681394, + "rotation": [-0.000000, 0.000000, -0.471640, 0.881791], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.692384, + "rotation": [-0.000000, -0.000000, -0.454612, 0.890690], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.703374, + "rotation": [-0.000000, -0.000000, -0.437484, 0.899226], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.714364, + "rotation": [-0.000000, 0.000000, -0.419786, 0.907623], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.725355, + "rotation": [ 0.000000, -0.000000, -0.400989, 0.916083], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.736345, + "rotation": [ 0.000000, 0.000000, -0.382270, 0.924051], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.747335, + "rotation": [ 0.000000, 0.000000, -0.363197, 0.931712], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000001, -0.000000] + }, + { + "keytime": 0.758325, + "rotation": [-0.000000, -0.000000, -0.343372, 0.939200], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.769315, + "rotation": [-0.000000, -0.000000, -0.324236, 0.945976], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, -0.000000, -0.000000] + }, + { + "keytime": 0.780306, + "rotation": [-0.000000, -0.000000, -0.305600, 0.952160], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.791296, + "rotation": [-0.000000, 0.000000, -0.287492, 0.957783], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.802286, + "rotation": [ 0.000000, -0.000000, -0.271691, 0.962384], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.813276, + "rotation": [ 0.000000, 0.000000, -0.258526, 0.966004], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.824266, + "rotation": [ 0.000000, -0.000000, -0.248777, 0.968561], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.835257, + "rotation": [ 0.000000, -0.000000, -0.244386, 0.969678], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, 0.000000] + }, + { + "keytime": 0.846247, + "rotation": [-0.000000, -0.000000, -0.245454, 0.969408], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.857237, + "rotation": [ 0.000000, 0.000000, -0.251371, 0.967891], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.868227, + "rotation": [-0.000000, 0.000000, -0.261612, 0.965173], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.879217, + "rotation": [-0.000000, -0.000000, -0.274604, 0.961557], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.890208, + "rotation": [-0.000000, -0.000000, -0.289685, 0.957122], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, 0.000000, 0.000000] + }, + { + "keytime": 0.901198, + "rotation": [-0.000000, 0.000000, -0.306576, 0.951846], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, -0.000000, 0.000000] + }, + { + "keytime": 0.912188, + "rotation": [ 0.000000, -0.000000, -0.323623, 0.946186], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, -0.000000] + }, + { + "keytime": 0.923178, + "rotation": [ 0.000000, 0.000000, -0.340800, 0.940136], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.934168, + "rotation": [-0.000000, 0.000000, -0.358184, 0.933651], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427711, -0.000000, -0.000000] + }, + { + "keytime": 0.945159, + "rotation": [-0.000000, -0.000000, -0.374430, 0.927255], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, 0.000000, 0.000000] + }, + { + "keytime": 0.956149, + "rotation": [ 0.000000, 0.000000, -0.389787, 0.920905], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.967139, + "rotation": [-0.000000, 0.000000, -0.404443, 0.914563], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.978129, + "rotation": [-0.000000, 0.000000, -0.417332, 0.908754], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 0.989119, + "rotation": [ 0.000000, 0.000000, -0.428733, 0.903431], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.000000, 0.000000, -0.438743, 0.898613], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 2.427712, -0.000000, -0.000000] + } + ] + }, { "boneId": "Bip001 L Toe0", "keyframes": [ @@ -11892,563 +11388,6 @@ } ] }, - { - "boneId": "Bip001 R Thigh", - "keyframes": [ - { - "keytime": 0.000000, - "rotation": [ 0.444857, 0.884636, -0.054620, 0.128601], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.063766, 0.758988, -1.194587] - }, - { - "keytime": 0.010990, - "rotation": [ 0.458035, 0.878635, -0.048926, 0.125743], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.061950, 0.772937, -1.187257] - }, - { - "keytime": 0.021980, - "rotation": [ 0.472092, 0.871955, -0.042804, 0.122436], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.059916, 0.788080, -1.179115] - }, - { - "keytime": 0.032971, - "rotation": [ 0.487103, 0.864499, -0.036191, 0.118586], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.057621, 0.804623, -1.169993] - }, - { - "keytime": 0.043961, - "rotation": [ 0.501858, 0.856832, -0.029604, 0.114460], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.055231, 0.821302, -1.160549] - }, - { - "keytime": 0.054951, - "rotation": [ 0.516507, 0.848877, -0.022966, 0.110007], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.052715, 0.838309, -1.150657] - }, - { - "keytime": 0.065941, - "rotation": [ 0.530794, 0.840774, -0.016386, 0.105299], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.050111, 0.855374, -1.140460] - }, - { - "keytime": 0.076932, - "rotation": [ 0.544886, 0.832435, -0.009774, 0.100275], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.047378, 0.872731, -1.129799] - }, - { - "keytime": 0.087922, - "rotation": [ 0.557737, 0.824517, -0.003617, 0.095332], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.044724, 0.889101, -1.119472] - }, - { - "keytime": 0.098912, - "rotation": [ 0.569904, 0.816732, 0.002362, 0.090294], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.042041, 0.905206, -1.109045] - }, - { - "keytime": 0.109902, - "rotation": [ 0.580475, 0.809731, 0.007721, 0.085582], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.039536, 0.919853, -1.099324] - }, - { - "keytime": 0.120892, - "rotation": [ 0.589633, 0.803483, 0.012558, 0.081180], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.037188, 0.933295, -1.090197] - }, - { - "keytime": 0.131883, - "rotation": [ 0.597390, 0.798056, 0.016908, 0.077115], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.034991, 0.945639, -1.081635] - }, - { - "keytime": 0.142873, - "rotation": [ 0.603098, 0.793986, 0.020434, 0.073767], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.033132, 0.955935, -1.074353] - }, - { - "keytime": 0.153863, - "rotation": [ 0.606812, 0.791315, 0.023191, 0.071148], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.031605, 0.964346, -1.068301] - }, - { - "keytime": 0.164853, - "rotation": [ 0.608332, 0.790247, 0.025144, 0.069351], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.030440, 0.970806, -1.063575] - }, - { - "keytime": 0.175844, - "rotation": [ 0.606319, 0.791815, 0.025958, 0.068796], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.029763, 0.974709, -1.060664] - }, - { - "keytime": 0.186834, - "rotation": [ 0.600168, 0.796431, 0.025575, 0.069584], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.029585, 0.976057, -1.059598] - }, - { - "keytime": 0.197824, - "rotation": [ 0.589970, 0.803869, 0.023651, 0.071907], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.030207, 0.973410, -1.061423] - }, - { - "keytime": 0.208814, - "rotation": [ 0.576800, 0.813133, 0.020171, 0.075561], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.031727, 0.966199, -1.066510] - }, - { - "keytime": 0.219804, - "rotation": [ 0.561018, 0.823766, 0.015333, 0.080209], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.033995, 0.955036, -1.074322] - }, - { - "keytime": 0.230795, - "rotation": [ 0.543248, 0.835156, 0.009361, 0.085488], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.036846, 0.940534, -1.084297] - }, - { - "keytime": 0.241785, - "rotation": [ 0.523578, 0.847076, 0.002269, 0.091233], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.040225, 0.922752, -1.096243] - }, - { - "keytime": 0.252775, - "rotation": [ 0.503942, 0.858278, -0.005272, 0.096814], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.043774, 0.903377, -1.108903] - }, - { - "keytime": 0.263765, - "rotation": [ 0.484686, 0.868602, -0.013177, 0.102164], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.047438, 0.882577, -1.122085] - }, - { - "keytime": 0.274755, - "rotation": [ 0.466404, 0.877786, -0.021361, 0.107255], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.051189, 0.860377, -1.135700] - }, - { - "keytime": 0.285746, - "rotation": [ 0.451503, 0.884778, -0.028969, 0.111682], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.054683, 0.838801, -1.148495] - }, - { - "keytime": 0.296736, - "rotation": [ 0.440920, 0.889355, -0.035832, 0.115557], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.057921, 0.817939, -1.160468] - }, - { - "keytime": 0.307726, - "rotation": [ 0.436156, 0.890999, -0.041662, 0.118962], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.060888, 0.797998, -1.171561] - }, - { - "keytime": 0.318716, - "rotation": [ 0.436548, 0.890224, -0.046006, 0.121702], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.063323, 0.780938, -1.180787] - }, - { - "keytime": 0.329706, - "rotation": [ 0.439803, 0.888157, -0.049118, 0.123844], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.065241, 0.766938, -1.188189] - }, - { - "keytime": 0.340697, - "rotation": [ 0.445857, 0.884827, -0.050869, 0.125321], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.066596, 0.756563, -1.193598] - }, - { - "keytime": 0.351687, - "rotation": [ 0.453772, 0.880665, -0.051278, 0.126063], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.067706, 0.749821, -1.196845] - }, - { - "keytime": 0.362677, - "rotation": [ 0.463076, 0.875810, -0.050755, 0.126259], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.069016, 0.745054, -1.198643] - }, - { - "keytime": 0.373667, - "rotation": [ 0.473783, 0.870187, -0.049421, 0.125943], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.070487, 0.741968, -1.199240] - }, - { - "keytime": 0.384658, - "rotation": [ 0.484980, 0.864212, -0.047518, 0.125192], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.071945, 0.740514, -1.198834] - }, - { - "keytime": 0.395648, - "rotation": [ 0.497080, 0.857610, -0.045098, 0.124028], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.073386, 0.740357, -1.197641] - }, - { - "keytime": 0.406638, - "rotation": [ 0.509156, 0.850840, -0.042451, 0.122595], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.074635, 0.741273, -1.195955] - }, - { - "keytime": 0.417628, - "rotation": [ 0.521361, 0.843789, -0.039655, 0.120952], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.075646, 0.743006, -1.193971] - }, - { - "keytime": 0.428619, - "rotation": [ 0.533888, 0.836311, -0.036758, 0.119143], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.076343, 0.745404, -1.191850] - }, - { - "keytime": 0.439609, - "rotation": [ 0.545836, 0.828928, -0.034060, 0.117390], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.076594, 0.748097, -1.189939] - }, - { - "keytime": 0.450599, - "rotation": [ 0.557425, 0.821510, -0.031599, 0.115765], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.076332, 0.750920, -1.188401] - }, - { - "keytime": 0.461589, - "rotation": [ 0.568834, 0.813930, -0.029437, 0.114365], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.075427, 0.753727, -1.187448] - }, - { - "keytime": 0.472580, - "rotation": [ 0.579252, 0.806740, -0.027821, 0.113420], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.073838, 0.756121, -1.187367] - }, - { - "keytime": 0.483570, - "rotation": [ 0.588882, 0.799827, -0.026799, 0.113033], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.071458, 0.757960, -1.188347] - }, - { - "keytime": 0.494560, - "rotation": [ 0.597832, 0.793121, -0.026492, 0.113380], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.068080, 0.759022, -1.190709] - }, - { - "keytime": 0.505550, - "rotation": [ 0.605426, 0.787146, -0.027033, 0.114586], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.063832, 0.759004, -1.194518] - }, - { - "keytime": 0.516540, - "rotation": [ 0.612845, 0.780688, -0.030277, 0.118448], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.055090, 0.755740, -1.204297] - }, - { - "keytime": 0.527531, - "rotation": [ 0.620686, 0.772982, -0.037165, 0.125960], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.039524, 0.748372, -1.222288] - }, - { - "keytime": 0.538521, - "rotation": [ 0.627552, 0.765390, -0.045683, 0.135163], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.020586, 0.739604, -1.243389] - }, - { - "keytime": 0.549511, - "rotation": [ 0.632917, 0.758636, -0.054412, 0.144660], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.000374, 0.731915, -1.264179] - }, - { - "keytime": 0.560501, - "rotation": [ 0.626785, 0.760814, -0.064254, 0.155484], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.980727, 0.728462, -1.281448] - }, - { - "keytime": 0.571492, - "rotation": [ 0.603562, 0.776307, -0.074038, 0.166068], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.965144, 0.733051, -1.290636] - }, - { - "keytime": 0.582482, - "rotation": [ 0.569488, 0.799129, -0.081919, 0.174258], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.950653, 0.749242, -1.292116] - }, - { - "keytime": 0.593472, - "rotation": [ 0.529258, 0.824574, -0.087858, 0.179567], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.934141, 0.775997, -1.288398] - }, - { - "keytime": 0.604462, - "rotation": [ 0.489633, 0.848002, -0.091025, 0.181295], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.918707, 0.806997, -1.280471] - }, - { - "keytime": 0.615453, - "rotation": [ 0.455071, 0.867291, -0.091142, 0.180025], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.906280, 0.838312, -1.269200] - }, - { - "keytime": 0.626443, - "rotation": [ 0.434037, 0.879161, -0.086987, 0.176410], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.899423, 0.866191, -1.255323] - }, - { - "keytime": 0.637433, - "rotation": [ 0.423611, 0.885762, -0.080016, 0.171977], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.901296, 0.884521, -1.241145] - }, - { - "keytime": 0.648423, - "rotation": [ 0.407782, 0.894949, -0.070008, 0.166968], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.919194, 0.890779, -1.223429] - }, - { - "keytime": 0.659413, - "rotation": [ 0.385993, 0.906654, -0.055773, 0.160866], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.953421, 0.886310, -1.200251] - }, - { - "keytime": 0.670404, - "rotation": [ 0.363832, 0.917645, -0.041007, 0.154508], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-0.991831, 0.875184, -1.177046] - }, - { - "keytime": 0.681394, - "rotation": [ 0.345260, 0.926301, -0.028193, 0.148215], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.025600, 0.862971, -1.156930] - }, - { - "keytime": 0.692384, - "rotation": [ 0.334876, 0.931229, -0.020007, 0.142373], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.046083, 0.856937, -1.142988] - }, - { - "keytime": 0.703374, - "rotation": [ 0.332702, 0.932869, -0.016085, 0.137136], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.053788, 0.858809, -1.134476] - }, - { - "keytime": 0.714364, - "rotation": [ 0.333977, 0.933227, -0.013274, 0.131801], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.057658, 0.863722, -1.127128] - }, - { - "keytime": 0.725355, - "rotation": [ 0.338145, 0.932509, -0.011371, 0.126318], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.058453, 0.870991, -1.120782] - }, - { - "keytime": 0.736345, - "rotation": [ 0.344222, 0.930985, -0.010334, 0.121126], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.056898, 0.879209, -1.115837] - }, - { - "keytime": 0.747335, - "rotation": [ 0.351555, 0.928876, -0.009950, 0.116186], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.053835, 0.887569, -1.112121] - }, - { - "keytime": 0.758325, - "rotation": [ 0.359654, 0.926346, -0.010091, 0.111490], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.049960, 0.895286, -1.109611] - }, - { - "keytime": 0.769315, - "rotation": [ 0.367318, 0.923808, -0.010620, 0.107437], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.046350, 0.900913, -1.108475] - }, - { - "keytime": 0.780306, - "rotation": [ 0.374087, 0.921472, -0.011410, 0.104005], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.043764, 0.903728, -1.108625] - }, - { - "keytime": 0.791296, - "rotation": [ 0.379411, 0.919589, -0.012374, 0.101240], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.043091, 0.902677, -1.110114] - }, - { - "keytime": 0.802286, - "rotation": [ 0.383230, 0.918205, -0.013486, 0.099257], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.043760, 0.898977, -1.112478] - }, - { - "keytime": 0.813276, - "rotation": [ 0.386335, 0.917030, -0.014901, 0.097875], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.044528, 0.894510, -1.115347] - }, - { - "keytime": 0.824266, - "rotation": [ 0.388621, 0.916110, -0.016701, 0.097141], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.045412, 0.889169, -1.118776] - }, - { - "keytime": 0.835257, - "rotation": [ 0.390764, 0.915170, -0.018682, 0.097048], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.046350, 0.883328, -1.122510] - }, - { - "keytime": 0.846247, - "rotation": [ 0.393655, 0.913843, -0.020767, 0.097446], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.047358, 0.876901, -1.126593] - }, - { - "keytime": 0.857237, - "rotation": [ 0.397144, 0.912189, -0.022948, 0.098291], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.048424, 0.869945, -1.130974] - }, - { - "keytime": 0.868227, - "rotation": [ 0.401184, 0.910217, -0.025288, 0.099580], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.049573, 0.862292, -1.135747] - }, - { - "keytime": 0.879217, - "rotation": [ 0.405366, 0.908116, -0.027638, 0.101193], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.050728, 0.854454, -1.140580] - }, - { - "keytime": 0.890208, - "rotation": [ 0.409661, 0.905893, -0.030056, 0.103115], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.051912, 0.846273, -1.145563] - }, - { - "keytime": 0.901198, - "rotation": [ 0.414084, 0.903531, -0.032601, 0.105368], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.053154, 0.837554, -1.150804] - }, - { - "keytime": 0.912188, - "rotation": [ 0.418285, 0.901216, -0.035091, 0.107775], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.054371, 0.828875, -1.155949] - }, - { - "keytime": 0.923178, - "rotation": [ 0.422329, 0.898916, -0.037574, 0.110349], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.055592, 0.820047, -1.161107] - }, - { - "keytime": 0.934168, - "rotation": [ 0.426287, 0.896590, -0.040121, 0.113119], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.056844, 0.810867, -1.166388] - }, - { - "keytime": 0.945159, - "rotation": [ 0.429906, 0.894395, -0.042582, 0.115865], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.058048, 0.801943, -1.171441] - }, - { - "keytime": 0.956149, - "rotation": [ 0.433294, 0.892278, -0.045027, 0.118612], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.059235, 0.793073, -1.176383] - }, - { - "keytime": 0.967139, - "rotation": [ 0.436546, 0.890188, -0.047524, 0.121383], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.060432, 0.784065, -1.181318] - }, - { - "keytime": 0.978129, - "rotation": [ 0.439479, 0.888258, -0.049914, 0.123955], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.061565, 0.775520, -1.185920] - }, - { - "keytime": 0.989119, - "rotation": [ 0.442209, 0.886428, -0.052256, 0.126353], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.062664, 0.767241, -1.190300] - }, - { - "keytime": 1.000000, - "rotation": [ 0.444832, 0.884653, -0.054597, 0.128579], - "scale": [ 1.000000, 1.000000, 1.000000], - "translation": [-1.063755, 0.759068, -1.194545] - } - ] - }, { "boneId": "Bip001 R Calf", "keyframes": [ @@ -13006,6 +11945,1120 @@ } ] }, + { + "boneId": "Bip001 R Thigh", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [ 0.444857, 0.884636, -0.054620, 0.128601], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.063766, 0.758988, -1.194587] + }, + { + "keytime": 0.010990, + "rotation": [ 0.458035, 0.878635, -0.048926, 0.125743], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.061950, 0.772937, -1.187257] + }, + { + "keytime": 0.021980, + "rotation": [ 0.472092, 0.871955, -0.042804, 0.122436], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.059916, 0.788080, -1.179115] + }, + { + "keytime": 0.032971, + "rotation": [ 0.487103, 0.864499, -0.036191, 0.118586], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.057621, 0.804623, -1.169993] + }, + { + "keytime": 0.043961, + "rotation": [ 0.501858, 0.856832, -0.029604, 0.114460], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.055231, 0.821302, -1.160549] + }, + { + "keytime": 0.054951, + "rotation": [ 0.516507, 0.848877, -0.022966, 0.110007], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.052715, 0.838309, -1.150657] + }, + { + "keytime": 0.065941, + "rotation": [ 0.530794, 0.840774, -0.016386, 0.105299], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.050111, 0.855374, -1.140460] + }, + { + "keytime": 0.076932, + "rotation": [ 0.544886, 0.832435, -0.009774, 0.100275], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.047378, 0.872731, -1.129799] + }, + { + "keytime": 0.087922, + "rotation": [ 0.557737, 0.824517, -0.003617, 0.095332], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.044724, 0.889101, -1.119472] + }, + { + "keytime": 0.098912, + "rotation": [ 0.569904, 0.816732, 0.002362, 0.090294], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.042041, 0.905206, -1.109045] + }, + { + "keytime": 0.109902, + "rotation": [ 0.580475, 0.809731, 0.007721, 0.085582], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.039536, 0.919853, -1.099324] + }, + { + "keytime": 0.120892, + "rotation": [ 0.589633, 0.803483, 0.012558, 0.081180], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.037188, 0.933295, -1.090197] + }, + { + "keytime": 0.131883, + "rotation": [ 0.597390, 0.798056, 0.016908, 0.077115], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.034991, 0.945639, -1.081635] + }, + { + "keytime": 0.142873, + "rotation": [ 0.603098, 0.793986, 0.020434, 0.073767], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.033132, 0.955935, -1.074353] + }, + { + "keytime": 0.153863, + "rotation": [ 0.606812, 0.791315, 0.023191, 0.071148], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.031605, 0.964346, -1.068301] + }, + { + "keytime": 0.164853, + "rotation": [ 0.608332, 0.790247, 0.025144, 0.069351], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.030440, 0.970806, -1.063575] + }, + { + "keytime": 0.175844, + "rotation": [ 0.606319, 0.791815, 0.025958, 0.068796], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.029763, 0.974709, -1.060664] + }, + { + "keytime": 0.186834, + "rotation": [ 0.600168, 0.796431, 0.025575, 0.069584], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.029585, 0.976057, -1.059598] + }, + { + "keytime": 0.197824, + "rotation": [ 0.589970, 0.803869, 0.023651, 0.071907], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.030207, 0.973410, -1.061423] + }, + { + "keytime": 0.208814, + "rotation": [ 0.576800, 0.813133, 0.020171, 0.075561], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.031727, 0.966199, -1.066510] + }, + { + "keytime": 0.219804, + "rotation": [ 0.561018, 0.823766, 0.015333, 0.080209], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.033995, 0.955036, -1.074322] + }, + { + "keytime": 0.230795, + "rotation": [ 0.543248, 0.835156, 0.009361, 0.085488], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.036846, 0.940534, -1.084297] + }, + { + "keytime": 0.241785, + "rotation": [ 0.523578, 0.847076, 0.002269, 0.091233], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.040225, 0.922752, -1.096243] + }, + { + "keytime": 0.252775, + "rotation": [ 0.503942, 0.858278, -0.005272, 0.096814], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.043774, 0.903377, -1.108903] + }, + { + "keytime": 0.263765, + "rotation": [ 0.484686, 0.868602, -0.013177, 0.102164], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.047438, 0.882577, -1.122085] + }, + { + "keytime": 0.274755, + "rotation": [ 0.466404, 0.877786, -0.021361, 0.107255], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.051189, 0.860377, -1.135700] + }, + { + "keytime": 0.285746, + "rotation": [ 0.451503, 0.884778, -0.028969, 0.111682], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.054683, 0.838801, -1.148495] + }, + { + "keytime": 0.296736, + "rotation": [ 0.440920, 0.889355, -0.035832, 0.115557], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.057921, 0.817939, -1.160468] + }, + { + "keytime": 0.307726, + "rotation": [ 0.436156, 0.890999, -0.041662, 0.118962], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.060888, 0.797998, -1.171561] + }, + { + "keytime": 0.318716, + "rotation": [ 0.436548, 0.890224, -0.046006, 0.121702], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.063323, 0.780938, -1.180787] + }, + { + "keytime": 0.329706, + "rotation": [ 0.439803, 0.888157, -0.049118, 0.123844], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.065241, 0.766938, -1.188189] + }, + { + "keytime": 0.340697, + "rotation": [ 0.445857, 0.884827, -0.050869, 0.125321], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.066596, 0.756563, -1.193598] + }, + { + "keytime": 0.351687, + "rotation": [ 0.453772, 0.880665, -0.051278, 0.126063], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.067706, 0.749821, -1.196845] + }, + { + "keytime": 0.362677, + "rotation": [ 0.463076, 0.875810, -0.050755, 0.126259], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.069016, 0.745054, -1.198643] + }, + { + "keytime": 0.373667, + "rotation": [ 0.473783, 0.870187, -0.049421, 0.125943], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.070487, 0.741968, -1.199240] + }, + { + "keytime": 0.384658, + "rotation": [ 0.484980, 0.864212, -0.047518, 0.125192], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.071945, 0.740514, -1.198834] + }, + { + "keytime": 0.395648, + "rotation": [ 0.497080, 0.857610, -0.045098, 0.124028], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.073386, 0.740357, -1.197641] + }, + { + "keytime": 0.406638, + "rotation": [ 0.509156, 0.850840, -0.042451, 0.122595], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.074635, 0.741273, -1.195955] + }, + { + "keytime": 0.417628, + "rotation": [ 0.521361, 0.843789, -0.039655, 0.120952], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.075646, 0.743006, -1.193971] + }, + { + "keytime": 0.428619, + "rotation": [ 0.533888, 0.836311, -0.036758, 0.119143], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.076343, 0.745404, -1.191850] + }, + { + "keytime": 0.439609, + "rotation": [ 0.545836, 0.828928, -0.034060, 0.117390], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.076594, 0.748097, -1.189939] + }, + { + "keytime": 0.450599, + "rotation": [ 0.557425, 0.821510, -0.031599, 0.115765], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.076332, 0.750920, -1.188401] + }, + { + "keytime": 0.461589, + "rotation": [ 0.568834, 0.813930, -0.029437, 0.114365], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.075427, 0.753727, -1.187448] + }, + { + "keytime": 0.472580, + "rotation": [ 0.579252, 0.806740, -0.027821, 0.113420], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.073838, 0.756121, -1.187367] + }, + { + "keytime": 0.483570, + "rotation": [ 0.588882, 0.799827, -0.026799, 0.113033], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.071458, 0.757960, -1.188347] + }, + { + "keytime": 0.494560, + "rotation": [ 0.597832, 0.793121, -0.026492, 0.113380], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.068080, 0.759022, -1.190709] + }, + { + "keytime": 0.505550, + "rotation": [ 0.605426, 0.787146, -0.027033, 0.114586], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.063832, 0.759004, -1.194518] + }, + { + "keytime": 0.516540, + "rotation": [ 0.612845, 0.780688, -0.030277, 0.118448], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.055090, 0.755740, -1.204297] + }, + { + "keytime": 0.527531, + "rotation": [ 0.620686, 0.772982, -0.037165, 0.125960], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.039524, 0.748372, -1.222288] + }, + { + "keytime": 0.538521, + "rotation": [ 0.627552, 0.765390, -0.045683, 0.135163], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.020586, 0.739604, -1.243389] + }, + { + "keytime": 0.549511, + "rotation": [ 0.632917, 0.758636, -0.054412, 0.144660], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.000374, 0.731915, -1.264179] + }, + { + "keytime": 0.560501, + "rotation": [ 0.626785, 0.760814, -0.064254, 0.155484], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.980727, 0.728462, -1.281448] + }, + { + "keytime": 0.571492, + "rotation": [ 0.603562, 0.776307, -0.074038, 0.166068], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.965144, 0.733051, -1.290636] + }, + { + "keytime": 0.582482, + "rotation": [ 0.569488, 0.799129, -0.081919, 0.174258], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.950653, 0.749242, -1.292116] + }, + { + "keytime": 0.593472, + "rotation": [ 0.529258, 0.824574, -0.087858, 0.179567], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.934141, 0.775997, -1.288398] + }, + { + "keytime": 0.604462, + "rotation": [ 0.489633, 0.848002, -0.091025, 0.181295], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.918707, 0.806997, -1.280471] + }, + { + "keytime": 0.615453, + "rotation": [ 0.455071, 0.867291, -0.091142, 0.180025], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.906280, 0.838312, -1.269200] + }, + { + "keytime": 0.626443, + "rotation": [ 0.434037, 0.879161, -0.086987, 0.176410], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.899423, 0.866191, -1.255323] + }, + { + "keytime": 0.637433, + "rotation": [ 0.423611, 0.885762, -0.080016, 0.171977], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.901296, 0.884521, -1.241145] + }, + { + "keytime": 0.648423, + "rotation": [ 0.407782, 0.894949, -0.070008, 0.166968], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.919194, 0.890779, -1.223429] + }, + { + "keytime": 0.659413, + "rotation": [ 0.385993, 0.906654, -0.055773, 0.160866], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.953421, 0.886310, -1.200251] + }, + { + "keytime": 0.670404, + "rotation": [ 0.363832, 0.917645, -0.041007, 0.154508], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-0.991831, 0.875184, -1.177046] + }, + { + "keytime": 0.681394, + "rotation": [ 0.345260, 0.926301, -0.028193, 0.148215], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.025600, 0.862971, -1.156930] + }, + { + "keytime": 0.692384, + "rotation": [ 0.334876, 0.931229, -0.020007, 0.142373], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.046083, 0.856937, -1.142988] + }, + { + "keytime": 0.703374, + "rotation": [ 0.332702, 0.932869, -0.016085, 0.137136], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.053788, 0.858809, -1.134476] + }, + { + "keytime": 0.714364, + "rotation": [ 0.333977, 0.933227, -0.013274, 0.131801], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.057658, 0.863722, -1.127128] + }, + { + "keytime": 0.725355, + "rotation": [ 0.338145, 0.932509, -0.011371, 0.126318], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.058453, 0.870991, -1.120782] + }, + { + "keytime": 0.736345, + "rotation": [ 0.344222, 0.930985, -0.010334, 0.121126], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.056898, 0.879209, -1.115837] + }, + { + "keytime": 0.747335, + "rotation": [ 0.351555, 0.928876, -0.009950, 0.116186], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.053835, 0.887569, -1.112121] + }, + { + "keytime": 0.758325, + "rotation": [ 0.359654, 0.926346, -0.010091, 0.111490], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.049960, 0.895286, -1.109611] + }, + { + "keytime": 0.769315, + "rotation": [ 0.367318, 0.923808, -0.010620, 0.107437], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.046350, 0.900913, -1.108475] + }, + { + "keytime": 0.780306, + "rotation": [ 0.374087, 0.921472, -0.011410, 0.104005], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.043764, 0.903728, -1.108625] + }, + { + "keytime": 0.791296, + "rotation": [ 0.379411, 0.919589, -0.012374, 0.101240], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.043091, 0.902677, -1.110114] + }, + { + "keytime": 0.802286, + "rotation": [ 0.383230, 0.918205, -0.013486, 0.099257], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.043760, 0.898977, -1.112478] + }, + { + "keytime": 0.813276, + "rotation": [ 0.386335, 0.917030, -0.014901, 0.097875], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.044528, 0.894510, -1.115347] + }, + { + "keytime": 0.824266, + "rotation": [ 0.388621, 0.916110, -0.016701, 0.097141], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.045412, 0.889169, -1.118776] + }, + { + "keytime": 0.835257, + "rotation": [ 0.390764, 0.915170, -0.018682, 0.097048], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.046350, 0.883328, -1.122510] + }, + { + "keytime": 0.846247, + "rotation": [ 0.393655, 0.913843, -0.020767, 0.097446], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.047358, 0.876901, -1.126593] + }, + { + "keytime": 0.857237, + "rotation": [ 0.397144, 0.912189, -0.022948, 0.098291], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.048424, 0.869945, -1.130974] + }, + { + "keytime": 0.868227, + "rotation": [ 0.401184, 0.910217, -0.025288, 0.099580], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.049573, 0.862292, -1.135747] + }, + { + "keytime": 0.879217, + "rotation": [ 0.405366, 0.908116, -0.027638, 0.101193], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.050728, 0.854454, -1.140580] + }, + { + "keytime": 0.890208, + "rotation": [ 0.409661, 0.905893, -0.030056, 0.103115], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.051912, 0.846273, -1.145563] + }, + { + "keytime": 0.901198, + "rotation": [ 0.414084, 0.903531, -0.032601, 0.105368], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.053154, 0.837554, -1.150804] + }, + { + "keytime": 0.912188, + "rotation": [ 0.418285, 0.901216, -0.035091, 0.107775], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.054371, 0.828875, -1.155949] + }, + { + "keytime": 0.923178, + "rotation": [ 0.422329, 0.898916, -0.037574, 0.110349], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.055592, 0.820047, -1.161107] + }, + { + "keytime": 0.934168, + "rotation": [ 0.426287, 0.896590, -0.040121, 0.113119], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.056844, 0.810867, -1.166388] + }, + { + "keytime": 0.945159, + "rotation": [ 0.429906, 0.894395, -0.042582, 0.115865], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.058048, 0.801943, -1.171441] + }, + { + "keytime": 0.956149, + "rotation": [ 0.433294, 0.892278, -0.045027, 0.118612], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.059235, 0.793073, -1.176383] + }, + { + "keytime": 0.967139, + "rotation": [ 0.436546, 0.890188, -0.047524, 0.121383], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.060432, 0.784065, -1.181318] + }, + { + "keytime": 0.978129, + "rotation": [ 0.439479, 0.888258, -0.049914, 0.123955], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.061565, 0.775520, -1.185920] + }, + { + "keytime": 0.989119, + "rotation": [ 0.442209, 0.886428, -0.052256, 0.126353], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.062664, 0.767241, -1.190300] + }, + { + "keytime": 1.000000, + "rotation": [ 0.444832, 0.884653, -0.054597, 0.128579], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [-1.063755, 0.759068, -1.194545] + } + ] + }, + { + "boneId": "Bip001 R Foot", + "keyframes": [ + { + "keytime": 0.000000, + "rotation": [-0.008257, 0.140681, 0.258829, 0.955588], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.010990, + "rotation": [-0.009216, 0.139405, 0.268580, 0.953072], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, -0.000000, 0.000000] + }, + { + "keytime": 0.021980, + "rotation": [-0.010098, 0.137990, 0.278501, 0.950418], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.032971, + "rotation": [-0.010868, 0.136419, 0.288525, 0.947642], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.043961, + "rotation": [-0.011443, 0.134815, 0.297784, 0.944997], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.054951, + "rotation": [-0.011853, 0.133177, 0.306541, 0.942420], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.065941, + "rotation": [-0.012042, 0.131522, 0.314335, 0.940080], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.076932, + "rotation": [-0.012032, 0.129842, 0.321432, 0.937911], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.087922, + "rotation": [-0.011812, 0.128261, 0.327211, 0.936132], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.098912, + "rotation": [-0.011471, 0.126742, 0.332335, 0.934536], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.109902, + "rotation": [-0.011039, 0.125397, 0.336365, 0.933280], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.120892, + "rotation": [-0.010555, 0.124211, 0.339500, 0.932309], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.131883, + "rotation": [-0.010056, 0.123189, 0.341842, 0.931594], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.142873, + "rotation": [-0.009623, 0.122420, 0.343298, 0.931164], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.153863, + "rotation": [-0.009290, 0.121904, 0.343976, 0.930985], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.164853, + "rotation": [-0.009088, 0.121667, 0.343854, 0.931063], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.175844, + "rotation": [-0.009100, 0.121888, 0.342399, 0.931570], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.186834, + "rotation": [-0.009298, 0.122638, 0.339179, 0.932647], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, 0.000000] + }, + { + "keytime": 0.197824, + "rotation": [-0.009554, 0.123877, 0.334006, 0.934346], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.208814, + "rotation": [-0.009705, 0.125444, 0.327115, 0.936571], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.219804, + "rotation": [-0.009594, 0.127258, 0.318112, 0.939424], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.230795, + "rotation": [-0.009217, 0.129257, 0.307740, 0.942605], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.241785, + "rotation": [-0.008415, 0.131354, 0.295160, 0.946338], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.252775, + "rotation": [-0.007281, 0.133328, 0.281771, 0.950145], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.263765, + "rotation": [-0.005862, 0.135130, 0.267783, 0.953938], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.274755, + "rotation": [-0.004342, 0.136743, 0.254383, 0.957377], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.285746, + "rotation": [-0.002978, 0.137963, 0.243343, 0.960074], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.296736, + "rotation": [-0.002030, 0.138786, 0.236156, 0.961751], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.307726, + "rotation": [-0.001782, 0.139154, 0.234645, 0.962068], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.318716, + "rotation": [-0.002096, 0.139096, 0.237646, 0.961339], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.329706, + "rotation": [-0.002682, 0.138781, 0.242911, 0.960066], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, -0.000000] + }, + { + "keytime": 0.340697, + "rotation": [-0.003505, 0.138217, 0.250256, 0.958257], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.351687, + "rotation": [-0.004402, 0.137443, 0.258567, 0.956155], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.362677, + "rotation": [-0.005381, 0.136492, 0.267829, 0.953734], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.373667, + "rotation": [-0.006311, 0.135317, 0.277454, 0.951141], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.384658, + "rotation": [-0.007203, 0.134060, 0.287194, 0.948417], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.395648, + "rotation": [-0.007983, 0.132646, 0.296877, 0.945624], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.406638, + "rotation": [-0.008609, 0.131203, 0.305897, 0.942941], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.417628, + "rotation": [-0.009092, 0.129725, 0.314406, 0.940339], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.428619, + "rotation": [-0.009443, 0.128205, 0.322546, 0.937784], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.439609, + "rotation": [-0.009653, 0.126770, 0.329790, 0.935454], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.450599, + "rotation": [-0.009758, 0.125414, 0.336377, 0.933288], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.461589, + "rotation": [-0.009795, 0.124139, 0.342500, 0.931229], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.472580, + "rotation": [-0.009807, 0.123057, 0.347849, 0.929388], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.483570, + "rotation": [-0.009849, 0.122165, 0.352685, 0.927681], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.494560, + "rotation": [-0.009984, 0.121480, 0.357223, 0.926032], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.505550, + "rotation": [-0.010266, 0.121080, 0.361291, 0.924501], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.516540, + "rotation": [-0.010762, 0.120978, 0.365285, 0.922938], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.527531, + "rotation": [-0.011543, 0.121207, 0.368911, 0.921456], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.538521, + "rotation": [-0.012620, 0.121803, 0.372481, 0.919925], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.549511, + "rotation": [-0.014017, 0.122778, 0.375948, 0.918364], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, 0.000000] + }, + { + "keytime": 0.560501, + "rotation": [-0.017921, 0.126718, 0.380639, 0.915825], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.571492, + "rotation": [-0.024002, 0.134840, 0.383943, 0.913143], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.582482, + "rotation": [-0.028981, 0.145615, 0.380499, 0.912785], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.593472, + "rotation": [-0.030392, 0.157415, 0.365673, 0.916832], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.604462, + "rotation": [-0.027547, 0.167504, 0.340500, 0.924794], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, 0.000000] + }, + { + "keytime": 0.615453, + "rotation": [-0.022162, 0.174556, 0.310095, 0.934280], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.626443, + "rotation": [-0.017189, 0.177254, 0.284992, 0.941842], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.637433, + "rotation": [-0.014111, 0.176916, 0.269659, 0.946460], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.648423, + "rotation": [-0.011180, 0.175903, 0.254731, 0.950813], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.659413, + "rotation": [-0.008298, 0.174219, 0.239771, 0.955033], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.670404, + "rotation": [-0.005666, 0.172043, 0.225784, 0.958849], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.681394, + "rotation": [-0.003354, 0.169482, 0.213157, 0.962200], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, -0.000000] + }, + { + "keytime": 0.692384, + "rotation": [-0.001129, 0.166437, 0.200782, 0.965393], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.703374, + "rotation": [ 0.000759, 0.163231, 0.190137, 0.968093], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.714364, + "rotation": [ 0.002489, 0.159808, 0.180345, 0.970531], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.725355, + "rotation": [ 0.004129, 0.156133, 0.171095, 0.972796], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.736345, + "rotation": [ 0.005564, 0.152524, 0.163195, 0.974717], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.747335, + "rotation": [ 0.006867, 0.148948, 0.156295, 0.976391], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.758325, + "rotation": [ 0.008131, 0.145346, 0.149824, 0.977937], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, 0.000000] + }, + { + "keytime": 0.769315, + "rotation": [ 0.009286, 0.142005, 0.144120, 0.979274], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.780306, + "rotation": [ 0.010294, 0.138934, 0.139482, 0.980376], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.791296, + "rotation": [ 0.011233, 0.136088, 0.135321, 0.981347], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.802286, + "rotation": [ 0.011998, 0.133725, 0.132092, 0.982103], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.813276, + "rotation": [ 0.012588, 0.131830, 0.129729, 0.982666], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.824266, + "rotation": [ 0.012977, 0.130449, 0.128268, 0.983037], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.835257, + "rotation": [ 0.013039, 0.129609, 0.128612, 0.983102], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.846247, + "rotation": [ 0.012644, 0.129189, 0.131907, 0.982726], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.857237, + "rotation": [ 0.011920, 0.129101, 0.137249, 0.982015], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.868227, + "rotation": [ 0.011040, 0.129275, 0.144613, 0.980945], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418804, 0.000000, 0.000000] + }, + { + "keytime": 0.879217, + "rotation": [ 0.009615, 0.129795, 0.153134, 0.979597], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.890208, + "rotation": [ 0.008163, 0.130480, 0.162642, 0.977986], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.901198, + "rotation": [ 0.006516, 0.131364, 0.173120, 0.976079], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, -0.000000] + }, + { + "keytime": 0.912188, + "rotation": [ 0.004836, 0.132351, 0.183502, 0.974057], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.923178, + "rotation": [ 0.003101, 0.133455, 0.194354, 0.971806], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.934168, + "rotation": [ 0.001302, 0.134647, 0.205287, 0.969394], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, -0.000000] + }, + { + "keytime": 0.945159, + "rotation": [-0.000442, 0.135824, 0.215635, 0.966981], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.956149, + "rotation": [-0.002195, 0.136998, 0.225734, 0.964505], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, 0.000000, 0.000000] + }, + { + "keytime": 0.967139, + "rotation": [-0.003865, 0.138099, 0.235045, 0.962116], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.978129, + "rotation": [-0.005471, 0.139116, 0.244027, 0.959723], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 0.989119, + "rotation": [-0.006916, 0.139967, 0.251694, 0.957607], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + }, + { + "keytime": 1.000000, + "rotation": [-0.008244, 0.140674, 0.258760, 0.955608], + "scale": [ 1.000000, 1.000000, 1.000000], + "translation": [ 1.418803, -0.000000, 0.000000] + } + ] + }, { "boneId": "Bip001 R Toe0", "keyframes": [ diff --git a/tools/tolua/cocos2dx_3d.ini b/tools/tolua/cocos2dx_3d.ini index db2a91cf3f..a043f994f9 100644 --- a/tools/tolua/cocos2dx_3d.ini +++ b/tools/tolua/cocos2dx_3d.ini @@ -26,7 +26,7 @@ headers = %(cocosdir)s/cocos/3d/cocos3d.h # what classes to produce code for. You can use regular expressions here. When testing the regular # expression, it will be enclosed in "^$", like this: "^Menu*$". -classes = .*3D$ Mesh SubMeshState AttachNode +classes = .*3D$ Mesh AttachNode # what should we skip? in the format ClassName::[function function] # ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also @@ -35,9 +35,9 @@ classes = .*3D$ Mesh SubMeshState AttachNode # will apply to all class names. This is a convenience wildcard to be able to skip similar named # functions from all classes. -skip = Mesh::[create getOriginAABB], - SubMeshState::[getSkin setSkin create], - Sprite3D::[getSkin getSubMeshState getAABB], +skip = Mesh::[create getAABB], + Sprite3D::[getSkin getAABB], + Skeleton3D::[create], Animation3D::[getBoneCurveByName], Animation3DCache::[*], Sprite3DMaterialCache::[*],