using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Model.Navigation; namespace SmartNav.Data; internal static class ZoneBoundaryDerivation { [Serializable] [CompilerGenerated] private sealed class _003C_003Ec { public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); public static Func _003C_003E9__1_1; public static Func, (ushort, ushort)> _003C_003E9__1_2; public static Func, List> _003C_003E9__1_3; public static Func _003C_003E9__1_4; public static Func<(float Distance, int GateIdx, int OverrideIdx), float> _003C_003E9__1_5; internal (ushort, ushort) _003CApplyOverrides_003Eb__1_1(ZoneBoundary b) { return _003CApplyOverrides_003Eg__PairKey_007C1_0(_206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b))); } internal (ushort, ushort) _003CApplyOverrides_003Eb__1_2(IGrouping<(ushort, ushort), ZoneBoundary> g) { return g.Key; } internal List _003CApplyOverrides_003Eb__1_3(IGrouping<(ushort, ushort), ZoneBoundary> g) { return g.ToList(); } internal (ushort TerritoryA, ushort TerritoryB) _003CApplyOverrides_003Eb__1_4(ZoneBoundaryPositionOverride o) { return (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB); } internal float _003CApplyOverrides_003Eb__1_5((float Distance, int GateIdx, int OverrideIdx) c) { return c.Distance; } static BoundarySide _200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(ZoneBoundary P_0) { return P_0.Side1; } static ushort _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(BoundarySide P_0) { return P_0.TerritoryId; } static BoundarySide _202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(ZoneBoundary P_0) { return P_0.Side2; } } [MethodImpl(MethodImplOptions.NoInlining)] public static List Derive(IReadOnlyList exitRanges, IReadOnlyDictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, ILogger logger) { List list = new List(); HashSet<(ushort, uint)> hashSet = new HashSet<(ushort, uint)>(); List list2 = new List(); IEnumerator enumerator = exitRanges.GetEnumerator(); try { ExitRangeEntry current = default(ExitRangeEntry); Vector3? vector = default(Vector3?); ExitRangeEntry exitRangeEntry = default(ExitRangeEntry); ExitRangeEntry current2 = default(ExitRangeEntry); ExitRangeEntry exitRangeEntry2 = default(ExitRangeEntry); ExitRangeEntry current3 = default(ExitRangeEntry); PopRangeEntry value2 = default(PopRangeEntry); float num12 = default(float); Vector3? vector3 = default(Vector3?); while (true) { int num; if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator)) { current = enumerator.Current; if (hashSet.Contains((current.SourceTerritoryId, current.InstanceId)) || current.DestTerritoryId == 0) { continue; } vector = null; if (popRangeIndex.TryGetValue((current.DestTerritoryId, current.DestInstanceId), out PopRangeEntry value)) { vector = value.Position; } exitRangeEntry = null; IEnumerator enumerator2 = exitRanges.GetEnumerator(); try { num = 2034045205; while (true) { int num2 = num; int num3 = 2034045207; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 10: num = 2034045205; break; case 9: num = ((current2.DestInstanceId == 0) ? 2034045207 : 2034045215); break; case 6: num = ((current2.ReturnInstanceId == 0) ? 2034045205 : 2034045202); break; case 0: num = ((current.DestInstanceId == 0) ? 2034045201 : 2034045211); break; case 8: num = ((current2.DestInstanceId == current.ReturnInstanceId) ? 2034045212 : 2034045207); break; case 5: num = ((current2.ReturnInstanceId != current.InstanceId) ? 2034045205 : 2034045212); break; case 4: num = ((current2.DestTerritoryId != current.SourceTerritoryId) ? 2034045205 : 2034045204); break; case 7: current2 = enumerator2.Current; num = ((current2.SourceTerritoryId != current.DestTerritoryId) ? 2034045205 : 2034045203); break; case 3: num = (hashSet.Contains((current2.SourceTerritoryId, current2.InstanceId)) ? 2034045205 : 2034045214); break; case 2: num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 2034045200 : 2034045206); break; case 11: exitRangeEntry = current2; goto end_IL_009f; case 12: num = ((current.DestInstanceId == current2.ReturnInstanceId) ? 2034045212 : 2034045201); break; case 1: goto end_IL_009f; } continue; end_IL_009f: break; } } finally { num = ((enumerator2 == null) ? 704950987 : 704950984); while (true) { int num7 = num; int num3 = 704950985; int num4 = num7; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 704950984; break; case 1: _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); num = 704950987; break; case 2: goto end_IL_02e0; } continue; end_IL_02e0: break; } } if (!(exitRangeEntry == null)) { goto IL_07b3; } float num8 = float.MaxValue; exitRangeEntry2 = null; enumerator2 = exitRanges.GetEnumerator(); try { num = 1641010271; while (true) { int num9 = num; int num3 = 1641010266; int num4 = num9; int num10 = num4 + num3; int num11 = num4 & num3; switch (num10 - (num11 + num11)) { case 6: num = ((!popRangeIndex.TryGetValue((current.SourceTerritoryId, current3.DestInstanceId), out value2)) ? 1641010256 : 1641010267); break; case 4: current3 = enumerator2.Current; num = ((current3.SourceTerritoryId != current.DestTerritoryId) ? 1641010271 : 1641010258); break; case 5: num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 1641010270 : 1641010269); break; case 1: num12 = Vector3.Distance(current.SourcePosition, value2.Position); num = ((!(num12 < num8)) ? 1641010271 : 1641010259); break; case 0: num = 1641010271; break; case 2: exitRangeEntry2 = current3; num = 1641010271; break; case 3: num = (hashSet.Contains((current3.SourceTerritoryId, current3.InstanceId)) ? 1641010271 : 1641010268); break; case 10: num = (((object)exitRangeEntry2 != null) ? 1641010271 : 1641010264); break; case 8: num = ((current3.DestTerritoryId != current.SourceTerritoryId) ? 1641010271 : 1641010265); break; case 9: num8 = num12; exitRangeEntry = current3; num = 1641010271; break; case 7: goto end_IL_0357; } continue; end_IL_0357: break; } } finally { num = ((enumerator2 == null) ? (-564357358) : (-564357359)); while (true) { int num13 = num; int num3 = -564357357; int num4 = num13; int num14 = num4 + num3; int num15 = num4 & num3; switch (num14 - (num15 + num15)) { case 0: num = -564357359; break; case 1: goto end_IL_053f; case 2: _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); num = -564357358; break; } continue; end_IL_053f: break; } } num = (((object)exitRangeEntry != null) ? (-267048228) : (-267048233)); } else { num = -267048227; } goto IL_05ac; IL_07b3: num = (((object)exitRangeEntry != null) ? (-267048226) : (-267048232)); goto IL_05ac; IL_05ac: while (true) { int num16 = num; int num3 = -267048226; int num4 = num16; Vector3? vector2; switch ((num4 | num3) - (num4 & num3)) { case 4: num = -267048233; break; case 6: vector2 = vector; goto IL_061f; case 0: vector2 = exitRangeEntry.SourcePosition; goto IL_061f; case 7: list2.Add(current); num = -267048234; break; case 1: goto IL_0659; case 8: goto end_IL_05ac; case 2: goto IL_07b3; case 9: exitRangeEntry = exitRangeEntry2; num = -267048228; break; case 5: hashSet.Add((exitRangeEntry.SourceTerritoryId, exitRangeEntry.InstanceId)); num = -267048234; break; case 3: goto end_IL_079b; IL_061f: vector3 = vector2; num = (vector3.HasValue ? (-267048225) : (-267048231)); break; } continue; IL_0659: ZoneBoundary zoneBoundary = _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E(); DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 3); defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1989489141)); defaultInterpolatedStringHandler.AppendFormatted(current.SourceTerritoryId); defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-642304930)); defaultInterpolatedStringHandler.AppendFormatted(current.DestTerritoryId); defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-493592002)); defaultInterpolatedStringHandler.AppendFormatted(current.InstanceId); _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(zoneBoundary, defaultInterpolatedStringHandler.ToStringAndClear()); BoundarySide boundarySide = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E(); _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide, current.SourceTerritoryId); _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide, current.SourcePosition); _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide, TriggerOf(current)); _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(zoneBoundary, boundarySide); BoundarySide boundarySide2 = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E(); _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide2, current.DestTerritoryId); _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide2, vector3.Value); _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide2, (exitRangeEntry == null) ? null : TriggerOf(exitRangeEntry)); _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(zoneBoundary, boundarySide2); _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(zoneBoundary, exitRangeEntry == null); list.Add(zoneBoundary); hashSet.Add((current.SourceTerritoryId, current.InstanceId)); num = ((!(exitRangeEntry != null)) ? (-267048234) : (-267048229)); continue; end_IL_05ac: break; } continue; end_IL_079b: break; } } finally { int num = ((enumerator == null) ? (-1091399177) : (-1091399180)); while (true) { int num17 = num; int num3 = -1091399178; int num4 = num17; int num18 = num4 + num3; int num19 = num4 & num3; switch (num18 - (num19 + num19)) { case 0: num = -1091399180; break; case 2: _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator); num = -1091399177; break; case 1: goto end_IL_082c; } continue; end_IL_082c: break; } } HashSet<(ushort, ushort)> hashSet2 = new HashSet<(ushort, ushort)>(); using (List.Enumerator enumerator3 = list.GetEnumerator()) { int num = 1178177588; while (true) { int num20 = num; int num3 = 1178177589; int num4 = num20; switch ((num4 | num3) - (num4 & num3)) { case 3: num = 1178177588; break; case 2: { ZoneBoundary current4 = enumerator3.Current; hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)))); hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)))); num = 1178177588; break; } case 1: num = (enumerator3.MoveNext() ? 1178177591 : 1178177589); break; case 0: goto end_IL_0894; } continue; end_IL_0894: break; } } using List.Enumerator enumerator4 = list2.GetEnumerator(); int num = -784506281; ExitRangeEntry current5 = default(ExitRangeEntry); while (true) { int num21 = num; int num3 = -784506286; int num4 = num21; int num22 = num4 + num3; int num23 = num4 & num3; switch (num22 - (num23 + num23)) { case 2: _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1622363206), new object[4] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId, current5.DestInstanceId }); num = -784506281; break; case 5: num = (enumerator4.MoveNext() ? (-784506285) : (-784506287)); break; case 1: current5 = enumerator4.Current; num = ((!hashSet2.Contains((current5.SourceTerritoryId, current5.DestTerritoryId))) ? (-784506288) : (-784506282)); break; case 0: num = -784506281; break; case 4: _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-566963400), new object[3] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId }); num = -784506281; break; case 3: return list; } } } [MethodImpl(MethodImplOptions.NoInlining)] public static void ApplyOverrides(List boundaries, IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> flyingPairs, IReadOnlyList positionOverrides, ILogger logger) { HashSet<(ushort, ushort)> hashSet = new HashSet<(ushort, ushort)>(flyingPairs); int num; using (List.Enumerator enumerator = boundaries.GetEnumerator()) { num = -1561912476; ZoneBoundary current = default(ZoneBoundary); while (true) { int num2 = num; int num3 = -1561912474; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(current, true); num = -1561912476; break; case 1: current = enumerator.Current; num = ((!hashSet.Contains(PairKey(_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current))))) ? (-1561912476) : (-1561912474)); break; case 2: num = (enumerator.MoveNext() ? (-1561912473) : (-1561912475)); break; case 4: num = -1561912476; break; case 3: goto end_IL_001a; } continue; end_IL_001a: break; } } Dictionary<(ushort, ushort), List> dictionary = (from b in boundaries group b by PairKey(_003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)))).ToDictionary((IGrouping<(ushort, ushort), ZoneBoundary> g) => g.Key, (IGrouping<(ushort, ushort), ZoneBoundary> g) => g.ToList()); int num7 = 0; IEnumerator> enumerator2 = (from o in positionOverrides group o by (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB)).GetEnumerator(); try { List list = default(List); bool[] array2 = default(bool[]); (float, int, int) current3 = default((float, int, int)); int num14 = default(int); while (true) { IL_0519: if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2)) { IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride> current2 = enumerator2.Current; list = current2.ToList(); if (!dictionary.TryGetValue(current2.Key, out var value)) { num7 += list.Count; _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1356546708), new object[3] { current2.Key.Item1, current2.Key.Item2, list.Count }); continue; } List<(float, int, int)> list2 = new List<(float, int, int)>(); int num8 = 0; while (num8 < value.Count) { int num3; int num4; for (int num9 = 0; num9 < list.Count; num9 = (num4 | num3) + (num4 & num3)) { list2.Add((OverrideDistance(value[num8], list[num9]), num8, num9)); int num10 = num9; num3 = 1; num4 = num10; } int num11 = num8; num3 = 1; num4 = num11; num8 = (num4 | num3) + (num4 & num3); } bool[] array = new bool[value.Count]; array2 = new bool[list.Count]; IEnumerator<(float, int, int)> enumerator3 = list2.OrderBy<(float, int, int), float>(((float Distance, int GateIdx, int OverrideIdx) c) => c.Distance).GetEnumerator(); try { num = -397486009; while (true) { int num12 = num; int num3 = -397486013; int num4 = num12; switch ((num4 | num3) - (num4 & num3)) { case 3: num = -397486009; break; case 5: num = (array2[current3.Item3] ? (-397486009) : (-397486015)); break; case 4: num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator3) ? (-397486014) : (-397486013)); break; case 2: { array[current3.Item2] = true; array2[current3.Item3] = true; ZoneBoundary zoneBoundary = value[current3.Item2]; ZoneBoundaryPositionOverride zoneBoundaryPositionOverride = list[current3.Item3]; bool flag = _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary)) == zoneBoundaryPositionOverride.TerritoryA; _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionA : zoneBoundaryPositionOverride.PositionB); _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionB : zoneBoundaryPositionOverride.PositionA); num = -397486009; break; } case 1: current3 = enumerator3.Current; num = (array[current3.Item2] ? (-397486009) : (-397486010)); break; case 0: goto end_IL_02f4; } continue; end_IL_02f4: break; } } finally { num = ((enumerator3 == null) ? 386803249 : 386803248); while (true) { int num13 = num; int num3 = 386803249; int num4 = num13; switch ((num4 | num3) - (num4 & num3)) { case 2: num = 386803248; break; case 0: goto end_IL_0476; case 1: _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator3); num = 386803249; break; } continue; end_IL_0476: break; } } num14 = 0; num = -1707302670; } else { num = -1707302671; } while (true) { int num15 = num; int num3 = -1707302671; int num4 = num15; switch ((num4 | num3) - (num4 & num3)) { default: continue; case 5: num = -1707302670; continue; case 2: break; case 1: { int num19 = num14; num3 = 1; num4 = num19; int num20 = num4 ^ num3; int num21 = num4 & num3; num14 = num20 + (num21 + num21); num = -1707302670; continue; } case 4: num = (array2[num14] ? (-1707302672) : (-1707302665)); continue; case 3: num = ((num14 < list.Count) ? (-1707302667) : (-1707302669)); continue; case 6: { int num16 = num7; num3 = 1; num4 = num16; int num17 = num4 ^ num3; int num18 = num4 & num3; num7 = num17 + (num18 + num18); num = -1707302672; continue; } case 0: goto end_IL_04d1; } goto IL_0519; continue; end_IL_04d1: break; } break; } } finally { num = ((enumerator2 == null) ? (-284585100) : (-284585099)); while (true) { int num22 = num; int num3 = -284585100; int num4 = num22; int num23 = num4 + num3; int num24 = num4 & num3; switch (num23 - (num24 + num24)) { case 0: goto end_IL_05df; case 1: _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); num = -284585100; break; case 2: num = -284585099; break; } continue; end_IL_05df: break; } } num = ((num7 <= 0) ? 1969313430 : 1969313429); while (true) { int num25 = num; int num3 = 1969313428; int num4 = num25; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 1969313429; break; case 2: return; case 1: _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1309944593), new object[1] { num7 }); num = 1969313430; break; } } static (ushort, ushort) PairKey(ushort a, ushort b) { int num26 = ((a <= b) ? 1834815279 : 1834815278); while (true) { int num27 = num26; int num28 = 1834815279; int num29 = num27; int num30 = num29 + num28; int num31 = num29 & num28; switch (num30 - (num31 + num31)) { case 2: goto IL_0044; case 1: return (b, a); case 0: return (a, b); } continue; IL_0044: num26 = 1834815278; } } } private static TriggerBox? TriggerOf(ExitRangeEntry exit) { int num = ((exit.HalfExtents == Vector3.Zero) ? 1355373667 : 1355373664); while (true) { int num2 = num; int num3 = 1355373666; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0052; case 1: return null; case 2: return _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(exit.SourcePosition, exit.Rotation, exit.HalfExtents); } continue; IL_0052: num = 1355373664; } } private static float OverrideDistance(ZoneBoundary gate, ZoneBoundaryPositionOverride ovr) { int num = ((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)) == ovr.TerritoryA) ? (-1856097741) : (-1856097744)); while (true) { int num2 = num; int num3 = -1856097743; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0053; case 1: return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionB) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionA); case 2: return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionA) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionB); } continue; IL_0053: num = -1856097744; } } [CompilerGenerated] internal static (ushort, ushort) _003CApplyOverrides_003Eg__PairKey_007C1_0(ushort a, ushort b) { int num = ((a <= b) ? 1834815279 : 1834815278); while (true) { int num2 = num; int num3 = 1834815279; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_0044; case 1: return (b, a); case 0: return (a, b); } continue; IL_0044: num = 1834815278; } } static bool _202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E(IEnumerator P_0) { return P_0.MoveNext(); } static void _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E(IDisposable P_0) { P_0.Dispose(); } static ZoneBoundary _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E() { return new ZoneBoundary(); } static void _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(ZoneBoundary P_0, string P_1) { P_0.Id = P_1; } static BoundarySide _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E() { return new BoundarySide(); } static void _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(BoundarySide P_0, ushort P_1) { P_0.TerritoryId = P_1; } static void _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(BoundarySide P_0, Vector3 P_1) { P_0.Position = P_1; } static void _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(BoundarySide P_0, TriggerBox P_1) { P_0.Trigger = P_1; } static void _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(ZoneBoundary P_0, BoundarySide P_1) { P_0.Side1 = P_1; } static void _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(ZoneBoundary P_0, BoundarySide P_1) { P_0.Side2 = P_1; } static void _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(ZoneBoundary P_0, bool P_1) { P_0.OneWay = P_1; } static BoundarySide _206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(ZoneBoundary P_0) { return P_0.Side1; } static ushort _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(BoundarySide P_0) { return P_0.TerritoryId; } static BoundarySide _206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(ZoneBoundary P_0) { return P_0.Side2; } static void _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } static void _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogWarning(P_1, P_2); } static void _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(ZoneBoundary P_0, bool P_1) { P_0.RequiresFlying = P_1; } static TriggerBox _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(Vector3 P_0, Vector3 P_1, Vector3 P_2) { return new TriggerBox(P_0, P_1, P_2); } static Vector3 _202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(BoundarySide P_0) { return P_0.Position; } }