diff --git a/Directory.Packages.props b/Directory.Packages.props
index d503378764..5d38a2c029 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -11,13 +11,14 @@
+
+
-
-
+
@@ -132,7 +133,6 @@
-
diff --git a/benchmarks/NexusMods.Benchmarks/Benchmarks/Loadouts/Harness/DummyFileStore.cs b/benchmarks/NexusMods.Benchmarks/Benchmarks/Loadouts/Harness/DummyFileStore.cs
index d5f93ba388..f3578c6a3f 100644
--- a/benchmarks/NexusMods.Benchmarks/Benchmarks/Loadouts/Harness/DummyFileStore.cs
+++ b/benchmarks/NexusMods.Benchmarks/Benchmarks/Loadouts/Harness/DummyFileStore.cs
@@ -1,5 +1,5 @@
using NexusMods.Abstractions.IO;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Benchmarks.Benchmarks.Loadouts.Harness;
diff --git a/global.json b/global.json
new file mode 100644
index 0000000000..dad2db5efd
--- /dev/null
+++ b/global.json
@@ -0,0 +1,7 @@
+{
+ "sdk": {
+ "version": "8.0.0",
+ "rollForward": "latestMajor",
+ "allowPrerelease": true
+ }
+}
\ No newline at end of file
diff --git a/src/Abstractions/NexusMods.Abstractions.Collections/Types/HashMapping.cs b/src/Abstractions/NexusMods.Abstractions.Collections/Types/HashMapping.cs
index 9b84641331..fe1e41bb18 100644
--- a/src/Abstractions/NexusMods.Abstractions.Collections/Types/HashMapping.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Collections/Types/HashMapping.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.Collections.Types;
diff --git a/src/Abstractions/NexusMods.Abstractions.FileStore.Nx/NexusMods.Abstractions.FileStore.Nx.csproj b/src/Abstractions/NexusMods.Abstractions.FileStore.Nx/NexusMods.Abstractions.FileStore.Nx.csproj
index e08324f426..6752349e71 100644
--- a/src/Abstractions/NexusMods.Abstractions.FileStore.Nx/NexusMods.Abstractions.FileStore.Nx.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.FileStore.Nx/NexusMods.Abstractions.FileStore.Nx.csproj
@@ -2,6 +2,7 @@
+
diff --git a/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/NexusMods.Abstractions.GuidedInstallers.csproj b/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/NexusMods.Abstractions.GuidedInstallers.csproj
index 098b3cf049..4821706567 100644
--- a/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/NexusMods.Abstractions.GuidedInstallers.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/NexusMods.Abstractions.GuidedInstallers.csproj
@@ -3,9 +3,9 @@
+
-
diff --git a/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/OptionImage.cs b/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/OptionImage.cs
index 802b87e1f7..579ef92226 100644
--- a/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/OptionImage.cs
+++ b/src/Abstractions/NexusMods.Abstractions.GuidedInstallers/OptionImage.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using OneOf;
namespace NexusMods.Abstractions.GuidedInstallers;
diff --git a/src/Abstractions/NexusMods.Abstractions.HttpDownloader/IHttpDownloader.cs b/src/Abstractions/NexusMods.Abstractions.HttpDownloader/IHttpDownloader.cs
index 5a5f16730d..ec04a2b4ba 100644
--- a/src/Abstractions/NexusMods.Abstractions.HttpDownloader/IHttpDownloader.cs
+++ b/src/Abstractions/NexusMods.Abstractions.HttpDownloader/IHttpDownloader.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using Size = NexusMods.Paths.Size;
diff --git a/src/Abstractions/NexusMods.Abstractions.HttpDownloader/NexusMods.Abstractions.HttpDownloader.csproj b/src/Abstractions/NexusMods.Abstractions.HttpDownloader/NexusMods.Abstractions.HttpDownloader.csproj
index f603306501..3b334da9ef 100644
--- a/src/Abstractions/NexusMods.Abstractions.HttpDownloader/NexusMods.Abstractions.HttpDownloader.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.HttpDownloader/NexusMods.Abstractions.HttpDownloader.csproj
@@ -4,8 +4,8 @@
+
-
diff --git a/src/Abstractions/NexusMods.Abstractions.IO/FileStoreStreamFactory.cs b/src/Abstractions/NexusMods.Abstractions.IO/FileStoreStreamFactory.cs
index 7aba42f3ac..a1b01c619a 100644
--- a/src/Abstractions/NexusMods.Abstractions.IO/FileStoreStreamFactory.cs
+++ b/src/Abstractions/NexusMods.Abstractions.IO/FileStoreStreamFactory.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.IO;
diff --git a/src/Abstractions/NexusMods.Abstractions.IO/IFileStore.cs b/src/Abstractions/NexusMods.Abstractions.IO/IFileStore.cs
index 944bc68b3c..bb89868a30 100644
--- a/src/Abstractions/NexusMods.Abstractions.IO/IFileStore.cs
+++ b/src/Abstractions/NexusMods.Abstractions.IO/IFileStore.cs
@@ -1,5 +1,4 @@
-using System.Buffers;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.IO;
diff --git a/src/Abstractions/NexusMods.Abstractions.IO/NexusMods.Abstractions.IO.csproj b/src/Abstractions/NexusMods.Abstractions.IO/NexusMods.Abstractions.IO.csproj
index 86a5037ccb..c947d26dea 100644
--- a/src/Abstractions/NexusMods.Abstractions.IO/NexusMods.Abstractions.IO.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.IO/NexusMods.Abstractions.IO.csproj
@@ -4,7 +4,7 @@
+
-
diff --git a/src/Abstractions/NexusMods.Abstractions.Library.Models/NexusMods.Abstractions.Library.Models.csproj b/src/Abstractions/NexusMods.Abstractions.Library.Models/NexusMods.Abstractions.Library.Models.csproj
index 1ca3a6f483..3efae3cff3 100644
--- a/src/Abstractions/NexusMods.Abstractions.Library.Models/NexusMods.Abstractions.Library.Models.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.Library.Models/NexusMods.Abstractions.Library.Models.csproj
@@ -4,6 +4,7 @@
+
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs
index e0f83ccfcc..9f3cf82b4b 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs
@@ -14,8 +14,8 @@
using NexusMods.Abstractions.Loadouts.Extensions;
using NexusMods.Abstractions.Loadouts.Synchronizers.Rules;
using NexusMods.Extensions.BCL;
-using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+using NexusMods.Hashing.xxHash3.Paths;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.DatomIterators;
using NexusMods.MnemonicDB.Abstractions.IndexSegments;
@@ -895,7 +895,7 @@ await Parallel.ForEachAsync(location.Value.EnumerateFiles(), async (file, token)
// If the files don't match, update the entry
if (fileInfo.LastWriteTimeUtc > entry.LastModified || fileInfo.Size != entry.Size)
{
- var newHash = await file.XxHash64Async();
+ var newHash = await file.XxHash3Async();
tx.Add(entry.Id, DiskStateEntry.Size, fileInfo.Size);
tx.Add(entry.Id, DiskStateEntry.Hash, newHash);
tx.Add(entry.Id, DiskStateEntry.LastModified, fileInfo.LastWriteTimeUtc);
@@ -905,7 +905,7 @@ await Parallel.ForEachAsync(location.Value.EnumerateFiles(), async (file, token)
else
{
// No previous entry found, so create a new one
- var newHash = await file.XxHash64Async(token: token);
+ var newHash = await file.XxHash3Async(token: token);
_ = new DiskStateEntry.New(tx, tx.TempId(DiskStateEntry.EntryPartition))
{
Path = gamePath.ToGamePathParentTuple(metadata.Id),
@@ -960,7 +960,7 @@ await Parallel.ForEachAsync(location.Value.EnumerateFiles(), async (file, token)
return;
}
- var newHash = await file.XxHash64Async(token: token);
+ var newHash = await file.XxHash3Async(token: token);
_ = new DiskStateEntry.New(tx, tx.TempId(DiskStateEntry.EntryPartition))
{
Path = gamePath.ToGamePathParentTuple(metaDataId),
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/NexusMods.Abstractions.Loadouts.Synchronizers.csproj b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/NexusMods.Abstractions.Loadouts.Synchronizers.csproj
index 9122477107..18f3f25a63 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/NexusMods.Abstractions.Loadouts.Synchronizers.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/NexusMods.Abstractions.Loadouts.Synchronizers.csproj
@@ -7,6 +7,8 @@
+
+
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/Rules/Signature.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/Rules/Signature.cs
index e50d4eabf9..dae112e959 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/Rules/Signature.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/Rules/Signature.cs
@@ -1,5 +1,5 @@
using DynamicData.Kernel;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.Abstractions.Loadouts.Synchronizers.Rules;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/SyncTreeNode.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/SyncTreeNode.cs
index 7ac8cd73b6..47c85dc256 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/SyncTreeNode.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/SyncTreeNode.cs
@@ -2,7 +2,7 @@
using NexusMods.Abstractions.DiskState;
using NexusMods.Abstractions.GameLocators;
using NexusMods.Abstractions.Loadouts.Synchronizers.Rules;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts/DiskStateEntry.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts/DiskStateEntry.cs
index 5076a37a00..7b26cec6c3 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts/DiskStateEntry.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts/DiskStateEntry.cs
@@ -1,7 +1,7 @@
using NexusMods.Abstractions.GameLocators;
using NexusMods.Abstractions.Loadouts;
using NexusMods.Abstractions.MnemonicDB.Attributes;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.Attributes;
using NexusMods.MnemonicDB.Abstractions.Models;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/Diff/DiskDiffEntry.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/Diff/DiskDiffEntry.cs
index 6960bde5e8..b784b84629 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/Diff/DiskDiffEntry.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/Diff/DiskDiffEntry.cs
@@ -1,5 +1,5 @@
using NexusMods.Abstractions.GameLocators;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.Loadouts.Synchronizers;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/IFileTreeNode.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/IFileTreeNode.cs
index 6eea884a1f..a388ffad98 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/IFileTreeNode.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts/Files/IFileTreeNode.cs
@@ -1,5 +1,5 @@
using NexusMods.Abstractions.GameLocators;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.Loadouts.Files;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts/IHavePathHashSizeAndReference.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts/IHavePathHashSizeAndReference.cs
index ae3eca3b90..8ac42d3e6c 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts/IHavePathHashSizeAndReference.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts/IHavePathHashSizeAndReference.cs
@@ -1,5 +1,5 @@
using NexusMods.Abstractions.GameLocators;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
diff --git a/src/Abstractions/NexusMods.Abstractions.Loadouts/LoadoutFile.cs b/src/Abstractions/NexusMods.Abstractions.Loadouts/LoadoutFile.cs
index 75ca841339..71386b67b4 100644
--- a/src/Abstractions/NexusMods.Abstractions.Loadouts/LoadoutFile.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Loadouts/LoadoutFile.cs
@@ -1,7 +1,7 @@
using JetBrains.Annotations;
using NexusMods.Abstractions.GameLocators;
using NexusMods.Abstractions.MnemonicDB.Attributes;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.Models;
using NexusMods.Paths;
diff --git a/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/HashAttribute.cs b/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/HashAttribute.cs
index 6f5ffb7ae4..ac3ef05c3d 100644
--- a/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/HashAttribute.cs
+++ b/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/HashAttribute.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.Attributes;
using NexusMods.MnemonicDB.Abstractions.ElementComparers;
diff --git a/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/NexusMods.Abstractions.MnemonicDB.Attributes.csproj b/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/NexusMods.Abstractions.MnemonicDB.Attributes.csproj
index 1a69ca89d0..6c389c2425 100644
--- a/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/NexusMods.Abstractions.MnemonicDB.Attributes.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.MnemonicDB.Attributes/NexusMods.Abstractions.MnemonicDB.Attributes.csproj
@@ -3,12 +3,10 @@
-
-
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.DB/NexusMods.Abstractions.Resources.DB.csproj b/src/Abstractions/NexusMods.Abstractions.Resources.DB/NexusMods.Abstractions.Resources.DB.csproj
index 4b857d84c0..adb59c1fa7 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.DB/NexusMods.Abstractions.Resources.DB.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.DB/NexusMods.Abstractions.Resources.DB.csproj
@@ -9,6 +9,7 @@
+
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.DB/PersistedDbResourceLoader.cs b/src/Abstractions/NexusMods.Abstractions.Resources.DB/PersistedDbResourceLoader.cs
index 7d83c52022..3248e5d9e2 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.DB/PersistedDbResourceLoader.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.DB/PersistedDbResourceLoader.cs
@@ -1,6 +1,6 @@
using DynamicData.Kernel;
using JetBrains.Annotations;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.Attributes;
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreLoader.cs b/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreLoader.cs
index 88a078afec..cf06cae78e 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreLoader.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreLoader.cs
@@ -1,6 +1,6 @@
using JetBrains.Annotations;
using NexusMods.Abstractions.IO;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.Abstractions.Resources.IO;
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreStreamLoader.cs b/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreStreamLoader.cs
index 85f0ce6d45..f8db2e562e 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreStreamLoader.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.IO/FileStoreStreamLoader.cs
@@ -1,6 +1,6 @@
using JetBrains.Annotations;
using NexusMods.Abstractions.IO;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.Abstractions.Resources.IO;
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.IO/NexusMods.Abstractions.Resources.IO.csproj b/src/Abstractions/NexusMods.Abstractions.Resources.IO/NexusMods.Abstractions.Resources.IO.csproj
index 01b5630fd6..d32034e31c 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.IO/NexusMods.Abstractions.Resources.IO.csproj
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.IO/NexusMods.Abstractions.Resources.IO.csproj
@@ -7,5 +7,4 @@
-
diff --git a/src/Abstractions/NexusMods.Abstractions.Resources.IO/PersistedFileResourceLoader.cs b/src/Abstractions/NexusMods.Abstractions.Resources.IO/PersistedFileResourceLoader.cs
index 6c86b9873d..7c2264ad1f 100644
--- a/src/Abstractions/NexusMods.Abstractions.Resources.IO/PersistedFileResourceLoader.cs
+++ b/src/Abstractions/NexusMods.Abstractions.Resources.IO/PersistedFileResourceLoader.cs
@@ -1,5 +1,5 @@
using JetBrains.Annotations;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Abstractions.Resources.IO;
diff --git a/src/Extensions/NexusMods.Extensions.Hashing/AbsolutePathExtensions.cs b/src/Extensions/NexusMods.Extensions.Hashing/AbsolutePathExtensions.cs
index 8fbbc56ef0..a53b98c84e 100644
--- a/src/Extensions/NexusMods.Extensions.Hashing/AbsolutePathExtensions.cs
+++ b/src/Extensions/NexusMods.Extensions.Hashing/AbsolutePathExtensions.cs
@@ -1,5 +1,6 @@
+using System.IO.Hashing;
using System.IO.MemoryMappedFiles;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Extensions.Hashing;
@@ -18,6 +19,8 @@ public static async Task XxHash64Async(this AbsolutePath input, Cancellati
return await inputStream.HashingCopyAsync(Stream.Null, token, static _ => Task.CompletedTask);
}
+ private static readonly Hash HashOfEmptyFile = Hash.From(XxHash3.HashToUInt64(ReadOnlySpan.Empty));
+
///
/// Calculates the xxHash64 of a file by memory mapping it.
///
@@ -26,12 +29,12 @@ public static Hash XxHash64MemoryMapped(this AbsolutePath input)
try
{
using var mmf = input.FileSystem.CreateMemoryMappedFile(input, FileMode.Open, MemoryMappedFileAccess.Read, 0);
- var hashValue = XxHash64Algorithm.HashBytes(mmf.AsSpan());
+ var hashValue = XxHash3.HashToUInt64(mmf.AsSpan());
return Hash.From(hashValue);
}
catch (ArgumentException)
{
- return Hash.From(XxHash64Algorithm.HashOfEmptyFile);
+ return HashOfEmptyFile;
}
}
}
diff --git a/src/Extensions/NexusMods.Extensions.Hashing/NexusMods.Extensions.Hashing.csproj b/src/Extensions/NexusMods.Extensions.Hashing/NexusMods.Extensions.Hashing.csproj
index db9bf1d7b7..ec29e3e264 100644
--- a/src/Extensions/NexusMods.Extensions.Hashing/NexusMods.Extensions.Hashing.csproj
+++ b/src/Extensions/NexusMods.Extensions.Hashing/NexusMods.Extensions.Hashing.csproj
@@ -3,7 +3,8 @@
-
+
+
diff --git a/src/Extensions/NexusMods.Extensions.Hashing/StreamExtensions.cs b/src/Extensions/NexusMods.Extensions.Hashing/StreamExtensions.cs
index 355f558c74..74060f7f62 100644
--- a/src/Extensions/NexusMods.Extensions.Hashing/StreamExtensions.cs
+++ b/src/Extensions/NexusMods.Extensions.Hashing/StreamExtensions.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.Extensions.Hashing;
@@ -18,7 +18,7 @@ public static async Task HashingCopyAsync(this Stream inputStream, Stream
///
/// Helper method to calculate the hash of a given stream.
///
- public static async Task XxHash64Async(this Stream inputStream, CancellationToken token)
+ public static async Task XxHash3Async(this Stream inputStream, CancellationToken token)
{
return await inputStream.HashingCopyAsync(Stream.Null, token, static _ => Task.CompletedTask);
}
diff --git a/src/Extensions/NexusMods.Extensions.Hashing/StringExtensions.cs b/src/Extensions/NexusMods.Extensions.Hashing/StringExtensions.cs
index 2b7de9a6c8..26eeed3078 100644
--- a/src/Extensions/NexusMods.Extensions.Hashing/StringExtensions.cs
+++ b/src/Extensions/NexusMods.Extensions.Hashing/StringExtensions.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using System.IO.Hashing;
using Reloaded.Memory.Extensions;
namespace NexusMods.Extensions.Hashing;
@@ -22,7 +22,7 @@ public static class StringExtensions
///
public static ulong GetStableHash(this ReadOnlySpan input)
{
- return XxHash64Algorithm.HashBytes(input.CastFast());
+ return XxHash3.HashToUInt64(input.CastFast());
}
-}
\ No newline at end of file
+}
diff --git a/src/Games/NexusMods.Games.Larian/BaldursGate3/Emitters/DependencyDiagnosticEmitter.cs b/src/Games/NexusMods.Games.Larian/BaldursGate3/Emitters/DependencyDiagnosticEmitter.cs
index 11cf68056b..01c3e4af95 100644
--- a/src/Games/NexusMods.Games.Larian/BaldursGate3/Emitters/DependencyDiagnosticEmitter.cs
+++ b/src/Games/NexusMods.Games.Larian/BaldursGate3/Emitters/DependencyDiagnosticEmitter.cs
@@ -8,7 +8,7 @@
using NexusMods.Abstractions.Resources;
using NexusMods.Abstractions.Telemetry;
using NexusMods.Games.Larian.BaldursGate3.Utils.LsxXmlParsing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using Polly;
namespace NexusMods.Games.Larian.BaldursGate3.Emitters;
diff --git a/src/Games/NexusMods.Games.Larian/BaldursGate3/Pipelines.cs b/src/Games/NexusMods.Games.Larian/BaldursGate3/Pipelines.cs
index 5adbbe29ed..48c7e3cc60 100644
--- a/src/Games/NexusMods.Games.Larian/BaldursGate3/Pipelines.cs
+++ b/src/Games/NexusMods.Games.Larian/BaldursGate3/Pipelines.cs
@@ -7,7 +7,7 @@
using NexusMods.Abstractions.Resources.IO;
using NexusMods.Games.Larian.BaldursGate3.Utils.LsxXmlParsing;
using NexusMods.Games.Larian.BaldursGate3.Utils.PakParsing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using Polly;
namespace NexusMods.Games.Larian.BaldursGate3;
diff --git a/src/Games/NexusMods.Games.RedEngine/ModInstallers/RedModInstaller.cs b/src/Games/NexusMods.Games.RedEngine/ModInstallers/RedModInstaller.cs
index ca5a9e7175..7b0ecf0a71 100644
--- a/src/Games/NexusMods.Games.RedEngine/ModInstallers/RedModInstaller.cs
+++ b/src/Games/NexusMods.Games.RedEngine/ModInstallers/RedModInstaller.cs
@@ -8,7 +8,7 @@
using NexusMods.Abstractions.Library.Models;
using NexusMods.Abstractions.Loadouts;
using NexusMods.Games.RedEngine.Cyberpunk2077.Models;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
diff --git a/src/Games/NexusMods.Games.StardewValley/Pipelines.cs b/src/Games/NexusMods.Games.StardewValley/Pipelines.cs
index 99c9577a47..ce674d9eec 100644
--- a/src/Games/NexusMods.Games.StardewValley/Pipelines.cs
+++ b/src/Games/NexusMods.Games.StardewValley/Pipelines.cs
@@ -7,7 +7,7 @@
using NexusMods.Abstractions.Resources.Caching;
using NexusMods.Abstractions.Resources.IO;
using NexusMods.Games.StardewValley.Models;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using SMAPIManifest = StardewModdingAPI.Toolkit.Serialization.Models.Manifest;
namespace NexusMods.Games.StardewValley;
diff --git a/src/Games/NexusMods.Games.TestHarness/Verbs/StressTest.cs b/src/Games/NexusMods.Games.TestHarness/Verbs/StressTest.cs
index e775a309cd..00aaa601a1 100644
--- a/src/Games/NexusMods.Games.TestHarness/Verbs/StressTest.cs
+++ b/src/Games/NexusMods.Games.TestHarness/Verbs/StressTest.cs
@@ -8,7 +8,7 @@
using NexusMods.Abstractions.NexusWebApi.Types;
using NexusMods.Abstractions.NexusWebApi.Types.V2.Uid;
using NexusMods.Games.AdvancedInstaller.UI;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Networking.NexusWebApi;
using NexusMods.Paths;
using NexusMods.ProxyConsole.Abstractions;
diff --git a/src/NexusMods.App.GarbageCollection.DataModel/NxFileStoreUpdater.cs b/src/NexusMods.App.GarbageCollection.DataModel/NxFileStoreUpdater.cs
index 72a54b371c..9848d8a58f 100644
--- a/src/NexusMods.App.GarbageCollection.DataModel/NxFileStoreUpdater.cs
+++ b/src/NexusMods.App.GarbageCollection.DataModel/NxFileStoreUpdater.cs
@@ -2,7 +2,7 @@
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.Archives.Nx.Headers;
using NexusMods.Archives.Nx.Headers.Managed;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
using NexusMods.Paths.Extensions.Nx.FileProviders;
@@ -26,7 +26,7 @@ public NxFileStoreUpdater(IConnection connection) {
/// in structures in the Nx archive.
///
/// Path to the old archive file before repacking.
- /// The output of . This may be empty if the archive was deleted.
+ /// The output of . This may be empty if the archive was deleted.
public void UpdateNxFileStore(List toRetract, AbsolutePath oldArchivePath, AbsolutePath newArchivePath)
{
var db = _connection.Db;
diff --git a/src/NexusMods.App.GarbageCollection.DataModel/RunGarbageCollector.cs b/src/NexusMods.App.GarbageCollection.DataModel/RunGarbageCollector.cs
index 188be0edbe..833fc37812 100644
--- a/src/NexusMods.App.GarbageCollection.DataModel/RunGarbageCollector.cs
+++ b/src/NexusMods.App.GarbageCollection.DataModel/RunGarbageCollector.cs
@@ -1,7 +1,7 @@
using NexusMods.Abstractions.IO;
using NexusMods.Abstractions.Settings;
using NexusMods.App.GarbageCollection.Nx;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
namespace NexusMods.App.GarbageCollection.DataModel;
diff --git a/src/NexusMods.App.GarbageCollection.Nx/NxParsedHeaderState.cs b/src/NexusMods.App.GarbageCollection.Nx/NxParsedHeaderState.cs
index ca1124aad3..3d5541f8b0 100644
--- a/src/NexusMods.App.GarbageCollection.Nx/NxParsedHeaderState.cs
+++ b/src/NexusMods.App.GarbageCollection.Nx/NxParsedHeaderState.cs
@@ -1,7 +1,8 @@
using System.Runtime.CompilerServices;
using NexusMods.App.GarbageCollection.Interfaces;
using NexusMods.Archives.Nx.Headers.Managed;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+
namespace NexusMods.App.GarbageCollection.Nx;
///
diff --git a/src/NexusMods.App.GarbageCollection.Nx/NxRepacker.cs b/src/NexusMods.App.GarbageCollection.Nx/NxRepacker.cs
index 29ae96c3ec..1a2a575fc4 100644
--- a/src/NexusMods.App.GarbageCollection.Nx/NxRepacker.cs
+++ b/src/NexusMods.App.GarbageCollection.Nx/NxRepacker.cs
@@ -1,7 +1,7 @@
using NexusMods.App.GarbageCollection.Structs;
using NexusMods.Archives.Nx.Headers.Managed;
using NexusMods.Archives.Nx.Packing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions.Nx.FileProviders;
using NexusMods.Paths.Utilities;
diff --git a/src/NexusMods.App.GarbageCollection/ArchiveGarbageCollector.cs b/src/NexusMods.App.GarbageCollection/ArchiveGarbageCollector.cs
index 15f4c43ef2..981545aae4 100644
--- a/src/NexusMods.App.GarbageCollection/ArchiveGarbageCollector.cs
+++ b/src/NexusMods.App.GarbageCollection/ArchiveGarbageCollector.cs
@@ -5,7 +5,7 @@
using NexusMods.App.GarbageCollection.Interfaces;
using NexusMods.App.GarbageCollection.Structs;
using NexusMods.App.GarbageCollection.Utilities;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.App.GarbageCollection;
diff --git a/src/NexusMods.App.GarbageCollection/Errors/UnknownFileException.cs b/src/NexusMods.App.GarbageCollection/Errors/UnknownFileException.cs
index fda245bbe4..cddbd0ebc8 100644
--- a/src/NexusMods.App.GarbageCollection/Errors/UnknownFileException.cs
+++ b/src/NexusMods.App.GarbageCollection/Errors/UnknownFileException.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.App.GarbageCollection.Errors;
///
diff --git a/src/NexusMods.App.GarbageCollection/Interfaces/IHaveFileHash.cs b/src/NexusMods.App.GarbageCollection/Interfaces/IHaveFileHash.cs
index 5ded968fdf..00fd95527f 100644
--- a/src/NexusMods.App.GarbageCollection/Interfaces/IHaveFileHash.cs
+++ b/src/NexusMods.App.GarbageCollection/Interfaces/IHaveFileHash.cs
@@ -1,4 +1,5 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+
namespace NexusMods.App.GarbageCollection.Interfaces;
///
diff --git a/src/NexusMods.App.GarbageCollection/NexusMods.App.GarbageCollection.csproj b/src/NexusMods.App.GarbageCollection/NexusMods.App.GarbageCollection.csproj
index 8d71a90595..6918ba23df 100644
--- a/src/NexusMods.App.GarbageCollection/NexusMods.App.GarbageCollection.csproj
+++ b/src/NexusMods.App.GarbageCollection/NexusMods.App.GarbageCollection.csproj
@@ -2,9 +2,9 @@
+
-
diff --git a/src/NexusMods.App.GarbageCollection/Structs/ArchiveReference.cs b/src/NexusMods.App.GarbageCollection/Structs/ArchiveReference.cs
index 471af8e671..cce020b941 100644
--- a/src/NexusMods.App.GarbageCollection/Structs/ArchiveReference.cs
+++ b/src/NexusMods.App.GarbageCollection/Structs/ArchiveReference.cs
@@ -1,4 +1,4 @@
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.App.GarbageCollection.Structs;
diff --git a/src/NexusMods.App.GarbageCollection/Structs/HashEntry.cs b/src/NexusMods.App.GarbageCollection/Structs/HashEntry.cs
index b38bb7e8a7..d018d6e518 100644
--- a/src/NexusMods.App.GarbageCollection/Structs/HashEntry.cs
+++ b/src/NexusMods.App.GarbageCollection/Structs/HashEntry.cs
@@ -1,5 +1,6 @@
using JetBrains.Annotations;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+
namespace NexusMods.App.GarbageCollection.Structs;
///
diff --git a/src/NexusMods.App.GarbageCollection/Utilities/ThrowHelpers.cs b/src/NexusMods.App.GarbageCollection/Utilities/ThrowHelpers.cs
index b9f482ea59..45c3d81839 100644
--- a/src/NexusMods.App.GarbageCollection/Utilities/ThrowHelpers.cs
+++ b/src/NexusMods.App.GarbageCollection/Utilities/ThrowHelpers.cs
@@ -1,5 +1,6 @@
using NexusMods.App.GarbageCollection.Errors;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+
namespace NexusMods.App.GarbageCollection.Utilities;
internal static class ThrowHelpers
diff --git a/src/NexusMods.App.UI/Controls/MarkdownRenderer/MarkdownRendererViewModel.cs b/src/NexusMods.App.UI/Controls/MarkdownRenderer/MarkdownRendererViewModel.cs
index a52369202e..52d26db4bf 100644
--- a/src/NexusMods.App.UI/Controls/MarkdownRenderer/MarkdownRendererViewModel.cs
+++ b/src/NexusMods.App.UI/Controls/MarkdownRenderer/MarkdownRendererViewModel.cs
@@ -8,7 +8,7 @@
using Microsoft.Extensions.Logging;
using NexusMods.App.UI.Extensions;
using NexusMods.CrossPlatform.Process;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
diff --git a/src/NexusMods.App.UI/IImageCache.cs b/src/NexusMods.App.UI/IImageCache.cs
index 68651232d2..4bdfd24baf 100644
--- a/src/NexusMods.App.UI/IImageCache.cs
+++ b/src/NexusMods.App.UI/IImageCache.cs
@@ -1,6 +1,6 @@
using Avalonia.Media;
using JetBrains.Annotations;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using OneOf;
namespace NexusMods.App.UI;
diff --git a/src/NexusMods.App.UI/ImageCache.cs b/src/NexusMods.App.UI/ImageCache.cs
index e02f448455..db66babcfe 100644
--- a/src/NexusMods.App.UI/ImageCache.cs
+++ b/src/NexusMods.App.UI/ImageCache.cs
@@ -4,7 +4,7 @@
using Avalonia.Svg.Skia;
using Microsoft.Extensions.Logging;
using NexusMods.Abstractions.IO;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using Svg.Model;
namespace NexusMods.App.UI;
@@ -50,7 +50,7 @@ public async Task Prefetch(
private static Hash GetHash(ImageIdentifier imageIdentifier)
{
return imageIdentifier.Union.Match(
- f0: uri => uri.ToString().XxHash64AsUtf8(),
+ f0: uri => uri.ToString().xxHash3AsUtf8(),
f1: hash => hash
);
}
diff --git a/src/NexusMods.App.UI/ImagePipelines.cs b/src/NexusMods.App.UI/ImagePipelines.cs
index 118f533f62..85bdb9cb49 100644
--- a/src/NexusMods.App.UI/ImagePipelines.cs
+++ b/src/NexusMods.App.UI/ImagePipelines.cs
@@ -6,7 +6,7 @@
using NexusMods.Abstractions.Resources.DB;
using NexusMods.Abstractions.Resources.IO;
using NexusMods.Abstractions.Resources.Resilience;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Media;
using NexusMods.MnemonicDB.Abstractions;
using R3;
@@ -66,7 +66,7 @@ private static IResourceLoader CreateCollectionTileImagePipeli
.PersistInDb(
connection: connection,
referenceAttribute: CollectionMetadata.TileImageResource,
- identifierToHash: static uri => uri.ToString().XxHash64AsUtf8(),
+ identifierToHash: static uri => uri.ToString().xxHash3AsUtf8(),
partitionId: PartitionId.User(ImagePartitionId)
)
.Decode(decoderType: DecoderType.Skia)
@@ -88,7 +88,7 @@ private static IResourceLoader CreateCollectionBackgroundImage
.PersistInDb(
connection: connection,
referenceAttribute: CollectionMetadata.BackgroundImageResource,
- identifierToHash: static uri => uri.ToString().XxHash64AsUtf8(),
+ identifierToHash: static uri => uri.ToString().xxHash3AsUtf8(),
partitionId: PartitionId.User(ImagePartitionId)
)
.Decode(decoderType: DecoderType.Skia)
diff --git a/src/NexusMods.App.UI/Pages/TextEdit/TextEditorPageViewModel.cs b/src/NexusMods.App.UI/Pages/TextEdit/TextEditorPageViewModel.cs
index 46adab8d04..0f9bf2b145 100644
--- a/src/NexusMods.App.UI/Pages/TextEdit/TextEditorPageViewModel.cs
+++ b/src/NexusMods.App.UI/Pages/TextEdit/TextEditorPageViewModel.cs
@@ -22,6 +22,7 @@
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
using TextMateSharp.Grammars;
+using Hash = NexusMods.Hashing.xxHash3.Hash;
namespace NexusMods.App.UI.Pages.TextEdit;
diff --git a/src/NexusMods.Collections/InstallCollectionJob.cs b/src/NexusMods.Collections/InstallCollectionJob.cs
index b71c13a839..f6a95ca5cc 100644
--- a/src/NexusMods.Collections/InstallCollectionJob.cs
+++ b/src/NexusMods.Collections/InstallCollectionJob.cs
@@ -17,7 +17,7 @@
using NexusMods.Abstractions.NexusModsLibrary;
using NexusMods.Abstractions.NexusWebApi;
using NexusMods.Games.FOMOD;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Abstractions.NexusWebApi.Types.V2;
using NexusMods.Abstractions.NexusWebApi.Types.V2.Uid;
using NexusMods.MnemonicDB.Abstractions;
@@ -376,7 +376,7 @@ await Parallel.ForEachAsync(modInfo.Patches, async (patch, token) =>
using var md5 = MD5.Create();
md5.ComputeHash(patchedArray);
var md5Hash = Md5HashValue.From(md5.Hash!);
- var xxHash = patchedArray.XxHash64();
+ var xxHash = patchedArray.xxHash3();
patchedFiles.Add(new ArchivedFileEntry(new MemoryStreamFactory(srcPath, patchedFile), xxHash, Size.FromLong(patchedFile.Length)));
hashes[md5Hash] = new HashMapping
diff --git a/src/NexusMods.DataModel/NexusMods.DataModel.csproj b/src/NexusMods.DataModel/NexusMods.DataModel.csproj
index 6d6934f0c1..7e3ae1edf7 100644
--- a/src/NexusMods.DataModel/NexusMods.DataModel.csproj
+++ b/src/NexusMods.DataModel/NexusMods.DataModel.csproj
@@ -33,7 +33,6 @@
-
diff --git a/src/NexusMods.DataModel/NxFileStore.cs b/src/NexusMods.DataModel/NxFileStore.cs
index 8c39f67ba8..75ebd65c06 100644
--- a/src/NexusMods.DataModel/NxFileStore.cs
+++ b/src/NexusMods.DataModel/NxFileStore.cs
@@ -15,7 +15,7 @@
using NexusMods.Archives.Nx.Structs;
using NexusMods.Archives.Nx.Utilities;
using NexusMods.DataModel.ChunkedStreams;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
diff --git a/src/NexusMods.Library/AddLibraryFileJob.cs b/src/NexusMods.Library/AddLibraryFileJob.cs
index c76137f52d..2a3f4211fc 100644
--- a/src/NexusMods.Library/AddLibraryFileJob.cs
+++ b/src/NexusMods.Library/AddLibraryFileJob.cs
@@ -6,7 +6,8 @@
using NexusMods.Abstractions.Jobs;
using NexusMods.Abstractions.Library.Models;
using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+using NexusMods.Hashing.xxHash3.Paths;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
@@ -52,7 +53,7 @@ internal class AddLibraryFileJob : IJobDefinitionWithStart AnalyzeOne(IJobContext context, AbsolutePath filePath)
{
var isArchive = await CheckIfArchiveAsync(filePath);
- var hash = await filePath.XxHash64Async();
+ var hash = await filePath.XxHash3Async();
var libraryFile = CreateLibraryFile(Transaction, filePath, hash);
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=BG3 Script Extender.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=BG3 Script Extender.verified.txt
index 5afc503be9..5b7b40b50d 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=BG3 Script Extender.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=BG3 Script Extender.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: DWrite.dll,
- Hash: 0x8EF806095E9F8F9B,
+ Hash: 0xC968A97F4D9DCB19,
ToGamePath: {Game}/Bin/DWrite.dll
},
{
FromPath: ScriptExtenderSettings.json,
- Hash: 0x273ED670FBF4332F,
+ Hash: 0xE71E1BBE260FBD21,
ToGamePath: {Game}/Bin/ScriptExtenderSettings.json
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Bin Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Bin Mod.verified.txt
index 6307ff86ab..930123f059 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Bin Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Bin Mod.verified.txt
@@ -1,7 +1,7 @@
[
{
FromPath: bin/bink2w64.dll,
- Hash: 0xC6363140D5333C3E,
+ Hash: 0x8EB6493A00823A86,
ToGamePath: {Game}/bin/bink2w64.dll
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Mod.verified.txt
index 7dc07d5f87..bbcbcc8500 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Mod.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: Recommended/Data/Generated/Public/Shared/Content/Assets/Characters/Character Editor Presets/Origin Presets/[PAK]_Shadowheart/_merged.lsf,
- Hash: 0x8ED74FCCE6291C5E,
+ Hash: 0x7DB33D93F50FC967,
ToGamePath: {Game}/Data/Generated/Public/Shared/Content/Assets/Characters/Character Editor Presets/Origin Presets/[PAK]_Shadowheart/_merged.lsf
},
{
FromPath: Recommended/Data/Generated/Public/Shared/Assets/Characters/_Models/Humans/_Female/_Hair/Resources/HAIR_HUM_F_Shadowheart_Spring.gr2,
- Hash: 0x3103D39FC0AEBDE5,
+ Hash: 0x59409C2FF0342D43,
ToGamePath: {Game}/Data/Generated/Public/Shared/Assets/Characters/_Models/Humans/_Female/_Hair/Resources/HAIR_HUM_F_Shadowheart_Spring.gr2
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Public Mod with nested Data folder.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Public Mod with nested Data folder.verified.txt
index 1283abd521..b1066ea2dd 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Public Mod with nested Data folder.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Data Public Mod with nested Data folder.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: Public/Shared/Stats/Generated/Data/XPData1.txt,
- Hash: 0xC98EB6BC4E8661F0,
+ Hash: 0x8C0507C14B4BF188,
ToGamePath: {Game}/Data/Public/Shared/Stats/Generated/Data/XPData1.txt
},
{
FromPath: Public/SharedDev/Stats/Generated/Data/XPData2.txt,
- Hash: 0x9345F61E5A6C7013,
+ Hash: 0xE1E5E9738F3B25AB,
ToGamePath: {Game}/Data/Public/SharedDev/Stats/Generated/Data/XPData2.txt
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Multiple Pak files Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Multiple Pak files Mod.verified.txt
index f460894dd8..e711152dc9 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Multiple Pak files Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Multiple Pak files Mod.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: myMod1.pak,
- Hash: 0x12382AC3D91AF5AC,
+ Hash: 0xAE2818B3B0605CB7,
ToGamePath: {Mods}/myMod1.pak
},
{
FromPath: myMod2.pak,
- Hash: 0x39F52D14C582063C,
+ Hash: 0xA7F0967A4929F662,
ToGamePath: {Mods}/myMod2.pak
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=NativeMods Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=NativeMods Mod.verified.txt
index 4bfef51d11..ab1e031dc7 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=NativeMods Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=NativeMods Mod.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: NativeMods/BG3NativeCameraTweaks.dll,
- Hash: 0x9D3A484CEE5E5A51,
+ Hash: 0x3B9E9E8893CCB711,
ToGamePath: {Game}/bin/NativeMods/BG3NativeCameraTweaks.dll
},
{
FromPath: BG3NativeCameraTweaks.toml,
- Hash: 0xF52CC272D80C600A,
+ Hash: 0x3760E4DFD2516321,
ToGamePath: {Game}/bin/BG3NativeCameraTweaks.toml
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Nested Pak Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Nested Pak Mod.verified.txt
index c07f55776c..b70f328dc0 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Nested Pak Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Nested Pak Mod.verified.txt
@@ -1,7 +1,7 @@
[
{
FromPath: Mods/myMod.pak,
- Hash: 0x33C4706972EAAE6E,
+ Hash: 0xBF076F55301262AE,
ToGamePath: {Mods}/myMod.pak
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Simple Pak Mod.verified.txt b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Simple Pak Mod.verified.txt
index a847ae9fe2..110ea93fb3 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Simple Pak Mod.verified.txt
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.CanInstallBG3Mods_testCaseName=Simple Pak Mod.verified.txt
@@ -1,7 +1,7 @@
[
{
FromPath: myMod.pak,
- Hash: 0x23BC397CD47BAFDA,
+ Hash: 0xD4C4E61F52B6492D,
ToGamePath: {Mods}/myMod.pak
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.cs b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.cs
index f19794be6e..71b950f440 100644
--- a/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.cs
+++ b/tests/Games/NexusMods.Games.Larian.Tests/BaldursGate3/BG3InstallerTests.cs
@@ -63,7 +63,7 @@ public async Task CanInstallBG3Mods(string testCaseName, Type installerType, str
private static SettingsTask VerifyChildren(
- IEnumerable<(RelativePath FromPath, Hashing.xxHash64.Hash Hash, Abstractions.GameLocators.GamePath GamePath)> childrenFilesAndHashes,
+ IEnumerable<(RelativePath FromPath, Hashing.xxHash3.Hash Hash, Abstractions.GameLocators.GamePath GamePath)> childrenFilesAndHashes,
string[] archivePaths,
[CallerFilePath] string sourceFile = "")
{
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/Cyberpunk2077DiagnosticTests.cs b/tests/Games/NexusMods.Games.RedEngine.Tests/Cyberpunk2077DiagnosticTests.cs
index 4670982c10..c0a3ad8bc8 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/Cyberpunk2077DiagnosticTests.cs
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/Cyberpunk2077DiagnosticTests.cs
@@ -11,7 +11,7 @@
using NexusMods.Games.RedEngine.Cyberpunk2077;
using NexusMods.Games.RedEngine.Cyberpunk2077.Emitters;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions.ElementComparers;
using NexusMods.Paths;
using Xunit.Abstractions;
@@ -67,7 +67,7 @@ public async Task PathBasedDiagnosticEmittersLookAtTheCorrectPaths(string diagno
var contentArray = Encoding.UTF8.GetBytes(content);
AddFile(tx, loadout, pluginMod, gamePath, content);
filesToBackup.Add(new ArchivedFileEntry(new MemoryStreamFactory(gamePath.FileName, new MemoryStream(contentArray)),
- contentArray.XxHash64(),
+ contentArray.xxHash3(),
Size.FromLong(contentArray.Length)));
AddFile(tx, loadout, pluginMod, gamePath);
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=All Common Prefixes.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=All Common Prefixes.verified.txt
index db8bb9693c..0a323b4780 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=All Common Prefixes.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=All Common Prefixes.verified.txt
@@ -1,27 +1,27 @@
[
{
FromPath: archive/pc/mod/foo.archive,
- Hash: 0x3F9FDA0CBCC34562,
+ Hash: 0xA264DFF62937DB06,
ToGamePath: {Game}/archive/pc/mod/foo.archive
},
{
FromPath: bin/x64/foo.exe,
- Hash: 0x798E0832D0DADE9C,
+ Hash: 0x4C1177C9185EA568,
ToGamePath: {Game}/bin/x64/foo.exe
},
{
FromPath: engine/foo.exe,
- Hash: 0x174EAD3C0202B81C,
+ Hash: 0x62736F0795B31F3F,
ToGamePath: {Game}/engine/foo.exe
},
{
FromPath: r6/foo.exe,
- Hash: 0xF60D49846472EC86,
+ Hash: 0x332D8D48B2A59917,
ToGamePath: {Game}/r6/foo.exe
},
{
FromPath: red4ext/foo.exe,
- Hash: 0xC3DD09F834309596,
+ Hash: 0x5F678EAD4FBF7E55,
ToGamePath: {Game}/red4ext/foo.exe
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Appearance Preset.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Appearance Preset.verified.txt
index c0a5f6eb0d..8ab2adbfed 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Appearance Preset.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Appearance Preset.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: cool_choom.preset,
- Hash: 0x7B15871FB267B315,
+ Hash: 0x6E41F20E86AFAB2B,
ToGamePath: {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceChangeUnlocker/character-preset/female/cool_choom.preset
},
{
FromPath: cool_choom.preset,
- Hash: 0x7B15871FB267B315,
+ Hash: 0x6E41F20E86AFAB2B,
ToGamePath: {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceChangeUnlocker/character-preset/male/cool_choom.preset
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under No Folder.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under No Folder.verified.txt
index 11ac492147..8af27c2c3f 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under No Folder.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under No Folder.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: archive/pc/mod/foo.archive,
- Hash: 0x3F9FDA0CBCC34562,
+ Hash: 0xA264DFF62937DB06,
ToGamePath: {Game}/archive/pc/mod/foo.archive
},
{
FromPath: bin/x64/foo.exe,
- Hash: 0x798E0832D0DADE9C,
+ Hash: 0x4C1177C9185EA568,
ToGamePath: {Game}/bin/x64/foo.exe
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under Sub Folders.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under Sub Folders.verified.txt
index 6897b982de..b14c1b370b 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under Sub Folders.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files Under Sub Folders.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: mymod/archive/pc/mod/foo.archive,
- Hash: 0xE3DE93C464191B5F,
+ Hash: 0xCAAEEF103C353167,
ToGamePath: {Game}/archive/pc/mod/foo.archive
},
{
FromPath: mymod/bin/x64/foo.exe,
- Hash: 0x95CD521D6DA7F4BC,
+ Hash: 0xC453E3627977F02D,
ToGamePath: {Game}/bin/x64/foo.exe
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files with no folder.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files with no folder.verified.txt
index d0e1746fd1..208b72c729 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files with no folder.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Files with no folder.verified.txt
@@ -1,12 +1,12 @@
[
{
FromPath: folder/filea.archive,
- Hash: 0x3CEAFFFA8F0928A4,
+ Hash: 0x5FCB1ACE156C8C76,
ToGamePath: {Game}/archive/pc/mod/filea.archive
},
{
FromPath: fileb.archive,
- Hash: 0xE4560BB5B6784CE1,
+ Hash: 0xBCA8E6099A5757D2,
ToGamePath: {Game}/archive/pc/mod/fileb.archive
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Ignored Extensions.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Ignored Extensions.verified.txt
index 4a39917c96..93d40ff7a3 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Ignored Extensions.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.FilesAreMappedToCorrectFolders_testCaseName=Ignored Extensions.verified.txt
@@ -1,7 +1,7 @@
[
{
FromPath: folder/filea.archive,
- Hash: 0x3CEAFFFA8F0928A4,
+ Hash: 0x5FCB1ACE156C8C76,
ToGamePath: {Game}/archive/pc/mod/filea.archive
}
]
\ No newline at end of file
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.cs b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.cs
index b78155a86c..8938b33e43 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.cs
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/PathBasedInstallerTests.cs
@@ -4,7 +4,7 @@
using NexusMods.Games.RedEngine.Cyberpunk2077;
using NexusMods.Games.RedEngine.ModInstallers;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.StandardGameLocators.TestHelpers;
using Xunit.Abstractions;
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=one_mod.7z.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=one_mod.7z.verified.txt
index db6ee4db58..0f326b34ec 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=one_mod.7z.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=one_mod.7z.verified.txt
@@ -7,7 +7,7 @@
+ | 0200000000000003 | Name | Driver_Shotgun | 0200000000000000
+ | 0200000000000003 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000003 | RedModInfoFile | 0200000000000004 | 0200000000000000
-+ | 0200000000000004 | Hash | 0x55FE2BFA19917AAF | 0200000000000000
++ | 0200000000000004 | Hash | 0x1243BB4EC47FF7D7 | 0200000000000000
+ | 0200000000000004 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000004 | Name | Driver_Shotgun | 0200000000000000
+ | 0200000000000004 | Name | info.json | 0200000000000000
@@ -15,25 +15,25 @@
+ | 0200000000000004 | Size | 80 B | 0200000000000000
+ | 0200000000000004 | TargetPath | (0200000000000002, Game, mods/Driver_Shotguns/info.json) | 0200000000000000
+ | 0200000000000004 | Version | 1.0.0 | 0200000000000000
-+ | 0200000000000005 | Hash | 0x6A6D905ABC5177AE | 0200000000000000
++ | 0200000000000005 | Hash | 0xD0BF0295B8C34F05 | 0200000000000000
+ | 0200000000000005 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000005 | Name | base_crusher.tweak | 0200000000000000
+ | 0200000000000005 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000005 | Size | 128 B | 0200000000000000
+ | 0200000000000005 | TargetPath | (0200000000000002, Game, mods/Driver_Shotguns/tweaks/base/gameplay/static_data/database/items/weapons/ranged/revolvers/crusher/base_crusher.tweak) | 0200000000000000
-+ | 0200000000000006 | Hash | 0xDB4B2217BE615C07 | 0200000000000000
++ | 0200000000000006 | Hash | 0xF4DB695F8D74F188 | 0200000000000000
+ | 0200000000000006 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000006 | Name | base_pozhar.tweak | 0200000000000000
+ | 0200000000000006 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000006 | Size | 128 B | 0200000000000000
+ | 0200000000000006 | TargetPath | (0200000000000002, Game, mods/Driver_Shotguns/tweaks/base/gameplay/static_data/database/items/weapons/ranged/rifles/pozhar/base_pozhar.tweak) | 0200000000000000
-+ | 0200000000000007 | Hash | 0xA2EFF12B68D2606B | 0200000000000000
++ | 0200000000000007 | Hash | 0xC3C61C89EDA96DF8 | 0200000000000000
+ | 0200000000000007 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000007 | Name | base_igla.tweak | 0200000000000000
+ | 0200000000000007 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000007 | Size | 128 B | 0200000000000000
+ | 0200000000000007 | TargetPath | (0200000000000002, Game, mods/Driver_Shotguns/tweaks/base/gameplay/static_data/database/items/weapons/ranged/shotguns/igla/base_igla.tweak) | 0200000000000000
-+ | 0200000000000008 | Hash | 0x468F14E15B6E2EDC | 0200000000000000
++ | 0200000000000008 | Hash | 0x75BB8350229FA0F3 | 0200000000000000
+ | 0200000000000008 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000008 | Name | base_satara.tweak | 0200000000000000
+ | 0200000000000008 | Parent | 0200000000000003 | 0200000000000000
diff --git a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=several_red_mods.7z.verified.txt b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=several_red_mods.7z.verified.txt
index 31ab25c68c..561a2d2523 100644
--- a/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=several_red_mods.7z.verified.txt
+++ b/tests/Games/NexusMods.Games.RedEngine.Tests/LibraryArchiveInstallerTests/RedModInstallerTests.CanInstallRedMod_filename=several_red_mods.7z.verified.txt
@@ -7,85 +7,85 @@
+ | 0200000000000003 | Name | Maestros of Synth - Body Heat Radio | 0200000000000000
+ | 0200000000000003 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000003 | RedModInfoFile | 0200000000000004 | 0200000000000000
-+ | 0200000000000005 | Hash | 0xF564BA3735213B20 | 0200000000000000
++ | 0200000000000005 | Hash | 0xEDBA80E7BED58062 | 0200000000000000
+ | 0200000000000005 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000005 | Name | 0eaacf6f-394e-45e7-a958-9e10701b1711 | 0200000000000000
+ | 0200000000000005 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000005 | Size | 128 B | 0200000000000000
+ | 0200000000000005 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/0eaacf6f-394e-45e7-a958-9e10701b1711) | 0200000000000000
-+ | 0200000000000006 | Hash | 0xEB0420AC550DD97D | 0200000000000000
++ | 0200000000000006 | Hash | 0xE263608280018EA5 | 0200000000000000
+ | 0200000000000006 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000006 | Name | 159792bc-6978-4ba4-91f4-a77e8bd1a2f8 | 0200000000000000
+ | 0200000000000006 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000006 | Size | 128 B | 0200000000000000
+ | 0200000000000006 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/159792bc-6978-4ba4-91f4-a77e8bd1a2f8) | 0200000000000000
-+ | 0200000000000007 | Hash | 0x1572C789579FAAF0 | 0200000000000000
++ | 0200000000000007 | Hash | 0xCD46B55E55C6CBB0 | 0200000000000000
+ | 0200000000000007 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000007 | Name | 32dbbaee-77c2-45d8-9e5b-ebc2b159df3a | 0200000000000000
+ | 0200000000000007 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000007 | Size | 128 B | 0200000000000000
+ | 0200000000000007 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/32dbbaee-77c2-45d8-9e5b-ebc2b159df3a) | 0200000000000000
-+ | 0200000000000008 | Hash | 0x200AF59F6FBB5D83 | 0200000000000000
++ | 0200000000000008 | Hash | 0x5C7E4F7E3F922C99 | 0200000000000000
+ | 0200000000000008 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000008 | Name | 39c37247-0885-4144-ae6b-faf8a101973e | 0200000000000000
+ | 0200000000000008 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000008 | Size | 128 B | 0200000000000000
+ | 0200000000000008 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/39c37247-0885-4144-ae6b-faf8a101973e) | 0200000000000000
-+ | 0200000000000009 | Hash | 0x93ED0FB491A3FF5A | 0200000000000000
++ | 0200000000000009 | Hash | 0x938D042D27CEC655 | 0200000000000000
+ | 0200000000000009 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000009 | Name | 3b0aa2f9-14f6-4d95-b5d6-221cfab8fa14 | 0200000000000000
+ | 0200000000000009 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000009 | Size | 128 B | 0200000000000000
+ | 0200000000000009 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/3b0aa2f9-14f6-4d95-b5d6-221cfab8fa14) | 0200000000000000
-+ | 020000000000000A | Hash | 0x9D63304EA31F37D6 | 0200000000000000
++ | 020000000000000A | Hash | 0xAABCFEAF44537FCD | 0200000000000000
+ | 020000000000000A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000A | Name | 52014a17-abf9-4581-8169-e26a2b4234e0 | 0200000000000000
+ | 020000000000000A | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000A | Size | 128 B | 0200000000000000
+ | 020000000000000A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/52014a17-abf9-4581-8169-e26a2b4234e0) | 0200000000000000
-+ | 020000000000000B | Hash | 0x46582E4BEF6CE88E | 0200000000000000
++ | 020000000000000B | Hash | 0x25BC44D91424C08A | 0200000000000000
+ | 020000000000000B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000B | Name | 59ac86e4-9a23-4bf6-90b7-299308e64930 | 0200000000000000
+ | 020000000000000B | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000B | Size | 128 B | 0200000000000000
+ | 020000000000000B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/59ac86e4-9a23-4bf6-90b7-299308e64930) | 0200000000000000
-+ | 020000000000000C | Hash | 0xD5302C938DC77BEA | 0200000000000000
++ | 020000000000000C | Hash | 0xE9B40CCD3BF4B036 | 0200000000000000
+ | 020000000000000C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000C | Name | 7b391a0f-31e1-4258-a7fb-94b22737c734 | 0200000000000000
+ | 020000000000000C | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000C | Size | 128 B | 0200000000000000
+ | 020000000000000C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/7b391a0f-31e1-4258-a7fb-94b22737c734) | 0200000000000000
-+ | 020000000000000D | Hash | 0x3DCF71D24C744E9C | 0200000000000000
++ | 020000000000000D | Hash | 0xBCB748153B03DCAA | 0200000000000000
+ | 020000000000000D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000D | Name | 7b62fe18-9191-42f7-90c6-15cbc256db36 | 0200000000000000
+ | 020000000000000D | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000D | Size | 128 B | 0200000000000000
+ | 020000000000000D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/7b62fe18-9191-42f7-90c6-15cbc256db36) | 0200000000000000
-+ | 020000000000000E | Hash | 0xCC0A11DF60A159AB | 0200000000000000
++ | 020000000000000E | Hash | 0xE093C53B7EE82622 | 0200000000000000
+ | 020000000000000E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000E | Name | 8be6257d-28eb-427a-a3e5-f143c2f95b71 | 0200000000000000
+ | 020000000000000E | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000E | Size | 128 B | 0200000000000000
+ | 020000000000000E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/8be6257d-28eb-427a-a3e5-f143c2f95b71) | 0200000000000000
-+ | 020000000000000F | Hash | 0x315600CC75D518DB | 0200000000000000
++ | 020000000000000F | Hash | 0x98A3D18024A86CD8 | 0200000000000000
+ | 020000000000000F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000000F | Name | ae78e843-56e0-478e-88a5-b3b8896dea7e | 0200000000000000
+ | 020000000000000F | Parent | 0200000000000003 | 0200000000000000
+ | 020000000000000F | Size | 128 B | 0200000000000000
+ | 020000000000000F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/ae78e843-56e0-478e-88a5-b3b8896dea7e) | 0200000000000000
-+ | 0200000000000010 | Hash | 0xF3F69AF897508E45 | 0200000000000000
++ | 0200000000000010 | Hash | 0x73F3D48F8EA2D0BF | 0200000000000000
+ | 0200000000000010 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000010 | Name | b8b51db6-6aca-43c9-902f-761cf11572cf | 0200000000000000
+ | 0200000000000010 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000010 | Size | 128 B | 0200000000000000
+ | 0200000000000010 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/b8b51db6-6aca-43c9-902f-761cf11572cf) | 0200000000000000
-+ | 0200000000000011 | Hash | 0xD82C2800B8B7043D | 0200000000000000
++ | 0200000000000011 | Hash | 0xAB198A93B8908D18 | 0200000000000000
+ | 0200000000000011 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000011 | Name | c6b0d13e-368c-47e9-aaac-f70e5d654c79 | 0200000000000000
+ | 0200000000000011 | Parent | 0200000000000003 | 0200000000000000
+ | 0200000000000011 | Size | 128 B | 0200000000000000
+ | 0200000000000011 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_body_heat_radio/customSounds/c6b0d13e-368c-47e9-aaac-f70e5d654c79) | 0200000000000000
-+ | 0200000000000004 | Hash | 0x4C986D6E4DD14484 | 0200000000000000
++ | 0200000000000004 | Hash | 0x9BFBE2201725AD8D | 0200000000000000
+ | 0200000000000004 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000004 | Name | Maestros of Synth - Body Heat Radio | 0200000000000000
+ | 0200000000000004 | Name | info.json | 0200000000000000
@@ -98,103 +98,103 @@
+ | 0200000000000012 | Name | Maestros of Synth - Morro Rock Radio | 0200000000000000
+ | 0200000000000012 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000012 | RedModInfoFile | 0200000000000013 | 0200000000000000
-+ | 0200000000000014 | Hash | 0x9EAE34F7C47F243B | 0200000000000000
++ | 0200000000000014 | Hash | 0x827A8324EDBDAA65 | 0200000000000000
+ | 0200000000000014 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000014 | Name | 04941c4c-7214-45de-9681-4b18c91cc28b | 0200000000000000
+ | 0200000000000014 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000014 | Size | 128 B | 0200000000000000
+ | 0200000000000014 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/04941c4c-7214-45de-9681-4b18c91cc28b) | 0200000000000000
-+ | 0200000000000015 | Hash | 0x14B2640C95011CBC | 0200000000000000
++ | 0200000000000015 | Hash | 0xFD01BFCDD14A8EEB | 0200000000000000
+ | 0200000000000015 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000015 | Name | 0e70865d-33f0-497d-bc79-63aac410e3d1 | 0200000000000000
+ | 0200000000000015 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000015 | Size | 128 B | 0200000000000000
+ | 0200000000000015 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/0e70865d-33f0-497d-bc79-63aac410e3d1) | 0200000000000000
-+ | 0200000000000016 | Hash | 0xFD95AB1301F6FA04 | 0200000000000000
++ | 0200000000000016 | Hash | 0x7402257BCC99FBD4 | 0200000000000000
+ | 0200000000000016 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000016 | Name | 0fad4048-4e27-4aa0-a990-0cb0e78ffacb | 0200000000000000
+ | 0200000000000016 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000016 | Size | 128 B | 0200000000000000
+ | 0200000000000016 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/0fad4048-4e27-4aa0-a990-0cb0e78ffacb) | 0200000000000000
-+ | 0200000000000017 | Hash | 0x65CCB3E9F2967B99 | 0200000000000000
++ | 0200000000000017 | Hash | 0x006C2CFF9CDF07AF | 0200000000000000
+ | 0200000000000017 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000017 | Name | 24dbf6f8-502e-429b-869f-138bcf0a4748 | 0200000000000000
+ | 0200000000000017 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000017 | Size | 128 B | 0200000000000000
+ | 0200000000000017 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/24dbf6f8-502e-429b-869f-138bcf0a4748) | 0200000000000000
-+ | 0200000000000018 | Hash | 0xD0357AD100A4FDCE | 0200000000000000
++ | 0200000000000018 | Hash | 0x0B421498906B860D | 0200000000000000
+ | 0200000000000018 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000018 | Name | 58c6f080-5b33-44e6-b5b4-2197c787b57b | 0200000000000000
+ | 0200000000000018 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000018 | Size | 128 B | 0200000000000000
+ | 0200000000000018 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/58c6f080-5b33-44e6-b5b4-2197c787b57b) | 0200000000000000
-+ | 0200000000000019 | Hash | 0x8D3B8DEB47AD4B3F | 0200000000000000
++ | 0200000000000019 | Hash | 0x8093096EF795574B | 0200000000000000
+ | 0200000000000019 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000019 | Name | 641966f9-7c40-4f1d-8594-eb5a4432f845 | 0200000000000000
+ | 0200000000000019 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000019 | Size | 128 B | 0200000000000000
+ | 0200000000000019 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/641966f9-7c40-4f1d-8594-eb5a4432f845) | 0200000000000000
-+ | 020000000000001A | Hash | 0x729C24F9501D3AF5 | 0200000000000000
++ | 020000000000001A | Hash | 0x3E187B3A5C14B652 | 0200000000000000
+ | 020000000000001A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001A | Name | 67f8612f-b2f0-4aa5-8739-1f8aba337dee | 0200000000000000
+ | 020000000000001A | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001A | Size | 128 B | 0200000000000000
+ | 020000000000001A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/67f8612f-b2f0-4aa5-8739-1f8aba337dee) | 0200000000000000
-+ | 020000000000001B | Hash | 0x7620B4AA791514E3 | 0200000000000000
++ | 020000000000001B | Hash | 0x818784727612E1DB | 0200000000000000
+ | 020000000000001B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001B | Name | 78fd7a93-6943-4406-b275-686f448bb4ac | 0200000000000000
+ | 020000000000001B | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001B | Size | 128 B | 0200000000000000
+ | 020000000000001B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/78fd7a93-6943-4406-b275-686f448bb4ac) | 0200000000000000
-+ | 020000000000001C | Hash | 0x09FBD52A5055067D | 0200000000000000
++ | 020000000000001C | Hash | 0x62FF3AE570E32E93 | 0200000000000000
+ | 020000000000001C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001C | Name | 809b2a9f-1c5b-4dd1-8aab-c9afad77dd05 | 0200000000000000
+ | 020000000000001C | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001C | Size | 128 B | 0200000000000000
+ | 020000000000001C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/809b2a9f-1c5b-4dd1-8aab-c9afad77dd05) | 0200000000000000
-+ | 020000000000001D | Hash | 0xAA5AEA3FCDBAB94D | 0200000000000000
++ | 020000000000001D | Hash | 0x0CA93A1930ACC9A7 | 0200000000000000
+ | 020000000000001D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001D | Name | 8d892d54-bd8c-4208-959a-58b9bc2d9868 | 0200000000000000
+ | 020000000000001D | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001D | Size | 128 B | 0200000000000000
+ | 020000000000001D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/8d892d54-bd8c-4208-959a-58b9bc2d9868) | 0200000000000000
-+ | 020000000000001E | Hash | 0x7B015AB6A324F9BA | 0200000000000000
++ | 020000000000001E | Hash | 0xACAD34FD2800B75E | 0200000000000000
+ | 020000000000001E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001E | Name | a22d7b31-b0b3-4fbd-849c-26e3b8ecaae1 | 0200000000000000
+ | 020000000000001E | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001E | Size | 128 B | 0200000000000000
+ | 020000000000001E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/a22d7b31-b0b3-4fbd-849c-26e3b8ecaae1) | 0200000000000000
-+ | 020000000000001F | Hash | 0xB156B9F815CC60EE | 0200000000000000
++ | 020000000000001F | Hash | 0x174A338610D242AB | 0200000000000000
+ | 020000000000001F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000001F | Name | a8b51c6e-b9d9-43b8-b86e-ba1f23f1c803 | 0200000000000000
+ | 020000000000001F | Parent | 0200000000000012 | 0200000000000000
+ | 020000000000001F | Size | 128 B | 0200000000000000
+ | 020000000000001F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/a8b51c6e-b9d9-43b8-b86e-ba1f23f1c803) | 0200000000000000
-+ | 0200000000000020 | Hash | 0x136E9308D35FBD29 | 0200000000000000
++ | 0200000000000020 | Hash | 0xE99690ACF300FDD3 | 0200000000000000
+ | 0200000000000020 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000020 | Name | b8d40fc2-12c6-4cc4-95bf-83cf65673d6c | 0200000000000000
+ | 0200000000000020 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000020 | Size | 128 B | 0200000000000000
+ | 0200000000000020 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/b8d40fc2-12c6-4cc4-95bf-83cf65673d6c) | 0200000000000000
-+ | 0200000000000021 | Hash | 0x59E2F470FCEAF197 | 0200000000000000
++ | 0200000000000021 | Hash | 0xF3D26CFAA88B358B | 0200000000000000
+ | 0200000000000021 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000021 | Name | bfd959f0-cdb4-46c0-b252-fbb676fb0b02 | 0200000000000000
+ | 0200000000000021 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000021 | Size | 128 B | 0200000000000000
+ | 0200000000000021 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/bfd959f0-cdb4-46c0-b252-fbb676fb0b02) | 0200000000000000
-+ | 0200000000000022 | Hash | 0x13782FED9C063190 | 0200000000000000
++ | 0200000000000022 | Hash | 0xA3ED450268D2A4DB | 0200000000000000
+ | 0200000000000022 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000022 | Name | eefe2410-c5fe-4518-ab96-d9a7ec2eec65 | 0200000000000000
+ | 0200000000000022 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000022 | Size | 128 B | 0200000000000000
+ | 0200000000000022 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/eefe2410-c5fe-4518-ab96-d9a7ec2eec65) | 0200000000000000
-+ | 0200000000000023 | Hash | 0x61A19BD57E8A2998 | 0200000000000000
++ | 0200000000000023 | Hash | 0x3D32E82B512BC175 | 0200000000000000
+ | 0200000000000023 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000023 | Name | f9ee5b4f-7789-436a-b6ff-9a3daa6d01ad | 0200000000000000
+ | 0200000000000023 | Parent | 0200000000000012 | 0200000000000000
+ | 0200000000000023 | Size | 128 B | 0200000000000000
+ | 0200000000000023 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_morro_rock_radio/customSounds/f9ee5b4f-7789-436a-b6ff-9a3daa6d01ad) | 0200000000000000
-+ | 0200000000000013 | Hash | 0xCA0C8D8DF6AA9532 | 0200000000000000
++ | 0200000000000013 | Hash | 0x90B68FB6D2C468C5 | 0200000000000000
+ | 0200000000000013 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000013 | Name | Maestros of Synth - Morro Rock Radio | 0200000000000000
+ | 0200000000000013 | Name | info.json | 0200000000000000
@@ -207,91 +207,91 @@
+ | 0200000000000024 | Name | Maestros of Synth - Night FN | 0200000000000000
+ | 0200000000000024 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000024 | RedModInfoFile | 0200000000000025 | 0200000000000000
-+ | 0200000000000026 | Hash | 0x59E2F470FCEAF197 | 0200000000000000
++ | 0200000000000026 | Hash | 0xF3D26CFAA88B358B | 0200000000000000
+ | 0200000000000026 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000026 | Name | 1838a296-fb33-4eca-9ffa-7cf9dbecbdad | 0200000000000000
+ | 0200000000000026 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000026 | Size | 128 B | 0200000000000000
+ | 0200000000000026 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/1838a296-fb33-4eca-9ffa-7cf9dbecbdad) | 0200000000000000
-+ | 0200000000000027 | Hash | 0x122B3BB996FB16A9 | 0200000000000000
++ | 0200000000000027 | Hash | 0xE180A909C5487188 | 0200000000000000
+ | 0200000000000027 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000027 | Name | 2de29224-cd72-46f6-ae6d-2bb2e77e4d86 | 0200000000000000
+ | 0200000000000027 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000027 | Size | 128 B | 0200000000000000
+ | 0200000000000027 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/2de29224-cd72-46f6-ae6d-2bb2e77e4d86) | 0200000000000000
-+ | 0200000000000028 | Hash | 0x25F6C820A4DC6D61 | 0200000000000000
++ | 0200000000000028 | Hash | 0x9942E45EC4546C9B | 0200000000000000
+ | 0200000000000028 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000028 | Name | 3f903833-aa24-4902-bd14-ee36848c059c | 0200000000000000
+ | 0200000000000028 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000028 | Size | 128 B | 0200000000000000
+ | 0200000000000028 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/3f903833-aa24-4902-bd14-ee36848c059c) | 0200000000000000
-+ | 0200000000000029 | Hash | 0x2E0551ADBA39338F | 0200000000000000
++ | 0200000000000029 | Hash | 0x90A1F6212D2363BA | 0200000000000000
+ | 0200000000000029 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000029 | Name | 4c911c44-bb4d-4db1-95b4-d637d798d0cf | 0200000000000000
+ | 0200000000000029 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000029 | Size | 128 B | 0200000000000000
+ | 0200000000000029 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/4c911c44-bb4d-4db1-95b4-d637d798d0cf) | 0200000000000000
-+ | 020000000000002A | Hash | 0xF11C1D68C49B2AB3 | 0200000000000000
++ | 020000000000002A | Hash | 0xB71ABF5576FFBED1 | 0200000000000000
+ | 020000000000002A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002A | Name | 5979464e-5612-4445-9f68-63d0a3a0000f | 0200000000000000
+ | 020000000000002A | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002A | Size | 128 B | 0200000000000000
+ | 020000000000002A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/5979464e-5612-4445-9f68-63d0a3a0000f) | 0200000000000000
-+ | 020000000000002B | Hash | 0xE3BE1F3358978055 | 0200000000000000
++ | 020000000000002B | Hash | 0xEB4317EBC11E063A | 0200000000000000
+ | 020000000000002B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002B | Name | 618ad396-0a6c-48d5-b706-972ea943472c | 0200000000000000
+ | 020000000000002B | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002B | Size | 128 B | 0200000000000000
+ | 020000000000002B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/618ad396-0a6c-48d5-b706-972ea943472c) | 0200000000000000
-+ | 020000000000002C | Hash | 0x823277C4D54EF694 | 0200000000000000
++ | 020000000000002C | Hash | 0x4B4B1577188F63CC | 0200000000000000
+ | 020000000000002C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002C | Name | 67029e37-396e-417a-9dd9-87f6b15d977f | 0200000000000000
+ | 020000000000002C | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002C | Size | 128 B | 0200000000000000
+ | 020000000000002C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/67029e37-396e-417a-9dd9-87f6b15d977f) | 0200000000000000
-+ | 020000000000002D | Hash | 0xAF0728906C291C4B | 0200000000000000
++ | 020000000000002D | Hash | 0xFDEC5CFE529BB584 | 0200000000000000
+ | 020000000000002D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002D | Name | 6d83c51a-93b1-41cd-9908-d986259309bc | 0200000000000000
+ | 020000000000002D | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002D | Size | 128 B | 0200000000000000
+ | 020000000000002D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/6d83c51a-93b1-41cd-9908-d986259309bc) | 0200000000000000
-+ | 020000000000002E | Hash | 0x8CBCC89253F8E319 | 0200000000000000
++ | 020000000000002E | Hash | 0x50D259AE4FBF1313 | 0200000000000000
+ | 020000000000002E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002E | Name | 74291a88-5c22-4dfb-964c-2b6dbcf12edd | 0200000000000000
+ | 020000000000002E | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002E | Size | 128 B | 0200000000000000
+ | 020000000000002E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/74291a88-5c22-4dfb-964c-2b6dbcf12edd) | 0200000000000000
-+ | 020000000000002F | Hash | 0x4B210F24E722935B | 0200000000000000
++ | 020000000000002F | Hash | 0x4AB945D69C8ABAB9 | 0200000000000000
+ | 020000000000002F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000002F | Name | 77bf3241-b60b-4455-b5b9-bb071fca4ec3 | 0200000000000000
+ | 020000000000002F | Parent | 0200000000000024 | 0200000000000000
+ | 020000000000002F | Size | 128 B | 0200000000000000
+ | 020000000000002F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/77bf3241-b60b-4455-b5b9-bb071fca4ec3) | 0200000000000000
-+ | 0200000000000030 | Hash | 0x52F7C03C7F496796 | 0200000000000000
++ | 0200000000000030 | Hash | 0xA9E21146424A10F8 | 0200000000000000
+ | 0200000000000030 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000030 | Name | 80072362-0c8b-4ab1-8738-8112ac711638 | 0200000000000000
+ | 0200000000000030 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000030 | Size | 128 B | 0200000000000000
+ | 0200000000000030 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/80072362-0c8b-4ab1-8738-8112ac711638) | 0200000000000000
-+ | 0200000000000031 | Hash | 0x2D3E9F1B31ABC53F | 0200000000000000
++ | 0200000000000031 | Hash | 0xACBB8F246E8ADD16 | 0200000000000000
+ | 0200000000000031 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000031 | Name | a69a511a-3c5c-43bb-b5a3-2373a75126b9 | 0200000000000000
+ | 0200000000000031 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000031 | Size | 128 B | 0200000000000000
+ | 0200000000000031 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/a69a511a-3c5c-43bb-b5a3-2373a75126b9) | 0200000000000000
-+ | 0200000000000032 | Hash | 0x351A2DA79530C2E2 | 0200000000000000
++ | 0200000000000032 | Hash | 0x49C0F8EA2B8CF4BA | 0200000000000000
+ | 0200000000000032 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000032 | Name | db7a5d81-9345-48a9-8e42-5bf9e8625b9c | 0200000000000000
+ | 0200000000000032 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000032 | Size | 128 B | 0200000000000000
+ | 0200000000000032 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/db7a5d81-9345-48a9-8e42-5bf9e8625b9c) | 0200000000000000
-+ | 0200000000000033 | Hash | 0x31C93FBF5F395F9A | 0200000000000000
++ | 0200000000000033 | Hash | 0x0D9250908F4887D2 | 0200000000000000
+ | 0200000000000033 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000033 | Name | f6f80691-5481-4641-ae50-6df6c98401a8 | 0200000000000000
+ | 0200000000000033 | Parent | 0200000000000024 | 0200000000000000
+ | 0200000000000033 | Size | 128 B | 0200000000000000
+ | 0200000000000033 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_night_fn/customSounds/f6f80691-5481-4641-ae50-6df6c98401a8) | 0200000000000000
-+ | 0200000000000025 | Hash | 0x3AAEF16F8C4F26A8 | 0200000000000000
++ | 0200000000000025 | Hash | 0x165C13CDD638AE5B | 0200000000000000
+ | 0200000000000025 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000025 | Name | Maestros of Synth - Night FN | 0200000000000000
+ | 0200000000000025 | Name | info.json | 0200000000000000
@@ -304,109 +304,109 @@
+ | 0200000000000034 | Name | Maestros of Synth - Pacific Dreams | 0200000000000000
+ | 0200000000000034 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000034 | RedModInfoFile | 0200000000000035 | 0200000000000000
-+ | 0200000000000036 | Hash | 0x05AAE4065356B55C | 0200000000000000
++ | 0200000000000036 | Hash | 0x272E3BA8E8E38E7D | 0200000000000000
+ | 0200000000000036 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000036 | Name | 1779f39f-b829-4628-95b9-60b33e98d922 | 0200000000000000
+ | 0200000000000036 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000036 | Size | 128 B | 0200000000000000
+ | 0200000000000036 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/1779f39f-b829-4628-95b9-60b33e98d922) | 0200000000000000
-+ | 0200000000000037 | Hash | 0x8F7269446AAEC41B | 0200000000000000
++ | 0200000000000037 | Hash | 0x3B22F4D334BDFDFA | 0200000000000000
+ | 0200000000000037 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000037 | Name | 1a1acdab-6134-4a2b-a71c-ab5275ef14bb | 0200000000000000
+ | 0200000000000037 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000037 | Size | 128 B | 0200000000000000
+ | 0200000000000037 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/1a1acdab-6134-4a2b-a71c-ab5275ef14bb) | 0200000000000000
-+ | 0200000000000038 | Hash | 0x0CA3139E5A943A11 | 0200000000000000
++ | 0200000000000038 | Hash | 0xCFAAA6A549B8E618 | 0200000000000000
+ | 0200000000000038 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000038 | Name | 1b8b58bc-851c-4fee-a7b8-d097bd38a851 | 0200000000000000
+ | 0200000000000038 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000038 | Size | 128 B | 0200000000000000
+ | 0200000000000038 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/1b8b58bc-851c-4fee-a7b8-d097bd38a851) | 0200000000000000
-+ | 0200000000000039 | Hash | 0x8993B54C29471EE0 | 0200000000000000
++ | 0200000000000039 | Hash | 0x4019C50B420D8263 | 0200000000000000
+ | 0200000000000039 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000039 | Name | 37a96ea5-831b-4c3d-9a0a-4a0059947d39 | 0200000000000000
+ | 0200000000000039 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000039 | Size | 128 B | 0200000000000000
+ | 0200000000000039 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/37a96ea5-831b-4c3d-9a0a-4a0059947d39) | 0200000000000000
-+ | 020000000000003A | Hash | 0x674686A2F1EE1D66 | 0200000000000000
++ | 020000000000003A | Hash | 0x4E267FE0110D0DD2 | 0200000000000000
+ | 020000000000003A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003A | Name | 39ba17a7-1a8e-43a1-99bf-44c98e9c3401 | 0200000000000000
+ | 020000000000003A | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003A | Size | 128 B | 0200000000000000
+ | 020000000000003A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/39ba17a7-1a8e-43a1-99bf-44c98e9c3401) | 0200000000000000
-+ | 020000000000003B | Hash | 0x9E6A4F3EE5C5A90A | 0200000000000000
++ | 020000000000003B | Hash | 0x2452085EAF2F6746 | 0200000000000000
+ | 020000000000003B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003B | Name | 4b74a4a5-2533-4ce0-ab0c-d368ada8f900 | 0200000000000000
+ | 020000000000003B | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003B | Size | 128 B | 0200000000000000
+ | 020000000000003B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/4b74a4a5-2533-4ce0-ab0c-d368ada8f900) | 0200000000000000
-+ | 020000000000003C | Hash | 0x68EFA9BB26F3692E | 0200000000000000
++ | 020000000000003C | Hash | 0x3D7DB06669D67519 | 0200000000000000
+ | 020000000000003C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003C | Name | 626eef33-bc63-4a9a-9627-3b4f2ba997d5 | 0200000000000000
+ | 020000000000003C | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003C | Size | 128 B | 0200000000000000
+ | 020000000000003C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/626eef33-bc63-4a9a-9627-3b4f2ba997d5) | 0200000000000000
-+ | 020000000000003D | Hash | 0xE70780B3B8F770DC | 0200000000000000
++ | 020000000000003D | Hash | 0xD65E09AAC5F69BFD | 0200000000000000
+ | 020000000000003D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003D | Name | 62ae5dae-872b-450d-ab02-0c2aa638a345 | 0200000000000000
+ | 020000000000003D | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003D | Size | 128 B | 0200000000000000
+ | 020000000000003D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/62ae5dae-872b-450d-ab02-0c2aa638a345) | 0200000000000000
-+ | 020000000000003E | Hash | 0x4C7295EBE3403373 | 0200000000000000
++ | 020000000000003E | Hash | 0x65EA2B8D58375DEF | 0200000000000000
+ | 020000000000003E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003E | Name | 638fae6d-6804-46f0-b346-99da0687430d | 0200000000000000
+ | 020000000000003E | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003E | Size | 128 B | 0200000000000000
+ | 020000000000003E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/638fae6d-6804-46f0-b346-99da0687430d) | 0200000000000000
-+ | 020000000000003F | Hash | 0x7F99DA1A7CBE5358 | 0200000000000000
++ | 020000000000003F | Hash | 0xDB7C7E40C755BED1 | 0200000000000000
+ | 020000000000003F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000003F | Name | 7f9b6c23-8b2e-46b2-96b2-24bb15df379f | 0200000000000000
+ | 020000000000003F | Parent | 0200000000000034 | 0200000000000000
+ | 020000000000003F | Size | 128 B | 0200000000000000
+ | 020000000000003F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/7f9b6c23-8b2e-46b2-96b2-24bb15df379f) | 0200000000000000
-+ | 0200000000000040 | Hash | 0xA12D04563E38F855 | 0200000000000000
++ | 0200000000000040 | Hash | 0x906AB6E43AE527AC | 0200000000000000
+ | 0200000000000040 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000040 | Name | 894383a1-175d-43eb-b0ce-3aa4ba49c511 | 0200000000000000
+ | 0200000000000040 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000040 | Size | 128 B | 0200000000000000
+ | 0200000000000040 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/894383a1-175d-43eb-b0ce-3aa4ba49c511) | 0200000000000000
-+ | 0200000000000041 | Hash | 0x42AEDD51C6F7BF22 | 0200000000000000
++ | 0200000000000041 | Hash | 0x1C8CC36A12C7DFD6 | 0200000000000000
+ | 0200000000000041 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000041 | Name | 9648af9f-5c1d-4ae8-b9f5-36fe9189cacc | 0200000000000000
+ | 0200000000000041 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000041 | Size | 128 B | 0200000000000000
+ | 0200000000000041 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/9648af9f-5c1d-4ae8-b9f5-36fe9189cacc) | 0200000000000000
-+ | 0200000000000042 | Hash | 0x4FE29195228C9060 | 0200000000000000
++ | 0200000000000042 | Hash | 0xBBEEE0BF4D56D510 | 0200000000000000
+ | 0200000000000042 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000042 | Name | 9c53b058-bfda-41e6-92de-9eddd62e6205 | 0200000000000000
+ | 0200000000000042 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000042 | Size | 128 B | 0200000000000000
+ | 0200000000000042 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/9c53b058-bfda-41e6-92de-9eddd62e6205) | 0200000000000000
-+ | 0200000000000043 | Hash | 0xD2D118F0C3756708 | 0200000000000000
++ | 0200000000000043 | Hash | 0xF5964C724CB4AF37 | 0200000000000000
+ | 0200000000000043 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000043 | Name | a0d31047-b493-4808-98f8-20c88b5d237e | 0200000000000000
+ | 0200000000000043 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000043 | Size | 128 B | 0200000000000000
+ | 0200000000000043 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/a0d31047-b493-4808-98f8-20c88b5d237e) | 0200000000000000
-+ | 0200000000000044 | Hash | 0x7E574D15DAA7B409 | 0200000000000000
++ | 0200000000000044 | Hash | 0x4EA59C5AD2896205 | 0200000000000000
+ | 0200000000000044 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000044 | Name | a52ce519-dee4-4a97-a55b-39377e98dfdf | 0200000000000000
+ | 0200000000000044 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000044 | Size | 128 B | 0200000000000000
+ | 0200000000000044 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/a52ce519-dee4-4a97-a55b-39377e98dfdf) | 0200000000000000
-+ | 0200000000000045 | Hash | 0x7D4BB7AA15CE3973 | 0200000000000000
++ | 0200000000000045 | Hash | 0x94CAE38255CA3E42 | 0200000000000000
+ | 0200000000000045 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000045 | Name | c1598b5e-5d2b-4ced-afd9-8df8453bed19 | 0200000000000000
+ | 0200000000000045 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000045 | Size | 128 B | 0200000000000000
+ | 0200000000000045 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/c1598b5e-5d2b-4ced-afd9-8df8453bed19) | 0200000000000000
-+ | 0200000000000046 | Hash | 0xC4588E3D40FC026F | 0200000000000000
++ | 0200000000000046 | Hash | 0xFB2E059F3207C663 | 0200000000000000
+ | 0200000000000046 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000046 | Name | daaad5bc-5d4f-428e-a23c-1c960b9ef518 | 0200000000000000
+ | 0200000000000046 | Parent | 0200000000000034 | 0200000000000000
+ | 0200000000000046 | Size | 128 B | 0200000000000000
+ | 0200000000000046 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_pacific_dreams/customSounds/daaad5bc-5d4f-428e-a23c-1c960b9ef518) | 0200000000000000
-+ | 0200000000000035 | Hash | 0x96F58C6863D6946B | 0200000000000000
++ | 0200000000000035 | Hash | 0x3E503AD7BB9E2EA7 | 0200000000000000
+ | 0200000000000035 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000035 | Name | Maestros of Synth - Pacific Dreams | 0200000000000000
+ | 0200000000000035 | Name | info.json | 0200000000000000
@@ -419,73 +419,73 @@
+ | 0200000000000047 | Name | Maestros of Synth - Principales | 0200000000000000
+ | 0200000000000047 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000047 | RedModInfoFile | 0200000000000048 | 0200000000000000
-+ | 0200000000000049 | Hash | 0xA0BF391F2E052E9D | 0200000000000000
++ | 0200000000000049 | Hash | 0x52B793D34FCD92CE | 0200000000000000
+ | 0200000000000049 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000049 | Name | 485542b0-6f35-4ab5-bdd8-074292518e08 | 0200000000000000
+ | 0200000000000049 | Parent | 0200000000000047 | 0200000000000000
+ | 0200000000000049 | Size | 128 B | 0200000000000000
+ | 0200000000000049 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/485542b0-6f35-4ab5-bdd8-074292518e08) | 0200000000000000
-+ | 020000000000004A | Hash | 0xAEE7BBBD2EFBA744 | 0200000000000000
++ | 020000000000004A | Hash | 0x294EB191FD69CA60 | 0200000000000000
+ | 020000000000004A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004A | Name | 4febc306-fc61-498b-a277-341d0508876a | 0200000000000000
+ | 020000000000004A | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004A | Size | 128 B | 0200000000000000
+ | 020000000000004A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/4febc306-fc61-498b-a277-341d0508876a) | 0200000000000000
-+ | 020000000000004B | Hash | 0xDD9172A480DBCC50 | 0200000000000000
++ | 020000000000004B | Hash | 0xB06D11FFA0541996 | 0200000000000000
+ | 020000000000004B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004B | Name | 54876684-b387-428e-a016-0417185287ef | 0200000000000000
+ | 020000000000004B | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004B | Size | 128 B | 0200000000000000
+ | 020000000000004B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/54876684-b387-428e-a016-0417185287ef) | 0200000000000000
-+ | 020000000000004C | Hash | 0x8532256A0658B2EC | 0200000000000000
++ | 020000000000004C | Hash | 0x7021FDD42B3C266B | 0200000000000000
+ | 020000000000004C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004C | Name | 56d9a57a-4d02-422d-b2e1-7ce916de6ed6 | 0200000000000000
+ | 020000000000004C | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004C | Size | 128 B | 0200000000000000
+ | 020000000000004C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/56d9a57a-4d02-422d-b2e1-7ce916de6ed6) | 0200000000000000
-+ | 020000000000004D | Hash | 0xB26D1C56CC73422B | 0200000000000000
++ | 020000000000004D | Hash | 0x11445F9BD6BDFC17 | 0200000000000000
+ | 020000000000004D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004D | Name | 7536c575-1ff4-49a7-bf33-a64dd2396f41 | 0200000000000000
+ | 020000000000004D | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004D | Size | 128 B | 0200000000000000
+ | 020000000000004D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/7536c575-1ff4-49a7-bf33-a64dd2396f41) | 0200000000000000
-+ | 020000000000004E | Hash | 0xF5B7E038DC779E37 | 0200000000000000
++ | 020000000000004E | Hash | 0xCAA9009E2260F1EF | 0200000000000000
+ | 020000000000004E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004E | Name | 78c83375-c962-4312-a13d-119871ed35fb | 0200000000000000
+ | 020000000000004E | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004E | Size | 128 B | 0200000000000000
+ | 020000000000004E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/78c83375-c962-4312-a13d-119871ed35fb) | 0200000000000000
-+ | 020000000000004F | Hash | 0x8BB1B39B2E92FEF9 | 0200000000000000
++ | 020000000000004F | Hash | 0xF681942715261F9B | 0200000000000000
+ | 020000000000004F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000004F | Name | ab8841df-1fd0-4cd1-b6a0-8b872c1dd105 | 0200000000000000
+ | 020000000000004F | Parent | 0200000000000047 | 0200000000000000
+ | 020000000000004F | Size | 128 B | 0200000000000000
+ | 020000000000004F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/ab8841df-1fd0-4cd1-b6a0-8b872c1dd105) | 0200000000000000
-+ | 0200000000000050 | Hash | 0xDB375EB40E400BAF | 0200000000000000
++ | 0200000000000050 | Hash | 0x29CB5EF0C87DCE80 | 0200000000000000
+ | 0200000000000050 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000050 | Name | bd0f0920-44c2-4151-a359-d789d892125c | 0200000000000000
+ | 0200000000000050 | Parent | 0200000000000047 | 0200000000000000
+ | 0200000000000050 | Size | 128 B | 0200000000000000
+ | 0200000000000050 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/bd0f0920-44c2-4151-a359-d789d892125c) | 0200000000000000
-+ | 0200000000000051 | Hash | 0xF92BC754EF29EC77 | 0200000000000000
++ | 0200000000000051 | Hash | 0xDF57AA14E87EE8BC | 0200000000000000
+ | 0200000000000051 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000051 | Name | ce814e6c-c5d8-4d56-bf42-abd4092a4889 | 0200000000000000
+ | 0200000000000051 | Parent | 0200000000000047 | 0200000000000000
+ | 0200000000000051 | Size | 128 B | 0200000000000000
+ | 0200000000000051 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/ce814e6c-c5d8-4d56-bf42-abd4092a4889) | 0200000000000000
-+ | 0200000000000052 | Hash | 0xDD60B4A3621B8268 | 0200000000000000
++ | 0200000000000052 | Hash | 0xD43351E1DC979AAF | 0200000000000000
+ | 0200000000000052 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000052 | Name | df760316-9bd8-43d3-9492-031275d23850 | 0200000000000000
+ | 0200000000000052 | Parent | 0200000000000047 | 0200000000000000
+ | 0200000000000052 | Size | 128 B | 0200000000000000
+ | 0200000000000052 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/df760316-9bd8-43d3-9492-031275d23850) | 0200000000000000
-+ | 0200000000000053 | Hash | 0xFC80EA1A9F9A7D88 | 0200000000000000
++ | 0200000000000053 | Hash | 0x8F841E5B3C019549 | 0200000000000000
+ | 0200000000000053 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000053 | Name | eff920f1-b3d1-4ee3-84fc-1bca50ffcc73 | 0200000000000000
+ | 0200000000000053 | Parent | 0200000000000047 | 0200000000000000
+ | 0200000000000053 | Size | 128 B | 0200000000000000
+ | 0200000000000053 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_principales/customSounds/eff920f1-b3d1-4ee3-84fc-1bca50ffcc73) | 0200000000000000
-+ | 0200000000000048 | Hash | 0x3AED48EE0D79B515 | 0200000000000000
++ | 0200000000000048 | Hash | 0x228B10930930DAE4 | 0200000000000000
+ | 0200000000000048 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000048 | Name | Maestros of Synth - Principales | 0200000000000000
+ | 0200000000000048 | Name | info.json | 0200000000000000
@@ -498,103 +498,103 @@
+ | 0200000000000054 | Name | Maestros of Synth - Radio Pebkac | 0200000000000000
+ | 0200000000000054 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000054 | RedModInfoFile | 0200000000000055 | 0200000000000000
-+ | 0200000000000056 | Hash | 0x0B158F02E14C57D3 | 0200000000000000
++ | 0200000000000056 | Hash | 0x285E027460222DC5 | 0200000000000000
+ | 0200000000000056 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000056 | Name | 12641980-0bb6-4bfc-98eb-081d305f8086 | 0200000000000000
+ | 0200000000000056 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000056 | Size | 128 B | 0200000000000000
+ | 0200000000000056 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/12641980-0bb6-4bfc-98eb-081d305f8086) | 0200000000000000
-+ | 0200000000000057 | Hash | 0xF0D30BA27279C7B8 | 0200000000000000
++ | 0200000000000057 | Hash | 0xD79D9065A6602B19 | 0200000000000000
+ | 0200000000000057 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000057 | Name | 12e7dfbc-53e2-4640-87d3-0b79f4728f04 | 0200000000000000
+ | 0200000000000057 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000057 | Size | 128 B | 0200000000000000
+ | 0200000000000057 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/12e7dfbc-53e2-4640-87d3-0b79f4728f04) | 0200000000000000
-+ | 0200000000000058 | Hash | 0x134AC14D1E3B6DEF | 0200000000000000
++ | 0200000000000058 | Hash | 0x44962AE08F14FEDC | 0200000000000000
+ | 0200000000000058 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000058 | Name | 184ce1d7-3033-48a5-8846-4cbc7c4c4c2c | 0200000000000000
+ | 0200000000000058 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000058 | Size | 128 B | 0200000000000000
+ | 0200000000000058 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/184ce1d7-3033-48a5-8846-4cbc7c4c4c2c) | 0200000000000000
-+ | 0200000000000059 | Hash | 0xDE3794A27600AD21 | 0200000000000000
++ | 0200000000000059 | Hash | 0x3C8590809E663F05 | 0200000000000000
+ | 0200000000000059 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000059 | Name | 358fc845-e77d-4e0e-a1d9-699a55f9d132 | 0200000000000000
+ | 0200000000000059 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000059 | Size | 128 B | 0200000000000000
+ | 0200000000000059 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/358fc845-e77d-4e0e-a1d9-699a55f9d132) | 0200000000000000
-+ | 020000000000005A | Hash | 0x6B55BEBB60637111 | 0200000000000000
++ | 020000000000005A | Hash | 0x7A686B37AD47DB49 | 0200000000000000
+ | 020000000000005A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005A | Name | 45929995-1f4c-48d9-a24f-2b2072f6549a | 0200000000000000
+ | 020000000000005A | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005A | Size | 128 B | 0200000000000000
+ | 020000000000005A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/45929995-1f4c-48d9-a24f-2b2072f6549a) | 0200000000000000
-+ | 020000000000005B | Hash | 0x2CD77E8AB454A36B | 0200000000000000
++ | 020000000000005B | Hash | 0x018D0FEC094B995C | 0200000000000000
+ | 020000000000005B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005B | Name | 48f5542f-0ae8-404d-b35f-19b3fc8aecdd | 0200000000000000
+ | 020000000000005B | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005B | Size | 128 B | 0200000000000000
+ | 020000000000005B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/48f5542f-0ae8-404d-b35f-19b3fc8aecdd) | 0200000000000000
-+ | 020000000000005C | Hash | 0x3E725CCA261AD311 | 0200000000000000
++ | 020000000000005C | Hash | 0x964D293939F48CED | 0200000000000000
+ | 020000000000005C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005C | Name | 574c9ace-f9a6-44c1-9dd4-7b4e6b76d273 | 0200000000000000
+ | 020000000000005C | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005C | Size | 128 B | 0200000000000000
+ | 020000000000005C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/574c9ace-f9a6-44c1-9dd4-7b4e6b76d273) | 0200000000000000
-+ | 020000000000005D | Hash | 0x203C9243D2352D1F | 0200000000000000
++ | 020000000000005D | Hash | 0x2FBE3FC94FC79FE8 | 0200000000000000
+ | 020000000000005D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005D | Name | 630d3aa4-5ac4-4107-b16f-3bb1a37bdb69 | 0200000000000000
+ | 020000000000005D | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005D | Size | 128 B | 0200000000000000
+ | 020000000000005D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/630d3aa4-5ac4-4107-b16f-3bb1a37bdb69) | 0200000000000000
-+ | 020000000000005E | Hash | 0x5C2D5B83B767E677 | 0200000000000000
++ | 020000000000005E | Hash | 0x3677ECFAE9C5FD5D | 0200000000000000
+ | 020000000000005E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005E | Name | 6898166f-3148-44fa-a1e2-6251d6869c98 | 0200000000000000
+ | 020000000000005E | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005E | Size | 128 B | 0200000000000000
+ | 020000000000005E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/6898166f-3148-44fa-a1e2-6251d6869c98) | 0200000000000000
-+ | 020000000000005F | Hash | 0x05B19E20A32702B7 | 0200000000000000
++ | 020000000000005F | Hash | 0xBCDA4A91CCDBEB68 | 0200000000000000
+ | 020000000000005F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000005F | Name | 6d1e1d58-7d32-4979-ac8f-b1a8443c0908 | 0200000000000000
+ | 020000000000005F | Parent | 0200000000000054 | 0200000000000000
+ | 020000000000005F | Size | 128 B | 0200000000000000
+ | 020000000000005F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/6d1e1d58-7d32-4979-ac8f-b1a8443c0908) | 0200000000000000
-+ | 0200000000000060 | Hash | 0x62073F2A8B283534 | 0200000000000000
++ | 0200000000000060 | Hash | 0xAA19C73139CD794D | 0200000000000000
+ | 0200000000000060 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000060 | Name | 835c3b61-8570-4938-9c0a-a3284af51c0e | 0200000000000000
+ | 0200000000000060 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000060 | Size | 128 B | 0200000000000000
+ | 0200000000000060 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/835c3b61-8570-4938-9c0a-a3284af51c0e) | 0200000000000000
-+ | 0200000000000061 | Hash | 0x207FDAAECDBF6F30 | 0200000000000000
++ | 0200000000000061 | Hash | 0xC1EE676E5ED1A3E3 | 0200000000000000
+ | 0200000000000061 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000061 | Name | a5185fce-767e-45b2-a139-b7aa455e551f | 0200000000000000
+ | 0200000000000061 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000061 | Size | 128 B | 0200000000000000
+ | 0200000000000061 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/a5185fce-767e-45b2-a139-b7aa455e551f) | 0200000000000000
-+ | 0200000000000062 | Hash | 0xE32A5C10F6F8DCEA | 0200000000000000
++ | 0200000000000062 | Hash | 0x315B692DD2D037C8 | 0200000000000000
+ | 0200000000000062 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000062 | Name | c83573a5-e0ec-4520-8dab-e1787f2ed7c7 | 0200000000000000
+ | 0200000000000062 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000062 | Size | 128 B | 0200000000000000
+ | 0200000000000062 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/c83573a5-e0ec-4520-8dab-e1787f2ed7c7) | 0200000000000000
-+ | 0200000000000063 | Hash | 0x3FF9CA7DF6EF1565 | 0200000000000000
++ | 0200000000000063 | Hash | 0x1C837AE7994721B9 | 0200000000000000
+ | 0200000000000063 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000063 | Name | cba7f317-1ae1-4dea-9cab-0736d3f51898 | 0200000000000000
+ | 0200000000000063 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000063 | Size | 128 B | 0200000000000000
+ | 0200000000000063 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/cba7f317-1ae1-4dea-9cab-0736d3f51898) | 0200000000000000
-+ | 0200000000000064 | Hash | 0xA0B34975E24D71A6 | 0200000000000000
++ | 0200000000000064 | Hash | 0x4CC906FBB13D7154 | 0200000000000000
+ | 0200000000000064 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000064 | Name | e9f21389-aad2-4f23-af10-bc2088888dac | 0200000000000000
+ | 0200000000000064 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000064 | Size | 128 B | 0200000000000000
+ | 0200000000000064 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/e9f21389-aad2-4f23-af10-bc2088888dac) | 0200000000000000
-+ | 0200000000000065 | Hash | 0xB41D57857782D07C | 0200000000000000
++ | 0200000000000065 | Hash | 0x673E7212B1A90515 | 0200000000000000
+ | 0200000000000065 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000065 | Name | ed6d1d0e-e970-4b22-bb8c-2189228a2a6f | 0200000000000000
+ | 0200000000000065 | Parent | 0200000000000054 | 0200000000000000
+ | 0200000000000065 | Size | 128 B | 0200000000000000
+ | 0200000000000065 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_pebkac/customSounds/ed6d1d0e-e970-4b22-bb8c-2189228a2a6f) | 0200000000000000
-+ | 0200000000000055 | Hash | 0x65865B2196ACA997 | 0200000000000000
++ | 0200000000000055 | Hash | 0xF62AF98EDB04F9E5 | 0200000000000000
+ | 0200000000000055 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000055 | Name | Maestros of Synth - Radio Pebkac | 0200000000000000
+ | 0200000000000055 | Name | info.json | 0200000000000000
@@ -607,97 +607,97 @@
+ | 0200000000000066 | Name | Maestros of Synth - Radio Vexelstorm | 0200000000000000
+ | 0200000000000066 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000066 | RedModInfoFile | 0200000000000067 | 0200000000000000
-+ | 0200000000000068 | Hash | 0x0EADD070AE8F66C6 | 0200000000000000
++ | 0200000000000068 | Hash | 0x834C4CC6FD6906E7 | 0200000000000000
+ | 0200000000000068 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000068 | Name | 0022aba5-fe2c-411e-a9b3-5133bac9da88 | 0200000000000000
+ | 0200000000000068 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000068 | Size | 128 B | 0200000000000000
+ | 0200000000000068 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/0022aba5-fe2c-411e-a9b3-5133bac9da88) | 0200000000000000
-+ | 0200000000000069 | Hash | 0x3A35B0564CABB1B2 | 0200000000000000
++ | 0200000000000069 | Hash | 0x862C2377776685A4 | 0200000000000000
+ | 0200000000000069 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000069 | Name | 246d2b75-ad25-40aa-ba48-cbd9e83337b2 | 0200000000000000
+ | 0200000000000069 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000069 | Size | 128 B | 0200000000000000
+ | 0200000000000069 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/246d2b75-ad25-40aa-ba48-cbd9e83337b2) | 0200000000000000
-+ | 020000000000006A | Hash | 0xD5D6BBFEE92EAF40 | 0200000000000000
++ | 020000000000006A | Hash | 0xB940BC3DF52CFF73 | 0200000000000000
+ | 020000000000006A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006A | Name | 3f734130-4f23-4571-92ff-b201423a10af | 0200000000000000
+ | 020000000000006A | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006A | Size | 128 B | 0200000000000000
+ | 020000000000006A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/3f734130-4f23-4571-92ff-b201423a10af) | 0200000000000000
-+ | 020000000000006B | Hash | 0x6D024826FE16A1E5 | 0200000000000000
++ | 020000000000006B | Hash | 0x5B587B33179BB396 | 0200000000000000
+ | 020000000000006B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006B | Name | 6215065b-8be1-4d93-b2e3-73c55f050699 | 0200000000000000
+ | 020000000000006B | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006B | Size | 128 B | 0200000000000000
+ | 020000000000006B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/6215065b-8be1-4d93-b2e3-73c55f050699) | 0200000000000000
-+ | 020000000000006C | Hash | 0x94F7712AC6EF8397 | 0200000000000000
++ | 020000000000006C | Hash | 0x6D95F4BAD57A8BAB | 0200000000000000
+ | 020000000000006C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006C | Name | 7b3865bc-c428-4371-b82e-820c185136bc | 0200000000000000
+ | 020000000000006C | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006C | Size | 128 B | 0200000000000000
+ | 020000000000006C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/7b3865bc-c428-4371-b82e-820c185136bc) | 0200000000000000
-+ | 020000000000006D | Hash | 0x1B13FEFFF4187F2B | 0200000000000000
++ | 020000000000006D | Hash | 0xCB4B37731DD85918 | 0200000000000000
+ | 020000000000006D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006D | Name | 83fe9b05-8c9f-4d5d-bd8b-cae8c6b51ad9 | 0200000000000000
+ | 020000000000006D | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006D | Size | 128 B | 0200000000000000
+ | 020000000000006D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/83fe9b05-8c9f-4d5d-bd8b-cae8c6b51ad9) | 0200000000000000
-+ | 020000000000006E | Hash | 0x62745A3C8B0852FA | 0200000000000000
++ | 020000000000006E | Hash | 0x1FB14DB41523CCD8 | 0200000000000000
+ | 020000000000006E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006E | Name | 992405e9-9a2c-473d-a197-f2454123452d | 0200000000000000
+ | 020000000000006E | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006E | Size | 128 B | 0200000000000000
+ | 020000000000006E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/992405e9-9a2c-473d-a197-f2454123452d) | 0200000000000000
-+ | 020000000000006F | Hash | 0xB1BED755239E2BA4 | 0200000000000000
++ | 020000000000006F | Hash | 0x585DC6037CDAEF03 | 0200000000000000
+ | 020000000000006F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000006F | Name | 9ab79491-909f-4d56-aab8-2d2945370479 | 0200000000000000
+ | 020000000000006F | Parent | 0200000000000066 | 0200000000000000
+ | 020000000000006F | Size | 128 B | 0200000000000000
+ | 020000000000006F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/9ab79491-909f-4d56-aab8-2d2945370479) | 0200000000000000
-+ | 0200000000000070 | Hash | 0xDC2B358BBB974A67 | 0200000000000000
++ | 0200000000000070 | Hash | 0xD3C56D45030D9A95 | 0200000000000000
+ | 0200000000000070 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000070 | Name | 9d30176c-623d-4638-aeee-a5507f650ac1 | 0200000000000000
+ | 0200000000000070 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000070 | Size | 128 B | 0200000000000000
+ | 0200000000000070 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/9d30176c-623d-4638-aeee-a5507f650ac1) | 0200000000000000
-+ | 0200000000000071 | Hash | 0x8D5567860E09F5C7 | 0200000000000000
++ | 0200000000000071 | Hash | 0x4A35FF4BA4621367 | 0200000000000000
+ | 0200000000000071 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000071 | Name | a67b39c2-ec0a-4650-8ed8-b7c096035691 | 0200000000000000
+ | 0200000000000071 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000071 | Size | 128 B | 0200000000000000
+ | 0200000000000071 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/a67b39c2-ec0a-4650-8ed8-b7c096035691) | 0200000000000000
-+ | 0200000000000072 | Hash | 0xB3143BFA0C0F66B6 | 0200000000000000
++ | 0200000000000072 | Hash | 0xCC97E656E7CBC3D2 | 0200000000000000
+ | 0200000000000072 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000072 | Name | a7bf4696-4e9a-4e65-a49f-a12478a44fbd | 0200000000000000
+ | 0200000000000072 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000072 | Size | 128 B | 0200000000000000
+ | 0200000000000072 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/a7bf4696-4e9a-4e65-a49f-a12478a44fbd) | 0200000000000000
-+ | 0200000000000073 | Hash | 0xF28E87D43A015F74 | 0200000000000000
++ | 0200000000000073 | Hash | 0x6747DA9BBED0726A | 0200000000000000
+ | 0200000000000073 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000073 | Name | ac5a0871-21b9-4150-b0df-fd477e76dc87 | 0200000000000000
+ | 0200000000000073 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000073 | Size | 128 B | 0200000000000000
+ | 0200000000000073 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/ac5a0871-21b9-4150-b0df-fd477e76dc87) | 0200000000000000
-+ | 0200000000000074 | Hash | 0x37F6EA4CDB0EAA4D | 0200000000000000
++ | 0200000000000074 | Hash | 0x5F5FE964D234F3B4 | 0200000000000000
+ | 0200000000000074 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000074 | Name | b6945df3-0856-4f13-bba8-765124dc5e50 | 0200000000000000
+ | 0200000000000074 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000074 | Size | 128 B | 0200000000000000
+ | 0200000000000074 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/b6945df3-0856-4f13-bba8-765124dc5e50) | 0200000000000000
-+ | 0200000000000075 | Hash | 0x1F2C8A4FECE37CB5 | 0200000000000000
++ | 0200000000000075 | Hash | 0x91ED062CEDB644D4 | 0200000000000000
+ | 0200000000000075 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000075 | Name | bc9ff1ec-4a25-4e08-8f7d-341d3244c9df | 0200000000000000
+ | 0200000000000075 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000075 | Size | 128 B | 0200000000000000
+ | 0200000000000075 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/bc9ff1ec-4a25-4e08-8f7d-341d3244c9df) | 0200000000000000
-+ | 0200000000000076 | Hash | 0x2F94D4376219DEA7 | 0200000000000000
++ | 0200000000000076 | Hash | 0x11B15AD9CF97C408 | 0200000000000000
+ | 0200000000000076 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000076 | Name | c503c072-213a-4533-a294-5675b38735e0 | 0200000000000000
+ | 0200000000000076 | Parent | 0200000000000066 | 0200000000000000
+ | 0200000000000076 | Size | 128 B | 0200000000000000
+ | 0200000000000076 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_radio_vexelstorm/customSounds/c503c072-213a-4533-a294-5675b38735e0) | 0200000000000000
-+ | 0200000000000067 | Hash | 0xC5A823BF470F9F39 | 0200000000000000
++ | 0200000000000067 | Hash | 0x864ADE6CA1F13100 | 0200000000000000
+ | 0200000000000067 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000067 | Name | Maestros of Synth - Radio Vexelstorm | 0200000000000000
+ | 0200000000000067 | Name | info.json | 0200000000000000
@@ -710,91 +710,91 @@
+ | 0200000000000077 | Name | Maestros of Synth - Ritual FM | 0200000000000000
+ | 0200000000000077 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000077 | RedModInfoFile | 0200000000000078 | 0200000000000000
-+ | 0200000000000079 | Hash | 0x2268FD197B978735 | 0200000000000000
++ | 0200000000000079 | Hash | 0xE3C640341D8B7C31 | 0200000000000000
+ | 0200000000000079 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000079 | Name | 3c90ddc2-3b63-4d4d-bf95-8eefceb437d4 | 0200000000000000
+ | 0200000000000079 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000079 | Size | 128 B | 0200000000000000
+ | 0200000000000079 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/3c90ddc2-3b63-4d4d-bf95-8eefceb437d4) | 0200000000000000
-+ | 020000000000007A | Hash | 0xF2CEB393045E491E | 0200000000000000
++ | 020000000000007A | Hash | 0x526BE1AD9539AE96 | 0200000000000000
+ | 020000000000007A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007A | Name | 3d3a0b99-d137-4e12-b2e4-6b7c680b23a1 | 0200000000000000
+ | 020000000000007A | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007A | Size | 128 B | 0200000000000000
+ | 020000000000007A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/3d3a0b99-d137-4e12-b2e4-6b7c680b23a1) | 0200000000000000
-+ | 020000000000007B | Hash | 0x8E398171DD710A42 | 0200000000000000
++ | 020000000000007B | Hash | 0x26DC911D919A1AB5 | 0200000000000000
+ | 020000000000007B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007B | Name | 400ebd45-eb73-4398-9647-4f130ab1791b | 0200000000000000
+ | 020000000000007B | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007B | Size | 128 B | 0200000000000000
+ | 020000000000007B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/400ebd45-eb73-4398-9647-4f130ab1791b) | 0200000000000000
-+ | 020000000000007C | Hash | 0x39EF8FE13EB1B684 | 0200000000000000
++ | 020000000000007C | Hash | 0xED44CBF67DDDF650 | 0200000000000000
+ | 020000000000007C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007C | Name | 41279c2c-6c6e-44a4-b43d-2f8988f3525f | 0200000000000000
+ | 020000000000007C | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007C | Size | 128 B | 0200000000000000
+ | 020000000000007C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/41279c2c-6c6e-44a4-b43d-2f8988f3525f) | 0200000000000000
-+ | 020000000000007D | Hash | 0x30364FDEAE00D0C0 | 0200000000000000
++ | 020000000000007D | Hash | 0x66CE1404ED73E2C0 | 0200000000000000
+ | 020000000000007D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007D | Name | 6862a652-9c9b-4e1d-9d3f-02a3baad9130 | 0200000000000000
+ | 020000000000007D | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007D | Size | 128 B | 0200000000000000
+ | 020000000000007D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/6862a652-9c9b-4e1d-9d3f-02a3baad9130) | 0200000000000000
-+ | 020000000000007E | Hash | 0x717778B943EB38D9 | 0200000000000000
++ | 020000000000007E | Hash | 0x70EC3824CE473472 | 0200000000000000
+ | 020000000000007E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007E | Name | 6b068726-7c2b-4932-8e07-98c30bcb8f93 | 0200000000000000
+ | 020000000000007E | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007E | Size | 128 B | 0200000000000000
+ | 020000000000007E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/6b068726-7c2b-4932-8e07-98c30bcb8f93) | 0200000000000000
-+ | 020000000000007F | Hash | 0x100F660EAAFAB06C | 0200000000000000
++ | 020000000000007F | Hash | 0x96A4592774D98A3A | 0200000000000000
+ | 020000000000007F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000007F | Name | 6f97ad80-a172-44ad-b928-87e0be28a136 | 0200000000000000
+ | 020000000000007F | Parent | 0200000000000077 | 0200000000000000
+ | 020000000000007F | Size | 128 B | 0200000000000000
+ | 020000000000007F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/6f97ad80-a172-44ad-b928-87e0be28a136) | 0200000000000000
-+ | 0200000000000080 | Hash | 0xE466175EBAEA6708 | 0200000000000000
++ | 0200000000000080 | Hash | 0x7324636403EF245C | 0200000000000000
+ | 0200000000000080 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000080 | Name | 8c8b7333-ad17-4cd0-ba81-29bc8b4dd563 | 0200000000000000
+ | 0200000000000080 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000080 | Size | 128 B | 0200000000000000
+ | 0200000000000080 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/8c8b7333-ad17-4cd0-ba81-29bc8b4dd563) | 0200000000000000
-+ | 0200000000000081 | Hash | 0xEB7B8B280FD82993 | 0200000000000000
++ | 0200000000000081 | Hash | 0x7035207F11DDE784 | 0200000000000000
+ | 0200000000000081 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000081 | Name | 8f317337-91a6-4280-afac-702189b7b614 | 0200000000000000
+ | 0200000000000081 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000081 | Size | 128 B | 0200000000000000
+ | 0200000000000081 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/8f317337-91a6-4280-afac-702189b7b614) | 0200000000000000
-+ | 0200000000000082 | Hash | 0x5B4A8BD4CD5AF85F | 0200000000000000
++ | 0200000000000082 | Hash | 0xFAB8806196D69DFF | 0200000000000000
+ | 0200000000000082 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000082 | Name | 9a062be7-26f0-4a32-b949-6b8c3aa39980 | 0200000000000000
+ | 0200000000000082 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000082 | Size | 128 B | 0200000000000000
+ | 0200000000000082 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/9a062be7-26f0-4a32-b949-6b8c3aa39980) | 0200000000000000
-+ | 0200000000000083 | Hash | 0x06B8A3DE8BDD1238 | 0200000000000000
++ | 0200000000000083 | Hash | 0x858209C695A9BB35 | 0200000000000000
+ | 0200000000000083 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000083 | Name | b4d16d05-73cd-42b9-a70c-509d08066dcf | 0200000000000000
+ | 0200000000000083 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000083 | Size | 128 B | 0200000000000000
+ | 0200000000000083 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/b4d16d05-73cd-42b9-a70c-509d08066dcf) | 0200000000000000
-+ | 0200000000000084 | Hash | 0x42127FA26D4142AC | 0200000000000000
++ | 0200000000000084 | Hash | 0x117AB16C50D7FB82 | 0200000000000000
+ | 0200000000000084 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000084 | Name | cfa6b788-1825-49a9-9136-e9ec237b0025 | 0200000000000000
+ | 0200000000000084 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000084 | Size | 128 B | 0200000000000000
+ | 0200000000000084 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/cfa6b788-1825-49a9-9136-e9ec237b0025) | 0200000000000000
-+ | 0200000000000085 | Hash | 0x68E6D1957A8A3F29 | 0200000000000000
++ | 0200000000000085 | Hash | 0x04E4D31325137DD7 | 0200000000000000
+ | 0200000000000085 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000085 | Name | ecf8ab06-a867-438d-9093-b7256f31efca | 0200000000000000
+ | 0200000000000085 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000085 | Size | 128 B | 0200000000000000
+ | 0200000000000085 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/ecf8ab06-a867-438d-9093-b7256f31efca) | 0200000000000000
-+ | 0200000000000086 | Hash | 0x7503F71974AF5063 | 0200000000000000
++ | 0200000000000086 | Hash | 0x766582B53D2C59EF | 0200000000000000
+ | 0200000000000086 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000086 | Name | f2842409-0ceb-4d29-8f85-6a9a4436323f | 0200000000000000
+ | 0200000000000086 | Parent | 0200000000000077 | 0200000000000000
+ | 0200000000000086 | Size | 128 B | 0200000000000000
+ | 0200000000000086 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_ritual_fm/customSounds/f2842409-0ceb-4d29-8f85-6a9a4436323f) | 0200000000000000
-+ | 0200000000000078 | Hash | 0x6A7DB76E32F9466C | 0200000000000000
++ | 0200000000000078 | Hash | 0xBBE8A363266BBFCC | 0200000000000000
+ | 0200000000000078 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000078 | Name | Maestros of Synth - Ritual FM | 0200000000000000
+ | 0200000000000078 | Name | info.json | 0200000000000000
@@ -807,61 +807,61 @@
+ | 0200000000000087 | Name | Maestros of Synth - Royal Blue Radio | 0200000000000000
+ | 0200000000000087 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000087 | RedModInfoFile | 0200000000000088 | 0200000000000000
-+ | 0200000000000089 | Hash | 0xAAD635D4CC0638E8 | 0200000000000000
++ | 0200000000000089 | Hash | 0x14E40F146DC50290 | 0200000000000000
+ | 0200000000000089 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000089 | Name | 2b6e73bf-f34a-46a0-8f87-3e32858f1af1 | 0200000000000000
+ | 0200000000000089 | Parent | 0200000000000087 | 0200000000000000
+ | 0200000000000089 | Size | 128 B | 0200000000000000
+ | 0200000000000089 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/2b6e73bf-f34a-46a0-8f87-3e32858f1af1) | 0200000000000000
-+ | 020000000000008A | Hash | 0x2CCC985E6F6462BC | 0200000000000000
++ | 020000000000008A | Hash | 0x7BA571BACBACBF31 | 0200000000000000
+ | 020000000000008A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008A | Name | 315b0745-4971-4fad-b498-914faa967f20 | 0200000000000000
+ | 020000000000008A | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008A | Size | 128 B | 0200000000000000
+ | 020000000000008A | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/315b0745-4971-4fad-b498-914faa967f20) | 0200000000000000
-+ | 020000000000008B | Hash | 0xA8FD0E4538B551E8 | 0200000000000000
++ | 020000000000008B | Hash | 0x331116086DDE74AA | 0200000000000000
+ | 020000000000008B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008B | Name | 5929f47d-d708-4611-a51a-753cc07d6ce5 | 0200000000000000
+ | 020000000000008B | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008B | Size | 128 B | 0200000000000000
+ | 020000000000008B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/5929f47d-d708-4611-a51a-753cc07d6ce5) | 0200000000000000
-+ | 020000000000008C | Hash | 0x9CEC62EF2700CBA6 | 0200000000000000
++ | 020000000000008C | Hash | 0x2D767CAA27C6AF85 | 0200000000000000
+ | 020000000000008C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008C | Name | 69f604bf-e51e-4a9a-9b1f-fab52ebbe11d | 0200000000000000
+ | 020000000000008C | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008C | Size | 128 B | 0200000000000000
+ | 020000000000008C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/69f604bf-e51e-4a9a-9b1f-fab52ebbe11d) | 0200000000000000
-+ | 020000000000008D | Hash | 0x4449C5FF017040B5 | 0200000000000000
++ | 020000000000008D | Hash | 0x344DF0213E7E906A | 0200000000000000
+ | 020000000000008D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008D | Name | 6cfd3a0b-a3a1-4adb-8002-46aaba150b89 | 0200000000000000
+ | 020000000000008D | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008D | Size | 128 B | 0200000000000000
+ | 020000000000008D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/6cfd3a0b-a3a1-4adb-8002-46aaba150b89) | 0200000000000000
-+ | 020000000000008E | Hash | 0x1495A4259EC51033 | 0200000000000000
++ | 020000000000008E | Hash | 0x7F206802FA1DB3D8 | 0200000000000000
+ | 020000000000008E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008E | Name | b0fa635b-ae73-44eb-909d-b1827da5bd20 | 0200000000000000
+ | 020000000000008E | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008E | Size | 128 B | 0200000000000000
+ | 020000000000008E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/b0fa635b-ae73-44eb-909d-b1827da5bd20) | 0200000000000000
-+ | 020000000000008F | Hash | 0xE58E2552F378C7F5 | 0200000000000000
++ | 020000000000008F | Hash | 0xA5D0921C8F56A781 | 0200000000000000
+ | 020000000000008F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000008F | Name | b1cd4941-6c81-4889-a7a4-698494fe9cbe | 0200000000000000
+ | 020000000000008F | Parent | 0200000000000087 | 0200000000000000
+ | 020000000000008F | Size | 128 B | 0200000000000000
+ | 020000000000008F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/b1cd4941-6c81-4889-a7a4-698494fe9cbe) | 0200000000000000
-+ | 0200000000000090 | Hash | 0x1BA41E1EDF57D304 | 0200000000000000
++ | 0200000000000090 | Hash | 0x0451CF5DD9D625B4 | 0200000000000000
+ | 0200000000000090 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000090 | Name | b2579264-5120-48ca-8ff8-eb679a2613b9 | 0200000000000000
+ | 0200000000000090 | Parent | 0200000000000087 | 0200000000000000
+ | 0200000000000090 | Size | 128 B | 0200000000000000
+ | 0200000000000090 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/b2579264-5120-48ca-8ff8-eb679a2613b9) | 0200000000000000
-+ | 0200000000000091 | Hash | 0x21B6507DE495A81B | 0200000000000000
++ | 0200000000000091 | Hash | 0xAC4F4781D6CA8AC4 | 0200000000000000
+ | 0200000000000091 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000091 | Name | d24016c0-275e-4747-9d69-2d6517c7b8da | 0200000000000000
+ | 0200000000000091 | Parent | 0200000000000087 | 0200000000000000
+ | 0200000000000091 | Size | 128 B | 0200000000000000
+ | 0200000000000091 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_royal_blue_radio/customSounds/d24016c0-275e-4747-9d69-2d6517c7b8da) | 0200000000000000
-+ | 0200000000000088 | Hash | 0x2DA4BC71D1A02D3E | 0200000000000000
++ | 0200000000000088 | Hash | 0x2E9503F29E69F5D5 | 0200000000000000
+ | 0200000000000088 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000088 | Name | Maestros of Synth - Royal Blue Radio | 0200000000000000
+ | 0200000000000088 | Name | info.json | 0200000000000000
@@ -874,37 +874,37 @@
+ | 0200000000000092 | Name | Maestros of Synth - SAMIZDAT RADIO | 0200000000000000
+ | 0200000000000092 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000092 | RedModInfoFile | 0200000000000093 | 0200000000000000
-+ | 0200000000000094 | Hash | 0x643C4CF854E46116 | 0200000000000000
++ | 0200000000000094 | Hash | 0x98105C310D5AEE24 | 0200000000000000
+ | 0200000000000094 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000094 | Name | 0969fbd3-d49d-4164-a761-a3834d09ec3f | 0200000000000000
+ | 0200000000000094 | Parent | 0200000000000092 | 0200000000000000
+ | 0200000000000094 | Size | 128 B | 0200000000000000
+ | 0200000000000094 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_samizdat_radio/customSounds/0969fbd3-d49d-4164-a761-a3834d09ec3f) | 0200000000000000
-+ | 0200000000000095 | Hash | 0x214ACC8963E03535 | 0200000000000000
++ | 0200000000000095 | Hash | 0x703EA521F3B39D1A | 0200000000000000
+ | 0200000000000095 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000095 | Name | 0da9ff57-c307-48b9-b784-a8f1458c5755 | 0200000000000000
+ | 0200000000000095 | Parent | 0200000000000092 | 0200000000000000
+ | 0200000000000095 | Size | 128 B | 0200000000000000
+ | 0200000000000095 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_samizdat_radio/customSounds/0da9ff57-c307-48b9-b784-a8f1458c5755) | 0200000000000000
-+ | 0200000000000096 | Hash | 0x20C8C57B2F1BCC5B | 0200000000000000
++ | 0200000000000096 | Hash | 0xB5467EBD5809ABBF | 0200000000000000
+ | 0200000000000096 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000096 | Name | 23d481f5-e498-45d0-88d5-593979b52834 | 0200000000000000
+ | 0200000000000096 | Parent | 0200000000000092 | 0200000000000000
+ | 0200000000000096 | Size | 128 B | 0200000000000000
+ | 0200000000000096 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_samizdat_radio/customSounds/23d481f5-e498-45d0-88d5-593979b52834) | 0200000000000000
-+ | 0200000000000097 | Hash | 0xA3150E0793013AFB | 0200000000000000
++ | 0200000000000097 | Hash | 0x9B5EA2366EA611DC | 0200000000000000
+ | 0200000000000097 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000097 | Name | 3cb7fa2e-eea6-41c9-a5b1-e774f1aa56a0 | 0200000000000000
+ | 0200000000000097 | Parent | 0200000000000092 | 0200000000000000
+ | 0200000000000097 | Size | 128 B | 0200000000000000
+ | 0200000000000097 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_samizdat_radio/customSounds/3cb7fa2e-eea6-41c9-a5b1-e774f1aa56a0) | 0200000000000000
-+ | 0200000000000098 | Hash | 0x8280D76D1596C3E4 | 0200000000000000
++ | 0200000000000098 | Hash | 0xA8EE0DBEA76658C5 | 0200000000000000
+ | 0200000000000098 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000098 | Name | 70c05a84-8dac-44a4-9420-5ad89f6302db | 0200000000000000
+ | 0200000000000098 | Parent | 0200000000000092 | 0200000000000000
+ | 0200000000000098 | Size | 128 B | 0200000000000000
+ | 0200000000000098 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_samizdat_radio/customSounds/70c05a84-8dac-44a4-9420-5ad89f6302db) | 0200000000000000
-+ | 0200000000000093 | Hash | 0xE8B2AB54FE2F4F3C | 0200000000000000
++ | 0200000000000093 | Hash | 0x0FAE9DB96FC8684F | 0200000000000000
+ | 0200000000000093 | Loadout | 0200000000000002 | 0200000000000000
+ | 0200000000000093 | Name | Maestros of Synth - SAMIZDAT RADIO | 0200000000000000
+ | 0200000000000093 | Name | info.json | 0200000000000000
@@ -917,145 +917,145 @@
+ | 0200000000000099 | Name | Maestros of Synth - The Dirge | 0200000000000000
+ | 0200000000000099 | Parent | 0200000000000001 | 0200000000000000
+ | 0200000000000099 | RedModInfoFile | 020000000000009A | 0200000000000000
-+ | 020000000000009B | Hash | 0x22D70595B4D2E029 | 0200000000000000
++ | 020000000000009B | Hash | 0xCF699E93556ACB2E | 0200000000000000
+ | 020000000000009B | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009B | Name | 0999a784-7fac-425b-b886-eb0c0d523579 | 0200000000000000
+ | 020000000000009B | Parent | 0200000000000099 | 0200000000000000
+ | 020000000000009B | Size | 128 B | 0200000000000000
+ | 020000000000009B | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/0999a784-7fac-425b-b886-eb0c0d523579) | 0200000000000000
-+ | 020000000000009C | Hash | 0x2A45E56A9E8B6395 | 0200000000000000
++ | 020000000000009C | Hash | 0x236FE16421DA04DA | 0200000000000000
+ | 020000000000009C | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009C | Name | 1a315094-f033-4e95-ab48-913998c4549f | 0200000000000000
+ | 020000000000009C | Parent | 0200000000000099 | 0200000000000000
+ | 020000000000009C | Size | 128 B | 0200000000000000
+ | 020000000000009C | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/1a315094-f033-4e95-ab48-913998c4549f) | 0200000000000000
-+ | 020000000000009D | Hash | 0x6041385A8E75C52B | 0200000000000000
++ | 020000000000009D | Hash | 0xA170418E6265AFD3 | 0200000000000000
+ | 020000000000009D | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009D | Name | 1e83ef71-2f7c-41e1-acf2-81d8c7178f23 | 0200000000000000
+ | 020000000000009D | Parent | 0200000000000099 | 0200000000000000
+ | 020000000000009D | Size | 128 B | 0200000000000000
+ | 020000000000009D | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/1e83ef71-2f7c-41e1-acf2-81d8c7178f23) | 0200000000000000
-+ | 020000000000009E | Hash | 0x5171608AB1334D42 | 0200000000000000
++ | 020000000000009E | Hash | 0xD1F2644A51383DD3 | 0200000000000000
+ | 020000000000009E | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009E | Name | 270f9e1b-8998-44dc-94b3-4ab6b459fb93 | 0200000000000000
+ | 020000000000009E | Parent | 0200000000000099 | 0200000000000000
+ | 020000000000009E | Size | 128 B | 0200000000000000
+ | 020000000000009E | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/270f9e1b-8998-44dc-94b3-4ab6b459fb93) | 0200000000000000
-+ | 020000000000009F | Hash | 0x25CF1AA9958991F6 | 0200000000000000
++ | 020000000000009F | Hash | 0x06667161F9365C35 | 0200000000000000
+ | 020000000000009F | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009F | Name | 2d551930-bf21-4683-90d7-e3c86ac321d0 | 0200000000000000
+ | 020000000000009F | Parent | 0200000000000099 | 0200000000000000
+ | 020000000000009F | Size | 128 B | 0200000000000000
+ | 020000000000009F | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/2d551930-bf21-4683-90d7-e3c86ac321d0) | 0200000000000000
-+ | 02000000000000A0 | Hash | 0xFD85E0446503E004 | 0200000000000000
++ | 02000000000000A0 | Hash | 0xBE16E837AE369F10 | 0200000000000000
+ | 02000000000000A0 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A0 | Name | 33e08845-5331-46cb-9227-b3427ceb0d98 | 0200000000000000
+ | 02000000000000A0 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A0 | Size | 128 B | 0200000000000000
+ | 02000000000000A0 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/33e08845-5331-46cb-9227-b3427ceb0d98) | 0200000000000000
-+ | 02000000000000A1 | Hash | 0x177019C272D421A9 | 0200000000000000
++ | 02000000000000A1 | Hash | 0xC9BA7C8B82B84A4B | 0200000000000000
+ | 02000000000000A1 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A1 | Name | 3b8d328f-a916-4ee3-ac87-3510a131f7f3 | 0200000000000000
+ | 02000000000000A1 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A1 | Size | 128 B | 0200000000000000
+ | 02000000000000A1 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/3b8d328f-a916-4ee3-ac87-3510a131f7f3) | 0200000000000000
-+ | 02000000000000A2 | Hash | 0x99C53919D40B3388 | 0200000000000000
++ | 02000000000000A2 | Hash | 0xB1C17D005A733D18 | 0200000000000000
+ | 02000000000000A2 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A2 | Name | 6274b492-5e5d-4acc-b01c-51e59db302f1 | 0200000000000000
+ | 02000000000000A2 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A2 | Size | 128 B | 0200000000000000
+ | 02000000000000A2 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/6274b492-5e5d-4acc-b01c-51e59db302f1) | 0200000000000000
-+ | 02000000000000A3 | Hash | 0xFE84ABBABEC8E4AF | 0200000000000000
++ | 02000000000000A3 | Hash | 0xBC8483F72EDED620 | 0200000000000000
+ | 02000000000000A3 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A3 | Name | 74d3180a-296b-4edc-8f84-961b6425daba | 0200000000000000
+ | 02000000000000A3 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A3 | Size | 128 B | 0200000000000000
+ | 02000000000000A3 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/74d3180a-296b-4edc-8f84-961b6425daba) | 0200000000000000
-+ | 02000000000000A4 | Hash | 0x200C116A823CCBCB | 0200000000000000
++ | 02000000000000A4 | Hash | 0x872F315B79062FE4 | 0200000000000000
+ | 02000000000000A4 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A4 | Name | 7631e1bb-eaf1-431f-afe8-0635adccf89e | 0200000000000000
+ | 02000000000000A4 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A4 | Size | 128 B | 0200000000000000
+ | 02000000000000A4 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/7631e1bb-eaf1-431f-afe8-0635adccf89e) | 0200000000000000
-+ | 02000000000000A5 | Hash | 0xEC9C06D65E5E812D | 0200000000000000
++ | 02000000000000A5 | Hash | 0xAD25E96326398441 | 0200000000000000
+ | 02000000000000A5 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A5 | Name | 801dd751-847f-4cb4-8372-8580fcd1e1b9 | 0200000000000000
+ | 02000000000000A5 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A5 | Size | 128 B | 0200000000000000
+ | 02000000000000A5 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/801dd751-847f-4cb4-8372-8580fcd1e1b9) | 0200000000000000
-+ | 02000000000000A6 | Hash | 0xDB05F7B5CA538F1F | 0200000000000000
++ | 02000000000000A6 | Hash | 0x7837CD0ABECDF417 | 0200000000000000
+ | 02000000000000A6 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A6 | Name | 8e7a032d-7695-4bcb-b344-ed52c8423d14 | 0200000000000000
+ | 02000000000000A6 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A6 | Size | 128 B | 0200000000000000
+ | 02000000000000A6 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/8e7a032d-7695-4bcb-b344-ed52c8423d14) | 0200000000000000
-+ | 02000000000000A7 | Hash | 0xA6617E3825FF9A59 | 0200000000000000
++ | 02000000000000A7 | Hash | 0x4A96559B4055712A | 0200000000000000
+ | 02000000000000A7 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A7 | Name | 9473e941-6149-44f0-b5e1-8d62adf6a349 | 0200000000000000
+ | 02000000000000A7 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A7 | Size | 128 B | 0200000000000000
+ | 02000000000000A7 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/9473e941-6149-44f0-b5e1-8d62adf6a349) | 0200000000000000
-+ | 02000000000000A8 | Hash | 0x241CB5E83A4C0F1F | 0200000000000000
++ | 02000000000000A8 | Hash | 0xA0A637D401534544 | 0200000000000000
+ | 02000000000000A8 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A8 | Name | a17eef04-42c0-4af2-9638-3696c7b5841c | 0200000000000000
+ | 02000000000000A8 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A8 | Size | 128 B | 0200000000000000
+ | 02000000000000A8 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/a17eef04-42c0-4af2-9638-3696c7b5841c) | 0200000000000000
-+ | 02000000000000A9 | Hash | 0x0CCC221225906106 | 0200000000000000
++ | 02000000000000A9 | Hash | 0x932BB7C8EBE75534 | 0200000000000000
+ | 02000000000000A9 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000A9 | Name | a99c2bc2-f14c-4e02-8418-f0e4a430e55f | 0200000000000000
+ | 02000000000000A9 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000A9 | Size | 128 B | 0200000000000000
+ | 02000000000000A9 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/a99c2bc2-f14c-4e02-8418-f0e4a430e55f) | 0200000000000000
-+ | 02000000000000AA | Hash | 0x5B242DDB4E5C3AFE | 0200000000000000
++ | 02000000000000AA | Hash | 0xF7F0282C05752D6A | 0200000000000000
+ | 02000000000000AA | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AA | Name | aa52eb34-93ec-4d6c-9e9a-b3e60f5cf05a | 0200000000000000
+ | 02000000000000AA | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AA | Size | 128 B | 0200000000000000
+ | 02000000000000AA | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/aa52eb34-93ec-4d6c-9e9a-b3e60f5cf05a) | 0200000000000000
-+ | 02000000000000AB | Hash | 0xD09EEC0519DFCAEC | 0200000000000000
++ | 02000000000000AB | Hash | 0x6AB3EDFC9771D0BE | 0200000000000000
+ | 02000000000000AB | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AB | Name | ae6a0808-df4d-4abe-b7bc-807dfca14a9d | 0200000000000000
+ | 02000000000000AB | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AB | Size | 128 B | 0200000000000000
+ | 02000000000000AB | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/ae6a0808-df4d-4abe-b7bc-807dfca14a9d) | 0200000000000000
-+ | 02000000000000AC | Hash | 0xA318316CE8147DD4 | 0200000000000000
++ | 02000000000000AC | Hash | 0xE9BB44A5411AE0CF | 0200000000000000
+ | 02000000000000AC | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AC | Name | bee0ef5d-90a6-47d8-a844-7577955e9a76 | 0200000000000000
+ | 02000000000000AC | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AC | Size | 128 B | 0200000000000000
+ | 02000000000000AC | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/bee0ef5d-90a6-47d8-a844-7577955e9a76) | 0200000000000000
-+ | 02000000000000AD | Hash | 0x5CB3BB5BDDC47D5F | 0200000000000000
++ | 02000000000000AD | Hash | 0xC0124E0B7001CEFF | 0200000000000000
+ | 02000000000000AD | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AD | Name | c4903d5b-9857-4685-8e33-ce82d867461e | 0200000000000000
+ | 02000000000000AD | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AD | Size | 128 B | 0200000000000000
+ | 02000000000000AD | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/c4903d5b-9857-4685-8e33-ce82d867461e) | 0200000000000000
-+ | 02000000000000AE | Hash | 0x185DDD0A7CE48952 | 0200000000000000
++ | 02000000000000AE | Hash | 0x2B478E73A31FC45C | 0200000000000000
+ | 02000000000000AE | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AE | Name | cbe1462c-d530-436c-be9d-9f59db4d272a | 0200000000000000
+ | 02000000000000AE | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AE | Size | 128 B | 0200000000000000
+ | 02000000000000AE | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/cbe1462c-d530-436c-be9d-9f59db4d272a) | 0200000000000000
-+ | 02000000000000AF | Hash | 0xAF9CEFCB5B5DCE78 | 0200000000000000
++ | 02000000000000AF | Hash | 0x4F8046BC51C389CB | 0200000000000000
+ | 02000000000000AF | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000AF | Name | e991a173-f022-4e13-8d98-5ebe9aa81088 | 0200000000000000
+ | 02000000000000AF | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000AF | Size | 128 B | 0200000000000000
+ | 02000000000000AF | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/e991a173-f022-4e13-8d98-5ebe9aa81088) | 0200000000000000
-+ | 02000000000000B0 | Hash | 0xBA1807C9967E4A2D | 0200000000000000
++ | 02000000000000B0 | Hash | 0xBCFA92A1ADAA5DB9 | 0200000000000000
+ | 02000000000000B0 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000B0 | Name | ec4ca508-7c32-43c1-bf26-925ac9031267 | 0200000000000000
+ | 02000000000000B0 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000B0 | Size | 128 B | 0200000000000000
+ | 02000000000000B0 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/ec4ca508-7c32-43c1-bf26-925ac9031267) | 0200000000000000
-+ | 02000000000000B1 | Hash | 0x2CFB7CBE8149F554 | 0200000000000000
++ | 02000000000000B1 | Hash | 0xAA5635D7D88E4B92 | 0200000000000000
+ | 02000000000000B1 | Loadout | 0200000000000002 | 0200000000000000
+ | 02000000000000B1 | Name | ff15dd51-6c99-4ffa-b726-6a12252984f6 | 0200000000000000
+ | 02000000000000B1 | Parent | 0200000000000099 | 0200000000000000
+ | 02000000000000B1 | Size | 128 B | 0200000000000000
+ | 02000000000000B1 | TargetPath | (0200000000000002, Game, mods/maestros_of_synth_the_dirge/customSounds/ff15dd51-6c99-4ffa-b726-6a12252984f6) | 0200000000000000
-+ | 020000000000009A | Hash | 0x60A89AC7DF6F08CC | 0200000000000000
++ | 020000000000009A | Hash | 0x37E7E2C0F8D312D1 | 0200000000000000
+ | 020000000000009A | Loadout | 0200000000000002 | 0200000000000000
+ | 020000000000009A | Name | Maestros of Synth - The Dirge | 0200000000000000
+ | 020000000000009A | Name | info.json | 0200000000000000
diff --git a/tests/Games/NexusMods.Games.StardewValley.Tests/StardewValleySynchronizerTests.cs b/tests/Games/NexusMods.Games.StardewValley.Tests/StardewValleySynchronizerTests.cs
index dfb3f69d36..5f362b9641 100644
--- a/tests/Games/NexusMods.Games.StardewValley.Tests/StardewValleySynchronizerTests.cs
+++ b/tests/Games/NexusMods.Games.StardewValley.Tests/StardewValleySynchronizerTests.cs
@@ -6,7 +6,7 @@
using NexusMods.Extensions.Hashing;
using NexusMods.Games.StardewValley.Models;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
using NexusMods.Games.TestFramework.FluentAssertionExtensions;
@@ -24,7 +24,7 @@ public async Task FilesInModFoldersAreMovedIntoMods()
using var tx = Connection.BeginTransaction();
var manifestData = "{}";
- var manifestHash = manifestData.XxHash64AsUtf8();
+ var manifestHash = manifestData.xxHash3AsUtf8();
var smapiMod = new SMAPIModLoadoutItem.New(tx, out var modId)
{
diff --git a/tests/Games/NexusMods.Games.TestFramework/AGameTest.cs b/tests/Games/NexusMods.Games.TestFramework/AGameTest.cs
index f2fcbb0f1b..f1a79a1517 100644
--- a/tests/Games/NexusMods.Games.TestFramework/AGameTest.cs
+++ b/tests/Games/NexusMods.Games.TestFramework/AGameTest.cs
@@ -17,7 +17,7 @@
using NexusMods.Abstractions.Loadouts.Extensions;
using NexusMods.Abstractions.Loadouts.Synchronizers;
using NexusMods.DataModel;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.BuiltInEntities;
using NexusMods.MnemonicDB.Abstractions.Models;
@@ -128,7 +128,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
content ??= path.Path.ToString();
var contentArray = Encoding.UTF8.GetBytes(content);
- hash = contentArray.XxHash64();
+ hash = contentArray.xxHash3();
size = Size.FromLong(contentArray.Length);
return AddFileInternal(tx, loadoutId, groupId, path, hash, size).Id;
}
@@ -193,7 +193,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
foreach (var path in paths)
{
var data = Encoding.UTF8.GetBytes(path);
- var hash = data.XxHash64();
+ var hash = data.xxHash3();
var size = Size.FromLong(path.Path.Length);
// Create the LoadoutFile in DB
@@ -231,7 +231,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
private static LibraryFile.New CreateLibraryFile(string fileName, ITransaction tx, out EntityId entityId) => new(tx, out entityId)
{
FileName = fileName,
- Hash = fileName.XxHash64AsUtf8(),
+ Hash = fileName.xxHash3AsUtf8(),
Size = Size.FromLong(fileName.Length),
LibraryItem = new LibraryItem.New(tx, entityId)
{
diff --git a/tests/Games/NexusMods.Games.TestFramework/AIsolatedGameTest.cs b/tests/Games/NexusMods.Games.TestFramework/AIsolatedGameTest.cs
index 6b8c4fa32b..d9f86cecbb 100644
--- a/tests/Games/NexusMods.Games.TestFramework/AIsolatedGameTest.cs
+++ b/tests/Games/NexusMods.Games.TestFramework/AIsolatedGameTest.cs
@@ -24,7 +24,7 @@
using NexusMods.App.BuildInfo;
using NexusMods.DataModel;
using NexusMods.Games.FOMOD;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.BuiltInEntities;
using NexusMods.MnemonicDB.Abstractions.Models;
@@ -167,7 +167,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
content ??= path.Path.ToString();
var contentArray = Encoding.UTF8.GetBytes(content);
- hash = contentArray.XxHash64();
+ hash = contentArray.xxHash3();
size = Size.FromLong(contentArray.Length);
return AddFileInternal(tx, loadoutId, groupId, path, hash, size).Id;
}
@@ -232,7 +232,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
foreach (var path in paths)
{
var data = Encoding.UTF8.GetBytes(path);
- var hash = data.XxHash64();
+ var hash = data.xxHash3();
var size = Size.FromLong(path.Path.Length);
// Create the LoadoutFile in DB
@@ -270,7 +270,7 @@ public LoadoutFileId AddFile(ITransaction tx, LoadoutId loadoutId, LoadoutItemGr
private static LibraryFile.New CreateLibraryFile(string fileName, ITransaction tx, out EntityId entityId) => new(tx, out entityId)
{
FileName = fileName,
- Hash = fileName.XxHash64AsUtf8(),
+ Hash = fileName.xxHash3AsUtf8(),
Size = Size.FromLong(fileName.Length),
LibraryItem = new LibraryItem.New(tx, entityId)
{
diff --git a/tests/Games/NexusMods.Games.TestFramework/ALibraryArchiveInstallerTests.cs b/tests/Games/NexusMods.Games.TestFramework/ALibraryArchiveInstallerTests.cs
index 97dcfc0e22..0165605d0b 100644
--- a/tests/Games/NexusMods.Games.TestFramework/ALibraryArchiveInstallerTests.cs
+++ b/tests/Games/NexusMods.Games.TestFramework/ALibraryArchiveInstallerTests.cs
@@ -10,7 +10,7 @@
using NexusMods.Abstractions.Library.Models;
using NexusMods.Abstractions.Loadouts;
using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.MnemonicDB.Abstractions.IndexSegments;
using NexusMods.Paths;
@@ -182,7 +182,7 @@ EntityId Remap(EntityId id)
sb.Append(ul.ToString("X16").PadRight(48));
break;
case byte[] byteArray:
- var code = byteArray.XxHash64().Value;
+ var code = byteArray.xxHash3().Value;
var hash = code.ToString("X16");
sb.Append($"Blob 0x{hash} {byteArray.Length} bytes".PadRight(48));
break;
diff --git a/tests/Games/NexusMods.Games.TestFramework/Downloader/NexusModMetadata.cs b/tests/Games/NexusMods.Games.TestFramework/Downloader/NexusModMetadata.cs
index a7e84b60b6..ee9c98a8ff 100644
--- a/tests/Games/NexusMods.Games.TestFramework/Downloader/NexusModMetadata.cs
+++ b/tests/Games/NexusMods.Games.TestFramework/Downloader/NexusModMetadata.cs
@@ -1,6 +1,6 @@
using NexusMods.Abstractions.NexusWebApi.Types;
using NexusMods.Abstractions.NexusWebApi.Types.V2;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.Games.TestFramework.Downloader;
diff --git a/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/HttpDownloadJobWorkerTests.cs b/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/HttpDownloadJobWorkerTests.cs
index df1117ab81..018e127020 100644
--- a/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/HttpDownloadJobWorkerTests.cs
+++ b/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/HttpDownloadJobWorkerTests.cs
@@ -2,7 +2,8 @@
using Microsoft.Extensions.DependencyInjection;
using NexusMods.Abstractions.Jobs;
using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+using NexusMods.Hashing.xxHash3.Paths;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
@@ -31,7 +32,7 @@ public async Task Test_NexusModsCDN100MFile()
outputPath.Path.FileExists.Should().BeTrue();
outputPath.Path.FileInfo.Size.Should().Be(Size.MB * 100);
- var hash = await outputPath.Path.XxHash64Async();
- hash.Should().Be(Hash.From(0xBEEADB5B05BED390));
+ var hash = await outputPath.Path.XxHash3Async();
+ hash.Should().Be(Hash.From(0x2330001AD4114867));
}
}
diff --git a/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/LocalHttpServer.cs b/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/LocalHttpServer.cs
index eafef728b0..93c5116c7f 100644
--- a/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/LocalHttpServer.cs
+++ b/tests/Networking/NexusMods.Networking.HttpDownloader.Tests/LocalHttpServer.cs
@@ -2,7 +2,7 @@
using System.Net.Http.Headers;
using System.Text;
using Microsoft.Extensions.Logging;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.Networking.HttpDownloader.Tests;
@@ -24,7 +24,7 @@ public LocalHttpServer(ILogger logger)
_listener.Start();
LargeData = GenerateLargeData();
- LargeDataHash = LargeData.AsSpan().XxHash64();
+ LargeDataHash = LargeData.AsSpan().xxHash3();
StartLoop();
}
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/DataStoreNxArchiveFinderTests.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/DataStoreNxArchiveFinderTests.cs
index f38ef8def3..a95f734d2a 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/DataStoreNxArchiveFinderTests.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/DataStoreNxArchiveFinderTests.cs
@@ -6,7 +6,7 @@
using NexusMods.Abstractions.Settings;
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.DataModel;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -60,7 +60,7 @@ private static List CreateArchivedFileEntries(IEnumerable<(st
foreach (var (fileName, content) in files)
{
var data = Encoding.UTF8.GetBytes(content);
- var hash = data.AsSpan().XxHash64();
+ var hash = data.AsSpan().xxHash3();
var entry = new ArchivedFileEntry(
new MemoryStreamFactory(fileName.ToRelativePath(), new MemoryStream(data)),
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/Helpers.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/Helpers.cs
index 9fb79ce2d5..0b9bb039cd 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/Helpers.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/Helpers.cs
@@ -1,6 +1,6 @@
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.Archives.Nx.Headers;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions.Nx.FileProviders;
namespace NexusMods.App.GarbageCollection.DataModel.Tests.FindUsedFiles;
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLibraryFilesTest.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLibraryFilesTest.cs
index 80ae970281..3fae6c0dc7 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLibraryFilesTest.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLibraryFilesTest.cs
@@ -6,7 +6,7 @@
using NexusMods.Abstractions.Loadouts;
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.StandardGameLocators.TestHelpers.StubbedGames;
using static NexusMods.App.GarbageCollection.DataModel.Tests.FindUsedFiles.Helpers;
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLoadoutFilesTest.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLoadoutFilesTest.cs
index dc87ef8247..0d217d27fd 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLoadoutFilesTest.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FindUsedFiles/MarkUsedLoadoutFilesTest.cs
@@ -4,7 +4,7 @@
using NexusMods.Abstractions.Loadouts;
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.StandardGameLocators.TestHelpers.StubbedGames;
using static NexusMods.App.GarbageCollection.DataModel.Tests.FindUsedFiles.Helpers;
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FullSystemTest.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FullSystemTest.cs
index 82a34c6834..64e120ec22 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FullSystemTest.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/FullSystemTest.cs
@@ -5,7 +5,7 @@
using NexusMods.Abstractions.Settings;
using NexusMods.DataModel;
using NexusMods.Games.TestFramework;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.StandardGameLocators.TestHelpers.StubbedGames;
namespace NexusMods.App.GarbageCollection.DataModel.Tests;
diff --git a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/NxFileStoreUpdaterTests.cs b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/NxFileStoreUpdaterTests.cs
index d5027f2a03..489caf5dea 100644
--- a/tests/NexusMods.App.GarbageCollection.DataModel.Tests/NxFileStoreUpdaterTests.cs
+++ b/tests/NexusMods.App.GarbageCollection.DataModel.Tests/NxFileStoreUpdaterTests.cs
@@ -7,7 +7,7 @@
using NexusMods.App.GarbageCollection.Nx;
using NexusMods.Archives.Nx.Headers;
using NexusMods.DataModel;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -125,7 +125,7 @@ public async Task UpdateNxFileStore_WithIncorrectArchivePath_ShouldNotUpdateEntr
foreach (var (fileName, content) in files)
{
var data = Encoding.UTF8.GetBytes(content);
- var hash = data.AsSpan().XxHash64();
+ var hash = data.AsSpan().xxHash3();
fileHashes[fileName] = hash;
var entry = new ArchivedFileEntry(
diff --git a/tests/NexusMods.App.GarbageCollection.Nx.Tests/NxRepackerTests.cs b/tests/NexusMods.App.GarbageCollection.Nx.Tests/NxRepackerTests.cs
index a18c052281..b5160f0a21 100644
--- a/tests/NexusMods.App.GarbageCollection.Nx.Tests/NxRepackerTests.cs
+++ b/tests/NexusMods.App.GarbageCollection.Nx.Tests/NxRepackerTests.cs
@@ -2,7 +2,7 @@
using NexusMods.Archives.Nx.Headers;
using NexusMods.Archives.Nx.Headers.Managed;
using NexusMods.Archives.Nx.Packing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions.Nx.Extensions;
using NexusMods.Paths.Extensions.Nx.FileProviders;
diff --git a/tests/NexusMods.App.GarbageCollection.Tests/ArchiveGarbageCollectorTests.cs b/tests/NexusMods.App.GarbageCollection.Tests/ArchiveGarbageCollectorTests.cs
index 04000c90cb..1a9772d04e 100644
--- a/tests/NexusMods.App.GarbageCollection.Tests/ArchiveGarbageCollectorTests.cs
+++ b/tests/NexusMods.App.GarbageCollection.Tests/ArchiveGarbageCollectorTests.cs
@@ -3,7 +3,7 @@
using NexusMods.App.GarbageCollection.Errors;
using NexusMods.App.GarbageCollection.Structs;
using NexusMods.App.GarbageCollection.Tests.Helpers;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.TestingHelpers;
using Xunit;
diff --git a/tests/NexusMods.App.GarbageCollection.Tests/Helpers/MockParsedHeaderState.cs b/tests/NexusMods.App.GarbageCollection.Tests/Helpers/MockParsedHeaderState.cs
index 479408c4da..02189bdfad 100644
--- a/tests/NexusMods.App.GarbageCollection.Tests/Helpers/MockParsedHeaderState.cs
+++ b/tests/NexusMods.App.GarbageCollection.Tests/Helpers/MockParsedHeaderState.cs
@@ -1,6 +1,5 @@
-using System;
using NexusMods.App.GarbageCollection.Interfaces;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
namespace NexusMods.App.GarbageCollection.Tests.Helpers;
internal class MockParsedHeaderState : ICanProvideFileHashes
diff --git a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=1.verified.txt b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=1.verified.txt
index 891fdb7557..1f331c5d8c 100644
--- a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=1.verified.txt
+++ b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=1.verified.txt
@@ -5,85 +5,85 @@
My Mods
],
files: {
- {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xC588BB490C66EDAB,
- {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x5368CCF5BBD52FA3,
- {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x05EAD3D3D528238E,
- {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x2C4A7120D2B69B6C,
- {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0x08A29A771B20E512,
- {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0x3786BC0C6FCD553F,
- {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x32E4004D7050C37F,
- {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xECC436714A6110A8,
- {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x53BC3D5D269E0175,
- {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x34F29FB809841A42,
- {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x339529ECAEDC65E4,
- {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xAF8B21389F9ECAE8,
- {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x639F8757D9F8618C,
- {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x7788BFECCE8C8F51,
- {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xDA08B726AB0037FC,
- {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0xD499E8487941C52D,
- {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x1319F3BC56E092D7,
- {Game}/archive/pc/mod/LoadBegone2.archive: 0x29510DFFE2455103,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0x3DABE42331827AC7,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xDEAB6BBB6694D015,
- {Game}/bin/x64/global.ini: 0xD5754D5806682A30,
- {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0x7129F953090438D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xB33CCF64F048E8F8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0xC983F2F034D254C7,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x8F79B5D43AB6C157,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0xCC1EB30F1A1F30C8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xD2B114D5F2BEC781,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x3FEE1A7EC5FF1B6B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x6CD62E355A8D6F23,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0xD3DC79DD1634C732,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x393DAA6D01ABD899,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0x41B4B9109960802D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0xA9AF4B148096747D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x9FC9344DBF9654EA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x5641B794D782DFC9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0xA28DDD351BB4A1B9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xF91D0AFFD431B0C2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0xF30218A1BFE88CD1,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xDA86D687FA1D5C79,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x946D623D0F07D902,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xE157314997BFD755,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0xE48CF7DF70419BE8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x8030BA34D59692D9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0x32EBDC5A145D5EEA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0x7DACB3CA5EDF7204,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x36D9ED6A876DC78F,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0xCDC334C4251B6A88,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x91A9B6F036C70540,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x33C5DF0C0E9DDF66,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCA13E396E97ABDF6,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0xA1B463F8189C1D3B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0xBA966763F180016D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB253CD9C863A7F69,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xAD5D2AAF7E2CCE65,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0xE1FECA364214DBA0,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0xA4F46BC24B8F6A9C,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF608F3D16BF05122,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0x52ED89E6FCDAF9BD,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0xDA67548CAB357DBF,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xED9B39B29880538E,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0xEBF0E79EF045F815,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x1C1921A370BE8C12,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0xA6521A41DB00D371,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x8B7A040278F20B11,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0xB8E0894F553C73D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0x17107623E9572858,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x112E445C98535EB9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x4844644F5CB43AD8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0x6BD4B3565C657311,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x64BA2A8A217FC8F9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0x0451A423C907AC1B,
- {Game}/bin/x64/version.dll: 0x2D196A004820D7BB
+ {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xBB5F35096990DEBD,
+ {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x1D13EF6635D57EDE,
+ {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x8CBF54A91B28B524,
+ {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x3189C6C435A869A0,
+ {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0xB1A1C3A5387CC01E,
+ {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0xD7927551B67E68AE,
+ {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x4CA1826BA1685FCC,
+ {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xADF392AFDE79C961,
+ {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x05D34333864E1307,
+ {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x6425BF418B3C16D8,
+ {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x14891A7910BC8983,
+ {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xA8CEDFD5D46811BB,
+ {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x72BB4A815690C128,
+ {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x24C9E2AB595AD674,
+ {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xCC74158AC3676C96,
+ {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0x8AC3E1E0A1E0C750,
+ {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x5099B3BA724BCB7F,
+ {Game}/archive/pc/mod/LoadBegone2.archive: 0x81EC278CDBFEEF4C,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0xE0EBCDE19E41AFBB,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xFF1DE5E3A461CFC1,
+ {Game}/bin/x64/global.ini: 0xB22A6D4E2D34E07F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0xC96916A428DF153E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xE51054EFE50C90F7,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0x51FAB10D52D8AC2A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x62923066950CC93D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0x6A56DCD0357B68DD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xE9EAEBF0C477EB65,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x255F1F653A417F73,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x2DD3463A6829EB72,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0x2363F66B2B12ADEE,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x036EE6E2DBDF9A6E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0xC760E3BA4E60D83B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0x1C00C2F57AD6B0A3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x5A53BE3BEDE7DE9B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x455AEAF7EC3FEB64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0x0723E902C7C7E59D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xFFEC432FF2204461,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0x21B416CA500935DF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xEFE66C695C24D634,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x64707D9DDC8637B0,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xDB31B3F65D522F42,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0x595E3C6A7B788058,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x4FB93DDC51A562CF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0xFFC7ECEDFD1F5344,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0xBEDF6CE3220862D3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x9D7F318534D0BC2F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0x681408A9F4BC30EA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x56F0E0A033AF62C3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x4ADDF13907B62BEC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCFFB5DF9AB293EBB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0x968E7EA10BE89073,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0x6F9C3B854B0BD42D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB12B62417FB5B162,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xF38D7D9A556A5E15,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0x04E09F3816AB8021,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0x9772C191263CB5FA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF774606BA78569BC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0xB60DEFB058518B9F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0x58FDFDA3FB499B6A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xD334462D20ADA9C6,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0x6E9B2A2685C22B64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x9918D8611006D446,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0x217A38DBC4D61457,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x70A567A5405976A1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0x83670A28392FA2B2,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0xF61FD8C77D020E6C,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x564B031D3D73FECD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x681672917A36119B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0xB62A1399EF1C38F1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x0CE4F15227C0D8AB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0xD8E8A1699A4B7739,
+ {Game}/bin/x64/version.dll: 0xD0648A2A863844C3
}
}
\ No newline at end of file
diff --git a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=3.verified.txt b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=3.verified.txt
index 5a3ad8ca25..4dac9f2026 100644
--- a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=3.verified.txt
+++ b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=3.verified.txt
@@ -5,86 +5,86 @@
My Mods
],
files: {
- {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xC588BB490C66EDAB,
- {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x5368CCF5BBD52FA3,
- {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x05EAD3D3D528238E,
- {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x2C4A7120D2B69B6C,
- {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0x08A29A771B20E512,
- {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0x3786BC0C6FCD553F,
- {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x32E4004D7050C37F,
- {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xECC436714A6110A8,
- {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x53BC3D5D269E0175,
- {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x34F29FB809841A42,
- {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x339529ECAEDC65E4,
- {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xAF8B21389F9ECAE8,
- {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x639F8757D9F8618C,
- {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x7788BFECCE8C8F51,
- {Game}/archive/pc/mod/basegame_mod_Sweaty25_07.archive: 0xE25B8749336E0F56,
- {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xDA08B726AB0037FC,
- {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0xD499E8487941C52D,
- {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x1319F3BC56E092D7,
- {Game}/archive/pc/mod/LoadBegone2.archive: 0x29510DFFE2455103,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0x3DABE42331827AC7,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xDEAB6BBB6694D015,
- {Game}/bin/x64/global.ini: 0xD5754D5806682A30,
- {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0x7129F953090438D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xB33CCF64F048E8F8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0xC983F2F034D254C7,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x8F79B5D43AB6C157,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0xCC1EB30F1A1F30C8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xD2B114D5F2BEC781,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x3FEE1A7EC5FF1B6B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x6CD62E355A8D6F23,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0xD3DC79DD1634C732,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x393DAA6D01ABD899,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0x41B4B9109960802D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0xA9AF4B148096747D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x9FC9344DBF9654EA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x5641B794D782DFC9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0xA28DDD351BB4A1B9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xF91D0AFFD431B0C2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0xF30218A1BFE88CD1,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xDA86D687FA1D5C79,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x946D623D0F07D902,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xE157314997BFD755,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0xE48CF7DF70419BE8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x8030BA34D59692D9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0x32EBDC5A145D5EEA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0x7DACB3CA5EDF7204,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x36D9ED6A876DC78F,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0xCDC334C4251B6A88,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x91A9B6F036C70540,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x33C5DF0C0E9DDF66,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCA13E396E97ABDF6,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0xA1B463F8189C1D3B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0xBA966763F180016D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB253CD9C863A7F69,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xAD5D2AAF7E2CCE65,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0xE1FECA364214DBA0,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0xA4F46BC24B8F6A9C,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF608F3D16BF05122,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0x52ED89E6FCDAF9BD,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0xDA67548CAB357DBF,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xED9B39B29880538E,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0xEBF0E79EF045F815,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x1C1921A370BE8C12,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0x30038374A2F5410C,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x8B7A040278F20B11,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0xB8E0894F553C73D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0x17107623E9572858,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x112E445C98535EB9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x4844644F5CB43AD8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0x6BD4B3565C657311,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x64BA2A8A217FC8F9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0x0451A423C907AC1B,
- {Game}/bin/x64/version.dll: 0x2D196A004820D7BB
+ {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xBB5F35096990DEBD,
+ {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x1D13EF6635D57EDE,
+ {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x8CBF54A91B28B524,
+ {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x3189C6C435A869A0,
+ {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0xB1A1C3A5387CC01E,
+ {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0xD7927551B67E68AE,
+ {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x4CA1826BA1685FCC,
+ {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xADF392AFDE79C961,
+ {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x05D34333864E1307,
+ {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x6425BF418B3C16D8,
+ {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x14891A7910BC8983,
+ {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xA8CEDFD5D46811BB,
+ {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x72BB4A815690C128,
+ {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x24C9E2AB595AD674,
+ {Game}/archive/pc/mod/basegame_mod_Sweaty25_07.archive: 0x777B30B04FD846BE,
+ {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xCC74158AC3676C96,
+ {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0x8AC3E1E0A1E0C750,
+ {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x5099B3BA724BCB7F,
+ {Game}/archive/pc/mod/LoadBegone2.archive: 0x81EC278CDBFEEF4C,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0xE0EBCDE19E41AFBB,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xFF1DE5E3A461CFC1,
+ {Game}/bin/x64/global.ini: 0xB22A6D4E2D34E07F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0xC96916A428DF153E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xE51054EFE50C90F7,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0x51FAB10D52D8AC2A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x62923066950CC93D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0x6A56DCD0357B68DD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xE9EAEBF0C477EB65,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x255F1F653A417F73,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x2DD3463A6829EB72,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0x2363F66B2B12ADEE,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x036EE6E2DBDF9A6E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0xC760E3BA4E60D83B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0x1C00C2F57AD6B0A3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x5A53BE3BEDE7DE9B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x455AEAF7EC3FEB64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0x0723E902C7C7E59D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xFFEC432FF2204461,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0x21B416CA500935DF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xEFE66C695C24D634,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x64707D9DDC8637B0,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xDB31B3F65D522F42,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0x595E3C6A7B788058,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x4FB93DDC51A562CF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0xFFC7ECEDFD1F5344,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0xBEDF6CE3220862D3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x9D7F318534D0BC2F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0x681408A9F4BC30EA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x56F0E0A033AF62C3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x4ADDF13907B62BEC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCFFB5DF9AB293EBB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0x968E7EA10BE89073,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0x6F9C3B854B0BD42D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB12B62417FB5B162,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xF38D7D9A556A5E15,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0x04E09F3816AB8021,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0x9772C191263CB5FA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF774606BA78569BC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0xB60DEFB058518B9F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0x58FDFDA3FB499B6A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xD334462D20ADA9C6,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0x6E9B2A2685C22B64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x9918D8611006D446,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0xE2C526B0268E15DD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x70A567A5405976A1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0x83670A28392FA2B2,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0xF61FD8C77D020E6C,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x564B031D3D73FECD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x681672917A36119B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0xB62A1399EF1C38F1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x0CE4F15227C0D8AB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0xD8E8A1699A4B7739,
+ {Game}/bin/x64/version.dll: 0xD0648A2A863844C3
}
}
\ No newline at end of file
diff --git a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=4.verified.txt b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=4.verified.txt
index 9568ee49c4..6534c0213f 100644
--- a/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=4.verified.txt
+++ b/tests/NexusMods.Collections.Tests/CollectionInstallTests.CanInstallCollections_slug=jjctqn_revisionNumber=4.verified.txt
@@ -5,87 +5,87 @@
My Mods
],
files: {
- {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xC588BB490C66EDAB,
- {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x5368CCF5BBD52FA3,
- {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x05EAD3D3D528238E,
- {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x2C4A7120D2B69B6C,
- {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0x08A29A771B20E512,
- {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0x3786BC0C6FCD553F,
- {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x32E4004D7050C37F,
- {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xECC436714A6110A8,
- {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x53BC3D5D269E0175,
- {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x34F29FB809841A42,
- {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x339529ECAEDC65E4,
- {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xAF8B21389F9ECAE8,
- {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x639F8757D9F8618C,
- {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x7788BFECCE8C8F51,
- {Game}/archive/pc/mod/basegame_mod_Sweaty25_07.archive: 0xE25B8749336E0F56,
- {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xDA08B726AB0037FC,
- {Game}/archive/pc/mod/bundled_image.png.png: 0xDDA21A1E5462C4D5,
- {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0xD499E8487941C52D,
- {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x1319F3BC56E092D7,
- {Game}/archive/pc/mod/LoadBegone2.archive: 0x29510DFFE2455103,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0x3DABE42331827AC7,
- {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xDEAB6BBB6694D015,
- {Game}/bin/x64/global.ini: 0xD5754D5806682A30,
- {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0x7129F953090438D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xB33CCF64F048E8F8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0xC983F2F034D254C7,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x8F79B5D43AB6C157,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0xCC1EB30F1A1F30C8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xD2B114D5F2BEC781,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x3FEE1A7EC5FF1B6B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x6CD62E355A8D6F23,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0xD3DC79DD1634C732,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x393DAA6D01ABD899,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0x41B4B9109960802D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0xA9AF4B148096747D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x9FC9344DBF9654EA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x5641B794D782DFC9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0xA28DDD351BB4A1B9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xF91D0AFFD431B0C2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0xF30218A1BFE88CD1,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xDA86D687FA1D5C79,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x946D623D0F07D902,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xE157314997BFD755,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0xE48CF7DF70419BE8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x8030BA34D59692D9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0x32EBDC5A145D5EEA,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0x7DACB3CA5EDF7204,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x36D9ED6A876DC78F,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0xCDC334C4251B6A88,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x91A9B6F036C70540,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x33C5DF0C0E9DDF66,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCA13E396E97ABDF6,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0xA1B463F8189C1D3B,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0xBA966763F180016D,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB253CD9C863A7F69,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xAD5D2AAF7E2CCE65,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0xE1FECA364214DBA0,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0xA4F46BC24B8F6A9C,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF608F3D16BF05122,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0x52ED89E6FCDAF9BD,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0xDA67548CAB357DBF,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xED9B39B29880538E,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0xEBF0E79EF045F815,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x1C1921A370BE8C12,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0x30038374A2F5410C,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x8B7A040278F20B11,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0xC9B5C3648CFA79DB,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0xB8E0894F553C73D2,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0x17107623E9572858,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x112E445C98535EB9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x4844644F5CB43AD8,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0x6BD4B3565C657311,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x64BA2A8A217FC8F9,
- {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0x0451A423C907AC1B,
- {Game}/bin/x64/version.dll: 0x2D196A004820D7BB
+ {Game}/archive/pc/mod/_1_Ves_HanakoFixedBodyNaked.archive: 0xBB5F35096990DEBD,
+ {Game}/archive/pc/mod/AMM_Dino_TattooFix.archive: 0x1D13EF6635D57EDE,
+ {Game}/archive/pc/mod/AMM_RitaWheeler_CombatEnabler.archive: 0x8CBF54A91B28B524,
+ {Game}/archive/pc/mod/AMM_Songbird_BodyFix.archive: 0x3189C6C435A869A0,
+ {Game}/archive/pc/mod/basegame_AMM_BenjaminStonePP.archive: 0xB1A1C3A5387CC01E,
+ {Game}/archive/pc/mod/basegame_AMM_Delamain_Fix.archive: 0xD7927551B67E68AE,
+ {Game}/archive/pc/mod/basegame_AMM_JudyBodyRevamp.archive: 0x4CA1826BA1685FCC,
+ {Game}/archive/pc/mod/basegame_AMM_LizzyIncognito.archive: 0xADF392AFDE79C961,
+ {Game}/archive/pc/mod/basegame_AMM_MeredithXtra.archive: 0x05D34333864E1307,
+ {Game}/archive/pc/mod/basegame_AMM_PanamBodyRevamp.archive: 0x6425BF418B3C16D8,
+ {Game}/archive/pc/mod/basegame_AMM_Props.archive: 0x14891A7910BC8983,
+ {Game}/archive/pc/mod/basegame_AMM_requirement.archive: 0xA8CEDFD5D46811BB,
+ {Game}/archive/pc/mod/basegame_AMM_SoundEffects.archive: 0x72BB4A815690C128,
+ {Game}/archive/pc/mod/basegame_johnny_companion.archive: 0x24C9E2AB595AD674,
+ {Game}/archive/pc/mod/basegame_mod_Sweaty25_07.archive: 0x777B30B04FD846BE,
+ {Game}/archive/pc/mod/basegame_texture_HanakoNoMakeup.archive: 0xCC74158AC3676C96,
+ {Game}/archive/pc/mod/bundled_image.png.png: 0x5BA312B604217419,
+ {Game}/archive/pc/mod/LoadBegone2-Checkpoints.archive: 0x8AC3E1E0A1E0C750,
+ {Game}/archive/pc/mod/LoadBegone2-NoIntroVideo.archive: 0x5099B3BA724BCB7F,
+ {Game}/archive/pc/mod/LoadBegone2.archive: 0x81EC278CDBFEEF4C,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_FemaleV.archive: 0xE0EBCDE19E41AFBB,
+ {Game}/archive/pc/mod/PinkyDude_ANIM_FacialExpressions_MaleV.archive: 0xFF1DE5E3A461CFC1,
+ {Game}/bin/x64/global.ini: 0xB22A6D4E2D34E07F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks.asi: 0xC96916A428DF153E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/materialdesignicons.ttf: 0xE51054EFE50C90F7,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSans-Regular.ttf: 0x51FAB10D52D8AC2A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansJP-Regular.otf: 0x62923066950CC93D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansKR-Regular.otf: 0x6A56DCD0357B68DD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansMono-Regular.ttf: 0xE9EAEBF0C477EB65,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansSC-Regular.otf: 0x255F1F653A417F73,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansTC-Regular.otf: 0x2DD3463A6829EB72,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/fonts/NotoSansThai-Regular.ttf: 0x2363F66B2B12ADEE,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/API.lua: 0x036EE6E2DBDF9A6E,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Appearances/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Entities/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Poses/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Collabs/Custom Props/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/credits.lua: 0xC760E3BA4E60D83B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/db.sqlite3: 0x1C00C2F57AD6B0A3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Cron.lua: 0x5A53BE3BEDE7DE9B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSession.lua: 0x455AEAF7EC3FEB64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/GameSettings.lua: 0x0723E902C7C7E59D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/External/Inspect.lua: 0xFFEC432FF2204461,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/init.lua: 0x21B416CA500935DF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/en_US.lua: 0xEFE66C695C24D634,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/tr_TR.lua: 0x64707D9DDC8637B0,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Localization/zh_CN.lua: 0xDB31B3F65D522F42,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/anims.lua: 0x595E3C6A7B788058,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/camera.lua: 0x4FB93DDC51A562CF,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/director.lua: 0xFFC7ECEDFD1F5344,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/entity.lua: 0xBEDF6CE3220862D3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/light.lua: 0x9D7F318534D0BC2F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/props.lua: 0x681408A9F4BC30EA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/scan.lua: 0x56F0E0A033AF62C3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/spawn.lua: 0x4ADDF13907B62BEC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/swap.lua: 0xCFFB5DF9AB293EBB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/tools.lua: 0x968E7EA10BE89073,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Modules/util.lua: 0x6F9C3B854B0BD42D,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Computer Blue.json: 0xB12B62417FB5B162,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Cyberpunk.json: 0xF38D7D9A556A5E15,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Default.json: 0x04E09F3816AB8021,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Deus Ex.json: 0x9772C191263CB5FA,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/editor.lua: 0xF774606BA78569BC,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Midori.json: 0xB60DEFB058518B9F,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Original.json: 0x58FDFDA3FB499B6A,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Purpura.json: 0xD334462D20ADA9C6,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/Silverhand.json: 0x6E9B2A2685C22B64,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/Themes/ui.lua: 0x9918D8611006D446,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/update_notes.lua: 0xE2C526B0268E15DD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/Backup/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Decor/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Locations/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Scripts/Judy and Nibbles - Mansion.json: 0x70A567A5405976A1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/mods/AppearanceMenuMod/User/Themes/vortex_needs_this.txt: 0x7E95CD44BB7CBFC3,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/IconGlyphs/icons.lua: 0x83670A28392FA2B2,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/json.lua: 0xF61FD8C77D020E6C,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/LICENSE: 0x564B031D3D73FECD,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/scripts/json/README.md: 0x681672917A36119B,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES: 0xB62A1399EF1C38F1,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark: 0x0CE4F15227C0D8AB,
+ {Game}/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark: 0xD8E8A1699A4B7739,
+ {Game}/bin/x64/version.dll: 0xD0648A2A863844C3
}
}
\ No newline at end of file
diff --git a/tests/NexusMods.Collections.Tests/NexusMods.Collections.Tests.csproj b/tests/NexusMods.Collections.Tests/NexusMods.Collections.Tests.csproj
index b25b790023..e2060b896a 100644
--- a/tests/NexusMods.Collections.Tests/NexusMods.Collections.Tests.csproj
+++ b/tests/NexusMods.Collections.Tests/NexusMods.Collections.Tests.csproj
@@ -8,14 +8,7 @@
false
true
-
-
-
-
-
-
-
-
+
diff --git a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralFileManagementTests.SynchronizerFileManagementTest.verified.md b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralFileManagementTests.SynchronizerFileManagementTest.verified.md
index b2954b008d..601a79f803 100644
--- a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralFileManagementTests.SynchronizerFileManagementTest.verified.md
+++ b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralFileManagementTests.SynchronizerFileManagementTest.verified.md
@@ -23,15 +23,15 @@ Added a new file to the game and synced it.
### Last Synced State - (1) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/newFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000B |
### Current State - (1) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/newFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000B |
### Loadout A - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000003, Game, bin/newFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000B |
+| (EId:200000000000003, Game, bin/newFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000B |
@@ -43,15 +43,15 @@ Updated the new file file and synced it.
### Last Synced State - (1) - Tx:10000000000000E
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFile.txt) | 0xCBF180132E60CE25 | 21 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/newFile.txt) | 0xB4E7270703F5F646 | 21 B | Tx:10000000000000E |
### Current State - (1) - Tx:10000000000000E
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFile.txt) | 0xCBF180132E60CE25 | 21 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/newFile.txt) | 0xB4E7270703F5F646 | 21 B | Tx:10000000000000E |
### Loadout A - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000003, Game, bin/newFile.txt) | 0xCBF180132E60CE25 | 21 B | Tx:10000000000000E |
+| (EId:200000000000003, Game, bin/newFile.txt) | 0xB4E7270703F5F646 | 21 B | Tx:10000000000000E |
diff --git a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralLoadoutManagementTests.SynchronizerIntegrationTests.verified.md b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralLoadoutManagementTests.SynchronizerIntegrationTests.verified.md
index 05b4b9b627..e1eaafa23a 100644
--- a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralLoadoutManagementTests.SynchronizerIntegrationTests.verified.md
+++ b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralLoadoutManagementTests.SynchronizerIntegrationTests.verified.md
@@ -3,11 +3,11 @@ The initial state of the game folder should contain the game files as they were
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
@@ -16,19 +16,19 @@ A new loadout has been created and has been synchronized, so the 'Last Synced St
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (1) - Tx:100000000000008
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:100000000000008
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -37,20 +37,20 @@ New files have been added to the game folder by the user or the game, but the lo
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (1) - Tx:100000000000008
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (2) - Tx:100000000000009
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000009 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000009 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -59,22 +59,22 @@ After the loadout has been synchronized, the new file should be added to the loa
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (2) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (2) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -83,16 +83,16 @@ At this point the loadout is deactivated, and all the files in the current state
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:10000000000000D
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -101,20 +101,20 @@ A new loadout is created, but it has not been synchronized yet. So again the 'La
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:10000000000000D
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
### Loadout B - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000E |
+| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000E |
@@ -124,24 +124,24 @@ loadout are different from the previous loadout due to the new file only being i
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (1) - Tx:10000000000000F
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:10000000000000F
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
### Loadout B - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000E |
+| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000E |
@@ -150,27 +150,27 @@ A new file has been added to the game folder and B loadout has been synchronized
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (2) - Tx:100000000000012
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderB.txt) | 0x3E6AD5D9F57F8D4E | 28 B | Tx:100000000000012 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderB.txt) | 0xC6B738DF31EA91BB | 28 B | Tx:100000000000012 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (2) - Tx:100000000000012
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderB.txt) | 0x3E6AD5D9F57F8D4E | 28 B | Tx:100000000000012 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderB.txt) | 0xC6B738DF31EA91BB | 28 B | Tx:100000000000012 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
### Loadout B - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0x3E6AD5D9F57F8D4E | 28 B | Tx:100000000000012 |
-| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000E |
+| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0xC6B738DF31EA91BB | 28 B | Tx:100000000000012 |
+| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000E |
@@ -179,27 +179,27 @@ Now we switch back to the A loadout, and the new file should be removed from the
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (2) - Tx:100000000000015
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000015 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000015 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (2) - Tx:100000000000015
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000015 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000015 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
### Loadout B - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0x3E6AD5D9F57F8D4E | 28 B | Tx:100000000000012 |
-| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000E |
+| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0xC6B738DF31EA91BB | 28 B | Tx:100000000000012 |
+| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000E |
@@ -208,32 +208,32 @@ Loadout A has been copied to Loadout C, and the contents should match.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (2) - Tx:100000000000015
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000015 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000015 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (2) - Tx:100000000000015
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000015 |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000015 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:10000000000000B |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:10000000000000B |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
### Loadout B - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0x3E6AD5D9F57F8D4E | 28 B | Tx:100000000000012 |
-| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:10000000000000E |
+| (EId:20000000000000D, Game, bin/newFileInGameFolderB.txt) | 0xC6B738DF31EA91BB | 28 B | Tx:100000000000012 |
+| (EId:20000000000000D, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:10000000000000E |
### Loadout C - (2)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000015, Game, bin/newFileInGameFolderA.txt) | 0x2D489D43D46C8849 | 25 B | Tx:100000000000016 |
-| (EId:200000000000015, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000016 |
+| (EId:200000000000015, Game, bin/newFileInGameFolderA.txt) | 0x3FB1DBAC894B6380 | 25 B | Tx:100000000000016 |
+| (EId:200000000000015, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000016 |
@@ -242,11 +242,11 @@ The loadouts have been deleted and the game folder should be back to its initial
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:100000000000018
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
diff --git a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralModManagementTests.SynchronizerAddAndDisableMods.verified.md b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralModManagementTests.SynchronizerAddAndDisableMods.verified.md
index 09b367139b..413f0ccaa4 100644
--- a/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralModManagementTests.SynchronizerAddAndDisableMods.verified.md
+++ b/tests/NexusMods.DataModel.Synchronizer.Tests/GeneralModManagementTests.SynchronizerAddAndDisableMods.verified.md
@@ -3,11 +3,11 @@ The initial state of the game, no loadout has been created yet.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
@@ -16,19 +16,19 @@ Added a new loadout and synced it.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (1) - Tx:100000000000008
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (1) - Tx:100000000000008
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (1)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -37,28 +37,28 @@ Added ModA to Loadout A and synced it.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (4) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (4) - Tx:10000000000000B
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (4)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -67,35 +67,35 @@ Added ModB to Loadout A and synced it.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (6) - Tx:10000000000000E
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modB/meshB.txt) | 0xAD77F2959C19BC3F | 23 B | Tx:10000000000000E |
-| (EId:200000000000001, Game, bin/mods/modB/textureB.txt) | 0x53348C857628B664 | 26 B | Tx:10000000000000E |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modB/meshB.txt) | 0xEDBA825443602167 | 23 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/mods/modB/textureB.txt) | 0x2A4D644D5A59D225 | 26 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (6) - Tx:10000000000000E
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modB/meshB.txt) | 0xAD77F2959C19BC3F | 23 B | Tx:10000000000000E |
-| (EId:200000000000001, Game, bin/mods/modB/textureB.txt) | 0x53348C857628B664 | 26 B | Tx:10000000000000E |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modB/meshB.txt) | 0xEDBA825443602167 | 23 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/mods/modB/textureB.txt) | 0x2A4D644D5A59D225 | 26 B | Tx:10000000000000E |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (7)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/modB/meshB.txt) | 0xAD77F2959C19BC3F | 23 B | Tx:10000000000000D |
-| (EId:200000000000005, Game, bin/mods/modB/textureB.txt) | 0x53348C857628B664 | 26 B | Tx:10000000000000D |
-| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000D |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/modB/meshB.txt) | 0xEDBA825443602167 | 23 B | Tx:10000000000000D |
+| (EId:200000000000005, Game, bin/mods/modB/textureB.txt) | 0x2A4D644D5A59D225 | 26 B | Tx:10000000000000D |
+| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000D |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
@@ -105,28 +105,28 @@ Files from ModA should still be present.
### Initial State - (1) - Tx:100000000000005
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Last Synced State - (4) - Tx:100000000000010
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Current State - (4) - Tx:100000000000010
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000B |
-| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000005 |
+| (EId:200000000000001, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000B |
+| (EId:200000000000001, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000005 |
### Loadout A - (4)
| Path | Hash | Size | TxId |
| --- | --- | --- | --- |
-| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0xB6BD4837EFFAB020 | 23 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x3D6DD4C6F64436E6 | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0xB8EE9F708ECD24BC | 26 B | Tx:10000000000000A |
-| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0xA52B286A3E7F4D91 | 12 B | Tx:100000000000007 |
+| (EId:200000000000005, Game, bin/mods/modA/meshA.txt) | 0x47209A52BBA83A91 | 23 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/modA/textureA.txt) | 0x2D2FFBBAF1C5ED90 | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/mods/shared/shared.txt) | 0x0E1ADF094A2D7E0A | 26 B | Tx:10000000000000A |
+| (EId:200000000000005, Game, bin/originalGameFile.txt) | 0x673E3C493921A2D5 | 12 B | Tx:100000000000007 |
diff --git a/tests/NexusMods.DataModel.Synchronizer.Tests/NexusMods.DataModel.Synchronizer.Tests.csproj b/tests/NexusMods.DataModel.Synchronizer.Tests/NexusMods.DataModel.Synchronizer.Tests.csproj
index 52387baf6c..3981fa6804 100644
--- a/tests/NexusMods.DataModel.Synchronizer.Tests/NexusMods.DataModel.Synchronizer.Tests.csproj
+++ b/tests/NexusMods.DataModel.Synchronizer.Tests/NexusMods.DataModel.Synchronizer.Tests.csproj
@@ -9,13 +9,6 @@
true
-
-
-
-
-
-
-
diff --git a/tests/NexusMods.DataModel.Tests/ArchiveManagerTests.cs b/tests/NexusMods.DataModel.Tests/ArchiveManagerTests.cs
index ffd8aa2e65..f555c74037 100644
--- a/tests/NexusMods.DataModel.Tests/ArchiveManagerTests.cs
+++ b/tests/NexusMods.DataModel.Tests/ArchiveManagerTests.cs
@@ -1,7 +1,7 @@
using FluentAssertions;
using NexusMods.Abstractions.IO;
using NexusMods.Abstractions.IO.StreamFactories;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -39,7 +39,7 @@ public async Task CanArchiveFiles(int fileCount, int maxSize)
}).ToArray();
// Calculate the hashes
- var hashes = datas.Select(d => d.AsSpan().XxHash64()).ToArray();
+ var hashes = datas.Select(d => d.AsSpan().xxHash3()).ToArray();
// Create the tuples for compression
var records = Enumerable.Range(0, fileCount).Select(idx => (
diff --git a/tests/NexusMods.DataModel.Tests/ChunkedReaders/ChunkedReaderTests.cs b/tests/NexusMods.DataModel.Tests/ChunkedReaders/ChunkedReaderTests.cs
index 2907494f5b..8061117ef3 100644
--- a/tests/NexusMods.DataModel.Tests/ChunkedReaders/ChunkedReaderTests.cs
+++ b/tests/NexusMods.DataModel.Tests/ChunkedReaders/ChunkedReaderTests.cs
@@ -1,7 +1,7 @@
using System.Text;
using FluentAssertions;
using NexusMods.DataModel.ChunkedStreams;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
namespace NexusMods.DataModel.Tests.ChunkedReaders;
@@ -15,7 +15,7 @@ public ChunkedReaderTests()
{
_ms = new MemoryStream();
CreateData();
- _hash = _ms.ToArray().AsSpan().XxHash64();
+ _hash = _ms.ToArray().AsSpan().xxHash3();
}
private void CreateData()
diff --git a/tests/NexusMods.DataModel.Tests/SynchronizerRuleTests.cs b/tests/NexusMods.DataModel.Tests/SynchronizerRuleTests.cs
index 856c361a43..f4474ccc0b 100644
--- a/tests/NexusMods.DataModel.Tests/SynchronizerRuleTests.cs
+++ b/tests/NexusMods.DataModel.Tests/SynchronizerRuleTests.cs
@@ -3,7 +3,7 @@
using DynamicData.Kernel;
using FluentAssertions;
using NexusMods.Abstractions.Loadouts.Synchronizers.Rules;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using Xunit.DependencyInjection;
using static NexusMods.Abstractions.Loadouts.Synchronizers.Rules.Actions;
using static NexusMods.Abstractions.Loadouts.Synchronizers.Rules.Signature;
diff --git a/tests/NexusMods.FileExtractor.Tests/GenericExtractionTests.cs b/tests/NexusMods.FileExtractor.Tests/GenericExtractionTests.cs
index a8c7142f0a..9b957c1a36 100644
--- a/tests/NexusMods.FileExtractor.Tests/GenericExtractionTests.cs
+++ b/tests/NexusMods.FileExtractor.Tests/GenericExtractionTests.cs
@@ -3,7 +3,8 @@
using NexusMods.Abstractions.IO.StreamFactories;
using NexusMods.Extensions.BCL;
using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+using NexusMods.Hashing.xxHash3.Paths;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -29,7 +30,7 @@ public async Task CanForEachOverFiles(AbsolutePath path)
var results = await _extractor.ForEachEntry(new NativeFileStreamFactory(path), async (_, e) =>
{
await using var fs = await e.GetStreamAsync();
- return await fs.XxHash64Async(CancellationToken.None);
+ return await fs.XxHash3Async(CancellationToken.None);
}, CancellationToken.None);
results.Count.Should().Be(3);
@@ -38,9 +39,9 @@ public async Task CanForEachOverFiles(AbsolutePath path)
.Should()
.BeEquivalentTo(new[]
{
- ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0xE405A7CFA6ABBDE3),
- ("folder1/folder1file.txt".ToRelativePath(), (Hash)0xC9E47B1523162066),
- ("rootFile.txt".ToRelativePath(), (Hash)0x33DDBF7930BA002A),
+ ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0x3F0AB4D495E35A9A),
+ ("folder1/folder1file.txt".ToRelativePath(), (Hash)0x8520436F06348939),
+ ("rootFile.txt".ToRelativePath(), (Hash)0x818A82701BC1CC30),
});
}
@@ -51,15 +52,15 @@ public async Task CanExtractAll(AbsolutePath path)
await using var tempFolder = _temporaryFileManager.CreateFolder();
await _extractor.ExtractAllAsync(path, tempFolder, CancellationToken.None);
(await tempFolder.Path.EnumerateFiles()
- .SelectAsync(async f => (f.RelativeTo(tempFolder.Path), await f.XxHash64Async()))
+ .SelectAsync(async f => (f.RelativeTo(tempFolder.Path), await f.XxHash3Async()))
.ToArrayAsync())
.Should()
- .BeEquivalentTo(new[]
- {
- ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0xE405A7CFA6ABBDE3),
- ("folder1/folder1file.txt".ToRelativePath(), (Hash)0xC9E47B1523162066),
- ("rootFile.txt".ToRelativePath(), (Hash)0x33DDBF7930BA002A),
- });
+ .BeEquivalentTo([
+ ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0x3F0AB4D495E35A9A),
+ ("folder1/folder1file.txt".ToRelativePath(), (Hash)0x8520436F06348939),
+ ("rootFile.txt".ToRelativePath(), (Hash)0x818A82701BC1CC30),
+ ]
+ );
}
public static IEnumerable
+
+
+
+
diff --git a/tests/NexusMods.FileExtractor.Tests/SevenZipExtractionTests.cs b/tests/NexusMods.FileExtractor.Tests/SevenZipExtractionTests.cs
index ec46257d0d..b52ac9d5c9 100644
--- a/tests/NexusMods.FileExtractor.Tests/SevenZipExtractionTests.cs
+++ b/tests/NexusMods.FileExtractor.Tests/SevenZipExtractionTests.cs
@@ -3,7 +3,8 @@
using NexusMods.Abstractions.IO.StreamFactories;
using NexusMods.Extensions.BCL;
using NexusMods.Extensions.Hashing;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
+using NexusMods.Hashing.xxHash3.Paths;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -51,14 +52,14 @@ public async Task CanExtractToLongPath()
(await tempFolder.Path.EnumerateFiles()
- .SelectAsync(async f => (f.RelativeTo(dest), await f.XxHash64Async()))
+ .SelectAsync(async f => (f.RelativeTo(dest), await f.XxHash3Async()))
.ToArrayAsync())
.Should()
.BeEquivalentTo(new[]
{
- ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0xE405A7CFA6ABBDE3),
- ("folder1/folder1file.txt".ToRelativePath(), (Hash)0xC9E47B1523162066),
- ("rootFile.txt".ToRelativePath(), (Hash)0x33DDBF7930BA002A),
+ ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0x3F0AB4D495E35A9A),
+ ("folder1/folder1file.txt".ToRelativePath(), (Hash)0x8520436F06348939),
+ ("rootFile.txt".ToRelativePath(), (Hash)0x818A82701BC1CC30),
});
@@ -71,7 +72,7 @@ public async Task CanForeachOverFiles()
var results = await _extractor.ForEachEntry(new NativeFileStreamFactory(file), async (_, e) =>
{
await using var fs = await e.GetStreamAsync();
- return await fs.XxHash64Async(CancellationToken.None);
+ return await fs.XxHash3Async(CancellationToken.None);
}, CancellationToken.None);
results.Count.Should().Be(3);
@@ -80,9 +81,9 @@ public async Task CanForeachOverFiles()
.Should()
.BeEquivalentTo(new[]
{
- ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0xE405A7CFA6ABBDE3),
- ("folder1/folder1file.txt".ToRelativePath(), (Hash)0xC9E47B1523162066),
- ("rootFile.txt".ToRelativePath(), (Hash)0x33DDBF7930BA002A),
+ ("deepFolder/deepFolder2/deepFolder3/deepFolder4/deepFile.txt".ToRelativePath(), (Hash)0x3F0AB4D495E35A9A),
+ ("folder1/folder1file.txt".ToRelativePath(), (Hash)0x8520436F06348939),
+ ("rootFile.txt".ToRelativePath(), (Hash)0x818A82701BC1CC30),
});
}
}
diff --git a/tests/NexusMods.UI.Tests/ImageCacheTests.cs b/tests/NexusMods.UI.Tests/ImageCacheTests.cs
index 137f5cab3f..fc06839bbb 100644
--- a/tests/NexusMods.UI.Tests/ImageCacheTests.cs
+++ b/tests/NexusMods.UI.Tests/ImageCacheTests.cs
@@ -3,7 +3,7 @@
using NexusMods.Abstractions.IO;
using NexusMods.Abstractions.IO.StreamFactories;
using NexusMods.App.UI;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Paths;
using NexusMods.Paths.Extensions;
@@ -63,7 +63,7 @@ private async Task PrepareImage()
var httpClient = new HttpClient();
var bytes = await httpClient.GetByteArrayAsync(url);
- var hash = bytes.AsSpan().XxHash64();
+ var hash = bytes.AsSpan().xxHash3();
var size = Size.FromLong(bytes.LongLength);
var streamFactory = new MemoryStreamFactory("cat.jpg".ToRelativePath(), new MemoryStream(bytes));
diff --git a/tests/NexusMods.UI.Tests/ImageLoaderTests.cs b/tests/NexusMods.UI.Tests/ImageLoaderTests.cs
index 9033859458..6c07e73246 100644
--- a/tests/NexusMods.UI.Tests/ImageLoaderTests.cs
+++ b/tests/NexusMods.UI.Tests/ImageLoaderTests.cs
@@ -11,7 +11,7 @@
using NexusMods.Abstractions.Resources.DB;
using NexusMods.Abstractions.Resources.IO;
using NexusMods.Games.RedEngine.Cyberpunk2077;
-using NexusMods.Hashing.xxHash64;
+using NexusMods.Hashing.xxHash3;
using NexusMods.Media;
using NexusMods.MnemonicDB.Abstractions;
using NexusMods.Networking.NexusWebApi;
@@ -65,7 +65,7 @@ private IResourceLoader> CreatePipeline()
.PersistInDb(
connection: Connection,
referenceAttribute: NexusModsModPageMetadata.ThumbnailResource,
- identifierToHash: static uri => uri.ToString().XxHash64AsUtf8(),
+ identifierToHash: static uri => uri.ToString().xxHash3AsUtf8(),
partitionId: PartitionId.User(partitionId)
)
.Decode(decoderType: DecoderType.Qoi)