Compare commits
41 Commits
Author | SHA1 | Date | |
---|---|---|---|
ca15fac6a1 | |||
ebb78efcde | |||
2204fb4756 | |||
66fdc27787 | |||
032b6864da | |||
07ee892b43 | |||
920d2386d5 | |||
4ad595f6c3 | |||
8cbc7e8b86 | |||
7f5cd6d0d7 | |||
381d888da6 | |||
946402fa82 | |||
b2ecf368fb | |||
c349854cb0 | |||
26fffefbae | |||
5872a05c7b | |||
c1954d76c1 | |||
579790663e | |||
8a6ad2e523 | |||
079b7b6495 | |||
cc7bc8613b | |||
42cf65bdb7 | |||
b54b8676c1 | |||
af15a4410a | |||
8a66b8becd | |||
de9bcda48d | |||
44dfa20ea8 | |||
76884216dd | |||
74ecdf111a | |||
3238de75f2 | |||
b8d6353f8e | |||
396d1cd20d | |||
470d2acae4 | |||
cc6f7657c7 | |||
a31cf82029 | |||
3644cb7813 | |||
c527320178 | |||
fe7d0f297f | |||
8efe0a3a94 | |||
5bd9b5ae70 | |||
45095b212b |
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,7 +1,6 @@
|
||||
.vs/
|
||||
*.sln
|
||||
*.csproj
|
||||
**/bin/*
|
||||
**/obj/*
|
||||
*.dll
|
||||
Common/
|
||||
_*/
|
||||
Common/*
|
||||
!Common/mscorlib.dll
|
7
AttractVideoPlayer/AttractVideoPlayer.csproj
Normal file
7
AttractVideoPlayer/AttractVideoPlayer.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.AttractVideoPlayer.mm</AssemblyName>
|
||||
<Description>Control attract video</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO;
|
||||
|
||||
namespace MU3.Operation;
|
||||
|
||||
class patch_OperationManager: OperationManager {
|
||||
private ReadOnlyCollection<MovieData> _movieDataList;
|
||||
private int _movieIndex;
|
||||
private string _fileName;
|
||||
|
||||
~patch_OperationManager() {
|
||||
try {
|
||||
File.WriteAllText(_fileName, MovieIndex.ToString());
|
||||
} catch(Exception ex) {
|
||||
System.Console.WriteLine(ex);
|
||||
}
|
||||
}
|
||||
public int MovieIndex {
|
||||
set {
|
||||
if(_movieDataList.Count > 0) {
|
||||
_movieIndex = (value + _movieDataList.Count) % _movieDataList.Count;
|
||||
} else {
|
||||
_movieIndex = 0;
|
||||
}
|
||||
}
|
||||
get {
|
||||
return _movieIndex;
|
||||
}
|
||||
}
|
||||
public new MovieData movieData {
|
||||
get {
|
||||
if(_movieDataList.Count > 0) {
|
||||
return _movieDataList[MovieIndex];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public extern void orig_initialize();
|
||||
|
||||
public new void initialize() {
|
||||
orig_initialize();
|
||||
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
var dir = iniFile.getValue("Extra", "CacheDir", ".");
|
||||
Directory.CreateDirectory(dir);
|
||||
_fileName = Path.Combine(dir, "data_advert_cache.txt");
|
||||
|
||||
try {
|
||||
_movieIndex = Math.Max(0, int.Parse(File.ReadAllText(_fileName)));
|
||||
} catch(Exception) {
|
||||
_movieIndex = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
20
AttractVideoPlayer/MU3.Sequence/patch_Advertise.cs
Normal file
20
AttractVideoPlayer/MU3.Sequence/patch_Advertise.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
class patch_Advertise: Advertise {
|
||||
// Exclude Back/Left/Right
|
||||
private bool anyKeyDown() {
|
||||
UIInput instance = Singleton<UIInput>.instance;
|
||||
if(instance.getTriggerOn(UIInput.Key.Decision)
|
||||
|| instance.getTriggerOn(UIInput.Key.OptionBackward)
|
||||
|| instance.getTriggerOn(UIInput.Key.OptionForward)
|
||||
|| instance.getTriggerOn(UIInput.Key.SkipLeft)
|
||||
|| instance.getTriggerOn(UIInput.Key.SkipRight)
|
||||
|| instance.getTriggerOn(UIInput.Key.MenuLeft)
|
||||
|| instance.getTriggerOn(UIInput.Key.MenuRight)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
53
AttractVideoPlayer/MU3/patch_AdvManager.cs
Normal file
53
AttractVideoPlayer/MU3/patch_AdvManager.cs
Normal file
@ -0,0 +1,53 @@
|
||||
using MU3.Operation;
|
||||
using MU3.Util;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_AdvManager: AdvManager {
|
||||
private GameObject objMovie;
|
||||
private CriManaMovieMaterial movieController;
|
||||
|
||||
private extern bool orig_exec();
|
||||
public new bool exec() {
|
||||
if(movieController?.player?.status == CriMana.Player.Status.Playing) {
|
||||
if(Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.Service)) {
|
||||
movieController.player.Pause(!movieController.player.IsPaused());
|
||||
} else if(Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.L2)) {
|
||||
addMovieOffset(-1);
|
||||
} else if(Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.L3)) {
|
||||
addMovieOffset(1);
|
||||
}
|
||||
}
|
||||
|
||||
return orig_exec();
|
||||
}
|
||||
public void addMovieOffset(int offset) {
|
||||
var om = (patch_OperationManager)Singleton<OperationManager>.instance;
|
||||
om.MovieIndex += offset;
|
||||
|
||||
movieController.Stop();
|
||||
Utility.destroyGameObject(ref movieController);
|
||||
Utility.destroyGameObject(ref objMovie);
|
||||
|
||||
initMovie();
|
||||
}
|
||||
|
||||
public extern bool orig_initMovie();
|
||||
public new bool initMovie() {
|
||||
UIInput instance = Singleton<UIInput>.instance;
|
||||
instance.setLedColor(UIInput.Key.L2, new Color(0f, 0.7f, 0f));
|
||||
instance.setLedColor(UIInput.Key.L3, new Color(0f, 0.7f, 0f));
|
||||
|
||||
return orig_initMovie();
|
||||
}
|
||||
|
||||
public extern void orig_exitMovie();
|
||||
public new void exitMovie() {
|
||||
orig_exitMovie();
|
||||
|
||||
UIInput instance = Singleton<UIInput>.instance;
|
||||
instance.setLedColor(UIInput.Key.L2, Color.black);
|
||||
instance.setLedColor(UIInput.Key.L3, Color.black);
|
||||
}
|
||||
}
|
7
BetterGiveUp/BetterGiveUp.csproj
Normal file
7
BetterGiveUp/BetterGiveUp.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.BetterGiveUp.mm</AssemblyName>
|
||||
<Description>Forfeit (red menu) and restart (yellow menu)</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -1,13 +1,8 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MU3.Game;
|
||||
|
||||
public class patch_GameLED: GameLED {
|
||||
class patch_GameLED: GameLED {
|
||||
private patch_ButtonList _buttonList = new();
|
||||
|
||||
public extern void orig_initialize();
|
||||
|
@ -1,14 +1,9 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3.Notes;
|
||||
public class patch_FieldObject: FieldObject {
|
||||
public class patch_BarNotes {
|
||||
public class patch_Bar: BarNotes.Bar {
|
||||
class patch_FieldObject: FieldObject {
|
||||
class patch_BarNotes {
|
||||
class patch_Bar: BarNotes.Bar {
|
||||
public extern void orig_update(NotesManager mgr, float width = 1f);
|
||||
|
||||
public new void update(NotesManager mgr, float width = 1f) {
|
||||
|
@ -1,13 +1,8 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3.Notes;
|
||||
|
||||
public class patch_NotesManager: NotesManager {
|
||||
class patch_NotesManager: NotesManager {
|
||||
public extern void orig_reset();
|
||||
|
||||
public extern Vector3 orig_getEnemyPos();
|
||||
|
@ -1,9 +1,4 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Battle;
|
||||
using MU3.Battle;
|
||||
using MU3.Game;
|
||||
using MU3.Notes;
|
||||
using MU3.Util;
|
||||
@ -12,12 +7,13 @@ using UnityEngine;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
public class patch_PlayMusic: PlayMusic {
|
||||
class patch_PlayMusic: PlayMusic {
|
||||
private static readonly TimeSpan HOLD_DURATION = TimeSpan.FromSeconds(1.0f);
|
||||
private static readonly TimeSpan ROLL_DURATION = TimeSpan.FromSeconds(0.5f);
|
||||
public static bool QuickSkip = false;
|
||||
private GameEngine _gameEngine;
|
||||
private SessionInfo _sessionInfo;
|
||||
private bool _pressedYellow;
|
||||
private bool _isRolling;
|
||||
private float _totalRollingFrame;
|
||||
private DateTime _rollingStartTime;
|
||||
@ -35,11 +31,13 @@ public class patch_PlayMusic: PlayMusic {
|
||||
return min + (max - min) * Math.Pow(progress, 2.0);
|
||||
}
|
||||
|
||||
private static bool IsHolding() {
|
||||
return Singleton<UIInput>.instance.getStateOn(UIInput.Key.MenuLeft) ^ Singleton<UIInput>.instance.getStateOn(UIInput.Key.MenuRight);
|
||||
private bool IsHolding() {
|
||||
return Singleton<UIInput>.instance.getStateOn(UIInput.Key.MenuLeft)
|
||||
^ (_pressedYellow && Singleton<UIInput>.instance.getStateOn(UIInput.Key.MenuRight));
|
||||
}
|
||||
|
||||
private void StartRolling() {
|
||||
_pressedYellow = false;
|
||||
_isRolling = true;
|
||||
_totalRollingFrame = ntMgr.getCurrentFrame();
|
||||
_rollingStartTime = CustomDateTime.Now;
|
||||
@ -51,6 +49,7 @@ public class patch_PlayMusic: PlayMusic {
|
||||
private void EndRolling() {
|
||||
_isRolling = false;
|
||||
ntMgr.stopPlay();
|
||||
ntMgr.setPause(false);
|
||||
ntMgr.reset();
|
||||
ntMgr.reloadScore(_gameEngine.IsStageDazzling);
|
||||
_gameEngine.counters.reset();
|
||||
@ -64,6 +63,9 @@ public class patch_PlayMusic: PlayMusic {
|
||||
}
|
||||
|
||||
private void Execute_Play() {
|
||||
if(Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.MenuRight)) {
|
||||
_pressedYellow = true;
|
||||
}
|
||||
if(_isRolling) {
|
||||
TimeSpan timeSpan = CustomDateTime.Now - _rollingStartTime;
|
||||
if(timeSpan <= ROLL_DURATION) {
|
||||
|
@ -1,15 +1,8 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
#pragma warning disable CS0108
|
||||
#pragma warning disable CS0414
|
||||
|
||||
using MU3.Sequence;
|
||||
using MU3.Sequence;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_Scene_32_PrePlayMusic_MusicSelect: Scene_32_PrePlayMusic_MusicSelect {
|
||||
class patch_Scene_32_PrePlayMusic_MusicSelect: Scene_32_PrePlayMusic_MusicSelect {
|
||||
private bool _playVoice;
|
||||
private extern void orig_Enter_Select();
|
||||
private void Enter_Select() {
|
||||
|
@ -1,14 +1,9 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Sequence;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_Scene_37_Result: Scene_37_Result {
|
||||
class patch_Scene_37_Result: Scene_37_Result {
|
||||
private Mode<Scene_37_Result, State> mode_;
|
||||
private extern void orig_Init_Init();
|
||||
private enum State {
|
||||
@ -25,7 +20,6 @@ public class patch_Scene_37_Result: Scene_37_Result {
|
||||
CardCharaEnd,
|
||||
End
|
||||
}
|
||||
|
||||
private void Init_Init() {
|
||||
orig_Init_Init();
|
||||
if(patch_PlayMusic.QuickSkip) {
|
||||
|
@ -1,15 +1,9 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable CS0414
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Sequence;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_Scene_38_End: Scene_38_End {
|
||||
class patch_Scene_38_End: Scene_38_End {
|
||||
private Mode<Scene_38_End, State> mode_;
|
||||
private extern void orig_Init_Init();
|
||||
private int result_;
|
||||
|
BIN
Common/mscorlib.dll
Normal file
BIN
Common/mscorlib.dll
Normal file
Binary file not shown.
7
DisableEncryption/DisableEncryption.csproj
Normal file
7
DisableEncryption/DisableEncryption.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.DisableEncryption.mm</AssemblyName>
|
||||
<Description>Disable encryption</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
28
DisableEncryption/MU3/patch_NetConfig.cs
Normal file
28
DisableEncryption/MU3/patch_NetConfig.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
[MonoModPatch("global::MU3.NetConfig")]
|
||||
public static class patch_NetConfig {
|
||||
private static int encryptVersion_;
|
||||
|
||||
private static bool useTLS_;
|
||||
|
||||
public static int EncryptVersion {
|
||||
get {
|
||||
return 0;
|
||||
}
|
||||
set {
|
||||
encryptVersion_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool UseTLS {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
set {
|
||||
useTLS_ = false;
|
||||
}
|
||||
}
|
||||
}
|
7
DisableMaintenance/DisableMaintenance.csproj
Normal file
7
DisableMaintenance/DisableMaintenance.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.DisableMaintenance.mm</AssemblyName>
|
||||
<Description>Disable maintenance</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
27
DisableMaintenance/MU3.Operation/patch_ClosingManager.cs
Normal file
27
DisableMaintenance/MU3.Operation/patch_ClosingManager.cs
Normal file
@ -0,0 +1,27 @@
|
||||
namespace MU3.Operation;
|
||||
|
||||
class patch_ClosingManager: ClosingManager {
|
||||
public new int getRemainingMinutes() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new int getClosedRemainingMinutes() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new bool isShowRemainingMinutes() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new bool isReceptionClosed() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new bool isForceLogout() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new CreditUseRestriction getCreditUseRestriction() {
|
||||
return CreditUseRestriction.None;
|
||||
}
|
||||
}
|
47
DisableMaintenance/MU3.Operation/patch_MaintenanceTimer.cs
Normal file
47
DisableMaintenance/MU3.Operation/patch_MaintenanceTimer.cs
Normal file
@ -0,0 +1,47 @@
|
||||
namespace MU3.Operation;
|
||||
|
||||
class patch_MaintenanceTimer: MaintenanceTimer {
|
||||
public new bool isUnderServerMaintenance() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new int getServerMaintenanceSec() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new int getAutoRebootSec() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new bool isAutoRebootNeeded() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new int getRemainingMinutes() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new int getClosedRemainingMinutes() {
|
||||
return int.MaxValue;
|
||||
}
|
||||
|
||||
public new bool isShowRemainingMinutes() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new bool isClosed() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new bool isForceLogout() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public new ClosingManager.CreditUseRestriction getCreditUseRestriction() {
|
||||
return ClosingManager.CreditUseRestriction.None;
|
||||
}
|
||||
|
||||
public new bool isCoinAcceptable() {
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace MU3.Data;
|
||||
|
||||
public class patch_DataManager: DataManager {
|
||||
private extern void orig_linkFumenAnalysisData();
|
||||
private const string SEPARATOR = "$";
|
||||
private string PrintHeader() {
|
||||
return string.Join(SEPARATOR, new string[] {
|
||||
"id",
|
||||
"name",
|
||||
"difficulty",
|
||||
"name for sort",
|
||||
"artist",
|
||||
"genre",
|
||||
"internal level",
|
||||
"charter",
|
||||
"max platinum score",
|
||||
"release date",
|
||||
"release version",
|
||||
"bpm",
|
||||
"location"
|
||||
});
|
||||
}
|
||||
private string PrintLine(FumenData fumen, MusicData mus, int level) {
|
||||
return string.Join(SEPARATOR, new string[] {
|
||||
mus.id.ToString(),
|
||||
mus.name,
|
||||
level.ToString(),
|
||||
mus.nameForSort,
|
||||
mus.artistName,
|
||||
mus.genreName,
|
||||
fumen.fumenConst.ToString(),
|
||||
fumen.notesDesignerName ?? "",
|
||||
fumen.platinumScoreMax.ToString(),
|
||||
mus.ReleaseVersion.ToUniversalTime().ToString(),
|
||||
mus.versionTitle,
|
||||
fumen.bpm.ToString(),
|
||||
fumen.fumenFile.Substring(fumen.fumenFile.LastIndexOf('A'))
|
||||
});
|
||||
}
|
||||
|
||||
private void linkFumenAnalysisData() {
|
||||
orig_linkFumenAnalysisData();
|
||||
using StreamWriter writer = new("charts.csv");
|
||||
writer.WriteLine(PrintHeader());
|
||||
foreach(var mus in allMusicData) {
|
||||
int i = 0;
|
||||
foreach(var fumen in mus.fumenData) {
|
||||
if(fumen.isExist) {
|
||||
writer.WriteLine(PrintLine(fumen, mus, i));
|
||||
}
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
UnityEngine.Debug.Log("[ExportChartData] Written to charts.csv");
|
||||
}
|
||||
}
|
7
InfiniteGP/InfiniteGP.csproj
Normal file
7
InfiniteGP/InfiniteGP.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.InfiniteGP.mm</AssemblyName>
|
||||
<Description>Remove credits and GP</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -1,33 +1,36 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
#pragma warning disable CS0108
|
||||
namespace MU3.User;
|
||||
|
||||
namespace MU3.User;
|
||||
|
||||
public class patch_UserManager: UserManager {
|
||||
public const int DefaultGP = 666;
|
||||
class patch_UserManager: UserManager {
|
||||
public new const int DefaultGP = 999;
|
||||
private int _gp;
|
||||
private OnUpdate _onUpdateGP;
|
||||
private OnReset _onResetGP;
|
||||
|
||||
public void resetGP() {
|
||||
_gp = 666;
|
||||
public new void resetGP() {
|
||||
if(_onResetGP != null) {
|
||||
_onResetGP(_gp);
|
||||
}
|
||||
}
|
||||
|
||||
public int GP {
|
||||
public new int GP {
|
||||
get {
|
||||
return _gp;
|
||||
}
|
||||
private set {
|
||||
_gp = 666;
|
||||
if(_onUpdateGP != null) {
|
||||
_onUpdateGP(_gp);
|
||||
}
|
||||
}
|
||||
}
|
||||
public new bool checkBattleGP(int needed) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public extern void orig_initialize();
|
||||
public new void initialize() {
|
||||
orig_initialize();
|
||||
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
_gp = iniFile.getIntValue("Extra", "GP", 999);
|
||||
}
|
||||
}
|
21
InfiniteGP/MU3/patch_Scene_25_Login.cs
Normal file
21
InfiniteGP/MU3/patch_Scene_25_Login.cs
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_Scene_25_Login: Scene_25_Login {
|
||||
public enum State {
|
||||
Login = 2
|
||||
}
|
||||
private Mode<Scene_25_Login, State> mode_;
|
||||
private extern void orig_invokeOnFinish(int status);
|
||||
private void PurchaseGP_Init() {
|
||||
mode_.set(State.Login);
|
||||
}
|
||||
private void invokeOnFinish(int status) {
|
||||
orig_invokeOnFinish(status);
|
||||
}
|
||||
private void ExchangeGP_Init() {
|
||||
invokeOnFinish(1);
|
||||
}
|
||||
}
|
55
InfiniteGP/MU3/patch_UICredit.cs
Normal file
55
InfiniteGP/MU3/patch_UICredit.cs
Normal file
@ -0,0 +1,55 @@
|
||||
using MU3.CustomUI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_UICredit: UICredit {
|
||||
private Animator gpAnimator_;
|
||||
private GameObject creditRoot_;
|
||||
private MU3UICounter credit_;
|
||||
private GameObject freePlayRoot_;
|
||||
private GameObject gpRoot_;
|
||||
private MU3UICounter gp_;
|
||||
private MU3UICounter gpPlus_;
|
||||
private MU3UICounter gpMinus_;
|
||||
private MU3UIImageChanger netIcon_;
|
||||
private MU3UIImageChanger groupIcon_;
|
||||
private void onUpdateGP(int value) { /* nop */ }
|
||||
|
||||
public extern void orig_initialize();
|
||||
|
||||
public new void initialize() {
|
||||
orig_initialize();
|
||||
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
|
||||
if(iniFile.getValue("Extra", "HideGP", true)) {
|
||||
DestroyImmediate(gpAnimator_);
|
||||
|
||||
gpRoot_.transform.localScale = new Vector3(0, 0, 0);
|
||||
gp_.transform.localScale = new Vector3(0, 0, 0);
|
||||
gpPlus_.transform.localScale = new Vector3(0, 0, 0);
|
||||
gpMinus_.transform.localScale = new Vector3(0, 0, 0);
|
||||
}
|
||||
|
||||
if(iniFile.getValue("Extra", "HideCredits", true)) {
|
||||
creditRoot_.transform.localScale = new Vector3(0, 0, 0);
|
||||
credit_.transform.localScale = new Vector3(0, 0, 0);
|
||||
freePlayRoot_.transform.localScale = new Vector3(0, 0, 0);
|
||||
|
||||
netIcon_.transform.localPosition = new Vector3(
|
||||
-514,
|
||||
netIcon_.transform.localPosition.y,
|
||||
netIcon_.transform.localPosition.z
|
||||
);
|
||||
netIcon_.image.rectTransform.pivot = new Vector2(0f, 0.5f);
|
||||
|
||||
groupIcon_.transform.localPosition = new Vector3(
|
||||
-476,
|
||||
groupIcon_.transform.localPosition.y,
|
||||
groupIcon_.transform.localPosition.z
|
||||
);
|
||||
groupIcon_.image.rectTransform.pivot = new Vector2(0f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
7
InfiniteStory/InfiniteStory.csproj
Normal file
7
InfiniteStory/InfiniteStory.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.InfiniteStory.mm</AssemblyName>
|
||||
<Description>Allows watching the story endlessly</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
12
InfiniteStory/MU3.Sequence/patch_Play.cs
Normal file
12
InfiniteStory/MU3.Sequence/patch_Play.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
class patch_Play: Play {
|
||||
private extern void orig_Enter_PlayScenario();
|
||||
private void Enter_PlayScenario() {
|
||||
orig_Enter_PlayScenario();
|
||||
Singleton<UserManager>.instance.userLocal.isStoryWatched = false;
|
||||
}
|
||||
}
|
30
InfiniteStory/MU3/patch_Scene_32_PrePlayMusic_MusicSelect.cs
Normal file
30
InfiniteStory/MU3/patch_Scene_32_PrePlayMusic_MusicSelect.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using MonoMod;
|
||||
using MU3.ViewData;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_Scene_32_PrePlayMusic_MusicSelect: Scene_32_PrePlayMusic_MusicSelect {
|
||||
private MusicSelectViewDataList _selectList;
|
||||
private UIMusicSelector _selector;
|
||||
private UIDialogBase _dialogBase;
|
||||
|
||||
[MonoModIgnore]
|
||||
private extern void onFinishPlayScenario(int status, bool flag);
|
||||
[MonoModIgnore]
|
||||
private extern void updateSystemUIPanel();
|
||||
|
||||
private extern void orig_Execute_Select();
|
||||
private void Execute_Select() {
|
||||
// Walk around the warning dialog
|
||||
if(_dialogBase == null && !_selector.isDecided && !_selector.isCanceled && (_selector.isPressed || _selector.isPressedDisabledElement)) {
|
||||
MusicSelectViewData musicViewData = _selectList.getMusicViewData(_selector.selectIndex);
|
||||
if(musicViewData != null && musicViewData.kind == MusicSelectViewData.Kind.Scenario
|
||||
&& musicViewData.scenarioViewData.ngReason == ScenarioViewData.PlayNGReason.None) {
|
||||
onFinishPlayScenario(0, false);
|
||||
updateSystemUIPanel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
orig_Execute_Select();
|
||||
}
|
||||
}
|
7
LoadBoost/LoadBoost.csproj
Normal file
7
LoadBoost/LoadBoost.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.LoadBoost.mm</AssemblyName>
|
||||
<Description>Speed up startup</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
71
LoadBoost/MU3.Data/patch_DataManager.cs
Normal file
71
LoadBoost/MU3.Data/patch_DataManager.cs
Normal file
@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace MU3.Data;
|
||||
|
||||
public class patch_DataManager: DataManager {
|
||||
private Dictionary<int, FumenAnalysisData> _fumenAnalysisData;
|
||||
private string _fileName;
|
||||
|
||||
private void initCache() {
|
||||
if(File.Exists(_fileName)) {
|
||||
System.Console.WriteLine("Loading chart analysis cache...");
|
||||
_fumenAnalysisData = new Dictionary<int, FumenAnalysisData>();
|
||||
using FileStream input = File.OpenRead(_fileName);
|
||||
using BinaryReader binaryReader = new BinaryReader(input);
|
||||
|
||||
while(binaryReader.BaseStream.Position < binaryReader.BaseStream.Length) {
|
||||
int key = binaryReader.ReadInt32();
|
||||
bool isExist = binaryReader.ReadBoolean();
|
||||
int bpm = binaryReader.ReadInt32();
|
||||
int platinumScoreMax = binaryReader.ReadInt32();
|
||||
string notesDesignerName = binaryReader.ReadString();
|
||||
_fumenAnalysisData.Add(key, new FumenAnalysisData {
|
||||
isExist = isExist,
|
||||
bpm = bpm,
|
||||
platinumScoreMax = platinumScoreMax,
|
||||
notesDesignerName = notesDesignerName
|
||||
});
|
||||
}
|
||||
} else {
|
||||
_fumenAnalysisData = new Dictionary<int, FumenAnalysisData>();
|
||||
}
|
||||
}
|
||||
|
||||
private void saveCache() {
|
||||
System.Console.WriteLine($"Saving chart analysis cache...{Enumerable.First(_fumenAnalysisData).Key},{Enumerable.First(_fumenAnalysisData).Value.notesDesignerName}");
|
||||
if(File.Exists(_fileName)) {
|
||||
File.Delete(_fileName);
|
||||
}
|
||||
using FileStream fileStream = File.OpenWrite(_fileName);
|
||||
using BinaryWriter binaryWriter = new BinaryWriter(fileStream);
|
||||
foreach(KeyValuePair<int, FumenAnalysisData> fumenAnalysisDatum in _fumenAnalysisData) {
|
||||
binaryWriter.Write(fumenAnalysisDatum.Key);
|
||||
binaryWriter.Write(fumenAnalysisDatum.Value.isExist);
|
||||
binaryWriter.Write(fumenAnalysisDatum.Value.bpm);
|
||||
binaryWriter.Write(fumenAnalysisDatum.Value.platinumScoreMax);
|
||||
binaryWriter.Write(fumenAnalysisDatum.Value.notesDesignerName);
|
||||
}
|
||||
fileStream.Flush();
|
||||
}
|
||||
|
||||
private extern void orig_makeFumenAnalysisDataList();
|
||||
|
||||
private void makeFumenAnalysisDataList() {
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
_fileName = Path.Combine(iniFile.getValue("Extra", "CacheDir", "."), "data_fumen_analysis_cache.bin");
|
||||
|
||||
try {
|
||||
if(patch_DataStudioManager.needSave || !File.Exists(_fileName)) {
|
||||
orig_makeFumenAnalysisDataList();
|
||||
saveCache();
|
||||
} else {
|
||||
initCache();
|
||||
}
|
||||
} catch(Exception value) {
|
||||
System.Console.WriteLine(value);
|
||||
}
|
||||
}
|
||||
}
|
68
LoadBoost/MU3.Data/patch_DataStudioManager.cs
Normal file
68
LoadBoost/MU3.Data/patch_DataStudioManager.cs
Normal file
@ -0,0 +1,68 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
|
||||
namespace MU3.Data;
|
||||
|
||||
public class patch_DataStudioManager: DataStudioManager {
|
||||
public static bool needSave;
|
||||
private static string _fileName;
|
||||
private static Dictionary<string, object> _dataCache;
|
||||
|
||||
private static extern bool orig_Deserialize<T>(string filePath, out T dsr) where T : new();
|
||||
|
||||
private static void initCache() {
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
var dir = iniFile.getValue("Extra", "CacheDir", ".");
|
||||
Directory.CreateDirectory(dir);
|
||||
_fileName = Path.Combine(dir, "data_cache.bin");
|
||||
|
||||
if(File.Exists(_fileName)) {
|
||||
System.Console.WriteLine("Loading data cache...");
|
||||
using FileStream serializationStream = File.OpenRead(_fileName);
|
||||
_dataCache = (Dictionary<string, object>)new BinaryFormatter().Deserialize(serializationStream);
|
||||
return;
|
||||
}
|
||||
_dataCache = new();
|
||||
}
|
||||
|
||||
private static void saveCache() {
|
||||
if(_fileName == "") {
|
||||
return;
|
||||
}
|
||||
if(File.Exists(_fileName)) {
|
||||
File.Delete(_fileName);
|
||||
}
|
||||
using FileStream serializationStream = File.OpenWrite(_fileName);
|
||||
new BinaryFormatter().Serialize(serializationStream, _dataCache);
|
||||
}
|
||||
|
||||
private static bool Deserialize<T>(string filePath, out T dsr) where T : new() {
|
||||
if(_dataCache == null) {
|
||||
initCache();
|
||||
}
|
||||
if(_dataCache.ContainsKey(filePath)) {
|
||||
dsr = (T)_dataCache[filePath];
|
||||
return true;
|
||||
}
|
||||
if(orig_Deserialize(filePath, out dsr)) {
|
||||
needSave = true;
|
||||
_dataCache.Add(filePath, dsr);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public extern bool orig_IsLoaded();
|
||||
|
||||
public new bool IsLoaded() {
|
||||
if(orig_IsLoaded()) {
|
||||
if(needSave) {
|
||||
System.Console.WriteLine("Saving data cache...");
|
||||
saveCache();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
16
LoadBoost/MU3.Sequence/patch_Initialize.cs
Normal file
16
LoadBoost/MU3.Sequence/patch_Initialize.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using MU3.SceneObject;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
public class patch_Initialize: Initialize {
|
||||
private Scene_12_Initialize _initializeObject;
|
||||
|
||||
private void Execute_InitQRReader() {
|
||||
_initializeObject.setQRCodeReaderStatus("SKIP");
|
||||
setNextState(EState.CheckDelivery);
|
||||
}
|
||||
|
||||
private void Enter_Warning() {
|
||||
setNextState(EState.StateEnd);
|
||||
}
|
||||
}
|
7
LockSelectionTime/LockSelectionTime.csproj
Normal file
7
LockSelectionTime/LockSelectionTime.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.LockSelectionTime.mm</AssemblyName>
|
||||
<Description>Disable all timers</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
14
LockSelectionTime/MU3/patch_SystemUI.cs
Normal file
14
LockSelectionTime/MU3/patch_SystemUI.cs
Normal file
@ -0,0 +1,14 @@
|
||||
namespace MU3;
|
||||
|
||||
class patch_SystemUI: SystemUI {
|
||||
class patch_Timer: Timer {
|
||||
public patch_Timer(UITimer timer) : base(timer) { /* nop */ }
|
||||
public new void execute() { /* nop */ }
|
||||
public extern bool orig_get_show();
|
||||
public extern void orig_set_show(bool value);
|
||||
public new bool show {
|
||||
get { return orig_get_show(); }
|
||||
set { orig_set_show(false); }
|
||||
}
|
||||
}
|
||||
}
|
13
LockSelectionTime/MU3/patch_UITimer.cs
Normal file
13
LockSelectionTime/MU3/patch_UITimer.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_UITimer: UITimer {
|
||||
public new void update() { /* nop */ }
|
||||
public new void update(float externalCounter) { /* nop */ }
|
||||
public extern void orig_initialize(float counter);
|
||||
public new void initialize(float counter) {
|
||||
orig_initialize(counter);
|
||||
transform.localScale = new Vector3(0, 0, 0);
|
||||
}
|
||||
}
|
24
Mu3Mods.csproj
Normal file
24
Mu3Mods.csproj
Normal file
@ -0,0 +1,24 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net35</TargetFramework>
|
||||
<Company>7EVENDAYS⇔HOLIDAYS</Company>
|
||||
<Version>2.3.1</Version>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Platforms>x64</Platforms>
|
||||
<NoWarn>IDE0044,IDE0051,IDE0052,IDE1006,CS0414,CS0649,CS0626</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib"><HintPath>..\Common\mscorlib.dll</HintPath></Reference>
|
||||
<Reference Include="UnityEngine"><HintPath>..\Common\UnityEngine.dll</HintPath></Reference>
|
||||
<Reference Include="UnityEngine.UI"><HintPath>..\Common\UnityEngine.UI.dll</HintPath></Reference>
|
||||
<Reference Include="Assembly-CSharp-firstpass"><HintPath>..\Common\Assembly-CSharp-firstpass.dll</HintPath></Reference>
|
||||
<PackageReference Include="monomod" Version="22.7.31.1" />
|
||||
<ProjectReference Include="..\Common\Assembly-CSharp_unpacked\Assembly-CSharp_unpacked.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CopyDLLs" AfterTargets="Build">
|
||||
<Copy SourceFiles="$(TargetDir)$(AssemblyName).dll" DestinationFolder="..\Common\mu3\BepInEx\monomod" />
|
||||
</Target>
|
||||
</Project>
|
144
Mu3Mods.sln
Normal file
144
Mu3Mods.sln
Normal file
@ -0,0 +1,144 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.9.34728.123
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BetterGiveUp", "BetterGiveUp\BetterGiveUp.csproj", "{003AD3C6-07CA-4824-B4BD-4BEF6F3D8997}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NaiveRating", "NaiveRating\NaiveRating.csproj", "{1FEA698E-DF5E-46CF-8023-F2B2F57885C5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkipNotice", "SkipNotice\SkipNotice.csproj", "{A1F32CB9-56C2-458A-B369-C61BD3A6AFBB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkipPreMusicRitual", "SkipPreMusicRitual\SkipPreMusicRitual.csproj", "{BB9CB905-9989-466C-9A91-D2F323005237}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InfiniteGP", "InfiniteGP\InfiniteGP.csproj", "{990DCB96-7A47-45B9-B7CB-A6B2A1B6864A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockSelectionTime", "LockSelectionTime\LockSelectionTime.csproj", "{66DE85AD-58AD-467C-B1C0-6B98BB27265D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Pause", "Pause\Pause.csproj", "{627B3AA0-25E2-4C3E-A211-66BAB0E997E2}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockAndSetJewelBoostNine", "UnlockAndSetJewelBoostNine\UnlockAndSetJewelBoostNine.csproj", "{70C775D7-8C47-4CFE-B91D-6AAEB17389F2}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SortByInternalDifficulty", "SortByInternalDifficulty\SortByInternalDifficulty.csproj", "{0BF799DF-8837-4372-9F36-705CDC22374C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LoadBoost", "LoadBoost\LoadBoost.csproj", "{56B75395-ED26-479B-B59F-DABB74513335}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DisableEncryption", "DisableEncryption\DisableEncryption.csproj", "{3F05931E-4444-4616-A0AC-047809821B0E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockMasterDifficulty", "UnlockMasterDifficulty\UnlockMasterDifficulty.csproj", "{965FCDBC-12EA-4F31-AAF6-9C4C3B9F7022}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockFrameRate", "UnlockFrameRate\UnlockFrameRate.csproj", "{0C3E8145-F91B-4F1F-97D1-17E12D49891B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockAllMusic", "UnlockAllMusic\UnlockAllMusic.csproj", "{C8948C3E-0434-429E-AFE6-4FB2DF246872}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DisableMaintenance", "DisableMaintenance\DisableMaintenance.csproj", "{6C91EB92-3A30-43B5-8954-E84C610C1D67}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockGameEvents", "UnlockGameEvents\UnlockGameEvents.csproj", "{3B9B843D-DCA0-41FE-B642-6BCB187BBD5D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnlockMemoryChapters", "UnlockMemoryChapters\UnlockMemoryChapters.csproj", "{3A217A12-6082-491B-89F6-C1D13AD69A19}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlatinumTiming", "PlatinumTiming\PlatinumTiming.csproj", "{099AD6AF-181A-4745-88C4-1D0466BECCB1}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AttractVideoPlayer", "AttractVideoPlayer\AttractVideoPlayer.csproj", "{6889330F-2E7E-4778-ADFF-70AF036F1BD5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SelectBGM", "SelectBGM\SelectBGM.csproj", "{07C01DA1-7ABF-4759-A1C2-9DCD04298E85}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InfiniteStory", "InfiniteStory\InfiniteStory.csproj", "{939914E5-8D9A-4696-9957-AA6C6480FE94}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{003AD3C6-07CA-4824-B4BD-4BEF6F3D8997}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{003AD3C6-07CA-4824-B4BD-4BEF6F3D8997}.Debug|x64.Build.0 = Debug|x64
|
||||
{003AD3C6-07CA-4824-B4BD-4BEF6F3D8997}.Release|x64.ActiveCfg = Release|x64
|
||||
{003AD3C6-07CA-4824-B4BD-4BEF6F3D8997}.Release|x64.Build.0 = Release|x64
|
||||
{1FEA698E-DF5E-46CF-8023-F2B2F57885C5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1FEA698E-DF5E-46CF-8023-F2B2F57885C5}.Debug|x64.Build.0 = Debug|x64
|
||||
{1FEA698E-DF5E-46CF-8023-F2B2F57885C5}.Release|x64.ActiveCfg = Release|x64
|
||||
{1FEA698E-DF5E-46CF-8023-F2B2F57885C5}.Release|x64.Build.0 = Release|x64
|
||||
{A1F32CB9-56C2-458A-B369-C61BD3A6AFBB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A1F32CB9-56C2-458A-B369-C61BD3A6AFBB}.Debug|x64.Build.0 = Debug|x64
|
||||
{A1F32CB9-56C2-458A-B369-C61BD3A6AFBB}.Release|x64.ActiveCfg = Release|x64
|
||||
{A1F32CB9-56C2-458A-B369-C61BD3A6AFBB}.Release|x64.Build.0 = Release|x64
|
||||
{BB9CB905-9989-466C-9A91-D2F323005237}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BB9CB905-9989-466C-9A91-D2F323005237}.Debug|x64.Build.0 = Debug|x64
|
||||
{BB9CB905-9989-466C-9A91-D2F323005237}.Release|x64.ActiveCfg = Release|x64
|
||||
{BB9CB905-9989-466C-9A91-D2F323005237}.Release|x64.Build.0 = Release|x64
|
||||
{990DCB96-7A47-45B9-B7CB-A6B2A1B6864A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{990DCB96-7A47-45B9-B7CB-A6B2A1B6864A}.Debug|x64.Build.0 = Debug|x64
|
||||
{990DCB96-7A47-45B9-B7CB-A6B2A1B6864A}.Release|x64.ActiveCfg = Release|x64
|
||||
{990DCB96-7A47-45B9-B7CB-A6B2A1B6864A}.Release|x64.Build.0 = Release|x64
|
||||
{66DE85AD-58AD-467C-B1C0-6B98BB27265D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{66DE85AD-58AD-467C-B1C0-6B98BB27265D}.Debug|x64.Build.0 = Debug|x64
|
||||
{66DE85AD-58AD-467C-B1C0-6B98BB27265D}.Release|x64.ActiveCfg = Release|x64
|
||||
{66DE85AD-58AD-467C-B1C0-6B98BB27265D}.Release|x64.Build.0 = Release|x64
|
||||
{627B3AA0-25E2-4C3E-A211-66BAB0E997E2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{627B3AA0-25E2-4C3E-A211-66BAB0E997E2}.Debug|x64.Build.0 = Debug|x64
|
||||
{627B3AA0-25E2-4C3E-A211-66BAB0E997E2}.Release|x64.ActiveCfg = Release|x64
|
||||
{627B3AA0-25E2-4C3E-A211-66BAB0E997E2}.Release|x64.Build.0 = Release|x64
|
||||
{70C775D7-8C47-4CFE-B91D-6AAEB17389F2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{70C775D7-8C47-4CFE-B91D-6AAEB17389F2}.Debug|x64.Build.0 = Debug|x64
|
||||
{70C775D7-8C47-4CFE-B91D-6AAEB17389F2}.Release|x64.ActiveCfg = Release|x64
|
||||
{70C775D7-8C47-4CFE-B91D-6AAEB17389F2}.Release|x64.Build.0 = Release|x64
|
||||
{0BF799DF-8837-4372-9F36-705CDC22374C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0BF799DF-8837-4372-9F36-705CDC22374C}.Debug|x64.Build.0 = Debug|x64
|
||||
{0BF799DF-8837-4372-9F36-705CDC22374C}.Release|x64.ActiveCfg = Release|x64
|
||||
{0BF799DF-8837-4372-9F36-705CDC22374C}.Release|x64.Build.0 = Release|x64
|
||||
{56B75395-ED26-479B-B59F-DABB74513335}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{56B75395-ED26-479B-B59F-DABB74513335}.Debug|x64.Build.0 = Debug|x64
|
||||
{56B75395-ED26-479B-B59F-DABB74513335}.Release|x64.ActiveCfg = Release|x64
|
||||
{56B75395-ED26-479B-B59F-DABB74513335}.Release|x64.Build.0 = Release|x64
|
||||
{3F05931E-4444-4616-A0AC-047809821B0E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3F05931E-4444-4616-A0AC-047809821B0E}.Debug|x64.Build.0 = Debug|x64
|
||||
{3F05931E-4444-4616-A0AC-047809821B0E}.Release|x64.ActiveCfg = Release|x64
|
||||
{3F05931E-4444-4616-A0AC-047809821B0E}.Release|x64.Build.0 = Release|x64
|
||||
{965FCDBC-12EA-4F31-AAF6-9C4C3B9F7022}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{965FCDBC-12EA-4F31-AAF6-9C4C3B9F7022}.Debug|x64.Build.0 = Debug|x64
|
||||
{965FCDBC-12EA-4F31-AAF6-9C4C3B9F7022}.Release|x64.ActiveCfg = Release|x64
|
||||
{965FCDBC-12EA-4F31-AAF6-9C4C3B9F7022}.Release|x64.Build.0 = Release|x64
|
||||
{0C3E8145-F91B-4F1F-97D1-17E12D49891B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0C3E8145-F91B-4F1F-97D1-17E12D49891B}.Debug|x64.Build.0 = Debug|x64
|
||||
{0C3E8145-F91B-4F1F-97D1-17E12D49891B}.Release|x64.ActiveCfg = Release|x64
|
||||
{0C3E8145-F91B-4F1F-97D1-17E12D49891B}.Release|x64.Build.0 = Release|x64
|
||||
{C8948C3E-0434-429E-AFE6-4FB2DF246872}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C8948C3E-0434-429E-AFE6-4FB2DF246872}.Debug|x64.Build.0 = Debug|x64
|
||||
{C8948C3E-0434-429E-AFE6-4FB2DF246872}.Release|x64.ActiveCfg = Release|x64
|
||||
{C8948C3E-0434-429E-AFE6-4FB2DF246872}.Release|x64.Build.0 = Release|x64
|
||||
{6C91EB92-3A30-43B5-8954-E84C610C1D67}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6C91EB92-3A30-43B5-8954-E84C610C1D67}.Debug|x64.Build.0 = Debug|x64
|
||||
{6C91EB92-3A30-43B5-8954-E84C610C1D67}.Release|x64.ActiveCfg = Release|x64
|
||||
{6C91EB92-3A30-43B5-8954-E84C610C1D67}.Release|x64.Build.0 = Release|x64
|
||||
{3B9B843D-DCA0-41FE-B642-6BCB187BBD5D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3B9B843D-DCA0-41FE-B642-6BCB187BBD5D}.Debug|x64.Build.0 = Debug|x64
|
||||
{3B9B843D-DCA0-41FE-B642-6BCB187BBD5D}.Release|x64.ActiveCfg = Release|x64
|
||||
{3B9B843D-DCA0-41FE-B642-6BCB187BBD5D}.Release|x64.Build.0 = Release|x64
|
||||
{3A217A12-6082-491B-89F6-C1D13AD69A19}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3A217A12-6082-491B-89F6-C1D13AD69A19}.Debug|x64.Build.0 = Debug|x64
|
||||
{3A217A12-6082-491B-89F6-C1D13AD69A19}.Release|x64.ActiveCfg = Release|x64
|
||||
{3A217A12-6082-491B-89F6-C1D13AD69A19}.Release|x64.Build.0 = Release|x64
|
||||
{099AD6AF-181A-4745-88C4-1D0466BECCB1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{099AD6AF-181A-4745-88C4-1D0466BECCB1}.Debug|x64.Build.0 = Debug|x64
|
||||
{099AD6AF-181A-4745-88C4-1D0466BECCB1}.Release|x64.ActiveCfg = Release|x64
|
||||
{099AD6AF-181A-4745-88C4-1D0466BECCB1}.Release|x64.Build.0 = Release|x64
|
||||
{6889330F-2E7E-4778-ADFF-70AF036F1BD5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6889330F-2E7E-4778-ADFF-70AF036F1BD5}.Debug|x64.Build.0 = Debug|x64
|
||||
{6889330F-2E7E-4778-ADFF-70AF036F1BD5}.Release|x64.ActiveCfg = Release|x64
|
||||
{6889330F-2E7E-4778-ADFF-70AF036F1BD5}.Release|x64.Build.0 = Release|x64
|
||||
{07C01DA1-7ABF-4759-A1C2-9DCD04298E85}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{07C01DA1-7ABF-4759-A1C2-9DCD04298E85}.Debug|x64.Build.0 = Debug|x64
|
||||
{07C01DA1-7ABF-4759-A1C2-9DCD04298E85}.Release|x64.ActiveCfg = Release|x64
|
||||
{07C01DA1-7ABF-4759-A1C2-9DCD04298E85}.Release|x64.Build.0 = Release|x64
|
||||
{939914E5-8D9A-4696-9957-AA6C6480FE94}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{939914E5-8D9A-4696-9957-AA6C6480FE94}.Debug|x64.Build.0 = Debug|x64
|
||||
{939914E5-8D9A-4696-9957-AA6C6480FE94}.Release|x64.ActiveCfg = Release|x64
|
||||
{939914E5-8D9A-4696-9957-AA6C6480FE94}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {D9317002-F66D-4CDE-8FF5-FF2A0D8DC021}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
18
NaiveRating/MU3.CustomUI/patch_MU3UICounter.cs
Normal file
18
NaiveRating/MU3.CustomUI/patch_MU3UICounter.cs
Normal file
@ -0,0 +1,18 @@
|
||||
namespace MU3.CustomUI;
|
||||
class patch_MU3UICounter: MU3UICounter {
|
||||
protected extern void orig_calcNumFiguresFloat(double value);
|
||||
protected new void calcNumFiguresFloat(double value) {
|
||||
orig_calcNumFiguresFloat(value);
|
||||
if(isDispSuffix) {
|
||||
pushFigureFront(10);
|
||||
}
|
||||
}
|
||||
public bool isDispSuffix { get; set; }
|
||||
protected void pushFigureFront(byte c) {
|
||||
for(int i = numFigures_; i > 0; --i) {
|
||||
figures_[i] = figures_[i - 1];
|
||||
}
|
||||
figures_[0] = c;
|
||||
numFigures_ += 1;
|
||||
}
|
||||
}
|
14
NaiveRating/MU3.Data/patch_GameData.cs
Normal file
14
NaiveRating/MU3.Data/patch_GameData.cs
Normal file
@ -0,0 +1,14 @@
|
||||
using MU3.DB;
|
||||
|
||||
namespace MU3.Data;
|
||||
|
||||
class patch_GameData: GameData {
|
||||
public extern static RatingColorID orig_getRatingColorIDFromRating100(int rating100);
|
||||
public static new RatingColorID getRatingColorIDFromRating100(int rating100) {
|
||||
if(NaiveRating.IsEnabled()) {
|
||||
return orig_getRatingColorIDFromRating100(NaiveRating.Get());
|
||||
} else {
|
||||
return orig_getRatingColorIDFromRating100(rating100);
|
||||
}
|
||||
}
|
||||
}
|
11
NaiveRating/MU3.SceneObject/patch_ANM_CMN_User.cs
Normal file
11
NaiveRating/MU3.SceneObject/patch_ANM_CMN_User.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using MU3.CustomUI;
|
||||
|
||||
namespace MU3.SceneObject;
|
||||
class patch_ANM_CMN_UserDeta_01: ANM_CMN_UserDeta_01 {
|
||||
private MU3UICounter rating;
|
||||
public extern void orig_setUserDetail();
|
||||
public new void setUserDetail() {
|
||||
((patch_MU3UICounter)rating).isDispSuffix = NaiveRating.IsEnabled();
|
||||
orig_setUserDetail();
|
||||
}
|
||||
}
|
36
NaiveRating/MU3.User/patch_UserOption.cs
Normal file
36
NaiveRating/MU3.User/patch_UserOption.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.User;
|
||||
|
||||
class patch_UserOption: UserOption {
|
||||
[MonoModEnumReplace]
|
||||
public enum patch_eRating {
|
||||
OFF = 0,
|
||||
Default = 1,
|
||||
ON = 1,
|
||||
Naive = 2,
|
||||
MAX = 2
|
||||
}
|
||||
class patch_DataSet: DataSet {
|
||||
private patch_eRating rating = patch_eRating.ON;
|
||||
public extern bool orig_isMax(OptionName id);
|
||||
public new bool isMax(OptionName id) {
|
||||
if(id == OptionName.Rating) {
|
||||
return rating == patch_eRating.MAX;
|
||||
}
|
||||
return orig_isMax(id);
|
||||
}
|
||||
public new patch_eRating Rating {
|
||||
get => rating;
|
||||
set {
|
||||
if(patch_eRating.MAX < value) {
|
||||
rating = patch_eRating.MAX;
|
||||
} else if(value < patch_eRating.OFF) {
|
||||
rating = patch_eRating.OFF;
|
||||
} else {
|
||||
rating = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Data;
|
||||
using MU3.DataStudio;
|
||||
using MU3.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace MU3.User;
|
||||
|
||||
public class patch_UserRating: UserRating {
|
||||
private int _rating100;
|
||||
private UserManager usMgr => Singleton<UserManager>.instance;
|
||||
|
||||
// Adaptation of calcBest() without bullshit
|
||||
// The original lists stay intact because the game expects them to be filled
|
||||
private RatingList calcSane() {
|
||||
RatingList ratingList = new();
|
||||
|
||||
var musicDict = usMgr.userMusic;
|
||||
|
||||
foreach(KeyValuePair<int, UserMusic> item in musicDict) {
|
||||
MU3.Data.MusicData musicData = SingletonStateMachine<DataManager, DataManager.EState>.instance.getMusicData(item.Key);
|
||||
if(musicData == null || item.Key == 1 || musicData.isBonusTrack) {
|
||||
continue;
|
||||
}
|
||||
for(int i = 0; i < 5; i++) {
|
||||
FumenDifficulty fumenDifficulty = (FumenDifficulty)i;
|
||||
UserFumen userFumen = usMgr.getUserFumen(item.Key, fumenDifficulty, create: false);
|
||||
if(userFumen == null) {
|
||||
continue;
|
||||
}
|
||||
Rating rating = new Rating(musicData.id, fumenDifficulty, userFumen.TechScoreMax);
|
||||
if(rating.level100 == 0) {
|
||||
continue;
|
||||
}
|
||||
ratingList.Add(rating);
|
||||
}
|
||||
}
|
||||
|
||||
ratingList.Sort();
|
||||
|
||||
return ratingList;
|
||||
}
|
||||
|
||||
private void calcRate() {
|
||||
_rating100 = 0;
|
||||
foreach(Rating best in calcSane().Take(45)) {
|
||||
_rating100 += best.rate100;
|
||||
}
|
||||
_rating100 /= 45;
|
||||
}
|
||||
}
|
15
NaiveRating/MU3.User/patch_UserUtil.cs
Normal file
15
NaiveRating/MU3.User/patch_UserUtil.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.User;
|
||||
|
||||
[MonoModPatch("global::MU3.User.UserUtil")]
|
||||
public static class patch_UserUtil {
|
||||
public extern static float orig_toRatingFloat(int rating);
|
||||
public static float toRatingFloat(int rating) {
|
||||
if(NaiveRating.IsEnabled()) {
|
||||
return orig_toRatingFloat(NaiveRating.Get());
|
||||
} else {
|
||||
return orig_toRatingFloat(rating);
|
||||
}
|
||||
}
|
||||
}
|
23
NaiveRating/MU3/patch_ANM_SWH_Profile.cs
Normal file
23
NaiveRating/MU3/patch_ANM_SWH_Profile.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_ANM_SWH_Profile: ANM_SWH_Profile {
|
||||
public extern void orig_setUpLogin();
|
||||
|
||||
// Fixes login display
|
||||
public new void setUpLogin() {
|
||||
UserManager instance = Singleton<UserManager>.instance;
|
||||
var up = instance.userPreview;
|
||||
if(NaiveRating.IsEnabled()) {
|
||||
up.dispRating = 0;
|
||||
instance.userPreview = up;
|
||||
orig_setUpLogin();
|
||||
up.dispRating = 2;
|
||||
instance.userPreview = up;
|
||||
} else {
|
||||
orig_setUpLogin();
|
||||
}
|
||||
}
|
||||
}
|
23
NaiveRating/MU3/patch_OptionSelecterController.cs
Normal file
23
NaiveRating/MU3/patch_OptionSelecterController.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using MU3.CustomUI;
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
class patch_OptionSelecterController: OptionSelecterController {
|
||||
private chengeParamFuncArray[] cpFuncArray = new chengeParamFuncArray[35];
|
||||
public extern void orig_init(UserOption.OptionName id);
|
||||
private extern void orig_chengeParamOther(int currentParam);
|
||||
public new void init(UserOption.OptionName id) {
|
||||
orig_init(id);
|
||||
cpFuncArray[33].max = 2;
|
||||
}
|
||||
private void chengeParamOther(int currentParam) {
|
||||
if(myOptionId == UserOption.OptionName.Rating) {
|
||||
transform.Find("NUL_SWH_Option_00/NUL_Select/PAT_OnOff").GetComponent<MU3UIImageChanger>().patternNumber = currentParam != 0 ? 0f : 1f;
|
||||
Singleton<UserManager>.instance.userOption.customSet.Rating = (UserOption.eRating)currentParam;
|
||||
SingletonMonoBehaviour<SystemUI>.instance.userData.setUserDetail();
|
||||
} else {
|
||||
orig_chengeParamOther(currentParam);
|
||||
}
|
||||
}
|
||||
}
|
10
NaiveRating/MU3/patch_Scene_32_PrePlayMusic_Confirm.cs
Normal file
10
NaiveRating/MU3/patch_Scene_32_PrePlayMusic_Confirm.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace MU3;
|
||||
|
||||
// It doesn't have to be PrePlayMusic_Confirm, but it prev rating has to be stored at some point
|
||||
class patch_Scene_32_PrePlayMusic_Confirm: Scene_32_PrePlayMusic_Confirm {
|
||||
private extern void orig_Enter_Select();
|
||||
private void Enter_Select() {
|
||||
NaiveRating.SavePrev();
|
||||
orig_Enter_Select();
|
||||
}
|
||||
}
|
47
NaiveRating/MU3/patch_UIResultBattlePoint.cs
Normal file
47
NaiveRating/MU3/patch_UIResultBattlePoint.cs
Normal file
@ -0,0 +1,47 @@
|
||||
using MU3.CustomUI;
|
||||
using MU3.Sequence;
|
||||
using MU3.User;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
class patch_UIResultBattlePoint: UIResultBattlePoint {
|
||||
private Animator animator_;
|
||||
private MU3UICounter counterScore_;
|
||||
private MU3UIImageChanger imageHeader_;
|
||||
private MU3UICounter counterScorePlus_;
|
||||
private MU3UICounter counterScoreMinus_;
|
||||
private GameObject hideScore_;
|
||||
|
||||
private extern void orig_disable(MU3UICounter counter);
|
||||
private void disable(MU3UICounter counter) => orig_disable(counter);
|
||||
public extern void orig_initTechRating(PlayInfo playInfo);
|
||||
public new void initTechRating(PlayInfo playInfo) {
|
||||
((patch_MU3UICounter)counterScore_).isDispSuffix = NaiveRating.IsEnabled();
|
||||
if(!NaiveRating.IsEnabled()) {
|
||||
orig_initTechRating(playInfo);
|
||||
return;
|
||||
}
|
||||
int prevRating = NaiveRating.PrevRating;
|
||||
int rating1 = NaiveRating.Get();
|
||||
if((bool)hideScore_) {
|
||||
hideScore_.SetActive(false);
|
||||
}
|
||||
counterScore_.Counter = (double)UserUtil.toRatingFloat(rating1);
|
||||
int ratingPatternNo = UserUtil.toRatingPatternNo(rating1);
|
||||
counterScore_.SpriteIndex = ratingPatternNo;
|
||||
imageHeader_.patternNumber = (float)ratingPatternNo;
|
||||
int rating2 = rating1 - prevRating;
|
||||
if(rating2 == 0) {
|
||||
disable(counterScorePlus_);
|
||||
disable(counterScoreMinus_);
|
||||
animator_.SetInteger(MU3.Sys.Const.AnimatorID_State, 2);
|
||||
} else if(0 < rating2) {
|
||||
disable(counterScoreMinus_);
|
||||
if((bool)counterScorePlus_) {
|
||||
counterScorePlus_.Counter = rating2 * 0.01f + 1E-05f;
|
||||
}
|
||||
animator_.SetInteger(MU3.Sys.Const.AnimatorID_State, 0);
|
||||
}
|
||||
animator_.SetTrigger(MU3.Sys.Const.AnimatorID_In);
|
||||
}
|
||||
}
|
55
NaiveRating/NaiveRating.cs
Normal file
55
NaiveRating/NaiveRating.cs
Normal file
@ -0,0 +1,55 @@
|
||||
using MU3.Data;
|
||||
using MU3.DataStudio;
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public static class NaiveRating {
|
||||
public static int PrevRating { get; private set; }
|
||||
|
||||
// Adapted from MU3.User.UserRating.calcBest()
|
||||
private static RatingList calcSane() {
|
||||
RatingList ratingList = new();
|
||||
|
||||
var usMgr = Singleton<UserManager>.instance;
|
||||
var musicDict = usMgr.userMusic;
|
||||
|
||||
foreach(KeyValuePair<int, UserMusic> item in musicDict) {
|
||||
var musicData = SingletonStateMachine<DataManager, DataManager.EState>
|
||||
.instance.getMusicData(item.Key);
|
||||
|
||||
if(musicData == null || item.Key == 1 || musicData.isBonusTrack) {
|
||||
continue;
|
||||
}
|
||||
for(int i = 0; i < 5; i++) {
|
||||
var fumenDifficulty = (FumenDifficulty)i;
|
||||
var userFumen = usMgr.getUserFumen(item.Key, fumenDifficulty, create: false);
|
||||
if(userFumen == null) {
|
||||
continue;
|
||||
}
|
||||
Rating rating = new(musicData.id, fumenDifficulty, userFumen.TechScoreMax);
|
||||
if(rating.level100 == 0) {
|
||||
continue;
|
||||
}
|
||||
ratingList.Add(rating);
|
||||
}
|
||||
}
|
||||
|
||||
ratingList.Sort();
|
||||
return ratingList;
|
||||
}
|
||||
public static int Get() {
|
||||
int res = 0;
|
||||
foreach(Rating best in calcSane().Take(45)) {
|
||||
res += best.rate100;
|
||||
}
|
||||
return res / 45;
|
||||
}
|
||||
public static bool IsEnabled() {
|
||||
return Singleton<UserManager>.instance.userOption.customSet.Rating == (UserOption.eRating)patch_UserOption.patch_eRating.Naive;
|
||||
}
|
||||
public static void SavePrev() {
|
||||
PrevRating = Get();
|
||||
}
|
||||
}
|
7
NaiveRating/NaiveRating.csproj
Normal file
7
NaiveRating/NaiveRating.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.NaiveRating.mm</AssemblyName>
|
||||
<Description>Best45 rating</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
11
Pause/MU3.Battle/patch_GameEngine.cs
Normal file
11
Pause/MU3.Battle/patch_GameEngine.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using MU3.Sequence;
|
||||
|
||||
namespace MU3.Battle;
|
||||
|
||||
class patch_GameEngine: GameEngine {
|
||||
public extern void orig_reset();
|
||||
public new void reset() {
|
||||
orig_reset();
|
||||
patch_PlayMusic.Paused = false;
|
||||
}
|
||||
}
|
13
Pause/MU3.Game/patch_GameBGM.cs
Normal file
13
Pause/MU3.Game/patch_GameBGM.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using MU3.Sound;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Game;
|
||||
|
||||
class patch_GameBGM: GameBGM {
|
||||
private patch_SoundManager psm => ((patch_SoundManager)Singleton<SoundManager>.instance);
|
||||
private HandleInfo _handle;
|
||||
public void pause(bool val) {
|
||||
psm.pause(_handle, val);
|
||||
}
|
||||
}
|
||||
|
35
Pause/MU3.Sequence/patch_PlayMusic.cs
Normal file
35
Pause/MU3.Sequence/patch_PlayMusic.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using MU3.Battle;
|
||||
using MU3.Game;
|
||||
using MU3.Notes;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
class patch_PlayMusic: PlayMusic {
|
||||
private static readonly float PAUSE_CD = 5f;
|
||||
private static readonly float UNPAUSE_CD = 0.5f;
|
||||
private GameEngine _gameEngine;
|
||||
private NotesManager ntMgr => _gameEngine?.notesManager;
|
||||
private patch_GameBGM pgm => (patch_GameBGM)Singleton<GameSound>.instance.gameBGM;
|
||||
public static bool Paused = false;
|
||||
private float pauseTimer = 0f;
|
||||
public extern bool orig_updateState(float deltaTime = -1f);
|
||||
public extern void orig_destroy();
|
||||
private extern void orig_Enter_SetupScene();
|
||||
private void Enter_SetupScene() {
|
||||
orig_Enter_SetupScene();
|
||||
Paused = false;
|
||||
}
|
||||
public override bool updateState(float deltaTime = -1f) {
|
||||
pauseTimer += deltaTime;
|
||||
if(Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.Service) && !Singleton<UIInput>.instance.getStateOn(UIInput.Key.Test)) {
|
||||
if((!Paused && pauseTimer >= PAUSE_CD) || (Paused && pauseTimer >= UNPAUSE_CD)) {
|
||||
Paused = !Paused;
|
||||
pgm.pause(Paused);
|
||||
ntMgr.setPause(Paused);
|
||||
pauseTimer = 0f;
|
||||
}
|
||||
}
|
||||
return orig_updateState(deltaTime);
|
||||
}
|
||||
}
|
10
Pause/MU3.Sound/patch_SoundManager.cs
Normal file
10
Pause/MU3.Sound/patch_SoundManager.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace MU3.Sound;
|
||||
|
||||
class patch_SoundManager: SoundManager {
|
||||
private extern HandleInfo orig_getHandle(Priority priority);
|
||||
private HandleInfo getHandle(Priority priority) => orig_getHandle(priority);
|
||||
private patch_SoundPlayer[] _soundPlayers;
|
||||
public void pause(HandleInfo handle, bool val) {
|
||||
_soundPlayers[handle.Index].pause(val);
|
||||
}
|
||||
}
|
15
Pause/MU3.Sound/patch_SoundPlayer.cs
Normal file
15
Pause/MU3.Sound/patch_SoundPlayer.cs
Normal file
@ -0,0 +1,15 @@
|
||||
namespace MU3.Sound;
|
||||
|
||||
class patch_SoundPlayer: SoundPlayer {
|
||||
private CriAtomExPlayer _player;
|
||||
public extern void orig_stop();
|
||||
|
||||
public void pause(bool val) {
|
||||
_player.Pause(val);
|
||||
}
|
||||
|
||||
public new void stop() {
|
||||
_player.Pause(false);
|
||||
orig_stop();
|
||||
}
|
||||
}
|
7
Pause/Pause.csproj
Normal file
7
Pause/Pause.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.Pause.mm</AssemblyName>
|
||||
<Description>Enables pausing the game with the service button</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
10
Pause/patch_GameDeviceManager.cs
Normal file
10
Pause/patch_GameDeviceManager.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using MU3.Sequence;
|
||||
|
||||
class patch_GameDeviceManager: GameDeviceManager {
|
||||
private extern void orig_update();
|
||||
private void update() {
|
||||
if(!patch_PlayMusic.Paused) {
|
||||
orig_update();
|
||||
}
|
||||
}
|
||||
}
|
26
PlatinumTiming/MU3.Battle/patch_Counters.cs
Normal file
26
PlatinumTiming/MU3.Battle/patch_Counters.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using MU3.Notes;
|
||||
|
||||
namespace MU3.Battle;
|
||||
class patch_Counters: Counters {
|
||||
public int PlatinumFastCount { get; private set; } = 0;
|
||||
public int PlatinumLateCount { get; private set; } = 0;
|
||||
public extern void orig_addPlatinumScore(Judge judge, Timing timing);
|
||||
public new void addPlatinumScore(Judge judge, Timing timing) {
|
||||
orig_addPlatinumScore(judge, timing);
|
||||
|
||||
if(judge == Judge.Perfect) {
|
||||
if(timing == Timing.Fast) {
|
||||
PlatinumFastCount += 1;
|
||||
} else if(timing == Timing.Late) {
|
||||
PlatinumLateCount += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public extern void orig_reset();
|
||||
public new void reset() {
|
||||
orig_reset();
|
||||
PlatinumFastCount = 0;
|
||||
PlatinumLateCount = 0;
|
||||
}
|
||||
}
|
13
PlatinumTiming/MU3.Battle/patch_GameEngine.cs
Normal file
13
PlatinumTiming/MU3.Battle/patch_GameEngine.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using MU3.Game;
|
||||
|
||||
namespace MU3.Battle;
|
||||
class patch_GameEngine: GameEngine {
|
||||
private patch_Counters _counters;
|
||||
public extern void orig_calcCurrentBattleResult(SessionResult sessionResult);
|
||||
|
||||
public void calcCurrentBattleResult(patch_SessionResult sessionResult) {
|
||||
orig_calcCurrentBattleResult(sessionResult);
|
||||
sessionResult.PlatinumFastCount = _counters.PlatinumFastCount;
|
||||
sessionResult.PlatinumLateCount = _counters.PlatinumLateCount;
|
||||
}
|
||||
}
|
5
PlatinumTiming/MU3.Game/patch_SessionResult.cs
Normal file
5
PlatinumTiming/MU3.Game/patch_SessionResult.cs
Normal file
@ -0,0 +1,5 @@
|
||||
namespace MU3.Game;
|
||||
class patch_SessionResult: SessionResult {
|
||||
public int PlatinumFastCount { get; set; }
|
||||
public int PlatinumLateCount { get; set; }
|
||||
}
|
63
PlatinumTiming/MU3/patch_UIResultTechScore.cs
Normal file
63
PlatinumTiming/MU3/patch_UIResultTechScore.cs
Normal file
@ -0,0 +1,63 @@
|
||||
using MU3.CustomUI;
|
||||
using MU3.Game;
|
||||
using MU3.Sequence;
|
||||
using MU3.Util;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
class patch_UIResultTechScore: UIResultTechScore {
|
||||
private MU3UICounter counterFast_;
|
||||
private MU3UICounter counterLate_;
|
||||
private Animator animator_;
|
||||
private static readonly int State_TechnicalScore_Loop;
|
||||
private void cloneCounter(MU3UICounter counter, Color color, int value) {
|
||||
var otherValue = counter.CounterAsInt;
|
||||
var offset = 12;
|
||||
while(otherValue > 9) {
|
||||
otherValue /= 10;
|
||||
offset += 8;
|
||||
}
|
||||
|
||||
var cpy = Instantiate(counter);
|
||||
cpy.color = color;
|
||||
cpy.gameObject.transform.SetParent(counter.transform.parent, false);
|
||||
var pos = counter.gameObject.transform.localPosition;
|
||||
cpy.gameObject.transform.localPosition = new Vector3(pos.x - offset, pos.y, pos.z);
|
||||
cpy.gameObject.SetActive(true);
|
||||
cpy.CounterAsInt = value;
|
||||
}
|
||||
|
||||
private void drawCounters() {
|
||||
float posXf = counterFast_.gameObject.transform.localPosition.x + 5.0f;
|
||||
float posXl = counterLate_.gameObject.transform.localPosition.x + 5.0f;
|
||||
float posY = counterLate_.gameObject.transform.localPosition.y;
|
||||
|
||||
counterFast_.gameObject.transform.localPosition = new Vector3(posXf, posY, 0.0f);
|
||||
counterLate_.gameObject.transform.localPosition = new Vector3(posXl, posY, 0.0f);
|
||||
|
||||
var sessionResult = (patch_SessionResult)Singleton<PlayInfo>.instance.sessionResult;
|
||||
|
||||
cloneCounter(
|
||||
counterFast_,
|
||||
new Color(0.630f, 0.766f, 0.829f, 1.000f),
|
||||
sessionResult.PlatinumFastCount
|
||||
);
|
||||
|
||||
cloneCounter(
|
||||
counterLate_,
|
||||
new Color(0.809f, 0.396f, 0.365f, 1.000f),
|
||||
sessionResult.PlatinumLateCount
|
||||
);
|
||||
}
|
||||
|
||||
private extern IEnumerator orig_showPlatinumScore(PlayInfo playInfo);
|
||||
|
||||
private IEnumerator showPlatinumScore(PlayInfo playInfo) {
|
||||
StartCoroutine(orig_showPlatinumScore(playInfo));
|
||||
while(!AnimatorState.stateEquals(animator_, State_TechnicalScore_Loop)) {
|
||||
yield return null;
|
||||
}
|
||||
drawCounters();
|
||||
}
|
||||
}
|
7
PlatinumTiming/PlatinumTiming.csproj
Normal file
7
PlatinumTiming/PlatinumTiming.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.PlatinumTiming.mm</AssemblyName>
|
||||
<Description>Platinum early/late</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
35
README.md
35
README.md
@ -1,35 +1,10 @@
|
||||
## µ3 mods
|
||||
|
||||
Miscellaneous mods for µ3/SDDT; mainly for my personal use, though suggestions/PRs are welcome.
|
||||
Miscellaneous mods for Ongeki. Suggestions/PRs are welcome.
|
||||
|
||||
### BetterGiveUp
|
||||
Visit [the wiki](https://gitea.tendokyu.moe/akanyan/mu3-mods/wiki) for more information.
|
||||
|
||||
Enables these buttons in music play:
|
||||
### Supported versions
|
||||
- 1.45
|
||||
|
||||
* Red menu: instant return to song select
|
||||
* Yellow menu: instant restart
|
||||
|
||||
To avoid misclicks, you have to hold the button down for 1 second.
|
||||
|
||||
Based on GiveUp, but Better.
|
||||
|
||||
### ExportChartData
|
||||
|
||||
Exports some useful chart data into a dollar-separated file (charts.csv) when the game launches.
|
||||
|
||||
### NaiveRating
|
||||
|
||||
Replaces the in-game rating algorithm (OldBest30+NewBest15+Recent10) with Best45.
|
||||
This change is client-side and immediate, but the server **will** acknowledge it. I host my own server and don't care, but you have been warned.
|
||||
|
||||
### SkipNotice
|
||||
|
||||
Skips the safety warning screen, notices, login bonuses, etc.
|
||||
|
||||
### SkipPreMusicRitual
|
||||
|
||||
Skips the battle intro, card flex, "are you ready? let's shoot!", etc.
|
||||
|
||||
### InfiniteGP
|
||||
|
||||
Saves you time.
|
||||
1.39/1.40 should work but they are generally untested.
|
14
SelectBGM/MU3.Game/patch_GameBGM.cs
Normal file
14
SelectBGM/MU3.Game/patch_GameBGM.cs
Normal file
@ -0,0 +1,14 @@
|
||||
using MU3.Sound;
|
||||
|
||||
namespace MU3.Game;
|
||||
|
||||
class patch_GameBGM: GameBGM {
|
||||
public static bool WithholdPlay = false;
|
||||
public extern void orig_playBGM(SoundManager.ACBData acbData, int soundId, int selectorID, bool forcePlay = false);
|
||||
public new void playBGM(SoundManager.ACBData acbData, int soundId, int selectorID, bool forcePlay = false) {
|
||||
// Prevents theme music from being restarted
|
||||
if(!WithholdPlay) {
|
||||
orig_playBGM(acbData, soundId, selectorID, forcePlay);
|
||||
}
|
||||
}
|
||||
}
|
38
SelectBGM/MU3.Sequence/patch_Play.cs
Normal file
38
SelectBGM/MU3.Sequence/patch_Play.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using MU3.Data;
|
||||
using MU3.Game;
|
||||
using MU3.Util;
|
||||
using System;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
class patch_Play: Play {
|
||||
private LocalSessionInfo _localSessionInfo;
|
||||
|
||||
public static int RecentID = 6;
|
||||
private extern void orig_Enter_Login();
|
||||
private void Enter_Login() {
|
||||
orig_Enter_Login();
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
var index = iniFile.getIntValue("Extra", "BGM", 6);
|
||||
if(index == 0) {
|
||||
var rnd = new Random();
|
||||
index = rnd.Next(1, 7);
|
||||
}
|
||||
if(index < 0 || index > 6) {
|
||||
index = 6;
|
||||
}
|
||||
RecentID = index;
|
||||
Singleton<GameSound>.instance.gameBGM.playBGM(233, index);
|
||||
}
|
||||
|
||||
private extern void orig_Enter_ChapterSelect();
|
||||
private void Enter_ChapterSelect() {
|
||||
patch_GameBGM.WithholdPlay = true;
|
||||
orig_Enter_ChapterSelect();
|
||||
patch_GameBGM.WithholdPlay = false;
|
||||
|
||||
int selectorID = SingletonStateMachine<DataManager, DataManager.EState>.instance.getMemoryChapterData(
|
||||
_localSessionInfo.chapterSelection.memoryChapterId
|
||||
)?.getMemoryChapterSelectorID() ?? RecentID;
|
||||
Singleton<GameSound>.instance.gameBGM.playBGM(233, selectorID);
|
||||
}
|
||||
}
|
22
SelectBGM/MU3/patch_Scene_32_PrePlayMusic_ChapterSelect.cs
Normal file
22
SelectBGM/MU3/patch_Scene_32_PrePlayMusic_ChapterSelect.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using MU3.Game;
|
||||
using MU3.Sequence;
|
||||
using MU3.Util;
|
||||
using MU3.ViewData;
|
||||
|
||||
namespace MU3;
|
||||
class patch_Scene_32_PrePlayMusic_ChapterSelect: Scene_32_PrePlayMusic_ChapterSelect {
|
||||
private ChapterSelectorItemViewData _selectItemViewData;
|
||||
private extern void orig_onChangeElement(int index, int indexRaw);
|
||||
private void onChangeElement(int index, int indexRaw) {
|
||||
patch_GameBGM.WithholdPlay = true;
|
||||
orig_onChangeElement(index, indexRaw);
|
||||
patch_GameBGM.WithholdPlay = false;
|
||||
|
||||
int selectorID = (
|
||||
(_selectItemViewData.memoryChapterViewData == null)
|
||||
? null
|
||||
: _selectItemViewData.memoryChapterViewData.memoryChapterData
|
||||
)?.getMemoryChapterSelectorID() ?? patch_Play.RecentID;
|
||||
Singleton<GameSound>.instance.gameBGM.playBGM(233, selectorID);
|
||||
}
|
||||
}
|
7
SelectBGM/SelectBGM.csproj
Normal file
7
SelectBGM/SelectBGM.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.SelectBGM.mm</AssemblyName>
|
||||
<Description>Select main menu BGM</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -1,30 +1,30 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_Scene_30_NoticeReward: Scene_30_NoticeReward {
|
||||
class patch_Scene_30_NoticeReward: Scene_30_NoticeReward {
|
||||
private Mode<Scene_30_NoticeReward, State> _mode;
|
||||
public static bool Skipped { get; private set; }
|
||||
private enum State {
|
||||
Attention,
|
||||
Notice,
|
||||
RankingReward,
|
||||
TechnicalChallengeReward,
|
||||
DailyBonus,
|
||||
AimeCollab,
|
||||
Present,
|
||||
TrainingRoom,
|
||||
FadeOut,
|
||||
End
|
||||
RankingReward = 2,
|
||||
FadeOut = 8,
|
||||
}
|
||||
|
||||
private void Start() {
|
||||
Skipped = false;
|
||||
_mode = new Mode<Scene_30_NoticeReward, State>(this);
|
||||
_mode.set(State.FadeOut);
|
||||
_mode.set(State.RankingReward);
|
||||
SingletonMonoBehaviour<SystemUI>.instance.Panel.pushState(0, show: true);
|
||||
}
|
||||
private void Update() {
|
||||
if(_mode.get() < (int)State.FadeOut && Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.MenuLeft)) {
|
||||
Skipped = true;
|
||||
_mode.set(State.FadeOut);
|
||||
} else {
|
||||
_mode.update();
|
||||
}
|
||||
}
|
||||
|
||||
private void End_Init() {
|
||||
Skipped = false;
|
||||
}
|
||||
}
|
18
SkipNotice/MU3/patch_UIGetRewards.cs
Normal file
18
SkipNotice/MU3/patch_UIGetRewards.cs
Normal file
@ -0,0 +1,18 @@
|
||||
namespace MU3;
|
||||
class patch_UIGetRewards: UIGetRewards {
|
||||
private extern void orig_invokeOnFinish();
|
||||
private extern void orig_startNextItem();
|
||||
private void invokeOnFinish() => orig_invokeOnFinish();
|
||||
private void startNextItem() {
|
||||
if(!patch_Scene_30_NoticeReward.Skipped) {
|
||||
orig_startNextItem();
|
||||
}
|
||||
}
|
||||
void Update() {
|
||||
// The panel state will still be screwed up for some reason but it won't crash
|
||||
// This could be improved
|
||||
if(patch_Scene_30_NoticeReward.Skipped) {
|
||||
invokeOnFinish();
|
||||
}
|
||||
}
|
||||
}
|
7
SkipNotice/SkipNotice.csproj
Normal file
7
SkipNotice/SkipNotice.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.SkipNotice.mm</AssemblyName>
|
||||
<Description>Skip event/safety notices</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -1,8 +0,0 @@
|
||||
|
||||
using MU3.Battle;
|
||||
|
||||
public class patch_BattleCamera: BattleCamera {
|
||||
private void Enter_StartCutscene() {
|
||||
setNextState(EState.ToPlay);
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
using MU3.Util;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_BattleUI: BattleUI {
|
||||
private System.Collections.IEnumerator playReadyProc(Action onFinish) {
|
||||
if(!SystemUI.Exists) {
|
||||
onFinish();
|
||||
yield break;
|
||||
}
|
||||
SystemUI systemUI = SingletonMonoBehaviour<SystemUI>.instance;
|
||||
float time = 1.5f;
|
||||
while(0f < time) {
|
||||
yield return null;
|
||||
time -= Time.deltaTime;
|
||||
}
|
||||
onFinish();
|
||||
systemUI.removeCanvas(MU3.Graphics.Const.SortOrder.UI);
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#pragma warning disable CS0108
|
||||
|
||||
namespace MU3.Battle;
|
||||
|
||||
public class patch_GameEngine: GameEngine {
|
||||
public bool isStartCutsceneFinish() {
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,19 +1,20 @@
|
||||
#pragma warning disable CS0626
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable IDE0051
|
||||
#pragma warning disable IDE1006
|
||||
|
||||
using MU3.Battle;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Sequence;
|
||||
|
||||
public class patch_PlayMusic: PlayMusic {
|
||||
class patch_PlayMusic: PlayMusic {
|
||||
private GameEngine _gameEngine;
|
||||
private extern void orig_Execute_StartCutscene();
|
||||
public static bool ForceSkipped { get; private set; }
|
||||
|
||||
private void Execute_StartCutscene() {
|
||||
orig_Execute_StartCutscene();
|
||||
_gameEngine.skipStartCutscene();
|
||||
setNextState(EState.Countdown);
|
||||
ForceSkipped = false;
|
||||
if(Singleton<Sys.System>.instance.config.isQuickStart || Singleton<UIInput>.instance.getTriggerOn(UIInput.Key.MenuLeft)) {
|
||||
ForceSkipped = true;
|
||||
_gameEngine.skipStartCutscene();
|
||||
setNextState(EState.Countdown);
|
||||
}
|
||||
}
|
||||
}
|
35
SkipPreMusicRitual/MU3/patch_BattleUI.cs
Normal file
35
SkipPreMusicRitual/MU3/patch_BattleUI.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using MonoMod;
|
||||
using MU3.Sequence;
|
||||
using MU3.Util;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_BattleUI: BattleUI {
|
||||
[MonoModIgnore]
|
||||
private extern System.Collections.IEnumerator playReadyProc(Action onFinish);
|
||||
private System.Collections.IEnumerator playReadyProcSkipped(Action onFinish) {
|
||||
if(!SystemUI.Exists) {
|
||||
onFinish();
|
||||
yield break;
|
||||
}
|
||||
SystemUI systemUI = SingletonMonoBehaviour<SystemUI>.instance;
|
||||
float time = 1.5f;
|
||||
while(0f < time) {
|
||||
yield return null;
|
||||
time -= Time.deltaTime;
|
||||
}
|
||||
onFinish();
|
||||
systemUI.removeCanvas(Graphics.Const.SortOrder.UI);
|
||||
}
|
||||
|
||||
public new void playReady(Action onFinish) {
|
||||
if(patch_PlayMusic.ForceSkipped) {
|
||||
StartCoroutine(playReadyProcSkipped(onFinish));
|
||||
} else {
|
||||
StartCoroutine(playReadyProc(onFinish));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
7
SkipPreMusicRitual/SkipPreMusicRitual.csproj
Normal file
7
SkipPreMusicRitual/SkipPreMusicRitual.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.SkipPreMusicRitual.mm</AssemblyName>
|
||||
<Description>Skip "Are you ready? Let's shoot"</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
649
SortByInternalDifficulty/InternalSortPreview.cs
Normal file
649
SortByInternalDifficulty/InternalSortPreview.cs
Normal file
@ -0,0 +1,649 @@
|
||||
public static class InternalSortPreview {
|
||||
// This really shouldn't be a png but it's just one texture
|
||||
public static byte[] Bytes = {
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x79, 0x08, 0x02, 0x00, 0x00, 0x00, 0x96, 0x41, 0x0b,
|
||||
0x66, 0x00, 0x00, 0x20, 0x00, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x7d, 0x79, 0x9c, 0x5d,
|
||||
0x45, 0x99, 0xf6, 0xf3, 0x56, 0xd5, 0xd9, 0xee, 0x3d, 0x77, 0xe9, 0xdb, 0x7b, 0xf6, 0x74, 0x36,
|
||||
0x02, 0x49, 0x20, 0x40, 0x00, 0x59, 0x12, 0xf6, 0x45, 0x50, 0x50, 0xc1, 0x05, 0x18, 0x44, 0x70,
|
||||
0x54, 0xd4, 0xc1, 0x9f, 0x8c, 0x0b, 0xa3, 0xb8, 0x7c, 0xae, 0x88, 0x8a, 0xe8, 0x8c, 0xe3, 0x38,
|
||||
0xa0, 0xe8, 0xa7, 0xce, 0xb8, 0x7e, 0x20, 0xca, 0x22, 0x20, 0x10, 0x96, 0x18, 0x20, 0x92, 0x10,
|
||||
0x76, 0xb2, 0xef, 0xbd, 0xdf, 0xbe, 0xfb, 0x3d, 0x4b, 0x55, 0x7d, 0x7f, 0xdc, 0x5e, 0x6e, 0x87,
|
||||
0xee, 0x24, 0xae, 0xb1, 0xd3, 0xe7, 0xf9, 0xd5, 0x1f, 0xdd, 0xe7, 0x9e, 0x7b, 0x96, 0xb7, 0x9e,
|
||||
0x7a, 0xeb, 0xa9, 0xb7, 0xde, 0xaa, 0x4b, 0x9f, 0x79, 0x1b, 0x22, 0xec, 0x03, 0xc4, 0x38, 0x00,
|
||||
0xad, 0x64, 0x64, 0x8a, 0x43, 0x06, 0x8c, 0x00, 0x40, 0x44, 0x86, 0xd8, 0x0f, 0xf5, 0x89, 0x00,
|
||||
0xe8, 0xc8, 0x10, 0x87, 0x10, 0x94, 0x06, 0x00, 0x16, 0x19, 0x22, 0xc2, 0x24, 0xf5, 0xfd, 0x91,
|
||||
0x09, 0x22, 0x44, 0xd4, 0x8f, 0x10, 0x21, 0xa2, 0x7e, 0x84, 0x08, 0x11, 0xf5, 0x23, 0x44, 0x88,
|
||||
0xa8, 0x1f, 0x21, 0x42, 0x44, 0xfd, 0x08, 0x11, 0x22, 0xea, 0x47, 0x88, 0x10, 0x51, 0x3f, 0x42,
|
||||
0x84, 0x88, 0xfa, 0x11, 0x22, 0x44, 0xd4, 0x8f, 0x10, 0x21, 0xa2, 0x7e, 0x84, 0x08, 0x11, 0xf5,
|
||||
0x23, 0x44, 0x88, 0xa8, 0x1f, 0x21, 0x42, 0x44, 0xfd, 0x08, 0x11, 0x22, 0xea, 0x47, 0x88, 0x10,
|
||||
0x51, 0x3f, 0x42, 0x84, 0xbf, 0x3a, 0x46, 0xad, 0xd2, 0xfa, 0xef, 0xfb, 0x09, 0x80, 0x54, 0xd1,
|
||||
0x9a, 0x24, 0x00, 0x90, 0x8a, 0xdd, 0x79, 0xc7, 0xff, 0x1e, 0xb1, 0x78, 0x19, 0x54, 0x31, 0xa8,
|
||||
0x96, 0x26, 0xc4, 0x33, 0x2b, 0x12, 0x00, 0xb8, 0x30, 0x0a, 0x85, 0xc2, 0x79, 0xe7, 0x5d, 0xd8,
|
||||
0xd3, 0xdb, 0x5f, 0x3b, 0x6e, 0xf0, 0xa8, 0x3e, 0x01, 0xe0, 0x9a, 0x73, 0xc7, 0xa1, 0x7e, 0x57,
|
||||
0x0e, 0x00, 0x74, 0xc4, 0x7c, 0x00, 0xc0, 0xfb, 0xde, 0xf3, 0xae, 0xe3, 0x4e, 0x7e, 0xa3, 0x29,
|
||||
0x42, 0xa0, 0x51, 0x2b, 0x35, 0x31, 0x1e, 0x5a, 0x0b, 0x00, 0x50, 0x61, 0x63, 0x9b, 0xfb, 0xe9,
|
||||
0xcf, 0x7e, 0xfe, 0xf2, 0x2b, 0x3f, 0x50, 0x3b, 0x4c, 0x14, 0xd5, 0xe7, 0xde, 0xe0, 0xa7, 0x2e,
|
||||
0x1a, 0xf9, 0x67, 0xe5, 0x0b, 0x14, 0x51, 0xbf, 0x86, 0xb6, 0xd6, 0x96, 0x5f, 0xfd, 0xf2, 0xa7,
|
||||
0x6e, 0x22, 0x05, 0x55, 0x05, 0x34, 0x11, 0x26, 0x46, 0x91, 0x9a, 0xb4, 0x26, 0x80, 0x18, 0xe6,
|
||||
0xcc, 0x5f, 0xbc, 0x76, 0xcd, 0x93, 0x1b, 0x37, 0x6f, 0x89, 0x6a, 0x73, 0x18, 0xf5, 0x6c, 0x8f,
|
||||
0xb4, 0xfe, 0xd8, 0xf8, 0xce, 0x2d, 0x37, 0x65, 0x9a, 0xa6, 0x40, 0x0e, 0xeb, 0x1c, 0x3d, 0xa1,
|
||||
0x0a, 0x10, 0x06, 0x4e, 0x2c, 0xfe, 0xf5, 0x5b, 0xbe, 0x11, 0x8b, 0xc5, 0xa2, 0xda, 0xdc, 0xff,
|
||||
0x30, 0x57, 0x6b, 0xad, 0x23, 0x9f, 0x0f, 0xbc, 0xf9, 0x4d, 0xe7, 0x9f, 0x7b, 0xe1, 0x25, 0x5a,
|
||||
0x96, 0xa1, 0x42, 0x28, 0x05, 0xa5, 0xa0, 0x30, 0x31, 0x0a, 0xd3, 0x43, 0x45, 0x31, 0x5d, 0x98,
|
||||
0xbf, 0xe0, 0x88, 0xcf, 0xdc, 0xf0, 0x91, 0xa8, 0x42, 0xa3, 0x08, 0xcf, 0x01, 0xa1, 0xa9, 0x29,
|
||||
0xf3, 0xcd, 0x9b, 0xbf, 0x68, 0x3b, 0x31, 0x0a, 0xab, 0xf5, 0x6e, 0x61, 0xe2, 0x15, 0x1d, 0x70,
|
||||
0xf2, 0xae, 0xf9, 0xc0, 0x75, 0xcb, 0x8e, 0x5d, 0x1a, 0x55, 0x6b, 0x44, 0xfd, 0xfd, 0xe3, 0xd3,
|
||||
0x9f, 0xbc, 0x6e, 0xea, 0x8c, 0x23, 0x42, 0x3f, 0x0f, 0x9a, 0x98, 0x8c, 0xaf, 0x97, 0x3d, 0xaa,
|
||||
0x92, 0x48, 0xa6, 0xbe, 0xf1, 0xf5, 0x2f, 0x46, 0xd5, 0x1a, 0x51, 0x7f, 0x3f, 0x38, 0xe5, 0xa4,
|
||||
0xe3, 0xdf, 0x75, 0xf5, 0xbf, 0x28, 0xe5, 0x2b, 0x19, 0x4c, 0x70, 0xde, 0xeb, 0xc1, 0xce, 0x4a,
|
||||
0x66, 0x8f, 0x3b, 0xe1, 0xf4, 0x6b, 0x3f, 0x70, 0x55, 0x54, 0xb9, 0x11, 0xf5, 0xf7, 0x85, 0x6f,
|
||||
0x7f, 0xe3, 0x46, 0x37, 0x91, 0xe4, 0x61, 0xd1, 0xe0, 0x0a, 0x5a, 0x4f, 0xec, 0xa2, 0x34, 0x94,
|
||||
0x46, 0x18, 0x18, 0xa6, 0xfe, 0xec, 0xe7, 0xbe, 0x3c, 0xb7, 0x63, 0x46, 0x54, 0xbf, 0x11, 0xf5,
|
||||
0xc7, 0xc6, 0xf5, 0xd7, 0xbd, 0xff, 0xf0, 0xa5, 0x27, 0x22, 0xe8, 0x07, 0x81, 0xb4, 0x9e, 0xf0,
|
||||
0x5e, 0xbf, 0xd6, 0x00, 0x00, 0xf8, 0x85, 0x86, 0x4c, 0xe6, 0xe6, 0xaf, 0x7c, 0x3a, 0xaa, 0xe2,
|
||||
0x88, 0xfa, 0x63, 0x60, 0xc1, 0xbc, 0x39, 0x1f, 0xff, 0xd4, 0xe7, 0xb8, 0x08, 0x21, 0xfd, 0x09,
|
||||
0x3c, 0xb4, 0x1d, 0xbb, 0x0d, 0x28, 0xaf, 0x5a, 0x3e, 0xfb, 0xfc, 0x4b, 0xde, 0x72, 0xd1, 0x79,
|
||||
0x51, 0x45, 0x47, 0xd4, 0xdf, 0x1b, 0xdf, 0xfa, 0xe6, 0x17, 0xd2, 0xe9, 0x06, 0x78, 0x45, 0x00,
|
||||
0xd0, 0x0a, 0x7a, 0xe2, 0x0b, 0x9e, 0xba, 0xa2, 0xb5, 0xb6, 0x9c, 0xd8, 0x57, 0x6e, 0xba, 0xc9,
|
||||
0x8d, 0x47, 0x61, 0xfe, 0x88, 0xfa, 0x75, 0xb8, 0xe2, 0xd2, 0xb7, 0x9d, 0x7a, 0xfa, 0xf9, 0xda,
|
||||
0xeb, 0xd1, 0x50, 0x4a, 0xc9, 0x5a, 0x99, 0xe8, 0x2f, 0xa5, 0x95, 0x1c, 0x2e, 0xa6, 0x2e, 0xeb,
|
||||
0x4a, 0xdf, 0xcc, 0xd9, 0x0b, 0x6e, 0xfc, 0xd2, 0x0d, 0x51, 0x75, 0xd7, 0x20, 0x34, 0x08, 0x00,
|
||||
0x41, 0x03, 0x58, 0xbe, 0x7c, 0x39, 0x80, 0x52, 0xa9, 0x34, 0xa9, 0x4c, 0xd0, 0x90, 0x8c, 0x7f,
|
||||
0xfd, 0xa6, 0x4f, 0x99, 0x96, 0xa3, 0xab, 0x05, 0x10, 0x63, 0x4e, 0x1a, 0x00, 0x60, 0x01, 0x13,
|
||||
0x3b, 0xf1, 0x85, 0x30, 0x98, 0x77, 0xa4, 0xc3, 0x32, 0x05, 0x25, 0x68, 0xc9, 0x83, 0xfe, 0x2b,
|
||||
0xae, 0x7c, 0xff, 0xa3, 0x4f, 0xac, 0xdb, 0xb0, 0x61, 0xc3, 0xa0, 0xe7, 0x63, 0x93, 0xcb, 0xf7,
|
||||
0x69, 0x3c, 0x33, 0x62, 0x9f, 0xff, 0xf3, 0x0e, 0x01, 0x40, 0xa9, 0x10, 0xc0, 0xfb, 0x6e, 0xd9,
|
||||
0x03, 0x20, 0x08, 0x82, 0x49, 0x65, 0x0e, 0xc3, 0xa0, 0xd6, 0x34, 0x23, 0xbb, 0x05, 0x5a, 0xaa,
|
||||
0x4a, 0xaf, 0xca, 0xbf, 0xa2, 0x8a, 0x3b, 0xb4, 0x5f, 0x98, 0xe8, 0x5d, 0x22, 0x31, 0x06, 0x80,
|
||||
0x39, 0xcd, 0x14, 0x9f, 0xce, 0x62, 0xd3, 0xc8, 0x69, 0xd5, 0x95, 0x2e, 0x10, 0xef, 0x29, 0x50,
|
||||
0xa5, 0x52, 0x99, 0x6c, 0xa4, 0xaf, 0xe1, 0xf6, 0x8f, 0x77, 0x8c, 0x78, 0xfd, 0xfa, 0x0f, 0x3c,
|
||||
0xcf, 0x03, 0x90, 0x48, 0x24, 0x0e, 0xfd, 0xd6, 0x3f, 0x94, 0xaf, 0x61, 0x9a, 0x66, 0x22, 0xe1,
|
||||
0x40, 0x4b, 0xd9, 0xfd, 0x87, 0x70, 0xfb, 0xaf, 0xc3, 0xe2, 0x36, 0x66, 0x36, 0xc0, 0x6a, 0x64,
|
||||
0x4e, 0x3b, 0xf1, 0xd8, 0x28, 0x7f, 0x31, 0x51, 0x7c, 0xfd, 0x08, 0xf5, 0xa1, 0x2a, 0xdd, 0x41,
|
||||
0xee, 0x25, 0x78, 0x59, 0xc6, 0x14, 0x6b, 0x58, 0xca, 0xdb, 0x4f, 0x67, 0x0d, 0x4b, 0x5a, 0x9c,
|
||||
0x52, 0x2e, 0xc7, 0xc2, 0x10, 0x00, 0x88, 0x26, 0xaf, 0xe2, 0x15, 0x35, 0x7f, 0x5f, 0x83, 0x65,
|
||||
0x59, 0x00, 0xc2, 0x30, 0x3c, 0xe4, 0x5f, 0x5b, 0xd5, 0x92, 0x90, 0x99, 0x0c, 0xbd, 0x72, 0xcc,
|
||||
0x7b, 0xde, 0x7b, 0xf1, 0x56, 0x78, 0x7d, 0xbc, 0x7d, 0x85, 0x33, 0xfb, 0xed, 0x14, 0x6f, 0x45,
|
||||
0x75, 0x00, 0x32, 0x50, 0xb2, 0x0c, 0x48, 0x60, 0x82, 0xa6, 0xba, 0x4b, 0xc6, 0x6d, 0xf0, 0x63,
|
||||
0x20, 0x6c, 0x70, 0x5b, 0x66, 0x5f, 0x0d, 0xb6, 0xfd, 0xda, 0xdb, 0x7a, 0xad, 0x68, 0x3f, 0x8d,
|
||||
0x8e, 0xf8, 0x80, 0x4e, 0x34, 0x85, 0x7d, 0xfd, 0x5a, 0xca, 0xc9, 0xe6, 0xfb, 0xeb, 0xd9, 0x3e,
|
||||
0xca, 0xeb, 0x4f, 0x2e, 0x43, 0x90, 0xd6, 0x08, 0x93, 0xbb, 0xbe, 0x5f, 0xde, 0xf6, 0xa0, 0x35,
|
||||
0xef, 0x52, 0x63, 0xe6, 0x9b, 0x54, 0xd8, 0x1f, 0x6c, 0xbf, 0x27, 0xdc, 0x79, 0xbf, 0xcc, 0x6d,
|
||||
0x80, 0x56, 0x14, 0xd6, 0x82, 0x83, 0x13, 0x54, 0xf1, 0x6b, 0x2d, 0x08, 0xc4, 0x78, 0xac, 0x59,
|
||||
0x34, 0x1d, 0x46, 0x4d, 0x67, 0x5b, 0x8b, 0xae, 0xd3, 0xb2, 0x52, 0x5d, 0xfb, 0x05, 0x7e, 0xdf,
|
||||
0x59, 0xd6, 0xb1, 0x5f, 0xd1, 0x6d, 0x67, 0x07, 0xb9, 0x1c, 0x42, 0x7f, 0xd2, 0x86, 0x3a, 0x0e,
|
||||
0xfd, 0xdf, 0xd2, 0x62, 0x60, 0x0a, 0x6a, 0x34, 0x29, 0x24, 0x08, 0x1a, 0x61, 0x7c, 0xfd, 0xbb,
|
||||
0x55, 0x90, 0x8d, 0x9f, 0x71, 0x07, 0x64, 0xa1, 0xb2, 0xe6, 0x06, 0xb5, 0xf3, 0x41, 0x59, 0x29,
|
||||
0x68, 0xa3, 0x04, 0x15, 0xc0, 0x00, 0xab, 0xf7, 0xf7, 0x13, 0x25, 0xa1, 0xb5, 0x6e, 0x4d, 0x8a,
|
||||
0x92, 0x12, 0x12, 0xaa, 0xba, 0x3b, 0xec, 0x7f, 0x09, 0x5b, 0x7e, 0x4f, 0x22, 0x6e, 0x1d, 0xf6,
|
||||
0xde, 0xd8, 0x09, 0xdf, 0x44, 0x76, 0x8d, 0xb7, 0xfa, 0x43, 0x76, 0xc7, 0xa5, 0xea, 0xb0, 0xeb,
|
||||
0xc3, 0x12, 0xa3, 0x91, 0x79, 0x8c, 0xfa, 0xcb, 0xd0, 0x21, 0x9f, 0xc3, 0x7b, 0xe8, 0x53, 0x5f,
|
||||
0x2a, 0x29, 0x21, 0x99, 0xc9, 0x58, 0xc0, 0x40, 0xd0, 0x5a, 0x92, 0x99, 0xd6, 0xc1, 0x80, 0xfb,
|
||||
0xec, 0x55, 0x66, 0x6a, 0x96, 0x79, 0xc4, 0x77, 0x82, 0xad, 0x77, 0x54, 0x9f, 0xbb, 0x19, 0xe5,
|
||||
0x1e, 0xa5, 0xaa, 0xb0, 0x15, 0x08, 0xe0, 0x00, 0xed, 0xe5, 0xee, 0x69, 0xa2, 0x56, 0xaf, 0x96,
|
||||
0x1a, 0x15, 0x54, 0x7d, 0x8d, 0xde, 0xea, 0xfa, 0x9b, 0xfc, 0xcd, 0x3f, 0x4b, 0x9c, 0x7a, 0x9b,
|
||||
0x75, 0xf6, 0xfd, 0xde, 0xca, 0xb7, 0xc5, 0xb4, 0xce, 0x76, 0x7c, 0xc6, 0x50, 0x59, 0xad, 0x47,
|
||||
0x22, 0xb9, 0x5a, 0x68, 0xe9, 0x4b, 0x06, 0x76, 0xc8, 0x4b, 0x80, 0x31, 0xa8, 0x4f, 0x9c, 0x01,
|
||||
0x08, 0x43, 0x05, 0x80, 0x71, 0x53, 0xf3, 0x04, 0x00, 0x92, 0x05, 0x7d, 0x90, 0x54, 0x2f, 0x41,
|
||||
0x02, 0xa8, 0x3d, 0x06, 0x53, 0x0a, 0x61, 0x7e, 0xe8, 0x83, 0xfd, 0x87, 0xde, 0xc3, 0x20, 0xd4,
|
||||
0x5a, 0xc7, 0xda, 0x63, 0xe8, 0xc5, 0x00, 0x1b, 0x70, 0xa4, 0x63, 0x59, 0x2d, 0x20, 0x26, 0xd6,
|
||||
0xbf, 0x4b, 0xb8, 0xd3, 0xcd, 0x25, 0x5f, 0xae, 0xae, 0xfb, 0x78, 0x75, 0xfd, 0x1d, 0xcc, 0xce,
|
||||
0x92, 0x6d, 0x30, 0xcd, 0x46, 0xaf, 0xe4, 0x9b, 0xd8, 0xc1, 0xcd, 0xc1, 0x5e, 0xab, 0xf6, 0x12,
|
||||
0x16, 0x01, 0x00, 0xcb, 0xcb, 0xde, 0x67, 0x0b, 0xf7, 0xbc, 0xc1, 0x39, 0xf5, 0xbb, 0xd6, 0x8a,
|
||||
0x9f, 0x96, 0x1f, 0xba, 0x80, 0xfb, 0x09, 0x31, 0xff, 0xc3, 0xbe, 0xdf, 0x0f, 0xc0, 0x54, 0xc8,
|
||||
0xa1, 0x90, 0x52, 0x09, 0x34, 0x53, 0xae, 0xaf, 0x6c, 0x86, 0x66, 0x8d, 0xfd, 0xe3, 0xb5, 0x01,
|
||||
0xad, 0x39, 0x00, 0xce, 0x02, 0x00, 0x92, 0x4c, 0xcd, 0xdd, 0x21, 0x67, 0xe3, 0x1d, 0x9c, 0xf7,
|
||||
0xad, 0xaf, 0x3b, 0x61, 0xe9, 0xb0, 0x0a, 0x59, 0xc5, 0x50, 0xe0, 0xfe, 0x80, 0xa8, 0x1f, 0x4a,
|
||||
0x05, 0x80, 0xcc, 0x34, 0x00, 0xca, 0xad, 0x63, 0xc5, 0x8d, 0x00, 0x20, 0xe2, 0x06, 0x82, 0x51,
|
||||
0x86, 0xfd, 0xbb, 0x0d, 0x4d, 0x6a, 0x8f, 0x4e, 0x8c, 0x82, 0x42, 0x60, 0xcf, 0x40, 0x62, 0x31,
|
||||
0x44, 0x0a, 0x61, 0x6e, 0x7f, 0x3d, 0x3f, 0x05, 0x41, 0xe0, 0x17, 0xfd, 0xd4, 0x9c, 0x54, 0xea,
|
||||
0xe5, 0x54, 0xfe, 0xf1, 0x1e, 0xf5, 0x66, 0x05, 0x80, 0x88, 0xe3, 0xa5, 0x4f, 0x70, 0x06, 0xfb,
|
||||
0xe8, 0x9b, 0xaa, 0x6b, 0xaf, 0xaf, 0xae, 0xfb, 0x29, 0x8b, 0x97, 0x89, 0x0b, 0x60, 0x68, 0x86,
|
||||
0xe3, 0x10, 0x1a, 0xcd, 0xec, 0xfd, 0xa7, 0xd6, 0xcc, 0x21, 0x55, 0xda, 0x55, 0x7e, 0xe8, 0xaa,
|
||||
0xd8, 0xe9, 0xdf, 0x8f, 0x9d, 0x76, 0x97, 0xff, 0xd0, 0x79, 0x15, 0xf7, 0x64, 0xbb, 0xfd, 0x18,
|
||||
0xdf, 0xef, 0x23, 0x70, 0x0d, 0x45, 0x0f, 0x20, 0x39, 0xcd, 0xd5, 0xcb, 0x45, 0xcf, 0x8e, 0x1e,
|
||||
0xd7, 0x70, 0x39, 0xdf, 0x87, 0xbf, 0xa3, 0x1a, 0xef, 0x15, 0x6f, 0xd4, 0xa4, 0x79, 0xdf, 0x2a,
|
||||
0x54, 0xbb, 0x00, 0x18, 0xc2, 0x38, 0x48, 0x83, 0x9b, 0x11, 0x59, 0x6b, 0x89, 0x72, 0x8e, 0x1d,
|
||||
0xc6, 0x9b, 0x96, 0x02, 0x80, 0x97, 0x3d, 0x20, 0xea, 0x6b, 0xad, 0x39, 0xe7, 0x8a, 0x27, 0x91,
|
||||
0x7f, 0x91, 0xf5, 0xaf, 0x4a, 0x3a, 0x8c, 0xc5, 0x92, 0xaa, 0xda, 0xcb, 0x2c, 0x46, 0xfa, 0xe0,
|
||||
0xb4, 0x66, 0xd2, 0x43, 0x55, 0xc8, 0x95, 0x52, 0x2f, 0x0f, 0xec, 0x5a, 0x07, 0x67, 0x36, 0x5a,
|
||||
0xce, 0x27, 0x54, 0xb5, 0x2c, 0x8f, 0xf7, 0xad, 0x20, 0x08, 0x8a, 0xc5, 0x62, 0x53, 0x47, 0x53,
|
||||
0x7c, 0x6b, 0x9c, 0xdd, 0xcc, 0xc4, 0x14, 0xd3, 0x2f, 0xfa, 0x96, 0x6c, 0x45, 0x75, 0x0d, 0xba,
|
||||
0xee, 0x73, 0xce, 0xb9, 0x27, 0xd8, 0xf6, 0x8b, 0xea, 0xba, 0xff, 0x65, 0xf1, 0x32, 0xbd, 0xa6,
|
||||
0x76, 0x09, 0xe1, 0x6b, 0xf8, 0x43, 0x7b, 0x91, 0x89, 0xfe, 0xdc, 0xce, 0x41, 0xef, 0x9f, 0xac,
|
||||
0xfa, 0xcf, 0xbd, 0x92, 0x1e, 0x75, 0x50, 0xef, 0xfd, 0xa1, 0x26, 0x01, 0x02, 0xc5, 0x85, 0x2e,
|
||||
0x75, 0x97, 0x1f, 0xba, 0x2a, 0x79, 0xe9, 0x0e, 0x77, 0xe1, 0x0d, 0x6a, 0xcb, 0xe7, 0x0b, 0xee,
|
||||
0xdd, 0x8e, 0x63, 0x42, 0xca, 0x3c, 0x4a, 0x0d, 0x5b, 0x53, 0xec, 0x77, 0x2c, 0xdd, 0x92, 0xd6,
|
||||
0x0b, 0x74, 0xef, 0xce, 0x5e, 0x17, 0x2e, 0x63, 0x0c, 0x34, 0xc6, 0xdd, 0x38, 0x0b, 0x14, 0x8f,
|
||||
0x03, 0x96, 0xec, 0x7a, 0x20, 0x1d, 0xbe, 0x44, 0x86, 0xcd, 0x62, 0x49, 0x00, 0x84, 0xea, 0x41,
|
||||
0xe2, 0xc9, 0x88, 0x0a, 0x50, 0xc2, 0x49, 0x55, 0xd6, 0xc9, 0x6d, 0x8f, 0x17, 0xec, 0x65, 0x68,
|
||||
0x3c, 0x41, 0xa0, 0x08, 0x19, 0xec, 0x8b, 0xfa, 0x35, 0xde, 0x07, 0xcc, 0x65, 0x3b, 0x7f, 0x96,
|
||||
0x76, 0xfa, 0x83, 0x74, 0x23, 0xab, 0xf6, 0xa9, 0x9e, 0x27, 0x82, 0xdd, 0x0f, 0x6b, 0x2f, 0x4b,
|
||||
0x5c, 0x1e, 0xa4, 0x57, 0x02, 0x00, 0xb2, 0x9a, 0x78, 0x6a, 0x01, 0x25, 0x97, 0x36, 0x66, 0xa6,
|
||||
0x4b, 0x6f, 0xd7, 0xc0, 0xf6, 0xff, 0xac, 0xb6, 0xbc, 0xdd, 0x89, 0xa5, 0x55, 0x30, 0xb0, 0x77,
|
||||
0x05, 0x43, 0x87, 0x61, 0x58, 0x2a, 0x95, 0x52, 0xb3, 0x1b, 0xdd, 0x6d, 0x2e, 0x7d, 0x57, 0x61,
|
||||
0x00, 0x72, 0x81, 0xef, 0xe5, 0x3d, 0x87, 0xdb, 0xe8, 0xfc, 0x1a, 0x66, 0x5e, 0xad, 0xb5, 0xae,
|
||||
0x3c, 0x7d, 0x03, 0x73, 0xca, 0xc4, 0xf7, 0xc9, 0x5d, 0xc2, 0x01, 0xe8, 0x7d, 0xfd, 0x27, 0xb5,
|
||||
0x01, 0xda, 0x57, 0x1b, 0xd0, 0x07, 0xf6, 0x5d, 0x3d, 0xd6, 0xd7, 0xf4, 0x18, 0x67, 0xeb, 0xb1,
|
||||
0x6e, 0xcc, 0xa8, 0xc6, 0xfe, 0xea, 0xe3, 0x6f, 0xb6, 0x4f, 0xfc, 0x79, 0x6c, 0xe3, 0xff, 0xab,
|
||||
0xf6, 0xfe, 0xb2, 0xdc, 0xf8, 0x66, 0x33, 0xd7, 0xa7, 0xa0, 0x72, 0x8d, 0x85, 0x74, 0x3e, 0xc1,
|
||||
0xbe, 0x1d, 0x34, 0x7c, 0xa0, 0x01, 0x0b, 0xd0, 0xbb, 0xb3, 0xd7, 0x55, 0xae, 0x61, 0xbd, 0xc6,
|
||||
0x91, 0x6b, 0xa5, 0x84, 0xab, 0xc3, 0x40, 0xee, 0xfa, 0x49, 0x43, 0x2c, 0x34, 0xe2, 0x19, 0x99,
|
||||
0xdf, 0x1a, 0x76, 0xaf, 0x0e, 0xbb, 0xff, 0x48, 0xba, 0xf7, 0x20, 0xf2, 0x04, 0x80, 0x76, 0xa6,
|
||||
0x23, 0x7d, 0xac, 0x68, 0x98, 0x6b, 0x26, 0xda, 0x53, 0xc5, 0x3f, 0xe6, 0x76, 0x6d, 0x0a, 0xa7,
|
||||
0x5d, 0x2e, 0x78, 0x69, 0x2f, 0x25, 0x26, 0xf6, 0xea, 0xc1, 0xa4, 0x68, 0xd0, 0x5b, 0x6e, 0x4b,
|
||||
0x27, 0xaa, 0x46, 0xe3, 0xe2, 0xd2, 0xaa, 0xaf, 0x85, 0xdd, 0x4f, 0x81, 0xf9, 0xc4, 0xca, 0x80,
|
||||
0x44, 0xb8, 0x7f, 0x1a, 0xe8, 0x3a, 0xbd, 0x45, 0x07, 0x14, 0x22, 0xd0, 0xe3, 0x5c, 0x53, 0xef,
|
||||
0x1d, 0x5c, 0xf1, 0xfb, 0xd5, 0xc0, 0xd6, 0x30, 0x5c, 0xc9, 0x63, 0x53, 0x63, 0xc7, 0x7d, 0xb8,
|
||||
0xa1, 0xb5, 0xb9, 0x7b, 0xeb, 0x2d, 0xc1, 0x9c, 0xeb, 0xb4, 0x68, 0x40, 0xd0, 0xcf, 0x01, 0x62,
|
||||
0x04, 0x40, 0x49, 0x2d, 0xfd, 0xb0, 0x32, 0x50, 0x69, 0x9c, 0xde, 0x98, 0xd8, 0x94, 0xd0, 0xdf,
|
||||
0x09, 0x8d, 0xdd, 0x46, 0x6e, 0x5a, 0xff, 0x86, 0xd8, 0xf6, 0x86, 0xec, 0xec, 0x29, 0xc6, 0x3a,
|
||||
0xd9, 0xeb, 0x59, 0x47, 0xbd, 0xd3, 0x5b, 0xf3, 0x11, 0x2a, 0x66, 0x91, 0xe0, 0x7f, 0x92, 0x5e,
|
||||
0x18, 0x37, 0xd6, 0x49, 0x38, 0x30, 0x6f, 0x3d, 0x4a, 0x76, 0x1e, 0xb8, 0x87, 0xa7, 0xfd, 0x35,
|
||||
0x8f, 0xf1, 0xda, 0x9c, 0x1e, 0xcb, 0x5b, 0x43, 0x29, 0x00, 0xe4, 0x70, 0xef, 0x95, 0x07, 0x8c,
|
||||
0x86, 0x67, 0xcc, 0x69, 0x9f, 0x6c, 0x78, 0xe5, 0x5b, 0xd5, 0xcc, 0xc5, 0xe1, 0x6e, 0xa6, 0x35,
|
||||
0xdf, 0xe3, 0xf6, 0xd3, 0x74, 0x6a, 0xed, 0x6a, 0xc7, 0xcd, 0x81, 0x71, 0x8d, 0xd1, 0xd4, 0xd1,
|
||||
0xd4, 0xd7, 0xd9, 0x67, 0x49, 0xcb, 0x76, 0x6c, 0x00, 0x34, 0x2c, 0x74, 0x79, 0xbc, 0x1c, 0x48,
|
||||
0x7b, 0xfb, 0xb7, 0x9b, 0xda, 0xe7, 0x71, 0x46, 0xe5, 0xd5, 0x5f, 0x0b, 0x07, 0x36, 0x10, 0x0b,
|
||||
0xc1, 0x3c, 0xc6, 0x82, 0xbf, 0xc1, 0x78, 0x49, 0xef, 0x9f, 0x7b, 0xc3, 0xe7, 0x78, 0x59, 0xd9,
|
||||
0xfb, 0x6a, 0xa8, 0x4d, 0xa3, 0xf5, 0x68, 0xe7, 0xe8, 0xeb, 0x44, 0x75, 0x4f, 0xcf, 0xc6, 0xff,
|
||||
0x50, 0xf3, 0xaf, 0xd5, 0x72, 0x14, 0x83, 0x47, 0x6d, 0x46, 0x72, 0xec, 0x1b, 0xbf, 0x6c, 0x74,
|
||||
0xfe, 0x3a, 0x65, 0xf7, 0x0a, 0xb7, 0xb5, 0xf2, 0xc0, 0x35, 0x18, 0x78, 0x89, 0xec, 0x32, 0x63,
|
||||
0x01, 0x11, 0x88, 0x31, 0xd0, 0xd8, 0x45, 0xa3, 0xee, 0xdf, 0x91, 0x47, 0x64, 0xf5, 0x5f, 0xa9,
|
||||
0x3f, 0x67, 0xf4, 0xa5, 0x68, 0x9c, 0xcb, 0xd6, 0x1d, 0x67, 0x0c, 0xb5, 0x3e, 0x97, 0x49, 0x12,
|
||||
0x9e, 0x0e, 0xfa, 0xfd, 0x4d, 0x8f, 0x9b, 0x8d, 0x0b, 0xe3, 0x53, 0x17, 0x95, 0x76, 0x3e, 0x8c,
|
||||
0xcc, 0x49, 0x90, 0x65, 0xce, 0x08, 0x80, 0x56, 0x3a, 0xf0, 0xfc, 0x52, 0x77, 0x29, 0xd1, 0x94,
|
||||
0x48, 0x67, 0xd3, 0xd5, 0xff, 0xa8, 0xc6, 0x3a, 0xad, 0xfc, 0x94, 0xfc, 0x73, 0xa9, 0x97, 0xb4,
|
||||
0x8b, 0x8e, 0x53, 0x66, 0x8b, 0x1d, 0xf7, 0xf1, 0xf8, 0x22, 0xd6, 0xd4, 0x51, 0x79, 0xf2, 0x6a,
|
||||
0x58, 0x12, 0x8c, 0xc6, 0xb4, 0x23, 0x41, 0x79, 0x21, 0xb6, 0xf5, 0xb8, 0xb6, 0x11, 0x9a, 0xa2,
|
||||
0xa6, 0xb7, 0x06, 0x4f, 0x2b, 0x7a, 0x66, 0xb6, 0xe4, 0x94, 0x3c, 0x73, 0xb8, 0x68, 0xb0, 0x72,
|
||||
0xd5, 0xec, 0x2b, 0x3a, 0xae, 0x13, 0x30, 0x1a, 0x8a, 0x0c, 0x69, 0xec, 0xce, 0x26, 0x8a, 0x15,
|
||||
0xcb, 0x12, 0x6a, 0xa0, 0x64, 0x17, 0x2a, 0x56, 0xa9, 0x6a, 0x96, 0xaa, 0x66, 0xc9, 0x33, 0x2b,
|
||||
0xbe, 0x61, 0x09, 0x59, 0x0e, 0xc4, 0xce, 0x7e, 0x37, 0xe1, 0x04, 0x7c, 0x44, 0xcf, 0x8d, 0x81,
|
||||
0x62, 0xd5, 0xdc, 0xd6, 0x9d, 0x70, 0xcc, 0xd0, 0x10, 0xaa, 0x66, 0xdb, 0xb2, 0x6f, 0x64, 0x8b,
|
||||
0x76, 0xd1, 0xb3, 0x4a, 0x9e, 0x51, 0xf6, 0x0c, 0xce, 0x95, 0xe0, 0x7a, 0x34, 0xb1, 0x69, 0x57,
|
||||
0xbf, 0xfb, 0xc2, 0x8e, 0x54, 0x57, 0xce, 0x8e, 0x59, 0x15, 0xdb, 0xc4, 0xd8, 0x23, 0x34, 0x02,
|
||||
0xfc, 0x50, 0x2b, 0xdf, 0x9a, 0xfa, 0x3e, 0xdd, 0xf9, 0x6c, 0x6c, 0xe1, 0x3c, 0x65, 0xa7, 0xf4,
|
||||
0x63, 0x41, 0x37, 0x7a, 0x73, 0xa9, 0x62, 0xc6, 0x4c, 0x7b, 0x55, 0xcf, 0x7f, 0xca, 0x37, 0x63,
|
||||
0x26, 0xeb, 0x60, 0xa5, 0x7c, 0x09, 0x80, 0x30, 0x04, 0x0d, 0xeb, 0x3f, 0x33, 0xc5, 0xb6, 0x7c,
|
||||
0xbd, 0xb1, 0xbd, 0x43, 0x97, 0xba, 0x2b, 0x2b, 0x3f, 0xa9, 0xaa, 0x5b, 0x99, 0x55, 0x25, 0x1e,
|
||||
0x32, 0x36, 0xd8, 0xb4, 0xea, 0xef, 0x43, 0x00, 0x0d, 0x59, 0x66, 0xd8, 0x3e, 0xf5, 0xf1, 0xd8,
|
||||
0xfa, 0xe3, 0x1a, 0x63, 0xa4, 0x5d, 0x8f, 0xb7, 0x8f, 0x90, 0x56, 0x75, 0xe7, 0xd4, 0x1d, 0x25,
|
||||
0xee, 0x13, 0xaf, 0xa8, 0xfc, 0x6e, 0x7f, 0xcb, 0xfd, 0x76, 0xc7, 0x99, 0x8e, 0x2d, 0x4a, 0x9d,
|
||||
0xcf, 0xb1, 0xc6, 0x13, 0xd6, 0xdc, 0xfd, 0xb9, 0xb1, 0xbd, 0x3e, 0xcf, 0xaf, 0xe7, 0xf9, 0xe7,
|
||||
0xcc, 0xf9, 0xcb, 0x4b, 0x77, 0xbf, 0x43, 0x97, 0xbb, 0x28, 0xc9, 0xa1, 0x68, 0xcc, 0x36, 0xa6,
|
||||
0x14, 0xd5, 0x8d, 0xfb, 0xf5, 0x18, 0xd1, 0x85, 0x61, 0xba, 0xe8, 0xda, 0x83, 0xeb, 0x03, 0xf0,
|
||||
0x04, 0x34, 0xe2, 0x96, 0xd8, 0x38, 0xce, 0x95, 0x34, 0x19, 0x0a, 0xbc, 0xbf, 0xb4, 0xea, 0x4b,
|
||||
0xee, 0xeb, 0xbf, 0xd9, 0xd8, 0x98, 0xee, 0xdb, 0xf9, 0x23, 0x4c, 0xbd, 0x14, 0x32, 0xab, 0x95,
|
||||
0xf6, 0xab, 0x7e, 0x21, 0x5b, 0x48, 0x64, 0x12, 0x2d, 0x53, 0x5b, 0xa8, 0x9b, 0x8c, 0xcb, 0x8c,
|
||||
0xde, 0xdf, 0xf4, 0x3e, 0x5b, 0x78, 0x9e, 0x31, 0x3e, 0xe7, 0x84, 0x39, 0xf1, 0x16, 0x43, 0xdb,
|
||||
0x73, 0x98, 0xbb, 0x30, 0x78, 0xf5, 0x0e, 0x78, 0x45, 0x38, 0x62, 0x1f, 0x6e, 0xb6, 0x2b, 0x6b,
|
||||
0x2f, 0xbd, 0xb1, 0xfd, 0xd1, 0x0f, 0xf5, 0x2d, 0x9d, 0xdd, 0x3f, 0x7c, 0xb8, 0xe4, 0x99, 0x1f,
|
||||
0xfd, 0xd1, 0xd4, 0x1f, 0x3f, 0x6a, 0xa3, 0x81, 0x0d, 0x7b, 0xfa, 0x6b, 0x4f, 0x28, 0xcf, 0x6b,
|
||||
0x0d, 0x6f, 0x7d, 0xdc, 0xfa, 0xcd, 0x87, 0xc3, 0xc6, 0x44, 0x65, 0xf0, 0xcc, 0xaa, 0xf5, 0xf1,
|
||||
0xff, 0x6d, 0x9b, 0xd3, 0x2c, 0x5f, 0x37, 0xaf, 0x7c, 0xf1, 0x77, 0x93, 0x30, 0x39, 0x38, 0xd5,
|
||||
0x6a, 0x68, 0x7a, 0x5a, 0xdd, 0xf9, 0xde, 0xae, 0xce, 0xac, 0x79, 0xd5, 0x8f, 0x13, 0xab, 0x3e,
|
||||
0x1e, 0xb6, 0xa4, 0xca, 0xaf, 0xd5, 0x26, 0xb5, 0x23, 0xdb, 0x7b, 0x13, 0xdf, 0xb8, 0xa7, 0xf1,
|
||||
0xb6, 0xfb, 0xcc, 0xbb, 0x3f, 0x65, 0x2e, 0x5f, 0xd8, 0x05, 0xa0, 0x1a, 0x88, 0x2f, 0xdf, 0x39,
|
||||
0xed, 0x96, 0xbb, 0x2c, 0x24, 0x09, 0x80, 0x9d, 0x54, 0x77, 0x5c, 0xd9, 0x7f, 0xd2, 0x82, 0x1e,
|
||||
0x62, 0x83, 0x2e, 0x4f, 0x6b, 0xfc, 0xe1, 0xd5, 0xe6, 0x73, 0xbf, 0x90, 0x82, 0x02, 0xa0, 0xdf,
|
||||
0x72, 0x4a, 0xfc, 0xa6, 0x4b, 0x77, 0x34, 0xa7, 0xc6, 0xee, 0x5c, 0x28, 0xc6, 0x83, 0xde, 0x7b,
|
||||
0x94, 0xb7, 0x87, 0xc7, 0xce, 0x65, 0x2c, 0xb4, 0x3b, 0xec, 0xf8, 0x1c, 0x77, 0x51, 0xf3, 0xe1,
|
||||
0xbc, 0xc3, 0x70, 0x4a, 0x96, 0x96, 0x1a, 0x12, 0x6a, 0x8f, 0x8a, 0x3d, 0x17, 0x93, 0x87, 0xcb,
|
||||
0x52, 0xbe, 0x24, 0x84, 0x30, 0x4c, 0x13, 0x00, 0x59, 0x0d, 0x72, 0xcf, 0x5d, 0x0d, 0x0d, 0x4d,
|
||||
0x5c, 0xd8, 0xc5, 0x27, 0x3e, 0xaf, 0x29, 0x47, 0x96, 0x1e, 0x21, 0x0a, 0x8d, 0x9e, 0x60, 0x78,
|
||||
0xcd, 0xad, 0xb5, 0xdc, 0x57, 0x94, 0x64, 0xcc, 0x58, 0xc3, 0x98, 0x8c, 0xd1, 0x12, 0x8c, 0xa0,
|
||||
0xe8, 0x35, 0x27, 0x0d, 0x3f, 0x88, 0x1d, 0x68, 0xbf, 0xab, 0xf8, 0xd0, 0xc7, 0x92, 0x17, 0xfc,
|
||||
0x30, 0x53, 0x5a, 0x97, 0xed, 0x59, 0x39, 0xae, 0xe0, 0x11, 0x5d, 0xf7, 0xca, 0xc4, 0xa2, 0xdc,
|
||||
0xea, 0x9b, 0x79, 0xb9, 0x0b, 0x49, 0x0e, 0x36, 0x94, 0xfc, 0xa7, 0xc3, 0xbd, 0xee, 0xcd, 0xeb,
|
||||
0xea, 0x6a, 0xcc, 0xa6, 0x31, 0xea, 0x9d, 0xf5, 0xe8, 0x73, 0x0e, 0x40, 0x17, 0x0c, 0xaf, 0x2c,
|
||||
0xdd, 0xbb, 0x4b, 0x13, 0x7c, 0x30, 0xee, 0x6e, 0x0e, 0x14, 0x1f, 0xf9, 0x58, 0xf2, 0xdc, 0xef,
|
||||
0x35, 0x94, 0xd7, 0x67, 0xc3, 0x1c, 0xe3, 0xcc, 0xf3, 0xbd, 0x52, 0xa1, 0x14, 0x73, 0x92, 0xed,
|
||||
0xb3, 0xda, 0x82, 0xbb, 0x82, 0xd5, 0x37, 0xaf, 0x3e, 0xea, 0x8b, 0x47, 0xe5, 0x57, 0x94, 0xaa,
|
||||
0xbf, 0xf1, 0x16, 0x9d, 0xbf, 0xa8, 0x69, 0x71, 0x13, 0x71, 0x22, 0x77, 0x11, 0x98, 0x29, 0x3b,
|
||||
0x9f, 0x81, 0xd8, 0x4f, 0x47, 0x1c, 0x6a, 0x86, 0x6e, 0x94, 0x3c, 0x3e, 0xd8, 0x72, 0x49, 0x03,
|
||||
0xe4, 0xf9, 0xfc, 0xc7, 0xeb, 0x8c, 0xeb, 0xdf, 0x54, 0x3d, 0x73, 0xb1, 0x5f, 0x7b, 0x4c, 0x05,
|
||||
0xb4, 0x24, 0xca, 0xc5, 0x0a, 0x5b, 0x7f, 0x6b, 0x7c, 0xed, 0x96, 0xe4, 0x19, 0x8b, 0x2b, 0xb5,
|
||||
0x2a, 0xdf, 0xb0, 0xc7, 0xbd, 0x73, 0x35, 0xfb, 0x9f, 0x6b, 0x4b, 0x2f, 0xed, 0x36, 0xa1, 0x70,
|
||||
0xe7, 0x3f, 0xe7, 0x13, 0xf6, 0xe0, 0xcb, 0x08, 0xae, 0xa6, 0x64, 0xca, 0xdb, 0x7b, 0xac, 0xae,
|
||||
0xad, 0xcc, 0x0f, 0x87, 0xae, 0xff, 0x1a, 0x33, 0xfa, 0x92, 0x7d, 0xef, 0xa1, 0x86, 0xdb, 0xee,
|
||||
0x33, 0x00, 0x56, 0xf6, 0x06, 0x5b, 0x9a, 0x1f, 0xf2, 0x5b, 0x9e, 0xb2, 0xde, 0x7e, 0x2a, 0xfd,
|
||||
0xd3, 0x49, 0x39, 0x83, 0xc3, 0x10, 0x6a, 0x5e, 0x5b, 0x81, 0x31, 0xad, 0x87, 0xbe, 0x9f, 0x2f,
|
||||
0xd9, 0x9f, 0xbe, 0x23, 0xb9, 0x7c, 0x89, 0xbc, 0xf9, 0xb2, 0xde, 0xdd, 0x59, 0xeb, 0x8d, 0x5f,
|
||||
0x4a, 0x9e, 0x34, 0xaf, 0xed, 0xaa, 0x33, 0x3a, 0xc7, 0x66, 0x1a, 0x33, 0xb5, 0xac, 0x84, 0xfd,
|
||||
0x0f, 0x9b, 0xd6, 0xdb, 0x65, 0xd8, 0xef, 0x55, 0x3c, 0xfb, 0xa4, 0x38, 0x15, 0x69, 0xd7, 0x47,
|
||||
0x37, 0x6f, 0xcd, 0x55, 0xfc, 0x2e, 0xdf, 0x5d, 0xec, 0xce, 0xf8, 0xe0, 0x8c, 0x38, 0x8b, 0xab,
|
||||
0x67, 0x95, 0xb1, 0xcc, 0xc8, 0xf5, 0xe5, 0x52, 0x29, 0x49, 0xc2, 0xa9, 0x96, 0xcb, 0x76, 0xe9,
|
||||
0x79, 0xab, 0xe3, 0xb8, 0xc2, 0xca, 0x7f, 0xd6, 0x94, 0x83, 0x29, 0x86, 0x03, 0x03, 0x9a, 0x74,
|
||||
0xbd, 0xd7, 0x52, 0x0a, 0xf1, 0x38, 0x00, 0x94, 0xca, 0x60, 0x0c, 0x5a, 0xc1, 0x8a, 0x61, 0x30,
|
||||
0xac, 0xc0, 0x51, 0x8b, 0x9b, 0x84, 0x01, 0x02, 0x09, 0x00, 0xb6, 0x00, 0x04, 0x10, 0x82, 0x9c,
|
||||
0x21, 0x79, 0xe8, 0x03, 0x01, 0xc8, 0x46, 0xa5, 0x3c, 0x5a, 0x0d, 0x2b, 0x70, 0x03, 0x66, 0x12,
|
||||
0xc4, 0xe0, 0x17, 0x31, 0x94, 0x8f, 0x34, 0x5a, 0x21, 0xd7, 0xae, 0x61, 0x91, 0xcc, 0xf6, 0x94,
|
||||
0x9f, 0xbe, 0xc5, 0x39, 0xf6, 0x83, 0xa9, 0xad, 0xf7, 0x8e, 0x4b, 0x7d, 0x2b, 0x93, 0x02, 0x1b,
|
||||
0xf0, 0xb6, 0x3d, 0x48, 0x09, 0xa6, 0xd5, 0x70, 0xd2, 0xeb, 0x70, 0x64, 0x0c, 0x5a, 0x83, 0x0d,
|
||||
0x39, 0x74, 0x25, 0x51, 0xdb, 0x9c, 0xb3, 0xa6, 0x4d, 0x06, 0xdb, 0x03, 0x06, 0x0f, 0x6a, 0x35,
|
||||
0xf2, 0x29, 0x23, 0x28, 0x0d, 0xfe, 0x1a, 0xf3, 0x2b, 0x0d, 0x5d, 0x77, 0x7c, 0xaf, 0x7f, 0x01,
|
||||
0x04, 0x0a, 0x5a, 0xc3, 0x14, 0x43, 0x6d, 0x80, 0x46, 0xa2, 0x3d, 0x64, 0x31, 0x55, 0xde, 0x13,
|
||||
0x6c, 0x5d, 0x65, 0x4f, 0x99, 0xa7, 0xfb, 0x1f, 0x91, 0x53, 0xcf, 0x28, 0xf6, 0x05, 0xc9, 0xa9,
|
||||
0xcd, 0xf6, 0xbd, 0x4c, 0x66, 0x65, 0xbe, 0x92, 0x2f, 0x3f, 0x59, 0xf6, 0xb6, 0x7a, 0x74, 0x8c,
|
||||
0xd5, 0x7a, 0xca, 0x8c, 0xd4, 0xb4, 0x86, 0x18, 0x8f, 0xc1, 0xf3, 0x90, 0x1b, 0x00, 0x80, 0xd2,
|
||||
0x5a, 0x08, 0x31, 0x44, 0xdd, 0x7d, 0x75, 0x40, 0xf5, 0xd1, 0x9d, 0xc1, 0xbf, 0x0d, 0x1c, 0x3f,
|
||||
0xa7, 0x7c, 0xc2, 0xbc, 0xae, 0x61, 0xfb, 0x12, 0x51, 0xa1, 0x62, 0x2f, 0x3f, 0x5a, 0x7f, 0x7f,
|
||||
0xa5, 0x7b, 0xc2, 0x82, 0x7e, 0xd7, 0x0a, 0x94, 0xa2, 0x95, 0x2f, 0xc5, 0xd0, 0xaa, 0x8e, 0x9b,
|
||||
0x97, 0xdb, 0xdc, 0xdd, 0xb4, 0x68, 0xba, 0x3e, 0x61, 0x5e, 0xb7, 0x6b, 0x07, 0x75, 0x5f, 0x19,
|
||||
0xa3, 0x92, 0xf6, 0x82, 0xc1, 0xd4, 0xfb, 0xce, 0xea, 0x7b, 0xc3, 0x31, 0xf6, 0x69, 0x9f, 0xca,
|
||||
0x0c, 0x3f, 0x4c, 0xd5, 0xe7, 0xe8, 0xa5, 0x63, 0x3b, 0x68, 0xc1, 0x94, 0x9c, 0x29, 0x54, 0xc2,
|
||||
0xf1, 0x0c, 0x2e, 0xeb, 0x9b, 0xcd, 0xee, 0xac, 0xfb, 0xd4, 0x73, 0xc6, 0xaf, 0xff, 0xad, 0x7f,
|
||||
0xc1, 0xb4, 0xfc, 0xec, 0x56, 0xbc, 0x75, 0x79, 0xec, 0x81, 0x17, 0xac, 0x2b, 0x56, 0xc0, 0x32,
|
||||
0xea, 0xef, 0x55, 0x3f, 0xca, 0xf0, 0x54, 0xe1, 0x65, 0x34, 0x03, 0xeb, 0x2b, 0xc1, 0xe2, 0x46,
|
||||
0x30, 0x16, 0xf6, 0x15, 0x77, 0xdd, 0xd9, 0x69, 0xcf, 0xb7, 0x1b, 0x96, 0x35, 0xec, 0xf9, 0xed,
|
||||
0x9e, 0xde, 0x07, 0x7a, 0x97, 0xfe, 0xfe, 0xc8, 0x54, 0x31, 0x96, 0xfd, 0x43, 0x98, 0x3e, 0x35,
|
||||
0x99, 0xed, 0xd2, 0x89, 0x66, 0x27, 0x56, 0x7c, 0x88, 0x92, 0x33, 0xc3, 0xce, 0x35, 0x61, 0xd7,
|
||||
0x0e, 0xd1, 0xc0, 0xb5, 0x0a, 0x47, 0xfc, 0xe0, 0x50, 0x05, 0x69, 0x0d, 0x0d, 0x30, 0x8e, 0x4a,
|
||||
0x75, 0x38, 0x68, 0x0e, 0x00, 0x95, 0xf2, 0x28, 0xb6, 0xc8, 0x21, 0x1f, 0xa7, 0x34, 0x4a, 0x3e,
|
||||
0x28, 0x00, 0x23, 0xa8, 0xfc, 0x68, 0xb6, 0x94, 0x41, 0x35, 0x5e, 0x0d, 0xd1, 0x4f, 0x03, 0xbe,
|
||||
0x0f, 0xdf, 0x87, 0xe0, 0x23, 0xf6, 0xd4, 0x1a, 0x52, 0x43, 0x8c, 0x9a, 0x9b, 0x21, 0x68, 0xf0,
|
||||
0x14, 0x0f, 0xb6, 0xac, 0xb4, 0x17, 0x5c, 0x62, 0x26, 0xa7, 0x8e, 0x4b, 0x7d, 0x16, 0x6f, 0x91,
|
||||
0x9d, 0x4f, 0x41, 0x56, 0x35, 0x19, 0x7b, 0xbb, 0x5c, 0xc2, 0xae, 0x3e, 0xbc, 0xb8, 0x33, 0x71,
|
||||
0xe6, 0x91, 0x05, 0x46, 0xf0, 0x7c, 0xfc, 0xe4, 0xd1, 0xcc, 0xa6, 0x4e, 0x01, 0x20, 0x93, 0xd0,
|
||||
0xc7, 0xce, 0x29, 0xa5, 0xe3, 0xfe, 0x51, 0xb3, 0x43, 0xad, 0xb1, 0x66, 0xa3, 0x19, 0x84, 0xec,
|
||||
0xd9, 0x6d, 0xf1, 0x9d, 0xbd, 0x1c, 0xc0, 0xb4, 0x46, 0x79, 0xee, 0xd1, 0x7d, 0xab, 0x5f, 0x4d,
|
||||
0x5f, 0x7c, 0xe2, 0x40, 0xfd, 0xa6, 0xa7, 0x55, 0x1f, 0xbf, 0x5f, 0x9f, 0xe8, 0x1a, 0x30, 0xde,
|
||||
0x79, 0x7a, 0x3f, 0x67, 0xd0, 0x1a, 0x7f, 0x78, 0xd9, 0xfc, 0xe3, 0xe6, 0xf8, 0x35, 0xe7, 0x66,
|
||||
0x4d, 0x01, 0x0d, 0x6c, 0xda, 0x83, 0xaf, 0xdd, 0x99, 0x0e, 0xc2, 0xf0, 0x43, 0x6f, 0x28, 0x2e,
|
||||
0x9a, 0xf1, 0x9a, 0xbe, 0x45, 0x6b, 0x00, 0xc1, 0x8e, 0xdf, 0x5a, 0xd3, 0x3e, 0x1a, 0xe4, 0x37,
|
||||
0x05, 0xa9, 0x93, 0x9b, 0x3a, 0x9a, 0xe3, 0xaf, 0x18, 0xfd, 0x77, 0xf7, 0xc7, 0xde, 0xed, 0xa8,
|
||||
0x94, 0x42, 0x08, 0x1d, 0xea, 0x74, 0x63, 0x52, 0x4f, 0xd1, 0xd4, 0xc8, 0x48, 0x13, 0xee, 0x7c,
|
||||
0x1e, 0xd5, 0x10, 0xcb, 0xa6, 0x87, 0x5b, 0x36, 0xc2, 0xa0, 0x03, 0xe8, 0x7a, 0xc6, 0x8a, 0x70,
|
||||
0x06, 0xb8, 0x7b, 0x5d, 0x62, 0xf7, 0x80, 0x3b, 0x34, 0xa0, 0x91, 0x2b, 0x16, 0x66, 0xa7, 0x35,
|
||||
0x16, 0x2e, 0x7f, 0x5d, 0xf9, 0x3d, 0xb7, 0xbb, 0x9f, 0xee, 0x4d, 0x2c, 0x9c, 0xda, 0x3f, 0x50,
|
||||
0xb2, 0xbf, 0xb3, 0xca, 0xba, 0xe1, 0x64, 0xaf, 0xa6, 0x7f, 0x9e, 0xdf, 0xcc, 0x7e, 0xf2, 0xd8,
|
||||
0x8c, 0x9a, 0xe6, 0x96, 0x1a, 0x1d, 0xcd, 0x95, 0x53, 0x16, 0x76, 0xee, 0xff, 0xf6, 0x84, 0xf6,
|
||||
0x86, 0x92, 0x1e, 0x1a, 0x68, 0xd0, 0xa0, 0xf4, 0xb7, 0xe1, 0xf3, 0x8f, 0xdc, 0x63, 0x7f, 0xe4,
|
||||
0x9e, 0xa9, 0x6d, 0x96, 0xfe, 0x97, 0x93, 0xaa, 0xef, 0x3c, 0xb5, 0x3b, 0x1d, 0x1f, 0x09, 0x26,
|
||||
0xf6, 0x16, 0x05, 0xa0, 0xa7, 0x37, 0x79, 0x00, 0x0c, 0x8e, 0xa5, 0xb3, 0xc2, 0xef, 0x3e, 0x6e,
|
||||
0x48, 0x35, 0xfe, 0x94, 0x09, 0xb4, 0xac, 0xbc, 0x0a, 0xa6, 0xc3, 0x67, 0xd6, 0x56, 0xfa, 0x85,
|
||||
0xbd, 0xbc, 0xcd, 0x34, 0x2d, 0x59, 0x91, 0x99, 0x13, 0x32, 0x73, 0xbf, 0x38, 0x37, 0x73, 0x46,
|
||||
0xe6, 0x99, 0x77, 0x3c, 0xd3, 0xff, 0x60, 0xae, 0x61, 0x79, 0x1c, 0xd7, 0xa3, 0xb1, 0x2d, 0xc9,
|
||||
0x8f, 0xb1, 0xf2, 0xdd, 0x05, 0xde, 0xf7, 0xb2, 0xdd, 0x76, 0x98, 0xb7, 0xfe, 0x36, 0xb2, 0xa0,
|
||||
0x95, 0x1e, 0x33, 0x16, 0xb6, 0xbd, 0x07, 0x9b, 0xba, 0x70, 0xda, 0x22, 0x10, 0x43, 0xc5, 0xc7,
|
||||
0x4f, 0x56, 0xa6, 0x36, 0x77, 0x19, 0x04, 0x6a, 0x4c, 0xa8, 0xa3, 0x3b, 0xca, 0xcd, 0xa9, 0xea,
|
||||
0xa2, 0x19, 0x5a, 0x6b, 0x3c, 0xf9, 0xaa, 0x01, 0x60, 0xed, 0xa6, 0xe4, 0xae, 0x7e, 0x0e, 0x60,
|
||||
0x46, 0xb3, 0x3c, 0xf3, 0xc8, 0xbe, 0x3f, 0x6e, 0x4a, 0xbf, 0xf9, 0xf8, 0x01, 0x51, 0xc7, 0xcd,
|
||||
0x8a, 0x8f, 0x07, 0x9f, 0x4d, 0x0e, 0x94, 0xf8, 0x65, 0xcb, 0xb3, 0x65, 0x1f, 0xb7, 0x3e, 0xd0,
|
||||
0xd8, 0x35, 0xc0, 0x1b, 0x13, 0xfa, 0x9a, 0x73, 0x7a, 0x5c, 0x07, 0x00, 0xc2, 0x10, 0xab, 0x5e,
|
||||
0xb6, 0x1f, 0x7b, 0xc9, 0xfd, 0xe8, 0x9b, 0x7a, 0x4d, 0x3e, 0x5a, 0x40, 0x32, 0x80, 0xf9, 0xe1,
|
||||
0xae, 0xdf, 0x9b, 0x1d, 0x6f, 0xde, 0x57, 0x84, 0x27, 0xdc, 0xf9, 0x28, 0x59, 0x78, 0x2d, 0xef,
|
||||
0x01, 0xf4, 0x15, 0xed, 0x8d, 0x7b, 0x9c, 0x33, 0x97, 0x14, 0x88, 0x50, 0xf2, 0xf0, 0x83, 0xc7,
|
||||
0xe3, 0x5f, 0xbd, 0xac, 0x3f, 0x15, 0xf3, 0x4d, 0xa1, 0x0b, 0x65, 0xe3, 0xf6, 0x87, 0x5b, 0x6e,
|
||||
0x9c, 0xba, 0x5b, 0x03, 0x3f, 0x7c, 0xa4, 0xe9, 0xdc, 0xa3, 0x2a, 0x5b, 0x7a, 0x8c, 0x2b, 0x56,
|
||||
0x64, 0x05, 0x57, 0x96, 0x21, 0xfd, 0xc0, 0x58, 0xbf, 0xdd, 0x7e, 0xd3, 0xf1, 0x30, 0xf9, 0x88,
|
||||
0xb7, 0xc9, 0x97, 0xf1, 0xeb, 0x35, 0x09, 0x80, 0xfe, 0xe9, 0x34, 0x08, 0x60, 0x4f, 0x16, 0xdf,
|
||||
0xb8, 0xb7, 0x09, 0xc0, 0xbb, 0xce, 0xc8, 0x9a, 0x02, 0x81, 0xc4, 0x4f, 0x1f, 0xcf, 0x9c, 0x7d,
|
||||
0x54, 0x29, 0x93, 0xf4, 0x6e, 0x7f, 0xc8, 0xfd, 0xe2, 0xa5, 0x45, 0xc7, 0x1a, 0x43, 0x29, 0x85,
|
||||
0x03, 0x2f, 0x94, 0xcb, 0x65, 0xe1, 0xb4, 0xf0, 0xb8, 0x95, 0x78, 0xd5, 0x34, 0xfe, 0x53, 0x16,
|
||||
0xf2, 0x55, 0x9b, 0x7b, 0xc3, 0x52, 0x92, 0x71, 0xc6, 0x38, 0x43, 0x1e, 0x78, 0x18, 0xde, 0x4b,
|
||||
0x6b, 0xc5, 0x89, 0xf3, 0xb9, 0x5d, 0x08, 0xd1, 0xcf, 0xe8, 0x4f, 0x98, 0x95, 0x1b, 0x55, 0xab,
|
||||
0x55, 0xba, 0xed, 0x3e, 0x03, 0xed, 0x83, 0x64, 0x9c, 0x19, 0x57, 0xb3, 0x5a, 0xec, 0x19, 0xcd,
|
||||
0xb9, 0x15, 0x0b, 0x73, 0xb0, 0xe3, 0xab, 0x5e, 0x89, 0xcf, 0x6f, 0xcf, 0xae, 0xd9, 0x9c, 0xda,
|
||||
0xb5, 0x4d, 0x9c, 0x7d, 0xf5, 0x80, 0xa8, 0x49, 0x91, 0x2a, 0xfd, 0xeb, 0xbd, 0x26, 0xf8, 0xe0,
|
||||
0x68, 0xec, 0xea, 0xc5, 0xfa, 0xf8, 0xb9, 0xac, 0x7e, 0xf4, 0x02, 0xa2, 0x03, 0x0c, 0xe5, 0x33,
|
||||
0xae, 0x30, 0x2d, 0xbc, 0xfa, 0x88, 0xec, 0xe5, 0x27, 0x0f, 0xbc, 0xb2, 0xdb, 0x7e, 0xdf, 0xad,
|
||||
0x4e, 0x53, 0xb2, 0xe9, 0x1d, 0x27, 0xef, 0x62, 0x43, 0x81, 0x3d, 0x19, 0x02, 0xd0, 0xa6, 0x50,
|
||||
0xb5, 0xf7, 0x4b, 0xda, 0xaa, 0x18, 0xee, 0x2f, 0x6c, 0xa2, 0x03, 0xb4, 0xa0, 0x9a, 0xec, 0xf6,
|
||||
0x56, 0xf7, 0xb0, 0xb4, 0x15, 0x6b, 0x49, 0x00, 0xe0, 0x0e, 0x37, 0x1a, 0x0d, 0x91, 0x10, 0x00,
|
||||
0x64, 0x49, 0xc1, 0x02, 0xf2, 0xe0, 0xdf, 0x63, 0xae, 0xa5, 0xec, 0xf9, 0x56, 0xa9, 0xd3, 0x90,
|
||||
0xa5, 0x3e, 0x9d, 0x7b, 0x9a, 0x8c, 0x71, 0xe3, 0x5d, 0x7d, 0x45, 0x6c, 0xee, 0x8c, 0x9f, 0xba,
|
||||
0xa8, 0xc4, 0x80, 0x62, 0x05, 0xb7, 0xaf, 0x74, 0x6f, 0xb9, 0xb2, 0x2f, 0xe1, 0x04, 0xa6, 0xd0,
|
||||
0x03, 0x45, 0xe3, 0x07, 0x0f, 0xb7, 0x7d, 0xfe, 0xd2, 0x3d, 0x4a, 0xe1, 0x07, 0x0f, 0x37, 0xbf,
|
||||
0xf1, 0xd8, 0xd2, 0xee, 0xac, 0x71, 0xe9, 0x8a, 0x2c, 0x67, 0xca, 0x36, 0x64, 0xc5, 0x37, 0x5e,
|
||||
0xd8, 0xe1, 0x5c, 0x78, 0xdc, 0x40, 0xbd, 0xf7, 0xcd, 0x97, 0x70, 0xe7, 0x1a, 0xd7, 0x11, 0x74,
|
||||
0xe9, 0xf2, 0x6c, 0xb6, 0x48, 0xcf, 0xef, 0xb4, 0xfe, 0xf9, 0x8c, 0x5c, 0xa3, 0xeb, 0x0d, 0x0f,
|
||||
0xe2, 0x4b, 0x3e, 0xee, 0x78, 0x3a, 0xf3, 0xcc, 0x76, 0x7e, 0xdd, 0x85, 0x83, 0xa4, 0xae, 0x67,
|
||||
0x3f, 0x59, 0x14, 0xf6, 0xfe, 0xd1, 0x9c, 0x73, 0xc9, 0x3e, 0xa7, 0xb4, 0x8a, 0xbb, 0x48, 0x8c,
|
||||
0x9f, 0xf5, 0x50, 0xeb, 0xab, 0x08, 0x00, 0xed, 0x29, 0xd1, 0xb3, 0x5b, 0x12, 0x09, 0x47, 0x36,
|
||||
0x26, 0xe4, 0x31, 0x73, 0xfa, 0xab, 0x41, 0xe3, 0xee, 0xac, 0x05, 0xc0, 0x57, 0x6c, 0x56, 0xab,
|
||||
0xff, 0xd3, 0x55, 0xee, 0xba, 0xad, 0x29, 0x4e, 0x7a, 0x66, 0x8b, 0xdf, 0x96, 0xae, 0x12, 0xb1,
|
||||
0xc1, 0x31, 0xfc, 0x90, 0xee, 0x6f, 0x4e, 0xe1, 0x03, 0xe7, 0xe4, 0x7f, 0xf8, 0x68, 0x0a, 0x40,
|
||||
0x35, 0xc0, 0xcf, 0x56, 0xb5, 0x5e, 0xb1, 0xdc, 0x7b, 0xec, 0x25, 0xb3, 0xd6, 0x2f, 0x2b, 0x85,
|
||||
0x4a, 0x20, 0x5a, 0x1a, 0x54, 0xa3, 0x8b, 0x0d, 0x9d, 0x66, 0xd9, 0x87, 0x33, 0xe6, 0xaa, 0x29,
|
||||
0x15, 0x04, 0xbe, 0x1f, 0x9f, 0x72, 0x5a, 0xb2, 0x9a, 0x62, 0xdf, 0xf6, 0xcb, 0x7d, 0x9e, 0xd2,
|
||||
0xba, 0xd7, 0x18, 0x48, 0x86, 0xd6, 0xc8, 0x39, 0x5b, 0x80, 0xc7, 0x01, 0x13, 0xac, 0xcd, 0x85,
|
||||
0xa1, 0x41, 0x6a, 0x48, 0xe7, 0xb0, 0x7d, 0x70, 0x7d, 0x5c, 0xaf, 0xec, 0xaa, 0x1f, 0xbd, 0x27,
|
||||
0xbf, 0xe2, 0x88, 0x81, 0x41, 0x11, 0x42, 0x3a, 0x6e, 0x07, 0x00, 0x5a, 0xd3, 0xe5, 0x8f, 0x9c,
|
||||
0xea, 0xfd, 0xec, 0x29, 0xeb, 0xfc, 0x63, 0x62, 0xff, 0xf3, 0x87, 0xf8, 0xc9, 0x4b, 0xe4, 0xbc,
|
||||
0x29, 0xf9, 0xda, 0xa5, 0xe6, 0xcc, 0x93, 0x77, 0x5f, 0xbb, 0x27, 0x6e, 0x0f, 0xce, 0x8a, 0x98,
|
||||
0x22, 0x74, 0xac, 0x3f, 0x33, 0x2d, 0x7c, 0x7a, 0x63, 0xee, 0xe5, 0xeb, 0x65, 0x3a, 0x5e, 0x75,
|
||||
0xed, 0x60, 0xc9, 0x2c, 0xfe, 0xc2, 0xce, 0xa9, 0x0f, 0xbd, 0x60, 0x5c, 0x72, 0x22, 0x33, 0x87,
|
||||
0xa6, 0x5c, 0x4c, 0x43, 0x03, 0xa8, 0x04, 0xbc, 0xa6, 0x39, 0x7b, 0x0a, 0xa2, 0xc5, 0x1a, 0xef,
|
||||
0x5d, 0xea, 0xb8, 0xc1, 0xa1, 0xb9, 0xd2, 0x9e, 0x0c, 0xb6, 0x84, 0x68, 0x81, 0xd5, 0x6e, 0xf5,
|
||||
0xaf, 0xee, 0xdf, 0xf0, 0xb1, 0x0d, 0x3d, 0x0f, 0xf5, 0x24, 0x16, 0x26, 0x66, 0x5f, 0xde, 0xb6,
|
||||
0x76, 0xf5, 0xc6, 0x64, 0x4b, 0xac, 0x31, 0x9f, 0x30, 0xbf, 0x26, 0x70, 0xa3, 0x72, 0xe7, 0xad,
|
||||
0xa8, 0xec, 0x78, 0x46, 0xf9, 0x15, 0x6e, 0xef, 0x3b, 0x3a, 0x2c, 0x86, 0x6f, 0xb5, 0xb9, 0xc4,
|
||||
0x9e, 0xdd, 0x9a, 0x88, 0x5b, 0xba, 0x29, 0x29, 0x97, 0xce, 0xce, 0xe6, 0xaa, 0xac, 0x7b, 0xc0,
|
||||
0xf0, 0x42, 0x46, 0x44, 0x33, 0x9a, 0x83, 0x9f, 0xaf, 0x4e, 0xae, 0xdd, 0x92, 0xe2, 0xa4, 0x3b,
|
||||
0xda, 0xbc, 0x86, 0xb8, 0x37, 0x2c, 0x31, 0x87, 0x43, 0xf5, 0x2d, 0x69, 0x5c, 0x73, 0x76, 0xe1,
|
||||
0xe7, 0x4f, 0x24, 0xb5, 0x46, 0xa9, 0x6a, 0x6f, 0xed, 0x13, 0x77, 0xaf, 0x49, 0x2f, 0x9e, 0xe5,
|
||||
0x4f, 0x6b, 0xee, 0xa9, 0x69, 0x9e, 0x54, 0x0c, 0xef, 0x3f, 0xa7, 0xff, 0xb3, 0xbf, 0x68, 0x1e,
|
||||
0xe7, 0x41, 0x48, 0x15, 0x77, 0xef, 0x2f, 0x91, 0x41, 0xcb, 0x7d, 0x65, 0x85, 0x8c, 0xd0, 0x85,
|
||||
0x1b, 0x82, 0x35, 0x26, 0xb5, 0x6b, 0xe9, 0x54, 0x5c, 0xb9, 0x0e, 0xce, 0x3b, 0xda, 0x7f, 0xf8,
|
||||
0xf9, 0x86, 0x50, 0xd1, 0xf9, 0x4b, 0xbd, 0x64, 0x4c, 0x39, 0x16, 0x1a, 0x5d, 0xc5, 0x08, 0x49,
|
||||
0x47, 0x01, 0x7c, 0xe4, 0x8b, 0x34, 0x1c, 0xfb, 0x84, 0x10, 0x54, 0x3b, 0xfe, 0xec, 0xd6, 0x86,
|
||||
0xb5, 0xdb, 0xac, 0xe3, 0xe7, 0x57, 0x7b, 0x0b, 0xb1, 0x42, 0x45, 0xa4, 0xe2, 0xa1, 0x6d, 0xe2,
|
||||
0x0d, 0xcb, 0x0a, 0xb7, 0x3d, 0x98, 0x09, 0x42, 0x94, 0x83, 0x7d, 0x4f, 0x5f, 0xeb, 0x9e, 0xad,
|
||||
0x6b, 0xc3, 0xc3, 0x9b, 0x9a, 0xcf, 0x69, 0x2a, 0xdf, 0x55, 0xb0, 0x76, 0xc1, 0xa9, 0xb8, 0x54,
|
||||
0x8b, 0xaf, 0xd9, 0x28, 0x6b, 0xca, 0xf7, 0x84, 0x0d, 0xbb, 0x64, 0xb1, 0xbd, 0x68, 0x18, 0x05,
|
||||
0x9d, 0x2f, 0x91, 0x3d, 0x15, 0x69, 0x4b, 0x17, 0x3d, 0xe2, 0xfb, 0x72, 0x86, 0xba, 0x4e, 0xb0,
|
||||
0xee, 0x95, 0x29, 0x92, 0x70, 0x54, 0xc6, 0xad, 0xec, 0x6d, 0x5b, 0xae, 0x2e, 0x5a, 0x56, 0xfa,
|
||||
0xda, 0x7d, 0x4d, 0x77, 0x3d, 0xdd, 0xf8, 0xcb, 0x35, 0xe2, 0x3f, 0x2e, 0x2b, 0xc6, 0xad, 0xa0,
|
||||
0x76, 0x9d, 0xa4, 0x85, 0xb4, 0xeb, 0x25, 0xec, 0x60, 0x1f, 0x23, 0x7c, 0xad, 0xf7, 0xb9, 0x0f,
|
||||
0xb8, 0x1e, 0x9c, 0x50, 0xe8, 0x2f, 0xc4, 0xef, 0x5f, 0x9f, 0xba, 0xf0, 0x98, 0xd0, 0xb5, 0x03,
|
||||
0x83, 0x29, 0xdb, 0xa0, 0x72, 0x40, 0x5a, 0x91, 0x62, 0x14, 0x84, 0xcc, 0x32, 0x64, 0xc6, 0x0d,
|
||||
0x00, 0x6c, 0xee, 0xb4, 0x17, 0x4c, 0x41, 0x25, 0xc0, 0x63, 0x1b, 0xf8, 0x61, 0xad, 0x7a, 0x9f,
|
||||
0x79, 0x68, 0x96, 0xe4, 0x0a, 0x55, 0xcf, 0xf2, 0xf2, 0xe0, 0x49, 0x65, 0x70, 0xc8, 0x90, 0x2c,
|
||||
0x2a, 0x6d, 0xcc, 0x17, 0x5e, 0x18, 0x88, 0xcd, 0x8d, 0x2d, 0xfd, 0xe5, 0xd1, 0xfd, 0xdb, 0xca,
|
||||
0xfe, 0x2f, 0x7c, 0xb3, 0x29, 0x83, 0x3d, 0x96, 0xff, 0x31, 0x5f, 0x97, 0xf4, 0xd6, 0x1d, 0x4f,
|
||||
0xa7, 0x63, 0xcc, 0xd6, 0xfb, 0xed, 0x28, 0x87, 0xe3, 0x60, 0x70, 0x0d, 0xca, 0xb8, 0x3a, 0x6e,
|
||||
0xe9, 0x86, 0xb8, 0x4a, 0x38, 0x38, 0x7b, 0x49, 0xf0, 0xc8, 0x0b, 0x8d, 0xf9, 0x0a, 0xbd, 0xf1,
|
||||
0x58, 0x2f, 0x6e, 0xc3, 0x31, 0x07, 0xd9, 0x92, 0xb0, 0x35, 0x88, 0x83, 0xc6, 0x60, 0x8b, 0x29,
|
||||
0xa8, 0x66, 0xa3, 0xe6, 0x94, 0x7f, 0xc3, 0x45, 0xa5, 0xb9, 0x6d, 0xa5, 0x9f, 0xad, 0x6a, 0xdc,
|
||||
0xd6, 0xe5, 0x1e, 0x36, 0xbd, 0x58, 0x33, 0x2b, 0xaf, 0x9d, 0x40, 0xe3, 0x93, 0x77, 0xdf, 0xd4,
|
||||
0x27, 0x3b, 0x03, 0xaf, 0x73, 0xcc, 0xef, 0x72, 0xce, 0x72, 0x15, 0xb6, 0x27, 0x17, 0x33, 0xb8,
|
||||
0x0e, 0x42, 0x6a, 0x77, 0x71, 0xc4, 0x8c, 0x6a, 0x63, 0xc2, 0x63, 0xa4, 0x4d, 0x8e, 0x63, 0xe7,
|
||||
0x14, 0xde, 0xfb, 0xfd, 0x29, 0x55, 0x1f, 0xb7, 0xbf, 0xa7, 0x93, 0x31, 0x4c, 0x69, 0xc0, 0x92,
|
||||
0x59, 0x15, 0x83, 0x2b, 0x43, 0x84, 0xd9, 0xa2, 0x95, 0xaf, 0xb2, 0xce, 0xac, 0xeb, 0x58, 0x61,
|
||||
0xd2, 0xf1, 0x62, 0xd6, 0x48, 0xec, 0x1f, 0x44, 0x5a, 0xa3, 0xe4, 0xf1, 0x20, 0xa4, 0xff, 0x7e,
|
||||
0x30, 0xf5, 0xab, 0x55, 0xfc, 0x1d, 0x27, 0xa5, 0x85, 0xe8, 0xb7, 0x84, 0xf2, 0x02, 0x71, 0xd5,
|
||||
0xe9, 0x39, 0xa5, 0xd4, 0x5d, 0x4f, 0xc7, 0x63, 0xd6, 0xb8, 0x46, 0xe6, 0xdc, 0x28, 0xf7, 0x6e,
|
||||
0xdf, 0xf8, 0xe4, 0xd3, 0xcb, 0x56, 0x2c, 0xcb, 0x50, 0xa6, 0x78, 0x63, 0x91, 0x2b, 0xa6, 0x6b,
|
||||
0x7e, 0x9d, 0x40, 0x09, 0x1e, 0x3b, 0x36, 0x6e, 0x2d, 0xb2, 0x82, 0xa7, 0x03, 0xae, 0xa7, 0x4a,
|
||||
0xb5, 0x9d, 0xd1, 0x4c, 0xc6, 0x66, 0x6a, 0xf9, 0x2a, 0x8c, 0x7d, 0xe7, 0x42, 0x29, 0x80, 0xee,
|
||||
0x5a, 0x9b, 0xd9, 0x91, 0x6d, 0x10, 0x4c, 0x03, 0x7a, 0x6a, 0x43, 0xa9, 0xa3, 0xb5, 0x88, 0x90,
|
||||
0xee, 0x7d, 0x36, 0xdd, 0x5b, 0x4c, 0x71, 0xa6, 0x01, 0x70, 0x0a, 0x3a, 0x5a, 0x0a, 0x8b, 0x67,
|
||||
0x0e, 0x70, 0xa6, 0x66, 0x37, 0x17, 0x97, 0xcd, 0xcd, 0x7c, 0xf8, 0x7b, 0x4d, 0x68, 0x28, 0x9e,
|
||||
0xb9, 0x24, 0xc7, 0x48, 0x2b, 0x4d, 0x9c, 0xf4, 0xda, 0x57, 0xf8, 0x2f, 0x56, 0xcf, 0x4c, 0xd8,
|
||||
0x83, 0x8d, 0x2a, 0x6e, 0x55, 0x5f, 0x37, 0xbf, 0x57, 0x08, 0x0d, 0xb0, 0x5f, 0x3c, 0xd9, 0x3a,
|
||||
0xad, 0xa1, 0x85, 0x08, 0x20, 0x35, 0xb7, 0x25, 0x7f, 0xe4, 0xac, 0xfe, 0x61, 0xe9, 0x32, 0x66,
|
||||
0x83, 0xcc, 0x95, 0xc5, 0xb5, 0xbf, 0x8c, 0x6f, 0xd8, 0x6d, 0xbc, 0xf5, 0xc4, 0x7c, 0x57, 0xce,
|
||||
0xf8, 0xea, 0xef, 0xac, 0x2f, 0xbd, 0xb9, 0x6a, 0x70, 0xf5, 0xf2, 0xae, 0xcc, 0x7f, 0x3d, 0x98,
|
||||
0xfa, 0xc4, 0x45, 0x5d, 0xd3, 0x9a, 0x8a, 0x67, 0x1d, 0xd7, 0x70, 0xed, 0x2f, 0xdc, 0x1f, 0x38,
|
||||
0x2d, 0x9b, 0xbb, 0xf9, 0xef, 0xd7, 0x88, 0xdb, 0x3e, 0x98, 0x17, 0x62, 0x1f, 0x7a, 0x8a, 0x78,
|
||||
0xd3, 0x72, 0x68, 0x4d, 0x5a, 0x81, 0x06, 0x13, 0x16, 0xbc, 0x4e, 0xaf, 0xf5, 0xe2, 0x66, 0xad,
|
||||
0x74, 0xef, 0x03, 0xbd, 0xdc, 0x61, 0x61, 0xb7, 0xc2, 0x46, 0xb0, 0x69, 0x0c, 0x57, 0x53, 0xee,
|
||||
0xa8, 0xea, 0x0b, 0xab, 0x9e, 0xa1, 0x72, 0xdf, 0xcc, 0xc5, 0x33, 0xfc, 0xda, 0x1b, 0xb2, 0xb1,
|
||||
0xb9, 0x46, 0x8c, 0xe5, 0x2a, 0xc6, 0x9e, 0x2c, 0x19, 0x82, 0x3c, 0x9f, 0xcf, 0x48, 0xd2, 0xe2,
|
||||
0x99, 0x5e, 0x32, 0xe6, 0x1b, 0x5c, 0x99, 0x02, 0xc7, 0xcd, 0x2b, 0xbe, 0xff, 0x07, 0x6d, 0x7e,
|
||||
0x88, 0xdb, 0xdf, 0x33, 0x20, 0x15, 0x4d, 0x6d, 0xc4, 0x91, 0xb3, 0x2a, 0x82, 0x2b, 0x43, 0x84,
|
||||
0x3d, 0x79, 0x2b, 0x5f, 0x65, 0x5d, 0x03, 0xae, 0x65, 0xee, 0xc5, 0x96, 0xc1, 0xce, 0xb8, 0xec,
|
||||
0x59, 0x5e, 0xc0, 0x1d, 0x4b, 0xc5, 0x2c, 0x54, 0x42, 0xa3, 0x6b, 0xc0, 0x8a, 0x5b, 0x81, 0xeb,
|
||||
0xa8, 0x1a, 0x9d, 0xc6, 0x36, 0x9d, 0xd4, 0x3c, 0xde, 0xbc, 0x1f, 0xea, 0xf3, 0x29, 0x27, 0xf9,
|
||||
0x5d, 0x2f, 0x0a, 0x6b, 0x8c, 0x76, 0xdc, 0x92, 0xf4, 0x02, 0x95, 0xba, 0xfd, 0xa1, 0x16, 0xcb,
|
||||
0xd4, 0x27, 0x2d, 0x28, 0x9e, 0xbf, 0x44, 0xfd, 0x7c, 0x55, 0x83, 0xe0, 0x48, 0x39, 0xea, 0xb2,
|
||||
0xe5, 0x9d, 0xad, 0xe9, 0xca, 0x05, 0x4b, 0x02, 0x0d, 0xb4, 0x67, 0x4a, 0x55, 0xdf, 0x70, 0x1d,
|
||||
0xfa, 0xc1, 0x23, 0xcd, 0x8c, 0xd0, 0x94, 0x0c, 0xce, 0x39, 0x32, 0xdf, 0x92, 0xa0, 0x1f, 0x3f,
|
||||
0xd6, 0x64, 0x0a, 0x7d, 0xea, 0xe1, 0xc5, 0x65, 0xf3, 0xfa, 0x6a, 0xe6, 0x4a, 0xd8, 0xf2, 0xf0,
|
||||
0xa9, 0x21, 0x63, 0x58, 0xb1, 0xa8, 0xf7, 0xc4, 0x05, 0xbd, 0x65, 0x5f, 0x9c, 0x30, 0xb7, 0xe5,
|
||||
0xf8, 0xf9, 0xd9, 0x35, 0x9b, 0x1a, 0x66, 0xb7, 0x94, 0xd2, 0xf1, 0xf0, 0xbb, 0x0f, 0x34, 0x48,
|
||||
0xa5, 0xae, 0x3e, 0xad, 0x6b, 0xf4, 0xbc, 0x4c, 0xdd, 0xd3, 0x26, 0x67, 0x0b, 0x11, 0xd3, 0xaa,
|
||||
0x87, 0xf9, 0xf6, 0xe3, 0x2b, 0x9f, 0x3e, 0xf6, 0xf0, 0x65, 0x8d, 0x6f, 0x68, 0xac, 0x94, 0x07,
|
||||
0x13, 0xd0, 0xcb, 0xaf, 0x96, 0x5b, 0x7b, 0x52, 0x6e, 0x5b, 0xdc, 0x9e, 0x6e, 0xeb, 0x16, 0xcd,
|
||||
0x1e, 0xed, 0x90, 0x9d, 0xdb, 0x01, 0x43, 0xe0, 0xb4, 0xc0, 0x7f, 0x15, 0x76, 0x2d, 0xc2, 0x33,
|
||||
0xb6, 0xb1, 0x1a, 0xdc, 0xea, 0x65, 0xa7, 0x07, 0xdf, 0x59, 0x67, 0x35, 0xbc, 0xc8, 0x38, 0x41,
|
||||
0x2a, 0x7d, 0xfe, 0xec, 0xd8, 0x67, 0x2f, 0x2e, 0x5e, 0xbf, 0xa2, 0x7a, 0xeb, 0x33, 0xce, 0xdd,
|
||||
0x1b, 0xd8, 0x60, 0xf8, 0x59, 0xb1, 0x8b, 0x17, 0xd3, 0x82, 0x29, 0x79, 0xc7, 0x52, 0x89, 0x98,
|
||||
0x77, 0xcd, 0x8a, 0xe2, 0xd3, 0x2f, 0xe3, 0x8b, 0x17, 0x54, 0xdb, 0xd2, 0x65, 0x00, 0x8c, 0xf4,
|
||||
0xeb, 0xe6, 0x97, 0xe7, 0xcf, 0x75, 0xbe, 0xfe, 0x88, 0xa8, 0x79, 0x6e, 0x0d, 0xcc, 0x74, 0xed,
|
||||
0xd9, 0x2d, 0xce, 0xdc, 0xb6, 0xf2, 0x8a, 0x63, 0x12, 0x5f, 0x7e, 0x42, 0x38, 0x04, 0x09, 0x70,
|
||||
0xad, 0xdf, 0x7d, 0x74, 0xfc, 0xf0, 0xe9, 0x03, 0x96, 0x18, 0xd5, 0xeb, 0x9a, 0x86, 0x5a, 0xb6,
|
||||
0x58, 0xb9, 0x76, 0x58, 0x73, 0xfb, 0xb3, 0x9a, 0xf3, 0xdf, 0xbf, 0xcc, 0xb9, 0xea, 0x17, 0xee,
|
||||
0xbf, 0xff, 0xb6, 0x19, 0x86, 0xba, 0xf8, 0x75, 0xe1, 0x5b, 0x4f, 0xec, 0x63, 0x4c, 0xf7, 0x17,
|
||||
0xf9, 0x73, 0xbb, 0x45, 0xd5, 0x17, 0xad, 0xe9, 0xe2, 0xe7, 0xde, 0x32, 0xf0, 0xd6, 0xdb, 0x9a,
|
||||
0xcf, 0xfb, 0x7c, 0x13, 0x58, 0x78, 0xd5, 0x59, 0xd5, 0xb3, 0x8f, 0xec, 0xe6, 0x34, 0x5e, 0xd2,
|
||||
0x04, 0x01, 0x20, 0x77, 0x3e, 0x76, 0xec, 0xf0, 0xba, 0x2d, 0x7e, 0xb8, 0xcb, 0x0f, 0x77, 0x01,
|
||||
0xa5, 0x43, 0x6d, 0x4e, 0xb1, 0x66, 0xbc, 0x77, 0x56, 0xcf, 0x3d, 0x8f, 0x3d, 0x7b, 0xc5, 0xba,
|
||||
0x63, 0x7f, 0x7b, 0x7c, 0x78, 0x96, 0x6c, 0x9d, 0xd1, 0xdc, 0x75, 0x6a, 0xcf, 0xaa, 0xc7, 0xd7,
|
||||
0x34, 0xb0, 0x44, 0xd2, 0x75, 0x38, 0x63, 0x3c, 0xb1, 0x44, 0x16, 0xd7, 0x93, 0x39, 0xb6, 0x01,
|
||||
0xdb, 0xd3, 0xaa, 0x54, 0xe5, 0xb7, 0x3f, 0x34, 0xd5, 0x32, 0xb1, 0x7c, 0x61, 0xf1, 0xdc, 0xc5,
|
||||
0xf2, 0x67, 0x4f, 0x64, 0x18, 0x47, 0x3a, 0xae, 0x2e, 0x3b, 0xb9, 0xb3, 0xad, 0xa1, 0x7c, 0xce,
|
||||
0x11, 0x61, 0xcc, 0x52, 0x6d, 0xe9, 0x4a, 0xb1, 0x6a, 0xd8, 0x06, 0xbb, 0xfd, 0x91, 0x66, 0x22,
|
||||
0xb4, 0x24, 0x83, 0xb3, 0x8e, 0xcc, 0xa5, 0x62, 0xf4, 0x7f, 0x1f, 0x6d, 0x32, 0x84, 0x3e, 0x6b,
|
||||
0x49, 0x61, 0xe9, 0xec, 0xda, 0xc0, 0x0c, 0xae, 0xa3, 0x0e, 0x9b, 0x2a, 0x89, 0x91, 0x6b, 0x87,
|
||||
0xab, 0x37, 0xd8, 0xbf, 0x7a, 0xaa, 0xfd, 0xb0, 0x76, 0x35, 0xa7, 0xb5, 0xb8, 0xea, 0xe5, 0xcc,
|
||||
0xc2, 0x69, 0x65, 0xd7, 0x29, 0xc4, 0x4c, 0x7d, 0xf4, 0x2c, 0xc5, 0x88, 0xbd, 0x36, 0x70, 0xa7,
|
||||
0x7d, 0xcd, 0x1b, 0x0e, 0xdf, 0x9b, 0xd1, 0x9f, 0x79, 0xdb, 0xc8, 0x3f, 0x1f, 0xbf, 0xf1, 0x56,
|
||||
0x84, 0x95, 0xca, 0xfd, 0xd7, 0x8a, 0x74, 0xbd, 0xb6, 0x01, 0x21, 0xac, 0x31, 0x24, 0x08, 0x79,
|
||||
0x4d, 0x8b, 0x0b, 0xae, 0x34, 0x48, 0x2a, 0xaa, 0xc5, 0x22, 0x0c, 0x26, 0x89, 0xe0, 0x85, 0x1c,
|
||||
0x40, 0xad, 0xf2, 0x42, 0xc9, 0xa4, 0xae, 0x7d, 0xaa, 0x0d, 0xa6, 0x02, 0xc5, 0xb4, 0x26, 0x68,
|
||||
0x70, 0xae, 0x6a, 0xfe, 0xb2, 0x26, 0xe8, 0xfd, 0x90, 0x3b, 0xa6, 0x1c, 0xee, 0xf4, 0xfd, 0x10,
|
||||
0x96, 0x81, 0x20, 0x04, 0x63, 0x20, 0x42, 0xb1, 0x02, 0xad, 0xe1, 0x3a, 0x60, 0x43, 0xba, 0x54,
|
||||
0x0f, 0xcb, 0x47, 0x0e, 0x55, 0x0c, 0xad, 0xc5, 0xd7, 0x50, 0xf3, 0xc9, 0x1b, 0xb6, 0xf5, 0x59,
|
||||
0x53, 0x2e, 0xda, 0xb8, 0x71, 0x43, 0xb5, 0x5a, 0x9d, 0xd3, 0x32, 0x67, 0xc6, 0x9c, 0xb9, 0xde,
|
||||
0x23, 0x3d, 0xcf, 0x5c, 0xfa, 0x8c, 0xdb, 0xea, 0xd6, 0x06, 0x6a, 0x47, 0xff, 0xfe, 0x68, 0xab,
|
||||
0xdd, 0xa2, 0xed, 0xa1, 0x77, 0xcf, 0xf7, 0x8c, 0x53, 0x5e, 0x2f, 0xab, 0x6b, 0xcb, 0x6b, 0x2f,
|
||||
0xa2, 0x14, 0x1f, 0x6f, 0x5a, 0x82, 0x28, 0x04, 0x50, 0xf5, 0xc8, 0x97, 0x62, 0x68, 0xb6, 0x11,
|
||||
0x8c, 0xeb, 0xb8, 0x15, 0xf8, 0x81, 0xa8, 0xbd, 0xe6, 0x48, 0x14, 0x92, 0xeb, 0x98, 0x15, 0x0c,
|
||||
0x85, 0xad, 0xf8, 0x40, 0xd9, 0x4a, 0x39, 0x81, 0x33, 0x74, 0x44, 0x29, 0x2a, 0x79, 0xa6, 0x1a,
|
||||
0x3d, 0x79, 0x19, 0xb3, 0x42, 0x46, 0xb2, 0xec, 0x99, 0x52, 0x0e, 0x26, 0x28, 0x01, 0x30, 0xb9,
|
||||
0x74, 0xac, 0x70, 0xaf, 0x7c, 0x20, 0xa9, 0xa8, 0xbf, 0x64, 0x27, 0x6c, 0xdf, 0x36, 0x64, 0xcd,
|
||||
0x04, 0x52, 0x51, 0x5f, 0xc1, 0xc9, 0x55, 0x1c, 0x8b, 0x87, 0x99, 0x64, 0xd9, 0xb5, 0x03, 0x00,
|
||||
0x41, 0xc8, 0xca, 0x55, 0x23, 0xe1, 0x78, 0x8c, 0x29, 0xad, 0x91, 0x2d, 0xd9, 0xd9, 0x92, 0x6d,
|
||||
0x09, 0xbf, 0xd1, 0x2d, 0x3b, 0xd6, 0xd0, 0xfc, 0x28, 0xa0, 0x47, 0x79, 0x3a, 0xad, 0x7d, 0x05,
|
||||
0x6b, 0xae, 0xb5, 0xfc, 0x49, 0xdc, 0xf7, 0xb0, 0x48, 0xa7, 0xbb, 0x16, 0x9d, 0x48, 0x16, 0xb9,
|
||||
0xfd, 0xde, 0xea, 0xe3, 0x57, 0xb7, 0x5c, 0xd2, 0x74, 0xe4, 0x8f, 0x97, 0xee, 0xf8, 0xee, 0xf6,
|
||||
0x17, 0x3f, 0xf4, 0x7c, 0xdb, 0x15, 0xb3, 0x16, 0x7d, 0xf1, 0xb0, 0xbe, 0xde, 0xfe, 0x35, 0xaf,
|
||||
0xae, 0xd7, 0x66, 0x75, 0xf6, 0x61, 0xf3, 0xc2, 0x6d, 0xf7, 0x2c, 0x98, 0xdd, 0x42, 0xf9, 0xf5,
|
||||
0xa5, 0xc7, 0xbe, 0x22, 0x5a, 0x84, 0x96, 0xba, 0x7e, 0x4a, 0x9a, 0xf4, 0x10, 0x5b, 0x24, 0x86,
|
||||
0xd8, 0x32, 0xb8, 0x09, 0x22, 0x40, 0x44, 0x30, 0x98, 0x26, 0x82, 0x17, 0x32, 0x22, 0x6d, 0x72,
|
||||
0x5d, 0x9b, 0xc4, 0xd0, 0x83, 0xa1, 0x70, 0x6d, 0x30, 0x1d, 0x28, 0xa6, 0x15, 0xd5, 0x68, 0xc6,
|
||||
0x46, 0xd8, 0x42, 0x41, 0xc8, 0x2c, 0x53, 0x02, 0xa8, 0x78, 0xa2, 0xe2, 0x8b, 0xb8, 0x15, 0x58,
|
||||
0xa6, 0x0c, 0x43, 0xc6, 0xb8, 0xae, 0xf5, 0x40, 0x5e, 0xc0, 0x1d, 0x33, 0xc4, 0xe8, 0xf7, 0xd5,
|
||||
0xa4, 0x65, 0xaf, 0x4c, 0x9c, 0xfd, 0x75, 0x32, 0xdc, 0x2f, 0x7c, 0xe2, 0xbd, 0x63, 0x7b, 0xfd,
|
||||
0x42, 0xf7, 0xce, 0xd0, 0x3d, 0x2a, 0x39, 0x7d, 0x45, 0xb8, 0x73, 0x25, 0x52, 0x06, 0x00, 0x06,
|
||||
0x59, 0xcf, 0x0f, 0x43, 0xa8, 0xba, 0x8a, 0xd1, 0x35, 0x25, 0x50, 0x97, 0x29, 0x3a, 0xe2, 0xb1,
|
||||
0x04, 0x57, 0xf5, 0x97, 0x36, 0xb9, 0x7a, 0xad, 0xd2, 0x65, 0x0c, 0xb6, 0x29, 0x75, 0x1d, 0x27,
|
||||
0x6a, 0x59, 0x52, 0xc6, 0x50, 0x07, 0x9d, 0x70, 0xc6, 0xcd, 0xd3, 0xd0, 0x65, 0x0d, 0x58, 0x76,
|
||||
0xc7, 0xeb, 0xfd, 0x1d, 0x4f, 0x88, 0x19, 0x57, 0xda, 0x9c, 0xa6, 0x4d, 0x69, 0xdb, 0xb3, 0x7d,
|
||||
0xe7, 0x0b, 0xeb, 0x5e, 0x76, 0xec, 0xcc, 0xb4, 0x13, 0x92, 0xb3, 0xbf, 0xb5, 0xd8, 0x69, 0x34,
|
||||
0xc2, 0x3d, 0x82, 0xd9, 0x79, 0x64, 0xe0, 0x2b, 0xdf, 0x9a, 0x65, 0xb1, 0x85, 0x73, 0x83, 0x35,
|
||||
0xbf, 0x37, 0x2f, 0x7c, 0x3b, 0xdb, 0x32, 0x53, 0x95, 0xb6, 0x51, 0xcc, 0xd8, 0xc7, 0x1c, 0x9b,
|
||||
0x6d, 0x69, 0x67, 0x24, 0x4f, 0x7b, 0x70, 0xe0, 0x65, 0x99, 0xa1, 0x65, 0xca, 0xf1, 0xf2, 0x4b,
|
||||
0x2c, 0x53, 0xb6, 0x99, 0xe5, 0xd1, 0xef, 0xa8, 0x13, 0x8e, 0x37, 0xd6, 0x6c, 0x1e, 0xc5, 0xad,
|
||||
0x60, 0xfc, 0xac, 0xcb, 0xc1, 0xbf, 0x19, 0xd3, 0xcd, 0x89, 0x4a, 0xfd, 0x33, 0x70, 0xa6, 0x5b,
|
||||
0x52, 0xe5, 0xda, 0x1c, 0xf0, 0xf0, 0x79, 0x06, 0x57, 0xa9, 0xc1, 0x10, 0x27, 0x11, 0xe9, 0x8c,
|
||||
0x5b, 0xcd, 0xb8, 0xd5, 0x71, 0xd3, 0x3b, 0x87, 0x34, 0x95, 0x2a, 0x23, 0xd6, 0x7c, 0xae, 0x59,
|
||||
0x4a, 0x07, 0xfe, 0xb3, 0xe2, 0xf4, 0x7f, 0x8b, 0x69, 0x2b, 0xd8, 0x50, 0x94, 0x53, 0x62, 0x87,
|
||||
0x7d, 0xed, 0x30, 0xbe, 0x2c, 0xbd, 0xe3, 0xa9, 0x92, 0x79, 0x62, 0xf3, 0xc2, 0x5b, 0x4f, 0x8e,
|
||||
0xe5, 0x8a, 0x65, 0x0a, 0x9f, 0x7b, 0x79, 0x3d, 0x3c, 0x6f, 0xda, 0xec, 0xa9, 0x36, 0x83, 0x9a,
|
||||
0xf5, 0xc6, 0x6c, 0xd7, 0xff, 0xb4, 0xcd, 0x5b, 0x5e, 0x49, 0xdd, 0xa2, 0xca, 0x0a, 0x26, 0x27,
|
||||
0xc8, 0xe1, 0x8b, 0x0f, 0x4b, 0x36, 0x83, 0x43, 0x63, 0x24, 0xf4, 0xae, 0x01, 0xa5, 0x34, 0xab,
|
||||
0x8d, 0xef, 0x14, 0x1c, 0x53, 0x41, 0x43, 0x2a, 0x80, 0x60, 0x5b, 0xaa, 0x16, 0x9e, 0x52, 0x00,
|
||||
0x67, 0xe0, 0x7c, 0xc4, 0x6d, 0x87, 0x8a, 0x04, 0xd3, 0x0c, 0xa4, 0x19, 0x4c, 0xae, 0x42, 0x4d,
|
||||
0x00, 0x1c, 0x4b, 0xc6, 0x1c, 0x69, 0x12, 0x40, 0xc4, 0x58, 0xed, 0xd7, 0x9e, 0x88, 0x11, 0x1c,
|
||||
0x53, 0x0e, 0x76, 0x65, 0x6c, 0xe4, 0xe5, 0x55, 0x41, 0x9b, 0xd3, 0x8e, 0xe5, 0xe9, 0xd9, 0x7b,
|
||||
0x36, 0x3d, 0x45, 0x75, 0x8a, 0x68, 0x94, 0xf8, 0xf7, 0x13, 0xcb, 0xa9, 0xf0, 0x5c, 0xfc, 0xb8,
|
||||
0x4f, 0xc1, 0xb0, 0x50, 0x96, 0x75, 0x69, 0x59, 0x5c, 0xeb, 0x51, 0x45, 0x8d, 0x14, 0x71, 0xe0,
|
||||
0x45, 0xef, 0xb3, 0x8c, 0x71, 0x26, 0xea, 0x0a, 0x09, 0x5d, 0x17, 0x7b, 0x52, 0x39, 0xe5, 0x2e,
|
||||
0xbf, 0x51, 0xfb, 0xc5, 0xce, 0xa0, 0x05, 0xce, 0x34, 0x2e, 0x58, 0x32, 0xe5, 0xb6, 0xb4, 0xb7,
|
||||
0xc5, 0x1b, 0x8c, 0x35, 0xbf, 0x5e, 0xf3, 0xc2, 0xf3, 0x3b, 0x9b, 0x4f, 0x4c, 0x49, 0x93, 0xc7,
|
||||
0xe7, 0xc7, 0x9d, 0x99, 0xad, 0xdd, 0x77, 0x77, 0x7b, 0x9d, 0x1e, 0x38, 0x78, 0x47, 0x47, 0x75,
|
||||
0xc7, 0xe3, 0xba, 0x52, 0xb2, 0x8e, 0xb9, 0x01, 0x1a, 0xba, 0x1c, 0xee, 0x3b, 0x57, 0x6a, 0x8c,
|
||||
0x0c, 0x49, 0x4d, 0xd0, 0xa0, 0xd1, 0x65, 0x30, 0x87, 0x64, 0xf8, 0xef, 0xd1, 0x6c, 0x1e, 0x3c,
|
||||
0x46, 0xa4, 0x41, 0xd0, 0xc3, 0xa5, 0x2e, 0xbf, 0xa5, 0x3e, 0xb9, 0x05, 0xfb, 0x3a, 0x3e, 0x6a,
|
||||
0x8e, 0x81, 0x40, 0xa4, 0xf7, 0xfd, 0x23, 0x59, 0x7a, 0x1f, 0x39, 0xa2, 0xbe, 0x26, 0x87, 0xcc,
|
||||
0x13, 0x3f, 0xab, 0xb6, 0x3d, 0x08, 0x78, 0x70, 0xec, 0x54, 0x9a, 0x4a, 0xbb, 0x0b, 0xbb, 0xef,
|
||||
0xdd, 0x61, 0x1d, 0x1d, 0xdb, 0xb3, 0xbe, 0xf2, 0xd8, 0xc7, 0xb6, 0x6e, 0xbc, 0xa9, 0x27, 0x79,
|
||||
0x44, 0xd2, 0xb8, 0xa0, 0x61, 0xcd, 0x13, 0xab, 0x7c, 0xcf, 0x6b, 0x9a, 0x36, 0x3d, 0x9d, 0x4e,
|
||||
0x5b, 0x86, 0x43, 0xce, 0xb4, 0xc0, 0x68, 0xf7, 0x8b, 0x3b, 0xe3, 0xcb, 0xff, 0x1d, 0xd9, 0x10,
|
||||
0x9e, 0x1a, 0x5e, 0xc5, 0xb4, 0x57, 0x46, 0x12, 0x01, 0x52, 0x41, 0x2a, 0x84, 0x12, 0x4a, 0x02,
|
||||
0x1a, 0x4a, 0xd5, 0xfd, 0x5e, 0x87, 0xae, 0x75, 0xa9, 0xa4, 0x42, 0x52, 0x21, 0x11, 0x88, 0x83,
|
||||
0xa4, 0x1a, 0x55, 0x08, 0x90, 0x8a, 0x02, 0x85, 0x50, 0x21, 0xd4, 0xa3, 0x26, 0x74, 0x7d, 0x09,
|
||||
0x3f, 0xac, 0xcf, 0x18, 0x1a, 0xc3, 0x6c, 0xba, 0x2a, 0xa1, 0x10, 0x3f, 0xf5, 0xcb, 0x7b, 0x76,
|
||||
0x6c, 0x09, 0x92, 0x2b, 0xea, 0xf3, 0xc4, 0x04, 0xb1, 0x5a, 0x20, 0x4c, 0x02, 0x08, 0x53, 0x27,
|
||||
0xf1, 0xe2, 0x33, 0x7e, 0xf5, 0x95, 0xe4, 0x79, 0xbf, 0xca, 0xdf, 0xf7, 0x16, 0xe4, 0x3c, 0xa4,
|
||||
0xfe, 0xb1, 0xf6, 0x23, 0x20, 0x4e, 0xaa, 0xac, 0x54, 0x5e, 0xc5, 0x4f, 0xf9, 0x94, 0x68, 0x3c,
|
||||
0x62, 0xc7, 0x0b, 0xbf, 0xab, 0xcc, 0xfe, 0x78, 0x8a, 0x4a, 0x5c, 0x08, 0x00, 0x0d, 0x4d, 0xa9,
|
||||
0x30, 0x90, 0x7b, 0xb2, 0xbb, 0xd6, 0xdd, 0xbf, 0x7e, 0x73, 0x66, 0x73, 0x66, 0xcb, 0x6c, 0xf6,
|
||||
0xf2, 0x80, 0x99, 0x31, 0x66, 0xb4, 0x39, 0x4a, 0x6e, 0xc3, 0xcc, 0xc5, 0x2c, 0x3d, 0x83, 0x4f,
|
||||
0x99, 0x15, 0x3c, 0xf7, 0x25, 0xf3, 0xac, 0xcf, 0xfb, 0x2f, 0xfc, 0xbb, 0xec, 0x5d, 0x3f, 0x0e,
|
||||
0x63, 0xc4, 0xb8, 0xec, 0xff, 0x53, 0xb3, 0x0c, 0xff, 0xe2, 0x34, 0xc5, 0x71, 0x03, 0x28, 0x7f,
|
||||
0xd9, 0x5d, 0x74, 0x49, 0x3b, 0xa7, 0x7c, 0x89, 0x9c, 0x4c, 0xb8, 0xf5, 0x3f, 0xc5, 0xb4, 0x0f,
|
||||
0x01, 0xa8, 0x76, 0x57, 0x8b, 0x3b, 0x4a, 0xc5, 0x9d, 0x95, 0x6d, 0xbf, 0xd9, 0xd5, 0xd7, 0x9d,
|
||||
0x4c, 0xfb, 0x82, 0x40, 0x4f, 0x3e, 0xb9, 0x7a, 0xfb, 0xd6, 0x5c, 0xc3, 0x8c, 0x60, 0xc6, 0x91,
|
||||
0xb3, 0x52, 0x4d, 0xae, 0x6d, 0xdb, 0x00, 0xe2, 0x94, 0x2f, 0xb7, 0xbd, 0xa5, 0x6b, 0xd3, 0x8d,
|
||||
0x53, 0x0f, 0x7b, 0x5d, 0xec, 0xf5, 0x5f, 0x2d, 0xdf, 0xf3, 0x51, 0xa5, 0x89, 0xc5, 0x99, 0x56,
|
||||
0x7a, 0x1f, 0xc9, 0x78, 0xfa, 0x80, 0x92, 0x4d, 0xe9, 0xaf, 0x68, 0x66, 0x55, 0x0c, 0x95, 0x87,
|
||||
0xc4, 0x05, 0xff, 0xad, 0xf2, 0xdb, 0xc3, 0xc0, 0x57, 0x6d, 0x27, 0xd5, 0x5f, 0x9f, 0x9f, 0xb6,
|
||||
0x98, 0x13, 0xa8, 0xb6, 0xc2, 0xe5, 0xa8, 0xb3, 0xfe, 0x55, 0x26, 0x8e, 0x29, 0x6f, 0x7d, 0xcc,
|
||||
0x49, 0x7a, 0xb1, 0xf9, 0xef, 0x91, 0xa5, 0x5d, 0x61, 0xef, 0x16, 0x1d, 0x2a, 0x22, 0x45, 0x83,
|
||||
0xdb, 0x50, 0x1e, 0x8c, 0xa2, 0x14, 0x94, 0xd2, 0x4a, 0xa9, 0xaa, 0xd2, 0x05, 0xcd, 0xe3, 0x1d,
|
||||
0xee, 0x19, 0xdf, 0x10, 0x99, 0xf9, 0x3b, 0x37, 0x3c, 0x5c, 0x6e, 0x7f, 0x67, 0xd2, 0x8e, 0x33,
|
||||
0x28, 0xc6, 0x88, 0x31, 0x46, 0x44, 0xc2, 0x10, 0x2a, 0x08, 0x03, 0xaf, 0x54, 0xcc, 0xca, 0xe4,
|
||||
0x11, 0xce, 0x94, 0x29, 0x6d, 0xc9, 0x5d, 0x16, 0xf3, 0x04, 0x37, 0x7d, 0xbb, 0xa5, 0x07, 0xc4,
|
||||
0xb4, 0x68, 0x41, 0xef, 0x77, 0xa9, 0x79, 0x8e, 0x79, 0xf8, 0x87, 0x83, 0x0d, 0xdf, 0xd3, 0xd5,
|
||||
0x0a, 0x59, 0x0c, 0x93, 0xea, 0x57, 0x94, 0x08, 0xb2, 0x5f, 0x1a, 0xf3, 0xce, 0x89, 0x2d, 0xfb,
|
||||
0x6a, 0xf0, 0x87, 0x4f, 0x90, 0x99, 0x12, 0xb3, 0xcf, 0x43, 0xd9, 0x1b, 0x78, 0x75, 0x93, 0x15,
|
||||
0x2b, 0x89, 0xbe, 0x18, 0x7f, 0x7e, 0x1a, 0x77, 0xd5, 0xf4, 0x73, 0x9a, 0x0a, 0xcb, 0xbc, 0xde,
|
||||
0x0d, 0x2f, 0x1a, 0x4d, 0xac, 0x71, 0x4e, 0x7b, 0xcb, 0xf4, 0x74, 0x32, 0x6d, 0x33, 0xc6, 0x84,
|
||||
0x10, 0xd0, 0x52, 0x30, 0x14, 0xcd, 0x05, 0xde, 0xf6, 0x7b, 0x53, 0x53, 0x8f, 0xb0, 0x17, 0xbc,
|
||||
0x21, 0xe8, 0x7c, 0x4e, 0xf6, 0xf5, 0x68, 0x09, 0x10, 0x98, 0xd6, 0x83, 0xbf, 0x6e, 0x54, 0xeb,
|
||||
0xef, 0x5e, 0xfb, 0xab, 0x47, 0xfb, 0xd8, 0x1b, 0x57, 0xe9, 0xbf, 0xbc, 0xe8, 0x50, 0xab, 0xb2,
|
||||
0x56, 0x45, 0x2d, 0x5a, 0x8f, 0x77, 0xcf, 0xf8, 0x06, 0x64, 0xa5, 0x6b, 0xf7, 0xa6, 0x60, 0xda,
|
||||
0x07, 0x48, 0xfb, 0xeb, 0x1f, 0xbc, 0x79, 0xb8, 0x47, 0x18, 0xb5, 0x0f, 0x8f, 0x63, 0xf8, 0xbe,
|
||||
0xd4, 0xa5, 0xf6, 0xcb, 0x37, 0x6c, 0xbb, 0xab, 0x3d, 0xfd, 0x52, 0xe6, 0xb8, 0x77, 0x79, 0xd9,
|
||||
0x37, 0xa8, 0xae, 0x27, 0xd5, 0xc0, 0xab, 0x2a, 0xb7, 0x01, 0xfa, 0x60, 0x2d, 0xde, 0xd3, 0x00,
|
||||
0xb8, 0xd3, 0x64, 0xb4, 0x2f, 0xe4, 0xcd, 0x47, 0x79, 0xd6, 0x42, 0xad, 0xb2, 0x9b, 0x5e, 0xd9,
|
||||
0xe4, 0x37, 0xff, 0x93, 0x6b, 0xb7, 0x93, 0xf6, 0x19, 0xe7, 0x35, 0x01, 0xc0, 0x85, 0x19, 0x77,
|
||||
0xe4, 0xdc, 0x59, 0x7e, 0xca, 0x32, 0xb7, 0x6f, 0xce, 0x67, 0xf3, 0xcf, 0x2f, 0xb8, 0xc0, 0x68,
|
||||
0x5a, 0xba, 0x08, 0xb7, 0xc1, 0x97, 0x03, 0xdd, 0xc1, 0x6d, 0x08, 0x43, 0x54, 0x00, 0x00, 0x07,
|
||||
0xf4, 0x49, 0x44, 0x41, 0x54, 0x8b, 0x6e, 0x31, 0x47, 0x6d, 0x29, 0x9f, 0x5d, 0x69, 0x3e, 0xf5,
|
||||
0xa1, 0xd8, 0xeb, 0x57, 0x3a, 0xe7, 0xfc, 0xd6, 0xbf, 0xef, 0x94, 0x20, 0xaf, 0xc4, 0xd0, 0x66,
|
||||
0x53, 0x8a, 0xf1, 0xbf, 0xa6, 0xf7, 0xfe, 0x87, 0x81, 0x52, 0x23, 0xca, 0xd6, 0x2b, 0xf8, 0xe6,
|
||||
0x94, 0xe5, 0xf1, 0x53, 0x7e, 0xa8, 0xb6, 0xdd, 0x5a, 0xc9, 0x3e, 0x14, 0xcc, 0xfb, 0x76, 0x82,
|
||||
0x77, 0x23, 0x80, 0x3b, 0x83, 0xe7, 0xbd, 0xce, 0xc4, 0xf3, 0xc9, 0x8c, 0xdd, 0x3c, 0xe3, 0xf2,
|
||||
0x8c, 0x7f, 0xd4, 0xc0, 0xa6, 0xd5, 0x0f, 0x37, 0x2c, 0x08, 0x32, 0x8d, 0x89, 0xd8, 0xd4, 0x4c,
|
||||
0x32, 0x9d, 0x32, 0x8d, 0x8a, 0x86, 0x50, 0x4a, 0x11, 0x11, 0x93, 0x81, 0xe3, 0xa4, 0x8b, 0x4d,
|
||||
0x57, 0x75, 0xed, 0xbc, 0xc3, 0x31, 0xaa, 0xa9, 0x13, 0x3e, 0x56, 0x1e, 0xe8, 0x36, 0x7a, 0x57,
|
||||
0xaa, 0x81, 0x4d, 0x41, 0x79, 0xcf, 0x7e, 0xec, 0xf7, 0xb7, 0xb1, 0x2b, 0x1b, 0x0a, 0xb3, 0x7a,
|
||||
0xce, 0x2c, 0xd1, 0xd6, 0x61, 0xb4, 0x9f, 0xc0, 0x52, 0x33, 0x77, 0x6f, 0xdb, 0x50, 0x95, 0xa6,
|
||||
0x6c, 0x7b, 0x9f, 0xcb, 0xa5, 0xe0, 0x34, 0xee, 0x3e, 0x3c, 0x44, 0x10, 0x1c, 0xb6, 0xc5, 0xca,
|
||||
0xed, 0x17, 0x75, 0x66, 0x57, 0x97, 0x37, 0x3e, 0xd9, 0xd2, 0x3c, 0x55, 0x4c, 0x3f, 0x53, 0x4f,
|
||||
0x5d, 0x0e, 0xe9, 0x73, 0x78, 0x7f, 0x56, 0xbf, 0xf4, 0x17, 0x13, 0xbf, 0x96, 0x96, 0x4a, 0x9c,
|
||||
0xc5, 0xa7, 0xf8, 0xd5, 0x5c, 0xe7, 0x8e, 0x8d, 0x64, 0xb7, 0x05, 0xed, 0x57, 0x3a, 0x4e, 0x42,
|
||||
0x90, 0x3f, 0x6a, 0xf1, 0x28, 0x63, 0x09, 0x7b, 0x80, 0xa7, 0xc1, 0x0d, 0x53, 0xc4, 0x9c, 0xce,
|
||||
0x3d, 0xb9, 0x0d, 0xdb, 0x1f, 0x17, 0xf3, 0x78, 0xe3, 0xbb, 0x8f, 0xa0, 0x3f, 0x42, 0x22, 0x10,
|
||||
0x4e, 0x09, 0x54, 0x35, 0x5a, 0x4e, 0x2c, 0x04, 0xeb, 0xf1, 0xbb, 0x73, 0xe2, 0xe7, 0xdd, 0xcf,
|
||||
0x2e, 0x58, 0x25, 0xef, 0xbd, 0x38, 0x2c, 0x77, 0x8a, 0x43, 0x7a, 0x07, 0x62, 0x56, 0xb7, 0x99,
|
||||
0xa4, 0x3d, 0xef, 0x8a, 0xc4, 0x89, 0x5f, 0x61, 0xbd, 0xbf, 0xe9, 0x59, 0xf7, 0x4d, 0x63, 0xfe,
|
||||
0x97, 0x98, 0x23, 0x08, 0x1e, 0x71, 0xad, 0xb5, 0x0b, 0x29, 0x09, 0xb0, 0x2f, 0xdf, 0xd5, 0x77,
|
||||
0x0e, 0xb6, 0x3e, 0xf1, 0x48, 0xcb, 0x14, 0xbf, 0xa9, 0x35, 0x93, 0x89, 0x89, 0xb2, 0x59, 0x65,
|
||||
0x8c, 0x49, 0x19, 0xa3, 0xa1, 0x65, 0x28, 0xc4, 0xb9, 0x45, 0x12, 0xae, 0x9b, 0xa7, 0xb7, 0xf4,
|
||||
0xec, 0x7e, 0x30, 0x93, 0xdf, 0x92, 0x69, 0x99, 0x69, 0x2e, 0x78, 0x0b, 0xa4, 0x2f, 0xbc, 0x5c,
|
||||
0x1d, 0xa3, 0xe8, 0xef, 0xd8, 0x99, 0x0d, 0xde, 0xcb, 0x22, 0x11, 0xb0, 0x46, 0xed, 0x17, 0x7a,
|
||||
0x76, 0x6c, 0x96, 0x66, 0x47, 0xd0, 0xbc, 0xdc, 0x75, 0x98, 0xe0, 0x23, 0x6d, 0x63, 0x9c, 0xb8,
|
||||
0x3e, 0x91, 0x65, 0x70, 0x40, 0x96, 0x33, 0x27, 0x97, 0xf4, 0xd1, 0x9b, 0x06, 0x9e, 0x55, 0xc5,
|
||||
0x0d, 0x00, 0xc8, 0x48, 0x70, 0x58, 0x07, 0x85, 0xfa, 0x23, 0x03, 0x19, 0xb9, 0x83, 0xb9, 0x33,
|
||||
0xc2, 0x96, 0xd7, 0xc1, 0x6c, 0x4c, 0xdb, 0x92, 0x84, 0xaa, 0xdf, 0x2c, 0x40, 0x31, 0xc3, 0xd2,
|
||||
0x39, 0x87, 0xf7, 0x31, 0x47, 0x58, 0xb6, 0xb0, 0x1d, 0x11, 0x8b, 0x8b, 0xed, 0xbb, 0x77, 0xed,
|
||||
0xea, 0x7a, 0x0a, 0x1d, 0xd0, 0xed, 0x01, 0x00, 0x62, 0x9a, 0x73, 0x2d, 0x55, 0xaf, 0x3b, 0xef,
|
||||
0x92, 0xc2, 0x06, 0xd0, 0xbd, 0xe7, 0xd0, 0x09, 0xdf, 0x73, 0x2f, 0xfa, 0x83, 0xbf, 0xee, 0xd3,
|
||||
0xd5, 0x17, 0x7f, 0x04, 0x80, 0xec, 0x90, 0x04, 0x0e, 0xad, 0x3d, 0x5a, 0x34, 0x20, 0x07, 0x47,
|
||||
0xd5, 0x76, 0x93, 0x79, 0xe4, 0x27, 0x8d, 0x39, 0x97, 0x87, 0x9b, 0xbe, 0x95, 0x7b, 0xe5, 0x47,
|
||||
0xa5, 0x19, 0x9f, 0x48, 0xbb, 0x0b, 0x2c, 0x2b, 0xc7, 0xb9, 0x20, 0x40, 0xd6, 0x22, 0x49, 0x47,
|
||||
0x75, 0x8a, 0x39, 0x99, 0xde, 0x97, 0xd7, 0x5b, 0x4e, 0x65, 0xc6, 0xac, 0x56, 0x37, 0x61, 0xbb,
|
||||
0x42, 0xa4, 0xad, 0xde, 0x01, 0xd5, 0x10, 0xca, 0x18, 0x8d, 0x76, 0x94, 0x96, 0x90, 0x88, 0xc7,
|
||||
0xd8, 0xb4, 0xb3, 0x4b, 0xa8, 0x14, 0x7b, 0x9e, 0x56, 0x95, 0x5d, 0x00, 0xb8, 0x93, 0xac, 0x0f,
|
||||
0x27, 0xfd, 0xfd, 0x9a, 0xf7, 0x50, 0x67, 0x22, 0x64, 0x36, 0x1b, 0xf4, 0x38, 0x89, 0x39, 0x4e,
|
||||
0xeb, 0x85, 0x20, 0x33, 0x6e, 0x2a, 0xd3, 0x18, 0x63, 0x6f, 0x95, 0xb1, 0x36, 0x23, 0x21, 0xb2,
|
||||
0x0c, 0x6e, 0x1a, 0x94, 0xab, 0x66, 0x94, 0xbb, 0x84, 0x92, 0xcb, 0x74, 0x58, 0xd0, 0xc4, 0xaa,
|
||||
0xfe, 0xc1, 0xd9, 0x86, 0x96, 0x0d, 0xfb, 0x75, 0xee, 0x0a, 0x83, 0xa5, 0xad, 0xaa, 0xe2, 0x0e,
|
||||
0x48, 0x72, 0x5e, 0xb7, 0xdd, 0x12, 0x71, 0x48, 0x19, 0x17, 0x7b, 0x08, 0x8a, 0x48, 0x10, 0x21,
|
||||
0x1e, 0x37, 0x19, 0x23, 0x32, 0x9a, 0x0a, 0xf9, 0x72, 0xb1, 0xfa, 0xbc, 0x6e, 0x49, 0xb7, 0x04,
|
||||
0x0e, 0xe7, 0x5c, 0x08, 0x01, 0x84, 0x65, 0xa9, 0x9c, 0xd9, 0x17, 0x66, 0x77, 0xa4, 0x53, 0xab,
|
||||
0xae, 0x08, 0x3b, 0x2e, 0xb1, 0x96, 0x7d, 0x5d, 0xcc, 0x79, 0x67, 0xb0, 0xe1, 0xd6, 0x60, 0xc7,
|
||||
0xdd, 0xaa, 0x98, 0x47, 0x2d, 0xfb, 0x9c, 0xf4, 0x84, 0xe7, 0xfc, 0x50, 0x2a, 0x0d, 0xa5, 0xe7,
|
||||
0x9a, 0x73, 0xae, 0x30, 0xe7, 0x5c, 0xa1, 0xc3, 0x52, 0x79, 0xed, 0x75, 0x5e, 0xcf, 0x33, 0xde,
|
||||
0xac, 0xcf, 0xba, 0x89, 0x79, 0x08, 0xb2, 0x64, 0x83, 0x08, 0xc4, 0x95, 0x65, 0xe7, 0x1c, 0x29,
|
||||
0x0a, 0x53, 0x7a, 0x77, 0xe4, 0x77, 0xd9, 0xa6, 0xdf, 0xde, 0xd2, 0x92, 0x48, 0xda, 0xae, 0x6b,
|
||||
0x90, 0x07, 0xc6, 0x65, 0x9c, 0xf5, 0xe6, 0xe4, 0x8c, 0xc1, 0xc0, 0xe4, 0x68, 0xf6, 0x9b, 0x09,
|
||||
0x73, 0xa0, 0x62, 0xea, 0xe6, 0x93, 0x48, 0x87, 0x00, 0xaa, 0xe5, 0x83, 0xb3, 0x7d, 0x81, 0x31,
|
||||
0xd4, 0xc3, 0x94, 0x94, 0x95, 0x8a, 0x9b, 0xc4, 0x4c, 0xa9, 0x02, 0x2e, 0x1c, 0xdb, 0xf2, 0xc6,
|
||||
0xec, 0x7c, 0x46, 0x0b, 0x1e, 0xa5, 0x50, 0xb7, 0xef, 0x4a, 0x3a, 0x16, 0x84, 0x56, 0x42, 0x49,
|
||||
0x09, 0x9d, 0x54, 0x2a, 0xd0, 0xb6, 0x55, 0x37, 0x1d, 0xf2, 0x77, 0x6c, 0xcd, 0x7c, 0xf8, 0x0f,
|
||||
0xc3, 0x34, 0x88, 0x91, 0xcb, 0x6b, 0x73, 0x5a, 0xa3, 0xe2, 0x88, 0x3c, 0xc1, 0x76, 0x19, 0xba,
|
||||
0x48, 0xda, 0xac, 0xd5, 0x0d, 0x11, 0x4c, 0x93, 0x32, 0xc9, 0xa4, 0x6d, 0x5a, 0x52, 0x86, 0x5c,
|
||||
0x05, 0x4e, 0xcc, 0x62, 0x42, 0x11, 0x0f, 0x19, 0x94, 0x05, 0xe9, 0x2b, 0x6d, 0xb4, 0x9f, 0x99,
|
||||
0x8b, 0xcd, 0xd2, 0x9b, 0x7e, 0x95, 0xd8, 0xb1, 0xd2, 0x9c, 0x77, 0xa5, 0x58, 0xf2, 0x39, 0xeb,
|
||||
0xe8, 0xeb, 0xd5, 0xc0, 0x46, 0xd9, 0xf3, 0xb4, 0xca, 0x6f, 0x96, 0x95, 0x89, 0xbd, 0xd9, 0x3a,
|
||||
0x77, 0x42, 0xb2, 0x1a, 0x79, 0xf3, 0xc9, 0x2c, 0x35, 0xdf, 0x37, 0xe7, 0x68, 0xe9, 0x95, 0x5e,
|
||||
0xfc, 0xaf, 0xf2, 0x8e, 0xc7, 0x83, 0xd8, 0x2c, 0x3e, 0xff, 0x46, 0xd2, 0xa6, 0x6d, 0x14, 0x4c,
|
||||
0x83, 0x73, 0xce, 0x19, 0x27, 0x4d, 0x4c, 0x31, 0x69, 0x3a, 0x4e, 0x4c, 0x6b, 0xee, 0x33, 0x83,
|
||||
0x27, 0x9d, 0x98, 0x65, 0x9b, 0x82, 0x14, 0x07, 0x07, 0x24, 0x6c, 0xf4, 0xf9, 0xdc, 0x2d, 0xe9,
|
||||
0x46, 0x31, 0xb4, 0xe1, 0x02, 0xd1, 0xe0, 0x10, 0x0b, 0x40, 0xd2, 0x26, 0x2d, 0x6d, 0x00, 0x5a,
|
||||
0x05, 0x41, 0xdd, 0x66, 0x24, 0x7f, 0x57, 0x9e, 0x0c, 0xb9, 0x2a, 0x07, 0xe4, 0x38, 0x06, 0xa0,
|
||||
0x35, 0x4c, 0xa2, 0x60, 0x3c, 0xd1, 0x35, 0x8a, 0xfa, 0x12, 0x16, 0x00, 0x55, 0x97, 0x6a, 0x26,
|
||||
0x0c, 0xad, 0x85, 0xfe, 0xfb, 0xbf, 0xc6, 0x78, 0x71, 0x2f, 0x4d, 0x63, 0xec, 0x3b, 0xa5, 0xc1,
|
||||
0x1d, 0x1a, 0x88, 0x51, 0x0f, 0x81, 0xd7, 0xe7, 0x26, 0x08, 0x41, 0x44, 0xc2, 0x30, 0xb8, 0x52,
|
||||
0x0a, 0x44, 0x82, 0x73, 0x2e, 0x58, 0x6d, 0xf2, 0x43, 0x08, 0x06, 0x68, 0xad, 0x7d, 0x95, 0x9c,
|
||||
0xe3, 0xcd, 0xf9, 0x60, 0xbe, 0xef, 0x31, 0x7a, 0xf6, 0xbf, 0x12, 0xce, 0xf7, 0x9d, 0xa9, 0xc7,
|
||||
0xb3, 0xcc, 0x12, 0x31, 0xe3, 0x5c, 0x16, 0x9f, 0x36, 0x7a, 0x21, 0x09, 0x4d, 0x30, 0x57, 0x0f,
|
||||
0x80, 0xb4, 0x0e, 0x06, 0x10, 0x96, 0x55, 0x61, 0x93, 0xff, 0xc2, 0x4f, 0x2a, 0xbd, 0x1b, 0xa5,
|
||||
0xd1, 0x5c, 0x6d, 0xbf, 0xd4, 0x6e, 0x9c, 0x67, 0x32, 0xcf, 0x34, 0xa4, 0x65, 0x09, 0xc6, 0x38,
|
||||
0x67, 0xd0, 0x50, 0xd0, 0x60, 0x8c, 0x0c, 0xc1, 0x59, 0x3c, 0x1e, 0x73, 0x14, 0x11, 0x13, 0x82,
|
||||
0x38, 0xe7, 0xb5, 0x1d, 0x2e, 0x48, 0x13, 0x41, 0x26, 0x68, 0x77, 0x55, 0xbb, 0x01, 0xe2, 0xc3,
|
||||
0x13, 0x58, 0x23, 0xcd, 0x8c, 0x03, 0xac, 0xc6, 0x78, 0x87, 0x59, 0xff, 0x08, 0x83, 0x1b, 0x1a,
|
||||
0x56, 0xff, 0xa1, 0x3e, 0x80, 0x2d, 0xa8, 0x1c, 0xf4, 0x62, 0x30, 0x73, 0x6b, 0xac, 0x4a, 0x3f,
|
||||
0x68, 0x1b, 0x52, 0x8f, 0xbd, 0xd4, 0xa2, 0xbe, 0x29, 0xc6, 0xa8, 0x9f, 0xe0, 0xa3, 0x96, 0x92,
|
||||
0x56, 0xf7, 0xaa, 0x9c, 0x13, 0x63, 0x04, 0x30, 0xa5, 0x34, 0x1f, 0x5a, 0x55, 0xc9, 0x98, 0x06,
|
||||
0x48, 0x88, 0x9a, 0xd3, 0x0a, 0x12, 0xa6, 0xe8, 0xe5, 0x67, 0x21, 0x73, 0x62, 0xbe, 0xf8, 0xea,
|
||||
0xce, 0xed, 0xeb, 0x1b, 0xb7, 0xac, 0x15, 0x0c, 0x92, 0xc7, 0xc8, 0xae, 0x13, 0x54, 0x13, 0x84,
|
||||
0xfa, 0xf5, 0x61, 0x5a, 0x45, 0x9a, 0x91, 0xaf, 0x24, 0x2a, 0x25, 0x66, 0x58, 0x2d, 0x7e, 0xfb,
|
||||
0x3b, 0x94, 0xd5, 0xd6, 0x9a, 0x22, 0x89, 0xc0, 0x32, 0xb9, 0x61, 0x70, 0x22, 0xe2, 0xa4, 0x51,
|
||||
0x4b, 0x21, 0x04, 0x34, 0xc0, 0x19, 0x31, 0xc6, 0xa1, 0x07, 0xdd, 0xf9, 0xf0, 0xb6, 0x9b, 0x5a,
|
||||
0xd7, 0x3e, 0xac, 0x24, 0xb1, 0xad, 0x8a, 0x06, 0x86, 0x10, 0x7b, 0xed, 0x76, 0x36, 0xae, 0x73,
|
||||
0x60, 0x07, 0x9d, 0x27, 0xe3, 0x55, 0xdd, 0x28, 0xea, 0x27, 0xb0, 0x65, 0x6f, 0x89, 0xcb, 0xfe,
|
||||
0xb4, 0xbb, 0xfc, 0x8d, 0xea, 0x73, 0x6c, 0xea, 0x53, 0xfd, 0x29, 0x34, 0xde, 0xd8, 0xb4, 0x56,
|
||||
0x41, 0x9c, 0xef, 0xbd, 0xf2, 0x9b, 0x31, 0x12, 0x82, 0x33, 0x46, 0x32, 0xf0, 0x9b, 0xe2, 0x21,
|
||||
0x60, 0xf5, 0xea, 0xd9, 0x8e, 0xb9, 0xc0, 0xd3, 0x41, 0xd1, 0xcf, 0x29, 0xed, 0xd7, 0xef, 0x6f,
|
||||
0x35, 0x11, 0xf7, 0x5e, 0x65, 0x26, 0x63, 0x24, 0x38, 0x4f, 0x23, 0x1d, 0xaf, 0x0a, 0xa3, 0x35,
|
||||
0xa9, 0x34, 0x71, 0xce, 0x94, 0x65, 0x72, 0x56, 0xf3, 0xf6, 0xe3, 0xf1, 0x64, 0x2f, 0x4a, 0x93,
|
||||
0xae, 0x79, 0x19, 0xad, 0xb9, 0x89, 0x9c, 0x85, 0xec, 0x50, 0xa7, 0xf2, 0x0f, 0xed, 0x03, 0xf6,
|
||||
0xcb, 0x55, 0x31, 0x66, 0x64, 0xf4, 0xe0, 0x50, 0xfc, 0x2f, 0x6a, 0xcc, 0xe3, 0x2c, 0xb4, 0xd5,
|
||||
0xe3, 0xf5, 0x87, 0x0c, 0x50, 0xc4, 0xc0, 0x41, 0x4c, 0x08, 0xae, 0xb5, 0x54, 0xaa, 0x21, 0x69,
|
||||
0x2b, 0x45, 0xa1, 0x24, 0xa5, 0x32, 0x52, 0xaa, 0xda, 0xd2, 0x3b, 0xa5, 0x15, 0x11, 0x41, 0x4f,
|
||||
0x24, 0xc1, 0xa3, 0xa1, 0x19, 0x31, 0x02, 0x31, 0x46, 0xc4, 0x98, 0xe0, 0x8c, 0x71, 0xc6, 0x04,
|
||||
0x13, 0x82, 0x71, 0x32, 0x19, 0x67, 0x8c, 0x40, 0x50, 0xba, 0x96, 0x58, 0x33, 0xd4, 0xaa, 0xc7,
|
||||
0x5d, 0x2a, 0x56, 0xb7, 0xab, 0x00, 0x9f, 0x28, 0xda, 0xef, 0x00, 0x78, 0x7b, 0xc8, 0x44, 0xf1,
|
||||
0xfe, 0x44, 0x17, 0xa4, 0xd5, 0x60, 0x1d, 0x32, 0x08, 0x70, 0xa5, 0x35, 0x23, 0xe2, 0x8c, 0x69,
|
||||
0x48, 0xa5, 0x98, 0xd4, 0xa4, 0xf5, 0x90, 0xa3, 0xd7, 0xb5, 0x06, 0x30, 0xe1, 0x04, 0x0f, 0x81,
|
||||
0x88, 0x31, 0x22, 0x80, 0x33, 0x02, 0x23, 0xc1, 0x18, 0x88, 0xf8, 0x60, 0x4e, 0xbb, 0x1a, 0x72,
|
||||
0xdb, 0x87, 0xd2, 0x1e, 0xa3, 0x7f, 0x1a, 0xc4, 0x5f, 0x81, 0x46, 0x13, 0xbd, 0xa9, 0x30, 0x30,
|
||||
0x80, 0x31, 0x68, 0x4d, 0x20, 0x2e, 0xa5, 0x1e, 0x1c, 0x31, 0xd4, 0xa5, 0x1a, 0x4f, 0xbc, 0x9f,
|
||||
0x13, 0x1a, 0xfa, 0xb1, 0x20, 0x22, 0x30, 0x22, 0x4d, 0xf5, 0x71, 0x0e, 0x35, 0xc9, 0xea, 0xfa,
|
||||
0x80, 0xa8, 0x2f, 0x27, 0xa5, 0x35, 0x46, 0x72, 0x21, 0x31, 0xb8, 0x6c, 0x12, 0x00, 0x69, 0x75,
|
||||
0x48, 0xbc, 0xd5, 0x48, 0x1f, 0xa0, 0xc7, 0xa0, 0xfb, 0xe4, 0x65, 0xfe, 0x5e, 0xd4, 0x57, 0x93,
|
||||
0xd3, 0x12, 0x63, 0x53, 0xe1, 0xef, 0x39, 0x09, 0xff, 0xb7, 0x79, 0xad, 0xba, 0x9d, 0x77, 0xc6,
|
||||
0x58, 0x65, 0x3c, 0xd9, 0x21, 0x26, 0x9f, 0xd4, 0xf9, 0x73, 0xa8, 0x13, 0x21, 0xa2, 0x7e, 0x84,
|
||||
0x08, 0x87, 0x26, 0xf5, 0x55, 0x64, 0x91, 0x08, 0x93, 0x58, 0xeb, 0xb3, 0xc8, 0x2c, 0x11, 0x26,
|
||||
0xa7, 0xe0, 0x89, 0x54, 0x4f, 0x84, 0xc9, 0x47, 0xfd, 0x68, 0x78, 0x17, 0x61, 0x92, 0x52, 0x5f,
|
||||
0x46, 0x16, 0x89, 0x30, 0x29, 0xa9, 0x4f, 0x91, 0xe0, 0x89, 0x30, 0x99, 0x87, 0xb9, 0x11, 0x22,
|
||||
0x4c, 0x3a, 0xea, 0x0f, 0xee, 0xfe, 0x16, 0x35, 0x80, 0x08, 0x93, 0x8e, 0xfa, 0x51, 0x5c, 0x3f,
|
||||
0xc2, 0x64, 0xd6, 0xfa, 0x11, 0x22, 0x4c, 0x52, 0xc1, 0x13, 0x8d, 0x73, 0x23, 0x4c, 0x3a, 0xea,
|
||||
0x0f, 0x26, 0x32, 0x50, 0x64, 0x97, 0x08, 0x93, 0x8d, 0xfa, 0xf5, 0x0d, 0x20, 0x42, 0x84, 0x68,
|
||||
0x98, 0x1b, 0x21, 0xc2, 0xa1, 0xee, 0xf5, 0x23, 0xad, 0x1f, 0x61, 0x32, 0x6b, 0xfd, 0x88, 0xf9,
|
||||
0x11, 0x26, 0x01, 0xd8, 0x6b, 0xbc, 0x7e, 0x44, 0xfc, 0x08, 0x93, 0xd0, 0xeb, 0xab, 0x68, 0x36,
|
||||
0x37, 0xc2, 0x64, 0xd6, 0xfa, 0x51, 0xd2, 0x72, 0x84, 0x49, 0xaa, 0xf5, 0x23, 0x44, 0x98, 0xa4,
|
||||
0x5e, 0x3f, 0x42, 0x84, 0xc9, 0xaa, 0xf5, 0x23, 0xb3, 0x44, 0x88, 0xbc, 0x7e, 0x84, 0x08, 0x93,
|
||||
0x48, 0xeb, 0x47, 0xfc, 0x8f, 0x10, 0x79, 0xfd, 0x08, 0x11, 0x22, 0xea, 0x47, 0x88, 0x70, 0x08,
|
||||
0x53, 0x3f, 0x8a, 0xe8, 0x47, 0x98, 0xd4, 0x5a, 0x3f, 0x42, 0x84, 0xc8, 0xeb, 0x47, 0x88, 0x10,
|
||||
0x69, 0xfd, 0x08, 0x11, 0x22, 0xea, 0x47, 0x88, 0x70, 0x68, 0x6a, 0xfd, 0x88, 0xff, 0x11, 0x22,
|
||||
0xaf, 0x1f, 0x21, 0xc2, 0xe4, 0xa0, 0x7e, 0xb4, 0xf1, 0x60, 0x84, 0xc8, 0xeb, 0x47, 0x88, 0x10,
|
||||
0x51, 0x3f, 0x42, 0x84, 0x49, 0x42, 0xfd, 0x88, 0xff, 0x11, 0x26, 0x9f, 0xd6, 0x57, 0x40, 0x94,
|
||||
0xaf, 0x1f, 0x21, 0x12, 0x3c, 0x11, 0x22, 0x44, 0x82, 0x27, 0x42, 0x84, 0xc8, 0xeb, 0x47, 0x88,
|
||||
0x70, 0xe8, 0x51, 0x3f, 0x4a, 0x5f, 0x8b, 0x10, 0x79, 0xfd, 0x08, 0x11, 0x0e, 0x6d, 0xd0, 0x67,
|
||||
0xde, 0x36, 0xf2, 0x4f, 0x43, 0x43, 0x43, 0x64, 0x91, 0x08, 0x87, 0x30, 0xb2, 0xd9, 0xec, 0xd8,
|
||||
0x5e, 0xbf, 0xfe, 0x83, 0x08, 0x11, 0x0e, 0x6d, 0xb0, 0xc8, 0x04, 0x11, 0x22, 0xea, 0x47, 0x88,
|
||||
0x30, 0x89, 0xf0, 0xff, 0x01, 0xff, 0x06, 0x5d, 0x67, 0xc8, 0xbc, 0x24, 0x9a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
|
||||
};
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3.CustomUI;
|
||||
|
||||
class patch_MU3UIImageChanger: MU3UIImageChanger {
|
||||
private Sprite[] _sprites;
|
||||
|
||||
public Sprite[] sprites {
|
||||
get { return _sprites; }
|
||||
set { _sprites = value; }
|
||||
}
|
||||
}
|
18
SortByInternalDifficulty/MU3.DB/patch_MusicSort1ID.cs
Normal file
18
SortByInternalDifficulty/MU3.DB/patch_MusicSort1ID.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.DB;
|
||||
|
||||
[MonoModEnumReplace]
|
||||
public enum patch_MusicSort1ID {
|
||||
Genre = 0,
|
||||
All = 1,
|
||||
Character = 2,
|
||||
Version = 3,
|
||||
Level = 4,
|
||||
Name = 5,
|
||||
Attribute = 6,
|
||||
InternalLevel = 7,
|
||||
Begin = 0,
|
||||
End = 8,
|
||||
Invalid = -1
|
||||
}
|
40
SortByInternalDifficulty/MU3.DB/patch_MusicSort1IDEnum.cs
Normal file
40
SortByInternalDifficulty/MU3.DB/patch_MusicSort1IDEnum.cs
Normal file
@ -0,0 +1,40 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.DB;
|
||||
|
||||
[MonoModPatch("global::MU3.DB.MusicSort1IDEnum")]
|
||||
public static class patch_MusicSort1IDEnum {
|
||||
private static MusicSort1TableRecord[] records;
|
||||
public static patch_MusicSort1ID[] List;
|
||||
public static extern bool orig_loadFromFile(string filename);
|
||||
|
||||
public static bool loadFromFile(string filename) {
|
||||
var rv = orig_loadFromFile(filename);
|
||||
records = new[] {
|
||||
new MusicSort1TableRecord(0, "Genre", "ジャンル", 0),
|
||||
new MusicSort1TableRecord(1, "All", "全曲", 0),
|
||||
new MusicSort1TableRecord(2, "Character", "キャラクター", 0),
|
||||
new MusicSort1TableRecord(3, "Version", "バージョン", 0),
|
||||
new MusicSort1TableRecord(4, "Level", "譜面レベル", 0),
|
||||
new MusicSort1TableRecord(5, "Name", "曲名", 0),
|
||||
new MusicSort1TableRecord(6, "Attribute", "属性", 0),
|
||||
new MusicSort1TableRecord(7, "InternalLevel", "譜面定数", 0)
|
||||
};
|
||||
List = new[] {
|
||||
patch_MusicSort1ID.Genre,
|
||||
patch_MusicSort1ID.All,
|
||||
patch_MusicSort1ID.Character,
|
||||
patch_MusicSort1ID.Version,
|
||||
patch_MusicSort1ID.Level,
|
||||
patch_MusicSort1ID.Name,
|
||||
patch_MusicSort1ID.Attribute,
|
||||
patch_MusicSort1ID.InternalLevel
|
||||
};
|
||||
return rv;
|
||||
}
|
||||
|
||||
// Not exactly sure why this is necessary
|
||||
public static bool isValid(this patch_MusicSort1ID self) {
|
||||
return self >= patch_MusicSort1ID.Genre && self < patch_MusicSort1ID.End;
|
||||
}
|
||||
}
|
15
SortByInternalDifficulty/MU3.DB/patch_MusicSort2IDEnum.cs
Normal file
15
SortByInternalDifficulty/MU3.DB/patch_MusicSort2IDEnum.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.DB;
|
||||
|
||||
[MonoModPatch("global::MU3.DB.MusicSort2IDEnum")]
|
||||
public static class patch_MusicSort2IDEnum {
|
||||
private static MusicSort2TableRecord[] records;
|
||||
public static extern bool orig_loadFromFile(string filename);
|
||||
|
||||
public static bool loadFromFile(string filename) {
|
||||
var rv = orig_loadFromFile(filename);
|
||||
records[4].Name = "譜面定数";
|
||||
return rv;
|
||||
}
|
||||
}
|
20
SortByInternalDifficulty/MU3.User/patch_UserDetail.cs
Normal file
20
SortByInternalDifficulty/MU3.User/patch_UserDetail.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using MU3.Client;
|
||||
using MU3.DB;
|
||||
|
||||
namespace MU3.User;
|
||||
class patch_UserDetail: UserDetail {
|
||||
public extern void orig_copyTo(UserData userDetail);
|
||||
public new void copyTo(UserData userDetail) {
|
||||
orig_copyTo(userDetail);
|
||||
|
||||
// Attempting to use a profile with InternalLevel sorting enabled
|
||||
// causes unpatched clients to crash thanks to enormous incompetence
|
||||
// of Sxga's interns. So, unfortunately, this value has to be discarded.
|
||||
// See:
|
||||
// * MusicSelectViewDataList._sort1 set
|
||||
// * UserDetail.copyFrom()
|
||||
if(userDetail.tabSetting == (int)patch_MusicSort1ID.InternalLevel) {
|
||||
userDetail.tabSetting = (int)patch_MusicSort1ID.Level;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,128 @@
|
||||
using MU3.DataStudio;
|
||||
using MU3.DB;
|
||||
using MU3.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace MU3.ViewData;
|
||||
|
||||
class patch_MusicSelectViewDataList: MusicSelectViewDataList {
|
||||
private delegate int CompareProc(MusicSelectViewData d1, MusicSelectViewData d2, bool forSort1);
|
||||
private delegate string GetCategoryNameProc(MusicSelectViewData d);
|
||||
private MusicSort1ID __sort1;
|
||||
private CompareProc _compareProc1;
|
||||
private CompareProc _compareProc2;
|
||||
private GetCategoryNameProc _getCategoryNameProc;
|
||||
private PropertyInfo _reMasterPi = null;
|
||||
|
||||
private extern void orig_set__sort1(MusicSort1ID value);
|
||||
private extern void orig_set__sort2(MusicSort2ID value);
|
||||
|
||||
private void set__sort1(MusicSort1ID value) {
|
||||
if(value == (MusicSort1ID)patch_MusicSort1ID.InternalLevel) {
|
||||
__sort1 = value;
|
||||
_compareProc1 = compareByInternalLevel;
|
||||
_getCategoryNameProc = getCategoryNameByInternalLevel;
|
||||
} else {
|
||||
orig_set__sort1(value);
|
||||
}
|
||||
}
|
||||
|
||||
private void set__sort2(MusicSort2ID value) {
|
||||
orig_set__sort2(value);
|
||||
if(value == MusicSort2ID.Level) {
|
||||
_compareProc2 = compareByInternalLevel;
|
||||
}
|
||||
}
|
||||
|
||||
private bool isReMaster(Data.MusicData d) {
|
||||
// Fall back for pre-Act3
|
||||
if(_reMasterPi == null) {
|
||||
return false;
|
||||
}
|
||||
return (bool)_reMasterPi.GetValue(d, null);
|
||||
}
|
||||
|
||||
public extern void orig_create(GameViewData gameViewData, ChapterSelection chapterSelection, FumenDifficulty difficulty, MusicSort1ID sort1, MusicSort2ID sort2);
|
||||
|
||||
public new void create(GameViewData gameViewData, ChapterSelection chapterSelection, FumenDifficulty difficulty, MusicSort1ID sort1, MusicSort2ID sort2) {
|
||||
_reMasterPi = typeof(Data.MusicData).GetProperty("isReMaster");
|
||||
orig_create(gameViewData, chapterSelection, difficulty, sort1, sort2);
|
||||
}
|
||||
|
||||
private string getMetaGategoryName(MusicSelectViewData d) {
|
||||
var remas = isReMaster(d.musicViewData.data);
|
||||
if(d.musicViewData.data.isBonusTrack) {
|
||||
return "ボーナストラック";
|
||||
}
|
||||
if(d.musicViewData.data.isLunatic && remas && __sort1 != MusicSort1ID.Level && __sort1 != (MusicSort1ID)patch_MusicSort1ID.InternalLevel) {
|
||||
return "Re:MASTER";
|
||||
}
|
||||
return d.musicViewData.data.isLunatic && !remas ? "LUNATIC" : null;
|
||||
}
|
||||
|
||||
private string getCategoryNameByInternalLevel(MusicSelectViewData d) {
|
||||
StringBuilder stringBuilder = Singleton<MU3.Sys.System>.instance.getStringBuilder();
|
||||
Data.FumenData fumenData = ((d.musicViewData.data == null) ? null : d.musicViewData.data.fumenData[(int)d.difficulty]);
|
||||
stringBuilder.Append("LEVEL ");
|
||||
stringBuilder.AppendFormat("{0}", (fumenData == null) ? (-1) : (fumenData.fumenConst.ToString("0.0")));
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
private int getSortKeyByInternalLevel(MusicSelectViewData d) {
|
||||
return (int)Math.Round(d.musicViewData.data.fumenData[(int)d.difficulty].fumenConst * 10.0);
|
||||
}
|
||||
|
||||
private int compareByInternalLevel(MusicSelectViewData d1, MusicSelectViewData d2, bool forSort1) {
|
||||
return getSortKeyByInternalLevel(d1) - getSortKeyByInternalLevel(d2);
|
||||
}
|
||||
|
||||
private extern bool orig_isDifferentMyListSet(patch_MusicSort1ID oldSort1, patch_MusicSort1ID nowSort1);
|
||||
private bool isDifferentMyListSet(patch_MusicSort1ID oldSort1, patch_MusicSort1ID nowSort1) {
|
||||
if(oldSort1 == patch_MusicSort1ID.InternalLevel && nowSort1 != patch_MusicSort1ID.InternalLevel) {
|
||||
return true;
|
||||
}
|
||||
if(oldSort1 != patch_MusicSort1ID.InternalLevel && nowSort1 == patch_MusicSort1ID.InternalLevel) {
|
||||
return true;
|
||||
}
|
||||
return orig_isDifferentMyListSet(oldSort1, nowSort1);
|
||||
}
|
||||
|
||||
private extern int orig_createMyListMusicDataAllDifficulty(List<MusicSelectViewData> list, HashSet<int> idList, MU3.Data.MusicData musicData, MusicSort1ID sort1, int initOrder);
|
||||
private int createMyListMusicDataAllDifficulty(List<MusicSelectViewData> list, HashSet<int> idList, MU3.Data.MusicData musicData, MusicSort1ID sort1, int initOrder) {
|
||||
if(sort1 == (MusicSort1ID)patch_MusicSort1ID.InternalLevel) {
|
||||
sort1 = MusicSort1ID.Level;
|
||||
}
|
||||
return orig_createMyListMusicDataAllDifficulty(list, idList, musicData, sort1, initOrder);
|
||||
}
|
||||
|
||||
private extern int orig_getMetaSortKey(MusicSelectViewData d, bool forCategorySort);
|
||||
private int getMetaSortKey(MusicSelectViewData d, bool forCategorySort) {
|
||||
if(_reMasterPi == null) {
|
||||
return orig_getMetaSortKey(d, forCategorySort);
|
||||
}
|
||||
var remas = isReMaster(d.musicViewData.data);
|
||||
|
||||
if(forCategorySort) {
|
||||
if(d.musicViewData.data.isBonusTrack) {
|
||||
return 3;
|
||||
}
|
||||
if(d.musicViewData.data.isLunatic && remas && __sort1 != MusicSort1ID.Level && __sort1 != (MusicSort1ID)patch_MusicSort1ID.InternalLevel) {
|
||||
return 1;
|
||||
}
|
||||
if(d.musicViewData.data.isLunatic && !remas) {
|
||||
return 2;
|
||||
}
|
||||
} else {
|
||||
if(d.musicViewData.data.isLunatic && remas && __sort1 != MusicSort1ID.Level && __sort1 != (MusicSort1ID)patch_MusicSort1ID.InternalLevel) {
|
||||
return 1;
|
||||
}
|
||||
if(d.musicViewData.data.isLunatic && !remas) {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
using MU3.DB;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
public class patch_Scene_32_PrePlayMusic_MusicSelect: Scene_32_PrePlayMusic_MusicSelect {
|
||||
private static patch_MusicSort1ID[] _sort1SettingList;
|
||||
private static MusicSort2ID[] _sort2SettingList;
|
||||
private extern void orig_Awake();
|
||||
|
||||
private new void Awake() {
|
||||
_sort1SettingList = new[] {
|
||||
patch_MusicSort1ID.Genre,
|
||||
patch_MusicSort1ID.All,
|
||||
patch_MusicSort1ID.Character,
|
||||
patch_MusicSort1ID.Version,
|
||||
patch_MusicSort1ID.Level,
|
||||
patch_MusicSort1ID.Name,
|
||||
patch_MusicSort1ID.Attribute,
|
||||
patch_MusicSort1ID.InternalLevel
|
||||
};
|
||||
|
||||
_sort2SettingList = new[] {
|
||||
MusicSort2ID.Recommend,
|
||||
MusicSort2ID.BattlePoint,
|
||||
MusicSort2ID.TechnicalScore,
|
||||
MusicSort2ID.BossLevel,
|
||||
MusicSort2ID.Name,
|
||||
MusicSort2ID.AddDate,
|
||||
MusicSort2ID.Chapter,
|
||||
MusicSort2ID.Level
|
||||
//, MusicSort2ID.Lamp
|
||||
};
|
||||
|
||||
orig_Awake();
|
||||
}
|
||||
|
||||
}
|
27
SortByInternalDifficulty/MU3/patch_UISortButton.cs
Normal file
27
SortByInternalDifficulty/MU3/patch_UISortButton.cs
Normal file
@ -0,0 +1,27 @@
|
||||
using MU3.CustomUI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_UISortButton: UISortButton {
|
||||
private MU3UIImageChanger _selectPreviewImageChanger;
|
||||
|
||||
protected override void Awake() {
|
||||
base.Awake();
|
||||
|
||||
var changer = (patch_MU3UIImageChanger)_selectPreviewImageChanger;
|
||||
var n = changer.sprites.Length;
|
||||
var sprites = new Sprite[n + 1];
|
||||
|
||||
for(int i = 0; i < n; ++i) {
|
||||
sprites[i] = changer.sprites[i];
|
||||
}
|
||||
|
||||
Texture2D tex = new Texture2D(2, 2);
|
||||
tex.LoadImage(InternalSortPreview.Bytes);
|
||||
|
||||
sprites[n] = Sprite.Create(tex, new Rect(0, 0, 254, 121), sprites[0].pivot);
|
||||
|
||||
changer.sprites = sprites;
|
||||
}
|
||||
}
|
7
SortByInternalDifficulty/SortByInternalDifficulty.csproj
Normal file
7
SortByInternalDifficulty/SortByInternalDifficulty.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.SortByInternalDifficulty.mm</AssemblyName>
|
||||
<Description>Makes internal levels not internal</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
24
UnlockAllMusic/MU3.DataStudio/patch_MusicData.cs
Normal file
24
UnlockAllMusic/MU3.DataStudio/patch_MusicData.cs
Normal file
@ -0,0 +1,24 @@
|
||||
namespace MU3.DataStudio;
|
||||
|
||||
class patch_MusicData: MusicData {
|
||||
public new int CostToUnlock {
|
||||
get {
|
||||
return 0;
|
||||
}
|
||||
private set { /* nop */ }
|
||||
}
|
||||
|
||||
public new bool PossessingFromTheBeginning {
|
||||
get {
|
||||
return true;
|
||||
}
|
||||
private set { /* nop */ }
|
||||
}
|
||||
|
||||
public new bool IsLockedAtTheBeginning {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
private set { /* nop */ }
|
||||
}
|
||||
}
|
20
UnlockAllMusic/MU3/patch_Scene_25_Login.cs
Normal file
20
UnlockAllMusic/MU3/patch_Scene_25_Login.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_Scene_25_Login: Scene_25_Login {
|
||||
private enum State {
|
||||
GetUserRatinglog = 24
|
||||
}
|
||||
|
||||
private Mode<Scene_25_Login, State> mode_;
|
||||
|
||||
private void GetUserActivityMusic_Init() {
|
||||
// nop
|
||||
}
|
||||
private void GetUserActivityMusic_Proc() {
|
||||
Singleton<UserManager>.instance.updateUserActivityInLoginEnd();
|
||||
mode_.set(State.GetUserRatinglog);
|
||||
}
|
||||
}
|
7
UnlockAllMusic/UnlockAllMusic.csproj
Normal file
7
UnlockAllMusic/UnlockAllMusic.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockAllMusic.mm</AssemblyName>
|
||||
<Description>Unlock all music</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -0,0 +1,17 @@
|
||||
using MU3.DB;
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3;
|
||||
|
||||
class patch_Scene_32_PrePlayMusic_Confirm: Scene_32_PrePlayMusic_Confirm {
|
||||
private extern void orig_createSelector();
|
||||
private JewelBoostID getMaxBoost() {
|
||||
return JewelBoostID.Nine;
|
||||
}
|
||||
|
||||
private void createSelector() {
|
||||
Singleton<UserManager>.instance.userLocal.boost = JewelBoostID.Nine;
|
||||
orig_createSelector();
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockAndSetJewelBoostNine.mm</AssemblyName>
|
||||
<Description>Unlock and set the jewel boost to max</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
26
UnlockFrameRate/MU3.Notes/patch_NotesManager.cs
Normal file
26
UnlockFrameRate/MU3.Notes/patch_NotesManager.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using MU3.Game;
|
||||
using MU3.Sys;
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Notes;
|
||||
|
||||
class patch_NotesManager: NotesManager {
|
||||
private float _frame;
|
||||
private float _frameReal;
|
||||
private bool _altMode;
|
||||
public extern void orig_initialize(SessionInfo sessionInfo);
|
||||
public new void initialize(SessionInfo sessionInfo) {
|
||||
orig_initialize(sessionInfo);
|
||||
|
||||
var cfg = (patch_Config)Singleton<Sys.System>.instance.config;
|
||||
_altMode = cfg.isVsync || (cfg.framerate != 60);
|
||||
}
|
||||
private extern void orig_progressFrameAndFrameReal();
|
||||
private void progressFrameAndFrameReal() {
|
||||
if(_altMode) {
|
||||
_frame = _frameReal;
|
||||
} else {
|
||||
orig_progressFrameAndFrameReal();
|
||||
}
|
||||
}
|
||||
}
|
38
UnlockFrameRate/MU3.Sys/patch_Config.cs
Normal file
38
UnlockFrameRate/MU3.Sys/patch_Config.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace MU3.Sys;
|
||||
|
||||
class patch_Config: Config {
|
||||
public extern void orig_initialize();
|
||||
public int framerate { get; private set; }
|
||||
public bool isVsync { get; private set; }
|
||||
|
||||
public new void initialize() {
|
||||
orig_initialize();
|
||||
|
||||
using IniFile iniFile = new("mu3.ini");
|
||||
|
||||
framerate = iniFile.getIntValue("Video", "Framerate", 60);
|
||||
isVsync = iniFile.getValue("Video", "VSync", false);
|
||||
|
||||
if(framerate == 0) {
|
||||
framerate = -1;
|
||||
}
|
||||
|
||||
if(isVsync) {
|
||||
QualitySettings.vSyncCount = 1;
|
||||
framerate = -1;
|
||||
Debug.Log("[UnlockFrameRate] VSync on");
|
||||
} else {
|
||||
Application.targetFrameRate = framerate;
|
||||
QualitySettings.vSyncCount = 0;
|
||||
if(framerate == 60) {
|
||||
Debug.Log("[UnlockFrameRate] Framerate locked to 60 (vanilla)");
|
||||
} else if(framerate == -1) {
|
||||
Debug.Log("[UnlockFrameRate] Framerate unlocked");
|
||||
} else {
|
||||
Debug.Log("[UnlockFrameRate] Framerate locked to " + framerate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
29
UnlockFrameRate/MU3.Sys/patch_Time.cs
Normal file
29
UnlockFrameRate/MU3.Sys/patch_Time.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using MU3.Util;
|
||||
|
||||
namespace MU3.Sys;
|
||||
|
||||
class patch_Time: Time {
|
||||
private static bool _init;
|
||||
private static float _deltaTime;
|
||||
private static float _adjustAccumlation;
|
||||
private static float _realtimeSinceStartup;
|
||||
private static bool _altMode;
|
||||
|
||||
public extern static void orig_update();
|
||||
public static new void update() {
|
||||
if(!_init) {
|
||||
_deltaTime = UnityEngine.Time.deltaTime;
|
||||
_adjustAccumlation = 0f;
|
||||
_realtimeSinceStartup = UnityEngine.Time.realtimeSinceStartup;
|
||||
var cfg = (patch_Config)Singleton<Sys.System>.instance.config;
|
||||
_altMode = cfg.isVsync || (cfg.framerate != 60);
|
||||
_init = true;
|
||||
}
|
||||
if(_altMode) {
|
||||
_deltaTime = UnityEngine.Time.deltaTime;
|
||||
_realtimeSinceStartup = UnityEngine.Time.realtimeSinceStartup;
|
||||
} else {
|
||||
orig_update();
|
||||
}
|
||||
}
|
||||
}
|
7
UnlockFrameRate/UnlockFrameRate.csproj
Normal file
7
UnlockFrameRate/UnlockFrameRate.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockFramerate.mm</AssemblyName>
|
||||
<Description>Unlock framerate</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
35
UnlockGameEvents/MU3.Client/patch_PacketGetGameEvent.cs
Normal file
35
UnlockGameEvents/MU3.Client/patch_PacketGetGameEvent.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using MU3.Data;
|
||||
using MU3.Operation;
|
||||
using MU3.Util;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace MU3.Client;
|
||||
|
||||
class patch_PacketGetGameEvent: Packet {
|
||||
public Operation.GameEvent _gameEvent;
|
||||
public Operation.GameEvent gameEvent => _gameEvent;
|
||||
public extern State orig_proc();
|
||||
public override State proc() {
|
||||
State state = orig_proc();
|
||||
if(state == State.Done) {
|
||||
DateTime endDate = DateTime.Parse("2099-01-01 05:00:00.0");
|
||||
_gameEvent ??= new Operation.GameEvent();
|
||||
foreach(EventData eventData in SingletonStateMachine<DataManager, DataManager.EState>.instance.allEventData) {
|
||||
IdPeriod idPeriod = Enumerable.FirstOrDefault(_gameEvent.list, (IdPeriod e) => e.id == eventData.id);
|
||||
if(idPeriod != null) {
|
||||
if(idPeriod.period.endDate < CustomDateTime.Now) {
|
||||
idPeriod.period.endDate = endDate;
|
||||
}
|
||||
} else {
|
||||
idPeriod = new();
|
||||
idPeriod.id = eventData.id;
|
||||
idPeriod.period = new Period(DateTime.MinValue.Date, endDate);
|
||||
_gameEvent.list.Add(idPeriod);
|
||||
_gameEvent.lastUpdate = CustomDateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
return state;
|
||||
}
|
||||
}
|
7
UnlockGameEvents/UnlockGameEvents.csproj
Normal file
7
UnlockGameEvents/UnlockGameEvents.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockGameEvents.mm</AssemblyName>
|
||||
<Description>Unlock game events</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
13
UnlockMasterDifficulty/MU3.ViewData/patch_MusicViewData.cs
Normal file
13
UnlockMasterDifficulty/MU3.ViewData/patch_MusicViewData.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using MonoMod;
|
||||
|
||||
namespace MU3.ViewData;
|
||||
|
||||
[MonoModPatch("global::MU3.ViewData.MusicViewData")]
|
||||
public class patch_MusicViewData {
|
||||
public bool isMasterLock {
|
||||
get {
|
||||
return false;
|
||||
}
|
||||
set { /* nop */ }
|
||||
}
|
||||
}
|
7
UnlockMasterDifficulty/UnlockMasterDifficulty.csproj
Normal file
7
UnlockMasterDifficulty/UnlockMasterDifficulty.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockMasterDifficulty.mm</AssemblyName>
|
||||
<Description>Unlock master difficulty</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
@ -0,0 +1,32 @@
|
||||
using MU3.Data;
|
||||
using MU3.User;
|
||||
using MU3.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace MU3.Client;
|
||||
|
||||
class patch_PacketGetUserMemoryChapter: Packet {
|
||||
private Dictionary<int, User.UserMemoryChapter> userMemoryChapter_;
|
||||
public override State proc() {
|
||||
switch(procImpl()) {
|
||||
case State.Done: {
|
||||
GetUserMemoryChapterResponse response_ = (query_ as GetUserMemoryChapter).response_;
|
||||
foreach(MemoryChapterData memoryChapterData in SingletonStateMachine<DataManager, DataManager.EState>.instance.allMemoryChapterData) {
|
||||
UserMemoryChapter userMemoryChapter = Enumerable.FirstOrDefault(response_.userMemoryChapterList, (UserMemoryChapter c) => c.chapterId == memoryChapterData.id);
|
||||
if(userMemoryChapter != null) {
|
||||
User.UserMemoryChapter userMemoryChapter2 = new User.UserMemoryChapter();
|
||||
userMemoryChapter2.copyFrom(userMemoryChapter);
|
||||
userMemoryChapter_[userMemoryChapter2.ChapterId] = userMemoryChapter2;
|
||||
} else {
|
||||
User.UserMemoryChapter userMemoryChapter3 = new User.UserMemoryChapter(memoryChapterData.id);
|
||||
userMemoryChapter_[userMemoryChapter3.ChapterId] = userMemoryChapter3;
|
||||
}
|
||||
}
|
||||
Singleton<UserManager>.instance.UserMemoryChapter = userMemoryChapter_;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return state_;
|
||||
}
|
||||
}
|
7
UnlockMemoryChapters/UnlockMemoryChapters.csproj
Normal file
7
UnlockMemoryChapters/UnlockMemoryChapters.csproj
Normal file
@ -0,0 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Assembly-CSharp.UnlockMemoryChapters.mm</AssemblyName>
|
||||
<Description>Unlock memory chapters</Description>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Mu3Mods.csproj" />
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user