using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion
{
	// Token: 0x020003EB RID: 1003
	[Token(Token = "0x20003EB")]
	public static class BipedNaming
	{
		// Token: 0x06002523 RID: 9507 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002523")]
		[Address(RVA = "0x7A3190", Offset = "0x7A2190", VA = "0x1807A3190")]
		public static Transform[] GetBonesOfType(BipedNaming.BoneType boneType, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002524 RID: 9508 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002524")]
		[Address(RVA = "0x7A2F60", Offset = "0x7A1F60", VA = "0x1807A2F60")]
		public static Transform[] GetBonesOfSide(BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002525 RID: 9509 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002525")]
		[Address(RVA = "0x7A3110", Offset = "0x7A2110", VA = "0x1807A3110")]
		public static Transform[] GetBonesOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002526 RID: 9510 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002526")]
		[Address(RVA = "0x7A3340", Offset = "0x7A2340", VA = "0x1807A3340")]
		public static Transform GetFirstBoneOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002527 RID: 9511 RVA: 0x00056A54 File Offset: 0x00054C54
		[Token(Token = "0x6002527")]
		[Address(RVA = "0x7A33F0", Offset = "0x7A23F0", VA = "0x1807A33F0")]
		public static Transform GetNamingMatch(Transform[] transforms, params string[][] namings)
		{
			int num = 0;
			int num2 = 0;
			int length = transforms.Length;
			if (num2 < length)
			{
				int num3 = 0;
				Transform transform = transforms[num];
				if (num3 < namings.Length)
				{
					string[] array = namings[num3];
					string name = transform.name;
					int num4 = 0;
					string[] array2 = BipedNaming.typeExclude;
					if (num4 < array2.Length)
					{
						string text = array2[num4];
						if (name.Contains(text))
						{
							goto IL_9C;
						}
						num4++;
					}
					int num5 = 0;
					if (num5 < array.Length)
					{
						string text2 = array[num5];
						if (!name.Contains(text2))
						{
							num5++;
						}
						num3++;
					}
					IL_9C:
					num++;
				}
				return transform;
			}
			throw new NullReferenceException();
		}

		// Token: 0x06002528 RID: 9512 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002528")]
		[Address(RVA = "0x7A2D50", Offset = "0x7A1D50", VA = "0x1807A2D50")]
		public static BipedNaming.BoneType GetBoneType(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002529 RID: 9513 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002529")]
		[Address(RVA = "0x7A2CB0", Offset = "0x7A1CB0", VA = "0x1807A2CB0")]
		public static BipedNaming.BoneSide GetBoneSide(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600252A RID: 9514 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600252A")]
		[Address(RVA = "0x7A2ED0", Offset = "0x7A1ED0", VA = "0x1807A2ED0")]
		public static Transform GetBone(Transform[] transforms, BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide = BipedNaming.BoneSide.Center, params string[][] namings)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600252B RID: 9515 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600252B")]
		[Address(RVA = "0x7A7670", Offset = "0x7A6670", VA = "0x1807A7670")]
		private static bool isLeft(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600252C RID: 9516 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600252C")]
		[Address(RVA = "0x7A7B00", Offset = "0x7A6B00", VA = "0x1807A7B00")]
		private static bool isRight(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600252D RID: 9517 RVA: 0x00056B0C File Offset: 0x00054D0C
		[Token(Token = "0x600252D")]
		[Address(RVA = "0x7A7D80", Offset = "0x7A6D80", VA = "0x1807A7D80")]
		private static bool isSpine(string boneName)
		{
			string[] array = BipedNaming.typeSpine;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeSpine;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x0600252E RID: 9518 RVA: 0x00056BA4 File Offset: 0x00054DA4
		[Token(Token = "0x600252E")]
		[Address(RVA = "0x7A7460", Offset = "0x7A6460", VA = "0x1807A7460")]
		private static bool isHead(string boneName)
		{
			string[] array = BipedNaming.typeHead;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeHead;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x0600252F RID: 9519 RVA: 0x00056C3C File Offset: 0x00054E3C
		[Token(Token = "0x600252F")]
		[Address(RVA = "0x7A7040", Offset = "0x7A6040", VA = "0x1807A7040")]
		private static bool isArm(string boneName)
		{
			string[] array = BipedNaming.typeArm;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeArm;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002530 RID: 9520 RVA: 0x00056CD4 File Offset: 0x00054ED4
		[Token(Token = "0x6002530")]
		[Address(RVA = "0x7A78F0", Offset = "0x7A68F0", VA = "0x1807A78F0")]
		private static bool isLeg(string boneName)
		{
			string[] array = BipedNaming.typeLeg;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeLeg;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002531 RID: 9521 RVA: 0x00056D6C File Offset: 0x00054F6C
		[Token(Token = "0x6002531")]
		[Address(RVA = "0x7A7F90", Offset = "0x7A6F90", VA = "0x1807A7F90")]
		private static bool isTail(string boneName)
		{
			string[] array = BipedNaming.typeTail;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeTail;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002532 RID: 9522 RVA: 0x00056E04 File Offset: 0x00055004
		[Token(Token = "0x6002532")]
		[Address(RVA = "0x7A7250", Offset = "0x7A6250", VA = "0x1807A7250")]
		private static bool isEye(string boneName)
		{
			string[] array = BipedNaming.typeEye;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeEye;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002533 RID: 9523 RVA: 0x00056E9C File Offset: 0x0005509C
		[Token(Token = "0x6002533")]
		[Address(RVA = "0x7A81A0", Offset = "0x7A71A0", VA = "0x1807A81A0")]
		private static bool isTypeExclude(string boneName)
		{
			string[] array = BipedNaming.typeExclude;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_58;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				return true;
			}
			IL_58:
			throw new NullReferenceException();
		}

		// Token: 0x06002534 RID: 9524 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002534")]
		[Address(RVA = "0x7A8460", Offset = "0x7A7460", VA = "0x1807A8460")]
		private static bool matchesNaming(string boneName, string[] namingConvention)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002535 RID: 9525 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002535")]
		[Address(RVA = "0x7A6F50", Offset = "0x7A5F50", VA = "0x1807A6F50")]
		private static bool excludesNaming(string boneName, string[] namingConvention)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002536 RID: 9526 RVA: 0x00056F08 File Offset: 0x00055108
		[Token(Token = "0x6002536")]
		[Address(RVA = "0x7A8380", Offset = "0x7A7380", VA = "0x1807A8380")]
		private static bool matchesLastLetter(string boneName, string[] namingConvention)
		{
			int num = 0;
			int length = namingConvention.Length;
			if (num < length)
			{
				string text = namingConvention[num];
				int stringLength = boneName.m_stringLength;
				if (!string.Equals(boneName.Substring(stringLength, 1), text))
				{
					num++;
				}
				return true;
			}
			throw new NullReferenceException();
		}

		// Token: 0x06002537 RID: 9527 RVA: 0x00056F50 File Offset: 0x00055150
		[Token(Token = "0x6002537")]
		[Address(RVA = "0x7A3620", Offset = "0x7A2620", VA = "0x1807A3620")]
		private static bool LastLetterIs(string boneName, string letter)
		{
			int stringLength = boneName.m_stringLength;
			return string.Equals(boneName.Substring(stringLength, 1), letter);
		}

		// Token: 0x06002538 RID: 9528 RVA: 0x00056F78 File Offset: 0x00055178
		[Token(Token = "0x6002538")]
		[Address(RVA = "0x7A6FE0", Offset = "0x7A5FE0", VA = "0x1807A6FE0")]
		private static string firstLetter(string boneName)
		{
			return "";
		}

		// Token: 0x06002539 RID: 9529 RVA: 0x00056F9C File Offset: 0x0005519C
		[Token(Token = "0x6002539")]
		[Address(RVA = "0x7A8320", Offset = "0x7A7320", VA = "0x1807A8320")]
		private static string lastLetter(string boneName)
		{
			int stringLength = boneName.m_stringLength;
			return "";
		}

		// Token: 0x0600253A RID: 9530 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x600253A")]
		[Address(RVA = "0x7A3660", Offset = "0x7A2660", VA = "0x1807A3660")]
		static BipedNaming()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002EA3 RID: 11939
		[Token(Token = "0x4002EA3")]
		public static string[] typeLeft;

		// Token: 0x04002EA4 RID: 11940
		[Token(Token = "0x4002EA4")]
		public static string[] typeRight;

		// Token: 0x04002EA5 RID: 11941
		[Token(Token = "0x4002EA5")]
		public static string[] typeSpine;

		// Token: 0x04002EA6 RID: 11942
		[Token(Token = "0x4002EA6")]
		public static string[] typeHead;

		// Token: 0x04002EA7 RID: 11943
		[Token(Token = "0x4002EA7")]
		public static string[] typeArm;

		// Token: 0x04002EA8 RID: 11944
		[Token(Token = "0x4002EA8")]
		public static string[] typeLeg;

		// Token: 0x04002EA9 RID: 11945
		[Token(Token = "0x4002EA9")]
		public static string[] typeTail;

		// Token: 0x04002EAA RID: 11946
		[Token(Token = "0x4002EAA")]
		public static string[] typeEye;

		// Token: 0x04002EAB RID: 11947
		[Token(Token = "0x4002EAB")]
		public static string[] typeExclude;

		// Token: 0x04002EAC RID: 11948
		[Token(Token = "0x4002EAC")]
		public static string[] typeExcludeSpine;

		// Token: 0x04002EAD RID: 11949
		[Token(Token = "0x4002EAD")]
		public static string[] typeExcludeHead;

		// Token: 0x04002EAE RID: 11950
		[Token(Token = "0x4002EAE")]
		public static string[] typeExcludeArm;

		// Token: 0x04002EAF RID: 11951
		[Token(Token = "0x4002EAF")]
		public static string[] typeExcludeLeg;

		// Token: 0x04002EB0 RID: 11952
		[Token(Token = "0x4002EB0")]
		public static string[] typeExcludeTail;

		// Token: 0x04002EB1 RID: 11953
		[Token(Token = "0x4002EB1")]
		public static string[] typeExcludeEye;

		// Token: 0x04002EB2 RID: 11954
		[Token(Token = "0x4002EB2")]
		public static string[] pelvis;

		// Token: 0x04002EB3 RID: 11955
		[Token(Token = "0x4002EB3")]
		public static string[] hand;

		// Token: 0x04002EB4 RID: 11956
		[Token(Token = "0x4002EB4")]
		public static string[] foot;

		// Token: 0x020003EC RID: 1004
		[Token(Token = "0x20003EC")]
		[Serializable]
		public enum BoneType
		{
			// Token: 0x04002EB6 RID: 11958
			[Token(Token = "0x4002EB6")]
			Unassigned,
			// Token: 0x04002EB7 RID: 11959
			[Token(Token = "0x4002EB7")]
			Spine,
			// Token: 0x04002EB8 RID: 11960
			[Token(Token = "0x4002EB8")]
			Head,
			// Token: 0x04002EB9 RID: 11961
			[Token(Token = "0x4002EB9")]
			Arm,
			// Token: 0x04002EBA RID: 11962
			[Token(Token = "0x4002EBA")]
			Leg,
			// Token: 0x04002EBB RID: 11963
			[Token(Token = "0x4002EBB")]
			Tail,
			// Token: 0x04002EBC RID: 11964
			[Token(Token = "0x4002EBC")]
			Eye
		}

		// Token: 0x020003ED RID: 1005
		[Token(Token = "0x20003ED")]
		[Serializable]
		public enum BoneSide
		{
			// Token: 0x04002EBE RID: 11966
			[Token(Token = "0x4002EBE")]
			Center,
			// Token: 0x04002EBF RID: 11967
			[Token(Token = "0x4002EBF")]
			Left,
			// Token: 0x04002EC0 RID: 11968
			[Token(Token = "0x4002EC0")]
			Right
		}
	}
}
