Decompiled source of REX Skin Pack v0.2.1

BepInEx/plugins/EclipseREXCollection/EclipseREXCollection.dll

Decompiled a week ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using BepInEx;
using HG.Reflection;
using R2API;
using R2API.Utils;
using RexSkinPack.RendererLookup;
using RoR2;
using RoR2.ContentManagement;
using RoR2.UI.MainMenu;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Rendering;
using UnityEngine.ResourceManagement.AsyncOperations;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: OptIn]
[assembly: AssemblyVersion("0.0.0.0")]
namespace RexSkinPack
{
	public static class AquariumKeeperRigConfig
	{
		public static readonly M4 RendererToAuthor = new M4(new double[16]
		{
			0.5, 0.0, 0.0, 0.0, 0.0, 0.49999998288572556, 6.717942824252532E-08, 0.0, 0.0, -6.717942824252532E-08,
			0.49999998288572556, 0.800000011920929, 0.0, 0.0, 0.0, 1.0
		});

		public static RexPoseSolver Build()
		{
			RexPoseSolver rexPoseSolver = new RexPoseSolver(new RexPoseSolver.Leg[3]
			{
				new RexPoseSolver.Leg
				{
					MaxLowerExtension = 4.0,
					Label = "FrontL",
					Driver = "Foot.Front.l",
					Hip = new V3(-0.5580000281333923, -0.43199998140335083, 1.5800000429153442),
					Knee = new V3(-0.9179999828338623, -0.8370000123977661, 0.49000000953674316),
					Foot = new V3(-1.0260000228881836, -0.9720000624656677, 0.0949999988079071),
					ContactLocal = new V3(-1.3846563284847235E-07, 1.5331812713846993, 0.020047935785438287),
					ContactIdle = new V3(-1.0058862908697492, -1.0058871240795575, 0.01943790492028058),
					UpperRest = new M4(new double[16]
					{
						0.86892338201136, 0.39687095057929134, -0.295745801996361, -0.5580000281333923, 0.295745801996361, -0.8954527212133789, -0.3327140717896171, -0.43199998140335083, -0.3968709742346448, 0.20163744178244827,
						-0.8954527745865235, 1.5800000429153442, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						0.9086644575527383, 0.3340511812236171, -0.2504769901722419, -0.9179999828338623, 0.25047702311372877, -0.9160961827446887, -0.31309626214865105, -0.8370000123977661, -0.33405115652355377, 0.22176071970138977,
						-0.9160961917514783, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						1.0, 0.0, 0.0, -1.0260000228881836, 0.0, 1.0, 0.0, -0.9720000624656677, 0.0, 0.0,
						1.0, 0.0949999988079071, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						0.70710650838484, -0.7071070543604773, 6.845061881888073E-07, -1.29012894087189E-06, 0.09226262681726324, 0.09226159652320774, -0.9914514621269739, 1.7380634741034313, 0.7010624682441953, 0.7010620531261419,
						0.13047836821247746, 1.4278901279404805, 0.0, 0.0, 0.0, 1.0
					}).Rotation(),
					LowerRigidRest = new M4(new double[16]
					{
						0.9086644575527383, 0.3340511812236171, -0.2504769901722419, -0.9179999828338623, 0.25047702311372877, -0.9160961827446887, -0.31309626214865105, -0.8370000123977661, -0.33405115652355377, 0.22176071970138977,
						-0.9160961917514783, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootSupport = new V3[539]
					{
						new V3(-0.3993998, -0.0566511, 0.0086863),
						new V3(-0.394042, -0.0535196, 0.0206798),
						new V3(-0.3934246, -0.1432873, -0.0866143),
						new V3(-0.3931024, -0.1755961, 0.0170692),
						new V3(-0.3919685, -0.0317539, -0.0758864),
						new V3(-0.3910582, -0.0283791, 0.0151912),
						new V3(-0.3903422, -0.0532489, -0.0866198),
						new V3(-0.3839271, -0.2525821, -0.078737),
						new V3(-0.3837202, -0.1578355, 0.0414938),
						new V3(-0.3817916, -0.0937051, 0.0471679),
						new V3(-0.3810121, -0.2567468, 0.0171841),
						new V3(-0.3789086, -0.1961808, 0.0226888),
						new V3(-0.3786086, -0.047623, 0.0225903),
						new V3(-0.3768791, -0.2821578, -0.0712695),
						new V3(-0.3747785, -0.2547715, -0.0889045),
						new V3(-0.3745766, -0.2843965, 0.0178511),
						new V3(-0.3741535, -0.0376677, 0.0419279),
						new V3(-0.3741215, -0.111259, -0.094661),
						new V3(-0.3725569, -0.26943, -0.0799232),
						new V3(-0.3724586, -0.269563, 0.0109878),
						new V3(-0.3717501, -0.2200668, 0.0469464),
						new V3(-0.3717207, -0.2815945, -0.0862751),
						new V3(-0.3689556, -0.2406024, 0.0248564),
						new V3(-0.3669755, -0.0002767, -0.0867756),
						new V3(-0.3664958, -0.278318, 0.0260151),
						new V3(-0.3575687, -0.0255304, -0.0949808),
						new V3(-0.3569512, 0.0105125, 0.023957),
						new V3(-0.3561836, -0.1623937, 0.0526864),
						new V3(-0.3554432, -0.0054032, 0.0519344),
						new V3(-0.3541837, -0.2814397, 0.0276496),
						new V3(-0.3486612, -0.2666456, -0.0946334),
						new V3(-0.3476673, -0.2833781, 0.0494556),
						new V3(-0.3462455, -0.0461963, 0.0539327),
						new V3(-0.3378081, 0.0629976, 0.0170473),
						new V3(-0.3377392, -0.3110105, 0.0248126),
						new V3(-0.3374094, 0.0610567, -0.0846054),
						new V3(-0.3369766, 0.045414, 0.0482937),
						new V3(-0.3354588, -0.2395961, 0.0544849),
						new V3(-0.3283079, 0.005113, 0.0546159),
						new V3(-0.3123873, -0.2750659, 0.0746451),
						new V3(-0.3119541, -0.3359369, -0.0948193),
						new V3(-0.3091522, -0.3703956, 0.01611),
						new V3(-0.3040553, -0.3591217, 0.0248344),
						new V3(-0.3031207, -0.3797951, -0.0852258),
						new V3(-0.2870867, -0.3294868, 0.0543781),
						new V3(-0.286917, -0.3766955, 0.0445247),
						new V3(-0.283933, 0.1165971, 0.0465554),
						new V3(-0.2804966, 0.1367291, 0.0164241),
						new V3(-0.2754931, 0.1545981, -0.0008449),
						new V3(-0.2753773, -0.1717734, 0.2258847),
						new V3(-0.27537, -0.0809872, 0.2209974),
						new V3(-0.274701, -0.4089108, -0.0855535),
						new V3(-0.2709987, 0.133386, 0.0257034),
						new V3(-0.2707896, 0.1476757, -0.0869176),
						new V3(-0.270738, 0.14957, 0.0232491),
						new V3(-0.270438, 0.0940886, 0.0545066),
						new V3(-0.2661231, -0.2195377, 0.2233918),
						new V3(-0.2636806, -0.0008154, 0.1761554),
						new V3(-0.2612426, 0.1668116, 0.0071365),
						new V3(-0.2586869, 0.1688558, -0.0753751),
						new V3(-0.2512652, 0.1665385, -0.0869697),
						new V3(-0.2500943, -0.4156954, 0.0264116),
						new V3(-0.2498336, 0.1663935, 0.0255368),
						new V3(-0.2456025, 0.1557296, 0.029683),
						new V3(-0.2441019, -0.4104605, 0.0520277),
						new V3(-0.2422595, -0.2674646, 0.2262071),
						new V3(-0.2420405, 0.1430708, -0.0947731),
						new V3(-0.2393837, 0.011868, 0.2180838),
						new V3(-0.2302499, -0.4558734, -0.0780756),
						new V3(-0.2275786, -0.4507493, 0.0259087),
						new V3(-0.2263584, 0.1365544, 0.0537875),
						new V3(-0.2255911, -0.4524591, -0.0868712),
						new V3(-0.2232834, 0.1620935, 0.0497234),
						new V3(-0.2203389, 0.0243718, 0.2281612),
						new V3(-0.2143489, -0.4439328, 0.0313888),
						new V3(-0.2142948, -0.4569164, 0.0191357),
						new V3(-0.2125728, -0.4569607, -0.0829022),
						new V3(-0.205075, -0.3196644, 0.2225502),
						new V3(-0.1999707, -0.474345, -0.0827384),
						new V3(-0.1983938, -0.4672211, 0.0284041),
						new V3(-0.1973804, 0.1814433, 0.0265178),
						new V3(-0.1913781, -0.3606987, 0.1555443),
						new V3(-0.1896685, -0.4749501, 0.0109329),
						new V3(-0.1864903, -0.4556373, 0.0490621),
						new V3(-0.1843427, 0.1859744, 0.0467822),
						new V3(-0.1837205, 0.0745051, 0.2210192),
						new V3(-0.1814867, -0.4265165, 0.0547417),
						new V3(-0.1793787, -0.1324761, 0.2288311),
						new V3(-0.1719251, -0.4552534, -0.0945488),
						new V3(-0.1699547, -0.343137, 0.2286371),
						new V3(-0.1665697, -0.1176819, 0.2232606),
						new V3(-0.1614975, 0.1995632, 0.0271385),
						new V3(-0.1602846, -0.1765014, 0.2232442),
						new V3(-0.1585085, 0.1894257, -0.0943167),
						new V3(-0.1446813, 0.1827298, 0.0544848),
						new V3(-0.1437662, -0.1477694, 0.2598263),
						new V3(-0.1427946, -0.1258611, 0.1857112),
						new V3(-0.1385413, -0.4795945, 0.0279176),
						new V3(-0.1321183, -0.2449047, 0.2299162),
						new V3(-0.1314321, -0.0361501, 0.2256112),
						new V3(-0.1298504, 0.2222634, -0.0822822),
						new V3(-0.1279833, -0.1872071, 0.182781),
						new V3(-0.1265172, -0.132417, 0.2359593),
						new V3(-0.1247288, -0.4940612, -0.0867317),
						new V3(-0.1238751, 0.110976, 0.2228041),
						new V3(-0.1195531, -0.4818307, 0.052134),
						new V3(-0.1178657, -0.3839302, 0.2165425),
						new V3(-0.1141239, 0.229471, 0.0192282),
						new V3(-0.1063777, -0.0530818, 0.1822178),
						new V3(-0.1019868, 0.2216557, 0.0277697),
						new V3(-0.0980903, -0.4629676, 0.0547881),
						new V3(-0.0947201, -0.1154484, 0.2138774),
						new V3(-0.0943904, -0.1291331, 0.1843391),
						new V3(-0.0928382, -0.0758187, 0.2159355),
						new V3(-0.09, 0.0, 0.0),
						new V3(-0.0883071, -0.0901897, 0.2073996),
						new V3(-0.0869334, 0.0, -0.0232937),
						new V3(-0.0869334, 0.0, 0.0232937),
						new V3(-0.0855951, -0.0278115, 0.0),
						new V3(-0.0855951, 0.0278115, 0.0),
						new V3(-0.0844647, -0.1626103, 0.2405705),
						new V3(-0.0829444, -0.0771595, 0.1841475),
						new V3(-0.0826786, -0.0268639, -0.0232937),
						new V3(-0.0826786, -0.0268639, 0.0232937),
						new V3(-0.0826786, 0.0268639, -0.0232937),
						new V3(-0.0826786, 0.0268639, 0.0232937),
						new V3(-0.0790135, -0.4870874, -0.0944533),
						new V3(-0.078354, 0.0013739, 0.2226536),
						new V3(-0.0779424, 0.0, -0.045),
						new V3(-0.0779424, 0.0, 0.045),
						new V3(-0.0752056, 0.1271649, 0.2223559),
						new V3(-0.0749251, 0.2036122, 0.0543971),
						new V3(-0.0741276, -0.0240855, -0.045),
						new V3(-0.0741276, -0.0240855, 0.045),
						new V3(-0.0741276, 0.0240855, -0.045),
						new V3(-0.0741276, 0.0240855, 0.045),
						new V3(-0.0728116, -0.0529007, 0.0),
						new V3(-0.0728116, 0.0529007, 0.0),
						new V3(-0.0715058, -0.250902, 0.182877),
						new V3(-0.0703306, -0.0510982, 0.0232937),
						new V3(-0.0703306, -0.0510981, -0.0232937),
						new V3(-0.0703306, 0.0510982, -0.0232937),
						new V3(-0.0703306, 0.0510982, 0.0232937),
						new V3(-0.0702119, -0.1859648, 0.1824503),
						new V3(-0.0693238, -0.0355227, 0.2240286),
						new V3(-0.0636396, 0.0, -0.0636396),
						new V3(-0.0636396, 0.0, 0.0636396),
						new V3(-0.0630567, -0.0458134, 0.045),
						new V3(-0.0630567, -0.0458133, -0.045),
						new V3(-0.0630567, 0.0458134, -0.045),
						new V3(-0.0630567, 0.0458134, 0.045),
						new V3(-0.0621605, 0.2484026, -0.0755473),
						new V3(-0.0605249, -0.0196657, -0.0636396),
						new V3(-0.0605249, -0.0196657, 0.0636396),
						new V3(-0.0605249, 0.0196657, -0.0636396),
						new V3(-0.0605249, 0.0196657, 0.0636396),
						new V3(-0.059644, -0.1952042, 0.2504622),
						new V3(-0.0595528, 0.2291759, 0.048548),
						new V3(-0.058409, -0.0435248, 0.2077085),
						new V3(-0.0569774, -0.0424303, 0.1829038),
						new V3(-0.0547141, 0.245746, 0.0258074),
						new V3(-0.0546651, 0.2340809, 0.0281716),
						new V3(-0.0529007, -0.0728116, 0.0),
						new V3(-0.0529007, 0.0728115, 0.0),
						new V3(-0.0514855, -0.0374064, 0.0636396),
						new V3(-0.0514855, -0.0374063, -0.0636396),
						new V3(-0.0514855, 0.0374064, -0.0636396),
						new V3(-0.0514855, 0.0374064, 0.0636396),
						new V3(-0.0510981, -0.0703306, 0.0232937),
						new V3(-0.0510981, -0.0703305, -0.0232937),
						new V3(-0.0510981, 0.0703306, -0.0232937),
						new V3(-0.0510981, 0.0703306, 0.0232937),
						new V3(-0.0484806, 0.2440288, -0.0864092),
						new V3(-0.0477674, -0.5014142, 0.0471051),
						new V3(-0.0467095, -0.2901747, 0.2284594),
						new V3(-0.0458133, -0.0630567, 0.045),
						new V3(-0.0458133, -0.0630566, -0.045),
						new V3(-0.0458133, 0.0630566, -0.045),
						new V3(-0.0458133, 0.0630566, 0.045),
						new V3(-0.045, 0.0, -0.0779423),
						new V3(-0.045, 0.0, 0.0779423),
						new V3(-0.0444515, -0.4025887, 0.2247584),
						new V3(-0.0444219, 0.2538834, -0.0711714),
						new V3(-0.0427976, -0.0139058, -0.0779423),
						new V3(-0.0427976, -0.0139058, 0.0779423),
						new V3(-0.0427976, 0.0139058, -0.0779423),
						new V3(-0.0427976, 0.0139058, 0.0779423),
						new V3(-0.0417504, -0.2054817, 0.2375093),
						new V3(-0.0374064, -0.0514856, 0.0636396),
						new V3(-0.0374064, -0.0514855, -0.0636396),
						new V3(-0.0374064, 0.0514855, -0.0636396),
						new V3(-0.0374064, 0.0514855, 0.0636396),
						new V3(-0.0364058, -0.0264503, -0.0779423),
						new V3(-0.0364058, -0.0264503, 0.0779423),
						new V3(-0.0364058, 0.0264503, -0.0779423),
						new V3(-0.0364058, 0.0264503, 0.0779423),
						new V3(-0.0323682, 0.2430326, -0.0796007),
						new V3(-0.0291655, 0.2463608, 0.0054362),
						new V3(-0.0280142, 0.1327687, 0.222968),
						new V3(-0.0278115, -0.0855951, 0.0),
						new V3(-0.0278115, 0.0855951, 0.0),
						new V3(-0.0269048, -0.0244283, 0.2134536),
						new V3(-0.0268639, -0.0826786, 0.0232937),
						new V3(-0.0268639, -0.0826784, -0.0232937),
						new V3(-0.0268639, 0.0826785, -0.0232937),
						new V3(-0.0268639, 0.0826786, 0.0232937),
						new V3(-0.0264504, -0.0364058, 0.0779423),
						new V3(-0.0264504, -0.0364057, -0.0779423),
						new V3(-0.0264504, 0.0364058, -0.0779423),
						new V3(-0.0264504, 0.0364058, 0.0779423),
						new V3(-0.0251582, -0.4712157, 0.0636904),
						new V3(-0.0242184, -0.0213878, 0.182707),
						new V3(-0.0240855, -0.0741275, 0.045),
						new V3(-0.0240855, -0.0741274, -0.045),
						new V3(-0.0240855, 0.0741275, -0.045),
						new V3(-0.0240855, 0.0741276, 0.045),
						new V3(-0.024066, 0.2380857, 0.026611),
						new V3(-0.0232937, 0.0, -0.0869333),
						new V3(-0.0232937, 0.0, 0.0869333),
						new V3(-0.0228016, 0.0085273, 0.2362573),
						new V3(-0.0221536, -0.0071982, -0.0869333),
						new V3(-0.0221536, -0.0071981, 0.0869333),
						new V3(-0.0221536, 0.0071981, -0.0869333),
						new V3(-0.0221536, 0.0071982, 0.0869333),
						new V3(-0.0196657, -0.0605249, 0.0636396),
						new V3(-0.0196657, -0.0605248, -0.0636396),
						new V3(-0.0196657, 0.0605249, -0.0636396),
						new V3(-0.0196657, 0.0605249, 0.0636396),
						new V3(-0.018845, -0.0136917, -0.0869333),
						new V3(-0.018845, -0.0136917, 0.0869333),
						new V3(-0.018845, 0.0136917, -0.0869333),
						new V3(-0.018845, 0.0136917, 0.0869333),
						new V3(-0.0164155, -0.0087537, 0.1828848),
						new V3(-0.0139058, -0.0427976, 0.0779423),
						new V3(-0.0139058, -0.0427975, -0.0779423),
						new V3(-0.0139058, 0.0427976, -0.0779423),
						new V3(-0.0139058, 0.0427976, 0.0779423),
						new V3(-0.0136917, -0.018845, -0.0869333),
						new V3(-0.0136917, -0.018845, 0.0869333),
						new V3(-0.0136917, 0.018845, -0.0869333),
						new V3(-0.0136917, 0.018845, 0.0869333),
						new V3(-0.0101206, -0.2128665, 0.182885),
						new V3(-0.0090111, 0.2481984, 0.0280351),
						new V3(-0.0077517, -0.271125, 0.185025),
						new V3(-0.0072794, -0.4209596, 0.1822535),
						new V3(-0.0071982, 0.0221537, -0.0869333),
						new V3(-0.0071982, 0.0221537, 0.0869333),
						new V3(-0.0071981, -0.0221536, -0.0869333),
						new V3(-0.0071981, -0.0221536, 0.0869333),
						new V3(-0.0064847, 0.0261011, 0.2251354),
						new V3(-0.0051959, 0.0319976, 0.2680695),
						new V3(-0.0015429, 0.2557282, -0.0700069),
						new V3(-0.000308, -0.507372, 0.0345131),
						new V3(-0.0001086, 0.2482919, -0.0867262),
						new V3(0.0, -0.09, 0.0),
						new V3(0.0, -0.0869334, 0.0232937),
						new V3(0.0, -0.0869333, -0.0232937),
						new V3(0.0, -0.0779424, 0.045),
						new V3(0.0, -0.0779423, -0.045),
						new V3(0.0, -0.0636396, 0.0636396),
						new V3(0.0, -0.0636395, -0.0636396),
						new V3(0.0, -0.0450001, 0.0779423),
						new V3(0.0, -0.045, -0.0779423),
						new V3(0.0, -0.0232937, -0.0869333),
						new V3(0.0, -0.0232937, 0.0869333),
						new V3(0.0, 0.0, -0.09),
						new V3(0.0, 0.0, 0.09),
						new V3(0.0, 0.0232937, -0.0869333),
						new V3(0.0, 0.0232937, 0.0869333),
						new V3(0.0, 0.045, -0.0779423),
						new V3(0.0, 0.045, 0.0779423),
						new V3(0.0, 0.0636396, -0.0636396),
						new V3(0.0, 0.0636396, 0.0636396),
						new V3(0.0, 0.0779423, -0.045),
						new V3(0.0, 0.0779423, 0.045),
						new V3(0.0, 0.0869334, -0.0232937),
						new V3(0.0, 0.0869334, 0.0232937),
						new V3(0.0, 0.09, 0.0),
						new V3(0.0006784, 0.2386834, 0.033455),
						new V3(0.0007449, -0.5230737, -0.0818938),
						new V3(0.0028285, 0.2555241, 0.0043295),
						new V3(0.0067693, -0.522343, 0.0236401),
						new V3(0.0071981, 0.0221536, -0.0869333),
						new V3(0.0071981, 0.0221536, 0.0869333),
						new V3(0.0071982, -0.0221536, -0.0869333),
						new V3(0.0071982, -0.0221536, 0.0869333),
						new V3(0.0075614, -0.0208665, 0.2246026),
						new V3(0.007746, 0.2220592, -0.0927779),
						new V3(0.0098835, -0.2132085, 0.2362656),
						new V3(0.0124985, 0.2506707, -0.0787727),
						new V3(0.0136917, -0.018845, -0.0869333),
						new V3(0.0136917, -0.018845, 0.0869333),
						new V3(0.0136917, 0.018845, -0.0869333),
						new V3(0.0136917, 0.018845, 0.0869333),
						new V3(0.0139058, -0.0427976, 0.0779423),
						new V3(0.0139058, -0.0427975, -0.0779423),
						new V3(0.0139058, 0.0427976, -0.0779423),
						new V3(0.0139058, 0.0427976, 0.0779423),
						new V3(0.0160187, 0.2477631, 0.0194032),
						new V3(0.0167468, -0.5011755, 0.0520958),
						new V3(0.0173864, -0.2976924, 0.2288364),
						new V3(0.018845, -0.0136917, -0.0869333),
						new V3(0.018845, -0.0136917, 0.0869333),
						new V3(0.018845, 0.0136917, -0.0869333),
						new V3(0.018845, 0.0136917, 0.0869333),
						new V3(0.0191083, -0.5189265, -0.0803413),
						new V3(0.0196657, -0.0605249, 0.0636396),
						new V3(0.0196657, -0.0605248, -0.0636396),
						new V3(0.0196657, 0.0605249, -0.0636396),
						new V3(0.0196657, 0.0605249, 0.0636396),
						new V3(0.0210073, -0.5133743, 0.0272396),
						new V3(0.0221536, -0.0071982, -0.0869333),
						new V3(0.0221536, -0.0071981, 0.0869333),
						new V3(0.0221536, 0.0071981, -0.0869333),
						new V3(0.0221536, 0.0071982, 0.0869333),
						new V3(0.0224882, -0.0253337, 0.2456459),
						new V3(0.0232937, 0.0, -0.0869333),
						new V3(0.0232937, 0.0, 0.0869333),
						new V3(0.0240855, -0.0741275, 0.045),
						new V3(0.0240855, -0.0741274, -0.045),
						new V3(0.0240855, 0.0741275, -0.045),
						new V3(0.0240855, 0.0741275, 0.045),
						new V3(0.0247416, -0.0136047, 0.1827453),
						new V3(0.0264503, -0.0364058, 0.0779423),
						new V3(0.0264503, -0.0364057, -0.0779423),
						new V3(0.0264503, 0.0364057, -0.0779423),
						new V3(0.0264503, 0.0364057, 0.0779423),
						new V3(0.0268639, -0.0826786, 0.0232937),
						new V3(0.0268639, -0.0826784, -0.0232937),
						new V3(0.0268639, 0.0826785, -0.0232937),
						new V3(0.0268639, 0.0826785, 0.0232937),
						new V3(0.0278115, -0.0855951, 0.0),
						new V3(0.0278115, 0.0855951, 0.0),
						new V3(0.0321165, -0.5055073, 0.0379923),
						new V3(0.0347658, -0.5234183, -0.0813225),
						new V3(0.0364057, 0.0264503, -0.0779423),
						new V3(0.0364057, 0.0264503, 0.0779423),
						new V3(0.0364058, -0.0264503, -0.0779423),
						new V3(0.0364058, -0.0264503, 0.0779423),
						new V3(0.0374064, -0.0514855, 0.0636396),
						new V3(0.0374064, -0.0514854, -0.0636396),
						new V3(0.0374064, 0.0514855, -0.0636396),
						new V3(0.0374064, 0.0514855, 0.0636396),
						new V3(0.0408911, 0.2045101, 0.0540966),
						new V3(0.0427976, -0.0139058, -0.0779423),
						new V3(0.0427976, -0.0139058, 0.0779423),
						new V3(0.0427976, 0.0139058, -0.0779423),
						new V3(0.0427976, 0.0139058, 0.0779423),
						new V3(0.0437421, -0.1968203, 0.2334447),
						new V3(0.0441356, -0.4725024, 0.0548673),
						new V3(0.0442021, 0.1284023, 0.2199067),
						new V3(0.0443153, -0.0310727, 0.1840327),
						new V3(0.0444652, -0.5205893, 0.0210734),
						new V3(0.0449991, -0.0316385, 0.2326219),
						new V3(0.045, 0.0, -0.0779423),
						new V3(0.045, 0.0, 0.0779423),
						new V3(0.0451466, -0.1973074, 0.1818958),
						new V3(0.0458133, -0.0630567, 0.045),
						new V3(0.0458133, -0.0630566, -0.045),
						new V3(0.0458133, 0.0630566, -0.045),
						new V3(0.0458133, 0.0630566, 0.045),
						new V3(0.0462757, 0.1473929, 0.168087),
						new V3(0.0480814, 0.2313971, 0.0278929),
						new V3(0.0484923, -0.2225488, 0.2445609),
						new V3(0.0510981, 0.0703306, -0.0232937),
						new V3(0.0510981, 0.0703306, 0.0232937),
						new V3(0.0510982, -0.0703306, 0.0232937),
						new V3(0.0510982, -0.0703305, -0.0232937),
						new V3(0.0514855, -0.0374064, 0.0636396),
						new V3(0.0514855, -0.0374063, -0.0636396),
						new V3(0.0514855, 0.0374064, -0.0636396),
						new V3(0.0514855, 0.0374064, 0.0636396),
						new V3(0.0529007, -0.0728116, 0.0),
						new V3(0.0529007, 0.0728115, 0.0),
						new V3(0.0538131, -0.5037509, 0.0281962),
						new V3(0.0551782, -0.0381155, 0.226267),
						new V3(0.0605249, -0.0196657, -0.0636396),
						new V3(0.0605249, -0.0196657, 0.0636396),
						new V3(0.0605249, 0.0196657, -0.0636396),
						new V3(0.0605249, 0.0196657, 0.0636396),
						new V3(0.0615789, 0.2269151, 0.0467849),
						new V3(0.0630566, -0.0458134, 0.045),
						new V3(0.0630566, -0.0458133, -0.045),
						new V3(0.0630566, 0.0458133, -0.045),
						new V3(0.0630566, 0.0458133, 0.045),
						new V3(0.0636396, 0.0, -0.0636396),
						new V3(0.0636396, 0.0, 0.0636396),
						new V3(0.0640168, -0.2473523, 0.185416),
						new V3(0.066703, -0.3950319, 0.2285004),
						new V3(0.0689662, -0.1708485, 0.1817534),
						new V3(0.0703306, -0.0510982, 0.0232937),
						new V3(0.0703306, -0.0510981, -0.0232937),
						new V3(0.0703306, 0.0510981, -0.0232937),
						new V3(0.0703306, 0.0510981, 0.0232937),
						new V3(0.0725502, -0.1557961, 0.2496859),
						new V3(0.0728115, -0.0529007, 0.0),
						new V3(0.0728115, 0.0529007, 0.0),
						new V3(0.0741276, -0.0240855, -0.045),
						new V3(0.0741276, -0.0240855, 0.045),
						new V3(0.0741276, 0.0240855, -0.045),
						new V3(0.0741276, 0.0240855, 0.045),
						new V3(0.0749414, -0.0049751, 0.2230392),
						new V3(0.0750226, -0.0035854, 0.2689361),
						new V3(0.0774014, -0.1285426, 0.2526105),
						new V3(0.0779423, 0.0, -0.045),
						new V3(0.0779423, 0.0, 0.045),
						new V3(0.0802352, -0.1583323, 0.2475321),
						new V3(0.0826785, 0.0268639, -0.0232937),
						new V3(0.0826785, 0.0268639, 0.0232937),
						new V3(0.0826786, -0.0268639, -0.0232937),
						new V3(0.0826786, -0.0268639, 0.0232937),
						new V3(0.0835683, -0.0747659, 0.2189883),
						new V3(0.0841563, -0.0796489, 0.1821632),
						new V3(0.084353, -0.169862, 0.2253026),
						new V3(0.0855951, -0.0278115, 0.0),
						new V3(0.0855951, 0.0278115, 0.0),
						new V3(0.0857725, -0.1348573, 0.1819666),
						new V3(0.0869334, 0.0, -0.0232937),
						new V3(0.0869334, 0.0, 0.0232937),
						new V3(0.0880479, 0.1106318, 0.2253215),
						new V3(0.0884365, -0.2623652, 0.2275901),
						new V3(0.09, 0.0, 0.0),
						new V3(0.0903873, -0.1043293, 0.2295337),
						new V3(0.0932235, 0.2339038, 0.019663),
						new V3(0.0943503, -0.4936431, 0.0450167),
						new V3(0.0955113, -0.2361965, 0.2412482),
						new V3(0.0955555, -0.4901769, -0.0886615),
						new V3(0.0967978, -0.0705521, 0.1810699),
						new V3(0.0979491, 0.2064559, -0.0940979),
						new V3(0.1019958, -0.1333493, 0.2304189),
						new V3(0.1043032, -0.2412639, 0.255718),
						new V3(0.105378, -0.0787165, 0.2336662),
						new V3(0.1176557, 0.2143843, 0.0276358),
						new V3(0.1197269, -0.4543506, 0.0543398),
						new V3(0.1206469, -0.2058853, 0.2309629),
						new V3(0.121316, -0.1470043, 0.1825653),
						new V3(0.1217441, -0.2166204, 0.2231733),
						new V3(0.1228485, -0.1022582, 0.2440362),
						new V3(0.1250871, -0.3781689, 0.2211834),
						new V3(0.126868, -0.4855525, 0.0274694),
						new V3(0.1281079, -0.0415201, 0.2695183),
						new V3(0.1293329, -0.0714475, 0.2192537),
						new V3(0.1327793, -0.4964524, -0.0838837),
						new V3(0.1399032, -0.1767449, 0.2311545),
						new V3(0.1435907, 0.1705015, 0.0537903),
						new V3(0.1465058, 0.0742566, 0.2260073),
						new V3(0.150508, -0.1350072, 0.2217246),
						new V3(0.1524243, 0.1020391, 0.1653482),
						new V3(0.1581756, -0.3531047, 0.2258162),
						new V3(0.1596541, 0.2098555, -0.0810604),
						new V3(0.1633242, 0.1937183, 0.0455633),
						new V3(0.1638409, -0.1350221, 0.2476331),
						new V3(0.1699315, -0.4658115, 0.0481274),
						new V3(0.1700153, 0.1846019, -0.0873823),
						new V3(0.1726548, -0.4780251, 0.0216967),
						new V3(0.1778846, -0.4650217, 0.0276359),
						new V3(0.1780617, -0.4265853, 0.0546104),
						new V3(0.2010202, 0.1312066, 0.0547086),
						new V3(0.204255, 0.1934675, 0.0257552),
						new V3(0.2046585, 0.0194863, 0.2205),
						new V3(0.2071233, 0.1932313, -0.0792727),
						new V3(0.2091282, -0.4374017, -0.0946664),
						new V3(0.2116004, -0.4048863, 0.0545695),
						new V3(0.211898, 0.1750327, -0.0865925),
						new V3(0.2119915, 0.1713502, 0.0307054),
						new V3(0.2156594, 0.1581747, -0.087467),
						new V3(0.2161021, 0.1849536, 0.0124417),
						new V3(0.2166186, -0.4434533, 0.0305386),
						new V3(0.218439, 0.1831897, -0.0690285),
						new V3(0.2232605, -0.2770608, 0.2259091),
						new V3(0.2284214, 0.1810029, 0.0219644),
						new V3(0.2310019, 0.1808479, -0.0728825),
						new V3(0.2316759, 0.1714362, -0.0869968),
						new V3(0.2324754, -0.4491948, 0.0286774),
						new V3(0.2335504, 0.0299902, 0.1367282),
						new V3(0.2387285, -0.4533594, -0.081809),
						new V3(0.2394591, 0.1651684, 0.0208137),
						new V3(0.243368, 0.1279249, -0.0947102),
						new V3(0.2437099, -0.4477432, 0.0180041),
						new V3(0.2458574, 0.1343651, 0.0496002),
						new V3(0.247085, -0.4144456, 0.0482692),
						new V3(0.2474637, -0.4399453, -0.08012),
						new V3(0.247604, -0.4383906, 0.0180942),
						new V3(0.2482829, -0.0712607, 0.2155308),
						new V3(0.2537981, -0.1776478, 0.2225474),
						new V3(0.2540539, -0.3679775, 0.054329),
						new V3(0.2577389, -0.4281795, -0.0896671),
						new V3(0.2587179, -0.4086033, 0.0297707),
						new V3(0.2624251, -0.4319703, 0.0256215),
						new V3(0.2637042, 0.1227149, 0.027677),
						new V3(0.2637633, -0.4340759, -0.0789311),
						new V3(0.2696622, -0.4163374, 0.0218743),
						new V3(0.2721984, -0.2525305, 0.1505232),
						new V3(0.2765179, -0.116656, 0.1656189),
						new V3(0.2827268, -0.3341043, 0.0542661),
						new V3(0.2940819, 0.1045655, -0.0868303),
						new V3(0.3031321, -0.3497076, -0.0946719),
						new V3(0.3054246, -0.3795909, -0.0818529),
						new V3(0.3056313, 0.0751669, 0.0279146),
						new V3(0.30617, -0.3767816, 0.0206964),
						new V3(0.3080149, -0.3520962, 0.0279202),
						new V3(0.3093704, -0.3438333, 0.0501882),
						new V3(0.3121797, 0.0656101, 0.0425431),
						new V3(0.3122731, 0.0926741, 0.0173998),
						new V3(0.3175669, -0.2677353, 0.0545695),
						new V3(0.3271803, 0.0218552, -0.095),
						new V3(0.3298739, -0.0620876, 0.0546703),
						new V3(0.3314236, -0.2279582, 0.0542634),
						new V3(0.3369511, -0.3091016, 0.0279283),
						new V3(0.3381639, 0.0500953, -0.0826265),
						new V3(0.3404763, -0.1636457, 0.0539025),
						new V3(0.3440062, 0.0104854, 0.0458586),
						new V3(0.3442916, -0.2853657, 0.049655),
						new V3(0.3460258, 0.0116465, 0.0293905),
						new V3(0.3577375, -0.014746, 0.0294808),
						new V3(0.3635233, -0.2394902, -0.089312),
						new V3(0.3647558, 0.0096022, -0.0866363),
						new V3(0.365602, -0.084104, -0.0945816),
						new V3(0.3657323, -0.0662842, 0.0495564),
						new V3(0.365971, -0.0002989, 0.0211444),
						new V3(0.3662784, 0.0149206, 0.0204691),
						new V3(0.3678774, 0.014736, -0.0743038),
						new V3(0.3683153, -0.0507694, 0.0252743),
						new V3(0.3698478, -0.2678877, -0.0847554),
						new V3(0.3714443, -0.2342508, 0.02783),
						new V3(0.3729424, -0.1551738, 0.0493461),
						new V3(0.3756508, -0.0111005, -0.0839521),
						new V3(0.3778033, -0.1431078, 0.0251733),
						new V3(0.3779017, -0.0169871, 0.0201168),
						new V3(0.3781918, -0.2634821, 0.0182637),
						new V3(0.3801721, -0.2407129, -0.0832851),
						new V3(0.3829075, -0.2406541, 0.0124008),
						new V3(0.3847353, -0.2243692, 0.0262065),
						new V3(0.3850231, -0.2544049, 0.0171566),
						new V3(0.3851117, -0.0928906, -0.0864883),
						new V3(0.3872617, -0.223855, -0.0867153),
						new V3(0.3899578, -0.1450167, -0.0823747),
						new V3(0.3917362, -0.1304146, 0.0069369),
						new V3(0.3923168, -0.2249104, 0.0116027)
					}
				},
				new RexPoseSolver.Leg
				{
					MaxLowerExtension = 4.0,
					Label = "FrontR",
					Driver = "Foot.Front.r",
					Hip = new V3(0.5490000247955322, -0.43199998140335083, 1.5800000429153442),
					Knee = new V3(0.9269999861717224, -0.8370000123977661, 0.49000000953674316),
					Foot = new V3(1.0260000228881836, -0.9720000624656677, 0.0949999988079071),
					ContactLocal = new V3(1.1543029176941388E-07, 1.5331812079728975, 0.020047764865803175),
					ContactIdle = new V3(1.0058873793248644, -1.0058862281441765, 0.019437533244369077),
					UpperRest = new M4(new double[16]
					{
						0.8570893292465902, -0.41209693920227597, 0.30915042799029546, 0.5490000247955322, -0.30915042799029546, -0.8914655625339525, -0.33123264865171764, -0.43199998140335083, 0.41209693920227597, 0.18832197789830785,
						-0.8914655625339525, 1.5800000429153442, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						0.9222970520083508, -0.31002655783878375, 0.23076305701949984, 0.9269999861717224, -0.23076304326494979, -0.9207209379649743, -0.3146769429305625, -0.8370000123977661, 0.3100265393597609, 0.2369740499121047,
						-0.9207209379649743, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						1.0, 0.0, 0.0, 1.0260000228881836, 0.0, 1.0, 0.0, -0.9720000624656677, 0.0, 0.0,
						1.0, 0.0949999988079071, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						0.7071066874816531, 0.7071069592644403, 1.8718868285259177E-07, -4.288331949345071E-07, -0.09226175849103574, 0.09226198519819152, -0.9914512662410887, 1.7380625736731845, -0.7010622746315261, 0.7010619704507328,
						0.1304780288614005, 1.4278898691667963, 0.0, 0.0, 0.0, 1.0
					}).Rotation(),
					LowerRigidRest = new M4(new double[16]
					{
						0.9222970520083508, -0.31002655783878375, 0.23076305701949984, 0.9269999861717224, -0.23076304326494979, -0.9207209379649743, -0.3146769429305625, -0.8370000123977661, 0.3100265393597609, 0.2369740499121047,
						-0.9207209379649743, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootSupport = new V3[537]
					{
						new V3(-0.3896477, 0.2919851, 0.0127859),
						new V3(-0.3893575, 0.2176559, 0.0204257),
						new V3(-0.3879602, 0.1957035, -0.0742024),
						new V3(-0.3844129, 0.2943688, -0.0814155),
						new V3(-0.3843613, 0.2914096, 0.0285295),
						new V3(-0.3808067, 0.3118639, -0.0686459),
						new V3(-0.3793897, 0.32055, 0.0281387),
						new V3(-0.3780565, 0.1778666, 0.0309703),
						new V3(-0.3773702, 0.3303995, -0.0766351),
						new V3(-0.37232, 0.3038224, 0.0308528),
						new V3(-0.3721601, 0.1866534, 0.051508),
						new V3(-0.3720592, 0.284084, 0.0498244),
						new V3(-0.3715377, 0.090138, 0.0179273),
						new V3(-0.3711417, 0.3254993, -0.0840886),
						new V3(-0.3711318, 0.0856436, -0.0737435),
						new V3(-0.3679019, 0.0765371, 0.0158937),
						new V3(-0.3652846, 0.0855405, -0.0840015),
						new V3(-0.360982, 0.0851567, 0.0336491),
						new V3(-0.3601113, 0.2100523, -0.0946636),
						new V3(-0.3600449, 0.0569634, -0.0691324),
						new V3(-0.3580204, 0.0717893, -0.0798222),
						new V3(-0.3578752, 0.0587173, 0.0254548),
						new V3(-0.3575259, 0.3034264, -0.0861907),
						new V3(-0.3517697, 0.1354302, -0.0926519),
						new V3(-0.344754, 0.045569, -0.0800954),
						new V3(-0.3437257, 0.0987034, -0.0870599),
						new V3(-0.3410174, 0.3829264, 0.0309568),
						new V3(-0.3393298, 0.3473238, -0.0927148),
						new V3(-0.3392979, 0.2401544, 0.0547251),
						new V3(-0.3356202, 0.0585204, 0.034633),
						new V3(-0.3334383, 0.4110901, 0.0251376),
						new V3(-0.3315343, 0.0601957, 0.0518061),
						new V3(-0.3301051, 0.3981312, 0.0472061),
						new V3(-0.3289292, 0.3106881, 0.054799),
						new V3(-0.3267103, 0.4223959, -0.0743065),
						new V3(-0.319028, 0.1452749, 0.0735298),
						new V3(-0.3176578, 0.3011435, 0.0825936),
						new V3(-0.3169246, 0.1161518, 0.0573791),
						new V3(-0.3145337, 0.3513703, 0.0547744),
						new V3(-0.3126814, 0.4296552, 0.0318478),
						new V3(-0.304539, 0.0280346, -0.0864091),
						new V3(-0.2954841, 0.0038535, 0.0494608),
						new V3(-0.2932996, 0.3927808, 0.0550314),
						new V3(-0.2920622, -0.0058731, 0.0300247),
						new V3(-0.290301, -0.0253952, -0.0811587),
						new V3(-0.2894423, 0.4538388, 0.0484222),
						new V3(-0.2887266, 0.0508234, 0.0563379),
						new V3(-0.2828867, 0.442774, -0.0921271),
						new V3(-0.2819765, 0.0069284, -0.0939749),
						new V3(-0.2806826, 0.1619976, 0.1472048),
						new V3(-0.2738858, 0.497296, 0.0265262),
						new V3(-0.2732782, -0.0434141, 0.0202807),
						new V3(-0.2720433, 0.5057065, -0.0652376),
						new V3(-0.2686954, 0.5006193, -0.0791525),
						new V3(-0.2661271, 0.4326194, 0.054684),
						new V3(-0.2572099, 0.5150345, 0.0178289),
						new V3(-0.256408, 0.5150395, -0.0762088),
						new V3(-0.252295, 0.510068, 0.0305166),
						new V3(-0.2516161, 0.4951214, 0.0332252),
						new V3(-0.2495399, 0.1697684, 0.2260212),
						new V3(-0.2469299, 0.4845856, -0.0868303),
						new V3(-0.2454441, 0.2614772, 0.2284892),
						new V3(-0.2395746, 0.3090449, 0.2216342),
						new V3(-0.2389621, -0.0414092, 0.05478),
						new V3(-0.2349795, 0.1272831, 0.2283936),
						new V3(-0.2196738, 0.4777297, 0.0559714),
						new V3(-0.2168105, 0.3440669, 0.2255973),
						new V3(-0.2161462, -0.0539721, -0.0946748),
						new V3(-0.2143703, -0.0981672, -0.0818611),
						new V3(-0.2134748, -0.0738532, 0.0305852),
						new V3(-0.2107639, -0.1000493, 0.0191029),
						new V3(-0.2057825, -0.0900717, 0.0337312),
						new V3(-0.2050987, -0.0700157, -0.0863411),
						new V3(-0.1980386, 0.5281164, 0.0481925),
						new V3(-0.1980264, -0.1036849, -0.0775098),
						new V3(-0.197987, -0.0508211, 0.055176),
						new V3(-0.1972885, 0.0476477, 0.2205),
						new V3(-0.1949047, -0.0799268, 0.0497725),
						new V3(-0.1930845, 0.534596, 0.0291965),
						new V3(-0.1917979, 0.0136022, 0.1616694),
						new V3(-0.1897463, 0.3922299, 0.2196801),
						new V3(-0.1895248, -0.1122553, 0.0185698),
						new V3(-0.1869494, -0.1040194, -0.086729),
						new V3(-0.186113, 0.5280796, -0.0860158),
						new V3(-0.1816655, -0.1172195, -0.0785374),
						new V3(-0.181257, -0.0915919, 0.0353601),
						new V3(-0.1779287, -0.1080145, 0.0314462),
						new V3(-0.1597499, 0.518599, 0.0545912),
						new V3(-0.1548595, 0.0112284, 0.2260047),
						new V3(-0.1474428, 0.2422036, 0.2303862),
						new V3(-0.1473395, 0.5672072, -0.0744623),
						new V3(-0.1451699, 0.2228857, 0.2304818),
						new V3(-0.1374506, 0.4399723, 0.2175452),
						new V3(-0.1360485, -0.1011363, -0.0928187),
						new V3(-0.1355295, -0.0868566, 0.0554632),
						new V3(-0.1331949, 0.5706512, 0.0215652),
						new V3(-0.1330252, 0.2568106, 0.2293585),
						new V3(-0.1296353, 0.1997526, 0.2146561),
						new V3(-0.1283095, 0.5611853, 0.0295054),
						new V3(-0.127916, -0.1077487, 0.0522735),
						new V3(-0.1221967, 0.1417277, 0.2261141),
						new V3(-0.1196752, 0.2463068, 0.2144924),
						new V3(-0.1183787, 0.2780054, 0.2709805),
						new V3(-0.1162558, 0.184838, 0.1968681),
						new V3(-0.1115696, 0.2613099, 0.2296726),
						new V3(-0.1067212, 0.2949076, 0.222793),
						new V3(-0.1049967, -0.1144495, -0.0865048),
						new V3(-0.1022588, 0.5556899, -0.0946035),
						new V3(-0.0995135, 0.5425612, 0.0560973),
						new V3(-0.0989108, 0.1601281, 0.1855608),
						new V3(-0.0988199, -0.0495492, 0.1574463),
						new V3(-0.0978653, 0.262439, 0.2518557),
						new V3(-0.0927216, 0.2822021, 0.2281968),
						new V3(-0.0922493, 0.2853114, 0.1995003),
						new V3(-0.091809, -0.1387487, -0.0841816),
						new V3(-0.091632, 0.1558649, 0.2172473),
						new V3(-0.09, 0.0, 0.0),
						new V3(-0.0869334, 0.0, -0.0232937),
						new V3(-0.0869334, 0.0, 0.0232937),
						new V3(-0.0855951, -0.0278115, 0.0),
						new V3(-0.0855951, 0.0278115, 0.0),
						new V3(-0.0826786, -0.0268639, -0.0232937),
						new V3(-0.0826786, -0.0268639, 0.0232937),
						new V3(-0.0826786, 0.0268639, -0.0232937),
						new V3(-0.0826786, 0.0268639, 0.0232937),
						new V3(-0.0809508, 0.1674586, 0.2748753),
						new V3(-0.0779423, 0.0, -0.045),
						new V3(-0.0779423, 0.0, 0.045),
						new V3(-0.0746658, 0.128358, 0.1855416),
						new V3(-0.0741276, -0.0240855, -0.045),
						new V3(-0.0741276, -0.0240855, 0.045),
						new V3(-0.0741276, 0.0240855, -0.045),
						new V3(-0.0741276, 0.0240855, 0.045),
						new V3(-0.0728115, -0.0529007, 0.0),
						new V3(-0.0728115, 0.0529007, 0.0),
						new V3(-0.0703306, -0.0510982, 0.0232937),
						new V3(-0.0703306, -0.0510981, -0.0232937),
						new V3(-0.0703306, 0.0510982, -0.0232937),
						new V3(-0.0703306, 0.0510982, 0.0232937),
						new V3(-0.0677755, 0.5868178, 0.0186134),
						new V3(-0.0664963, 0.0846056, 0.228339),
						new V3(-0.065109, -0.1287738, 0.0303582),
						new V3(-0.0638863, -0.1265573, 0.0463943),
						new V3(-0.0636396, 0.0, -0.0636396),
						new V3(-0.0636396, 0.0, 0.0636396),
						new V3(-0.0630566, -0.0458134, 0.045),
						new V3(-0.0630566, -0.0458133, -0.045),
						new V3(-0.0630566, 0.0458134, -0.045),
						new V3(-0.0630566, 0.0458134, 0.045),
						new V3(-0.0607548, -0.14895, -0.0723602),
						new V3(-0.0605249, -0.0196657, -0.0636396),
						new V3(-0.0605249, -0.0196657, 0.0636396),
						new V3(-0.0605249, 0.0196657, -0.0636396),
						new V3(-0.0605249, 0.0196657, 0.0636396),
						new V3(-0.0596232, 0.599425, -0.0744816),
						new V3(-0.0592445, 0.4677326, 0.2255566),
						new V3(-0.0586565, 0.567987, 0.0522843),
						new V3(-0.0567649, 0.3057535, 0.185118),
						new V3(-0.0545509, -0.1265032, -0.0866058),
						new V3(-0.0535225, -0.0402605, 0.2227111),
						new V3(-0.0529007, -0.0728116, 0.0),
						new V3(-0.0529007, 0.0728115, 0.0),
						new V3(-0.0520564, 0.3074336, 0.2256248),
						new V3(-0.0514855, -0.0374064, 0.0636396),
						new V3(-0.0514855, -0.0374063, -0.0636396),
						new V3(-0.0514855, 0.0374064, -0.0636396),
						new V3(-0.0514855, 0.0374064, 0.0636396),
						new V3(-0.0514096, 0.5765378, 0.0326621),
						new V3(-0.0510982, 0.0703306, -0.0232937),
						new V3(-0.0510982, 0.0703306, 0.0232937),
						new V3(-0.0510981, -0.0703306, 0.0232937),
						new V3(-0.0510981, -0.0703305, -0.0232937),
						new V3(-0.0477615, 0.6049327, -0.0681047),
						new V3(-0.0464603, 0.5543811, 0.0564798),
						new V3(-0.0458133, -0.0630567, 0.045),
						new V3(-0.0458133, -0.0630566, -0.045),
						new V3(-0.0458133, 0.0630566, -0.045),
						new V3(-0.0458133, 0.0630566, 0.045),
						new V3(-0.0452179, 0.5923896, -0.085767),
						new V3(-0.045, 0.0, -0.0779423),
						new V3(-0.045, 0.0, 0.0779423),
						new V3(-0.0432942, 0.5963476, 0.0170007),
						new V3(-0.0430925, -0.1150399, 0.054881),
						new V3(-0.0427976, -0.0139058, -0.0779423),
						new V3(-0.0427976, -0.0139058, 0.0779423),
						new V3(-0.0427976, 0.0139058, -0.0779423),
						new V3(-0.0427976, 0.0139058, 0.0779423),
						new V3(-0.0408491, 0.3554884, 0.2555759),
						new V3(-0.0392969, 0.1231159, 0.2109909),
						new V3(-0.0383006, 0.5775783, -0.0839658),
						new V3(-0.0374421, 0.2958941, 0.2783768),
						new V3(-0.0374064, -0.0514856, 0.0636396),
						new V3(-0.0374064, -0.0514855, -0.0636396),
						new V3(-0.0374064, 0.0514855, -0.0636396),
						new V3(-0.0374064, 0.0514855, 0.0636396),
						new V3(-0.0364058, -0.0264503, -0.0779423),
						new V3(-0.0364058, -0.0264503, 0.0779423),
						new V3(-0.0364058, 0.0264503, -0.0779423),
						new V3(-0.0364058, 0.0264503, 0.0779423),
						new V3(-0.0299221, 0.5784073, 0.027431),
						new V3(-0.0278115, -0.0855951, 0.0),
						new V3(-0.0278115, 0.0855951, 0.0),
						new V3(-0.0274253, 0.3022309, 0.2563219),
						new V3(-0.0273195, 0.5899641, 0.0082078),
						new V3(-0.0268639, -0.0826786, 0.0232937),
						new V3(-0.0268639, -0.0826784, -0.0232937),
						new V3(-0.0268639, 0.0826785, -0.0232937),
						new V3(-0.0268639, 0.0826786, 0.0232937),
						new V3(-0.0264503, -0.0364058, 0.0779423),
						new V3(-0.0264503, -0.0364057, -0.0779423),
						new V3(-0.0264503, 0.0364058, -0.0779423),
						new V3(-0.0264503, 0.0364058, 0.0779423),
						new V3(-0.0250785, 0.0963444, 0.2307006),
						new V3(-0.0240855, -0.0741275, 0.045),
						new V3(-0.0240855, -0.0741274, -0.045),
						new V3(-0.0240855, 0.0741275, -0.045),
						new V3(-0.0240855, 0.0741276, 0.045),
						new V3(-0.0232937, 0.0, -0.0869333),
						new V3(-0.0232937, 0.0, 0.0869333),
						new V3(-0.022621, 0.595275, -0.0719888),
						new V3(-0.0221536, -0.0071982, -0.0869333),
						new V3(-0.0221536, -0.0071981, 0.0869333),
						new V3(-0.0221536, 0.0071981, -0.0869333),
						new V3(-0.0221536, 0.0071982, 0.0869333),
						new V3(-0.0202545, 0.3146363, 0.1829123),
						new V3(-0.0196657, -0.0605249, 0.0636396),
						new V3(-0.0196657, -0.0605248, -0.0636396),
						new V3(-0.0196657, 0.0605249, -0.0636396),
						new V3(-0.0196657, 0.0605249, 0.0636396),
						new V3(-0.0190418, 0.361124, 0.2181739),
						new V3(-0.018845, -0.0136917, -0.0869333),
						new V3(-0.018845, -0.0136917, 0.0869333),
						new V3(-0.018845, 0.0136917, -0.0869333),
						new V3(-0.018845, 0.0136917, 0.0869333),
						new V3(-0.0181956, 0.3655298, 0.2386188),
						new V3(-0.0179471, 0.4833457, 0.219814),
						new V3(-0.0178341, 0.1222401, 0.182606),
						new V3(-0.0144073, 0.3323355, 0.1828191),
						new V3(-0.0139058, -0.0427976, 0.0779423),
						new V3(-0.0139058, -0.0427975, -0.0779423),
						new V3(-0.0139058, 0.0427976, -0.0779423),
						new V3(-0.0139058, 0.0427976, 0.0779423),
						new V3(-0.0136917, -0.018845, -0.0869333),
						new V3(-0.0136917, -0.018845, 0.0869333),
						new V3(-0.0136917, 0.018845, -0.0869333),
						new V3(-0.0136917, 0.018845, 0.0869333),
						new V3(-0.0117087, -0.1240875, -0.0946963),
						new V3(-0.0117038, 0.5745305, 0.0465336),
						new V3(-0.0084617, 0.0984452, 0.1845439),
						new V3(-0.0071982, 0.0221537, -0.0869333),
						new V3(-0.0071982, 0.0221537, 0.0869333),
						new V3(-0.0071981, -0.0221536, -0.0869333),
						new V3(-0.0071981, -0.0221536, 0.0869333),
						new V3(-0.0042969, 0.5810985, 0.0312764),
						new V3(-0.0036575, 0.590247, 0.0284586),
						new V3(-0.003404, 0.3046736, 0.2429756),
						new V3(0.0, -0.09, 0.0),
						new V3(0.0, -0.0869334, 0.0232937),
						new V3(0.0, -0.0869333, -0.0232937),
						new V3(0.0, -0.0779424, 0.045),
						new V3(0.0, -0.0779423, -0.045),
						new V3(0.0, -0.0636396, 0.0636396),
						new V3(0.0, -0.0636395, -0.0636396),
						new V3(0.0, -0.0450001, 0.0779423),
						new V3(0.0, -0.045, -0.0779423),
						new V3(0.0, -0.0232937, -0.0869333),
						new V3(0.0, -0.0232937, 0.0869333),
						new V3(0.0, 0.0, -0.09),
						new V3(0.0, 0.0, 0.09),
						new V3(0.0, 0.0232937, -0.0869333),
						new V3(0.0, 0.0232937, 0.0869333),
						new V3(0.0, 0.045, -0.0779423),
						new V3(0.0, 0.045, 0.0779423),
						new V3(0.0, 0.0636396, -0.0636396),
						new V3(0.0, 0.0636396, 0.0636396),
						new V3(0.0, 0.0779423, -0.045),
						new V3(0.0, 0.0779423, 0.045),
						new V3(0.0, 0.0869334, -0.0232937),
						new V3(0.0, 0.0869334, 0.0232937),
						new V3(0.0, 0.09, 0.0),
						new V3(0.00035, 0.5821956, -0.0839684),
						new V3(0.0004753, 0.6060495, -0.075635),
						new V3(0.0005269, 0.3082896, 0.2206256),
						new V3(0.0020201, -0.1357722, 0.0280267),
						new V3(0.0021676, 0.323952, 0.2084326),
						new V3(0.0051024, 0.128075, 0.1829969),
						new V3(0.0071981, 0.0221536, -0.0869333),
						new V3(0.0071981, 0.0221536, 0.0869333),
						new V3(0.0071982, -0.0221536, -0.0869333),
						new V3(0.0071982, -0.0221536, 0.0869333),
						new V3(0.008625, 0.1257578, 0.2204753),
						new V3(0.0104405, 0.5998554, -0.0813692),
						new V3(0.0119804, 0.5966502, 0.0063547),
						new V3(0.0136917, -0.018845, -0.0869333),
						new V3(0.0136917, -0.018845, 0.0869333),
						new V3(0.0136917, 0.018845, -0.0869333),
						new V3(0.0136917, 0.018845, 0.0869333),
						new V3(0.0139058, -0.0427976, 0.0779423),
						new V3(0.0139058, -0.0427975, -0.0779423),
						new V3(0.0139058, 0.0427976, -0.0779423),
						new V3(0.0139058, 0.0427976, 0.0779423),
						new V3(0.0139483, -0.155314, 0.0209395),
						new V3(0.014273, 0.3505709, 0.2136967),
						new V3(0.0150725, -0.161508, -0.0735573),
						new V3(0.018845, -0.0136917, -0.0869333),
						new V3(0.018845, -0.0136917, 0.0869333),
						new V3(0.018845, 0.0136917, -0.0869333),
						new V3(0.018845, 0.0136917, 0.0869333),
						new V3(0.0196657, -0.0605249, 0.0636396),
						new V3(0.0196657, -0.0605248, -0.0636396),
						new V3(0.0196657, 0.0605249, -0.0636396),
						new V3(0.0196657, 0.0605249, 0.0636396),
						new V3(0.0214168, 0.1431988, 0.2582845),
						new V3(0.0215889, -0.1504162, 0.0309103),
						new V3(0.0220366, 0.1340946, 0.2321848),
						new V3(0.0221536, -0.0071982, -0.0869333),
						new V3(0.0221536, -0.0071981, 0.0869333),
						new V3(0.0221536, 0.0071981, -0.0869333),
						new V3(0.0221536, 0.0071982, 0.0869333),
						new V3(0.0232937, 0.0, -0.0869333),
						new V3(0.0232937, 0.0, 0.0869333),
						new V3(0.0240855, -0.0741275, 0.045),
						new V3(0.0240855, -0.0741274, -0.045),
						new V3(0.0240855, 0.0741275, -0.045),
						new V3(0.0240855, 0.0741275, 0.045),
						new V3(0.0243932, 0.3611929, 0.2226701),
						new V3(0.0264504, -0.0364058, 0.0779423),
						new V3(0.0264504, -0.0364057, -0.0779423),
						new V3(0.0264504, 0.0364057, -0.0779423),
						new V3(0.0264504, 0.0364057, 0.0779423),
						new V3(0.0267743, 0.300932, 0.1829286),
						new V3(0.0268639, -0.0826786, 0.0232937),
						new V3(0.0268639, -0.0826784, -0.0232937),
						new V3(0.0268639, 0.0826785, -0.0232937),
						new V3(0.0268639, 0.0826785, 0.0232937),
						new V3(0.0278115, -0.0855951, 0.0),
						new V3(0.0278115, 0.0855951, 0.0),
						new V3(0.0294605, 0.4836705, 0.2195051),
						new V3(0.0336819, 0.2913801, 0.2021159),
						new V3(0.0338346, -0.0449369, 0.2255756),
						new V3(0.0364058, -0.0264503, -0.0779423),
						new V3(0.0364058, -0.0264503, 0.0779423),
						new V3(0.0364058, 0.0264503, -0.0779423),
						new V3(0.0364058, 0.0264503, 0.0779423),
						new V3(0.0367224, 0.5123852, 0.1460406),
						new V3(0.037298, -0.1458876, 0.0280842),
						new V3(0.0374064, -0.0514855, 0.0636396),
						new V3(0.0374064, -0.0514854, -0.0636396),
						new V3(0.0374064, 0.0514855, -0.0636396),
						new V3(0.0374064, 0.0514855, 0.0636396),
						new V3(0.0388577, -0.1527976, 0.0115015),
						new V3(0.0427197, 0.1541011, 0.234579),
						new V3(0.0427976, -0.0139058, -0.0779423),
						new V3(0.0427976, -0.0139058, 0.0779423),
						new V3(0.0427976, 0.0139058, -0.0779423),
						new V3(0.0427976, 0.0139058, 0.0779423),
						new V3(0.0449313, -0.1281906, -0.0891535),
						new V3(0.045, 0.0, -0.0779423),
						new V3(0.045, 0.0, 0.0779423),
						new V3(0.0458133, -0.0630567, 0.045),
						new V3(0.0458133, -0.0630566, -0.045),
						new V3(0.0458133, 0.0630566, -0.045),
						new V3(0.0458133, 0.0630566, 0.045),
						new V3(0.0460407, -0.1552918, -0.0844192),
						new V3(0.0468475, 0.5556849, 0.057218),
						new V3(0.0470443, 0.1591367, 0.2269858),
						new V3(0.0477355, 0.1624453, 0.1825294),
						new V3(0.0491819, 0.27113, 0.2138362),
						new V3(0.0502372, 0.0650098, 0.228932),
						new V3(0.0510981, -0.0703306, 0.0232937),
						new V3(0.0510981, -0.0703305, -0.0232937),
						new V3(0.0510981, 0.0703306, -0.0232937),
						new V3(0.0510981, 0.0703306, 0.0232937),
						new V3(0.0514855, -0.0374064, 0.0636396),
						new V3(0.0514855, -0.0374063, -0.0636396),
						new V3(0.0514855, 0.0374064, -0.0636396),
						new V3(0.0514855, 0.0374064, 0.0636396),
						new V3(0.0529007, -0.0728116, 0.0),
						new V3(0.0529007, 0.0728115, 0.0),
						new V3(0.0535556, -0.1296421, 0.0348708),
						new V3(0.0540551, 0.334638, 0.1855225),
						new V3(0.0553761, -0.1601771, -0.0677492),
						new V3(0.0578655, 0.2578758, 0.2363117),
						new V3(0.059644, 0.2542671, 0.1823928),
						new V3(0.0600941, -0.1479489, 0.0279914),
						new V3(0.060205, -0.1558157, -0.081913),
						new V3(0.0605248, -0.0196657, -0.0636396),
						new V3(0.0605248, -0.0196657, 0.0636396),
						new V3(0.0605248, 0.0196657, -0.0636396),
						new V3(0.0605248, 0.0196657, 0.0636396),
						new V3(0.0608764, 0.1077461, 0.1841368),
						new V3(0.0612382, 0.3157727, 0.2052047),
						new V3(0.0625885, 0.1980725, 0.1828055),
						new V3(0.0630566, 0.0458133, -0.045),
						new V3(0.0630566, 0.0458133, 0.045),
						new V3(0.0630567, -0.0458134, 0.045),
						new V3(0.0630567, -0.0458133, -0.045),
						new V3(0.0636396, 0.0, -0.0636396),
						new V3(0.0636396, 0.0, 0.0636396),
						new V3(0.0652404, -0.1120044, 0.0546705),
						new V3(0.0672919, 0.2111274, 0.2101246),
						new V3(0.0703305, 0.0510981, -0.0232937),
						new V3(0.0703305, 0.0510981, 0.0232937),
						new V3(0.0703306, -0.0510982, 0.0232937),
						new V3(0.0703306, -0.0510981, -0.0232937),
						new V3(0.0728115, 0.0529007, 0.0),
						new V3(0.0728116, -0.0529007, 0.0),
						new V3(0.0738772, 0.2667366, 0.2127156),
						new V3(0.0741276, -0.0240855, -0.045),
						new V3(0.0741276, -0.0240855, 0.045),
						new V3(0.0741276, 0.0240855, -0.045),
						new V3(0.0741276, 0.0240855, 0.045),
						new V3(0.0779423, 0.0, -0.045),
						new V3(0.0779423, 0.0, 0.045),
						new V3(0.0826786, -0.0268639, -0.0232937),
						new V3(0.0826786, -0.0268639, 0.0232937),
						new V3(0.0826786, 0.0268639, -0.0232937),
						new V3(0.0826786, 0.0268639, 0.0232937),
						new V3(0.0838473, -0.1243287, 0.0470695),
						new V3(0.0840735, 0.2000699, 0.2563219),
						new V3(0.0855951, -0.0278115, 0.0),
						new V3(0.0855951, 0.0278115, 0.0),
						new V3(0.0869334, 0.0, -0.0232937),
						new V3(0.0869334, 0.0, 0.0232937),
						new V3(0.09, 0.0, 0.0),
						new V3(0.0962429, 0.1829635, 0.2355301),
						new V3(0.0974926, 0.2221059, 0.2552724),
						new V3(0.0982649, 0.2340858, 0.2314111),
						new V3(0.098314, 0.3043956, 0.1854077),
						new V3(0.0987962, -0.0301575, 0.2249605),
						new V3(0.1016891, 0.2966813, 0.2235804),
						new V3(0.1029389, 0.5588484, 0.0522652),
						new V3(0.1060899, 0.0976261, 0.2257177),
						new V3(0.1069436, 0.1384855, 0.1856838),
						new V3(0.1071796, 0.5653967, -0.091824),
						new V3(0.1084515, 0.5825523, -0.0731914),
						new V3(0.1171204, 0.3277625, 0.2228915),
						new V3(0.1186726, 0.5409819, 0.0557418),
						new V3(0.1207684, 0.461017, 0.2203798),
						new V3(0.1255504, 0.2536374, 0.1830434),
						new V3(0.1263181, -0.1318929, 0.0215765),
						new V3(0.1326623, 0.2959383, 0.2170368),
						new V3(0.1344628, 0.2014302, 0.1851371),
						new V3(0.1442829, -0.1144865, 0.0280543),
						new V3(0.1447381, -0.0110217, 0.222293),
						new V3(0.1478227, -0.1062212, 0.0522027),
						new V3(0.1492666, 0.240002, 0.2505466),
						new V3(0.1575493, -0.124791, -0.0847719),
						new V3(0.1612933, 0.2355988, 0.2228887),
						new V3(0.1685206, 0.5486274, -0.0869148),
						new V3(0.1695931, -0.0772456, 0.0546187),
						new V3(0.1780504, -0.0933334, -0.0942646),
						new V3(0.1780726, 0.4435613, 0.1695246),
						new V3(0.1888125, 0.4086056, 0.2228971),
						new V3(0.1909847, 0.5426965, 0.027308),
						new V3(0.2042068, -0.0880276, 0.0279313),
						new V3(0.2043028, 0.4956478, 0.0520548),
						new V3(0.2055057, 0.5533628, 0.0224564),
						new V3(0.2057786, -0.0509907, 0.0564662),
						new V3(0.2099829, -0.0972793, 0.023211),
						new V3(0.2103837, 0.5642159, -0.0681267),
						new V3(0.2104475, -0.0796688, 0.0508713),
						new V3(0.2138891, 0.0500634, 0.2256276),
						new V3(0.218895, 0.5256762, -0.0843402),
						new V3(0.2193921, 0.5233466, 0.0467359),
						new V3(0.2239994, 0.545582, -0.0834272),
						new V3(0.2260338, 0.5437395, 0.0229317),
						new V3(0.2261519, 0.5247538, 0.0255668),
						new V3(0.2280927, 0.548679, 0.0116054),
						new V3(0.228228, 0.5531856, -0.0756812),
						new V3(0.2326165, 0.3468958, 0.2207814),
						new V3(0.2387959, 0.3703783, 0.1643478),
						new V3(0.2497057, 0.1004206, 0.2208089),
						new V3(0.2502272, -0.0550692, -0.0890605),
						new V3(0.2620029, -0.0715165, 0.0285188),
						new V3(0.2623817, 0.2636836, 0.221063),
						new V3(0.2633755, -0.0416037, 0.0501908),
						new V3(0.2636167, 0.1523424, 0.2231593),
						new V3(0.2644898, 0.3054633, 0.1801051),
						new V3(0.2648124, -0.0023677, 0.0523472),
						new V3(0.2648146, -0.0706947, -0.0868138),
						new V3(0.2656435, 0.4872275, -0.0857015),
						new V3(0.2668564, -0.0472147, 0.0307735),
						new V3(0.2669424, -0.0759885, -0.0813256),
						new V3(0.2720591, -0.0626214, 0.0163914),
						new V3(0.2728585, 0.4272297, 0.052738),
						new V3(0.2729815, 0.4849644, 0.0249928),
						new V3(0.2830772, -0.0515958, 0.0304783),
						new V3(0.2855, 0.4669675, 0.046837),
						new V3(0.2860315, -0.058951, -0.0805765),
						new V3(0.2866638, -0.0243177, 0.0292128),
						new V3(0.2901912, 0.4922555, -0.0721142),
						new V3(0.29041, -0.0515, 0.0172548),
						new V3(0.3031871, 0.469607, 0.0228962),
						new V3(0.307278, 0.4351335, -0.0946721),
						new V3(0.309482, 0.4234193, 0.0528256),
						new V3(0.3131448, 0.01312, -0.0924579),
						new V3(0.3146183, 0.4617253, -0.0810385),
						new V3(0.3152138, -0.0144607, 0.0199117),
						new V3(0.3160993, 0.4345234, -0.0861032),
						new V3(0.3257372, 0.0211296, 0.0272342),
						new V3(0.3282094, 0.035771, 0.0519564),
						new V3(0.3317323, 0.1065212, 0.0521285),
						new V3(0.3338207, 0.3059256, 0.0544054),
						new V3(0.3411167, 0.0180669, -0.0792945),
						new V3(0.3486024, 0.1761963, 0.0520519),
						new V3(0.3544421, 0.0425925, 0.0201878),
						new V3(0.3554261, 0.3815881, 0.0252854),
						new V3(0.357618, 0.0721239, 0.0445683),
						new V3(0.3577729, 0.3679454, 0.0468232),
						new V3(0.3593647, 0.401366, 0.0163093),
						new V3(0.3598071, 0.4011151, -0.0777885),
						new V3(0.3703481, 0.1400548, -0.0945901),
						new V3(0.3711303, 0.2999283, -0.0939368),
						new V3(0.3725275, 0.3971842, 0.0147049),
						new V3(0.3739247, 0.10521, 0.0267501),
						new V3(0.3748693, 0.3778639, 0.0145652),
						new V3(0.3750834, 0.3902865, -0.0762034),
						new V3(0.3759296, 0.3814085, -0.0712917),
						new V3(0.3780501, 0.3658815, -0.0866307),
						new V3(0.3798363, 0.315844, 0.0253644),
						new V3(0.3824706, 0.3504233, 0.0189852),
						new V3(0.3842075, 0.3475746, -0.081741),
						new V3(0.3846354, 0.3683415, 0.0173533),
						new V3(0.3846698, 0.1561773, 0.0469299),
						new V3(0.3877102, 0.143762, 0.0288439),
						new V3(0.3882687, 0.1149242, 0.0216501),
						new V3(0.3893832, 0.2365285, 0.044164),
						new V3(0.3915009, 0.2132133, 0.0266956),
						new V3(0.3967358, 0.1236989, -0.0842201),
						new V3(0.3977098, 0.1439392, 0.0214615),
						new V3(0.3985783, 0.1203951, 0.0188784),
						new V3(0.3989792, 0.1488958, -0.0842854),
						new V3(0.4013926, 0.2585695, -0.0812518),
						new V3(0.4037883, 0.2414213, 0.0154292),
						new V3(0.4038697, 0.1523619, 0.0232216),
						new V3(0.4052916, 0.1510066, -0.076206)
					}
				},
				new RexPoseSolver.Leg
				{
					MaxLowerExtension = 4.0,
					Label = "RearC",
					Driver = "Foot.Back.r",
					Hip = new V3(-0.05935787409543991, 1.1024725437164307, 1.5800000429153442),
					Knee = new V3(-0.01767924427986145, 1.6083617210388184, 0.49000000953674316),
					Foot = new V3(-1.0728835775353218E-07, 1.832666039466858, 0.0949999988079071),
					ContactLocal = new V3(1.4879629994801746E-07, 1.5331807973809892, 0.020047576355472163),
					ContactIdle = new V3(1.0058864786589496, 1.0058876307904365, 0.019438154801437277),
					UpperRest = new M4(new double[16]
					{
						0.9991542377255793, -0.022117235637602622, 0.03466292211346003, -0.05935787409543991, -0.03466292288062019, -0.9065218539691924, 0.4207335648425146, 1.1024725437164307, 0.022117229878970652, -0.4215792675626983,
						-0.9065218540775275, 1.5800000429153442, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						0.9989872467647336, -0.022627664473342968, 0.03889048240331494, -0.01767924427986145, -0.03889048240331494, -0.8689192650457724, 0.49342362883981705, 1.6083617210388184, 0.022627664473342968, -0.49443638207508345,
						-0.8689192650457724, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						1.0, 0.0, 0.0, -1.0728835775353218E-07, 0.0, 1.0, 0.0, 1.832666039466858, 0.0, 0.0,
						1.0, 0.0949999988079071, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						-0.7071071788333751, 0.7071064679124435, 1.1465437935954844E-07, 4.6993756887227234E-08, -0.09226182894182748, -0.09226176059782087, -0.991451352348117, 1.7380626722552521, -0.7010613220499071, -0.7010620491832655,
						0.13047806704847514, 1.4278890717408037, 0.0, 0.0, 0.0, 1.0
					}).Rotation(),
					LowerRigidRest = new M4(new double[16]
					{
						0.9989872467647336, -0.022627664473342968, 0.03889048240331494, -0.01767924427986145, -0.03889048240331494, -0.8689192650457724, 0.49342362883981705, 1.6083617210388184, 0.022627664473342968, -0.49443638207508345,
						-0.8689192650457724, 0.49000000953674316, 0.0, 0.0, 0.0, 1.0
					}),
					FootSupport = new V3[495]
					{
						new V3(-0.3199882, -0.1609989, -0.0735193),
						new V3(-0.3180429, -0.1025249, 0.0214093),
						new V3(-0.315105, -0.190414, -0.079057),
						new V3(-0.3140875, -0.0620941, -0.0868715),
						new V3(-0.3127585, -0.032321, 0.0227296),
						new V3(-0.3127534, -0.178748, 0.010755),
						new V3(-0.3121245, -0.1985637, 0.006688),
						new V3(-0.3118829, -0.1683065, 0.0281741),
						new V3(-0.3091931, -0.1894488, -0.0869205),
						new V3(-0.3074103, -0.1951893, 0.0258563),
						new V3(-0.3059566, -0.0790837, 0.0282014),
						new V3(-0.3040936, -0.1789478, 0.0248448),
						new V3(-0.3036668, 0.038635, -0.0812244),
						new V3(-0.3025537, -0.1376514, 0.0277998),
						new V3(-0.3024539, -0.0385496, 0.0277588),
						new V3(-0.3021198, -0.1240758, 0.0473644),
						new V3(-0.3014617, 0.0206977, 0.0191707),
						new V3(-0.301009, 0.0437792, 0.0140869),
						new V3(-0.296749, -0.063935, -0.0946857),
						new V3(-0.2949408, -0.1902106, 0.0305495),
						new V3(-0.2944142, 0.0416675, 0.0282807),
						new V3(-0.2937057, 0.0512847, -0.0777504),
						new V3(-0.2920338, 0.0371391, -0.0906213),
						new V3(-0.2893131, 0.019919, 0.0283298),
						new V3(-0.2892541, 0.0042008, 0.0483976),
						new V3(-0.2878779, 0.0631499, -0.0869836),
						new V3(-0.2872135, 0.0693811, 0.0131193),
						new V3(-0.2865358, -0.2047928, 0.0477059),
						new V3(-0.2825812, 0.0639555, 0.0281085),
						new V3(-0.2811073, 0.0074529, -0.0949837),
						new V3(-0.2806274, -0.2536884, 0.0200044),
						new V3(-0.2804798, -0.0972773, 0.0548043),
						new V3(-0.2791413, 0.0448142, -0.0889485),
						new V3(-0.2768934, -0.2103897, -0.094825),
						new V3(-0.2765674, -0.1361758, 0.0560287),
						new V3(-0.2738358, 0.0564561, 0.031968),
						new V3(-0.2712553, -0.2494701, 0.0277233),
						new V3(-0.2702133, -0.2730811, -0.0821921),
						new V3(-0.2630199, 0.0122289, 0.054293),
						new V3(-0.2575746, 0.0736953, 0.0493212),
						new V3(-0.2506572, 0.1126599, -0.0833289),
						new V3(-0.2487795, -0.2230619, 0.0574283),
						new V3(-0.24412, -0.2932312, 0.028095),
						new V3(-0.2435955, 0.1023026, 0.0278381),
						new V3(-0.2395268, -0.2887652, 0.0528801),
						new V3(-0.2263942, 0.1448923, 0.020417),
						new V3(-0.224098, -0.3339662, 0.0204581),
						new V3(-0.2173555, 0.0994162, 0.0549546),
						new V3(-0.2170727, -0.2754065, 0.0567258),
						new V3(-0.2167767, -0.3184374, -0.0866555),
						new V3(-0.2045061, 0.003957, 0.1765107),
						new V3(-0.204093, 0.1473205, 0.0278407),
						new V3(-0.2003716, -0.0800023, 0.2311486),
						new V3(-0.198884, -0.3647092, 0.022899),
						new V3(-0.1970925, -0.3649718, -0.0842203),
						new V3(-0.1903066, -0.1613803, 0.2297218),
						new V3(-0.1890974, -0.3508742, 0.0320553),
						new V3(-0.1881165, -0.2234801, 0.1633474),
						new V3(-0.1863439, -0.3714551, -0.0800466),
						new V3(-0.1828298, -0.3812237, 0.0171781),
						new V3(-0.1771899, 0.021224, 0.2314163),
						new V3(-0.1746494, -0.3492521, -0.0947652),
						new V3(-0.1738104, 0.1722688, 0.0494799),
						new V3(-0.1713679, -0.3860752, 0.0255338),
						new V3(-0.1675278, 0.1564086, 0.0546814),
						new V3(-0.1669883, 0.0760449, 0.1787357),
						new V3(-0.1653851, -0.3677864, 0.032654),
						new V3(-0.1623767, 0.2145521, 0.0168255),
						new V3(-0.1618978, -0.3882108, -0.0812845),
						new V3(-0.1597297, 0.1771728, -0.0946448),
						new V3(-0.1588871, -0.3697725, 0.0495894),
						new V3(-0.1578615, 0.2168254, -0.0763099),
						new V3(-0.1543577, -0.3739237, -0.0863301),
						new V3(-0.1491441, 0.2164933, -0.0841135),
						new V3(-0.1483532, -0.2324808, 0.2364292),
						new V3(-0.1453195, -0.2620518, 0.1908794),
						new V3(-0.1450341, 0.0743333, 0.231206),
						new V3(-0.1422282, 0.2257773, 0.0110777),
						new V3(-0.1275816, 0.2330324, 0.0256786),
						new V3(-0.1266377, 0.2081336, -0.0867045),
						new V3(-0.1260644, 0.2193884, 0.0305686),
						new V3(-0.1252416, 0.2348179, -0.0788001),
						new V3(-0.1173746, -0.4102469, -0.0845099),
						new V3(-0.1154747, -0.2744455, 0.2292736),
						new V3(-0.1078708, -0.3988189, 0.0480011),
						new V3(-0.1049503, 0.2288143, 0.0420672),
						new V3(-0.1014582, -0.4021641, -0.0868166),
						new V3(-0.1002464, 0.2060885, 0.0523718),
						new V3(-0.0938261, -0.3756049, 0.0554819),
						new V3(-0.09, 0.0, 0.0),
						new V3(-0.0869334, 0.0, -0.0232937),
						new V3(-0.0869334, 0.0, 0.0232937),
						new V3(-0.0855951, -0.0278116, 0.0),
						new V3(-0.0855951, 0.0278115, 0.0),
						new V3(-0.0830733, -0.1051899, 0.2334527),
						new V3(-0.0826785, -0.026864, -0.0232937),
						new V3(-0.0826785, -0.026864, 0.0232937),
						new V3(-0.0826785, 0.0268639, -0.0232937),
						new V3(-0.0826785, 0.0268639, 0.0232937),
						new V3(-0.0809351, -0.0414096, 0.2329252),
						new V3(-0.0798923, -0.4048441, -0.0947076),
						new V3(-0.0779423, 0.0, -0.045),
						new V3(-0.0779423, 0.0, 0.045),
						new V3(-0.0741276, -0.0240856, -0.045),
						new V3(-0.0741276, -0.0240856, 0.045),
						new V3(-0.0741276, 0.0240855, -0.045),
						new V3(-0.0741276, 0.0240855, 0.045),
						new V3(-0.0728116, 0.0529006, 0.0),
						new V3(-0.0728115, -0.0529007, 0.0),
						new V3(-0.0703306, -0.0510981, -0.0232937),
						new V3(-0.0703306, -0.0510981, 0.0232937),
						new V3(-0.0703306, 0.0510981, -0.0232937),
						new V3(-0.0703306, 0.0510981, 0.0232937),
						new V3(-0.0696172, -0.0085568, 0.2335373),
						new V3(-0.0688804, 0.2265741, -0.0946857),
						new V3(-0.0676146, 0.2593975, 0.0159155),
						new V3(-0.0673613, 0.1433276, 0.2239875),
						new V3(-0.0636396, 0.0, -0.0636396),
						new V3(-0.0636396, 0.0, 0.0636396),
						new V3(-0.0630567, -0.0458134, -0.045),
						new V3(-0.0630567, -0.0458134, 0.045),
						new V3(-0.0630567, 0.0458133, -0.045),
						new V3(-0.0630567, 0.0458133, 0.045),
						new V3(-0.0625157, -0.3073983, 0.230684),
						new V3(-0.0605249, -0.0196658, -0.0636396),
						new V3(-0.0605249, -0.0196657, 0.0636396),
						new V3(-0.0605249, 0.0196657, -0.0636396),
						new V3(-0.0605249, 0.0196657, 0.0636396),
						new V3(-0.0586907, -0.1734489, 0.2387362),
						new V3(-0.0583081, -0.084472, 0.1906335),
						new V3(-0.0529007, -0.0728116, 0.0),
						new V3(-0.0529007, 0.0728116, 0.0),
						new V3(-0.0514855, -0.0374065, -0.0636396),
						new V3(-0.0514855, -0.0374065, 0.0636396),
						new V3(-0.0514855, 0.0374064, -0.0636396),
						new V3(-0.0514855, 0.0374064, 0.0636396),
						new V3(-0.0510982, 0.0703306, -0.0232937),
						new V3(-0.0510982, 0.0703306, 0.0232937),
						new V3(-0.0510981, -0.0703307, -0.0232937),
						new V3(-0.0510981, -0.0703307, 0.0232937),
						new V3(-0.0499584, -0.1261995, 0.1932409),
						new V3(-0.0479442, 0.2476177, 0.0493952),
						new V3(-0.0458134, 0.0630567, -0.045),
						new V3(-0.0458134, 0.0630567, 0.045),
						new V3(-0.0458133, -0.0630567, -0.045),
						new V3(-0.0458133, -0.0630567, 0.045),
						new V3(-0.045, 0.0, -0.0779423),
						new V3(-0.045, 0.0, 0.0779423),
						new V3(-0.0427976, -0.0139058, -0.0779423),
						new V3(-0.0427976, -0.0139058, 0.0779423),
						new V3(-0.0427976, 0.0139057, -0.0779423),
						new V3(-0.0427976, 0.0139057, 0.0779423),
						new V3(-0.0374917, -0.425226, 0.0301612),
						new V3(-0.0374064, -0.0514856, -0.0636396),
						new V3(-0.0374064, -0.0514856, 0.0636396),
						new V3(-0.0374064, 0.0514855, -0.0636396),
						new V3(-0.0374064, 0.0514855, 0.0636396),
						new V3(-0.0368642, -0.4389965, -0.0841627),
						new V3(-0.0364058, -0.0264504, -0.0779423),
						new V3(-0.0364058, -0.0264504, 0.0779423),
						new V3(-0.0364058, 0.0264503, -0.0779423),
						new V3(-0.0364058, 0.0264504, 0.0779423),
						new V3(-0.0304707, -0.4270817, -0.0863738),
						new V3(-0.0287269, 0.1555155, 0.2279754),
						new V3(-0.0280468, -0.423903, 0.0498078),
						new V3(-0.0278115, -0.0855952, 0.0),
						new V3(-0.0278115, 0.0855951, 0.0),
						new V3(-0.0268639, -0.0826786, -0.0232937),
						new V3(-0.0268639, -0.0826786, 0.0232937),
						new V3(-0.0268639, 0.0826785, -0.0232937),
						new V3(-0.0268639, 0.0826785, 0.0232937),
						new V3(-0.0264503, -0.0364058, -0.0779423),
						new V3(-0.0264503, -0.0364058, 0.0779423),
						new V3(-0.0264503, 0.0364058, -0.0779423),
						new V3(-0.0264503, 0.0364058, 0.0779423),
						new V3(-0.0246861, 0.0023295, 0.1881707),
						new V3(-0.0240855, -0.0741276, -0.045),
						new V3(-0.0240855, -0.0741276, 0.045),
						new V3(-0.0240855, 0.0741275, -0.045),
						new V3(-0.0240855, 0.0741275, 0.045),
						new V3(-0.0233061, -0.1616203, 0.1909124),
						new V3(-0.0232937, 0.0, -0.0869333),
						new V3(-0.0232937, 0.0, 0.0869334),
						new V3(-0.0221536, -0.0071983, -0.0869333),
						new V3(-0.0221536, -0.0071982, 0.0869334),
						new V3(-0.0221536, 0.007198, -0.0869333),
						new V3(-0.0221536, 0.0071981, 0.0869334),
						new V3(-0.0221245, 0.2627427, 0.0251893),
						new V3(-0.0196657, -0.0605249, -0.0636396),
						new V3(-0.0196657, -0.0605248, 0.0636396),
						new V3(-0.0196657, 0.0605249, -0.0636396),
						new V3(-0.0196657, 0.0605249, 0.0636396),
						new V3(-0.018845, -0.0136917, -0.0869333),
						new V3(-0.018845, -0.0136917, 0.0869333),
						new V3(-0.018845, 0.0136916, -0.0869333),
						new V3(-0.018845, 0.0136916, 0.0869334),
						new V3(-0.0139058, -0.0427976, -0.0779423),
						new V3(-0.0139058, -0.0427976, 0.0779423),
						new V3(-0.0139058, 0.0427975, -0.0779423),
						new V3(-0.0139058, 0.0427975, 0.0779423),
						new V3(-0.0136917, -0.018845, -0.0869333),
						new V3(-0.0136917, -0.018845, 0.0869333),
						new V3(-0.0136917, 0.0188449, -0.0869333),
						new V3(-0.0136917, 0.0188449, 0.0869334),
						new V3(-0.011715, 0.2696075, -0.0841792),
						new V3(-0.0071982, -0.0221537, -0.0869333),
						new V3(-0.0071982, -0.0221536, 0.0869333),
						new V3(-0.0071982, 0.0221536, -0.0869333),
						new V3(-0.0071982, 0.0221536, 0.0869334),
						new V3(-0.0068216, 0.0578248, 0.2339037),
						new V3(-0.00255, -0.1459037, 0.2416033),
						new V3(-0.000738, 0.276371, 0.0197147),
						new V3(0.0, -0.0900001, 0.0),
						new V3(0.0, -0.0869334, -0.0232937),
						new V3(0.0, -0.0869334, 0.0232937),
						new V3(0.0, -0.0779423, -0.045),
						new V3(0.0, -0.0779423, 0.045),
						new V3(0.0, -0.0636397, -0.0636396),
						new V3(0.0, -0.0636397, 0.0636396),
						new V3(0.0, -0.045, -0.0779423),
						new V3(0.0, -0.045, 0.0779423),
						new V3(0.0, -0.0232938, -0.0869333),
						new V3(0.0, -0.0232938, 0.0869333),
						new V3(0.0, -1E-07, -0.09),
						new V3(0.0, 0.0, 0.09),
						new V3(0.0, 0.0232937, -0.0869333),
						new V3(0.0, 0.0232937, 0.0869334),
						new V3(0.0, 0.0449999, -0.0779423),
						new V3(0.0, 0.0449999, 0.0779423),
						new V3(0.0, 0.0636396, -0.0636396),
						new V3(0.0, 0.0636396, 0.0636396),
						new V3(0.0, 0.0779422, -0.045),
						new V3(0.0, 0.0779423, 0.045),
						new V3(0.0, 0.0869333, -0.0232937),
						new V3(0.0, 0.0869333, 0.0232937),
						new V3(0.0, 0.09, 0.0),
						new V3(0.002941, 0.2552208, -0.0866061),
						new V3(0.0048263, -0.1091298, 0.2459025),
						new V3(0.0059168, 0.1691382, 0.2217243),
						new V3(0.0071982, -0.0221537, -0.0869333),
						new V3(0.0071982, -0.0221536, 0.0869333),
						new V3(0.0071982, 0.0221536, -0.0869333),
						new V3(0.0071982, 0.0221536, 0.0869334),
						new V3(0.0099357, 0.0265796, 0.1878237),
						new V3(0.0131534, -0.4031404, 0.0575458),
						new V3(0.0136917, -0.018845, -0.0869333),
						new V3(0.0136917, -0.018845, 0.0869333),
						new V3(0.0136917, 0.0188449, -0.0869333),
						new V3(0.0136917, 0.0188449, 0.0869334),
						new V3(0.0139058, -0.0427976, -0.0779423),
						new V3(0.0139058, -0.0427976, 0.0779423),
						new V3(0.0139058, 0.0427975, -0.0779423),
						new V3(0.0139058, 0.0427975, 0.0779423),
						new V3(0.0180159, -0.4565113, 0.0203271),
						new V3(0.0180275, -0.4371778, 0.0309046),
						new V3(0.01835, -0.0974553, 0.2403926),
						new V3(0.018845, -0.0136917, -0.0869333),
						new V3(0.018845, -0.0136917, 0.0869333),
						new V3(0.018845, 0.0136916, -0.0869333),
						new V3(0.018845, 0.0136916, 0.0869334),
						new V3(0.0196657, -0.0605249, -0.0636396),
						new V3(0.0196657, -0.0605248, 0.0636396),
						new V3(0.0196657, 0.0605248, -0.0636396),
						new V3(0.0196657, 0.0605248, 0.0636396),
						new V3(0.0198045, -0.3300703, 0.2338463),
						new V3(0.0211022, -0.4604119, -0.0759766),
						new V3(0.0221536, -0.0071981, -0.0869333),
						new V3(0.0221536, -0.0071981, 0.0869334),
						new V3(0.0221536, 0.007198, -0.0869333),
						new V3(0.0221536, 0.0071981, 0.0869334),
						new V3(0.0232937, 0.0, -0.0869333),
						new V3(0.0232937, 0.0, 0.0869334),
						new V3(0.0240855, -0.0741276, -0.045),
						new V3(0.0240855, -0.0741276, 0.045),
						new V3(0.0240855, 0.0741275, -0.045),
						new V3(0.0240855, 0.0741275, 0.045),
						new V3(0.0259291, -0.1925668, 0.1932848),
						new V3(0.0264503, -0.0364058, -0.0779423),
						new V3(0.0264503, -0.0364058, 0.0779423),
						new V3(0.0264503, 0.0364058, -0.0779423),
						new V3(0.0264503, 0.0364058, 0.0779423),
						new V3(0.0268639, -0.0826786, -0.0232937),
						new V3(0.0268639, -0.0826786, 0.0232937),
						new V3(0.0268639, 0.0826785, -0.0232937),
						new V3(0.0268639, 0.0826785, 0.0232937),
						new V3(0.0278115, -0.0855952, 0.0),
						new V3(0.0278115, 0.0855951, 0.0),
						new V3(0.027985, -0.4563326, 0.0241042),
						new V3(0.0342041, 0.2729654, 0.0254873),
						new V3(0.0342512, 0.2385251, 0.0518605),
						new V3(0.0348045, -0.4312667, -0.0947242),
						new V3(0.0364058, -0.0264504, -0.0779423),
						new V3(0.0364058, -0.0264504, 0.0779423),
						new V3(0.0364058, 0.0264503, -0.0779423),
						new V3(0.0364058, 0.0264504, 0.0779423),
						new V3(0.0372396, -0.4525355, -0.0801203),
						new V3(0.0374064, -0.0514856, -0.0636396),
						new V3(0.0374064, -0.0514856, 0.0636396),
						new V3(0.0374064, 0.0514855, -0.0636396),
						new V3(0.0374064, 0.0514855, 0.0636396),
						new V3(0.0427975, -0.0139058, -0.0779423),
						new V3(0.0427975, -0.0139058, 0.0779423),
						new V3(0.0427975, 0.0139057, -0.0779423),
						new V3(0.0427975, 0.0139057, 0.0779423),
						new V3(0.045, 0.0, -0.0779423),
						new V3(0.045, 0.0, 0.0779423),
						new V3(0.045609, -0.2121601, 0.2443967),
						new V3(0.0458133, -0.0630566, -0.045),
						new V3(0.0458133, -0.0630566, 0.045),
						new V3(0.0458133, 0.0630565, -0.045),
						new V3(0.0458133, 0.0630566, 0.045),
						new V3(0.0468547, 0.2515504, -0.0947568),
						new V3(0.0510981, -0.0703305, -0.0232937),
						new V3(0.0510981, -0.0703305, 0.0232937),
						new V3(0.0510981, 0.0703305, -0.0232937),
						new V3(0.0510981, 0.0703305, 0.0232937),
						new V3(0.0514855, -0.0374065, -0.0636396),
						new V3(0.0514855, -0.0374065, 0.0636396),
						new V3(0.0514855, 0.0374064, -0.0636396),
						new V3(0.0514855, 0.0374064, 0.0636396),
						new V3(0.0519838, -0.4552458, 0.0284257),
						new V3(0.0529007, -0.0728115, 0.0),
						new V3(0.0529007, 0.0728114, 0.0),
						new V3(0.053028, -0.4573623, -0.0840888),
						new V3(0.0538794, -0.4372814, -0.0868114),
						new V3(0.0567811, -0.3614382, 0.1567138),
						new V3(0.0574366, -0.1975934, 0.2471161),
						new V3(0.0577089, -0.1607989, 0.2327885),
						new V3(0.0605249, -0.0196658, -0.0636396),
						new V3(0.0605249, -0.0196657, 0.0636396),
						new V3(0.0605249, 0.0196657, -0.0636396),
						new V3(0.0605249, 0.0196657, 0.0636396),
						new V3(0.0628368, -0.4365907, 0.0303553),
						new V3(0.0630566, 0.0458133, -0.045),
						new V3(0.0630566, 0.0458133, 0.045),
						new V3(0.0630567, -0.0458134, -0.045),
						new V3(0.0630567, -0.0458134, 0.045),
						new V3(0.0633116, 0.270935, 0.0471565),
						new V3(0.0636396, 0.0, -0.0636396),
						new V3(0.0636396, 0.0, 0.0636396),
						new V3(0.0696869, 0.2610866, -0.0866119),
						new V3(0.0702967, 0.0624785, 0.2310009),
						new V3(0.0703305, 0.0510981, -0.0232937),
						new V3(0.0703305, 0.0510981, 0.0232937),
						new V3(0.0703306, -0.0510981, -0.0232937),
						new V3(0.0703306, -0.0510981, 0.0232937),
						new V3(0.0703842, -0.0791056, 0.2396135),
						new V3(0.0721915, 0.2885172, -0.0766136),
						new V3(0.0728115, -0.0529007, 0.0),
						new V3(0.0728115, 0.0529006, 0.0),
						new V3(0.0741275, -0.0240856, -0.045),
						new V3(0.0741275, -0.0240856, 0.045),
						new V3(0.0741275, 0.0240855, -0.045),
						new V3(0.0741275, 0.0240855, 0.045),
						new V3(0.0749856, 0.1910488, 0.154598),
						new V3(0.0767472, 0.2921557, 0.0130208),
						new V3(0.0774584, 0.2859461, 0.025643),
						new V3(0.0779423, 0.0, -0.045),
						new V3(0.0779423, 0.0, 0.045),
						new V3(0.0805695, 0.0311811, 0.1882994),
						new V3(0.0807207, -0.1932783, 0.1927628),
						new V3(0.0826785, -0.026864, -0.0232937),
						new V3(0.0826785, -0.026864, 0.0232937),
						new V3(0.0826785, 0.0268639, -0.0232937),
						new V3(0.0826785, 0.0268639, 0.0232937),
						new V3(0.083629, 0.2755749, 0.0278679),
						new V3(0.0855951, -0.0278116, 0.0),
						new V3(0.0855951, 0.0278115, 0.0),
						new V3(0.0869333, 0.0, -0.0232937),
						new V3(0.0869333, 0.0, 0.0232937),
						new V3(0.0889411, -0.1898487, 0.2416332),
						new V3(0.09, 0.0, 0.0),
						new V3(0.0901724, 0.1672306, 0.2260756),
						new V3(0.0930954, -0.0623335, 0.2523559),
						new V3(0.0954002, 0.2939434, 0.0118021),
						new V3(0.0970029, 0.2814376, -0.0867184),
						new V3(0.0974823, -0.4081319, 0.0549628),
						new V3(0.0998202, 0.2721297, 0.0441144),
						new V3(0.1019789, 0.2873723, -0.0786497),
						new V3(0.1051776, -0.1402314, 0.2362705),
						new V3(0.1070576, -0.3281732, 0.2363498),
						new V3(0.1120545, 0.2834858, 0.02039),
						new V3(0.1187782, -0.0804113, 0.2535668),
						new V3(0.1199171, 0.0133145, 0.1907809),
						new V3(0.1228704, -0.4271184, 0.0454539),
						new V3(0.1230963, -0.2087543, 0.2360302),
						new V3(0.1235555, -0.4216143, -0.094825),
						new V3(0.1278162, -0.0760061, 0.2499451),
						new V3(0.1292392, -0.2207044, 0.2405591),
						new V3(0.1318064, -0.424735, -0.0869261),
						new V3(0.1334359, 0.2575912, -0.0854773),
						new V3(0.1363241, -0.2342967, 0.2519678),
						new V3(0.1370261, 0.2289757, 0.0518796),
						new V3(0.1380624, -0.1561215, 0.1907837),
						new V3(0.1469013, -0.4380217, 0.0195426),
						new V3(0.1481664, -0.139869, 0.2295087),
						new V3(0.1490273, 0.2465908, -0.094746),
						new V3(0.1492649, 0.1552837, 0.220661),
						new V3(0.1499643, 0.171124, 0.154202),
						new V3(0.1513913, -0.1791301, 0.2313508),
						new V3(0.1542154, 0.0277579, 0.23266),
						new V3(0.154825, -0.1896312, 0.2374269),
						new V3(0.1551269, -0.421751, 0.0288138),
						new V3(0.1592319, 0.2642059, 0.0228224),
						new V3(0.1617084, -0.0780999, 0.1882173),
						new V3(0.1621061, -0.4366105, -0.0789967),
						new V3(0.1686311, -0.3107911, 0.2316432),
						new V3(0.168972, -0.1139456, 0.2412096),
						new V3(0.1775427, 0.2724344, 0.0150135),
						new V3(0.1905597, -0.380288, 0.0553428),
						new V3(0.1932902, -0.117715, 0.2336357),
						new V3(0.197008, -0.0501585, 0.2325125),
						new V3(0.1992779, 0.1223334, 0.2271005),
						new V3(0.2059832, 0.2073354, 0.0522458),
						new V3(0.21149, 0.2402448, 0.0495809),
						new V3(0.2126177, 0.2379367, -0.0866337),
						new V3(0.2208359, -0.3885877, 0.0526395),
						new V3(0.2335964, -0.2883384, 0.1733812),
						new V3(0.2350545, -0.262657, 0.2309243),
						new V3(0.2406409, -0.3512095, 0.0545281),
						new V3(0.2482438, 0.2413973, -0.084417),
						new V3(0.2488211, 0.0814849, 0.2257887),
						new V3(0.2497729, -0.4038458, -0.0813065),
						new V3(0.254557, -0.3980124, 0.0228006),
						new V3(0.2578975, 0.1106776, 0.1455237),
						new V3(0.2579925, 0.2172317, -0.0888338),
						new V3(0.2596045, -0.3757293, 0.0284585),
						new V3(0.2652416, -0.3857138, 0.0125673),
						new V3(0.2665478, -0.3878625, -0.0749434),
						new V3(0.2701553, 0.2148313, 0.0470199),
						new V3(0.271327, -0.3636439, -0.0874536),
						new V3(0.2760055, -0.3820145, 0.0228635),
						new V3(0.2783577, 0.2278258, 0.015921),
						new V3(0.2787373, 0.1570526, 0.0553153),
						new V3(0.2818322, -0.3806897, -0.0832855),
						new V3(0.2818486, -0.1843293, 0.2352401),
						new V3(0.2828861, 0.2221271, -0.0844087),
						new V3(0.2847066, 0.2094388, 0.0251402),
						new V3(0.2929656, 0.2233543, 0.0227157),
						new V3(0.2936709, 0.2268736, -0.0813148),
						new V3(0.2938156, -0.3419572, 0.0496221),
						new V3(0.2979424, 0.2292692, 0.0068191),
						new V3(0.298681, -0.2963312, 0.0550037),
						new V3(0.2990035, -0.0010473, 0.2263379),
						new V3(0.3011394, 0.2158744, -0.0813393),
						new V3(0.3072095, -0.0510874, 0.2308834),
						new V3(0.3115433, 0.2128074, 0.0120726),
						new V3(0.3134575, 0.1859402, 0.0224862),
						new V3(0.3138706, -0.1168689, 0.2208441),
						new V3(0.3149405, 0.2111918, -0.0720407),
						new V3(0.3208867, 0.1931004, -0.0849718),
						new V3(0.3243879, -0.3195571, 0.0253725),
						new V3(0.329494, 0.1617698, 0.0498296),
						new V3(0.3424883, -0.2855599, -0.0946722),
						new V3(0.3446938, -0.2302267, 0.0549328),
						new V3(0.3499499, -0.2857211, 0.0267037),
						new V3(0.350234, -0.3088395, -0.0841052),
						new V3(0.3513914, 0.1303225, -0.0947623),
						new V3(0.3526899, -0.2705095, 0.0520326),
						new V3(0.3582873, 0.1337287, 0.0227268),
						new V3(0.359601, 0.0419414, 0.0547142),
						new V3(0.3596622, 0.1544036, 0.0148958),
						new V3(0.3618257, -0.2899899, 0.0197585),
						new V3(0.373599, -0.151368, 0.0543204),
						new V3(0.3832512, -0.2337032, 0.0253043),
						new V3(0.3847598, -0.0720731, 0.0540224),
						new V3(0.3868242, 0.0844519, 0.0467247),
						new V3(0.3914634, -0.2078889, 0.0472688),
						new V3(0.396312, -0.2069509, 0.0322031),
						new V3(0.3970337, -0.2103786, -0.0902906),
						new V3(0.4053292, 0.0849111, 0.0130018),
						new V3(0.4053931, 0.0804489, -0.0871555),
						new V3(0.4071616, -0.2222058, 0.0229647),
						new V3(0.4077378, -0.181654, 0.0281768),
						new V3(0.4085983, 0.0411085, 0.0228199),
						new V3(0.4122916, -0.1374107, 0.0501141),
						new V3(0.4130081, 0.0119258, 0.0496001),
						new V3(0.4146875, -0.2201158, 0.011023),
						new V3(0.4151075, -0.2043037, 0.0160933),
						new V3(0.4188055, -0.2172527, -0.0843786),
						new V3(0.4210914, -0.2039801, -0.0769551),
						new V3(0.4212431, 0.0033199, 0.022899),
						new V3(0.4214747, -0.1255597, 0.0243911),
						new V3(0.4224315, -0.0831268, -0.0943169),
						new V3(0.4251121, -0.0341267, 0.0230357),
						new V3(0.425253, -0.1962318, 0.0126683),
						new V3(0.4257884, -0.1874674, 0.0206031),
						new V3(0.4259309, -0.0848116, 0.0228332),
						new V3(0.4278212, -0.1915029, -0.0861989),
						new V3(0.4290355, 0.0226593, 0.0224015),
						new V3(0.431603, 0.0226935, -0.0893913),
						new V3(0.4359416, -0.1078788, 0.0186707),
						new V3(0.4369753, 0.0191928, -0.0844222),
						new V3(0.4370549, 0.0191503, 0.011433),
						new V3(0.4423496, -0.0880828, -0.0832035)
					}
				}
			}, new M4(new double[16]
			{
				1.0, 2.9015241340125007E-35, 6.899199907119818E-14, -4.7344911990864204E-08, 6.899199670970217E-14, 1.343588707571352E-07, -0.9999999657714511, -2.8461159122730225E-07, -9.269687086483507E-21, 0.9999999657714511,
				1.343588707571352E-07, -3.2221779466823364E-08, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, 3.7E-08, 0.0, 0.0, -1.0, -8.9E-08, 0.0, 1.0,
				0.0, 1.181762759, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, 3.7E-08, 0.0, 0.0, -1.0, -8.9E-08, 0.0, 1.0,
				0.0, 1.181762759, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, 3.7E-08, 0.0, 0.0, -1.0, -8.9E-08, 0.0, 1.0,
				0.0, 1.913594071, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, -0.18000000715255737, 0.0, 0.9999999403953534, 5.960464832810388E-08, 0.22499999403953552, 0.0, -5.960464832810388E-08,
				0.9999999403953534, 4.619999885559082, 0.0, 0.0, 0.0, 1.0
			}));
			rexPoseSolver.AnchorPlantToPlatform = true;
			rexPoseSolver.PlantRotationScale = 0.0;
			rexPoseSolver.UseAirborneRetraction = true;
			rexPoseSolver.RigidPlant = true;
			rexPoseSolver.Parts = new RexPoseSolver.RigidPart[0];
			rexPoseSolver.Attachments = new RexPoseSolver.RigidAttachment[1]
			{
				new RexPoseSolver.RigidAttachment
				{
					Name = "REX_Launcher",
					Driver = "WeaponPlatform",
					Rest = new M4(new double[16]
					{
						-1.000000000001295, -1.5099577931727816E-07, 1.4999596051229725E-15, -1.1576858758926392, -1.5099578831713537E-07, 0.9999999403940488, -1.6093234513907594E-06, -2.13071346282959, 2.4150117556799076E-13, -1.6093238350834662E-06,
						-0.9999997019767877, 3.3032772541046143, 0.0, 0.0, 0.0, 1.0
					}),
					DriverBindInverse = new M4(new double[16]
					{
						-1.0, 5.9602920196687346E-08, 1.723551048066511E-13, -1.1576857566834875, -5.96029394728248E-08, -1.000000391856356, 5.56419323701688E-07, -1.5947161595901165, 2.055193309372788E-13, 5.564191779811966E-07,
						1.000000153437769, -2.9882766639832803, 0.0, 0.0, 0.0, 1.0
					}),
					AnchorRest = new M4(new double[16]
					{
						-0.9999999999999977, 1.3170649846098053E-08, -3.5895305078818453E-08, -1.1576858836796606, 3.589531334246338E-08, -1.2649967637183044E-06, -0.9999996582080833, -2.130713430999102, -1.317069204440036E-08, -0.9999998966265546,
						1.2649967865395322E-06, 3.303277340321643, 0.0, 0.0, 0.0, 1.0
					}),
					MountDriver = "PlatformBase",
					MountDriverIdleInverse = new M4(new double[16]
					{
						1.0, 0.0, 0.0, -3.7E-08, 0.0, 0.0, 1.0, -1.181762759, 0.0, -1.0,
						0.0, -8.9E-08, 0.0, 0.0, 0.0, 1.0
					}),
					DriverRelativeIdleInverse = new M4(new double[16]
					{
						-0.9999704450460101, -0.007709482281820093, 0.0001108195518793025, -0.9902624518329439, -0.00011104991372972304, 0.02878560365988425, 0.9995850757669612, -0.6817822109099685, -0.007709576740992418, 0.9995570828141153,
						-0.028785144411428865, -0.8714903810957825, 0.0, 0.0, 0.0, 1.0
					}),
					MountRest = new M4(new double[16]
					{
						-0.9999702752703911, 0.007709489337724104, -0.00011112969736406825, -1.85, -0.00011084360996288379, -0.028785818392575747, -0.9995855963213774, -0.5, -0.007709493456268594, -0.999555871591789,
						0.028785817289536626, 3.0, 0.0, 0.0, 0.0, 1.0
					}),
					MountRotationScale = 0.5
				}
			};
			rexPoseSolver.Links = new RexPoseSolver.DrivenLink[1]
			{
				new RexPoseSolver.DrivenLink
				{
					Name = "REX_LauncherSupport",
					StartDriver = "PlatformBase",
					EndDriver = "WeaponPlatform",
					Rest = new M4(new double[16]
					{
						-0.7083270113562463, 0.705617779833343, 0.019399562546772203, -1.2000001668930054, -0.019399564859380547, 0.008012929093517585, -0.9997795667676375, 0.6000001430511475, -0.705617779833343, -0.7085473254055827,
						0.008012928138302, 3.2857987880706787, 0.0, 0.0, 0.0, 1.0
					}),
					StartLocal = new V3(-1.2000001668930054, 1.5182374715805054, -0.6000000834465027),
					EndLocal = new V3(2.499471207784154E-08, -0.014000177383422852, 0.31499963998794556),
					RestStart = new V3(-1.2000001668930054, 0.6000001430511475, 3.2857987880706787),
					RestEnd = new V3(-1.1576858758926392, -1.5807135105133057, 3.303276538848877),
					EndHelper = "REX_Launcher",
					EndHelperRestInverse = new M4(new double[16]
					{
						-0.9999999999986823, -1.5099578831693814E-07, 2.415011755675185E-13, -1.1576861976206703, -1.5099579731718212E-07, 1.000000059603342, -1.6093240269277318E-06, 2.130718731064984, 1.4999604993237446E-15, -1.609324410620612E-06,
						-1.0000002980207112, 3.303274809540465, 0.0, 0.0, 0.0, 1.0
					})
				}
			};
			return rexPoseSolver;
		}
	}
	public static class CactusRigConfig
	{
		public static readonly M4 RendererToAuthor = new M4(new double[16]
		{
			0.5, 0.0, 0.0, 0.0, 0.0, 0.49999998288572556, 6.717942824252532E-08, 0.0, 0.0, -6.717942824252532E-08,
			0.49999998288572556, 0.800000011920929, 0.0, 0.0, 0.0, 1.0
		});

		public static RexPoseSolver Build()
		{
			return new RexPoseSolver(new RexPoseSolver.Leg[3]
			{
				new RexPoseSolver.Leg
				{
					Label = "FrontL",
					Driver = "Foot.Front.l",
					Hip = new V3(-0.53, -0.5, 1.79),
					Knee = new V3(-0.99, -0.94, 1.1),
					Foot = new V3(-1.39, -1.39, 0.14),
					ContactLocal = new V3(-1.3846563284847235E-07, 1.5331812713846993, 0.020047935785438287),
					ContactIdle = new V3(-1.0058862908697492, -1.0058871240795575, 0.01943790492028058),
					UpperRest = new M4(new double[16]
					{
						0.5480934772696795, 0.6778596728878948, -0.4899999521798719, -0.5299999713897705, 0.4899998920769537, -0.7349998499448206, -0.4686956442532235, -0.5, -0.6778596355269357, 0.016789123524324042,
						-0.734999722257399, 1.7899999618530273, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						0.7933266407317046, 0.49601616597604353, -0.3529885261317727, -0.9900000095367432, 0.3529884610987928, -0.8471727037684982, -0.39711214496745484, -0.9399999976158142, -0.4960161531268543, 0.1904388084012335,
						-0.8471725756805828, 1.100000023841858, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						0.9999999880826637, 4.1418082164277474E-08, 5.111020528055165E-08, -1.3900001350115787, 1.2210625252571675E-07, 0.9999999981696062, -8.931780216662775E-08, -1.390000048804431, -8.195324128611039E-08, 1.0209338942114178E-07,
						1.000000092685953, 0.14000016151088834, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						0.70710650838484, -0.7071070543604773, 6.845061881888073E-07, -1.29012894087189E-06, 0.09226262681726324, 0.09226159652320774, -0.9914514621269739, 1.7380634741034313, 0.7010624682441953, 0.7010620531261419,
						0.13047836821247746, 1.4278901279404805, 0.0, 0.0, 0.0, 1.0
					}).Rotation()
				},
				new RexPoseSolver.Leg
				{
					Label = "FrontR",
					Driver = "Foot.Front.r",
					Hip = new V3(0.53, -0.5, 1.79),
					Knee = new V3(0.99, -0.94, 1.1),
					Foot = new V3(1.39, -1.39, 0.14),
					ContactLocal = new V3(1.1543029176941388E-07, 1.5331812079728975, 0.020047764865803175),
					ContactIdle = new V3(1.0058873793248644, -1.0058862281441765, 0.019437533244369077),
					UpperRest = new M4(new double[16]
					{
						0.5480934772696795, -0.6778596728878948, 0.4899999521798719, 0.5299999713897705, -0.4899998920769537, -0.7349998499448206, -0.4686956442532235, -0.5, 0.6778596355269357, 0.016789123524324042,
						-0.734999722257399, 1.7899999618530273, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						0.7933266407317046, -0.49601616597604353, 0.3529885261317727, 0.9900000095367432, -0.3529884610987928, -0.8471727037684982, -0.39711214496745484, -0.9399999976158142, 0.4960161531268543, 0.1904388084012335,
						-0.8471725756805828, 1.100000023841858, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						0.9999998724511271, -2.723691648566571E-07, -5.644415250605675E-08, 1.3900002095439161, -2.873006496068035E-09, 0.9999999346513473, -5.571321661698358E-08, -1.3899996673247847, 1.1205359677635479E-07, 7.874737840450729E-08,
						1.0000000820915216, 0.14000045866865443, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						0.7071066874816531, 0.7071069592644403, 1.8718868285259177E-07, -4.288331949345071E-07, -0.09226175849103574, 0.09226198519819152, -0.9914512662410887, 1.7380625736731845, -0.7010622746315261, 0.7010619704507328,
						0.1304780288614005, 1.4278898691667963, 0.0, 0.0, 0.0, 1.0
					}).Rotation()
				},
				new RexPoseSolver.Leg
				{
					Label = "RearC",
					Driver = "Foot.Back.r",
					Hip = new V3(0.0, 0.69, 1.79),
					Knee = new V3(0.0, 1.17, 1.06),
					Foot = new V3(0.0, 1.66, 0.14),
					ContactLocal = new V3(1.4879629994801746E-07, 1.5331807973809892, 0.020047576355472163),
					ContactIdle = new V3(1.0058864786589496, 1.0058876307904365, 0.019438154801437277),
					UpperRest = new M4(new double[16]
					{
						1.0, 0.0, 0.0, 0.0, 0.0, -0.8355556535541666, 0.5494061536433534, 0.6899999976158142, 0.0, -0.5494061536433534,
						-0.8355556535541666, 1.7899999618530273, 0.0, 0.0, 0.0, 1.0
					}),
					LowerRest = new M4(new double[16]
					{
						1.0, 0.0, 0.0, 0.0, 0.0, -0.88261841915849, 0.4700902219161698, 1.1699999570846558, 0.0, -0.4700902219161698,
						-0.88261841915849, 1.059999942779541, 0.0, 0.0, 0.0, 1.0
					}),
					FootRest = new M4(new double[16]
					{
						1.0000003908936435, -7.136207481666075E-09, -7.391923590845879E-08, 2.4502752049571086E-08, 9.036258537493973E-09, 1.0000001201469848, -9.947133293662601E-09, 1.6600002436209893, 8.195272362286263E-08, 2.9341619675920344E-08,
						1.0000000148089307, 0.13999985501268236, 0.0, 0.0, 0.0, 1.0
					}),
					IdleDriverInverse = new M4(new double[16]
					{
						-0.7071071788333751, 0.7071064679124435, 1.1465437935954844E-07, 4.6993756887227234E-08, -0.09226182894182748, -0.09226176059782087, -0.991451352348117, 1.7380626722552521, -0.7010613220499071, -0.7010620491832655,
						0.13047806704847514, 1.4278890717408037, 0.0, 0.0, 0.0, 1.0
					}).Rotation()
				}
			}, new M4(new double[16]
			{
				1.0, 2.9015241340125007E-35, 6.899199907119818E-14, -4.7344911990864204E-08, 6.899199670970217E-14, 1.343588707571352E-07, -0.9999999657714511, -2.8461159122730225E-07, -9.269687086483507E-21, 0.9999999657714511,
				1.343588707571352E-07, -3.2221779466823364E-08, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, -2.842170943040499E-14, 6.890792596898511E-14, -4.734491106891288E-08, 6.890792742907598E-14, 1.343588707571352E-07, -0.9999999657714511, -9.667778579550232E-08, 2.8421699199179017E-14, 0.9999999657714511,
				1.343588707571352E-07, 1.767561819813769, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, 3.7E-08, 0.0, 0.0, -1.0, -8.9E-08, 0.0, 1.0,
				0.0, 1.181762759, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				1.0, 0.0, 0.0, 3.7E-08, 0.0, 0.0, -1.0, -8.9E-08, 0.0, 1.0,
				0.0, 1.913594071, 0.0, 0.0, 0.0, 1.0
			}), new M4(new double[16]
			{
				0.9999999999999998, -1.514973558280571E-08, -2.329304008677558E-15, -4.7344932355375204E-08, 1.5149745919533347E-08, 0.9999999315429223, 1.2678422072511178E-07, -8.860436817607083E-08, -1.0965268978931913E-14, -1.2678422059096674E-07,
				0.9999999315429223, 2.0062991007999553, 0.0, 0.0, 0.0, 1.0
			}));
		}
	}
	public sealed class RexMuzzleProxyMarker : MonoBehaviour
	{
		public Transform Original;

		internal object Owner;
	}
	public sealed class CosmeticMuzzle
	{
		private const BindingFlags Fields = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;

		private static readonly FieldInfo PairsField = typeof(ChildLocator).GetField("transformPairs", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

		private static readonly Type PairType = ((PairsField != null && PairsField.FieldType.IsArray) ? PairsField.FieldType.GetElementType() : null);

		private static readonly FieldInfo NameField = ((PairType == null) ? null : PairType.GetField("name", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic));

		private static readonly FieldInfo TransformField = ((PairType == null) ? null : PairType.GetField("transform", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic));

		private readonly ChildLocator locator;

		private readonly int index;

		private readonly Transform original;

		private readonly Transform expected;

		private readonly RexMuzzleProxyMarker marker;

		private ReferenceOwnership<Transform> lease;

		private bool released;

		public readonly Transform Proxy;

		private static void ValidateLayout()
		{
			if (PairsField == null || PairsField.FieldType.GetArrayRank() != 1 || PairType == null || !PairType.IsValueType || NameField == null || TransformField == null || NameField.FieldType != typeof(string) || TransformField.FieldType != typeof(Transform))
			{
				throw new InvalidOperationException("REX ChildLocator layout changed");
			}
		}

		private Array Pairs()
		{
			if (!Object.op_Implicit((Object)(object)locator))
			{
				return null;
			}
			return (Array)PairsField.GetValue(locator);
		}

		private string Name(Array a, int i)
		{
			return (string)NameField.GetValue(a.GetValue(i));
		}

		private Transform Entry(Array a, int i)
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Expected O, but got Unknown
			return (Transform)TransformField.GetValue(a.GetValue(i));
		}

		public CosmeticMuzzle(ChildLocator locator, Transform parent)
		{
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a4: Expected O, but got Unknown
			//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_020e: Unknown result type (might be due to invalid IL or missing references)
			ValidateLayout();
			if (!Object.op_Implicit((Object)(object)locator) || !Object.op_Implicit((Object)(object)parent))
			{
				throw new InvalidOperationException("REX muzzle locator missing");
			}
			this.locator = locator;
			Array pairs = Pairs();
			if (pairs == null)
			{
				throw new InvalidOperationException("REX muzzle entries missing");
			}
			int[] array = (from i in Enumerable.Range(0, pairs.Length)
				where Name(pairs, i) == "MuzzleSyringe"
				select i).ToArray();
			if (array.Length != 1)
			{
				throw new InvalidOperationException("REX muzzle entry must be unique");
			}
			index = array[0];
			expected = Entry(pairs, index);
			if (!Object.op_Implicit((Object)(object)expected))
			{
				throw new InvalidOperationException("REX muzzle transform missing");
			}
			RexMuzzleProxyMarker component = ((Component)expected).GetComponent<RexMuzzleProxyMarker>();
			original = (Object.op_Implicit((Object)(object)component) ? component.Original : expected);
			if (!Object.op_Implicit((Object)(object)original) || Object.op_Implicit((Object)(object)((Component)original).GetComponent<RexMuzzleProxyMarker>()) || !original.IsChildOf(parent))
			{
				throw new InvalidOperationException("REX muzzle belongs to a different model");
			}
			RexMuzzleProxyMarker[] array2 = (from m in ((Component)parent).GetComponentsInChildren<RexMuzzleProxyMarker>(true)
				where Object.op_Implicit((Object)(object)m) && (Object)(object)m.Original == (Object)(object)original
				select m).ToArray();
			if (array2.Length > 1)
			{
				throw new InvalidOperationException("Duplicate REX muzzle anchors");
			}
			marker = array2.SingleOrDefault();
			if (Object.op_Implicit((Object)(object)marker) && marker.Owner != null)
			{
				throw new InvalidOperationException("REX muzzle anchor already leased");
			}
			if (!Object.op_Implicit((Object)(object)marker))
			{
				GameObject val = new GameObject("REXPack_CosmeticMuzzle");
				marker = val.AddComponent<RexMuzzleProxyMarker>();
				marker.Original = original;
			}
			Proxy = ((Component)marker).transform;
			marker.Owner = this;
			try
			{
				Proxy.SetParent(parent, false);
				Proxy.position = original.position;
				Proxy.rotation = original.rotation;
			}
			catch
			{
				Park();
				throw;
			}
		}

		private Transform Read()
		{
			Array array = Pairs();
			if (array == null || index >= array.Length || !(Name(array, index) == "MuzzleSyringe"))
			{
				return null;
			}
			return Entry(array, index);
		}

		private void Write(Transform value)
		{
			Array array = Pairs();
			if (array == null || index >= array.Length || Name(array, index) != "MuzzleSyringe")
			{
				throw new InvalidOperationException("REX muzzle slot changed");
			}
			Array array2 = (Array)array.Clone();
			object value2 = array2.GetValue(index);
			TransformField.SetValue(value2, value);
			array2.SetValue(value2, index);
			PairsField.SetValue(locator, array2);
		}

		public void Install()
		{
			if (released || lease != null || marker.Owner != this)
			{
				throw new InvalidOperationException("Invalid muzzle lease");
			}
			if (Read() != expected)
			{
				throw new InvalidOperationException("REX muzzle changed before activation");
			}
			lease = new ReferenceOwnership<Transform>(Read, Write, Proxy, original);
		}

		private void Park()
		{
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			if (!Object.op_Implicit((Object)(object)marker) || marker.Owner != this)
			{
				return;
			}
			try
			{
				if (Object.op_Implicit((Object)(object)Proxy) && Object.op_Implicit((Object)(object)original))
				{
					if (original.IsChildOf(Proxy))
					{
						throw new InvalidOperationException("Muzzle hierarchy changed into a cycle");
					}
					Proxy.SetParent(original, false);
					Proxy.localPosition = Vector3.zero;
					Proxy.localRotation = Quaternion.identity;
					Proxy.localScale = Vector3.one;
				}
			}
			catch (Exception ex)
			{
				Debug.LogWarning((object)("REX_MUZZLE_PARK_INCOMPLETE: " + ex.Message));
			}
			finally
			{
				marker.Owner = null;
			}
		}

		public void Release()
		{
			if (released)
			{
				return;
			}
			try
			{
				if (lease != null)
				{
					lease.Restore();
				}
			}
			catch (Exception ex)
			{
				Debug.LogWarning((object)("REX_MUZZLE_RESTORE_PARKED: " + ex.Message));
			}
			finally
			{
				Park();
				released = true;
			}
		}
	}
	public static class MaterialOwnership
	{
		public static T[] Restore<T>(T[] original, T[] owned, T[] current, int incomingSubmeshes)
		{
			if (current == null)
			{
				return current;
			}
			if (owned != null && current.SequenceEqual(owned))
			{
				return original;
			}
			if (incomingSubmeshes == 1 && owned != null && current.Length == owned.Length && current.Length > 1 && current.Skip(1).SequenceEqual(owned.Skip(1)))
			{
				return new T[1] { current[0] };
			}
			return current;
		}
	}
	public sealed class MeshPartition
	{
		public readonly int[] SourceVertices;

		public readonly int[] Triangles;

		public MeshPartition(int[] sourceTriangles)
		{
			Dictionary<int, int> dictionary = new Dictionary<int, int>();
			List<int> list = new List<int>();
			Triangles = new int[sourceTriangles.Length];
			for (int i = 0; i < sourceTriangles.Length; i++)
			{
				int num = sourceTriangles[i];
				if (num < 0)
				{
					throw new ArgumentOutOfRangeException("sourceTriangles");
				}
				if (!dictionary.TryGetValue(num, out var value))
				{
					value = list.Count;
					dictionary.Add(num, value);
					list.Add(num);
				}
				Triangles[i] = value;
			}
			SourceVertices = list.ToArray();
		}

		public T[] Copy<T>(T[] values)
		{
			T[] array = new T[SourceVertices.Length];
			for (int i = 0; i < array.Length; i++)
			{
				array[i] = values[SourceVertices[i]];
			}
			return array;
		}
	}
	public static class OfficePlantRigConfig
	{
		public static readonly M4 RendererToAuthor = new M4(new double[16]
		{
			0.5, 0.0, 0.0, 0.0, 0.0, 0.49999998288572556, 6.717942824252532E-08, 0.0, 0.0, -6.717942824252532E-08,
			0.49999998288572556, 0.800000011920929, 0.0, 0.0, 0.0, 1.0
		});

		public static RexPoseSolver Build()
		{
			RexPoseSolver rexPoseSolver = new RexPoseSolver(new RexPoseSolver.Leg[3]
			{
				new RexPoseSolver.Leg
				{
					MaxLowerExtension = 4.0,
					Label = "FrontL",
					Driver = "Foot.Back.l",
					Hip = new V3(-0.8550000190734863, 0.6570000052452087, 1.840000033378601),
					Knee = new V3(-1.3230000734329224, 0.9900000095367432, 0.5299999713897705),
					Foot = new V3(-1.4967000484466553, 1.0800000429153442, 0.10599999874830246),
					ContactLocal = new V3(-2.45310444846325E-07, 1.533180770450433, 0.020047817855199823),
					ContactIdle = new V3(-1.0058855513787697, 1.0058874387642083, 0.01943745938703785),
					UpperRest = new M4(new double[16]
					{
						0.9131660867101203, 0.2430607121943531, -0.32718368189827407, -0.8550000190734863, 0.32718370139994235, -0.9158345347284609, 0.2328038217469724, 0.6570000052452087, -0.2430607121943531, -0