Decompiled source of CrystalArrows v1.0.0
CrystalArrows.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using HarmonyLib; using ItemManager; using JetBrains.Annotations; using LocalizationManager; using Microsoft.CodeAnalysis; using ServerSync; using TMPro; using UnityEngine; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.Converters; using YamlDotNet.Serialization.EventEmitters; using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NodeDeserializers; using YamlDotNet.Serialization.NodeTypeResolvers; using YamlDotNet.Serialization.ObjectFactories; using YamlDotNet.Serialization.ObjectGraphTraversalStrategies; using YamlDotNet.Serialization.ObjectGraphVisitors; using YamlDotNet.Serialization.Schemas; using YamlDotNet.Serialization.TypeInspectors; using YamlDotNet.Serialization.TypeResolvers; using YamlDotNet.Serialization.Utilities; using YamlDotNet.Serialization.ValueDeserializers; [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Guid("D181CDA7-EF07-4BBC-B975-2B80FC6BBFAE")] [assembly: ComVisible(false)] [assembly: AssemblyTrademark("")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyProduct("CrystalArrows")] [assembly: AssemblyCompany("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("")] [assembly: AssemblyTitle("CrystalArrows")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace CrystalArrows { [BepInPlugin("org.bepinex.plugins.crystalarrows", "CrystalArrows", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class CrystalArrows : BaseUnityPlugin { private enum Toggle { On = 1, Off = 0 } private const string ModName = "CrystalArrows"; private const string ModVersion = "1.0.0"; private const string ModGUID = "org.bepinex.plugins.crystalarrows"; private static readonly ConfigSync configSync = new ConfigSync("CrystalArrows") { DisplayName = "CrystalArrows", CurrentVersion = "1.0.0", MinimumRequiredVersion = "1.0.0" }; private static ConfigEntry<Toggle> serverConfigLocked = null; private static readonly Dictionary<string, ConfigEntry<float>> lightIntensities = new Dictionary<string, ConfigEntry<float>>(); private static AssetBundle assets = null; private static Localization english = null; private ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true) { ConfigEntry<T> val = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, description); SyncedConfigEntry<T> syncedConfigEntry = configSync.AddConfigEntry<T>(val); syncedConfigEntry.SynchronizedConfig = synchronizedSetting; return val; } private ConfigEntry<T> config<T>(string group, string name, T value, string description, bool synchronizedSetting = true) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting); } public void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0975: Unknown result type (might be due to invalid IL or missing references) //IL_097c: Expected O, but got Unknown Localizer.Load(); english = new Localization(); english.SetupLanguage("English"); serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only."); configSync.AddLockingConfigEntry<Toggle>(serverConfigLocked); Item item = new Item("jewelarrows", "JC_Crystal_Arrow_Black"); item.Configurable = Configurability.Full; item["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item["Shard Recipe"].RequiredItems.Add("Shattered_Black_Crystal", 10); item["Shard Recipe"].RequiredItems.Add("Wood", 5); item["Shard Recipe"].RequiredItems.Add("Feathers", 2); item["Shard Recipe"].CraftAmount = 20; item["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item["Crystal Recipe"].RequiredItems.Add("Simple_Black_Socket", 1); item["Crystal Recipe"].RequiredItems.Add("Wood", 5); item["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Black"); Item item2 = new Item("jewelarrows", "JC_Crystal_Arrow_Blue"); item2.Configurable = Configurability.Full; item2["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item2["Shard Recipe"].RequiredItems.Add("Shattered_Blue_Crystal", 10); item2["Shard Recipe"].RequiredItems.Add("Wood", 5); item2["Shard Recipe"].RequiredItems.Add("Feathers", 2); item2["Shard Recipe"].CraftAmount = 20; item2["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item2["Crystal Recipe"].RequiredItems.Add("Simple_Blue_Socket", 1); item2["Crystal Recipe"].RequiredItems.Add("Wood", 5); item2["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item2["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Blue"); Item item3 = new Item("jewelarrows", "JC_Crystal_Arrow_Green"); item3.Configurable = Configurability.Full; item3["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item3["Shard Recipe"].RequiredItems.Add("Shattered_Green_Crystal", 10); item3["Shard Recipe"].RequiredItems.Add("Wood", 5); item3["Shard Recipe"].RequiredItems.Add("Feathers", 2); item3["Shard Recipe"].CraftAmount = 20; item3["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item3["Crystal Recipe"].RequiredItems.Add("Simple_Green_Socket", 1); item3["Crystal Recipe"].RequiredItems.Add("Wood", 5); item3["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item3["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Green"); Item item4 = new Item("jewelarrows", "JC_Crystal_Arrow_Orange"); item4.Configurable = Configurability.Full; item4["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item4["Shard Recipe"].RequiredItems.Add("Shattered_Orange_Crystal", 10); item4["Shard Recipe"].RequiredItems.Add("Wood", 5); item4["Shard Recipe"].RequiredItems.Add("Feathers", 2); item4["Shard Recipe"].CraftAmount = 20; item4["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item4["Crystal Recipe"].RequiredItems.Add("Simple_Orange_Socket", 1); item4["Crystal Recipe"].RequiredItems.Add("Wood", 5); item4["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item4["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Orange"); Item item5 = new Item("jewelarrows", "JC_Crystal_Arrow_Purple"); item5.Configurable = Configurability.Full; item5["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item5["Shard Recipe"].RequiredItems.Add("Shattered_Purple_Crystal", 10); item5["Shard Recipe"].RequiredItems.Add("Wood", 5); item5["Shard Recipe"].RequiredItems.Add("Feathers", 2); item5["Shard Recipe"].CraftAmount = 20; item5["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item5["Crystal Recipe"].RequiredItems.Add("Simple_Purple_Socket", 1); item5["Crystal Recipe"].RequiredItems.Add("Wood", 5); item5["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item5["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Purple"); Item item6 = new Item("jewelarrows", "JC_Crystal_Arrow_Red"); item6.Configurable = Configurability.Full; item6["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item6["Shard Recipe"].RequiredItems.Add("Shattered_Red_Crystal", 10); item6["Shard Recipe"].RequiredItems.Add("Wood", 5); item6["Shard Recipe"].RequiredItems.Add("Feathers", 2); item6["Shard Recipe"].CraftAmount = 20; item6["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item6["Crystal Recipe"].RequiredItems.Add("Simple_Red_Socket", 1); item6["Crystal Recipe"].RequiredItems.Add("Wood", 5); item6["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item6["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Red"); Item item7 = new Item("jewelarrows", "JC_Crystal_Arrow_Yellow"); item7.Configurable = Configurability.Full; item7["Shard Recipe"].Crafting.Add("op_transmution_table", 3); item7["Shard Recipe"].RequiredItems.Add("Shattered_Yellow_Crystal", 10); item7["Shard Recipe"].RequiredItems.Add("Wood", 5); item7["Shard Recipe"].RequiredItems.Add("Feathers", 2); item7["Shard Recipe"].CraftAmount = 20; item7["Crystal Recipe"].Crafting.Add("op_transmution_table", 3); item7["Crystal Recipe"].RequiredItems.Add("Simple_Yellow_Socket", 1); item7["Crystal Recipe"].RequiredItems.Add("Wood", 5); item7["Crystal Recipe"].RequiredItems.Add("Feathers", 2); item7["Crystal Recipe"].CraftAmount = 20; PrefabManager.RegisterPrefab("jewelarrows", "JC_Projectile_Yellow"); PrefabManager.RegisterPrefab("jewelarrows", "sfx_jc_arrow_hit"); PrefabManager.RegisterPrefab("jewelarrows", "VFX_JC_Arrow_Hit"); Assembly executingAssembly = Assembly.GetExecutingAssembly(); Harmony val = new Harmony("org.bepinex.plugins.crystalarrows"); val.PatchAll(executingAssembly); } } } namespace Microsoft.CodeAnalysis { [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] [CompilerGenerated] internal sealed class <b89b921d-8954-4084-bd4d-1feb826a594e>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] [CompilerGenerated] internal sealed class <bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContextAttribute : Attribute { public readonly byte Flag; public <bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace LocalizationManager { [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(1)] [PublicAPI] [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(0)] internal class Localizer { private static readonly Dictionary<string, Dictionary<string, Func<string>>> PlaceholderProcessors; private static readonly Dictionary<string, Dictionary<string, string>> loadedTexts; private static readonly ConditionalWeakTable<Localization, string> localizationLanguage; private static readonly List<WeakReference<Localization>> localizationObjects; [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(2)] private static BaseUnityPlugin _plugin; private static readonly List<string> fileExtensions; private static BaseUnityPlugin plugin { get { //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown if (_plugin == null) { IEnumerable<TypeInfo> source; try { source = Assembly.GetExecutingAssembly().DefinedTypes.ToList(); } catch (ReflectionTypeLoadException ex) { source = from t in ex.Types where t != null select t.GetTypeInfo(); } _plugin = (BaseUnityPlugin)Chainloader.ManagerObject.GetComponent((Type)source.First([<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (TypeInfo t) => t.IsClass && typeof(BaseUnityPlugin).IsAssignableFrom(t))); } return _plugin; } } private static void UpdatePlaceholderText(Localization localization, string key) { localizationLanguage.TryGetValue(localization, out var value); string text = loadedTexts[value][key]; if (PlaceholderProcessors.TryGetValue(key, out var value2)) { text = value2.Aggregate(text, [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (string current, KeyValuePair<string, Func<string>> kv) => current.Replace("{" + kv.Key + "}", kv.Value())); } localization.AddWord(key, text); } public static void AddPlaceholder<T>(string key, string placeholder, ConfigEntry<T> config, [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(new byte[] { 2, 1, 1 })] Func<T, string> convertConfigValue = null) { if (convertConfigValue == null) { convertConfigValue = [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] [return: <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(1)] (T val) => val.ToString(); } if (!PlaceholderProcessors.ContainsKey(key)) { PlaceholderProcessors[key] = new Dictionary<string, Func<string>>(); } config.SettingChanged += [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (object _, EventArgs _) => { UpdatePlaceholder(); }; if (loadedTexts.ContainsKey(Localization.instance.GetSelectedLanguage())) { UpdatePlaceholder(); } void UpdatePlaceholder() { PlaceholderProcessors[key][placeholder] = () => convertConfigValue(config.Value); UpdatePlaceholderText(Localization.instance, key); } } public static void AddText(string key, string text) { List<WeakReference<Localization>> list = new List<WeakReference<Localization>>(); foreach (WeakReference<Localization> localizationObject in localizationObjects) { if (localizationObject.TryGetTarget(out var target)) { Dictionary<string, string> dictionary = loadedTexts[localizationLanguage.GetOrCreateValue(target)]; if (!target.m_translations.ContainsKey(key)) { dictionary[key] = text; target.AddWord(key, text); } } else { list.Add(localizationObject); } } foreach (WeakReference<Localization> item in list) { localizationObjects.Remove(item); } } public static void Load() { LoadLocalization(Localization.instance, Localization.instance.GetSelectedLanguage()); } private static void LoadLocalization(Localization __instance, string language) { if (!localizationLanguage.Remove(__instance)) { localizationObjects.Add(new WeakReference<Localization>(__instance)); } localizationLanguage.Add(__instance, language); Dictionary<string, string> dictionary = new Dictionary<string, string>(); foreach (string item in from f in Directory.GetFiles(Path.GetDirectoryName(Paths.PluginPath), plugin.Info.Metadata.Name + ".*", SearchOption.AllDirectories) where fileExtensions.IndexOf(Path.GetExtension(f)) >= 0 select f) { string text = Path.GetFileNameWithoutExtension(item).Split(new char[1] { '.' })[1]; if (dictionary.ContainsKey(text)) { Debug.LogWarning((object)("Duplicate key " + text + " found for " + plugin.Info.Metadata.Name + ". The duplicate file found at " + item + " will be skipped.")); } else { dictionary[text] = item; } } byte[] array = LoadTranslationFromAssembly("English"); if (array == null) { throw new Exception("Found no English localizations in mod " + plugin.Info.Metadata.Name + ". Expected an embedded resource translations/English.json or translations/English.yml."); } Dictionary<string, string> dictionary2 = new <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder().IgnoreFields().Build().Deserialize<Dictionary<string, string>>(Encoding.UTF8.GetString(array)); if (dictionary2 == null) { throw new Exception("Localization for mod " + plugin.Info.Metadata.Name + " failed: Localization file was empty."); } string text2 = null; if (language != "English") { if (dictionary.ContainsKey(language)) { text2 = File.ReadAllText(dictionary[language]); } else { byte[] array2 = LoadTranslationFromAssembly(language); if (array2 != null) { text2 = Encoding.UTF8.GetString(array2); } } } if (text2 == null && dictionary.ContainsKey("English")) { text2 = File.ReadAllText(dictionary["English"]); } if (text2 != null) { foreach (KeyValuePair<string, string> item2 in new <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder().IgnoreFields().Build().Deserialize<Dictionary<string, string>>(text2) ?? new Dictionary<string, string>()) { dictionary2[item2.Key] = item2.Value; } } loadedTexts[language] = dictionary2; foreach (KeyValuePair<string, string> item3 in dictionary2) { UpdatePlaceholderText(__instance, item3.Key); } } static Localizer() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown PlaceholderProcessors = new Dictionary<string, Dictionary<string, Func<string>>>(); loadedTexts = new Dictionary<string, Dictionary<string, string>>(); localizationLanguage = new ConditionalWeakTable<Localization, string>(); localizationObjects = new List<WeakReference<Localization>>(); fileExtensions = new List<string> { ".json", ".yml" }; new Harmony("org.bepinex.helpers.LocalizationManager").Patch((MethodBase)AccessTools.DeclaredMethod(typeof(Localization), "LoadCSV", (Type[])null, (Type[])null), (HarmonyMethod)null, new HarmonyMethod(AccessTools.DeclaredMethod(typeof(Localizer), "LoadLocalization", (Type[])null, (Type[])null)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null); } [return: <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(2)] private static byte[] LoadTranslationFromAssembly(string language) { foreach (string fileExtension in fileExtensions) { byte[] array = ReadEmbeddedFileBytes("translations." + language + fileExtension); if (array != null) { return array; } } return null; } [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(2)] public static byte[] ReadEmbeddedFileBytes([<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(1)] string resourceFileName, Assembly containingAssembly = null) { using MemoryStream memoryStream = new MemoryStream(); if ((object)containingAssembly == null) { containingAssembly = Assembly.GetCallingAssembly(); } string text = containingAssembly.GetManifestResourceNames().FirstOrDefault([<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (string str) => str.EndsWith(resourceFileName, StringComparison.Ordinal)); if (text != null) { containingAssembly.GetManifestResourceStream(text)?.CopyTo(memoryStream); } return (memoryStream.Length == 0L) ? null : memoryStream.ToArray(); } } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [<26081615-c12a-4a8f-8843-4860be1c3ca3>Embedded] internal sealed class <26081615-c12a-4a8f-8843-4860be1c3ca3>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] [CompilerGenerated] [<26081615-c12a-4a8f-8843-4860be1c3ca3>Embedded] internal sealed class <4d10a6e1-47c7-46a6-afc0-7c285a49069c>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <4d10a6e1-47c7-46a6-afc0-7c285a49069c>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <4d10a6e1-47c7-46a6-afc0-7c285a49069c>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] [<26081615-c12a-4a8f-8843-4860be1c3ca3>Embedded] [CompilerGenerated] internal sealed class <32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContextAttribute : Attribute { public readonly byte Flag; public <32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace System.Diagnostics.CodeAnalysis { [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, Inherited = false)] internal sealed class <4696f677-ea8c-4a3c-af13-438e19e5cdde>AllowNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, Inherited = false)] internal sealed class <53efa7ac-51b4-47ae-b39b-03f1783df120>DisallowNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Method, Inherited = false)] internal sealed class <e3e3e55f-3e18-4636-9b57-296f24b69327>DoesNotReturnAttribute : Attribute { } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <bde397c6-55c8-4abc-83cc-379313379a78>DoesNotReturnIfAttribute : Attribute { public bool ParameterValue { get; } public <bde397c6-55c8-4abc-83cc-379313379a78>DoesNotReturnIfAttribute(bool parameterValue) { ParameterValue = parameterValue; } } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, Inherited = false)] internal sealed class <25f324bd-84f0-415f-82de-7fb568c99fdd>MaybeNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <6ca662db-3f4e-430d-918a-ce522cfd9610>MaybeNullWhenAttribute : Attribute { public bool ReturnValue { get; } public <6ca662db-3f4e-430d-918a-ce522cfd9610>MaybeNullWhenAttribute(bool returnValue) { ReturnValue = returnValue; } } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, Inherited = false)] internal sealed class <285063f5-f1d5-47d1-87a4-730175e60490>NotNullAttribute : Attribute { } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = true, Inherited = false)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <2394ef7b-1271-4132-8bcf-fe8774ea2d93>NotNullIfNotNullAttribute : Attribute { public string ParameterName { get; } public <2394ef7b-1271-4132-8bcf-fe8774ea2d93>NotNullIfNotNullAttribute(string parameterName) { ParameterName = parameterName; } } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <6ebe61e2-9d83-4d64-bede-6d499c8cd526>NotNullWhenAttribute : Attribute { public bool ReturnValue { get; } public <6ebe61e2-9d83-4d64-bede-6d499c8cd526>NotNullWhenAttribute(bool returnValue) { ReturnValue = returnValue; } } } namespace System.Collections.Generic { internal static class <e97e0866-f196-42da-ae93-d80132c04d9b>DeconstructionExtensions { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public static void Deconstruct<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TKey, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TValue>([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 0, 1, 1 })] this KeyValuePair<TKey, TValue> pair, out TKey key, out TValue value) { key = pair.Key; value = pair.Value; } } } namespace YamlDotNet { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <ae6e5c4b-4198-4e1e-bdf6-4599aeca11bd>CultureInfoAdapter : CultureInfo { private readonly IFormatProvider provider; public <ae6e5c4b-4198-4e1e-bdf6-4599aeca11bd>CultureInfoAdapter(CultureInfo baseCulture, IFormatProvider provider) : base(baseCulture.LCID) { this.provider = provider; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] public override object GetFormat(Type formatType) { return provider.GetFormat(formatType); } } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal static class <5f0bc0eb-97ef-4762-ba36-7cb141456eef>ReflectionExtensions { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] private static readonly FieldInfo RemoteStackTraceField = typeof(Exception).GetField("_remoteStackTraceString", BindingFlags.Instance | BindingFlags.NonPublic); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static Type BaseType(this Type type) { return type.BaseType; } public static bool IsValueType(this Type type) { return type.IsValueType; } public static bool IsGenericType(this Type type) { return type.IsGenericType; } public static bool IsGenericTypeDefinition(this Type type) { return type.IsGenericTypeDefinition; } public static bool IsInterface(this Type type) { return type.IsInterface; } public static bool IsEnum(this Type type) { return type.IsEnum; } public static bool IsDbNull(this object value) { return value is DBNull; } public static bool HasDefaultConstructor(this Type type) { if (!type.IsValueType) { return type.GetConstructor(BindingFlags.Instance | BindingFlags.Public, null, Type.EmptyTypes, null) != null; } return true; } public static TypeCode GetTypeCode(this Type type) { return Type.GetTypeCode(type); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static PropertyInfo GetPublicProperty(this Type type, string name) { return type.GetProperty(name); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static FieldInfo GetPublicStaticField(this Type type, string name) { return type.GetField(name, BindingFlags.Static | BindingFlags.Public); } public static IEnumerable<PropertyInfo> GetProperties(this Type type, bool includeNonPublic) { BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public; if (includeNonPublic) { bindingFlags |= BindingFlags.NonPublic; } if (!type.IsInterface) { return type.GetProperties(bindingFlags); } return new Type[1] { type }.Concat(type.GetInterfaces()).SelectMany([<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (Type i) => i.GetProperties(bindingFlags)); } public static IEnumerable<PropertyInfo> GetPublicProperties(this Type type) { return GetProperties(type, includeNonPublic: false); } public static IEnumerable<FieldInfo> GetPublicFields(this Type type) { return type.GetFields(BindingFlags.Instance | BindingFlags.Public); } public static IEnumerable<MethodInfo> GetPublicStaticMethods(this Type type) { return type.GetMethods(BindingFlags.Static | BindingFlags.Public); } public static MethodInfo GetPrivateStaticMethod(this Type type, string name) { return type.GetMethod(name, BindingFlags.Static | BindingFlags.NonPublic) ?? throw new MissingMethodException("Expected to find a method named '" + name + "' in '" + type.FullName + "'."); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static MethodInfo GetPublicStaticMethod(this Type type, string name, params Type[] parameterTypes) { return type.GetMethod(name, BindingFlags.Static | BindingFlags.Public, null, parameterTypes, null); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static MethodInfo GetPublicInstanceMethod(this Type type, string name) { return type.GetMethod(name, BindingFlags.Instance | BindingFlags.Public); } public static Exception Unwrap(this TargetInvocationException ex) { Exception innerException = ex.InnerException; if (innerException == null) { return ex; } if (RemoteStackTraceField != null) { RemoteStackTraceField.SetValue(innerException, innerException.StackTrace + "\r\n"); } return innerException; } public static bool IsInstanceOf(this Type type, object o) { return type.IsInstanceOfType(o); } public static Attribute[] GetAllCustomAttributes<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TAttribute>(this PropertyInfo property) { return Attribute.GetCustomAttributes(property, typeof(TAttribute)); } } internal static class <941ec5ac-4d40-4a7b-88b6-4f877516e3d9>PropertyInfoExtensions { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public static object ReadValue(this PropertyInfo property, object target) { return property.GetValue(target, null); } } internal static class <7d5d9f1c-24b1-464e-968d-d193de442bbf>StandardRegexOptions { public const RegexOptions Compiled = RegexOptions.Compiled; } } namespace YamlDotNet.Serialization { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal abstract class <eb76b609-8df8-4534-9cae-26e509d10a4c>BuilderSkeleton<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TBuilder> where TBuilder : <eb76b609-8df8-4534-9cae-26e509d10a4c>BuilderSkeleton<TBuilder> { internal <cea7928e-fe3f-4a18-b006-3d3b3a7e92fb>INamingConvention namingConvention = <8995e1d3-0b7b-408a-a972-e2bbf3a9392c>NullNamingConvention.Instance; internal <95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver typeResolver; internal readonly <fb4b7fa1-8441-4bf5-b1c6-2eb9f5fc4f6f>YamlAttributeOverrides overrides; internal readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverterFactories; internal readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector> typeInspectorFactories; private bool ignoreFields; private bool includeNonPublicProperties; protected abstract TBuilder Self { get; } internal <eb76b609-8df8-4534-9cae-26e509d10a4c>BuilderSkeleton(<95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver typeResolver) { overrides = new <fb4b7fa1-8441-4bf5-b1c6-2eb9f5fc4f6f>YamlAttributeOverrides(); typeConverterFactories = new <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> { { typeof(<bef5a930-da6c-49ec-999f-112900ef45af>GuidConverter), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <bef5a930-da6c-49ec-999f-112900ef45af>GuidConverter(jsonCompatible: false) }, { typeof(<9c5db012-612c-4313-8ddd-298b51e82540>SystemTypeConverter), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <9c5db012-612c-4313-8ddd-298b51e82540>SystemTypeConverter() } }; typeInspectorFactories = new <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector>(); this.typeResolver = typeResolver ?? throw new ArgumentNullException("typeResolver"); } internal <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector BuildTypeInspector() { <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector2 = new <e2e8d4bb-aa86-4537-a592-da0771d341b7>ReadablePropertiesTypeInspector(typeResolver, includeNonPublicProperties); if (!ignoreFields) { <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector2 = new <c2c7f2cd-1fe4-46db-ab6b-c59e145f78cb>CompositeTypeInspector(new <de1b2f15-73cc-450b-9516-994c0414e337>ReadableFieldsTypeInspector(typeResolver), <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector2); } return typeInspectorFactories.BuildComponentChain(<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector2); } public TBuilder IgnoreFields() { ignoreFields = true; return Self; } public TBuilder IncludeNonPublicProperties() { includeNonPublicProperties = true; return Self; } public TBuilder WithNamingConvention(<cea7928e-fe3f-4a18-b006-3d3b3a7e92fb>INamingConvention namingConvention) { this.namingConvention = namingConvention ?? throw new ArgumentNullException("namingConvention"); return Self; } public TBuilder WithTypeResolver(<95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver typeResolver) { this.typeResolver = typeResolver ?? throw new ArgumentNullException("typeResolver"); return Self; } public abstract TBuilder WithTagMapping(<1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName tag, Type type); public TBuilder WithAttributeOverride<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TClass>(Expression<Func<TClass, object>> propertyAccessor, Attribute attribute) { overrides.Add(propertyAccessor, attribute); return Self; } public TBuilder WithAttributeOverride(Type type, string member, Attribute attribute) { overrides.Add(type, member, attribute); return Self; } public TBuilder WithTypeConverter(<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter typeConverter) { return WithTypeConverter(typeConverter, delegate(<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> w) { w.OnTop(); }); } public TBuilder WithTypeConverter(<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter typeConverter, Action<<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter>> where) { if (typeConverter == null) { throw new ArgumentNullException("typeConverter"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeConverterFactories.CreateRegistrationLocationSelector(typeConverter.GetType(), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => typeConverter)); return Self; } public TBuilder WithTypeConverter<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TYamlTypeConverter>(<3fa6f375-445f-4dee-a26b-bc8d17f188f3>WrapperFactory<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter, <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverterFactory, Action<<73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter>> where) where TYamlTypeConverter : <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter { if (typeConverterFactory == null) { throw new ArgumentNullException("typeConverterFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeConverterFactories.CreateTrackingRegistrationLocationSelector(typeof(TYamlTypeConverter), (<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter wrapped, <f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => typeConverterFactory(wrapped))); return Self; } public TBuilder WithoutTypeConverter<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TYamlTypeConverter>() where TYamlTypeConverter : <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter { return WithoutTypeConverter(typeof(TYamlTypeConverter)); } public TBuilder WithoutTypeConverter(Type converterType) { if (converterType == null) { throw new ArgumentNullException("converterType"); } typeConverterFactories.Remove(converterType); return Self; } public TBuilder WithTypeInspector<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TTypeInspector>(Func<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, TTypeInspector> typeInspectorFactory) where TTypeInspector : <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector { return WithTypeInspector(typeInspectorFactory, delegate(<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector> w) { w.OnTop(); }); } public TBuilder WithTypeInspector<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TTypeInspector>(Func<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, TTypeInspector> typeInspectorFactory, Action<<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector>> where) where TTypeInspector : <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector { if (typeInspectorFactory == null) { throw new ArgumentNullException("typeInspectorFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeInspectorFactories.CreateRegistrationLocationSelector(typeof(TTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => typeInspectorFactory(inner))); return Self; } public TBuilder WithTypeInspector<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TTypeInspector>(<6d6abc7c-5289-4261-ac18-729190ae0404>WrapperFactory<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector, TTypeInspector> typeInspectorFactory, Action<<73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector>> where) where TTypeInspector : <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector { if (typeInspectorFactory == null) { throw new ArgumentNullException("typeInspectorFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeInspectorFactories.CreateTrackingRegistrationLocationSelector(typeof(TTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector wrapped, <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => typeInspectorFactory(wrapped, inner))); return Self; } public TBuilder WithoutTypeInspector<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TTypeInspector>() where TTypeInspector : <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector { return WithoutTypeInspector(typeof(TTypeInspector)); } public TBuilder WithoutTypeInspector(Type inspectorType) { if (inspectorType == null) { throw new ArgumentNullException("inspectorType"); } typeInspectorFactories.Remove(inspectorType); return Self; } protected IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> BuildTypeConverters() { return typeConverterFactories.BuildComponentList(); } } internal delegate TComponent <3fa6f375-445f-4dee-a26b-bc8d17f188f3>WrapperFactory<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponentBase, TComponent>(TComponentBase wrapped) where TComponent : TComponentBase; internal delegate TComponent <6d6abc7c-5289-4261-ac18-729190ae0404>WrapperFactory<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TArgument, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponentBase, TComponent>(TComponentBase wrapped, TArgument argument) where TComponent : TComponentBase; [Flags] internal enum <ead2ece9-4510-4d84-97d5-e12dce07b06b>DefaultValuesHandling { Preserve = 0, OmitNull = 1, OmitDefaults = 2, OmitEmptyCollections = 4 } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal sealed class <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer : <6b246365-1057-46c5-828c-f59dafdc5010>IDeserializer { private readonly <47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer valueDeserializer; public <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer() : this(new <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder().BuildValueDeserializer()) { } private <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer(<47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer valueDeserializer) { this.valueDeserializer = valueDeserializer ?? throw new ArgumentNullException("valueDeserializer"); } public static <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer FromValueDeserializer(<47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer valueDeserializer) { return new <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer(valueDeserializer); } public T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(string input) { using StringReader input2 = new StringReader(input); return Deserialize<T>(input2); } public T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(TextReader input) { return Deserialize<T>(new <7739f480-c834-4af0-a816-b3dd934e4408>Parser(input)); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Deserialize(TextReader input) { return Deserialize(input, typeof(object)); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Deserialize(string input, Type type) { using StringReader input2 = new StringReader(input); return Deserialize(input2, type); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Deserialize(TextReader input, Type type) { return Deserialize(new <7739f480-c834-4af0-a816-b3dd934e4408>Parser(input), type); } public T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser) { return (T)Deserialize(parser, typeof(T)); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Deserialize(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser) { return Deserialize(parser, typeof(object)); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Deserialize(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser, Type type) { if (parser == null) { throw new ArgumentNullException("parser"); } if (type == null) { throw new ArgumentNullException("type"); } <b3eb4aca-80a3-482b-8b36-f3f008053e8b>StreamStart @event; bool flag = parser.TryConsume<<b3eb4aca-80a3-482b-8b36-f3f008053e8b>StreamStart>(out @event); <9fbf4e5f-67bb-4314-8b03-969808b34138>DocumentStart event2; bool flag2 = parser.TryConsume<<9fbf4e5f-67bb-4314-8b03-969808b34138>DocumentStart>(out event2); object result = null; if (!parser.Accept<<105f0d70-f8fc-4dd4-aa99-8e124704e422>DocumentEnd>(out var _) && !parser.Accept<<93361d76-563b-406d-acce-d50f1ad05428>StreamEnd>(out var _)) { using <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState = new <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState(); result = valueDeserializer.DeserializeValue(parser, type, <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState, valueDeserializer); <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState.OnDeserialization(); } if (flag2) { parser.Consume<<105f0d70-f8fc-4dd4-aa99-8e124704e422>DocumentEnd>(); } if (flag) { parser.Consume<<93361d76-563b-406d-acce-d50f1ad05428>StreamEnd>(); } return result; } } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 0, 1 })] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder : <eb76b609-8df8-4534-9cae-26e509d10a4c>BuilderSkeleton<<69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder> { private Lazy<<8c05df18-f4e3-409d-ba14-2bdd06c5f32d>IObjectFactory> objectFactory; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer> nodeDeserializerFactories; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver> nodeTypeResolverFactories; private readonly Dictionary<<1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName, Type> tagMappings; private readonly Dictionary<Type, Type> typeMappings; private bool ignoreUnmatched; protected override <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder Self => this; public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder() : base((<95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver)new <fc9899b9-0df7-45ca-86cd-934fbd4ed7b2>StaticTypeResolver()) { typeMappings = new Dictionary<Type, Type>(); objectFactory = new Lazy<<8c05df18-f4e3-409d-ba14-2bdd06c5f32d>IObjectFactory>(() => new <0d822e01-7d3c-4561-968e-5f999a125437>DefaultObjectFactory(typeMappings), isThreadSafe: true); tagMappings = new Dictionary<<1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName, Type> { { <f47530d5-cc5d-49cc-afaa-282f44690355>FailsafeSchema.Tags.Map, typeof(Dictionary<object, object>) }, { <f47530d5-cc5d-49cc-afaa-282f44690355>FailsafeSchema.Tags.Str, typeof(string) }, { <5e128070-7a91-41f3-b99f-8b4c157555ba>JsonSchema.Tags.Bool, typeof(bool) }, { <5e128070-7a91-41f3-b99f-8b4c157555ba>JsonSchema.Tags.Float, typeof(double) }, { <5e128070-7a91-41f3-b99f-8b4c157555ba>JsonSchema.Tags.Int, typeof(int) }, { <242f524b-807e-40b0-9545-abeadea65fca>DefaultSchema.Tags.Timestamp, typeof(DateTime) } }; typeInspectorFactories.Add(typeof(<85d7c3eb-1c61-4d24-9e22-0ca9d5872596>CachedTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => new <85d7c3eb-1c61-4d24-9e22-0ca9d5872596>CachedTypeInspector(inner)); typeInspectorFactories.Add(typeof(<b442eb4b-7629-400e-8211-a2c8f3f1f107>NamingConventionTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => (!(namingConvention is <8995e1d3-0b7b-408a-a972-e2bbf3a9392c>NullNamingConvention)) ? new <b442eb4b-7629-400e-8211-a2c8f3f1f107>NamingConventionTypeInspector(inner, namingConvention) : inner); typeInspectorFactories.Add(typeof(<0b6840a8-efd3-4aaf-a0a1-1e3fb5c5f889>YamlAttributesTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => new <0b6840a8-efd3-4aaf-a0a1-1e3fb5c5f889>YamlAttributesTypeInspector(inner)); typeInspectorFactories.Add(typeof(<fcfb1279-bc83-42ef-9d91-230d6caabfd0>YamlAttributeOverridesInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => (overrides == null) ? inner : new <fcfb1279-bc83-42ef-9d91-230d6caabfd0>YamlAttributeOverridesInspector(inner, overrides.Clone())); typeInspectorFactories.Add(typeof(<aed1b4d9-749b-4ec9-9324-788c517cd759>ReadableAndWritablePropertiesTypeInspector), (<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector inner) => new <aed1b4d9-749b-4ec9-9324-788c517cd759>ReadableAndWritablePropertiesTypeInspector(inner)); nodeDeserializerFactories = new <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer> { { typeof(<030c2902-22d2-41d5-9bd8-b99a9f48b7d3>YamlConvertibleNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <030c2902-22d2-41d5-9bd8-b99a9f48b7d3>YamlConvertibleNodeDeserializer(objectFactory.Value) }, { typeof(<9876ce5b-52fa-4e63-ab0c-c395edcd2d2c>YamlSerializableNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <9876ce5b-52fa-4e63-ab0c-c395edcd2d2c>YamlSerializableNodeDeserializer(objectFactory.Value) }, { typeof(<be7e65fb-bb7e-4552-be78-14d5fff9c2fe>TypeConverterNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <be7e65fb-bb7e-4552-be78-14d5fff9c2fe>TypeConverterNodeDeserializer(BuildTypeConverters()) }, { typeof(<723fa565-2789-47ac-b1da-0727e5a43a90>NullNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <723fa565-2789-47ac-b1da-0727e5a43a90>NullNodeDeserializer() }, { typeof(<cf909ead-44ad-451f-b644-ea9d6a0bd7c5>ScalarNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <cf909ead-44ad-451f-b644-ea9d6a0bd7c5>ScalarNodeDeserializer() }, { typeof(<eaf09b87-49b8-4e0b-9823-96e57a36e0b1>ArrayNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <eaf09b87-49b8-4e0b-9823-96e57a36e0b1>ArrayNodeDeserializer() }, { typeof(<671594e3-c167-4821-b279-df603d0d93e5>DictionaryNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <671594e3-c167-4821-b279-df603d0d93e5>DictionaryNodeDeserializer(objectFactory.Value) }, { typeof(<e2d77412-d178-43cb-94ad-7160c605e510>CollectionNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <e2d77412-d178-43cb-94ad-7160c605e510>CollectionNodeDeserializer(objectFactory.Value) }, { typeof(<cefbf87f-7803-4b12-9f47-296187069263>EnumerableNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <cefbf87f-7803-4b12-9f47-296187069263>EnumerableNodeDeserializer() }, { typeof(<dad7ba90-61f5-4654-aa2b-c27989abec39>ObjectNodeDeserializer), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <dad7ba90-61f5-4654-aa2b-c27989abec39>ObjectNodeDeserializer(objectFactory.Value, BuildTypeInspector(), ignoreUnmatched) } }; nodeTypeResolverFactories = new <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, <6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver> { { typeof(<0584b5c3-9011-4d3d-bf53-cf9b9797d5da>MappingNodeTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <0584b5c3-9011-4d3d-bf53-cf9b9797d5da>MappingNodeTypeResolver(typeMappings) }, { typeof(<f1ec454d-55c1-4827-9df8-eb50cf535e55>YamlConvertibleTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <f1ec454d-55c1-4827-9df8-eb50cf535e55>YamlConvertibleTypeResolver() }, { typeof(<a4b40055-5c1f-4ec8-ac55-a91b478cd132>YamlSerializableTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <a4b40055-5c1f-4ec8-ac55-a91b478cd132>YamlSerializableTypeResolver() }, { typeof(<23b6e9e5-431b-4e08-9666-709ade47303b>TagNodeTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <23b6e9e5-431b-4e08-9666-709ade47303b>TagNodeTypeResolver(tagMappings) }, { typeof(<665371a7-ea92-4848-8119-2f3203aa6ea5>PreventUnknownTagsNodeTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <665371a7-ea92-4848-8119-2f3203aa6ea5>PreventUnknownTagsNodeTypeResolver() }, { typeof(<7ebdd401-39ea-4718-bfc0-c02ad35586ab>DefaultContainersNodeTypeResolver), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => new <7ebdd401-39ea-4718-bfc0-c02ad35586ab>DefaultContainersNodeTypeResolver() } }; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithObjectFactory(<8c05df18-f4e3-409d-ba14-2bdd06c5f32d>IObjectFactory objectFactory) { if (objectFactory == null) { throw new ArgumentNullException("objectFactory"); } this.objectFactory = new Lazy<<8c05df18-f4e3-409d-ba14-2bdd06c5f32d>IObjectFactory>(() => objectFactory, isThreadSafe: true); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithObjectFactory(Func<Type, object> objectFactory) { if (objectFactory == null) { throw new ArgumentNullException("objectFactory"); } return WithObjectFactory(new <ed8841b3-fec7-4441-b427-87504c0b6ac7>LambdaObjectFactory(objectFactory)); } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeDeserializer(<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer nodeDeserializer) { return WithNodeDeserializer(nodeDeserializer, delegate(<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer> w) { w.OnTop(); }); } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeDeserializer(<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer nodeDeserializer, Action<<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer>> where) { if (nodeDeserializer == null) { throw new ArgumentNullException("nodeDeserializer"); } if (where == null) { throw new ArgumentNullException("where"); } where(nodeDeserializerFactories.CreateRegistrationLocationSelector(nodeDeserializer.GetType(), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => nodeDeserializer)); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeDeserializer<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TNodeDeserializer>(<3fa6f375-445f-4dee-a26b-bc8d17f188f3>WrapperFactory<<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer, TNodeDeserializer> nodeDeserializerFactory, Action<<73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer>> where) where TNodeDeserializer : <5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer { if (nodeDeserializerFactory == null) { throw new ArgumentNullException("nodeDeserializerFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(nodeDeserializerFactories.CreateTrackingRegistrationLocationSelector(typeof(TNodeDeserializer), (<5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer wrapped, <f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => nodeDeserializerFactory(wrapped))); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithoutNodeDeserializer<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TNodeDeserializer>() where TNodeDeserializer : <5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer { return WithoutNodeDeserializer(typeof(TNodeDeserializer)); } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithoutNodeDeserializer(Type nodeDeserializerType) { if (nodeDeserializerType == null) { throw new ArgumentNullException("nodeDeserializerType"); } nodeDeserializerFactories.Remove(nodeDeserializerType); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeTypeResolver(<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver nodeTypeResolver) { return WithNodeTypeResolver(nodeTypeResolver, delegate(<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver> w) { w.OnTop(); }); } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeTypeResolver(<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver nodeTypeResolver, Action<<de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver>> where) { if (nodeTypeResolver == null) { throw new ArgumentNullException("nodeTypeResolver"); } if (where == null) { throw new ArgumentNullException("where"); } where(nodeTypeResolverFactories.CreateRegistrationLocationSelector(nodeTypeResolver.GetType(), (<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => nodeTypeResolver)); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithNodeTypeResolver<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TNodeTypeResolver>(<3fa6f375-445f-4dee-a26b-bc8d17f188f3>WrapperFactory<<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver, TNodeTypeResolver> nodeTypeResolverFactory, Action<<73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver>> where) where TNodeTypeResolver : <6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver { if (nodeTypeResolverFactory == null) { throw new ArgumentNullException("nodeTypeResolverFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(nodeTypeResolverFactories.CreateTrackingRegistrationLocationSelector(typeof(TNodeTypeResolver), (<6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver wrapped, <f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing _) => nodeTypeResolverFactory(wrapped))); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithoutNodeTypeResolver<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TNodeTypeResolver>() where TNodeTypeResolver : <6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver { return WithoutNodeTypeResolver(typeof(TNodeTypeResolver)); } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithoutNodeTypeResolver(Type nodeTypeResolverType) { if (nodeTypeResolverType == null) { throw new ArgumentNullException("nodeTypeResolverType"); } nodeTypeResolverFactories.Remove(nodeTypeResolverType); return this; } public override <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithTagMapping(<1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName tag, Type type) { if (tag.IsEmpty) { throw new ArgumentException("Non-specific tags cannot be maped"); } if (type == null) { throw new ArgumentNullException("type"); } if (tagMappings.TryGetValue(tag, out var value)) { throw new ArgumentException($"Type already has a registered type '{value.FullName}' for tag '{tag}'", "tag"); } tagMappings.Add(tag, type); return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithTypeMapping<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TInterface, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] TConcrete>() where TConcrete : TInterface { Type typeFromHandle = typeof(TInterface); Type typeFromHandle2 = typeof(TConcrete); if (!typeFromHandle.IsAssignableFrom(typeFromHandle2)) { throw new InvalidOperationException("The type '" + typeFromHandle2.Name + "' does not implement interface '" + typeFromHandle.Name + "'."); } if (typeMappings.ContainsKey(typeFromHandle)) { typeMappings[typeFromHandle] = typeFromHandle2; } else { typeMappings.Add(typeFromHandle, typeFromHandle2); } return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder WithoutTagMapping(<1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName tag) { if (tag.IsEmpty) { throw new ArgumentException("Non-specific tags cannot be maped"); } if (!tagMappings.Remove(tag)) { throw new KeyNotFoundException($"Tag '{tag}' is not registered"); } return this; } public <69e87573-82aa-4993-95cf-a3c93c75a38f>DeserializerBuilder IgnoreUnmatchedProperties() { ignoreUnmatched = true; return this; } public <6b246365-1057-46c5-828c-f59dafdc5010>IDeserializer Build() { return <88eb5da2-a723-45d7-9aff-987318adaf58>Deserializer.FromValueDeserializer(BuildValueDeserializer()); } public <47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer BuildValueDeserializer() { return new <0cbf1b01-d6cb-4b74-aba0-3920974ed699>AliasValueDeserializer(new <d66c7a5a-aad4-4776-9c95-73a9a8d6bb86>NodeValueDeserializer(nodeDeserializerFactories.BuildComponentList(), nodeTypeResolverFactories.BuildComponentList())); } } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs { private readonly IEnumerable<<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseVisitors; public <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter> InnerVisitor { get; private set; } public <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter EventEmitter { get; private set; } public <0a500f82-3f6b-4c1b-b75e-6f862e81dde7>ObjectSerializer NestedObjectSerializer { get; private set; } public IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> TypeConverters { get; private set; } public <ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs(<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter> innerVisitor, <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter eventEmitter, IEnumerable<<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseVisitors, IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverters, <0a500f82-3f6b-4c1b-b75e-6f862e81dde7>ObjectSerializer nestedObjectSerializer) { InnerVisitor = innerVisitor ?? throw new ArgumentNullException("innerVisitor"); EventEmitter = eventEmitter ?? throw new ArgumentNullException("eventEmitter"); this.preProcessingPhaseVisitors = preProcessingPhaseVisitors ?? throw new ArgumentNullException("preProcessingPhaseVisitors"); TypeConverters = typeConverters ?? throw new ArgumentNullException("typeConverters"); NestedObjectSerializer = nestedObjectSerializer ?? throw new ArgumentNullException("nestedObjectSerializer"); } public T GetPreProcessingPhaseObjectGraphVisitor<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] T>() where T : <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing> { return preProcessingPhaseVisitors.OfType<T>().Single(); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal abstract class <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo { public <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor Source { get; } protected <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) { Source = source ?? throw new ArgumentNullException("source"); } } internal class <167ac6a1-5212-47f7-b090-71105f06b76a>AliasEventInfo : <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo { public <dc4772a3-26a2-4d83-bfce-5ad4bb9cb912>AnchorName Alias { get; } public bool NeedsExpansion { get; set; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public <167ac6a1-5212-47f7-b090-71105f06b76a>AliasEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source, <dc4772a3-26a2-4d83-bfce-5ad4bb9cb912>AnchorName alias) : base(source) { if (alias.IsEmpty) { throw new ArgumentNullException("alias"); } Alias = alias; } } internal class <e0d1e0ad-2fd5-4393-8e96-cbec928e3616>ObjectEventInfo : <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo { public <dc4772a3-26a2-4d83-bfce-5ad4bb9cb912>AnchorName Anchor { get; set; } public <1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName Tag { get; set; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] protected <e0d1e0ad-2fd5-4393-8e96-cbec928e3616>ObjectEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal sealed class <3aed835e-ae1e-4bce-a17c-7d76eeeb8bb5>ScalarEventInfo : <e0d1e0ad-2fd5-4393-8e96-cbec928e3616>ObjectEventInfo { public string RenderedValue { get; set; } public <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle Style { get; set; } public bool IsPlainImplicit { get; set; } public bool IsQuotedImplicit { get; set; } public <3aed835e-ae1e-4bce-a17c-7d76eeeb8bb5>ScalarEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { Style = source.ScalarStyle; RenderedValue = string.Empty; } } internal sealed class <9fe4e143-dcc7-402a-839d-21afcb6ec321>MappingStartEventInfo : <e0d1e0ad-2fd5-4393-8e96-cbec928e3616>ObjectEventInfo { public bool IsImplicit { get; set; } public <5b181b63-f86f-440c-9be6-aedba44e1e8a>MappingStyle Style { get; set; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public <9fe4e143-dcc7-402a-839d-21afcb6ec321>MappingStartEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { } } internal sealed class <b7508a28-8eea-4c05-a6df-18421bf732ce>MappingEndEventInfo : <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public <b7508a28-8eea-4c05-a6df-18421bf732ce>MappingEndEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { } } internal sealed class <979cc489-2316-4437-bc72-14e417d65f6d>SequenceStartEventInfo : <e0d1e0ad-2fd5-4393-8e96-cbec928e3616>ObjectEventInfo { public bool IsImplicit { get; set; } public <39e00ea4-191d-4354-b2fc-5a5acb84e0f2>SequenceStyle Style { get; set; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public <979cc489-2316-4437-bc72-14e417d65f6d>SequenceStartEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { } } internal sealed class <4d60a669-4ebc-4a72-bf8b-17b16b6fdcf7>SequenceEndEventInfo : <b42c5ccb-a7f0-4c75-ac5e-f8a07d6120a9>EventInfo { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public <4d60a669-4ebc-4a72-bf8b-17b16b6fdcf7>SequenceEndEventInfo(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor source) : base(source) { } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <c3028081-325d-4e1e-9537-d7dd4eae7ce6>IAliasProvider { <dc4772a3-26a2-4d83-bfce-5ad4bb9cb912>AnchorName GetAlias(object target); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <6b246365-1057-46c5-828c-f59dafdc5010>IDeserializer { T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(string input); T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(TextReader input); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Deserialize(TextReader input); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Deserialize(string input, Type type); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Deserialize(TextReader input, Type type); T Deserialize<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] T>(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Deserialize(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Deserialize(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser, Type type); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter { void Emit(<167ac6a1-5212-47f7-b090-71105f06b76a>AliasEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); void Emit(<3aed835e-ae1e-4bce-a17c-7d76eeeb8bb5>ScalarEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); void Emit(<9fe4e143-dcc7-402a-839d-21afcb6ec321>MappingStartEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); void Emit(<b7508a28-8eea-4c05-a6df-18421bf732ce>MappingEndEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); void Emit(<979cc489-2316-4437-bc72-14e417d65f6d>SequenceStartEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); void Emit(<4d60a669-4ebc-4a72-bf8b-17b16b6fdcf7>SequenceEndEventInfo eventInfo, <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <cea7928e-fe3f-4a18-b006-3d3b3a7e92fb>INamingConvention { string Apply(string value); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <5225cb4c-05fc-402f-a710-0834c646ceaf>INodeDeserializer { bool Deserialize(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser reader, Type expectedType, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 1, 1, 2 })] Func<<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser, Type, object> nestedObjectDeserializer, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] out object value); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <6d760d82-35d4-4450-8f7a-c06158df855e>INodeTypeResolver { bool Resolve([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] <0709b73f-68ff-4f31-be8f-0924231173a8>NodeEvent nodeEvent, ref Type currentType); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object Value { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] get; } Type Type { get; } Type StaticType { get; } <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle ScalarStyle { get; } } internal static class <191d66f8-1474-442e-b0ce-14be81a0e40c>ObjectDescriptorExtensions { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public static object NonNullValue(this <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor objectDescriptor) { return objectDescriptor.Value ?? throw new InvalidOperationException("Attempted to use a IObjectDescriptor of type '" + objectDescriptor.Type.FullName + "' whose Value is null at a point whete it is invalid to do so. This may indicate a bug in YamlDotNet."); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <8c05df18-f4e3-409d-ba14-2bdd06c5f32d>IObjectFactory { object Create(Type type); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <fd7d259c-0b9d-4721-afc6-9522c7eb433a>IObjectGraphTraversalStrategy { void Traverse<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TContext>(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor graph, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<TContext> visitor, TContext context); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TContext> { bool Enter(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor value, TContext context); bool EnterMapping(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor key, <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor value, TContext context); bool EnterMapping(<68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor key, <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor value, TContext context); void VisitScalar(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor scalar, TContext context); void VisitMappingStart(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor mapping, Type keyType, Type valueType, TContext context); void VisitMappingEnd(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor mapping, TContext context); void VisitSequenceStart(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor sequence, Type elementType, TContext context); void VisitSequenceEnd(<d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor sequence, TContext context); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor { string Name { get; } bool CanWrite { get; } Type Type { get; } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] Type TypeOverride { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] get; [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] set; } int Order { get; set; } <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle ScalarStyle { get; set; } T GetCustomAttribute<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] T>() where T : Attribute; <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor Read(object target); void Write(object target, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object value); } internal interface <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TBaseRegistrationType> { void InsteadOf<TRegistrationType>() where TRegistrationType : TBaseRegistrationType; void Before<TRegistrationType>() where TRegistrationType : TBaseRegistrationType; void After<TRegistrationType>() where TRegistrationType : TBaseRegistrationType; void OnTop(); void OnBottom(); } internal interface <73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TBaseRegistrationType> { void InsteadOf<TRegistrationType>() where TRegistrationType : TBaseRegistrationType; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <a7d895ee-6851-41bf-b90d-7294efdeb9e2>ISerializer { void Serialize(TextWriter writer, object graph); string Serialize(object graph); void Serialize(TextWriter writer, object graph, Type type); void Serialize(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object graph); void Serialize(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object graph, Type type); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector { IEnumerable<<68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor> GetProperties(Type type, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object container); <68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor GetProperty(Type type, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object container, string name, [<6ca662db-3f4e-430d-918a-ce522cfd9610>MaybeNullWhen(true)] bool ignoreUnmatched); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver { Type Resolve(Type staticType, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object actualValue); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer { [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object DeserializeValue(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser, Type expectedType, <6fdb204c-564c-4551-89bb-ab9e8f3215c4>SerializerState state, <47dd0fff-1c0b-4784-8b57-e33260a747a2>IValueDeserializer nestedObjectDeserializer); } internal interface <c8eb3a71-756a-49cc-ab44-7cd5353c0246>IValuePromise { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 2 })] event Action<object> ValueAvailable; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] internal interface <32b2645d-4a6d-42c7-bddc-9dc3f678802e>IValueSerializer { void SerializeValue([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(1)] <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object value, Type type); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <9bc416e5-09eb-4ab8-9dba-e3753333586d>IYamlConvertible { void Read(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser, Type expectedType, <e3ddad01-db8f-4c4f-885c-772ad0a1cecd>ObjectDeserializer nestedObjectDeserializer); void Write(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, <0a500f82-3f6b-4c1b-b75e-6f862e81dde7>ObjectSerializer nestedObjectSerializer); } [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] internal delegate object <e3ddad01-db8f-4c4f-885c-772ad0a1cecd>ObjectDeserializer(Type type); internal delegate void <0a500f82-3f6b-4c1b-b75e-6f862e81dde7>ObjectSerializer(object value, Type type = null); [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [Obsolete("Please use IYamlConvertible instead")] internal interface <82823eff-032b-4e4a-83ff-c39e87c788a9>IYamlSerializable { void ReadYaml(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser); void WriteYaml(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter); } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal interface <ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter { bool Accepts(Type type); [return: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object ReadYaml(<d50255a4-3a78-4c01-acc7-0844c8fe08e3>IParser parser, Type type); void WriteYaml(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object value, Type type); } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TArgument, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponent> : IEnumerable<Func<TArgument, TComponent>>, IEnumerable { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] public sealed class LazyComponentRegistration { public readonly Type ComponentType; public readonly Func<TArgument, TComponent> Factory; public LazyComponentRegistration(Type componentType, Func<TArgument, TComponent> factory) { ComponentType = componentType; Factory = factory; } } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] public sealed class TrackingLazyComponentRegistration { public readonly Type ComponentType; public readonly Func<TComponent, TArgument, TComponent> Factory; public TrackingLazyComponentRegistration(Type componentType, Func<TComponent, TArgument, TComponent> factory) { ComponentType = componentType; Factory = factory; } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] private class RegistrationLocationSelector : <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent> { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(1)] private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations; [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 0, 0 })] private readonly LazyComponentRegistration newRegistration; [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public RegistrationLocationSelector(<4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 0, 0 })] LazyComponentRegistration newRegistration) { this.registrations = registrations; this.newRegistration = newRegistration; } void <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent>.InsteadOf<TRegistrationType>() { if (newRegistration.ComponentType != typeof(TRegistrationType)) { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); } int index = registrations.EnsureRegistrationExists<TRegistrationType>(); registrations.entries[index] = newRegistration; } void <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent>.After<TRegistrationType>() { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); int num = registrations.EnsureRegistrationExists<TRegistrationType>(); registrations.entries.Insert(num + 1, newRegistration); } void <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent>.Before<TRegistrationType>() { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); int index = registrations.EnsureRegistrationExists<TRegistrationType>(); registrations.entries.Insert(index, newRegistration); } void <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent>.OnBottom() { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); registrations.entries.Add(newRegistration); } void <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent>.OnTop() { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); registrations.entries.Insert(0, newRegistration); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] private class TrackingRegistrationLocationSelector : <73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<TComponent> { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(1)] private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations; [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 0, 0 })] private readonly TrackingLazyComponentRegistration newRegistration; [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] public TrackingRegistrationLocationSelector(<4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 0, 0 })] TrackingLazyComponentRegistration newRegistration) { this.registrations = registrations; this.newRegistration = newRegistration; } void <73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<TComponent>.InsteadOf<TRegistrationType>() { if (newRegistration.ComponentType != typeof(TRegistrationType)) { registrations.EnsureNoDuplicateRegistrationType(newRegistration.ComponentType); } int index = registrations.EnsureRegistrationExists<TRegistrationType>(); Func<TArgument, TComponent> innerComponentFactory = registrations.entries[index].Factory; registrations.entries[index] = new LazyComponentRegistration(newRegistration.ComponentType, [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] (TArgument arg) => newRegistration.Factory(innerComponentFactory(arg), arg)); } } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 1, 1, 0, 0 })] private readonly List<LazyComponentRegistration> entries = new List<LazyComponentRegistration>(); public int Count => entries.Count; public IEnumerable<Func<TArgument, TComponent>> InReverseOrder { get { int i = entries.Count - 1; while (i >= 0) { yield return entries[i].Factory; int num = i - 1; i = num; } } } public <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> Clone() { <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList2 = new <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent>(); foreach (LazyComponentRegistration entry in entries) { <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList2.entries.Add(entry); } return <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList2; } public void Add(Type componentType, Func<TArgument, TComponent> factory) { entries.Add(new LazyComponentRegistration(componentType, factory)); } public void Remove(Type componentType) { for (int i = 0; i < entries.Count; i++) { if (entries[i].ComponentType == componentType) { entries.RemoveAt(i); return; } } throw new KeyNotFoundException("A component registration of type '" + componentType.FullName + "' was not found."); } public <de51bdf4-ed3c-4040-8466-53b18ca350fd>IRegistrationLocationSelectionSyntax<TComponent> CreateRegistrationLocationSelector(Type componentType, Func<TArgument, TComponent> factory) { return new RegistrationLocationSelector(this, new LazyComponentRegistration(componentType, factory)); } public <73211ad1-0087-4f6e-a370-26e8ab9ec9b7>ITrackingRegistrationLocationSelectionSyntax<TComponent> CreateTrackingRegistrationLocationSelector(Type componentType, Func<TComponent, TArgument, TComponent> factory) { return new TrackingRegistrationLocationSelector(this, new TrackingLazyComponentRegistration(componentType, factory)); } public IEnumerator<Func<TArgument, TComponent>> GetEnumerator() { return entries.Select([<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (LazyComponentRegistration e) => e.Factory).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } private int IndexOfRegistration(Type registrationType) { for (int i = 0; i < entries.Count; i++) { if (registrationType == entries[i].ComponentType) { return i; } } return -1; } private void EnsureNoDuplicateRegistrationType(Type componentType) { if (IndexOfRegistration(componentType) != -1) { throw new InvalidOperationException("A component of type '" + componentType.FullName + "' has already been registered."); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] private int EnsureRegistrationExists<TRegistrationType>() { int num = IndexOfRegistration(typeof(TRegistrationType)); if (num == -1) { throw new InvalidOperationException("A component of type '" + typeof(TRegistrationType).FullName + "' has not been registered."); } return num; } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal static class <76043546-1b08-42c7-9678-3fc7a7bea858>LazyComponentRegistrationListExtensions { public static TComponent BuildComponentChain<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponent>(this <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TComponent, TComponent> registrations, TComponent innerComponent) { return registrations.InReverseOrder.Aggregate(innerComponent, [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (TComponent inner, Func<TComponent, TComponent> factory) => factory(inner)); } public static TComponent BuildComponentChain<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TArgument, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponent>(this <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations, TComponent innerComponent, Func<TComponent, TArgument> argumentBuilder) { return registrations.InReverseOrder.Aggregate(innerComponent, [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (TComponent inner, Func<TArgument, TComponent> factory) => factory(argumentBuilder(inner))); } public static List<TComponent> BuildComponentList<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponent>(this <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, TComponent> registrations) { return registrations.Select([<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (Func<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing, TComponent> factory) => factory(default(<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing))).ToList(); } public static List<TComponent> BuildComponentList<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TArgument, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] TComponent>(this <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<TArgument, TComponent> registrations, TArgument argument) { return registrations.Select([<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (Func<TArgument, TComponent> factory) => factory(argument)).ToList(); } } [StructLayout(LayoutKind.Sequential, Size = 1)] internal struct <f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing { } [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] internal sealed class <b760bff9-887d-4663-80f8-53210bea311f>ObjectDescriptor : <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] [field: <4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public object Value { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] get; [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] private set; } public Type Type { get; private set; } public Type StaticType { get; private set; } public <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle ScalarStyle { get; private set; } public <b760bff9-887d-4663-80f8-53210bea311f>ObjectDescriptor([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object value, Type type, Type staticType) : this(value, type, staticType, <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle.Any) { } public <b760bff9-887d-4663-80f8-53210bea311f>ObjectDescriptor([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object value, Type type, Type staticType, <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle scalarStyle) { Value = value; Type = type ?? throw new ArgumentNullException("type"); StaticType = staticType ?? throw new ArgumentNullException("staticType"); ScalarStyle = scalarStyle; } } internal delegate <fd7d259c-0b9d-4721-afc6-9522c7eb433a>IObjectGraphTraversalStrategy <f25d4d27-ee31-44e2-8ba2-ca75d3802c4c>ObjectGraphTraversalStrategyFactory(<975db0b6-c39e-4d53-a09b-6a0833a3b846>ITypeInspector typeInspector, <95aeb65b-0659-47c0-bf00-63f06be92a43>ITypeResolver typeResolver, IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverters, int maximumRecursion); [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal sealed class <ebc265bc-cffc-4191-a0cf-c3918fc95275>PropertyDescriptor : <68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor { private readonly <68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor baseDescriptor; public string Name { get; set; } public Type Type => baseDescriptor.Type; [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] public Type TypeOverride { [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] get { return baseDescriptor.TypeOverride; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] set { baseDescriptor.TypeOverride = value; } } public int Order { get; set; } public <4327de0e-6cac-46cd-8374-d6de04c1f86e>ScalarStyle ScalarStyle { get { return baseDescriptor.ScalarStyle; } set { baseDescriptor.ScalarStyle = value; } } public bool CanWrite => baseDescriptor.CanWrite; public <ebc265bc-cffc-4191-a0cf-c3918fc95275>PropertyDescriptor(<68094b1d-c0ce-4fce-a4cc-5443efce5c2b>IPropertyDescriptor baseDescriptor) { this.baseDescriptor = baseDescriptor; Name = baseDescriptor.Name; } public void Write(object target, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] object value) { baseDescriptor.Write(target, value); } public T GetCustomAttribute<[<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] T>() where T : Attribute { return baseDescriptor.GetCustomAttribute<T>(); } public <d4985626-cace-4d7f-a3b8-2030919ff611>IObjectDescriptor Read(object target) { return baseDescriptor.Read(target); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] internal sealed class <5099a524-4b9e-444f-af8c-65d3bf86e73c>Serializer : <a7d895ee-6851-41bf-b90d-7294efdeb9e2>ISerializer { private readonly <32b2645d-4a6d-42c7-bddc-9dc3f678802e>IValueSerializer valueSerializer; private readonly <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings emitterSettings; public <5099a524-4b9e-444f-af8c-65d3bf86e73c>Serializer() : this(new <5d656743-2f9c-4877-8706-fa5888ff9038>SerializerBuilder().BuildValueSerializer(), <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings.Default) { } private <5099a524-4b9e-444f-af8c-65d3bf86e73c>Serializer(<32b2645d-4a6d-42c7-bddc-9dc3f678802e>IValueSerializer valueSerializer, <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings emitterSettings) { this.valueSerializer = valueSerializer ?? throw new ArgumentNullException("valueSerializer"); this.emitterSettings = emitterSettings ?? throw new ArgumentNullException("emitterSettings"); } public static <5099a524-4b9e-444f-af8c-65d3bf86e73c>Serializer FromValueSerializer(<32b2645d-4a6d-42c7-bddc-9dc3f678802e>IValueSerializer valueSerializer, <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings emitterSettings) { return new <5099a524-4b9e-444f-af8c-65d3bf86e73c>Serializer(valueSerializer, emitterSettings); } public void Serialize(TextWriter writer, object graph) { Serialize(new <b2674405-37d3-4d41-a72f-df28d9ab3ee7>Emitter(writer, emitterSettings), graph); } public string Serialize(object graph) { using StringWriter stringWriter = new StringWriter(); Serialize(stringWriter, graph); return stringWriter.ToString(); } public void Serialize(TextWriter writer, object graph, Type type) { Serialize(new <b2674405-37d3-4d41-a72f-df28d9ab3ee7>Emitter(writer, emitterSettings), graph, type); } public void Serialize(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object graph) { if (emitter == null) { throw new ArgumentNullException("emitter"); } EmitDocument(emitter, graph, null); } public void Serialize(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object graph, Type type) { if (emitter == null) { throw new ArgumentNullException("emitter"); } if (type == null) { throw new ArgumentNullException("type"); } EmitDocument(emitter, graph, type); } private void EmitDocument(<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object graph, [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(2)] Type type) { emitter.Emit(new <b3eb4aca-80a3-482b-8b36-f3f008053e8b>StreamStart()); emitter.Emit(new <9fbf4e5f-67bb-4314-8b03-969808b34138>DocumentStart()); valueSerializer.SerializeValue(emitter, graph, type); emitter.Emit(new <105f0d70-f8fc-4dd4-aa99-8e124704e422>DocumentEnd(isImplicit: true)); emitter.Emit(new <93361d76-563b-406d-acce-d50f1ad05428>StreamEnd()); } } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(1)] [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(new byte[] { 0, 1 })] internal sealed class <5d656743-2f9c-4877-8706-fa5888ff9038>SerializerBuilder : <eb76b609-8df8-4534-9cae-26e509d10a4c>BuilderSkeleton<<5d656743-2f9c-4877-8706-fa5888ff9038>SerializerBuilder> { [<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(0)] private class ValueSerializer : <32b2645d-4a6d-42c7-bddc-9dc3f678802e>IValueSerializer { private readonly <fd7d259c-0b9d-4721-afc6-9522c7eb433a>IObjectGraphTraversalStrategy traversalStrategy; private readonly <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter eventEmitter; private readonly IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverters; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter>, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseObjectGraphVisitorFactories; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter>> emissionPhaseObjectGraphVisitorFactories; public ValueSerializer(<fd7d259c-0b9d-4721-afc6-9522c7eb433a>IObjectGraphTraversalStrategy traversalStrategy, <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter eventEmitter, IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter> typeConverters, <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter>, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseObjectGraphVisitorFactories, <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter>> emissionPhaseObjectGraphVisitorFactories) { this.traversalStrategy = traversalStrategy; this.eventEmitter = eventEmitter; this.typeConverters = typeConverters; this.preProcessingPhaseObjectGraphVisitorFactories = preProcessingPhaseObjectGraphVisitorFactories; this.emissionPhaseObjectGraphVisitorFactories = emissionPhaseObjectGraphVisitorFactories; } [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] public void SerializeValue([<4d10a6e1-47c7-46a6-afc0-7c285a49069c>Nullable(1)] <b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter emitter, object value, Type type) { Type type2 = type ?? ((value != null) ? value.GetType() : typeof(object)); Type staticType = type ?? typeof(object); <b760bff9-887d-4663-80f8-53210bea311f>ObjectDescriptor graph = new <b760bff9-887d-4663-80f8-53210bea311f>ObjectDescriptor(value, type2, staticType); List<<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseObjectGraphVisitors = preProcessingPhaseObjectGraphVisitorFactories.BuildComponentList(typeConverters); foreach (<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing> item in preProcessingPhaseObjectGraphVisitors) { traversalStrategy.Traverse(graph, item, default(<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing)); } <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter> visitor = emissionPhaseObjectGraphVisitorFactories.BuildComponentChain(new <5efaf176-afc8-44f5-8048-158418ae5e9c>EmittingObjectGraphVisitor(eventEmitter), [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(0)] (<92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter> inner) => new <ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs(inner, eventEmitter, preProcessingPhaseObjectGraphVisitors, typeConverters, NestedObjectSerializer)); traversalStrategy.Traverse(graph, visitor, emitter); [<32eaa292-3ef3-4478-a815-82e63cefa21a>NullableContext(2)] void NestedObjectSerializer(object v, Type t) { SerializeValue(emitter, v, t); } } } private <f25d4d27-ee31-44e2-8ba2-ca75d3802c4c>ObjectGraphTraversalStrategyFactory objectGraphTraversalStrategyFactory; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<IEnumerable<<ded18eab-164c-46d9-9c89-720592ac6cec>IYamlTypeConverter>, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<f5db8e5f-881e-4b3a-b34e-794a050e6ba7>Nothing>> preProcessingPhaseObjectGraphVisitorFactories; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<ac4c0c44-6358-410b-aefe-1e1089b96aed>EmissionPhaseObjectGraphVisitorArgs, <92aee588-b33c-4463-9466-9122baaeef73>IObjectGraphVisitor<<b96ede0e-ee5e-4739-a3da-760a5783be20>IEmitter>> emissionPhaseObjectGraphVisitorFactories; private readonly <4125db90-a072-4fa3-b5e3-c3e8ca4927b5>LazyComponentRegistrationList<<f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter, <f5d078b1-e904-4f7e-89bd-00d5b3e36461>IEventEmitter> eventEmitterFactories; private readonly IDictionary<Type, <1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName> tagMappings = new Dictionary<Type, <1f53c61d-84f5-44c6-a5c0-d72a1b28fcb4>TagName>(); private int maximumRecursion = 50; private <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings emitterSettings = <faa3db03-7faf-4112-ba83-f5953fff2205>EmitterSettings.Default; private <ead2ece9-4510-4d84-97d5-e12dce07b06b>DefaultValuesHandling defaultValuesHandlingConfiguration; protected override <5d6567