From c0b7ed8b58017bf3640015cfd7ef0b2ab44e23bb Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 5 Sep 2018 12:06:47 -0400
Subject: [PATCH 1/2] file_sys/submission_package: Replace includes with
 forward declarations where applicable

---
 src/core/file_sys/submission_package.cpp |  8 +++++++-
 src/core/file_sys/submission_package.h   | 13 ++++++++-----
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp
index bde8798616..97aa5713da 100644
--- a/src/core/file_sys/submission_package.cpp
+++ b/src/core/file_sys/submission_package.cpp
@@ -2,9 +2,15 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <cstring>
+#include <string_view>
+
 #include <fmt/ostream.h>
-#include "common/assert.h"
+
 #include "common/hex_util.h"
+#include "common/logging/log.h"
+#include "core/crypto/key_manager.h"
 #include "core/file_sys/content_archive.h"
 #include "core/file_sys/nca_metadata.h"
 #include "core/file_sys/partition_filesystem.h"
diff --git a/src/core/file_sys/submission_package.h b/src/core/file_sys/submission_package.h
index 0292164f92..1120a4920c 100644
--- a/src/core/file_sys/submission_package.h
+++ b/src/core/file_sys/submission_package.h
@@ -4,20 +4,23 @@
 
 #pragma once
 
-#include <array>
 #include <map>
+#include <memory>
 #include <vector>
 #include "common/common_types.h"
-#include "common/swap.h"
-#include "core/file_sys/content_archive.h"
-#include "core/file_sys/romfs_factory.h"
 #include "core/file_sys/vfs.h"
-#include "core/loader/loader.h"
+
+namespace Loader {
+enum class ResultStatus : u16;
+}
 
 namespace FileSys {
 
+class NCA;
 class PartitionFilesystem;
 
+enum class ContentRecordType : u8;
+
 class NSP : public ReadOnlyVfsDirectory {
 public:
     explicit NSP(VirtualFile file);

From 6bd6beee20430c30d1382b009fd7f1b8fa59613b Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 5 Sep 2018 12:13:03 -0400
Subject: [PATCH 2/2] file_sys/submission_package: Correct constructor
 initialization list order

Orders the elements in the sequence to match the order in which they'll
actually be initialized in.
---
 src/core/file_sys/submission_package.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp
index 97aa5713da..855ebf4b69 100644
--- a/src/core/file_sys/submission_package.cpp
+++ b/src/core/file_sys/submission_package.cpp
@@ -19,8 +19,8 @@
 
 namespace FileSys {
 NSP::NSP(VirtualFile file_)
-    : file(std::move(file_)),
-      pfs(std::make_shared<PartitionFilesystem>(file)), status{Loader::ResultStatus::Success} {
+    : file(std::move(file_)), status{Loader::ResultStatus::Success},
+      pfs(std::make_shared<PartitionFilesystem>(file)) {
     if (pfs->GetStatus() != Loader::ResultStatus::Success) {
         status = pfs->GetStatus();
         return;