GDWeave/mods/Sulayre.Lure/Sulayre.Lure.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Text.Json.Serialization;
using GDWeave;
using GDWeave.Godot;
using GDWeave.Godot.Variants;
using GDWeave.Modding;
using Sulayre.Lure.Patches;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
[assembly: AssemblyCompany("Sulayre.Lure")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.0+efde33a9ab9b95af99970673fdad3e91b1f9eaff")]
[assembly: AssemblyProduct("Sulayre.Lure")]
[assembly: AssemblyTitle("Sulayre.Lure")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Sulayre.Lure
{
	public class Config
	{
		[JsonInclude]
		public bool bonus_content;

		[JsonInclude]
		public bool bonus_prompt = true;
	}
	public class Mod : IMod, global::System.IDisposable
	{
		public Config Config;

		public Mod(IModInterface modInterface)
		{
			Config = modInterface.ReadConfig<Config>();
			modInterface.Logger.Information("\n88     88   88 88\"\"Yb 888888 \r\n88     88   88 88__dP 88__   \r\n88  .o Y8   8P 88\"Yb  88\"\"   \r\n88ood8 `YbodP' 88  Yb 888888 ");
			modInterface.RegisterScriptMod((IScriptMod)(object)new GlobalPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new PatternPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new FacePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new BarkPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ItemPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new SavePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new TitlePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new NetworkPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new MainMenuPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ServerButtonPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new AquaPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ShopPatcher());
		}

		public void Dispose()
		{
		}
	}
}
namespace Sulayre.Lure.Patches
{
	public class AquaPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <waiter>5__2;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 20u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e2: Expected O, but got Unknown
				//IL_0204: Unknown result type (might be due to invalid IL or missing references)
				//IL_020e: Expected O, but got Unknown
				//IL_022a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0234: Expected O, but got Unknown
				//IL_0256: Unknown result type (might be due to invalid IL or missing references)
				//IL_0260: Expected O, but got Unknown
				//IL_027c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0286: Expected O, but got Unknown
				//IL_02a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b2: Expected O, but got Unknown
				//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d8: Expected O, but got Unknown
				//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0304: Expected O, but got Unknown
				//IL_0327: Unknown result type (might be due to invalid IL or missing references)
				//IL_0331: Expected O, but got Unknown
				//IL_0354: Unknown result type (might be due to invalid IL or missing references)
				//IL_035e: Expected O, but got Unknown
				//IL_037b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0385: Expected O, but got Unknown
				//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b2: Expected O, but got Unknown
				//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_03d9: Expected O, but got Unknown
				//IL_03fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0406: Expected O, but got Unknown
				//IL_0429: Unknown result type (might be due to invalid IL or missing references)
				//IL_0433: Expected O, but got Unknown
				//IL_0450: Unknown result type (might be due to invalid IL or missing references)
				//IL_045a: Expected O, but got Unknown
				//IL_047d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0487: Expected O, but got Unknown
				//IL_04a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ae: Expected O, but got Unknown
				//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b3: Expected O, but got Unknown
				//IL_04d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_04da: Expected O, but got Unknown
				//IL_016a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0174: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[7]
						{
							delegate(Token t)
							{
								IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val2 != null && val2.Name == "texture";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								return val != null && val.Value is NilVariant;
							},
							(Token t) => (int)t.Type == 89,
							(Token t) => (int)t.Type == 40,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>7__wrap2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = new Token((TokenType)15, (uint?)null);
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("Globals");
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("keys");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("has");
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("id");
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("id");
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp"));
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)2u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						break;
					case 21:
						<>1__state = -3;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext())
					{
						Token current = <>7__wrap2.Current;
						if (<waiter>5__2.Check(current))
						{
							<>2__current = current;
							<>1__state = 1;
							return true;
						}
						<>2__current = current;
						<>1__state = 21;
						return true;
					}
					<>m__Finally1();
					<>7__wrap2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

			bool global::System.Collections.IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>7__wrap2 != null)
				{
					((global::System.IDisposable)<>7__wrap2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0);
				}
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/AquaFish/aqua_fish.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[7]
			{
				delegate(Token t)
				{
					IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val2 != null && val2.Name == "texture";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					return val != null && val.Value is NilVariant;
				},
				(Token t) => (int)t.Type == 89,
				(Token t) => (int)t.Type == 40,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token current = enumerator.Current;
					if (waiter.Check(current))
					{
						yield return current;
						yield return new Token((TokenType)38, (uint?)null);
						yield return new Token((TokenType)15, (uint?)null);
						yield return (Token)new IdentifierToken("Globals");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("keys");
						yield return new Token((TokenType)80, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("has");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("id");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return (Token)new IdentifierToken("id");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp"));
						yield return new Token((TokenType)89, (uint?)2u);
					}
					else
					{
						yield return current;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class BarkPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <waiter_ready>5__2;

			private MultiTokenWaiter <waiter_bark>5__3;

			private MultiTokenWaiter <waiter_fallback>5__4;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap4;

			private Token <token>5__6;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 56u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ea: Expected O, but got Unknown
				//IL_0506: Unknown result type (might be due to invalid IL or missing references)
				//IL_0510: Expected O, but got Unknown
				//IL_0532: Unknown result type (might be due to invalid IL or missing references)
				//IL_053c: Expected O, but got Unknown
				//IL_0558: Unknown result type (might be due to invalid IL or missing references)
				//IL_0562: Expected O, but got Unknown
				//IL_055d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0567: Expected O, but got Unknown
				//IL_0589: Unknown result type (might be due to invalid IL or missing references)
				//IL_0593: Expected O, but got Unknown
				//IL_05b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bf: Expected O, but got Unknown
				//IL_05db: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e5: Expected O, but got Unknown
				//IL_0607: Unknown result type (might be due to invalid IL or missing references)
				//IL_0611: Expected O, but got Unknown
				//IL_062e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0638: Expected O, but got Unknown
				//IL_065b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0665: Expected O, but got Unknown
				//IL_0685: Unknown result type (might be due to invalid IL or missing references)
				//IL_068f: Expected O, but got Unknown
				//IL_06ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_06b6: Expected O, but got Unknown
				//IL_06d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_06e3: Expected O, but got Unknown
				//IL_0700: Unknown result type (might be due to invalid IL or missing references)
				//IL_070a: Expected O, but got Unknown
				//IL_0705: Unknown result type (might be due to invalid IL or missing references)
				//IL_070f: Expected O, but got Unknown
				//IL_0732: Unknown result type (might be due to invalid IL or missing references)
				//IL_073c: Expected O, but got Unknown
				//IL_075f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0769: Expected O, but got Unknown
				//IL_0786: Unknown result type (might be due to invalid IL or missing references)
				//IL_0790: Expected O, but got Unknown
				//IL_07b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07bd: Expected O, but got Unknown
				//IL_07da: Unknown result type (might be due to invalid IL or missing references)
				//IL_07e4: Expected O, but got Unknown
				//IL_0807: Unknown result type (might be due to invalid IL or missing references)
				//IL_0811: Expected O, but got Unknown
				//IL_082e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0838: Expected O, but got Unknown
				//IL_0833: Unknown result type (might be due to invalid IL or missing references)
				//IL_083d: Expected O, but got Unknown
				//IL_0860: Unknown result type (might be due to invalid IL or missing references)
				//IL_086a: Expected O, but got Unknown
				//IL_088d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0897: Expected O, but got Unknown
				//IL_08b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c1: Expected O, but got Unknown
				//IL_091f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0929: Expected O, but got Unknown
				//IL_0946: Unknown result type (might be due to invalid IL or missing references)
				//IL_0950: Expected O, but got Unknown
				//IL_0973: Unknown result type (might be due to invalid IL or missing references)
				//IL_097d: Expected O, but got Unknown
				//IL_099a: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a4: Expected O, but got Unknown
				//IL_09c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d1: Expected O, but got Unknown
				//IL_09ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f8: Expected O, but got Unknown
				//IL_09f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_09fd: Expected O, but got Unknown
				//IL_0a20: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a2a: Expected O, but got Unknown
				//IL_0a4d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a57: Expected O, but got Unknown
				//IL_0a74: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a7e: Expected O, but got Unknown
				//IL_0aa1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aab: Expected O, but got Unknown
				//IL_0ac8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ad2: Expected O, but got Unknown
				//IL_0af5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aff: Expected O, but got Unknown
				//IL_0b1c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b26: Expected O, but got Unknown
				//IL_0b49: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b53: Expected O, but got Unknown
				//IL_0b70: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b7a: Expected O, but got Unknown
				//IL_0b9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ba7: Expected O, but got Unknown
				//IL_0bc7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd1: Expected O, but got Unknown
				//IL_0c2c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c36: Expected O, but got Unknown
				//IL_0c59: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c63: Expected O, but got Unknown
				//IL_0c80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c8a: Expected O, but got Unknown
				//IL_0cad: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cb7: Expected O, but got Unknown
				//IL_0cd4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cde: Expected O, but got Unknown
				//IL_0cd9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ce3: Expected O, but got Unknown
				//IL_0d06: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d10: Expected O, but got Unknown
				//IL_0d33: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d3d: Expected O, but got Unknown
				//IL_0d5a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d64: Expected O, but got Unknown
				//IL_0d87: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d91: Expected O, but got Unknown
				//IL_0dae: Unknown result type (might be due to invalid IL or missing references)
				//IL_0db8: Expected O, but got Unknown
				//IL_0ddb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0de5: Expected O, but got Unknown
				//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c0: Expected O, but got Unknown
				//IL_02b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c1: Expected O, but got Unknown
				//IL_0466: Unknown result type (might be due to invalid IL or missing references)
				//IL_0470: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter_ready>5__2 = new MultiTokenWaiter(new Func<Token, bool>[5]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val9 != null && val9.Name == "_ready";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86
						}, false, false);
						<waiter_bark>5__3 = new MultiTokenWaiter(new Func<Token, bool>[7]
						{
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val8 != null && val8.Name == "PlayerData";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val7 != null && val7.Name == "cosmetics_equipped";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val6 != null && val6.Name == "species";
							},
							(Token t) => (int)t.Type == 77
						}, false, false);
						<waiter_fallback>5__4 = new MultiTokenWaiter(new Func<Token, bool>[12]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val5 != null && val5.Name == "_update_cosmetics";
							},
							(Token t) => (int)t.Type == 80,
							delegate(Token t)
							{
								IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val4 != null && val4.Name == "data";
							},
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 89,
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val3 != null && val3.Name == "valid";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val != null)
								{
									Variant value = val.Value;
									BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null);
									if (val2 != null)
									{
										return val2.Value;
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>7__wrap4 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_instance_species_voices");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("sound_manager");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_load_emotes");
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 21;
						return true;
					case 21:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer"));
						<>1__state = 22;
						return true;
					case 22:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 23;
						return true;
					case 23:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 24;
						return true;
					case 24:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 25;
						return true;
					case 25:
						<>1__state = -3;
						goto IL_0e3b;
					case 26:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 27;
						return true;
					case 27:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("bark_id");
						<>1__state = 28;
						return true;
					case 28:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 29;
						return true;
					case 29:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 30;
						return true;
					case 30:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 31;
						return true;
					case 31:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 32;
						return true;
					case 32:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 33;
						return true;
					case 33:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 34;
						return true;
					case 34:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_get_voice_bundle");
						<>1__state = 35;
						return true;
					case 35:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 36;
						return true;
					case 36:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("PlayerData");
						<>1__state = 37;
						return true;
					case 37:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 38;
						return true;
					case 38:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("cosmetics_equipped");
						<>1__state = 39;
						return true;
					case 39:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 40;
						return true;
					case 40:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("species");
						<>1__state = 41;
						return true;
					case 41:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 42;
						return true;
					case 42:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 43;
						return true;
					case 43:
						<>1__state = -3;
						goto IL_0e3b;
					case 44:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 45;
						return true;
					case 45:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 46;
						return true;
					case 46:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 47;
						return true;
					case 47:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 48;
						return true;
					case 48:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 49;
						return true;
					case 49:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 50;
						return true;
					case 50:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 51;
						return true;
					case 51:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_improved_fallback");
						<>1__state = 52;
						return true;
					case 52:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 53;
						return true;
					case 53:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 54;
						return true;
					case 54:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 55;
						return true;
					case 55:
						<>1__state = -3;
						<>2__current = <token>5__6;
						<>1__state = 56;
						return true;
					case 56:
						<>1__state = -3;
						goto IL_0e3b;
					case 57:
						{
							<>1__state = -3;
							goto IL_0e3b;
						}
						IL_0e3b:
						<token>5__6 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>7__wrap4).MoveNext())
					{
						<token>5__6 = <>7__wrap4.Current;
						if (<waiter_ready>5__2.Check(<token>5__6))
						{
							<>2__current = <token>5__6;
							<>1__state = 1;
							return true;
						}
						if (<waiter_bark>5__3.Check(<token>5__6))
						{
							<>2__current = <token>5__6;
							<>1__state = 26;
							return true;
						}
						if (<waiter_fallback>5__4.Check(<token>5__6))
						{
							<>2__current = <token>5__6;
							<>1__state = 44;
							return true;
						}
						<>2__current = <token>5__6;
						<>1__state = 57;
						return true;
					}
					<>m__Finally1();
					<>7__wrap4 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

			bool global::System.Collections.IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>7__wrap4 != null)
				{
					((global::System.IDisposable)<>7__wrap4).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0);
				}
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/player.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter_ready = new MultiTokenWaiter(new Func<Token, bool>[5]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val9 != null && val9.Name == "_ready";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86
			}, false, false);
			MultiTokenWaiter waiter_bark = new MultiTokenWaiter(new Func<Token, bool>[7]
			{
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val8 != null && val8.Name == "PlayerData";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val7 != null && val7.Name == "cosmetics_equipped";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val6 != null && val6.Name == "species";
				},
				(Token t) => (int)t.Type == 77
			}, false, false);
			MultiTokenWaiter waiter_fallback = new MultiTokenWaiter(new Func<Token, bool>[12]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val5 != null && val5.Name == "_update_cosmetics";
				},
				(Token t) => (int)t.Type == 80,
				delegate(Token t)
				{
					IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val4 != null && val4.Name == "data";
				},
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 89,
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val3 != null && val3.Name == "valid";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val != null)
					{
						Variant value = val.Value;
						BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null);
						if (val2 != null)
						{
							return val2.Value;
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter_ready.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_instance_species_voices");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("sound_manager");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_load_emotes");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_bark.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("bark_id");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_get_voice_bundle");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("PlayerData");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("cosmetics_equipped");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("species");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_fallback.Check(token))
					{
						yield return token;
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_improved_fallback");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)81, (uint?)null);
						yield return token;
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class FacePatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <waiter>5__2;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 20u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_016f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0179: Expected O, but got Unknown
				//IL_0195: Unknown result type (might be due to invalid IL or missing references)
				//IL_019f: Expected O, but got Unknown
				//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01cb: Expected O, but got Unknown
				//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f1: Expected O, but got Unknown
				//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f6: Expected O, but got Unknown
				//IL_0218: Unknown result type (might be due to invalid IL or missing references)
				//IL_0222: Expected O, but got Unknown
				//IL_0244: Unknown result type (might be due to invalid IL or missing references)
				//IL_024e: Expected O, but got Unknown
				//IL_026a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0274: Expected O, but got Unknown
				//IL_0296: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a0: Expected O, but got Unknown
				//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c7: Expected O, but got Unknown
				//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f4: Expected O, but got Unknown
				//IL_0311: Unknown result type (might be due to invalid IL or missing references)
				//IL_031b: Expected O, but got Unknown
				//IL_0316: Unknown result type (might be due to invalid IL or missing references)
				//IL_0320: Expected O, but got Unknown
				//IL_0343: Unknown result type (might be due to invalid IL or missing references)
				//IL_034d: Expected O, but got Unknown
				//IL_0370: Unknown result type (might be due to invalid IL or missing references)
				//IL_037a: Expected O, but got Unknown
				//IL_0397: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a1: Expected O, but got Unknown
				//IL_03c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ce: Expected O, but got Unknown
				//IL_03eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_03f5: Expected O, but got Unknown
				//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fa: Expected O, but got Unknown
				//IL_041d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0427: Expected O, but got Unknown
				//IL_044a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0454: Expected O, but got Unknown
				//IL_0471: Unknown result type (might be due to invalid IL or missing references)
				//IL_047b: Expected O, but got Unknown
				//IL_0104: Unknown result type (might be due to invalid IL or missing references)
				//IL_010e: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[4]
						{
							delegate(Token t)
							{
								IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val3 != null && val3.Name == "play";
							},
							(Token t) => (int)t.Type == 80,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val != null)
								{
									Variant value = val.Value;
									StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
									if (val2 != null)
									{
										return val2.Value == "dog_face";
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 81
						}, false, false);
						<>7__wrap2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_custom_species_faces");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer"));
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = new Token((TokenType)82, (uint?)null);
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)76, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("species"));
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)77, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						break;
					case 21:
						<>1__state = -3;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext())
					{
						Token current = <>7__wrap2.Current;
						if (<waiter>5__2.Check(current))
						{
							<>2__current = current;
							<>1__state = 1;
							return true;
						}
						<>2__current = current;
						<>1__state = 21;
						return true;
					}
					<>m__Finally1();
					<>7__wrap2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

			bool global::System.Collections.IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>7__wrap2 != null)
				{
					((global::System.IDisposable)<>7__wrap2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0);
				}
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/Face/player_face.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[4]
			{
				delegate(Token t)
				{
					IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val3 != null && val3.Name == "play";
				},
				(Token t) => (int)t.Type == 80,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val != null)
					{
						Variant value = val.Value;
						StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
						if (val2 != null)
						{
							return val2.Value == "dog_face";
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 81
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token current = enumerator.Current;
					if (waiter.Check(current))
					{
						yield return current;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_custom_species_faces");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)82, (uint?)null);
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)76, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("species"));
						yield return new Token((TokenType)77, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else
					{
						yield return current;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class GlobalPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <waiter>5__2;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap2;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 9u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_0146: Unknown result type (might be due to invalid IL or missing references)
				//IL_0150: Expected O, but got Unknown
				//IL_016c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0176: Expected O, but got Unknown
				//IL_0198: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a2: Expected O, but got Unknown
				//IL_01be: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c8: Expected O, but got Unknown
				//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f4: Expected O, but got Unknown
				//IL_0210: Unknown result type (might be due to invalid IL or missing references)
				//IL_021a: Expected O, but got Unknown
				//IL_023c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0246: Expected O, but got Unknown
				//IL_0265: Unknown result type (might be due to invalid IL or missing references)
				//IL_026f: Expected O, but got Unknown
				//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e2: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[4]
						{
							delegate(Token t)
							{
								IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val != null && val.Name == "GAME_VERSION";
							},
							(Token t) => (int)t.Type == 23,
							(Token t) => t is ConstantToken,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>7__wrap2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)59, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("GAME_VERSION_LURE");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("str");
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("GAME_VERSION");
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						break;
					case 10:
						<>1__state = -3;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>7__wrap2).MoveNext())
					{
						Token current = <>7__wrap2.Current;
						if (<waiter>5__2.Check(current))
						{
							<>2__current = current;
							<>1__state = 1;
							return true;
						}
						<>2__current = current;
						<>1__state = 10;
						return true;
					}
					<>m__Finally1();
					<>7__wrap2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

			bool global::System.Collections.IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>7__wrap2 != null)
				{
					((global::System.IDisposable)<>7__wrap2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0);
				}
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Singletons/globals.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[4]
			{
				delegate(Token t)
				{
					IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val != null && val.Name == "GAME_VERSION";
				},
				(Token t) => (int)t.Type == 23,
				(Token t) => t is ConstantToken,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token current = enumerator.Current;
					if (waiter.Check(current))
					{
						yield return current;
						yield return new Token((TokenType)59, (uint?)null);
						yield return (Token)new IdentifierToken("GAME_VERSION_LURE");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("str");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("GAME_VERSION");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)null);
					}
					else
					{
						yield return current;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class ItemPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <waiter_use>5__2;

			private MultiTokenWaiter <waiter_release>5__3;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap3;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 37u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a87: Expected O, but got Unknown
				//IL_0aa3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aad: Expected O, but got Unknown
				//IL_0acf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ad9: Expected O, but got Unknown
				//IL_0af5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aff: Expected O, but got Unknown
				//IL_0afa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b04: Expected O, but got Unknown
				//IL_0b26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b30: Expected O, but got Unknown
				//IL_0b52: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b5c: Expected O, but got Unknown
				//IL_0b78: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b82: Expected O, but got Unknown
				//IL_0ba4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bae: Expected O, but got Unknown
				//IL_0bcb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd5: Expected O, but got Unknown
				//IL_0bf8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c02: Expected O, but got Unknown
				//IL_0c1f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c29: Expected O, but got Unknown
				//IL_0c4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c56: Expected O, but got Unknown
				//IL_0c73: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c7d: Expected O, but got Unknown
				//IL_0ca0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0caa: Expected O, but got Unknown
				//IL_0cc7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cd1: Expected O, but got Unknown
				//IL_0cf4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cfe: Expected O, but got Unknown
				//IL_0d21: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d2b: Expected O, but got Unknown
				//IL_0d4e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d58: Expected O, but got Unknown
				//IL_0d78: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d82: Expected O, but got Unknown
				//IL_0dd6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0de0: Expected O, but got Unknown
				//IL_0e03: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e0d: Expected O, but got Unknown
				//IL_0e2a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e34: Expected O, but got Unknown
				//IL_0e57: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e61: Expected O, but got Unknown
				//IL_0e7e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e88: Expected O, but got Unknown
				//IL_0e83: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e8d: Expected O, but got Unknown
				//IL_0eb0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0eba: Expected O, but got Unknown
				//IL_0edd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ee7: Expected O, but got Unknown
				//IL_0f04: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f0e: Expected O, but got Unknown
				//IL_0f31: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f3b: Expected O, but got Unknown
				//IL_0f58: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f62: Expected O, but got Unknown
				//IL_0f85: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f8f: Expected O, but got Unknown
				//IL_0fac: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fb6: Expected O, but got Unknown
				//IL_0fd9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fe3: Expected O, but got Unknown
				//IL_1006: Unknown result type (might be due to invalid IL or missing references)
				//IL_1010: Expected O, but got Unknown
				//IL_1033: Unknown result type (might be due to invalid IL or missing references)
				//IL_103d: Expected O, but got Unknown
				//IL_105a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1064: Expected O, but got Unknown
				//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05d1: Expected O, but got Unknown
				//IL_0a0f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a19: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter_use>5__2 = new MultiTokenWaiter(new Func<Token, bool>[37]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val23 != null && val23.Name == "_use_item";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num5 = (int)t.Type == 89;
								uint? associatedData5 = t.AssociatedData;
								return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							(Token t) => (int)t.Type == 15,
							delegate(Token t)
							{
								IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val22 != null && val22.Name == "controlled";
							},
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num4 = (int)t.Type == 89;
								uint? associatedData4 = t.AssociatedData;
								return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							delegate(Token t)
							{
								IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val21 != null && val21.Name == "held_item";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val20 != null && val20.Name == "empty";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num3 = (int)t.Type == 89;
								uint? associatedData3 = t.AssociatedData;
								return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val19 != null && val19.Name == "item_data";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val18 != null && val18.Name == "Globals";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val17 != null && val17.Name == "item_data";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val16 != null && val16.Name == "held_item";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val14 != null)
								{
									Variant value4 = val14.Value;
									StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null);
									if (val15 != null)
									{
										return val15.Value == "id";
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val12 != null)
								{
									Variant value3 = val12.Value;
									StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null);
									if (val13 != null)
									{
										return val13.Value == "file";
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<waiter_release>5__3 = new MultiTokenWaiter(new Func<Token, bool>[31]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val11 != null && val11.Name == "_release_item";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num2 = (int)t.Type == 89;
								uint? associatedData2 = t.AssociatedData;
								return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							delegate(Token t)
							{
								IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val10 != null && val10.Name == "held_item";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val9 != null && val9.Name == "empty";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num = (int)t.Type == 89;
								uint? associatedData = t.AssociatedData;
								return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val8 != null && val8.Name == "item_data";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val7 != null && val7.Name == "Globals";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val6 != null && val6.Name == "item_data";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val5 != null && val5.Name == "held_item";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val3 != null)
								{
									Variant value2 = val3.Value;
									StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null);
									if (val4 != null)
									{
										return val4.Value == "id";
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								if (val != null)
								{
									Variant value = val.Value;
									StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
									if (val2 != null)
									{
										return val2.Value == "file";
									}
								}
								return false;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>7__wrap3 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_call_action");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("action");
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)82, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("action_params");
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)46, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						break;
					case 21:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 22;
						return true;
					case 22:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 23;
						return true;
					case 23:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node_or_null");
						<>1__state = 24;
						return true;
					case 24:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 25;
						return true;
					case 25:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 26;
						return true;
					case 26:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 27;
						return true;
					case 27:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 28;
						return true;
					case 28:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_call_release");
						<>1__state = 29;
						return true;
					case 29:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 30;
						return true;
					case 30:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 31;
						return true;
					case 31:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 32;
						return true;
					case 32:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("release_action");
						<>1__state = 33;
						return true;
					case 33:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 34;
						return true;
					case 34:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 35;
						return true;
					case 35:
						<>1__state = -3;
						<>2__current = new Token((TokenType)46, (uint?)null);
						<>1__state = 36;
						return true;
					case 36:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 37;
						return true;
					case 37:
						<>1__state = -3;
						break;
					case 38:
						<>1__state = -3;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>7__wrap3).MoveNext())
					{
						Token current = <>7__wrap3.Current;
						if (<waiter_use>5__2.Check(current))
						{
							<>2__current = current;
							<>1__state = 1;
							return true;
						}
						if (<waiter_release>5__3.Check(current))
						{
							<>2__current = current;
							<>1__state = 21;
							return true;
						}
						<>2__current = current;
						<>1__state = 38;
						return true;
					}
					<>m__Finally1();
					<>7__wrap3 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

			bool global::System.Collections.IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>7__wrap3 != null)
				{
					((global::System.IDisposable)<>7__wrap3).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0);
				}
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/player.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter_use = new MultiTokenWaiter(new Func<Token, bool>[37]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val23 != null && val23.Name == "_use_item";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num5 = (int)t.Type == 89;
					uint? associatedData5 = t.AssociatedData;
					return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				(Token t) => (int)t.Type == 15,
				delegate(Token t)
				{
					IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val22 != null && val22.Name == "controlled";
				},
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num4 = (int)t.Type == 89;
					uint? associatedData4 = t.AssociatedData;
					return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				delegate(Token t)
				{
					IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val21 != null && val21.Name == "held_item";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val20 != null && val20.Name == "empty";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num3 = (int)t.Type == 89;
					uint? associatedData3 = t.AssociatedData;
					return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val19 != null && val19.Name == "item_data";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val18 != null && val18.Name == "Globals";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val17 != null && val17.Name == "item_data";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val16 != null && val16.Name == "held_item";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val14 != null)
					{
						Variant value4 = val14.Value;
						StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null);
						if (val15 != null)
						{
							return val15.Value == "id";
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val12 != null)
					{
						Variant value3 = val12.Value;
						StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null);
						if (val13 != null)
						{
							return val13.Value == "file";
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 89
			}, false, false);
			MultiTokenWaiter waiter_release = new MultiTokenWaiter(new Func<Token, bool>[31]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val11 != null && val11.Name == "_release_item";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num2 = (int)t.Type == 89;
					uint? associatedData2 = t.AssociatedData;
					return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				delegate(Token t)
				{
					IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val10 != null && val10.Name == "held_item";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val9 != null && val9.Name == "empty";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num = (int)t.Type == 89;
					uint? associatedData = t.AssociatedData;
					return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val8 != null && val8.Name == "item_data";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val7 != null && val7.Name == "Globals";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val6 != null && val6.Name == "item_data";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val5 != null && val5.Name == "held_item";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val3 != null)
					{
						Variant value2 = val3.Value;
						StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null);
						if (val4 != null)
						{
							return val4.Value == "id";
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					if (val != null)
					{
						Variant value = val.Value;
						StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
						if (val2 != null)
						{
							return val2.Value == "file";
						}
					}
					return false;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token current = enumerator.Current;
					if (waiter_use.Check(current))
					{
						yield return current;
						yield return new Token((TokenType)38, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_call_action");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("action");
						yield return new Token((TokenType)82, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("action_params");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return new Token((TokenType)46, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_release.Check(current))
					{
						yield return current;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return new Token((TokenType)38, (uint?)null);
						yield return (Token)new IdentifierToken("get_node_or_null");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_call_release");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("release_action");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return new Token((TokenType)46, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else
					{
						yield return current;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class JournalPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			private MultiTokenWaiter <extendswaiter>5__2;

			private MultiTokenWaiter <inwaiter>5__3;

			private TokenConsumer <consumer>5__4;

			private global::System.Collections.Generic.IEnumerator<Token> <>7__wrap4;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object global::System.Collections.IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 1) <= 13u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
			}

			private bool MoveNext()
			{
				//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e1: Expected O, but got Unknown
				//IL_0203: Unknown result type (might be due to invalid IL or missing references)
				//IL_020d: Expected O, but got Unknown
				//IL_0229: Unknown result type (might be due to invalid IL or missing references)
				//IL_0233: Expected O, but got Unknown
				//IL_0255: Unknown result type (might be due to invalid IL or missing references)
				//IL_025f: Expected O, but got Unknown
				//IL_027b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0285: Expected O, but got Unknown
				//IL_02a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b1: Expected O, but got Unknown
				//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d7: Expected O, but got Unknown
				//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
				//IL_02dc: Expected O, but got Unknown
				//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0308: Expected O, but got Unknown
				//IL_032b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0335: Expected O, but got Unknown
				//IL_0352: Unknown result type (might be due to invalid IL or missing references)
				//IL_035c: Expected O, but got Unknown
				//IL_03a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ae: Expected O, but got Unknown
				//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d0: Expected O, but got Unknown
				//IL_011d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0127: Expected O, but got Unknown
				//IL_0147: Unknown result type (might be due to invalid IL or missing references)
				//IL_0151: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<extendswaiter>5__2 = new MultiTokenWaiter(new Func<Token, bool>[3]
						{
							(Token t) => (int)t.Type == 51,
							(Token t) => (int)t.Type == 1,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<inwaiter>5__3 = new MultiTokenWaiter(new Func<Token, bool>[2]
						{
							delegate(Token t)
							{
								IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val != null && val.Name == "category";
							},
							(Token t) => (int)t.Type == 6
						}, false, false);
						<consumer>5__4 = new TokenConsumer((Func<Token, bool>)((Token t) => (int)t.Type == 86));
						<>7__wrap4 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)53, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = new Token((TokenType)59, (uint?)null);
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("ready_categories");
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure"));
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__