diff --git a/.env b/.env
index 7fd01c45ffe23cd39c2c52108e4c4bc9a71cacdb..178958d1eec169788b6d1e27e62721c133f95124 100644
--- a/.env
+++ b/.env
@@ -1,2 +1 @@
-MEDIATOR_URL=https://ssi-dev.vereign.com/hin/afj-mediator/invite?oob=eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiJmOGFkYzVjZC01ZmU1LTQ5MjktODJjOC00MDdhZDY0N2I0MzQiLCJsYWJlbCI6IlZlcmVpZ24tTWVkaWF0b3IiLCJhY2NlcHQiOlsiZGlkY29tbS9haXAxIiwiZGlkY29tbS9haXAyO2Vudj1yZmMxOSJdLCJoYW5kc2hha2VfcHJvdG9jb2xzIjpbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4wIiwiaHR0cHM6Ly9kaWRjb21tLm9yZy9jb25uZWN0aW9ucy8xLjAiXSwic2VydmljZXMiOlt7ImlkIjoiI2lubGluZS0wIiwic2VydmljZUVuZHBvaW50IjoiaHR0cHM6Ly9zc2ktZGV2LnZlcmVpZ24uY29tL2hpbi9hZmotbWVkaWF0b3IiLCJ0eXBlIjoiZGlkLWNvbW11bmljYXRpb24iLCJyZWNpcGllbnRLZXlzIjpbImRpZDprZXk6ejZNa2o5TVI5dVdyZjhvWU00WXNla2VpZjNvbTJTaHY2VUpuc3hWQXdkNkdKbk1tIl0sInJvdXRpbmdLZXlzIjpbXX0seyJpZCI6IiNpbmxpbmUtMSIsInNlcnZpY2VFbmRwb2ludCI6IndzOi8vc3NpLWRldi52ZXJlaWduLmNvbS9oaW4vYWZqLW1lZGlhdG9yIiwidHlwZSI6ImRpZC1jb21tdW5pY2F0aW9uIiwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtqOU1SOXVXcmY4b1lNNFlzZWtlaWYzb20yU2h2NlVKbnN4VkF3ZDZHSm5NbSJdLCJyb3V0aW5nS2V5cyI6W119XX0
-SVDX_BASE_URL=https://did.svdx.pro
\ No newline at end of file
+MEDIATOR_URL=https://ssi-dev.vereign.com/hin/afj-mediator/invite?oob=eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiJmOGFkYzVjZC01ZmU1LTQ5MjktODJjOC00MDdhZDY0N2I0MzQiLCJsYWJlbCI6IlZlcmVpZ24tTWVkaWF0b3IiLCJhY2NlcHQiOlsiZGlkY29tbS9haXAxIiwiZGlkY29tbS9haXAyO2Vudj1yZmMxOSJdLCJoYW5kc2hha2VfcHJvdG9jb2xzIjpbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4wIiwiaHR0cHM6Ly9kaWRjb21tLm9yZy9jb25uZWN0aW9ucy8xLjAiXSwic2VydmljZXMiOlt7ImlkIjoiI2lubGluZS0wIiwic2VydmljZUVuZHBvaW50IjoiaHR0cHM6Ly9zc2ktZGV2LnZlcmVpZ24uY29tL2hpbi9hZmotbWVkaWF0b3IiLCJ0eXBlIjoiZGlkLWNvbW11bmljYXRpb24iLCJyZWNpcGllbnRLZXlzIjpbImRpZDprZXk6ejZNa2o5TVI5dVdyZjhvWU00WXNla2VpZjNvbTJTaHY2VUpuc3hWQXdkNkdKbk1tIl0sInJvdXRpbmdLZXlzIjpbXX0seyJpZCI6IiNpbmxpbmUtMSIsInNlcnZpY2VFbmRwb2ludCI6IndzOi8vc3NpLWRldi52ZXJlaWduLmNvbS9oaW4vYWZqLW1lZGlhdG9yIiwidHlwZSI6ImRpZC1jb21tdW5pY2F0aW9uIiwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtqOU1SOXVXcmY4b1lNNFlzZWtlaWYzb20yU2h2NlVKbnN4VkF3ZDZHSm5NbSJdLCJyb3V0aW5nS2V5cyI6W119XX0
\ No newline at end of file
diff --git a/.env.sample b/.env.sample
index df29dfca612313bb76db0ad1063adc9acbaf12ac..a5fcf1d380784414f5d3736cba08a0b0964bcbec 100644
--- a/.env.sample
+++ b/.env.sample
@@ -1,5 +1,4 @@
 MEDIATOR_URL=https://gaiax.vereign.com/mediator?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiZDU0Mjc2ZDUtMDUwYy00MDI1LWExYWUtNGYzMzE4MWQyM2U3IiwgImxhYmVsIjogIk1lZGlhdG9yIiwgInJlY2lwaWVudEtleXMiOiBbIkJjdGoyQllHUWN5dVRTaVlEV0tjTWNjRDNvR3Q3ZkNDellaV0trbkVNdFA5Il0sICJzZXJ2aWNlRW5kcG9pbnQiOiAiaHR0cHM6Ly9nYWlheC52ZXJlaWduLmNvbS9tZWRpYXRvciJ9
-SVDX_BASE_URL=https://did.svdx.pro
 
 # MEDIATOR_URL=https://mediator.dev.animo.id/invite?oob=eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiIyMDc1MDM4YS05ZGU3LTRiODItYWUxYi1jNzBmNDg4MjYzYTciLCJsYWJlbCI6IkFuaW1vIE1lZGlhdG9yIiwiYWNjZXB0IjpbImRpZGNvbW0vYWlwMSIsImRpZGNvbW0vYWlwMjtlbnY9cmZjMTkiXSwiaGFuZHNoYWtlX3Byb3RvY29scyI6WyJodHRwczovL2RpZGNvbW0ub3JnL2RpZGV4Y2hhbmdlLzEuMCIsImh0dHBzOi8vZGlkY29tbS5vcmcvY29ubmVjdGlvbnMvMS4wIl0sInNlcnZpY2VzIjpbeyJpZCI6IiNpbmxpbmUtMCIsInNlcnZpY2VFbmRwb2ludCI6Imh0dHBzOi8vbWVkaWF0b3IuZGV2LmFuaW1vLmlkIiwidHlwZSI6ImRpZC1jb21tdW5pY2F0aW9uIiwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtvSG9RTUphdU5VUE5OV1pQcEw3RGs1SzNtQ0NDMlBpNDJGY3FwR25iampMcSJdLCJyb3V0aW5nS2V5cyI6W119LHsiaWQiOiIjaW5saW5lLTEiLCJzZXJ2aWNlRW5kcG9pbnQiOiJ3c3M6Ly9tZWRpYXRvci5kZXYuYW5pbW8uaWQiLCJ0eXBlIjoiZGlkLWNvbW11bmljYXRpb24iLCJyZWNpcGllbnRLZXlzIjpbImRpZDprZXk6ejZNa29Ib1FNSmF1TlVQTk5XWlBwTDdEazVLM21DQ0MyUGk0MkZjcXBHbmJqakxxIl0sInJvdXRpbmdLZXlzIjpbXX1dfQ
 # MEDIATOR_URL=https://ssi-dev.vereign.com/hin/afj-mediator/invite?oob=eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiI1OTRkMTk3YS0yMzgxLTRkNmUtOTk1ZC0xODBjMzNiY2M1MGYiLCJsYWJlbCI6ImFmai12ZXJlaWduLW1lZGlhdG9yIiwiYWNjZXB0IjpbImRpZGNvbW0vYWlwMSIsImRpZGNvbW0vYWlwMjtlbnY9cmZjMTkiXSwiaGFuZHNoYWtlX3Byb3RvY29scyI6WyJodHRwczovL2RpZGNvbW0ub3JnL2RpZGV4Y2hhbmdlLzEuMCIsImh0dHBzOi8vZGlkY29tbS5vcmcvY29ubmVjdGlvbnMvMS4wIl0sInNlcnZpY2VzIjpbeyJpZCI6IiNpbmxpbmUtMCIsInNlcnZpY2VFbmRwb2ludCI6Imh0dHBzOi8vc3NpLWRldi52ZXJlaWduLmNvbS9oaW4vYWZqLW1lZGlhdG9yIiwidHlwZSI6ImRpZC1jb21tdW5pY2F0aW9uIiwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtvM0g0YWNvZ05mSHFaeUtHVERpdWRCd3o4TTU0dXRoR1ZBWFhnQzE3eHZFTCJdLCJyb3V0aW5nS2V5cyI6W119LHsiaWQiOiIjaW5saW5lLTEiLCJzZXJ2aWNlRW5kcG9pbnQiOiJ3czovL3NzaS1kZXYudmVyZWlnbi5jb20vaGluL2Fmai1tZWRpYXRvciIsInR5cGUiOiJkaWQtY29tbXVuaWNhdGlvbiIsInJlY2lwaWVudEtleXMiOlsiZGlkOmtleTp6Nk1rbzNINGFjb2dOZkhxWnlLR1REaXVkQnd6OE01NHV0aEdWQVhYZ0MxN3h2RUwiXSwicm91dGluZ0tleXMiOltdfV19
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 0000000000000000000000000000000000000000..6a81b4c83794b9140033d1df42597337f5df508c
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+2.7.8
diff --git a/README.md b/README.md
index d4c08537931544193a1845c402458db0a60073f7..eb839f5dc4466c342f92ea84b4ffe050ab52f369 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,6 @@ In the root directory add an `.env` file containing:
 MEDIATOR_URL=https://gaiax.vereign.com/mediator?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiMWY0ZjVhN2QtOWNmMi00NjZhLWJjNmItNTczOTMwMDVmNDE3IiwgInJlY2lwaWVudEtleXMiOiBbIkRBc2prQTdZeXZCM3hrc1NtYXRMVDVyM2hqUU4zQnN4R1VKWHhiU3l6RWtIIl0sICJzZXJ2aWNlRW5kcG9pbnQiOiAiaHR0cHM6Ly9nYWlheC52ZXJlaWduLmNvbS9tZWRpYXRvciIsICJsYWJlbCI6ICJNZWRpYXRvciJ9
 ```
 
-
 ## Run
 
 - Launch the metro bundler:
@@ -60,8 +59,6 @@ MEDIATOR_URL=https://gaiax.vereign.com/mediator?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6
   - (iOS) Via Xcode:
     Choose your physical iOS device as the destination. Click the "Play" button to Build and Run.
 
-**NOTE: VCM does not work on iOS simulators** -- use a physical device instead.
-
 ### Advanced Configuration
 
 #### Mediator
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 3b0029420ac5e720342a988b99cdfda72a8767fd..638128bbcd100535e990d8672328cd6185676aa9 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -100,6 +100,8 @@ android {
         targetSdkVersion rootProject.ext.targetSdkVersion
         versionCode rootProject.ext.versionCode.toInteger()
         versionName rootProject.ext.versionName
+
+        missingDimensionStrategy 'react-native-camera', 'general'
     }
 
     splits {
diff --git a/ios/MailCore.xcframework/Info.plist b/ios/MailCore.xcframework/Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..1393a2c2c679c6c84b58425f4eead830ec4bc0fc
--- /dev/null
+++ b/ios/MailCore.xcframework/Info.plist
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>MailCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64</string>
+			<key>LibraryPath</key>
+			<string>MailCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/Headers b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/Headers
new file mode 120000
index 0000000000000000000000000000000000000000..a177d2a6b92600696030834c319f5e1434f9ee6a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstract.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstract.h
new file mode 100644
index 0000000000000000000000000000000000000000..03299ec4aaacd17a44a59740a2e8c667f97efe7d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstract.h
@@ -0,0 +1,13 @@
+#ifndef MAILCORE_MCABSTRACT_H
+
+#define MAILCORE_MCABSTRACT_H
+
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCAbstractMessagePart.h>
+#include <MailCore/MCAbstractMultipart.h>
+#include <MailCore/MCAbstractPart.h>
+#include <MailCore/MCAddress.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCMessageHeader.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessage.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..1f567a52efd16db25ba17478e36ebc01f4b83e22
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessage.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCABSTRACTMESSAGE_H
+
+#define MAILCORE_MCABSTRACTMESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class AbstractPart;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT AbstractMessage : public Object {
+    public:
+        AbstractMessage();
+        virtual ~AbstractMessage();
+        
+        /** Header of the message. */
+        virtual MessageHeader * header();
+        /** Set a header of the message. */
+        virtual void setHeader(MessageHeader * header);
+        
+        /** Returns a part matching the given contentID. */
+        virtual AbstractPart * partForContentID(String * contentID);
+        /** Returns a part matching the given uniqueID */
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        /** Returns the list of attachments, not part of the content of the message. */
+        virtual Array * /* AbstractPart */ attachments();
+        /** Returns the list of attachments that are shown inline in the content of the message. */
+        virtual Array * /* AbstractPart */ htmlInlineAttachments();
+        /** Returns the list of the text parts required to render the message properly. */
+        virtual Array * /* AbstractPart */ requiredPartsForRendering();
+        
+    public: //subclass behavior
+        AbstractMessage(AbstractMessage * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * hashmap);
+        
+    private:
+        MessageHeader * mHeader;
+        void init();
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..74be7579717e1cacbe58ad40b516c0c56746361e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMessagePart.h
@@ -0,0 +1,45 @@
+#ifndef MAILCORE_MCABSTRACTMESSAGEPART_H
+
+#define MAILCORE_MCABSTRACTMESSAGEPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT AbstractMessagePart : public AbstractPart {
+    public:
+        AbstractMessagePart();
+        virtual ~AbstractMessagePart();
+        
+        virtual MessageHeader * header();
+        virtual void setHeader(MessageHeader * header);
+        
+        virtual AbstractPart * mainPart();
+        virtual void setMainPart(AbstractPart * mainPart);
+        
+    public: //subclass behavior
+        AbstractMessagePart(AbstractMessagePart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+    private:
+        AbstractPart * mMainPart;
+        MessageHeader * mHeader;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..814ee6dfad4aaa20583ccb793a9ecf99908d7cab
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractMultipart.h
@@ -0,0 +1,39 @@
+#ifndef MAILCORE_MCABSTRACTMULTIPART_H
+
+#define MAILCORE_MCABSTRACTMULTIPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AbstractMultipart : public AbstractPart {
+    public:
+        AbstractMultipart();
+        virtual ~AbstractMultipart();
+        
+        virtual Array * parts();
+        virtual void setParts(Array * parts);
+        
+    public: //subclass behavior
+        AbstractMultipart(AbstractMultipart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+    private:
+        Array * mParts;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractPart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..88b5b331c57a074ef3774d885919fed5ad590268
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAbstractPart.h
@@ -0,0 +1,91 @@
+#ifndef MAILCORE_MCABSTRACTPART_H
+
+#define MAILCORE_MCABSTRACTPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class AbstractMessage;
+    
+    class MAILCORE_EXPORT AbstractPart : public Object {
+    public:
+        AbstractPart();
+        virtual ~AbstractPart();
+        
+        virtual PartType partType();
+        virtual void setPartType(PartType type);
+        
+        virtual String * filename();
+        virtual void setFilename(String * filename);
+        
+        virtual String * mimeType();
+        virtual void setMimeType(String * mimeType);
+        
+        virtual String * charset();
+        virtual void setCharset(String * charset);
+        
+        virtual String * uniqueID();
+        virtual void setUniqueID(String * uniqueID);
+        
+        virtual String * contentID();
+        virtual void setContentID(String * contentID);
+        
+        virtual String * contentLocation();
+        virtual void setContentLocation(String * contentLocation);
+        
+        virtual String * contentDescription();
+        virtual void setContentDescription(String * contentDescription);
+        
+        virtual bool isInlineAttachment();
+        virtual void setInlineAttachment(bool inlineAttachment);
+        
+        virtual bool isAttachment();
+        virtual void setAttachment(bool attachment);
+
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual String * decodedStringForData(Data * data);
+        
+        void setContentTypeParameters(HashMap * parameters);
+        Array * allContentTypeParametersNames();
+        void setContentTypeParameter(String * name, String * object);
+        void removeContentTypeParameter(String * name);
+        String * contentTypeParameterValueForName(String * name);
+        
+    public: // subclass behavior
+        AbstractPart(AbstractPart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        virtual void importIMAPFields(struct mailimap_body_fields * fields,
+                                      struct mailimap_body_ext_1part * extension);
+        virtual void applyUniquePartID();
+        
+    private:
+        String * mUniqueID;
+        String * mFilename;
+        String * mMimeType;
+        String * mCharset;
+        String * mContentID;
+        String * mContentLocation;
+        String * mContentDescription;
+        bool mInlineAttachment;
+        bool mAttachment;
+        PartType mPartType;
+        HashMap * mContentTypeParameters;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAccountValidator.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAccountValidator.h
new file mode 100644
index 0000000000000000000000000000000000000000..436317cf4332d29ddf391b303cec7b32f645e203
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAccountValidator.h
@@ -0,0 +1,119 @@
+//
+//  MCAccountValidator.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 22/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCACCOUNTVALIDATOR_H
+
+#define MAILCORE_MCACCOUNTVALIDATOR_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class NetService;
+    class MailProvider;
+    class MXRecordResolverOperation;
+    class IMAPAsyncSession;
+    class POPAsyncSession;
+    class SMTPAsyncSession;
+
+    class MAILCORE_EXPORT AccountValidator : public Operation, public OperationCallback {
+    public:
+        AccountValidator();
+        virtual ~AccountValidator();
+        
+        virtual void setEmail(String * email);
+        virtual String * email(); /* for SMTP */
+        virtual void setUsername(String * username);
+        virtual String * username();
+        virtual void setPassword(String * password);
+        virtual String * password();
+        virtual void setOAuth2Token(String * OAuth2Token);
+        virtual String * OAuth2Token();
+
+        virtual void setImapEnabled(bool enabled);
+        virtual bool isImapEnabled();
+
+        virtual void setPopEnabled(bool enabled);
+        virtual bool isPopEnabled();
+
+        virtual void setSmtpEnabled(bool enabled);
+        virtual bool isSmtpEnabled();
+
+        virtual void setImapServices(Array * imapServices);
+        virtual Array * /* NetService */ imapServices();
+        virtual void setSmtpServices(Array * smtpServices);
+        virtual Array * /* NetService */ smtpServices();
+        virtual void setPopServices(Array * popServices);
+        virtual Array * /* NetService */ popServices();
+        
+        // result
+        virtual String * identifier();
+        virtual NetService * imapServer();
+        virtual NetService * popServer();
+        virtual NetService * smtpServer();
+        virtual ErrorCode imapError();
+        virtual ErrorCode popError();
+        virtual ErrorCode smtpError();
+        
+        virtual void start();
+        virtual void cancel();
+        
+    private:
+        String * mEmail; /* for SMTP */
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        
+        Array * /* NetService */ mImapServices;
+        Array * /* NetService */ mSmtpServices;
+        Array * /* NetService */ mPopServices;
+        
+        // result
+        String * mIdentifier;
+        NetService * mImapServer;
+        NetService * mPopServer;
+        NetService * mSmtpServer;
+        ErrorCode mImapError;
+        ErrorCode mPopError;
+        ErrorCode mSmtpError;
+        
+        MailProvider * mProvider;
+        
+        //indexs for services being tested
+        int mCurrentServiceIndex;
+        int mCurrentServiceTested;
+        
+        Operation * mOperation;
+        virtual void operationFinished(Operation * op);
+        
+        OperationQueue * mQueue;
+        MXRecordResolverOperation * mResolveMX;
+        
+        IMAPAsyncSession * mImapSession;
+        POPAsyncSession * mPopSession;
+        SMTPAsyncSession * mSmtpSession;
+
+        bool mImapEnabled;
+        bool mPopEnabled;
+        bool mSmtpEnabled;
+
+        void init();
+        void setupServices();
+        void resolveMX();
+        void resolveMXDone();
+        void startCheckingHosts();
+        void checkNextHost();
+        void checkNextHostDone();
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddress.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddress.h
new file mode 100644
index 0000000000000000000000000000000000000000..e6644576e41d82cb8194f0d5c53142ad6922e639
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddress.h
@@ -0,0 +1,65 @@
+#ifndef MAILCORE_MCADDRESS_H
+
+#define MAILCORE_MCADDRESS_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Address : public Object {
+    public:
+        Address();
+        virtual ~Address();
+        
+        static Address * addressWithDisplayName(String * displayName, String * mailbox);
+        static Address * addressWithMailbox(String * mailbox);
+        static Address * addressWithRFC822String(String * RFC822String);
+        static Address * addressWithNonEncodedRFC822String(String * nonEncodedRFC822String);
+        
+        static Array * addressesWithRFC822String(String * string);
+        static Array * addressesWithNonEncodedRFC822String(String * string);
+        
+        static String * RFC822StringForAddresses(Array * addresses);
+        static String * nonEncodedRFC822StringForAddresses(Array * addresses);
+        
+        virtual void setDisplayName(String * displayName);
+        virtual String * displayName();
+        
+        virtual void setMailbox(String * address);
+        virtual String * mailbox();
+        
+        virtual String * RFC822String();
+        virtual String * nonEncodedRFC822String();
+        
+    public: // subclass behavior.
+        Address(Address * other);
+        virtual String * description();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        // Must be released
+        virtual struct mailimf_address * createIMFAddress();
+        virtual struct mailimf_mailbox * createIMFMailbox();
+        
+        // Additions
+        static Address * addressWithIMFMailbox(struct mailimf_mailbox * mb);
+        static Address * addressWithNonEncodedIMFMailbox(struct mailimf_mailbox * mb);
+        static Address * addressWithIMAPAddress(struct mailimap_address * imap_addr);
+        
+    private:
+        String * mDisplayName;
+        String * mMailbox;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddressDisplay.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddressDisplay.h
new file mode 100644
index 0000000000000000000000000000000000000000..d4841469b99aa5f32ed860624d8e498f65c1acca
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAddressDisplay.h
@@ -0,0 +1,36 @@
+//
+//  MCAddressDisplay.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/27/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCADDRESSDISPLAY_H
+
+#define MAILCORE_MCADDRESSDISPLAY_H
+
+#include <MailCore/MCAbstract.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AddressDisplay {
+    public:
+        static String * sanitizeDisplayName(String * displayName);
+
+        static String * displayStringForAddress(Address * address);
+        static String * shortDisplayStringForAddress(Address * address);
+        static String * veryShortDisplayStringForAddress(Address * address);
+        
+        static String * displayStringForAddresses(Array * /* Address */ addresses);
+        static String * shortDisplayStringForAddresses(Array * /* Address */ addresses);
+        static String * veryShortDisplayStringForAddresses(Array * /* Address */ addresses);
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCArray.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCArray.h
new file mode 100644
index 0000000000000000000000000000000000000000..bed43fe52f92b3b51d70331d54947ebe952fa564
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCArray.h
@@ -0,0 +1,59 @@
+#ifndef MAILCORE_MCARRAY_H
+
+#define MAILCORE_MCARRAY_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+typedef struct carray_s carray;
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT Array : public Object {
+    public:
+        Array();
+        virtual ~Array();
+        
+        static Array * array();
+        static Array * arrayWithObject(Object * obj);
+        
+        virtual unsigned int count();
+        virtual void addObject(Object * obj);
+        virtual void removeObjectAtIndex(unsigned int idx);
+        virtual void removeObject(Object * obj);
+        virtual int indexOfObject(Object * obj);
+        virtual Object * objectAtIndex(unsigned int idx) ATTRIBUTE_RETURNS_NONNULL;
+        virtual void replaceObject(unsigned int idx, Object * obj);
+        virtual void insertObject(unsigned int idx, Object * obj);
+        virtual void removeAllObjects();
+        
+        virtual void addObjectsFromArray(Array * array);
+        virtual Object * lastObject();
+        virtual void removeLastObject();
+        virtual bool containsObject(Object * obj);
+        
+        virtual Array * sortedArray(int (* compare)(void * a, void * b, void * context), void * context);
+        virtual void sortArray(int (* compare)(void * a, void * b, void * context), void * context);
+        virtual String * componentsJoinedByString(String * delimiter);
+        
+    public: // subclass behavior
+        Array(Array * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        carray * mArray;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAssert.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAssert.h
new file mode 100644
index 0000000000000000000000000000000000000000..7858693f8289c2c93f65e59790d68f285cfdf217
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAssert.h
@@ -0,0 +1,18 @@
+#ifndef MAILCORE_MCASSERT_H
+
+#define MAILCORE_MCASSERT_H
+
+#include <MailCore/MCUtils.h>
+
+#define MCAssert(cond) MCAssertInternal(__FILE__, __LINE__, cond, #cond)
+
+#ifdef __cplusplus
+extern "C" {
+#endif	
+    MAILCORE_EXPORT
+	void MCAssertInternal(const char * filename, unsigned int line, int cond, const char * condString) CLANG_ANALYZER_NORETURN;
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsync.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsync.h
new file mode 100644
index 0000000000000000000000000000000000000000..90b3e26332828a5572ad796099418893cea59eeb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsync.h
@@ -0,0 +1,18 @@
+//
+//  MCAsync.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNC_H
+
+#define MAILCORE_MCASYNC_H
+
+#include <MailCore/MCAsyncSMTP.h>
+#include <MailCore/MCAsyncIMAP.h>
+#include <MailCore/MCAsyncPOP.h>
+#include <MailCore/MCAsyncNNTP.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncIMAP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncIMAP.h
new file mode 100755
index 0000000000000000000000000000000000000000..aa6d6b680136e80b2f88ee7f1b7b007e5d90b887
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncIMAP.h
@@ -0,0 +1,38 @@
+//
+//  MCAsyncIMAP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCIMAP_H
+
+#define MAILCORE_MCASYNCIMAP_H
+
+#include <MailCore/MCIMAPAsyncSession.h>
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCIMAPFetchFoldersOperation.h>
+#include <MailCore/MCIMAPAppendMessageOperation.h>
+#include <MailCore/MCIMAPCopyMessagesOperation.h>
+#include <MailCore/MCIMAPFetchMessagesOperation.h>
+#include <MailCore/MCIMAPFetchContentOperation.h>
+#include <MailCore/MCIMAPFetchParsedContentOperation.h>
+#include <MailCore/MCIMAPIdleOperation.h>
+#include <MailCore/MCIMAPFolderInfo.h>
+#include <MailCore/MCIMAPFolderInfoOperation.h>
+#include <MailCore/MCIMAPFolderStatusOperation.h>
+#include <MailCore/MCIMAPSession.h>
+#include <MailCore/MCIMAPNamespace.h>
+#include <MailCore/MCIMAPIdentity.h>
+#include <MailCore/MCIMAPSearchOperation.h>
+#include <MailCore/MCIMAPSearchExpression.h>
+#include <MailCore/MCIMAPFetchNamespaceOperation.h>
+#include <MailCore/MCIMAPIdentityOperation.h>
+#include <MailCore/MCIMAPCapabilityOperation.h>
+#include <MailCore/MCIMAPQuotaOperation.h>
+#include <MailCore/MCIMAPOperationCallback.h>
+#include <MailCore/MCIMAPMessageRenderingOperation.h>
+#include <MailCore/MCIMAPCustomCommandOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncNNTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncNNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..914cc754a8313ccf10290a48ec0679b4d8437393
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncNNTP.h
@@ -0,0 +1,23 @@
+//
+//  MCAsyncNNTP.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCNNTP_H
+
+#define MAILCORE_MCASYNCNNTP_H
+
+#include <MailCore/MCNNTPAsyncSession.h>
+#include <MailCore/MCNNTPOperation.h>
+#include <MailCore/MCNNTPFetchHeaderOperation.h>
+#include <MailCore/MCNNTPFetchArticleOperation.h>
+#include <MailCore/MCNNTPFetchAllArticlesOperation.h>
+#include <MailCore/MCNNTPListNewsgroupsOperation.h>
+#include <MailCore/MCNNTPFetchOverviewOperation.h>
+#include <MailCore/MCNNTPFetchServerTimeOperation.h>
+#include <MailCore/MCNNTPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncPOP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..797403102a1e6fbf478d17f2ace6ae10ffe0b329
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncPOP.h
@@ -0,0 +1,20 @@
+//
+//  MCAsyncPOP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCPOP_H
+
+#define MAILCORE_MCASYNCPOP_H
+
+#include <MailCore/MCPOPAsyncSession.h>
+#include <MailCore/MCPOPOperation.h>
+#include <MailCore/MCPOPFetchHeaderOperation.h>
+#include <MailCore/MCPOPFetchMessageOperation.h>
+#include <MailCore/MCPOPFetchMessagesOperation.h>
+#include <MailCore/MCPOPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncSMTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..d7bac9db6fa318d74bf2440a9d226e557073208a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAsyncSMTP.h
@@ -0,0 +1,17 @@
+//
+//  MCAsyncSMTP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCSMTP_H
+
+#define MAILCORE_MCASYNCSMTP_H
+
+#include <MailCore/MCSMTPAsyncSession.h>
+#include <MailCore/MCSMTPOperation.h>
+#include <MailCore/MCSMTPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAttachment.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAttachment.h
new file mode 100644
index 0000000000000000000000000000000000000000..deacf75e4c6b3da4c5f0cf3b8cf4bfa8490c2441
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAttachment.h
@@ -0,0 +1,56 @@
+#ifndef MAILCORE_MCATTACHMENT_H
+
+#define MAILCORE_MCATTACHMENT_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+#include <MailCore/MCAbstractMultipart.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessagePart;
+    
+    class MAILCORE_EXPORT Attachment : public AbstractPart {
+    public:
+        static String * mimeTypeForFilename(String * filename);
+        static Attachment * attachmentWithContentsOfFile(String * filename);
+        static Attachment * attachmentWithData(String * filename, Data * data);
+        static Attachment * attachmentWithHTMLString(String * htmlString);
+        static Attachment * attachmentWithRFC822Message(Data * messageData);
+        static Attachment * attachmentWithText(String * text);
+        
+        Attachment();
+        virtual ~Attachment();
+        
+        virtual void setData(Data * data);
+        virtual Data * data();
+        virtual String * decodedString();
+        
+    public: // subclass behavior
+        Attachment(Attachment * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        static AbstractPart * attachmentsWithMIME(struct mailmime * mime);
+        
+    private:
+        Data * mData;
+        void init();
+        static void fillMultipartSubAttachments(AbstractMultipart * multipart, struct mailmime * mime);
+        static AbstractPart * attachmentsWithMIMEWithMain(struct mailmime * mime, bool isMain);
+        static Attachment * attachmentWithSingleMIME(struct mailmime * mime);
+        static MessagePart * attachmentWithMessageMIME(struct mailmime * mime);
+        static Encoding encodingForMIMEEncoding(struct mailmime_mechanism * mechanism, int defaultMimeEncoding);
+        static HashMap * readMimeTypesFile(String * filename);
+        void setContentTypeParameters(HashMap * parameters);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAutoreleasePool.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAutoreleasePool.h
new file mode 100644
index 0000000000000000000000000000000000000000..c3abf4779325cf9700a6fd902bdca060dbf9b56c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCAutoreleasePool.h
@@ -0,0 +1,44 @@
+#ifndef MAILCORE_MCAUTORELEASEPOOL_H
+
+#define MAILCORE_MCAUTORELEASEPOOL_H
+
+#include <MailCore/MCObject.h>
+#include <pthread.h>
+
+#ifdef __cplusplus
+
+typedef struct carray_s carray;
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AutoreleasePool : public Object {
+    public:
+        AutoreleasePool();
+        virtual ~AutoreleasePool();
+        
+        static void autorelease(Object * obj);
+        
+    public: // subclass behavior
+        virtual String * description();
+        
+    private:
+        static void init();
+        static pthread_key_t autoreleasePoolStackKey;
+        carray * mPoolObjects;
+        static carray * createAutoreleasePoolStackIfNeeded();
+        static void destroyAutoreleasePoolStack(void *);
+        static void initAutoreleasePoolStackKey();
+        static AutoreleasePool * currentAutoreleasePool();
+        virtual void add(Object * obj);
+#ifdef __APPLE__
+        void * mAppleAutoreleasePool;
+        static void * createAppleAutoreleasePool();
+        static void releaseAppleAutoreleasePool(void * appleAutoreleasePool);
+#endif
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCBaseTypes.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCBaseTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..3088d4c216c7bfa0f6f3a09ce4e449fd7f8b0d67
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCBaseTypes.h
@@ -0,0 +1,31 @@
+#ifndef MAILCORE_MCBASETYPES_H
+
+#define MAILCORE_MCBASETYPES_H
+
+#include <MailCore/MCAutoreleasePool.h>
+#include <MailCore/MCObject.h>
+#include <MailCore/MCValue.h>
+#include <MailCore/MCString.h>
+#include <MailCore/MCData.h>
+#include <MailCore/MCArray.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCJSON.h>
+#include <MailCore/MCMD5.h>
+#include <MailCore/MCNull.h>
+#include <MailCore/MCSet.h>
+#include <MailCore/MCHash.h>
+#include <MailCore/MCLog.h>
+#include <MailCore/MCAssert.h>
+#include <MailCore/MCUtils.h>
+#include <MailCore/MCRange.h>
+#include <MailCore/MCIndexSet.h>
+#include <MailCore/MCOperation.h>
+#include <MailCore/MCOperationQueue.h>
+#include <MailCore/MCOperationCallback.h>
+#include <MailCore/MCLibetpanTypes.h>
+#include <MailCore/MCICUTypes.h>
+#include <MailCore/MCIterator.h>
+#include <MailCore/MCConnectionLogger.h>
+#include <MailCore/MCHTMLCleaner.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCConnectionLogger.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCConnectionLogger.h
new file mode 100644
index 0000000000000000000000000000000000000000..d5282db46d5a4432d6582eadf68aba5cb2ac6fde
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCConnectionLogger.h
@@ -0,0 +1,47 @@
+//
+//  MCConnectionLogger.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 6/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_CONNECTION_LOGGER_H
+
+#define MAILCORE_CONNECTION_LOGGER_H
+
+#include <stdlib.h>
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Data;
+    
+    enum ConnectionLogType {
+        // Received data
+        ConnectionLogTypeReceived,
+        // Sent data
+        ConnectionLogTypeSent,
+        // Sent private data
+        ConnectionLogTypeSentPrivate,
+        // Parse error
+        ConnectionLogTypeErrorParse,
+        // Error while receiving data - log() is called with a NULL buffer.
+        ConnectionLogTypeErrorReceived,
+        // Error while sending data - log() is called with a NULL buffer.
+        ConnectionLogTypeErrorSent,
+    };
+    
+    class MAILCORE_EXPORT ConnectionLogger {
+    public:
+        virtual void log(void * sender, ConnectionLogType logType, Data * buffer) {}
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCCore.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCCore.h
new file mode 100644
index 0000000000000000000000000000000000000000..323bb606cc3dbe396856544b91ba5d71860ef502
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCCore.h
@@ -0,0 +1,23 @@
+//
+//  Core.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCCORE_H
+
+#define MAILCORE_MCCORE_H
+
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAP.h>
+#include <MailCore/MCPOP.h>
+#include <MailCore/MCNNTP.h>
+#include <MailCore/MCRFC822.h>
+#include <MailCore/MCSMTP.h>
+#include <MailCore/MCRenderer.h>
+#include <MailCore/MCProvider.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCData.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCData.h
new file mode 100644
index 0000000000000000000000000000000000000000..0bb1bc078114f701a5720833e5f72816781a1c6b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCData.h
@@ -0,0 +1,80 @@
+#ifndef MAILCORE_MCDATA_H
+
+#define MAILCORE_MCDATA_H
+
+#include <stdlib.h>
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __APPLE__
+#import <CoreFoundation/CoreFoundation.h>
+#endif
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT Data : public Object {
+    public:
+        Data();
+        Data(int capacity);
+        Data(const char * bytes, unsigned int length);
+        virtual ~Data();
+        
+        static Data * data();
+        static Data * dataWithCapacity(int capacity);
+        static Data * dataWithContentsOfFile(String * filename);
+        static Data * dataWithBytes(const char * bytes, unsigned int length);
+        
+        virtual char * bytes();
+        virtual unsigned int length();
+        
+        virtual void appendData(Data * otherData);
+        virtual void appendBytes(const char * bytes, unsigned int length);
+        virtual void setBytes(const char * bytes, unsigned int length);
+        virtual void setData(Data * otherData);
+        
+        // Helpers
+        virtual String * stringWithDetectedCharset();
+        virtual String * stringWithDetectedCharset(String * charset, bool isHTML);
+        virtual String * stringWithCharset(const char * charset);
+        virtual Data * decodedDataUsingEncoding(Encoding encoding);
+        
+        virtual String * base64String();
+
+        virtual ErrorCode writeToFile(String * filename);
+        
+    public: // private
+        virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL);
+#ifdef __APPLE__
+        virtual CFDataRef destructiveNSData();
+#endif
+        
+    public: // subclass behavior
+        Data(Data * otherData);
+        virtual String * description();
+        virtual Object * copy();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        char * mBytes;
+        unsigned int mLength;
+        unsigned int mAllocated;
+        void allocate(unsigned int length, bool force = false);
+        void reset();
+        String * charsetWithFilteredHTMLWithoutHint(bool filterHTML);
+        void takeBytesOwnership(char * bytes, unsigned int length);
+        
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCDateFormatter.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCDateFormatter.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2198d04bdda123555b8707ae2feb23503bfee55
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCDateFormatter.h
@@ -0,0 +1,75 @@
+//
+//  MCDateFormatter.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCDATEFORMATTER_H
+
+#define MAILCORE_MCDATEFORMATTER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+// predeclare UDateFormat
+// copied from <unicode/udat.h>
+typedef void * UDateFormat;
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    // Uses same values as UDateFormatStyle
+    enum DateFormatStyle {
+        DateFormatStyleFull = 0 /* UDAT_FULL*/,
+        DateFormatStyleLong = 1 /* UDAT_LONG */,
+        DateFormatStyleMedium = 2 /* UDAT_MEDIUM */,
+        DateFormatStyleShort = 3 /* UDAT_SHORT */,
+        DateFormatStyleNone = -1 /* UDAT_NONE */,
+    };
+    
+    class MAILCORE_EXPORT DateFormatter : public Object {
+    public:
+        DateFormatter();
+        virtual ~DateFormatter();
+        
+        static DateFormatter * dateFormatter();
+        
+        virtual void setDateStyle(DateFormatStyle style);
+        virtual DateFormatStyle dateStyle();
+        
+        virtual void setTimeStyle(DateFormatStyle style);
+        virtual DateFormatStyle timeStyle();
+        
+        virtual void setLocale(String * locale);
+        virtual String * locale();
+        
+        virtual void setTimezone(String * timezone);
+        virtual String * timezone();
+        
+        virtual void setDateFormat(String * dateFormat);
+        virtual String * dateFormat();
+        
+        virtual String * stringFromDate(time_t date);
+        virtual time_t dateFromString(String * dateString);
+        
+    private:
+        UDateFormat * mDateFormatter;
+        DateFormatStyle mDateStyle;
+        DateFormatStyle mTimeStyle;
+        String * mDateFormat;
+        String * mTimezone;
+        String * mLocale;
+        void * mAppleDateFormatter;
+        
+        void prepare();
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__testUI__MCDateFormatter__) */
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLCleaner.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLCleaner.h
new file mode 100644
index 0000000000000000000000000000000000000000..eccf88c9263682461ba8165885787a732880b937
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLCleaner.h
@@ -0,0 +1,29 @@
+//
+//  HTMLCleaner.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/3/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_HTMLCLEANER_H
+
+#define MAILCORE_HTMLCLEANER_H
+
+#include <MailCore/MCString.h>
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT HTMLCleaner {
+    public:
+        static String * cleanHTML(String * input);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLRendererCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLRendererCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..4a4fc40f9133bb5c7a12312b981ce8bfa853c74e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHTMLRendererCallback.h
@@ -0,0 +1,67 @@
+//
+//  MCHTMLRendererCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCHTMLRENDERERCALLBACK_H
+
+#define MAILCORE_MCHTMLRENDERERCALLBACK_H
+
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCIMAP.h>
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageParser;
+    
+    class MAILCORE_EXPORT HTMLRendererIMAPCallback {
+    public:
+        HTMLRendererIMAPCallback() {}
+        virtual ~HTMLRendererIMAPCallback() {}
+
+        virtual Data * dataForIMAPPart(String * folder, IMAPPart * part) { return NULL; }
+        virtual void prefetchAttachmentIMAPPart(String * folder, IMAPPart * part) {}
+        virtual void prefetchImageIMAPPart(String * folder, IMAPPart * part) {}
+    };
+
+    class MAILCORE_EXPORT HTMLRendererTemplateCallback {
+    public:
+        HTMLRendererTemplateCallback();
+        virtual ~HTMLRendererTemplateCallback();
+
+        virtual void setMixedTextAndAttachmentsModeEnabled(bool enabled);
+
+        virtual bool canPreviewPart(AbstractPart * part);
+        virtual bool shouldShowPart(AbstractPart * part);
+        
+        virtual HashMap * templateValuesForHeader(MessageHeader * header);
+        virtual HashMap * templateValuesForPart(AbstractPart * part);
+        
+        virtual String * templateForMainHeader(MessageHeader * header);
+        virtual String * templateForImage(AbstractPart * part);
+        virtual String * templateForAttachment(AbstractPart * part);
+        virtual String * templateForMessage(AbstractMessage * message);
+        virtual String * templateForEmbeddedMessage(AbstractMessagePart * part);
+        virtual String * templateForEmbeddedMessageHeader(MessageHeader * header);
+        virtual String * templateForAttachmentSeparator();
+        
+        virtual String * cleanHTMLForPart(String * html);
+
+        // Can be used to filter some HTML tags.
+        virtual String * filterHTMLForPart(String * html);
+        
+        // Can be used to hide quoted text.
+        virtual String * filterHTMLForMessage(String * html);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHash.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHash.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ef0c291959342af6a6a54233faba3f3b6a4bb85
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHash.h
@@ -0,0 +1,15 @@
+#ifndef MAILCORE_MCHASH_H
+
+#define MAILCORE_MCHASH_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    unsigned int hashCompute(const char * key, unsigned int len);
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHashMap.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHashMap.h
new file mode 100644
index 0000000000000000000000000000000000000000..b6ac6d2f8fab0b8a70b481230e5f19ae0463a053
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCHashMap.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCHASHMAP_H
+
+#define MAILCORE_MCHASHMAP_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    class Array;
+    struct HashMapCell;
+    typedef HashMapCell HashMapIter;
+    
+    class MAILCORE_EXPORT HashMap : public Object {
+    public:
+        HashMap();
+        virtual ~HashMap();
+        
+        static HashMap * hashMap();
+        
+        virtual unsigned int count();
+        virtual void setObjectForKey(Object * key, Object * value);
+        virtual void removeObjectForKey(Object * key);
+        virtual Object * objectForKey(Object * key);
+        virtual Array * allKeys();
+        virtual Array * allValues();
+        virtual void removeAllObjects();
+        
+    public: // subclass behavior
+        HashMap(HashMap * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        unsigned int mAllocated;
+        unsigned int mCount;
+        void ** mCells;
+        HashMapIter * iteratorBegin();
+        HashMapIter * iteratorNext(HashMapIter * iter);
+        void allocate(unsigned int size);
+        void init();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCICUTypes.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCICUTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..cf3bfa42cb0fc7a407ba645fe35251948ce915af
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCICUTypes.h
@@ -0,0 +1,21 @@
+//
+//  MCICUTypes.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/18/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCICUTYPES_H
+
+#define MAILCORE_MCICUTYPES_H
+
+#ifdef _MSC_VER
+typedef wchar_t UChar;
+#elif defined(__CHAR16_TYPE__)
+typedef __CHAR16_TYPE__ UChar;
+#else
+typedef uint16_t UChar;
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAP.h
new file mode 100644
index 0000000000000000000000000000000000000000..6e80995f6a16827418e44a364ae9f548e82a64b8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAP.h
@@ -0,0 +1,19 @@
+#ifndef MAILCORE_MCIMAP_H
+
+#define MAILCORE_MCIMAP_H
+
+#include <MailCore/MCIMAPFolder.h>
+#include <MailCore/MCIMAPMessage.h>
+#include <MailCore/MCIMAPMessagePart.h>
+#include <MailCore/MCIMAPMultipart.h>
+#include <MailCore/MCIMAPNamespace.h>
+#include <MailCore/MCIMAPNamespaceItem.h>
+#include <MailCore/MCIMAPPart.h>
+#include <MailCore/MCIMAPProgressCallback.h>
+#include <MailCore/MCIMAPSearchExpression.h>
+#include <MailCore/MCIMAPSession.h>
+#include <MailCore/MCIMAPSyncResult.h>
+#include <MailCore/MCIMAPFolderStatus.h>
+#include <MailCore/MCIMAPIdentity.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ca3033a683734c568f9517fcdcbb5150e750a93e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h
@@ -0,0 +1,55 @@
+//
+//  MCIMAPAppendMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPAPPENDMESSAGEOPERATION_H
+
+#define MAILCORE_MCIMAPAPPENDMESSAGEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPAppendMessageOperation : public IMAPOperation {
+    public:
+        IMAPAppendMessageOperation();
+        virtual ~IMAPAppendMessageOperation();
+        
+        virtual void setMessageData(Data * messageData);
+        virtual Data * messageData();
+        
+        virtual void setFlags(MessageFlag flags);
+        virtual MessageFlag flags();
+        
+        virtual void setCustomFlags(Array * customFlags);
+        virtual Array * customFlags();
+        
+        virtual void setDate(time_t date);
+        virtual time_t date();
+        
+        virtual uint32_t createdUID();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Data * mMessageData;
+        MessageFlag mFlags;
+        Array * mCustomFlags;
+        time_t mDate;
+        uint32_t mCreatedUID;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAsyncSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..62577a6e17c1e3df2fd1eb51f43b1988d902cc0a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPAsyncSession.h
@@ -0,0 +1,218 @@
+//
+//  MCIMAPAccount.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/17/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPACCOUNT_H
+
+#define MAILCORE_MCIMAPACCOUNT_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPOperation;
+    class IMAPFetchFoldersOperation;
+    class IMAPAppendMessageOperation;
+    class IMAPCopyMessagesOperation;
+    class IMAPFetchMessagesOperation;
+    class IMAPFetchContentOperation;
+    class IMAPFetchParsedContentOperation;
+    class IMAPIdleOperation;
+    class IMAPFolderInfoOperation;
+    class IMAPFolderStatusOperation;
+    class IMAPNamespace;
+    class IMAPSearchOperation;
+    class IMAPSearchExpression;
+    class IMAPFetchNamespaceOperation;
+    class IMAPIdentityOperation;
+    class IMAPAsyncConnection;
+    class IMAPCapabilityOperation;
+    class IMAPQuotaOperation;
+    class IMAPMessageRenderingOperation;
+    class IMAPMessage;
+    class IMAPSession;
+    class IMAPIdentity;
+    class OperationQueueCallback;
+    class IMAPCustomCommandOperation;
+    
+    class MAILCORE_EXPORT IMAPAsyncSession : public Object {
+    public:
+        IMAPAsyncSession();
+        virtual ~IMAPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setVoIPEnabled(bool enabled);
+        virtual bool isVoIPEnabled();
+        
+        virtual void setDefaultNamespace(IMAPNamespace * ns);
+        virtual IMAPNamespace * defaultNamespace();
+        
+        virtual void setAllowsFolderConcurrentAccessEnabled(bool enabled);
+        virtual bool allowsFolderConcurrentAccessEnabled();
+        
+        virtual void setMaximumConnections(unsigned int maxConnections);
+        virtual unsigned int maximumConnections();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+        
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+        
+        virtual IMAPIdentity * serverIdentity();
+        virtual IMAPIdentity * clientIdentity();
+        virtual String * gmailUserDisplayName() DEPRECATED_ATTRIBUTE;
+        
+        virtual IMAPFolderInfoOperation * folderInfoOperation(String * folder);
+        virtual IMAPFolderStatusOperation * folderStatusOperation(String * folder);
+        
+        virtual IMAPFetchFoldersOperation * fetchSubscribedFoldersOperation();
+        virtual IMAPFetchFoldersOperation * fetchAllFoldersOperation();
+        
+        virtual IMAPOperation * renameFolderOperation(String * folder, String * otherName);
+        virtual IMAPOperation * deleteFolderOperation(String * folder);
+        virtual IMAPOperation * createFolderOperation(String * folder);
+        
+        virtual IMAPOperation * subscribeFolderOperation(String * folder);
+        virtual IMAPOperation * unsubscribeFolderOperation(String * folder);
+        
+        virtual IMAPAppendMessageOperation * appendMessageOperation(String * folder, Data * messageData, MessageFlag flags, Array * customFlags = NULL);
+        
+        virtual IMAPCopyMessagesOperation * copyMessagesOperation(String * folder, IndexSet * uids, String * destFolder);
+        
+        virtual IMAPOperation * expungeOperation(String * folder);
+        
+        virtual IMAPFetchMessagesOperation * fetchMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                         IndexSet * indexes);
+        virtual IMAPFetchMessagesOperation * fetchMessagesByNumberOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                            IndexSet * indexes);
+        virtual IMAPFetchMessagesOperation * syncMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                        IndexSet * indexes, uint64_t modSeq);
+        
+        virtual IMAPFetchContentOperation * fetchMessageByUIDOperation(String * folder, uint32_t uid, bool urgent = false);
+        virtual IMAPFetchContentOperation * fetchMessageAttachmentByUIDOperation(String * folder, uint32_t uid, String * partID,
+                                                                                 Encoding encoding, bool urgent = false);
+        
+        virtual IMAPFetchContentOperation * fetchMessageByNumberOperation(String * folder, uint32_t number, bool urgent = false);
+        virtual IMAPCustomCommandOperation * customCommand(String *command, bool urgent);
+        virtual IMAPFetchContentOperation * fetchMessageAttachmentByNumberOperation(String * folder, uint32_t number, String * partID,
+                                                                                    Encoding encoding, bool urgent = false);
+        
+        virtual IMAPFetchParsedContentOperation * fetchParsedMessageByUIDOperation(String * folder, uint32_t uid, bool urgent = false);
+        virtual IMAPFetchParsedContentOperation * fetchParsedMessageByNumberOperation(String * folder, uint32_t number, bool urgent = false);
+
+        virtual IMAPOperation * storeFlagsByUIDOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags = NULL);
+        virtual IMAPOperation * storeFlagsByNumberOperation(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags = NULL);
+        virtual IMAPOperation * storeLabelsByUIDOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels);
+        virtual IMAPOperation * storeLabelsByNumberOperation(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, Array * labels);
+        
+        virtual IMAPSearchOperation * searchOperation(String * folder, IMAPSearchKind kind, String * searchString);
+        virtual IMAPSearchOperation * searchOperation(String * folder, IMAPSearchExpression * expression);
+        
+        virtual IMAPIdleOperation * idleOperation(String * folder, uint32_t lastKnownUID);
+        
+        virtual IMAPFetchNamespaceOperation * fetchNamespaceOperation();
+        
+        virtual IMAPIdentityOperation * identityOperation(IMAPIdentity * identity);
+        
+        virtual IMAPOperation * connectOperation();
+        virtual IMAPOperation * checkAccountOperation();
+        virtual IMAPOperation * disconnectOperation();
+        
+        virtual IMAPCapabilityOperation * capabilityOperation();
+        virtual IMAPQuotaOperation * quotaOperation();
+        
+        virtual IMAPOperation * noopOperation();
+        
+        virtual IMAPMessageRenderingOperation * htmlRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * htmlBodyRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * plainTextRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * plainTextBodyRenderingOperation(IMAPMessage * message, String * folder, bool stripWhitespace);
+        
+    public: // private
+        virtual void automaticConfigurationDone(IMAPSession * session);
+        virtual void operationRunningStateChanged();
+        virtual IMAPAsyncConnection * sessionForFolder(String * folder, bool urgent = false);
+        
+    private:
+        Array * mSessions;
+        
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        bool mVoIPEnabled;
+        IMAPNamespace * mDefaultNamespace;
+        time_t mTimeout;
+        bool mAllowsFolderConcurrentAccessEnabled;
+        unsigned int mMaximumConnections;
+        ConnectionLogger * mConnectionLogger;
+        bool mAutomaticConfigurationDone;
+        IMAPIdentity * mServerIdentity;
+        IMAPIdentity * mClientIdentity;
+        bool mQueueRunning;
+        OperationQueueCallback * mOperationQueueCallback;
+#if __APPLE__
+        dispatch_queue_t mDispatchQueue;
+#endif
+        String * mGmailUserDisplayName;
+        
+        virtual IMAPAsyncConnection * session();
+        virtual IMAPAsyncConnection * matchingSessionForFolder(String * folder);
+        virtual IMAPAsyncConnection * availableSession();
+        virtual IMAPMessageRenderingOperation * renderingOperation(IMAPMessage * message,
+                                                                   String * folder,
+                                                                   IMAPMessageRenderingType type);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCapabilityOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCapabilityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..486d54cf06d01be17b4f964d7580d4c3f660ce7e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCapabilityOperation.h
@@ -0,0 +1,38 @@
+//
+//  MCIMAPCapabilityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/4/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCAPABILITYOPERATION_H
+
+#define MAILCORE_MCIMAPCAPABILITYOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPCapabilityOperation : public IMAPOperation {
+    public:
+        IMAPCapabilityOperation();
+        virtual ~IMAPCapabilityOperation();
+        
+        // Result.
+        virtual IndexSet * capabilities();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mCapabilities;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPConnectOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPConnectOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7678ccdd4fc7fe6df909e1108ea3967d6d312c4b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPConnectOperation.h
@@ -0,0 +1,28 @@
+//
+//  MCIMAPConnectOperation.h
+//  mailcore2
+//
+//  Created by Ryan Walklin on 6/09/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCONNECTOPERATION_H
+
+#define MAILCORE_MCIMAPCONNECTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPConnectOperation : public IMAPOperation {
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__MAILCORE_MCIMAPCONNECTOPERATION_H_) */
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6d75447985aa7abe607570c5bef36c8936d7723
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h
@@ -0,0 +1,46 @@
+//
+//  MCIMAPCopyMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCOPYMESSAGESOPERATION_H
+
+#define MAILCORE_MCIMAPCOPYMESSAGESOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPCopyMessagesOperation : public IMAPOperation {
+    public:
+        IMAPCopyMessagesOperation();
+        virtual ~IMAPCopyMessagesOperation();
+        
+        virtual void setDestFolder(String * destFolder);
+        virtual String * destFolder();
+        
+        virtual void setUids(IndexSet * uids);
+        virtual IndexSet * uids();
+        
+        // Result.
+        virtual HashMap * uidMapping();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mUids;
+        String * mDestFolder;
+        HashMap * mUidMapping;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2ce20feb7518d12ec656193284308522edda11c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCIMAPCustomCommandOperation.h
+//  mailcore2
+//
+//  Created by Libor Huspenina on 18/10/2015.
+//  Copyright © 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCUSTOMCOMMANDOPERATION_H
+
+#define MAILCORE_MCIMAPCUSTOMCOMMANDOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class MAILCORE_EXPORT IMAPCustomCommandOperation : public IMAPOperation {
+    public:
+        IMAPCustomCommandOperation();
+        virtual ~IMAPCustomCommandOperation();
+
+        virtual void setCustomCommand(String *command);
+        virtual String * response();
+
+    public: // subclass behavior
+        virtual void main();
+
+    private:
+        String * mCustomCommand;
+        String * mResponse;
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchContentOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b5b70f2841006516be5cdc2cbc9808b3a40917d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchContentOperation.h
@@ -0,0 +1,55 @@
+//
+//  IMAPFetchContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_IMAPFETCHCONTENTOPERATION_H
+
+#define MAILCORE_IMAPFETCHCONTENTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchContentOperation : public IMAPOperation {
+    public:
+        IMAPFetchContentOperation();
+        virtual ~IMAPFetchContentOperation();
+        
+        virtual void setUid(uint32_t uid);
+        virtual uint32_t uid();
+        
+        virtual void setNumber(uint32_t value);
+        virtual uint32_t number();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+        // Result.
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mUid;
+        uint32_t mNumber;
+        String * mPartID;
+        Encoding mEncoding;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..f6456a36786d02cc6bd703d76574c18e31aff492
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCIMAPFetchFoldersOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHFOLDERSOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHFOLDERSOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchFoldersOperation : public IMAPOperation {
+    public:
+        IMAPFetchFoldersOperation();
+        virtual ~IMAPFetchFoldersOperation();
+        
+        virtual void setFetchSubscribedEnabled(bool enabled);
+        virtual bool isFetchSubscribedEnabled();
+        
+        // Result.
+        virtual Array * /* IMAPFolder */ folders();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mFetchSubscribedEnabled;
+        Array * mFolders;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..620aead64adf6978052a0c5adfd67a100d41eaad
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h
@@ -0,0 +1,61 @@
+//
+//  IMAPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHMESSAGESOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchMessagesOperation : public IMAPOperation {
+    public:
+        IMAPFetchMessagesOperation();
+        virtual ~IMAPFetchMessagesOperation();
+        
+        virtual void setFetchByUidEnabled(bool enabled);
+        virtual bool isFetchByUidEnabled();
+        
+        virtual void setIndexes(IndexSet * indexes);
+        virtual IndexSet * indexes();
+        
+        virtual void setModSequenceValue(uint64_t modseq);
+        virtual uint64_t modSequenceValue();
+        
+        virtual void setKind(IMAPMessagesRequestKind kind);
+        virtual IMAPMessagesRequestKind kind();
+        
+        virtual void setExtraHeaders(Array * extraHeaders);
+        virtual Array * extraHeaders();
+        
+        // Result.
+        virtual Array * /* IMAPMessage */ messages();
+        virtual IndexSet * vanishedMessages();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mFetchByUidEnabled;
+        IndexSet * mIndexes;
+        IMAPMessagesRequestKind mKind;
+        Array * /* String */ mExtraHeaders;
+        Array * /* IMAPMessage */ mMessages;
+        IndexSet * mVanishedMessages;
+        uint64_t mModSequenceValue;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..35b6ca2b9758daf5c38bdcce55a1c2e9147a0c77
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h
@@ -0,0 +1,39 @@
+//
+//  IMAPFetchNamespaceOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHNAMESPACEOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHNAMESPACEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchNamespaceOperation : public IMAPOperation {
+    public:
+        IMAPFetchNamespaceOperation();
+        virtual ~IMAPFetchNamespaceOperation();
+        
+        // Result.
+        virtual HashMap * namespaces();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        HashMap * mNamespaces;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec0485a95f821ad994e6ee0776111c8e7996d271
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h
@@ -0,0 +1,53 @@
+//
+//  IMAPFetchParsedContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_IMAPFETCHPARSEDCONTENTOPERATION_H
+
+#define MAILCORE_IMAPFETCHPARSEDCONTENTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#include <MailCore/MCRFC822.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class MAILCORE_EXPORT IMAPFetchParsedContentOperation : public IMAPOperation {
+    public:
+        IMAPFetchParsedContentOperation();
+        virtual ~IMAPFetchParsedContentOperation();
+        
+        virtual void setUid(uint32_t uid);
+        virtual uint32_t uid();
+        
+        virtual void setNumber(uint32_t value);
+        virtual uint32_t number();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+        // Result.
+        virtual MessageParser * parser();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mUid;
+        uint32_t mNumber;
+        Encoding mEncoding;
+        MessageParser * mParser;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolder.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolder.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d9c111f9f27dad24d05839967548068cf97c5bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolder.h
@@ -0,0 +1,42 @@
+#ifndef MAILCORE_MCIMAPFOLDER_H
+
+#define MAILCORE_MCIMAPFOLDER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolder : public Object {
+    public:
+        IMAPFolder();
+        virtual ~IMAPFolder();
+        
+        virtual void setPath(String * path);
+        virtual String * path();
+        
+        virtual void setDelimiter(char delimiter);
+        virtual char delimiter();
+        
+        virtual void setFlags(IMAPFolderFlag flags);
+        virtual IMAPFolderFlag flags();
+        
+    public: // subclass behavior
+        IMAPFolder(IMAPFolder * other);
+        virtual Object * copy();
+        virtual String * description();
+        
+    private:
+        String * mPath;
+        char mDelimiter;
+        IMAPFolderFlag mFlags;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..c0fa7c3562e7342ab3a448cc8eace341c82b4db8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfo.h
@@ -0,0 +1,63 @@
+//
+//  MCIMAPFolderInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 12/6/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFolderInfo_H
+
+#define MAILCORE_MCIMAPFolderInfo_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolderInfo : public Object {
+    public:
+        IMAPFolderInfo();
+        virtual ~IMAPFolderInfo();
+        
+        virtual void setUidNext(uint32_t uidNext);
+        virtual uint32_t uidNext();
+        
+        virtual void setUidValidity(uint32_t uidValidity);
+        virtual uint32_t uidValidity();
+        
+        virtual void setModSequenceValue(uint64_t modSequenceValue);
+        virtual uint64_t modSequenceValue();
+        
+        virtual void setMessageCount(int messageCount);
+        virtual int messageCount();
+        
+        virtual void setFirstUnseenUid(uint32_t firstUnseenUid);
+        virtual uint32_t firstUnseenUid();
+        
+        virtual void setAllowsNewPermanentFlags(bool allowsNewPermanentFlags);
+        virtual bool allowsNewPermanentFlags();
+        
+    public: // subclass behavior
+        IMAPFolderInfo(IMAPFolderInfo * other);
+        virtual Object * copy();		
+        
+    private:
+        uint32_t mUidNext;
+        uint32_t mUidValidity;
+        uint64_t mModSequenceValue;
+        int mMessageCount;
+        uint32_t mFirstUnseenUid;
+        bool mAllowsNewPermanentFlags;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0b5128c7d0dcc9e47bb7680a3e6be863dc1bea4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCIMAPFolderInfoOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/13/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFOLDERINFOOPERATION_H
+
+#define MAILCORE_MCIMAPFOLDERINFOOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class IMAPFolderInfo;
+    
+    class MAILCORE_EXPORT IMAPFolderInfoOperation : public IMAPOperation {
+    public:
+        IMAPFolderInfoOperation();
+        virtual ~IMAPFolderInfoOperation();
+
+        IMAPFolderInfo * info();
+
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+
+        IMAPFolderInfo * mInfo;
+
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatus.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatus.h
new file mode 100644
index 0000000000000000000000000000000000000000..8bfac59f78874f65a7a7209d47f3abe1457cf689
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatus.h
@@ -0,0 +1,64 @@
+//
+//  MCIMAPFolderStatus.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFOLDERSTATUS_H
+
+#define MAILCORE_MCIMAPFOLDERSTATUS_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolderStatus : public Object {
+    public:
+        IMAPFolderStatus();
+        virtual ~IMAPFolderStatus();
+        
+        virtual void setUnseenCount(uint32_t unseen);
+        virtual uint32_t unseenCount();
+        
+        virtual void setMessageCount(uint32_t messages);
+        virtual uint32_t messageCount();
+        
+        virtual void setRecentCount(uint32_t recent);
+        virtual uint32_t recentCount();
+        
+        virtual void setUidNext(uint32_t uidNext);
+        virtual uint32_t uidNext();
+        
+        virtual void setUidValidity(uint32_t uidValidity);
+        virtual uint32_t uidValidity();
+        
+        virtual void setHighestModSeqValue(uint64_t highestModSeqValue);
+        virtual uint64_t highestModSeqValue();
+        
+    public: // subclass behavior
+        IMAPFolderStatus(IMAPFolderStatus * other);
+        virtual Object * copy();		
+        virtual String * description();
+        
+    private:
+        uint32_t mUnseenCount;
+        uint32_t mMessageCount;
+        uint32_t mRecentCount;
+        uint32_t mUidNext;
+        uint32_t mUidValidity;
+        uint64_t mHighestModSeqValue;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..53e3025bea2e66dda843277a11c58330025b2569
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCIMAPFolderStatusOperation.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+
+#ifndef MAILCORE_MCIMAPFOLDERSTATUSOPERATION_H
+
+#define MAILCORE_MCIMAPFOLDERSTATUSOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPFolderStatus;
+    
+    class MAILCORE_EXPORT IMAPFolderStatusOperation : public IMAPOperation {
+    public:
+        IMAPFolderStatusOperation();
+        virtual ~IMAPFolderStatusOperation();
+        
+        // Results.
+        virtual IMAPFolderStatus * status();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPFolderStatus * mStatus;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentity.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentity.h
new file mode 100644
index 0000000000000000000000000000000000000000..ee6b3c5e637f65d10a02ecb115c2806c85f89159
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentity.h
@@ -0,0 +1,56 @@
+//
+//  MCIMAPIdentity.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 8/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDENTITY_H
+
+#define MAILCORE_MCIMAPIDENTITY_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPIdentity : public Object {
+    public:
+        
+        IMAPIdentity();
+        virtual ~IMAPIdentity();
+
+        virtual void setVendor(String * vendor);
+        virtual String * vendor();
+        
+        virtual void setName(String * name);
+        virtual String * name();
+        
+        virtual void setVersion(String * version);
+        virtual String * version();
+
+        virtual void removeAllInfos();
+        
+        virtual Array * allInfoKeys();
+        virtual String * infoForKey(String * key);
+        virtual void setInfoForKey(String * key, String * value);
+        
+    public: // subclass behavior
+        IMAPIdentity(IMAPIdentity * identity);
+        virtual Object * copy();
+        virtual String * description();
+        
+    private:
+        HashMap * mValues;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentityOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..70cc7d523242d69f5813690bd736d34b0bc55515
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdentityOperation.h
@@ -0,0 +1,45 @@
+//
+//  IMAPIdentityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDENTITYOPERATION_H
+
+#define MAILCORE_MCIMAPIDENTITYOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPIdentity;
+    
+    class MAILCORE_EXPORT IMAPIdentityOperation : public IMAPOperation {
+    public:
+        IMAPIdentityOperation();
+        virtual ~IMAPIdentityOperation();
+        
+        virtual void setClientIdentity(IMAPIdentity * identity);
+        virtual IMAPIdentity * clientIdentity();
+        
+        // Result.
+        virtual IMAPIdentity * serverIdentity();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPIdentity * mClientIdentity;
+        IMAPIdentity * mServerIdentity;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdleOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a383bfd93638edc07e2c5967121431510c2c4d8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPIdleOperation.h
@@ -0,0 +1,46 @@
+//
+//  IMAPIdleOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDLEOPERATION_H
+
+#define MAILCORE_MCIMAPIDLEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPIdleOperation : public IMAPOperation {
+    public:
+        IMAPIdleOperation();
+        virtual ~IMAPIdleOperation();
+        
+        virtual void setLastKnownUID(uint32_t uid);
+        virtual uint32_t lastKnownUID();
+        
+        virtual void interruptIdle();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mLastKnownUid;
+        bool mSetupSuccess;
+        bool mInterrupted;
+        pthread_mutex_t mLock;
+        void prepare(void * data);
+        void unprepare(void * data);
+        bool isInterrupted();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessage.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..c36a9ad1a62f74af0b37d29de44c8cf11c628d7d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessage.h
@@ -0,0 +1,92 @@
+#ifndef MAILCORE_IMAP_MESSAGE_H
+
+#define MAILCORE_IMAP_MESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPPart;
+    class HTMLRendererIMAPCallback;
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT IMAPMessage : public AbstractMessage {
+    public:
+        IMAPMessage();
+        virtual ~IMAPMessage();
+        
+        virtual uint32_t sequenceNumber();
+        virtual void setSequenceNumber(uint32_t sequenceNumber);
+        
+        virtual uint32_t uid();
+        virtual void setUid(uint32_t uid);
+        
+        virtual uint32_t size();
+        virtual void setSize(uint32_t size);
+        
+        virtual void setFlags(MessageFlag flags);
+        virtual MessageFlag flags();
+        
+        virtual void setOriginalFlags(MessageFlag flags);
+        virtual MessageFlag originalFlags();
+        
+        virtual void setCustomFlags(Array * customFlags);
+        virtual Array * customFlags();
+        
+        virtual uint64_t modSeqValue();
+        virtual void setModSeqValue(uint64_t uid);
+        
+        virtual void setMainPart(AbstractPart * mainPart);
+        virtual AbstractPart * mainPart();
+        
+        virtual void setGmailLabels(Array * /* String */ labels);
+        virtual Array * /* String */ gmailLabels();
+        
+        virtual void setGmailMessageID(uint64_t msgID);
+        virtual uint64_t gmailMessageID();
+                
+        virtual void setGmailThreadID(uint64_t threadID);
+        virtual uint64_t gmailThreadID();
+        
+        virtual AbstractPart * partForPartID(String * partID);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual String * htmlRendering(String * folder,
+                                       HTMLRendererIMAPCallback * dataCallback,
+                                       HTMLRendererTemplateCallback * htmlCallback = NULL);
+        
+    public: // subclass behavior
+        IMAPMessage(IMAPMessage * other);
+        virtual Object * copy();
+        virtual String * description();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        uint64_t mModSeqValue;
+        uint32_t mUid;
+        uint32_t mSize;
+        uint32_t mSequenceNumber; // not serialized.
+        
+        MessageFlag mFlags;
+        MessageFlag mOriginalFlags;
+        Array * /* String */ mCustomFlags;
+        AbstractPart * mMainPart;
+        Array * /* String */ mGmailLabels;
+        uint64_t mGmailMessageID;
+        uint64_t mGmailThreadID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..76317201772d065c0ee3fea5fbd4b76fea01f093
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessagePart.h
@@ -0,0 +1,34 @@
+#ifndef MAILCORE_IMAPMESSAGEPART_H
+
+#define MAILCORE_IMAPMESSAGEPART_H
+
+#include <MailCore/MCAbstractMessagePart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMessagePart : public AbstractMessagePart {
+    public:
+        IMAPMessagePart();
+        virtual ~IMAPMessagePart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+    public: // subclass behavior
+        IMAPMessagePart(IMAPMessagePart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        String * mPartID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7a02b4ae13b7ae6a4f4af6c2f0664d2422959691
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h
@@ -0,0 +1,48 @@
+//
+//  MCIMAPMessageRenderingOperation.h
+//  mailcore2
+//
+//  Created by Paul Young on 27/06/2013.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPMessageRenderingOperation_H
+
+#define MAILCORE_MCIMAPMessageRenderingOperation_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCIMAPMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMessageRenderingOperation : public IMAPOperation {
+    public:
+        IMAPMessageRenderingOperation();
+        virtual ~IMAPMessageRenderingOperation();
+        
+        virtual void setRenderingType(IMAPMessageRenderingType type);
+        virtual IMAPMessageRenderingType renderingType();
+        
+        virtual void setMessage(IMAPMessage * message);
+        virtual IMAPMessage * message();
+        
+        // Result.
+        virtual String * result();
+        
+    public: // subclass behavior
+        virtual void main();
+    
+    private:
+        IMAPMessageRenderingType mRenderingType;
+        String * mResult;
+        IMAPMessage * mMessage;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..913966245c09c53d9c231d32389c16e67f5fef39
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPMultipart.h
@@ -0,0 +1,34 @@
+#ifndef MAILCORE_MCIMAPMULTIPART_H
+
+#define MAILCORE_MCIMAPMULTIPART_H
+
+#include <MailCore/MCAbstractMultipart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMultipart : public AbstractMultipart {
+    public:
+        IMAPMultipart();
+        virtual ~IMAPMultipart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+    public: // subclass behavior
+        IMAPMultipart(IMAPMultipart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        String * mPartID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespace.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespace.h
new file mode 100644
index 0000000000000000000000000000000000000000..711fb7e5fd761dee10561a52a00702f67e21d463
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespace.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCIMAPNAMESPACE_H
+
+#define MAILCORE_MCIMAPNAMESPACE_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPNamespaceItem;
+    
+    class MAILCORE_EXPORT IMAPNamespace : public Object {
+    public:
+        IMAPNamespace();
+        virtual ~IMAPNamespace();
+        
+        virtual String * mainPrefix();
+        virtual char mainDelimiter();
+        
+        virtual Array * /* String */ prefixes();
+        
+        virtual String * pathForComponents(Array * components);
+        virtual String * pathForComponentsAndPrefix(Array * components, String * prefix);
+        
+        virtual Array * /* String */ componentsFromPath(String * path);
+        
+        virtual bool containsFolderPath(String * path);
+        
+        static IMAPNamespace * namespaceWithPrefix(String * prefix, char delimiter);
+        
+    public: // subclass behavior
+        IMAPNamespace(IMAPNamespace * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+    private:
+        Array * /* String */ mItems;
+        void init();
+        IMAPNamespaceItem * mainItem();
+        IMAPNamespaceItem * itemForPath(String * path);
+        
+    public: // private
+        virtual void importIMAPNamespace(struct mailimap_namespace_item * item);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespaceItem.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespaceItem.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fffed983fbd60a736c427d9b18a10d9db5a1f2b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNamespaceItem.h
@@ -0,0 +1,48 @@
+#ifndef MAILCORE_MCIMAPNAMESPACEITEM_H
+
+#define MAILCORE_MCIMAPNAMESPACEITEM_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPNamespaceItem : public Object {
+    public:
+        IMAPNamespaceItem();
+        virtual ~IMAPNamespaceItem();
+        
+        virtual void setPrefix(String * prefix);
+        virtual String * prefix();
+        
+        virtual void setDelimiter(char delimiter);
+        virtual char delimiter();
+        
+        virtual String * pathForComponents(Array * components);
+        virtual Array * /* String */ componentsForPath(String * path);
+        
+        virtual bool containsFolder(String * folder);
+        
+    public: // subclass behavior
+        IMAPNamespaceItem(IMAPNamespaceItem * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+    private:
+        char mDelimiter;
+        String * mPrefix;
+        void init();
+        
+    public: // private
+        virtual void importIMAPNamespaceInfo(struct mailimap_namespace_info * info);
+    
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..515f563a9b2a1100f1dba1531b6ee037ca977978
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPNoopOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCIMAPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPNOOPOPERATION_H
+
+#define MAILCORE_MCIMAPNOOPOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPNoopOperation : public IMAPOperation {
+    public:
+        IMAPNoopOperation();
+        virtual ~IMAPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a57d74894f0d969679a6924548891d018cd31e45
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperation.h
@@ -0,0 +1,73 @@
+//
+//  MCIMAPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPOPERATION_H
+
+#define MAILCORE_MCIMAPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPAsyncConnection;
+    class IMAPAsyncSession;
+    class IMAPOperationCallback;
+    
+    class MAILCORE_EXPORT IMAPOperation : public Operation, public IMAPProgressCallback {
+    public:
+        IMAPOperation();
+        virtual ~IMAPOperation();
+        
+        virtual void setMainSession(IMAPAsyncSession * session);
+        virtual IMAPAsyncSession * mainSession();
+
+        virtual void setSession(IMAPAsyncConnection * session);
+        virtual IMAPAsyncConnection * session();
+        
+        virtual void setFolder(String * folder);
+        virtual String * folder();
+        
+        virtual void setUrgent(bool urgent);
+        virtual bool isUrgent();
+        
+        virtual void setImapCallback(IMAPOperationCallback * callback);
+        virtual IMAPOperationCallback * imapCallback();
+        
+        virtual void beforeMain();
+        virtual void afterMain();
+        
+        virtual void start();
+        
+        // Result.
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+    private:
+        IMAPAsyncSession * mMainSession;
+        IMAPAsyncConnection * mSession;
+        String * mFolder;
+        IMAPOperationCallback * mImapCallback;
+        ErrorCode mError;
+        bool mUrgent;
+        
+    private:
+        virtual void bodyProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        virtual void itemsProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+        virtual void itemsProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..c5e14ffb201e0ad62ee26295e63ed03e9180ca14
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPOperationCallback.h
@@ -0,0 +1,31 @@
+//
+//  MCIMAPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCIMAPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPOperation;
+    
+    class MAILCORE_EXPORT IMAPOperationCallback {
+    public:
+        virtual void bodyProgress(IMAPOperation * session, unsigned int current, unsigned int maximum) {};
+        virtual void itemProgress(IMAPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPPart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..1a34da21759017dc1913ccc10d6189572f5f2eb2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPPart.h
@@ -0,0 +1,66 @@
+#ifndef MAILCORE_MCIMAPPART_H
+
+#define MAILCORE_MCIMAPPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPMessagePart;
+    class IMAPMultipart;
+    
+    class MAILCORE_EXPORT IMAPPart : public AbstractPart {
+    public:
+        IMAPPart();
+        virtual ~IMAPPart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+        virtual void setSize(unsigned int size);
+        virtual unsigned int size();
+        
+        virtual unsigned int decodedSize();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+    public: // subclass behavior
+        IMAPPart(IMAPPart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        static AbstractPart * attachmentWithIMAPBody(struct mailimap_body * body);
+        
+        virtual void importIMAPFields(struct mailimap_body_fields * fields,
+                                      struct mailimap_body_ext_1part * extension);
+        
+    private:
+        String * mPartID;
+        Encoding mEncoding;
+        unsigned int mSize;
+        void init();
+        static AbstractPart * attachmentWithIMAPBodyInternal(struct mailimap_body * body, String * partID);
+        static AbstractPart * attachmentWithIMAPBody1Part(struct mailimap_body_type_1part * body_1part,
+                                                          String * partID);
+        static IMAPMessagePart * attachmentWithIMAPBody1PartMessage(struct mailimap_body_type_msg * message,
+                                                                    struct mailimap_body_ext_1part * extension,
+                                                                    String * partID);
+        static IMAPPart * attachmentWithIMAPBody1PartBasic(struct mailimap_body_type_basic * basic,
+                                                           struct mailimap_body_ext_1part * extension);
+        static IMAPPart * attachmentWithIMAPBody1PartText(struct mailimap_body_type_text * text,
+                                                          struct mailimap_body_ext_1part * extension);
+        static IMAPMultipart * attachmentWithIMAPBodyMultipart(struct mailimap_body_type_mpart * body_mpart,
+                                                               String * partID);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..b461eefdbf9dac3f1b66fb0133ecbcb2e1a05b14
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPProgressCallback.h
@@ -0,0 +1,23 @@
+#ifndef MAILCORE_MCIMAPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCIMAPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class IMAPSession;
+    
+    class MAILCORE_EXPORT IMAPProgressCallback {
+    public:
+        virtual void bodyProgress(IMAPSession * session, unsigned int current, unsigned int maximum) {};
+        virtual void itemsProgress(IMAPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPQuotaOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPQuotaOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..15a1c676aa82a4d1d99603030f8138a78f523c0c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPQuotaOperation.h
@@ -0,0 +1,40 @@
+//
+//  MCIMAPQuotaOperation.h
+//  mailcore2
+//
+//  Created by Petro Korenev on 8/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPQuotaOperation_H
+
+#define MAILCORE_MCIMAPQuotaOperation_H
+
+#include "MCIMAPOperation.h"
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPQuotaOperation : public IMAPOperation {
+    public:
+        IMAPQuotaOperation();
+        virtual ~IMAPQuotaOperation();
+        
+        // Result.
+        virtual uint32_t limit();
+        virtual uint32_t usage();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mLimit;
+        uint32_t mUsage;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchExpression.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchExpression.h
new file mode 100644
index 0000000000000000000000000000000000000000..182f301385c5af87b635d385a93d30d3fd6fed70
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchExpression.h
@@ -0,0 +1,88 @@
+#ifndef MAILCORE_MCIMAPSEARCHEXPRESSION_H
+
+#define MAILCORE_MCIMAPSEARCHEXPRESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPSearchExpression : public Object {
+    public:
+        IMAPSearchExpression();
+        virtual ~IMAPSearchExpression();
+        
+        virtual IMAPSearchKind kind();
+        virtual String * header();
+        virtual String * value();
+        virtual uint64_t longNumber();
+        virtual time_t date();
+        virtual IndexSet * uids();
+        virtual IndexSet * numbers();
+        
+        
+        virtual IMAPSearchExpression * leftExpression();
+        virtual IMAPSearchExpression * rightExpression();
+        
+        static IMAPSearchExpression * searchAll();
+        static IMAPSearchExpression * searchFrom(String * value);
+        static IMAPSearchExpression * searchTo(String *value);
+        static IMAPSearchExpression * searchCc(String *value);
+        static IMAPSearchExpression * searchBcc(String *value);
+        static IMAPSearchExpression * searchRecipient(String * value);
+        static IMAPSearchExpression * searchSubject(String * value);
+        static IMAPSearchExpression * searchContent(String * value);
+        static IMAPSearchExpression * searchBody(String * value);
+        static IMAPSearchExpression * searchHeader(String * header, String * value);
+        static IMAPSearchExpression * searchUIDs(IndexSet * uids);
+        static IMAPSearchExpression * searchNumbers(IndexSet * numbers);
+        static IMAPSearchExpression * searchRead();
+        static IMAPSearchExpression * searchUnread();
+        static IMAPSearchExpression * searchFlagged();
+        static IMAPSearchExpression * searchUnflagged();
+        static IMAPSearchExpression * searchAnswered();
+        static IMAPSearchExpression * searchUnanswered();
+        static IMAPSearchExpression * searchDraft();
+        static IMAPSearchExpression * searchUndraft();
+        static IMAPSearchExpression * searchDeleted();
+        static IMAPSearchExpression * searchSpam();
+        static IMAPSearchExpression * searchBeforeDate(time_t date);
+        static IMAPSearchExpression * searchOnDate(time_t date);
+        static IMAPSearchExpression * searchSinceDate(time_t date);
+        static IMAPSearchExpression * searchBeforeReceivedDate(time_t date);
+        static IMAPSearchExpression * searchOnReceivedDate(time_t date);
+        static IMAPSearchExpression * searchSinceReceivedDate(time_t date);
+        static IMAPSearchExpression * searchSizeLarger(uint32_t size);
+        static IMAPSearchExpression * searchSizeSmaller(uint32_t size);
+        static IMAPSearchExpression * searchGmailThreadID(uint64_t number);
+        static IMAPSearchExpression * searchGmailMessageID(uint64_t number);
+        static IMAPSearchExpression * searchGmailRaw(String * expr);
+        static IMAPSearchExpression * searchAnd(IMAPSearchExpression * left, IMAPSearchExpression * right);
+        static IMAPSearchExpression * searchOr(IMAPSearchExpression * left, IMAPSearchExpression * right);
+        static IMAPSearchExpression * searchNot(IMAPSearchExpression * notExpr);
+        
+        
+    public: // subclass behavior
+        IMAPSearchExpression(IMAPSearchExpression * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        IMAPSearchKind mKind;
+        String * mHeader;
+        String * mValue;
+        uint64_t mLongNumber;
+        IndexSet * mUids;
+        IndexSet * mNumbers;
+        IMAPSearchExpression * mLeftExpression;
+        IMAPSearchExpression * mRightExpression;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bb9cef081bde6869cdceb16c5d6720f543b39a00
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSearchOperation.h
@@ -0,0 +1,54 @@
+//
+//  IMAPSearchOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPSEARCHOPERATION_H
+
+#define MAILCORE_MCIMAPSEARCHOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPSearchExpression;
+    
+    class MAILCORE_EXPORT IMAPSearchOperation : public IMAPOperation {
+    public:
+        IMAPSearchOperation();
+        virtual ~IMAPSearchOperation();
+        
+        virtual void setSearchKind(IMAPSearchKind kind);
+        virtual IMAPSearchKind searchKind();
+        
+        virtual void setSearchString(String * searchString);
+        virtual String * searchString();
+        
+        virtual void setSearchExpression(IMAPSearchExpression * expression);
+        virtual IMAPSearchExpression * searchExpression();
+        
+        // Result.
+        virtual IndexSet * uids();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPSearchKind mKind;
+        String * mSearchString;
+        IMAPSearchExpression * mExpression;
+        IndexSet * mUids;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..5ee6bc1c76264ca44e3157c2fe346057624ce9bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSession.h
@@ -0,0 +1,298 @@
+#ifndef MAILCORE_MCIMAPSESSION_H
+
+#define MAILCORE_MCIMAPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCIMAPMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    extern String * IMAPNamespacePersonal;
+    extern String * IMAPNamespaceOther;
+    extern String * IMAPNamespaceShared;
+    
+    class IMAPNamespace;
+    class IMAPSearchExpression;
+    class IMAPFolder;
+    class IMAPProgressCallback;
+    class IMAPSyncResult;
+    class IMAPFolderStatus;
+    class IMAPIdentity;
+    
+    class MAILCORE_EXPORT IMAPSession : public Object {
+    public:
+        IMAPSession();
+        virtual ~IMAPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setVoIPEnabled(bool enabled);
+        virtual bool isVoIPEnabled();
+        
+        // Needed for fetchSubscribedFolders() and fetchAllFolders().
+        virtual void setDefaultNamespace(IMAPNamespace * ns);
+        virtual IMAPNamespace * defaultNamespace();
+        
+        virtual IMAPIdentity * serverIdentity();
+        virtual IMAPIdentity * clientIdentity();
+        
+        virtual void select(String * folder, ErrorCode * pError);
+        virtual IMAPFolderStatus * folderStatus(String * folder, ErrorCode * pError);
+        
+        virtual Array * /* IMAPFolder */ fetchSubscribedFolders(ErrorCode * pError);
+        virtual Array * /* IMAPFolder */ fetchAllFolders(ErrorCode * pError); // will use xlist if available
+        
+        virtual void renameFolder(String * folder, String * otherName, ErrorCode * pError);
+        virtual void deleteFolder(String * folder, ErrorCode * pError);
+        virtual void createFolder(String * folder, ErrorCode * pError);
+        
+        virtual void subscribeFolder(String * folder, ErrorCode * pError);
+        virtual void unsubscribeFolder(String * folder, ErrorCode * pError);
+        
+        virtual void appendMessage(String * folder, Data * messageData, MessageFlag flags,
+                                   IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        virtual void appendMessageWithCustomFlags(String * folder, Data * messageData, MessageFlag flags, Array * customFlags,
+                                   IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        virtual void appendMessageWithCustomFlagsAndDate(String * folder, Data * messageData, MessageFlag flags, Array * customFlags, time_t date,
+                                                         IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        
+        virtual void copyMessages(String * folder, IndexSet * uidSet, String * destFolder,
+                                  HashMap ** pUidMapping, ErrorCode * pError);
+        
+        virtual void expunge(String * folder, ErrorCode * pError);
+        
+        virtual Array * /* IMAPMessage */ fetchMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
+                                                             IndexSet * uids, IMAPProgressCallback * progressCallback,
+                                                             ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByUIDWithExtraHeaders(String * folder,
+                                                                             IMAPMessagesRequestKind requestKind,
+                                                                             IndexSet * uids,
+                                                                             IMAPProgressCallback * progressCallback,
+                                                                             Array * extraHeaders, ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByNumber(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                IndexSet * numbers, IMAPProgressCallback * progressCallback,
+                                                                ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByNumberWithExtraHeaders(String * folder,
+                                                                                IMAPMessagesRequestKind requestKind,
+                                                                                IndexSet * numbers,
+                                                                                IMAPProgressCallback * progressCallback,
+                                                                                Array * extraHeaders, ErrorCode * pError);
+        virtual String * customCommand(String * command, ErrorCode * pError);
+
+        virtual Data * fetchMessageByUID(String * folder, uint32_t uid,
+                                         IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageByNumber(String * folder, uint32_t number,
+                                            IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageAttachmentByUID(String * folder, uint32_t uid, String * partID,
+                                                   Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageAttachmentByNumber(String * folder, uint32_t number, String * partID,
+                                                      Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual HashMap * fetchMessageNumberUIDMapping(String * folder, uint32_t fromUID, uint32_t toUID,
+                                                       ErrorCode * pError);
+        
+        /* When CONDSTORE or QRESYNC is available */
+        virtual IMAPSyncResult * syncMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
+                                                   IndexSet * uids, uint64_t modseq,
+                                                   IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        /* Same as syncMessagesByUID, allows for extra headers */
+        virtual IMAPSyncResult * syncMessagesByUIDWithExtraHeaders(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                   IndexSet * uids, uint64_t modseq,
+                                                                   IMAPProgressCallback * progressCallback,
+                                                                   Array * extraHeaders, ErrorCode * pError);
+        
+        virtual void storeFlagsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, ErrorCode * pError);
+        virtual void storeFlagsAndCustomFlagsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        virtual void storeFlagsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, ErrorCode * pError);
+        virtual void storeFlagsAndCustomFlagsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        
+        virtual void storeLabelsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+        virtual void storeLabelsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+        
+        virtual IndexSet * search(String * folder, IMAPSearchKind kind, String * searchString, ErrorCode * pError);
+        virtual IndexSet * search(String * folder, IMAPSearchExpression * expression, ErrorCode * pError);
+        virtual void getQuota(uint32_t *usage, uint32_t *limit, ErrorCode * pError);
+        
+        virtual bool setupIdle();
+        virtual void idle(String * folder, uint32_t lastKnownUID, ErrorCode * pError);
+        virtual void interruptIdle();
+        virtual void unsetupIdle();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void noop(ErrorCode * pError);
+        
+        virtual HashMap * fetchNamespace(ErrorCode * pError);
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual IMAPIdentity * identity(IMAPIdentity * clientIdentity, ErrorCode * pError);
+        
+        virtual IndexSet * capability(ErrorCode * pError);
+        
+        virtual void enableCompression(ErrorCode * pError);
+        
+        virtual uint32_t uidValidity();
+        virtual uint32_t uidNext();
+        virtual uint64_t modSequenceValue();
+        virtual unsigned int lastFolderMessageCount();
+        virtual uint32_t firstUnseenUid();
+        
+        virtual bool isIdleEnabled();
+        virtual bool isXListEnabled();
+        virtual bool isCondstoreEnabled();
+        virtual bool isQResyncEnabled();
+        virtual bool isIdentityEnabled();
+        virtual bool isXOAuthEnabled();
+        virtual bool isNamespaceEnabled();
+        virtual bool isCompressionEnabled();
+        virtual bool allowsNewPermanentFlags(); 
+      
+        virtual String * gmailUserDisplayName() DEPRECATED_ATTRIBUTE;
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+        /** HTML rendering of the body of the message to be displayed in a web view.*/
+        virtual String * htmlRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** HTML rendering of the body of the message.*/
+        virtual String * htmlBodyRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** Text rendering of the message.*/
+        virtual String * plainTextRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+         This method can be used to generate the summary of the message.*/
+        virtual String * plainTextBodyRendering(IMAPMessage * message, String * folder, bool stripWhitespace, ErrorCode * pError);
+        
+        /** Enable automatic query of the capabilities of the IMAP server when set to true. */
+        virtual void setAutomaticConfigurationEnabled(bool enabled);
+        
+        /** Check if the automatic query of the capabilities of the IMAP server is enabled. */
+        virtual bool isAutomaticConfigurationEnabled();
+        
+    public: // private
+        virtual void loginIfNeeded(ErrorCode * pError);
+        virtual void connectIfNeeded(ErrorCode * pError);
+        virtual void selectIfNeeded(String * folder, ErrorCode * pError);
+        virtual bool isDisconnected();
+        virtual bool isAutomaticConfigurationDone();
+        virtual void resetAutomaticConfigurationDone();
+        virtual void applyCapabilities(IndexSet * capabilities);
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        bool mVoIPEnabled;
+        char mDelimiter;
+        IMAPNamespace * mDefaultNamespace;
+        IMAPIdentity * mServerIdentity;
+        IMAPIdentity * mClientIdentity;
+        time_t mTimeout;
+        
+        bool mBodyProgressEnabled;
+        bool mIdleEnabled;
+        bool mXListEnabled;
+        bool mCondstoreEnabled;
+        bool mQResyncEnabled;
+        bool mIdentityEnabled;
+        bool mXOauth2Enabled;
+        bool mNamespaceEnabled;
+        bool mCompressionEnabled;
+        bool mIsGmail;
+        bool mAllowsNewPermanentFlags;
+        String * mWelcomeString;
+        bool mNeedsMboxMailWorkaround;
+        uint32_t mUIDValidity;
+        uint32_t mUIDNext;
+        uint64_t mModSequenceValue;
+        unsigned int mFolderMsgCount;
+        uint32_t mFirstUnseenUid;
+        bool mYahooServer;
+        
+        unsigned int mLastFetchedSequenceNumber;
+        String * mCurrentFolder;
+        pthread_mutex_t mIdleLock;
+        bool mCanIdle;
+        int mState;
+        mailimap * mImap;
+        IMAPProgressCallback * mProgressCallback;
+        unsigned int mProgressItemsCount;
+        ConnectionLogger * mConnectionLogger;
+        bool mAutomaticConfigurationEnabled;
+        bool mAutomaticConfigurationDone;
+        bool mShouldDisconnect;
+        
+        String * mLoginResponse;
+        String * mGmailUserDisplayName;
+        
+        void init();
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        void itemsProgress(unsigned int current, unsigned int maximum);
+        bool checkCertificate();
+        static void body_progress(size_t current, size_t maximum, void * context);
+        static void items_progress(size_t current, size_t maximum, void * context);
+        void setup();
+        void unsetup();
+        char fetchDelimiterIfNeeded(char defaultDelimiter, ErrorCode * pError);
+        IMAPSyncResult * fetchMessages(String * folder, IMAPMessagesRequestKind requestKind,
+                                       bool fetchByUID, struct mailimap_set * imapset,
+                                       IndexSet * uidsFilter, IndexSet * numbersFilter,
+                                       uint64_t modseq,
+                                       HashMap * mapping, IMAPProgressCallback * progressCallback,
+                                       Array * extraHeaders, ErrorCode * pError);
+        void capabilitySetWithSessionState(IndexSet * capabilities);
+        bool enableFeature(String * feature);
+        void enableFeatures();
+        Data * fetchMessage(String * folder, bool identifier_is_uid, uint32_t identifier,
+                            IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        void storeFlagsAndCustomFlags(String * folder, bool identifier_is_uid, IndexSet * identifiers,
+                                      IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        Data * fetchMessageAttachment(String * folder, bool identifier_is_uid,
+                                      uint32_t identifier, String * partID,
+                                      Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        void storeLabels(String * folder, bool identifier_is_uid, IndexSet * identifiers, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSyncResult.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSyncResult.h
new file mode 100644
index 0000000000000000000000000000000000000000..683ca6cc467e57e2ee48c88f9d50a94febdf463c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIMAPSyncResult.h
@@ -0,0 +1,39 @@
+//
+//  MCIMAPSyncResult.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/3/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPSYNCRESULT_H
+
+#define MAILCORE_MCIMAPSYNCRESULT_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPSyncResult : public Object {
+    public:
+        IMAPSyncResult();
+        virtual ~IMAPSyncResult();
+        
+        virtual void setModifiedOrAddedMessages(Array * /* IMAPMessage */ messages);
+        virtual Array * /* IMAPMessage */ modifiedOrAddedMessages();
+        
+        virtual void setVanishedMessages(IndexSet * vanishedMessages);
+        virtual IndexSet * vanishedMessages();
+        
+    private:
+        Array * /* IMAPMessage */ mModifiedOrAddedMessages;
+        IndexSet * mVanishedMessages;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIndexSet.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIndexSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..94759adae6e5e9ebc9ed05e86cc714b3f1b94097
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIndexSet.h
@@ -0,0 +1,76 @@
+//
+//  MCIndexSet.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/4/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCINDEXSET_H
+
+#define MAILCORE_MCINDEXSET_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCRange.h>
+//#include <inttypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IndexSet : public Object {
+    public:
+        IndexSet();
+        virtual ~IndexSet();
+        
+        static IndexSet * indexSet();
+        static IndexSet * indexSetWithRange(Range range);
+        static IndexSet * indexSetWithIndex(uint64_t idx);
+        
+        virtual unsigned int count();
+        virtual void addIndex(uint64_t idx);
+        virtual void removeIndex(uint64_t idx);
+        virtual bool containsIndex(uint64_t idx);
+        
+        virtual void addRange(Range range);
+        virtual void removeRange(Range range);
+        virtual void intersectsRange(Range range);
+        
+        virtual void addIndexSet(IndexSet * indexSet);
+        virtual void removeIndexSet(IndexSet * indexSet);
+        virtual void intersectsIndexSet(IndexSet * indexSet);
+        
+        virtual Range * allRanges();
+        virtual unsigned int rangesCount();
+        virtual void removeAllIndexes();
+        
+    public: // subclass behavior
+        IndexSet(IndexSet * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        Range * mRanges;
+        unsigned int mCount;
+        unsigned int mAllocated;
+        void init();
+        int rangeIndexForIndex(uint64_t idx);
+        int rangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        void addRangeIndex(unsigned int rangeIndex);
+        void removeRangeIndex(unsigned int rangeIndex, unsigned int count);
+        int rightRangeIndexForIndex(uint64_t idx);
+        int rightRangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        int leftRangeIndexForIndex(uint64_t idx);
+        int leftRangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        void mergeRanges(unsigned int rangeIndex);
+        void tryToMergeAdjacentRanges(unsigned int rangeIndex);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIterator.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIterator.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3e5b1c1714726b7091c72730e9da721b1f45bc9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCIterator.h
@@ -0,0 +1,189 @@
+//
+//  MCIterator.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/18/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_ITERATOR_H
+
+#define MAILCORE_ITERATOR_H
+
+#include <MailCore/MCArray.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCIndexSet.h>
+#include <MailCore/MCAutoreleasePool.h>
+#include <MailCore/MCAssert.h>
+#include <string.h>
+
+#ifdef __cplusplus
+
+#define mc_foreacharray(type, __variable, __array) \
+type * __variable; \
+mailcore::ArrayIterator __variable##__iterator = mailcore::ArrayIteratorInit(__array); \
+for (; NULL != (__variable = (type *) mailcore::ArrayIteratorNext(&__variable##__iterator)); )
+
+#define mc_foreacharrayIndex(__index, type, __variable, __array) \
+type * __variable; \
+mailcore::ArrayIterator __variable##__iterator = mailcore::ArrayIteratorInit(__array); \
+for (unsigned int __index = 0; NULL != (__variable = (type *) mailcore::ArrayIteratorNext(&__variable##__iterator)); __index++)
+
+#define mc_foreachhashmapKey(keyType, __key, __hashmap) \
+keyType * __key; \
+HashMapIterator __key##__iterator = HashMapIteratorInit(__hashmap, true, false); \
+while (HashMapIteratorRun(&__key##__iterator)) \
+while (HashMapIteratorNext(&__key##__iterator, (Object **) &__key, (Object **) NULL))
+
+#define mc_foreachhashmapValue(valueType, __value, __hashmap) \
+valueType * __value; \
+HashMapIterator __value##__iterator = HashMapIteratorInit(__hashmap, false, true); \
+while (HashMapIteratorRun(&__value##__iterator)) \
+while (HashMapIteratorNext(&__value##__iterator, (Object **) NULL, (Object **) &__value))
+
+#define mc_foreachhashmapKeyAndValue(keyType, __key, valueType, __value, __hashmap) \
+keyType * __key; \
+valueType * __value; \
+HashMapIterator __key##__value##__iterator = HashMapIteratorInit(__hashmap, true, true); \
+while (HashMapIteratorRun(&__key##__value##__iterator)) \
+while (HashMapIteratorNext(&__key##__value##__iterator, (Object **) &__key, (Object **) &__value))
+
+#define mc_foreachindexset(__variable, __indexset) \
+int64_t __variable; \
+mailcore::IndexSetIterator __variable##__iterator = mailcore::IndexSetIteratorInit(__indexset); \
+for (; (__variable = IndexSetIteratorValue(&__variable##__iterator)), IndexSetIteratorIsValid(&__variable##__iterator) ; mailcore::IndexSetIteratorNext(&__variable##__iterator))
+
+namespace mailcore {
+    
+    struct IndexSetIterator {
+        unsigned int rangeIndex;
+        unsigned int index;
+        Range * currentRange;
+        IndexSet * indexSet;
+    };
+    
+    static inline IndexSetIterator IndexSetIteratorInit(IndexSet * indexSet)
+    {
+        IndexSetIterator iterator = { 0, 0, NULL, indexSet };
+        if (indexSet->rangesCount() >= 1) {
+            iterator.currentRange = &indexSet->allRanges()[0];
+        }
+        return iterator;
+    }
+    
+    static inline bool IndexSetIteratorIsValid(IndexSetIterator * iterator)
+    {
+        return iterator->currentRange != NULL;
+    }
+    
+    static inline int64_t IndexSetIteratorValue(IndexSetIterator * iterator)
+    {
+        return iterator->currentRange == NULL ? -1 : iterator->currentRange->location + iterator->index;
+    }
+    
+    static inline bool IndexSetIteratorNext(IndexSetIterator * iterator)
+    {
+        iterator->index ++;
+        if (iterator->index > iterator->currentRange->length) {
+            // switch to an other range
+            iterator->index = 0;
+            iterator->rangeIndex ++;
+            if (iterator->rangeIndex >= iterator->indexSet->rangesCount()) {
+                iterator->currentRange = NULL;
+                return false;
+            }
+            else {
+                iterator->currentRange = &iterator->indexSet->allRanges()[iterator->rangeIndex];
+                return true;
+            }
+        }
+        else {
+            return true;
+        }
+    }
+    
+    struct ArrayIterator {
+        unsigned index;
+        unsigned count;
+        Array * array;
+    };
+    
+    static inline ArrayIterator ArrayIteratorInit(Array * array)
+    {
+        ArrayIterator iterator = { 0, array != NULL ? array->count() : 0, array };
+        return iterator;
+    }
+    
+    static inline Object * ArrayIteratorNext(ArrayIterator * iterator)
+    {
+        if (iterator->index >= iterator->count) {
+            return NULL;
+        }
+        
+        Object * result = iterator->array->objectAtIndex(iterator->index);
+        ++ iterator->index;
+        return result;
+    }
+    
+    
+    struct HashMapIterator {
+        bool cleanup;
+        unsigned index;
+        unsigned count;
+        Array * keys;
+        Array * values;
+    };
+    
+    static inline HashMapIterator HashMapIteratorInit(HashMap * hashmap, bool useKeys, bool useValues)
+    {
+        AutoreleasePool * pool = new AutoreleasePool();
+        Array * keys =  useKeys ? (hashmap != NULL ? hashmap->allKeys() : NULL) : NULL;
+        Array * values = useValues ? (hashmap != NULL ? hashmap->allValues() : NULL) : NULL;
+        if (keys != NULL) {
+            keys->retain();
+        }
+        if (values != NULL) {
+            values->retain();
+        }
+        HashMapIterator iterator = { false, 0, hashmap != NULL ? hashmap->count() : 0, keys, values };
+        pool->release();
+        
+        return iterator;
+    }
+    
+    static inline bool HashMapIteratorNext(HashMapIterator * iterator, Object ** keyp, Object ** valuep)
+    {
+        if (iterator->index >= iterator->count) {
+            return false;
+        }
+        
+        if (keyp != NULL) {
+            MCAssert(iterator->keys != NULL);
+            * keyp = iterator->keys->objectAtIndex(iterator->index);
+        }
+        if (valuep != NULL) {
+            MCAssert(iterator->values != NULL);
+            * valuep = iterator->values->objectAtIndex(iterator->index);
+        }
+        iterator->index ++;
+        return true;
+    }
+    
+    
+    static inline bool HashMapIteratorRun(HashMapIterator * iterator)
+    {
+        if (!iterator->cleanup) {
+            iterator->cleanup = true;
+            return true;
+        } else {
+            MC_SAFE_RELEASE(iterator->keys);
+            MC_SAFE_RELEASE(iterator->values);
+            return false;
+        }
+    }
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCJSON.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCJSON.h
new file mode 100644
index 0000000000000000000000000000000000000000..f000dc2de5039f55c2a82a9f412fada2fa7c55fd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCJSON.h
@@ -0,0 +1,38 @@
+//
+//  MCJSON.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/8/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCJSON_H
+
+#define MAILCORE_MCJSON_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCArray.h>
+#include <MailCore/MCValue.h>
+#include <MailCore/MCString.h>
+#include <MailCore/MCData.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Null;
+    
+    class MAILCORE_EXPORT JSON {
+    public:
+        static String * objectToJSONString(Object * object);
+        static Data * objectToJSONData(Object * object);
+        static Object * objectFromJSONString(String * json);
+        static Object * objectFromJSONData(Data * json);
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__hermes__MCJSON__) */
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLibetpanTypes.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLibetpanTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..fcb8e70adabe9e45c1dd921ea154449e12c5b916
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLibetpanTypes.h
@@ -0,0 +1,46 @@
+//
+//  MCLibetpanTypes.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/7/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCLIBETPANTYPES_H
+
+#define MAILCORE_MCLIBETPANTYPES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    struct mailimap_body_fields;
+    struct mailimap_body_ext_1part;
+    struct mailimf_address;
+    struct mailimf_mailbox;
+    struct mailimap_address;
+    struct mailmime;
+    struct mailmime_mechanism;
+    struct mailimap_namespace_item;
+    struct mailimap_namespace_info;
+    struct mailimap_body;
+    struct mailimap_body_fields;
+    struct mailimap_body_ext_1part;
+    struct mailimap_body_type_1part;
+    struct mailimap_body_type_basic;
+    struct mailimap_body_type_text;
+    struct mailimap_body_type_mpart;
+    struct mailimap_body_type_msg;
+    typedef struct mailimap mailimap;
+    struct mailimap_set;
+    struct mailimap_date_time;
+    struct mailimf_fields;
+    struct mailimap_envelope;
+    typedef struct mailpop3 mailpop3;
+    typedef struct mailsmtp mailsmtp;
+    typedef struct newsnntp newsnntp;
+    struct mailsem;
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLog.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLog.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f3efdb5bb72fdb35eff2d253027453cbff9cbde
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCLog.h
@@ -0,0 +1,31 @@
+#ifndef MAILCORE_MCLOG_H
+
+#define MAILCORE_MCLOG_H
+
+#include <stdio.h>
+#include <MailCore/MCUtils.h>
+
+#define MCLog(...) MCLogInternal(NULL, __FILE__, __LINE__, 0, __VA_ARGS__)
+#define MCLogStack(...) MCLogInternal(NULL, __FILE__, __LINE__, 1, __VA_ARGS__)
+
+MAILCORE_EXPORT
+extern int MCLogEnabled;
+    
+#ifndef __printflike
+#define __printflike(a,b)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    MAILCORE_EXPORT
+    void MCLogInternal(const char * user,
+                       const char * filename,
+                       unsigned int line,
+                       int dumpStack,
+                       const char * format, ...) __printflike(5, 6);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMD5.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMD5.h
new file mode 100644
index 0000000000000000000000000000000000000000..b8cde2e9a95cde3ae8a7018f2b1d2a04f4c8783e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMD5.h
@@ -0,0 +1,28 @@
+//
+//  MCMD5.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMD5_H
+
+#define MAILCORE_MCMD5_H
+
+#include <MailCore/MCData.h>
+#include <MailCore/MCString.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    MAILCORE_EXPORT
+    Data * md5Data(Data * data);
+
+    MAILCORE_EXPORT
+    String * md5String(Data * data);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMXRecordResolverOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMXRecordResolverOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d8a6fc8fc031d0af422361abcc94ad1aa92eadb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMXRecordResolverOperation.h
@@ -0,0 +1,41 @@
+//
+//  ResolveProviderUsingMXRecordAsync.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 29/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCFETCHASYNCMXRECORD_H
+
+#define MAILCORE_MCFETCHASYNCMXRECORD_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT MXRecordResolverOperation : public Operation {
+    public:
+        MXRecordResolverOperation();
+        virtual ~MXRecordResolverOperation();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual Array * mxRecords();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Array * mMXRecords;
+        String * mHostname;
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvider.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0801da5b89c5ddfb04a7aebf0ac0e5e652b1764
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvider.h
@@ -0,0 +1,75 @@
+//
+//  MCMailProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMAILPROVIDER_H
+
+#define MAILCORE_MCMAILPROVIDER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NetService;
+    
+    class MAILCORE_EXPORT MailProvider : public Object {
+    public:
+        static MailProvider * providerWithInfo(HashMap * info);
+        
+        MailProvider();
+        virtual ~MailProvider();
+        
+        virtual String * identifier();
+        
+        virtual Array * /* NetService */ imapServices();
+        virtual Array * /* NetService */ smtpServices();
+        virtual Array * /* NetService */ popServices();
+        
+        virtual bool matchEmail(String * email);
+        virtual bool matchMX(String * hostname);
+        
+        virtual String * sentMailFolderPath();
+        virtual String * starredFolderPath();
+        virtual String * allMailFolderPath();
+        virtual String * trashFolderPath();
+        virtual String * draftsFolderPath();
+        virtual String * spamFolderPath();
+        virtual String * importantFolderPath();
+        
+        // Returns true if one of the folders above matches the given one.
+        virtual bool isMainFolder(String * folderPath, String * prefix);
+        
+    public: // subclass behavior
+        MailProvider(MailProvider * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        virtual void setIdentifier(String * identifier);
+        virtual void fillWithInfo(HashMap * info);
+        
+    private:
+        String * mIdentifier;
+        Array * /* String */ mDomainMatch;
+        Array * /* String */ mDomainExclude;
+        Array * /* String */ mMxMatch;
+        Array * /* NetService */ mImapServices;
+        Array * /* NetService */ mSmtpServices;
+        Array * /* NetService */ mPopServices;
+        HashMap * mMailboxPaths;
+        
+        virtual bool matchDomain(String * match, String * domain);
+        void init();
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvidersManager.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvidersManager.h
new file mode 100644
index 0000000000000000000000000000000000000000..774c2d30767905ffcb7fed0fe546b126b93c2534
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMailProvidersManager.h
@@ -0,0 +1,43 @@
+//
+//  MCMailProvidersManager.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMAILPROVIDERSMANAGER_H
+
+#define MAILCORE_MCMAILPROVIDERSMANAGER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MailProvider;
+    
+    class MAILCORE_EXPORT MailProvidersManager : public Object {
+    public:
+        static MailProvidersManager * sharedManager();
+        
+        virtual MailProvider * providerForEmail(String * email);
+        virtual MailProvider * providerForMX(String * hostname);
+        virtual MailProvider * providerForIdentifier(String * identifier);
+        
+        virtual void registerProvidersWithFilename(String * filename);
+        
+    private:
+        MailProvidersManager();
+        void registerProviders(HashMap * providers);
+        
+        HashMap * mProviders;
+        
+        void init();
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMainThread.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMainThread.h
new file mode 100644
index 0000000000000000000000000000000000000000..df246665aa35c6833aa834eb2c162cbda60bf6c7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMainThread.h
@@ -0,0 +1,20 @@
+#ifndef MAILCORE_MCMAINTHREAD_H
+
+#define MAILCORE_MCMAINTHREAD_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    void callOnMainThread(void (*)(void *), void * context);
+    void callOnMainThreadAndWait(void (*)(void *), void * context);
+    
+    // Returns a "call" object.
+    void * callAfterDelay(void (*)(void *), void * context, double time);
+    
+    // Pass the pointer returns by callAfterDelay() to cancel a delayed call.
+    void cancelDelayedCall(void * call);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageBuilder.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageBuilder.h
new file mode 100644
index 0000000000000000000000000000000000000000..f03bd09a81de100a3b3db9ae31074cc268440da4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageBuilder.h
@@ -0,0 +1,80 @@
+#ifndef MAILCORE_MCMESSAGEBUILDER_H
+
+#define MAILCORE_MCMESSAGEBUILDER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Attachment;
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT MessageBuilder : public AbstractMessage {
+    public:
+        MessageBuilder();
+        virtual ~MessageBuilder();
+        
+        virtual void setHTMLBody(String * htmlBody);
+        virtual String * htmlBody();
+        
+        virtual void setTextBody(String * textBody);
+        virtual String * textBody();
+        
+        virtual void setAttachments(Array * /* Attachment */ attachments);
+        virtual Array * /* Attachment */ attachments();
+        virtual void addAttachment(Attachment * attachment);
+        
+        // attachments (usually images) that are included in HTML.
+        // a Content-ID should be assigned to these part to be able to reference
+        // them in the HTML using a cid: URL.
+        virtual void setRelatedAttachments(Array * /* Attachment */ attachments);
+        virtual Array * /* Attachment */ relatedAttachments();
+        virtual void addRelatedAttachment(Attachment * attachment);
+        
+        // When boundary needs to be prefixed (to go through spam filters).
+        virtual void setBoundaryPrefix(String * boundaryPrefix);
+        virtual String * boundaryPrefix();
+        
+        virtual Data * data();
+        virtual Data * dataForEncryption();
+        
+        virtual String * htmlRendering(HTMLRendererTemplateCallback * htmlCallback = NULL);
+        virtual String * htmlBodyRendering();
+        
+        virtual String * plainTextRendering();
+        virtual String * plainTextBodyRendering(bool stripWhitespace);
+        
+        virtual Data * openPGPSignedMessageDataWithSignatureData(Data * signature);
+        virtual Data * openPGPEncryptedMessageDataWithEncryptedData(Data * encryptedData);
+        
+    public: // subclass behavior
+        MessageBuilder(MessageBuilder * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        virtual String * nextBoundary();
+        virtual void resetBoundaries();
+        virtual void setBoundaries(Array * boundaries);
+        
+    private:
+        String * mHTMLBody;
+        String * mTextBody;
+        Array * /* Attachment */ mAttachments;
+        Array * /* Attachment */ mRelatedAttachments;
+        String * mBoundaryPrefix;
+        void init();
+        Data * dataAndFilterBccAndForEncryption(bool filterBcc, bool forEncryption);
+        struct mailmime * mimeAndFilterBccAndForEncryption(bool filterBcc, bool forEncryption);
+        Array * mBoundaries;
+        unsigned int mCurrentBoundaryIndex;
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageConstants.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageConstants.h
new file mode 100644
index 0000000000000000000000000000000000000000..d1029b138da490abec4db8fe5a79dd728c414309
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageConstants.h
@@ -0,0 +1,282 @@
+#ifndef MAILCORE_MCMESSAGECONSTANTS_H
+
+#define MAILCORE_MCMESSAGECONSTANTS_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    enum ConnectionType {
+        ConnectionTypeClear             = 1 << 0,
+        ConnectionTypeStartTLS          = 1 << 1,
+        ConnectionTypeTLS               = 1 << 2,
+    };
+    
+    enum AuthType {
+        AuthTypeSASLNone          = 0,
+        AuthTypeSASLCRAMMD5       = 1 << 0,
+        AuthTypeSASLPlain         = 1 << 1,
+        AuthTypeSASLGSSAPI        = 1 << 2,
+        AuthTypeSASLDIGESTMD5     = 1 << 3,
+        AuthTypeSASLLogin         = 1 << 4,
+        AuthTypeSASLSRP           = 1 << 5,
+        AuthTypeSASLNTLM          = 1 << 6,
+        AuthTypeSASLKerberosV4    = 1 << 7,
+        AuthTypeXOAuth2           = 1 << 8,
+        AuthTypeXOAuth2Outlook    = 1 << 9,
+    };
+    
+    enum IMAPFolderFlag {
+        IMAPFolderFlagNone        = 0,
+        IMAPFolderFlagMarked      = 1 << 0,
+        IMAPFolderFlagUnmarked    = 1 << 1,
+        IMAPFolderFlagNoSelect    = 1 << 2,
+        IMAPFolderFlagNoInferiors = 1 << 3,
+        IMAPFolderFlagInbox       = 1 << 4,
+        IMAPFolderFlagSentMail    = 1 << 5,
+        IMAPFolderFlagStarred     = 1 << 6,
+        IMAPFolderFlagAllMail     = 1 << 7,
+        IMAPFolderFlagTrash       = 1 << 8,
+        IMAPFolderFlagDrafts      = 1 << 9,
+        IMAPFolderFlagSpam        = 1 << 10,
+        IMAPFolderFlagImportant   = 1 << 11,
+        IMAPFolderFlagArchive     = 1 << 12,
+        IMAPFolderFlagAll = IMAPFolderFlagAllMail,
+        IMAPFolderFlagJunk = IMAPFolderFlagSpam,
+        IMAPFolderFlagFlagged = IMAPFolderFlagStarred,
+        IMAPFolderFlagFolderTypeMask = IMAPFolderFlagInbox | IMAPFolderFlagSentMail | IMAPFolderFlagStarred | IMAPFolderFlagAllMail |
+          IMAPFolderFlagTrash| IMAPFolderFlagDrafts | IMAPFolderFlagSpam | IMAPFolderFlagImportant | IMAPFolderFlagArchive,
+    };
+    
+    enum MessageFlag {
+        MessageFlagNone          = 0,
+        MessageFlagSeen          = 1 << 0,
+        MessageFlagAnswered      = 1 << 1,
+        MessageFlagFlagged       = 1 << 2,
+        MessageFlagDeleted       = 1 << 3,
+        MessageFlagDraft         = 1 << 4,
+        MessageFlagMDNSent       = 1 << 5,
+        MessageFlagForwarded     = 1 << 6,
+        MessageFlagSubmitPending = 1 << 7,
+        MessageFlagSubmitted     = 1 << 8,
+        MessageFlagMaskAll = MessageFlagSeen | MessageFlagAnswered | MessageFlagFlagged |
+        MessageFlagDeleted | MessageFlagDraft | MessageFlagMDNSent | MessageFlagForwarded |
+        MessageFlagSubmitPending | MessageFlagSubmitted,
+    } ;
+    
+    enum IMAPMessagesRequestKind {
+        IMAPMessagesRequestKindUid           = 0, // This is the default and it's always fetched
+        IMAPMessagesRequestKindFlags         = 1 << 0,
+        IMAPMessagesRequestKindHeaders       = 1 << 1,
+        IMAPMessagesRequestKindStructure     = 1 << 2,
+        IMAPMessagesRequestKindInternalDate  = 1 << 3,
+        IMAPMessagesRequestKindFullHeaders   = 1 << 4,
+        IMAPMessagesRequestKindHeaderSubject = 1 << 5,
+        IMAPMessagesRequestKindGmailLabels   = 1 << 6,
+        IMAPMessagesRequestKindGmailMessageID = 1 << 7,
+        IMAPMessagesRequestKindGmailThreadID  = 1 << 8,
+        IMAPMessagesRequestKindExtraHeaders  = 1 << 9,
+        IMAPMessagesRequestKindSize          = 1 << 10,
+    };
+    
+    enum IMAPFetchRequestType {
+        IMAPFetchRequestTypeUID = 0,
+        IMAPFetchRequestTypeSequence = 1
+    };
+    
+    enum IMAPStoreFlagsRequestKind {
+        IMAPStoreFlagsRequestKindAdd,
+        IMAPStoreFlagsRequestKindRemove,
+        IMAPStoreFlagsRequestKindSet,
+    };
+    
+    enum IMAPWorkaround {
+        IMAPWorkaroundGmail = 1 << 0,
+        IMAPWorkaroundYahoo = 1 << 1,
+        IMAPWorkaroundExchange2003 = 1 << 2,
+    };
+    
+    enum IMAPCapability {
+        IMAPCapabilityACL,
+        IMAPCapabilityBinary,
+        IMAPCapabilityCatenate,
+        IMAPCapabilityChildren,
+        IMAPCapabilityCompressDeflate,
+        IMAPCapabilityCondstore,
+        IMAPCapabilityEnable,
+        IMAPCapabilityIdle,
+        IMAPCapabilityId,
+        IMAPCapabilityLiteralPlus,
+        IMAPCapabilityMultiAppend,
+        IMAPCapabilityNamespace,
+        IMAPCapabilityQResync,
+        IMAPCapabilityQuota,
+        IMAPCapabilitySort,
+        IMAPCapabilityStartTLS,
+        IMAPCapabilityThreadOrderedSubject,
+        IMAPCapabilityThreadReferences,
+        IMAPCapabilityUIDPlus,
+        IMAPCapabilityUnselect,
+        IMAPCapabilityXList,
+        IMAPCapabilityAuthAnonymous,
+        IMAPCapabilityAuthCRAMMD5,
+        IMAPCapabilityAuthDigestMD5,
+        IMAPCapabilityAuthExternal,
+        IMAPCapabilityAuthGSSAPI,
+        IMAPCapabilityAuthKerberosV4,
+        IMAPCapabilityAuthLogin,
+        IMAPCapabilityAuthNTLM,
+        IMAPCapabilityAuthOTP,
+        IMAPCapabilityAuthPlain,
+        IMAPCapabilityAuthSKey,
+        IMAPCapabilityAuthSRP,
+        IMAPCapabilityXOAuth2,
+        IMAPCapabilityGmail,
+    };
+    
+    enum POPCapability {
+        POPCapabilityNone,
+        POPCapabilityStartTLS,
+        POPCapabilityTop,
+        POPCapabilityUser,
+        POPCapabilityRespCodes,
+        POPCapabilityPipelining,
+        POPCapabilityUIDL,
+        POPCapabilitySASL,
+        POPCapabilityAuthAnonymous,
+        POPCapabilityAuthCRAMMD5,
+        POPCapabilityAuthDigestMD5,
+        POPCapabilityAuthExternal,
+        POPCapabilityAuthGSSAPI,
+        POPCapabilityAuthKerberosV4,
+        POPCapabilityAuthLogin,
+        POPCapabilityAuthNTLM,
+        POPCapabilityAuthOTP,
+        POPCapabilityAuthPlain,
+        POPCapabilityAuthSKey,
+        POPCapabilityAuthSRP,
+    };
+    
+    enum Encoding {
+        Encoding7Bit = 0,            // should match MAILIMAP_BODY_FLD_ENC_7BIT
+        Encoding8Bit = 1,            // should match MAILIMAP_BODY_FLD_ENC_8BIT
+        EncodingBinary = 2,          // should match MAILIMAP_BODY_FLD_ENC_BINARY
+        EncodingBase64 = 3,          // should match MAILIMAP_BODY_FLD_ENC_BASE64
+        EncodingQuotedPrintable = 4, // should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE
+        EncodingOther = 5,           // should match MAILIMAP_BODY_FLD_ENC_OTHER
+        // negative values should be used for other encoding
+        EncodingUUEncode = -1
+    };
+    
+    enum IMAPSearchKind {
+        IMAPSearchKindAll,
+        IMAPSearchKindNone,
+        IMAPSearchKindFrom,
+        IMAPSearchKindTo,
+        IMAPSearchKindCc,
+        IMAPSearchKindBcc,
+        IMAPSearchKindRecipient,   // Recipient is the combination of To, Cc and Bcc
+        IMAPSearchKindSubject,
+        IMAPSearchKindContent,
+        IMAPSearchKindBody,
+        IMAPSearchKindUIDs,
+        IMAPSearchKindNumbers,
+        IMAPSearchKindHeader,
+        IMAPSearchKindRead,
+        IMAPSearchKindUnread,
+        IMAPSearchKindFlagged,
+        IMAPSearchKindUnflagged,
+        IMAPSearchKindAnswered,
+        IMAPSearchKindUnanswered,
+        IMAPSearchKindDraft,
+        IMAPSearchKindUndraft,
+        IMAPSearchKindDeleted,
+        IMAPSearchKindSpam,
+        IMAPSearchKindBeforeDate,
+        IMAPSearchKindOnDate,
+        IMAPSearchKindSinceDate,
+        IMAPSearchKindBeforeReceivedDate,
+        IMAPSearchKindOnReceivedDate,
+        IMAPSearchKindSinceReceivedDate,
+        IMAPSearchKindSizeLarger,
+        IMAPSearchKindSizeSmaller,
+        IMAPSearchKindGmailThreadID,
+        IMAPSearchKindGmailMessageID,
+        IMAPSearchKindGmailRaw,
+        IMAPSearchKindOr,
+        IMAPSearchKindAnd,
+        IMAPSearchKindNot,
+    };
+    
+    enum ErrorCode {
+        ErrorNone, // 0
+        ErrorConnection,
+        ErrorTLSNotAvailable,
+        ErrorParse,
+        ErrorCertificate,
+        ErrorAuthentication,
+        ErrorGmailIMAPNotEnabled,
+        ErrorGmailExceededBandwidthLimit,
+        ErrorGmailTooManySimultaneousConnections,
+        ErrorMobileMeMoved,
+        ErrorYahooUnavailable, // 10
+        ErrorNonExistantFolder,
+        ErrorRename,
+        ErrorDelete,
+        ErrorCreate,
+        ErrorSubscribe,
+        ErrorAppend,
+        ErrorCopy,
+        ErrorExpunge,
+        ErrorFetch,
+        ErrorIdle, // 20
+        ErrorIdentity,
+        ErrorNamespace,
+        ErrorStore,
+        ErrorCapability,
+        ErrorStartTLSNotAvailable,
+        ErrorSendMessageIllegalAttachment,
+        ErrorStorageLimit,
+        ErrorSendMessageNotAllowed,
+        ErrorNeedsConnectToWebmail,
+        ErrorSendMessage, // 30
+        ErrorAuthenticationRequired,
+        ErrorFetchMessageList,
+        ErrorDeleteMessage,
+        ErrorInvalidAccount,
+        ErrorFile,
+        ErrorCompression,
+        ErrorNoSender,
+        ErrorNoRecipient,
+        ErrorNoop,
+        ErrorGmailApplicationSpecificPasswordRequired, // 40
+        ErrorServerDate,
+        ErrorNoValidServerFound,
+        ErrorCustomCommand,
+        ErrorYahooSendMessageSpamSuspected,
+        ErrorYahooSendMessageDailyLimitExceeded
+    };
+    
+    enum PartType {
+        PartTypeSingle,
+        PartTypeMessage,
+        PartTypeMultipartMixed,
+        PartTypeMultipartRelated,
+        PartTypeMultipartAlternative,
+        PartTypeMultipartSigned,
+    };
+    
+    // Private type - It should not be used directly.
+    enum IMAPMessageRenderingType {
+        IMAPMessageRenderingTypeHTML,
+        IMAPMessageRenderingTypeHTMLBody,
+        IMAPMessageRenderingTypePlainText,
+        IMAPMessageRenderingTypePlainTextBody,
+        IMAPMessageRenderingTypePlainTextBodyAndStripWhitespace,
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageHeader.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageHeader.h
new file mode 100644
index 0000000000000000000000000000000000000000..439e0d44164fe0a140ee1af7308ac4e51ce50366
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageHeader.h
@@ -0,0 +1,111 @@
+#ifndef MAILCORE_MCMESSAGEHEADER_H
+
+#define MAILCORE_MCMESSAGEHEADER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <time.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Address;
+    
+    class MAILCORE_EXPORT MessageHeader : public Object {
+    public:
+        MessageHeader();
+        virtual ~MessageHeader();
+        
+        virtual void setMessageID(String * messageID);
+        virtual String * messageID();
+        
+        virtual bool isMessageIDAutoGenerated();
+        
+        virtual void setReferences(Array * /* String */ references);
+        virtual Array * /* String */ references();
+        
+        virtual void setInReplyTo(Array * /* String */ inReplyTo);
+        virtual Array * /* String */ inReplyTo();
+        
+        virtual void setDate(time_t date);
+        virtual time_t date();
+        
+        virtual void setReceivedDate(time_t date);
+        virtual time_t receivedDate();
+        
+        virtual void setSender(Address * sender);
+        virtual Address * sender();
+        
+        virtual void setFrom(Address * from);
+        virtual Address * from();
+        
+        virtual void setTo(Array * /* Address */ to);
+        virtual Array * /* Address */ to();
+        
+        virtual void setCc(Array * /* Address */ cc);
+        virtual Array * /* Address */ cc();
+        
+        virtual void setBcc(Array * /* Address */ bcc);
+        virtual Array * /* Address */ bcc();
+        
+        virtual void setReplyTo(Array * /* Address */ replyTo);
+        virtual Array * /* Address */ replyTo();
+        
+        virtual void setSubject(String * subject);
+        virtual String * subject();
+        
+        virtual void setUserAgent(String * userAgent);
+        virtual String * userAgent();
+        
+        virtual void setExtraHeader(String *name, String * value);
+        virtual void removeExtraHeader(String *name);
+        virtual String * extraHeaderValueForName(String *name);
+        virtual Array * allExtraHeadersNames();
+        
+        String * extractedSubject();
+        virtual String * partialExtractedSubject();
+        virtual void importHeadersData(Data * data);
+        
+        virtual MessageHeader * replyHeader(bool replyAll, Array * addressesExcludedFromRecipient);
+        virtual MessageHeader * forwardHeader();
+        
+    public: // subclass behavior
+        MessageHeader(MessageHeader * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        virtual void importIMAPEnvelope(struct mailimap_envelope * env);
+        virtual void importIMAPReferences(Data * data);
+        virtual void importIMAPInternalDate(struct mailimap_date_time * date);
+        
+        virtual struct mailimf_fields * createIMFFieldsAndFilterBcc(bool filterBcc);
+        virtual void importIMFFields(struct mailimf_fields * fields);
+        
+    private:
+        String * mMessageID;
+        bool mMessageIDAutoGenerated;
+        Array * /* String */ mReferences;
+        Array * /* String */ mInReplyTo;
+        Address * mSender;
+        Address * mFrom;
+        Array * /* Address */ mTo;
+        Array * /* Address */ mCc;
+        Array * /* Address */ mBcc;
+        Array * /* Address */ mReplyTo;
+        String * mSubject;
+        time_t mDate;
+        time_t mReceivedDate;
+        HashMap * mExtraHeaders;
+        void init(bool generateDate, bool generateMessageID);
+        void setExtraHeaders(HashMap *headers);
+        Array * recipientWithReplyAll(bool replyAll, bool includeTo, bool includeCc, Array * senderEmails);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageParser.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageParser.h
new file mode 100644
index 0000000000000000000000000000000000000000..9682bfce22f5aabbbc430c65bfdcf41abb168c17
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessageParser.h
@@ -0,0 +1,70 @@
+#ifndef MAILCORE_MCPARSEDMESSAGE_H
+
+#define MAILCORE_MCPARSEDMESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCAbstractPart.h>
+#ifdef __APPLE__
+#import <CoreFoundation/CoreFoundation.h>
+#endif
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT MessageParser : public AbstractMessage {
+    public:
+        static MessageParser * messageParserWithData(Data * data);
+        static MessageParser * messageParserWithContentsOfFile(String * filename);
+        
+        MessageParser();
+        MessageParser(Data * data);
+        virtual ~MessageParser();
+        
+        virtual AbstractPart * mainPart();
+        virtual Data * data();
+        
+        virtual String * htmlRendering(HTMLRendererTemplateCallback * htmlCallback = NULL);
+        virtual String * htmlBodyRendering();
+        
+        virtual String * plainTextRendering();
+        virtual String * plainTextBodyRendering(bool stripWhitespace);
+        
+    public: // subclass behavior
+        MessageParser(MessageParser * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+#ifdef __APPLE__
+    public:
+        static MessageParser * messageParserWithData(CFDataRef data);
+        MessageParser(CFDataRef data);
+#endif
+        
+    private:
+        Data * mData;
+        AbstractPart * mMainPart;
+        void init();
+#if __APPLE__
+        void * mNSData;
+#endif
+        
+    private:
+        void setBytes(char * bytes, unsigned int length);
+        Data * dataFromNSData();
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..894cd3e5f19510acb87e6763f33035461a7cfb9a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMessagePart.h
@@ -0,0 +1,26 @@
+#ifndef MAILCORE_MCMESSAGEPART_H
+
+#define MAILCORE_MCMESSAGEPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessagePart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT MessagePart : public AbstractMessagePart {
+    public:
+        MessagePart();
+        virtual ~MessagePart();
+        
+    public: // subclass behavior
+        MessagePart(MessagePart * other);
+        virtual Object * copy();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..40b0a48b601cebf263b019aaa67d9c38ce21bbbc
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCMultipart.h
@@ -0,0 +1,26 @@
+#ifndef MAILCORE_MCMULTIPART_H
+
+#define MAILCORE_MCMULTIPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMultipart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Multipart : public AbstractMultipart {
+    public:
+        Multipart();
+        virtual ~Multipart();
+        
+    public: // subclass behavior
+        Multipart(Multipart * other);
+        virtual Object * copy();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..c2da3a66936615d6bf2e9cc4b56c6f921ba05d35
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTP.h
@@ -0,0 +1,9 @@
+#ifndef MAILCORE_MCNNTP_H
+
+#define MAILCORE_MCNNTP_H
+
+#include <MailCore/MCNNTPGroupInfo.h>
+#include <MailCore/MCNNTPProgressCallback.h>
+#include <MailCore/MCNNTPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..b3e40ea84cad963e2b4f30a5282d7bccc8b0d312
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPAsyncSession.h
@@ -0,0 +1,98 @@
+#ifndef MAILCORE_MCNNTPASYNCSESSION_H
+
+#define MAILCORE_MCNNTPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPOperation;
+    class NNTPSession;
+    class NNTPFetchHeaderOperation;
+    class NNTPFetchArticleOperation;
+    class NNTPFetchAllArticlesOperation;
+    class NNTPFetchOverviewOperation;
+    class NNTPListNewsgroupsOperation;
+    class NNTPFetchServerTimeOperation;
+    class NNTPOperationQueueCallback;
+    class NNTPConnectionLogger;
+    
+    class MAILCORE_EXPORT NNTPAsyncSession : public Object {
+    public:
+        NNTPAsyncSession();
+        virtual ~NNTPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * login);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual NNTPFetchAllArticlesOperation * fetchAllArticlesOperation(String * group);
+        
+        virtual NNTPFetchHeaderOperation * fetchHeaderOperation(String * groupName, unsigned int index);
+        
+        virtual NNTPFetchArticleOperation * fetchArticleOperation(String *groupName, unsigned int index);
+        virtual NNTPFetchArticleOperation * fetchArticleByMessageIDOperation(String * messageID);
+        
+        virtual NNTPFetchOverviewOperation * fetchOverviewOperationWithIndexes(String * groupName, IndexSet * indexes);
+        
+        virtual NNTPFetchServerTimeOperation * fetchServerDateOperation();
+        
+        virtual NNTPListNewsgroupsOperation * listAllNewsgroupsOperation();
+        virtual NNTPListNewsgroupsOperation * listDefaultNewsgroupsOperation();
+        
+        virtual NNTPOperation * disconnectOperation();
+        
+        virtual NNTPOperation * checkAccountOperation();
+        
+    private:
+        NNTPSession * mSession;
+        OperationQueue * mQueue;
+        NNTPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        NNTPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+    public: // private
+        virtual void runOperation(NNTPOperation * operation);
+        virtual NNTPSession * session();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..395178a005257e565c995f681ce427a10c4fff04
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCNNTPCheckAccountOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPCHECKACCOUNTOPERATION_H
+
+#define MAILCORE_MCNNTPCHECKACCOUNTOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPCheckAccountOperation : public NNTPOperation {
+    public:
+        NNTPCheckAccountOperation();
+        virtual ~NNTPCheckAccountOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fa532c8e6d4fba46ce1043e116556aba0b36349
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCNNTPFetchAllArticlesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHARTICLESOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHARTICLESOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchAllArticlesOperation : public NNTPOperation {
+    public:
+        NNTPFetchAllArticlesOperation();
+        virtual ~NNTPFetchAllArticlesOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual IndexSet * articles();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        IndexSet * mArticles;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..3e066b7badfdb808871a8b2272d246eeae3fe8c5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h
@@ -0,0 +1,49 @@
+//
+//  MCNNTPFetchArticleOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHARTICLEOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHARTICLEOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    class MAILCORE_EXPORT NNTPFetchArticleOperation : public NNTPOperation {
+    public:
+        NNTPFetchArticleOperation();
+        virtual ~NNTPFetchArticleOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual void setMessageID(String * groupName);
+        virtual String * messageID();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        String * mMessageID;
+        unsigned int mMessageIndex;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..93b9d380f8d0b6baf4ddb95800c8add800a50e51
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h
@@ -0,0 +1,48 @@
+//
+//  MCNNTPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCNNTPFETCHHEADEROPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT NNTPFetchHeaderOperation : public NNTPOperation {
+    public:
+        NNTPFetchHeaderOperation();
+        virtual ~NNTPFetchHeaderOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual MessageHeader * header();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        unsigned int mMessageIndex;
+        MessageHeader * mHeader;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bf8db26feb599afdd4fa0c9d2a3783f242fa2afe
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h
@@ -0,0 +1,45 @@
+//
+//  NNTPFetchOverviewOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHOVERVIEWOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHOVERVIEWOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchOverviewOperation : public NNTPOperation {
+    public:
+        NNTPFetchOverviewOperation();
+        virtual ~NNTPFetchOverviewOperation();
+        
+        virtual void setIndexes(IndexSet * indexes);
+        virtual IndexSet * indexes();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual Array * articles();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mIndexes;
+        String * mGroupName;
+        Array * /* MessageHeader */ mArticles;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..b01a1599c718ff4eb03d8f849df20a30814b366e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCNNTPFetchServerTimeOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchServerTimeOperation : public NNTPOperation {
+    public:
+        NNTPFetchServerTimeOperation();
+        virtual ~NNTPFetchServerTimeOperation();
+        
+        virtual time_t time();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        time_t mTime;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPGroupInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPGroupInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..75a6675c3da5902e0f19127bd6246dcbf26b50b0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPGroupInfo.h
@@ -0,0 +1,38 @@
+#ifndef MAILCORE_MCNNTPGROUPINFO_H
+
+#define MAILCORE_MCNNTPGROUPINFO_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPGroupInfo : public Object {
+    public:
+        NNTPGroupInfo();
+        virtual ~NNTPGroupInfo();
+        
+        virtual void setName(String * uid);
+        virtual String * name();
+        
+        virtual void setMessageCount(uint32_t messages);
+        virtual uint32_t messageCount();
+        
+    public: // subclass behavior
+        NNTPGroupInfo(NNTPGroupInfo * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        String * mName;
+        uint32_t mMessageCount;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2c68038f006c16e899f368928bf6cdece247269
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCNNTPListNewsgroupsMessagesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPLISTNEWSGROUPSOPERATION_H
+
+#define MAILCORE_MCNNTPLISTNEWSGROUPSOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPListNewsgroupsOperation : public NNTPOperation {
+    public:
+        NNTPListNewsgroupsOperation();
+        virtual ~NNTPListNewsgroupsOperation();
+        
+        virtual void setListsSubscribed(bool listsSubscribed);
+        virtual bool listsSubscribed();
+        
+        virtual Array * groups();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mListsSuscribed;
+        Array * /* NNTPGroupInfo */ mGroups;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..52205e9f9dc638092abfce0217f1c32d83874441
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperation.h
@@ -0,0 +1,53 @@
+//
+//  MCNNTPOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPOPERATION_H
+
+#define MAILCORE_MCNNTPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCNNTPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPAsyncSession;
+    class NNTPOperationCallback;
+    
+    class MAILCORE_EXPORT NNTPOperation : public Operation, public NNTPProgressCallback {
+    public:
+        NNTPOperation();
+        virtual ~NNTPOperation();
+        
+        virtual void setSession(NNTPAsyncSession * session);
+        virtual NNTPAsyncSession * session();
+        
+        virtual void setNNTPCallback(NNTPOperationCallback * callback);
+        virtual NNTPOperationCallback * nntpCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        NNTPAsyncSession * mSession;
+        NNTPOperationCallback * mPopCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(NNTPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..e12a1b7579f3788c1378cb721126f755c01e0ee4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCNNTPOperationCallback.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCNNTPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPOperation;
+    
+    class MAILCORE_EXPORT NNTPOperationCallback {
+    public:
+        virtual void bodyProgress(NNTPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..dd615d04f425222db3c99b20ea7c956b395ca124
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCNNTPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCNNTPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class NNTPSession;
+    
+    class MAILCORE_EXPORT NNTPProgressCallback {
+    public:
+        virtual void bodyProgress(NNTPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec0080ed9feb5e883ee3c53da7faa79a7cb3a96f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNNTPSession.h
@@ -0,0 +1,92 @@
+#ifndef MAILCORE_MCNNTPSESSION_H
+#define MAILCORE_MCNNTPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPProgressCallback;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT NNTPSession : public Object {
+    public:
+        NNTPSession();
+        virtual ~NNTPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(ErrorCode * pError);
+        
+        virtual Array * /* NNTPGroupInfo */ listAllNewsgroups(ErrorCode * pError);
+        virtual Array * /* NNTPGroupInfo */ listDefaultNewsgroups(ErrorCode * pError);
+        
+        virtual MessageHeader * fetchHeader(String * groupName, unsigned int index, ErrorCode * pError);
+        virtual Array /*MessageHeader*/ * fetchOverArticlesInRange(Range range, String * groupname, ErrorCode * pError);
+        
+        virtual IndexSet * fetchAllArticles(String * groupname, ErrorCode * pError);
+                
+        virtual Data * fetchArticle(String *groupName, unsigned int index, NNTPProgressCallback * callback, ErrorCode * pError);
+        virtual Data * fetchArticleByMessageID(String * messageID, ErrorCode * pError);
+        
+        virtual time_t fetchServerDate(ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        time_t mTimeout;
+        
+        newsnntp * mNNTP;
+        int mState;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        bool checkCertificate();
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        void loginIfNeeded(ErrorCode * pError);
+        void readerIfNeeded(ErrorCode * pError);
+        void listIfNeeded(ErrorCode * pError);
+        void selectGroup(String * folder, ErrorCode * pError);
+    };
+	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNetService.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNetService.h
new file mode 100644
index 0000000000000000000000000000000000000000..00a618add1d25f613232ed9225084c3e6d5ed8b5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNetService.h
@@ -0,0 +1,59 @@
+//
+//  MCNetService.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNETSERVICE_H
+
+#define MAILCORE_MCNETSERVICE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NetService : public Object {
+    
+    public:
+        NetService();
+        virtual ~NetService();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        	
+        virtual String * normalizedHostnameWithEmail(String * email);
+        
+    public: // serialization
+        static NetService * serviceWithInfo(HashMap * info);
+        virtual HashMap * info();
+    
+    public: //subclass behavior
+        NetService(NetService * other);
+        virtual String * description();
+        virtual Object * copy();
+    		
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        ConnectionType mConnectionType;
+        
+        void init();
+        void fillWithInfo(HashMap * info);
+    };
+    
+}
+
+#endif
+	
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNull.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNull.h
new file mode 100644
index 0000000000000000000000000000000000000000..dc271e0472b844772497ea39e89ef4abf190da6f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCNull.h
@@ -0,0 +1,28 @@
+//
+//  MCNull.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/9/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNULL_H
+
+#define MAILCORE_MCNULL_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Null : public Object {
+    public:
+        static Null * null();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstract.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstract.h
new file mode 100644
index 0000000000000000000000000000000000000000..e174b818fd65a63aaa2b778775361220eea17e2f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstract.h
@@ -0,0 +1,23 @@
+//
+//  MCOAbstract.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACT_H
+
+#define MAILCORE_MCOABSTRACT_H
+
+#import <MailCore/MCOAbstractMessage.h>
+#import <MailCore/MCOAbstractMessagePart.h>
+#import <MailCore/MCOAbstractMultipart.h>
+#import <MailCore/MCOAbstractPart.h>
+#import <MailCore/MCOAddress.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOMessageHeader.h>
+#import <MailCore/MCOHTMLRendererDelegate.h>
+#import <MailCore/MCOHTMLRendererIMAPDelegate.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessage.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..aa5db14b589f7003a645bbb92274ab561e607baa
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessage.h
@@ -0,0 +1,59 @@
+//
+//  MCOAbstractMessage.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMESSAGE_H
+
+#define MAILCORE_MCOABSTRACTMESSAGE_H
+
+#import <Foundation/Foundation.h>
+
+@class MCOMessageHeader;
+@class MCOAbstractPart;
+
+#ifdef __cplusplus
+namespace mailcore {
+    class AbstractMessage;
+}
+#endif
+
+@interface MCOAbstractMessage : NSObject <NSCopying>
+
+#ifdef __cplusplus
+- (id) initWithMCMessage:(mailcore::AbstractMessage *)message NS_DESIGNATED_INITIALIZER;
+#endif
+
+/** Header of the message. */
+@property (nonatomic, strong) MCOMessageHeader * header;
+
+/** Returns the part with the given Content-ID.*/
+- (MCOAbstractPart *) partForContentID:(NSString *)contentID;
+
+/** Returns the part with the given unique identifier.*/
+- (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID;
+
+/** All attachments in the message.
+ It will return an array of MCOIMAPPart for MCOIMAPMessage.
+ It will return an array of MCOAttachment for MCOMessageParser.
+ It will return an array of MCOAttachment for MCOMessageBuilder. */
+- (NSArray * /* MCOAbstractPart */) attachments;
+
+/** All image attachments included inline in the message through cid: URLs.
+ It will return an array of MCOIMAPPart for MCOIMAPMessage.
+ It will return an array of MCOAttachment for MCOMessageParser.
+ It will return an array of MCOAttachment for MCOMessageBuilder. */
+- (NSArray * /* MCOAbstractPart */) htmlInlineAttachments;
+
+/**
+ Returns parts required to render the message as plain text or html.
+ This does not include inline images and attachments, but only the text content
+ */
+- (NSArray *) requiredPartsForRendering;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5117481dad82960c5f36446ef4f78415df54d89
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMessagePart.h
@@ -0,0 +1,30 @@
+//
+//  MCOAbstractMessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMESSAGEPART_H
+
+#define MAILCORE_MCOABSTRACTMESSAGEPART_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOAbstractPart.h>
+
+@class MCOMessageHeader;
+
+@interface MCOAbstractMessagePart : MCOAbstractPart
+
+// Returns the header of the embedded message.
+@property (nonatomic, strong) MCOMessageHeader * header;
+
+// Returns the main part of the embedded message. It can be MCOAbstractPart, MCOAbstractMultipart
+// or a MCOAbstractMessagePart.
+@property (nonatomic, strong) MCOAbstractPart * mainPart;
+
+@end
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..4502319b582b967c77308f4bba3a2e73d0331967
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractMultipart.h
@@ -0,0 +1,23 @@
+//
+//  MCOAbstractMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMULTIPART_H
+
+#define MAILCORE_MCOABSTRACTMULTIPART_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOAbstractPart.h>
+
+@interface MCOAbstractMultipart : MCOAbstractPart
+
+/** Returns the subparts of that multipart.*/
+@property (nonatomic, copy) NSArray * /* MCOAbstractPart */ parts;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractPart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..f3986af17a9df3308309ac34c2790563b52ea9d1
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAbstractPart.h
@@ -0,0 +1,119 @@
+//
+//  MCOAbstractPart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTPART_H
+
+#define MAILCORE_MCOABSTRACTPART_H
+
+#import <Foundation/Foundation.h>
+
+@class MCOAbstractMessage;
+
+typedef NS_ENUM(NSInteger, MCOPartType) {
+    // Used for a single part.
+    // The part will be a MCOAbstractPart.
+    MCOPartTypeSingle,
+    
+    // Used for a message part (MIME type: message/rfc822).
+    // The part will be a MCOAbstractMessagePart.
+    // It's when a message is sent as attachment of an other message.
+    MCOPartTypeMessage,
+    
+    // Used for a multipart, multipart/mixed.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartMixed,
+    
+    // Used for a multipart, multipart/related.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartRelated,
+    
+    // Used for a multipart, multipart/alternative.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartAlternative,
+    
+    // Used for a signed message, multipart/signed.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartSigned,
+};
+
+#ifdef __cplusplus
+namespace mailcore {
+    class AbstractPart;
+}
+#endif
+
+@interface MCOAbstractPart : NSObject <NSCopying>
+
+#ifdef __cplusplus
+- (id) initWithMCPart:(mailcore::AbstractPart *)part NS_DESIGNATED_INITIALIZER;
+#endif
+
+/** Returns type of the part (single / message part / multipart/mixed,
+ multipart/related, multipart/alternative). See MCOPartType.*/
+@property (nonatomic, assign) MCOPartType partType;
+
+/** Returns filename of the part.*/
+@property (nonatomic, copy) NSString * filename;
+
+/** Returns MIME type of the part. For example application/data.*/
+@property (nonatomic, copy) NSString * mimeType;
+
+/** Returns charset of the part in case it's a text single part.*/
+@property (nonatomic, copy) NSString * charset;
+
+/** Returns the unique ID generated for this part.
+ It's a unique identifier that's created when the object is created manually
+ or created by the parser.*/
+@property (nonatomic, copy) NSString * uniqueID;
+
+/** Returns the value of the Content-ID field of the part.*/
+@property (nonatomic, copy) NSString * contentID;
+
+/** Returns the value of the Content-Location field of the part.*/
+@property (nonatomic, copy) NSString * contentLocation;
+
+/** Returns the value of the Content-Description field of the part.*/
+@property (nonatomic, copy) NSString * contentDescription;
+
+/** Returns whether the part is an explicit inline attachment.*/
+@property (nonatomic, assign, getter=isInlineAttachment) BOOL inlineAttachment;
+
+/** Returns whether the part is an explicit attachment.*/
+@property (nonatomic, assign, getter=isAttachment) BOOL attachment;
+
+/** Returns the part with the given Content-ID among this part and its subparts.*/
+- (MCOAbstractPart *) partForContentID:(NSString *)contentID;
+
+/** Returns the part with the given unique identifier among this part and its subparts.*/
+- (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID;
+
+/** Returns a string representation of the data according to charset.*/
+- (NSString *) decodedStringForData:(NSData *)data;
+
+/** Adds a content type parameter.*/
+- (void) setContentTypeParameterValue:(NSString *)value forName:(NSString *)name;
+
+/** Remove a given content type parameter.*/
+- (void) removeContentTypeParameterForName:(NSString *)name;
+
+/** Returns the value of a given content type parameter.*/
+- (NSString *) contentTypeParameterValueForName:(NSString *)name;
+
+/** Returns an array with the names of all content type parameters.*/
+- (NSArray * /* NSString */) allContentTypeParametersNames;
+
+@end
+
+@interface MCOAbstractPart (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAccountValidator.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAccountValidator.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5f09bc24cd31b62e7404916a3dee3ed75aed9c2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAccountValidator.h
@@ -0,0 +1,54 @@
+//
+//  MCOAccountValidator.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 20/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This class is used to validate an email provider and it's associated
+ metadata and credentials.
+ 
+ An app might want to use this during setup to limit the number of settings
+ a user has to input.
+ */
+
+@class MCONetService;
+
+@interface MCOAccountValidator : MCOOperation
+
+@property (nonatomic, copy) NSString * email; /* for SMTP */
+@property (nonatomic, copy) NSString * username;
+@property (nonatomic, copy) NSString * password;
+@property (nonatomic, copy) NSString * OAuth2Token;
+
+@property (nonatomic, retain) NSArray * /* MCONetService */ imapServers;
+@property (nonatomic, retain) NSArray * /* MCONetService */ popServers;
+@property (nonatomic, retain) NSArray * /* MCONetService */ smtpServers;
+
+@property (nonatomic, assign, getter=isImapEnabled) BOOL imapEnabled;
+@property (nonatomic, assign, getter=isPopEnabled) BOOL popEnabled;
+@property (nonatomic, assign, getter=isSmtpEnabled) BOOL smtpEnabled;
+
+// result
+@property (nonatomic, retain, readonly) NSString * identifier;
+@property (nonatomic, retain, readonly) MCONetService * imapServer;
+@property (nonatomic, retain, readonly) MCONetService * popServer;
+@property (nonatomic, retain, readonly) MCONetService * smtpServer;
+@property (nonatomic, retain, readonly) NSError * imapError;
+@property (nonatomic, retain, readonly) NSError * popError;
+@property (nonatomic, retain, readonly) NSError * smtpError;
+
+/**
+ Starts the asynchronous account validation operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ */
+- (void) start:(void (^)(void))completionBlock;
+
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAddress.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAddress.h
new file mode 100644
index 0000000000000000000000000000000000000000..6c3284e82d557afa72748cb6c19ded287523667d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAddress.h
@@ -0,0 +1,81 @@
+//
+//  MCOAddress.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOADDRESS_H
+
+#define MAILCORE_MCOADDRESS_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOAddress : NSObject <NSCopying, NSCoding>
+
+/** Creates an address with a display name and a mailbox.
+
+    Example: [MCOAddress addressWithDisplayName:@"DINH Viêt Hoà" mailbox:@"hoa@etpan.org"] */
++ (MCOAddress *) addressWithDisplayName:(NSString *)displayName
+                                mailbox:(NSString *)mailbox;
+
+/** Creates an address with only a mailbox.
+
+    Example: [MCOAddress addressWithMailbox:@"hoa@etpan.org"]*/
++ (MCOAddress *) addressWithMailbox:(NSString *)mailbox;
+
+/** Creates an address with a RFC822 string.
+
+    Example: [MCOAddress addressWithRFC822String:@"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>"]*/
++ (MCOAddress *) addressWithRFC822String:(NSString *)RFC822String;
+
+/** Creates an address with a non-MIME-encoded RFC822 string.
+
+    Example: [MCOAddress addressWithNonEncodedRFC822String:@"DINH Viêt Hoà <hoa@etpan.org>"]*/
++ (MCOAddress *) addressWithNonEncodedRFC822String:(NSString *)nonEncodedRFC822String;
+
+/** 
+ Returns an NSArray of MCOAddress objects that contain the parsed
+ forms of the RFC822 encoded addresses.
+
+ For example: @[ @"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>" ]*/
++ (NSArray *) addressesWithRFC822String:(NSString *)string;
+
+/** 
+ Returns an NSArray of MCOAddress objects that contain the parsed
+ forms of non-encoded RFC822 addresses.
+
+ For example: @[ "DINH Viêt Hoà <hoa@etpan.org>" ]*/
++ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string;
+
+
+/** Returns the display name of the address.*/
+@property (nonatomic, copy) NSString * displayName;
+
+/** Returns the mailbox of the address.*/
+@property (nonatomic, copy) NSString * mailbox;
+
+/** Returns the RFC822 encoding of the address.
+
+    For example: "DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>"*/
+- (NSString *) RFC822String;
+
+/** Returns the non-MIME-encoded RFC822 encoding of the address.
+
+    For example: "DINH Viêt Hoà <hoa@etpan.org>"*/
+- (NSString *) nonEncodedRFC822String;
+
+@end
+
+@interface NSArray (MCOAddress)
+
+/** Returns the RFC822 encoding of the addresses.*/
+- (NSString *) mco_RFC822StringForAddresses;
+
+/** Returns the non-MIME-encoded RFC822 of the addresses.*/
+- (NSString *) mco_nonEncodedRFC822StringForAddresses;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAttachment.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAttachment.h
new file mode 100644
index 0000000000000000000000000000000000000000..eec1bd198436e954484b1d1ddb4a7e526a8b53a6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOAttachment.h
@@ -0,0 +1,47 @@
+//
+//  MCOAttachment.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOATTACHMENT_H
+
+#define MAILCORE_MCOATTACHMENT_H
+
+#import <MailCore/MCOAbstractPart.h>
+
+/** This is a single part.
+
+    It can either parsed from RFC 822 message data or created to build a message.*/
+
+@interface MCOAttachment : MCOAbstractPart
+
+/** Returns a MIME type for a filename.*/
++ (NSString *) mimeTypeForFilename:(NSString *)filename;
+
+/** Returns a file attachment with the content of the given file.*/
++ (MCOAttachment *) attachmentWithContentsOfFile:(NSString *)filename;
+
+/** Returns a file attachment with the given data and filename.*/
++ (MCOAttachment *) attachmentWithData:(NSData *)data filename:(NSString *)filename;
+
+/** Returns a part with an HTML content.*/
++ (MCOAttachment *) attachmentWithHTMLString:(NSString *)htmlString;
+
+/** Returns a part with a RFC 822 messsage attachment.*/
++ (MCOAttachment *) attachmentWithRFC822Message:(NSData *)messageData;
+
+/** Returns a part with an plain text content.*/
++ (MCOAttachment *) attachmentWithText:(NSString *)text;
+
+/** Decoded data of the part.*/
+@property (nonatomic, strong) NSData * data;
+
+/** Returns string representation according to charset*/
+- (NSString *) decodedString;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOConstants.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOConstants.h
new file mode 100644
index 0000000000000000000000000000000000000000..419d8485a9b6ecbc99e4f4519cc77018ef833809
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOConstants.h
@@ -0,0 +1,453 @@
+#ifndef MAILCORE_MCOCONSTANTS_H
+
+#define MAILCORE_MCOCONSTANTS_H
+
+/** It's the connection type.*/
+typedef NS_OPTIONS(NSInteger, MCOConnectionType) {
+    /** Clear-text connection for the protocol.*/
+    MCOConnectionTypeClear             = 1 << 0,
+    /** Clear-text connection at the beginning, then switch to encrypted connection using TLS/SSL*/
+    /** on the same TCP connection.*/
+    MCOConnectionTypeStartTLS          = 1 << 1,
+    /** Encrypted connection using TLS/SSL.*/
+    MCOConnectionTypeTLS               = 1 << 2,
+};
+
+/** It's the authentication type.*/
+typedef NS_OPTIONS(NSInteger, MCOAuthType) {
+    /** Default authentication scheme of the protocol.*/
+    MCOAuthTypeSASLNone          = 0,
+    /** CRAM-MD5 authentication RFC 2195.*/
+    MCOAuthTypeSASLCRAMMD5       = 1 << 0,
+    /** PLAIN authentication RFC 4616.*/
+    MCOAuthTypeSASLPlain         = 1 << 1,
+    /** GSSAPI authentication.*/
+    MCOAuthTypeSASLGSSAPI        = 1 << 2,
+    /** DIGEST-MD5 authentication RFC 2831.*/
+    MCOAuthTypeSASLDIGESTMD5     = 1 << 3,
+    /** LOGIN authentication http://tools.ietf.org/id/draft-murchison-sasl-login-00.txt*/
+    MCOAuthTypeSASLLogin         = 1 << 4,
+    /** Secure Remote Password Authentication http://tools.ietf.org/html/draft-burdis-cat-srp-sasl-08*/
+    MCOAuthTypeSASLSRP           = 1 << 5,
+    /** NTLM authentication.*/
+    MCOAuthTypeSASLNTLM          = 1 << 6,
+    /** Kerberos 4 authentication.*/
+    MCOAuthTypeSASLKerberosV4    = 1 << 7,
+    /** OAuth2 authentication.*/
+    MCOAuthTypeXOAuth2           = 1 << 8,
+    /** OAuth2 authentication on outlook.com.*/
+    MCOAuthTypeXOAuth2Outlook    = 1 << 9,
+};
+
+/** It's the IMAP flags of the folder.*/
+typedef NS_OPTIONS(NSInteger, MCOIMAPFolderFlag) {
+    MCOIMAPFolderFlagNone        = 0,
+    /** \Marked*/
+    MCOIMAPFolderFlagMarked      = 1 << 0,
+    /** \Unmarked*/
+    MCOIMAPFolderFlagUnmarked    = 1 << 1,
+    /** \NoSelect: When a folder can't be selected.*/
+    MCOIMAPFolderFlagNoSelect    = 1 << 2,
+    /** \NoInferiors: When the folder has no children.*/
+    MCOIMAPFolderFlagNoInferiors = 1 << 3,
+    /** \Inbox: When the folder is the inbox.*/
+    MCOIMAPFolderFlagInbox       = 1 << 4,
+    /** \Sent: When the folder is the sent folder.*/
+    MCOIMAPFolderFlagSentMail    = 1 << 5,
+    /** \Starred: When the folder is the starred folder*/
+    MCOIMAPFolderFlagStarred     = 1 << 6,
+    /** \AllMail: When the folder is all mail.*/
+    MCOIMAPFolderFlagAllMail     = 1 << 7,
+    /** \Trash: When the folder is the trash.*/
+    MCOIMAPFolderFlagTrash       = 1 << 8,
+    /** \Drafts: When the folder is the drafts folder.*/
+    MCOIMAPFolderFlagDrafts      = 1 << 9,
+    /** \Spam: When the folder is the spam folder.*/
+    MCOIMAPFolderFlagSpam        = 1 << 10,
+    /** \Important: When the folder is the important folder.*/
+    MCOIMAPFolderFlagImportant   = 1 << 11,
+    /** \Archive: When the folder is archive.*/
+    MCOIMAPFolderFlagArchive     = 1 << 12,
+    /** \All: When the folder contains all mails, similar to \AllMail.*/
+    MCOIMAPFolderFlagAll         = MCOIMAPFolderFlagAllMail,
+    /** \Junk: When the folder is the spam folder.*/
+    MCOIMAPFolderFlagJunk        = MCOIMAPFolderFlagSpam,
+    /** \Flagged: When the folder contains all the flagged emails.*/
+    MCOIMAPFolderFlagFlagged     = MCOIMAPFolderFlagStarred,
+    /** Mask to identify the folder */
+    MCOIMAPFolderFlagFolderTypeMask = MCOIMAPFolderFlagInbox | MCOIMAPFolderFlagSentMail | MCOIMAPFolderFlagStarred | MCOIMAPFolderFlagAllMail |
+      MCOIMAPFolderFlagTrash| MCOIMAPFolderFlagDrafts | MCOIMAPFolderFlagSpam | MCOIMAPFolderFlagImportant | MCOIMAPFolderFlagArchive,
+};
+
+/** It's the flags of a message.*/
+typedef NS_OPTIONS(NSInteger, MCOMessageFlag) {
+    MCOMessageFlagNone          = 0,
+    /** Seen/Read flag.*/
+    MCOMessageFlagSeen          = 1 << 0,
+    /** Replied/Answered flag.*/
+    MCOMessageFlagAnswered      = 1 << 1,
+    /** Flagged/Starred flag.*/
+    MCOMessageFlagFlagged       = 1 << 2,
+    /** Deleted flag.*/
+    MCOMessageFlagDeleted       = 1 << 3,
+    /** Draft flag.*/
+    MCOMessageFlagDraft         = 1 << 4,
+    /** $MDNSent flag.*/
+    MCOMessageFlagMDNSent       = 1 << 5,
+    /** $Forwarded flag.*/
+    MCOMessageFlagForwarded     = 1 << 6,
+    /** $SubmitPending flag.*/
+    MCOMessageFlagSubmitPending = 1 << 7,
+    /** $Submitted flag.*/
+    MCOMessageFlagSubmitted     = 1 << 8,
+};
+
+/** It's the encoding of a part.*/
+typedef NS_ENUM(NSInteger, MCOEncoding) {
+    /** 7bit encoding.*/
+    MCOEncoding7Bit = 0,            /** should match MAILIMAP_BODY_FLD_ENC_7BIT*/
+    /** 8bit encoding.*/
+    MCOEncoding8Bit = 1,            /** should match MAILIMAP_BODY_FLD_ENC_8BIT*/
+    /** binary encoding.*/
+    MCOEncodingBinary = 2,          /** should match MAILIMAP_BODY_FLD_ENC_BINARY*/
+    /** base64 encoding.*/
+    MCOEncodingBase64 = 3,          /** should match MAILIMAP_BODY_FLD_ENC_BASE64*/
+    /** quoted-printable encoding.*/
+    MCOEncodingQuotedPrintable = 4, /** should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE*/
+    /** other encoding.*/
+    MCOEncodingOther = 5,           /** should match MAILIMAP_BODY_FLD_ENC_OTHER*/
+    
+    /** Negative values should be used for encoding not supported by libetpan.*/
+    
+    /** UUEncode encoding.*/
+    MCOEncodingUUEncode = -1
+};
+
+/** It's the information to fetch for a given message in the IMAP FETCH request.*/
+typedef NS_OPTIONS(NSInteger, MCOIMAPMessagesRequestKind) {
+    /** UID of the message.*/
+    MCOIMAPMessagesRequestKindUid            = 0, /** This is the default and it's always fetched*/
+    /** Flags of the message.*/
+    MCOIMAPMessagesRequestKindFlags          = 1 << 0,
+    /** Headers of the message (parsed by the server).*/
+    MCOIMAPMessagesRequestKindHeaders        = 1 << 1,
+    /** MIME structure of the message.*/
+    MCOIMAPMessagesRequestKindStructure      = 1 << 2,
+    /** Received date.*/
+    MCOIMAPMessagesRequestKindInternalDate   = 1 << 3,
+    /** Headers through headers data.*/
+    MCOIMAPMessagesRequestKindFullHeaders    = 1 << 4,
+    /** Subject of the message.*/
+    MCOIMAPMessagesRequestKindHeaderSubject  = 1 << 5,
+    /** Gmail Labels.*/
+    MCOIMAPMessagesRequestKindGmailLabels    = 1 << 6,
+	/** Gmail Message ID.*/
+    MCOIMAPMessagesRequestKindGmailMessageID = 1 << 7,
+    /** Gmail Thread ID.*/
+    MCOIMAPMessagesRequestKindGmailThreadID  = 1 << 8,
+    /** Extra Headers.*/
+    MCOIMAPMessagesRequestKindExtraHeaders   = 1 << 9,
+    /* Request size of message */
+    MCOIMAPMessagesRequestKindSize           = 1 << 10,
+
+};
+
+/** It defines the behavior of the STORE flags request.*/
+typedef NS_ENUM(NSInteger, MCOIMAPStoreFlagsRequestKind) {
+    /** Add the given flags.*/
+    MCOIMAPStoreFlagsRequestKindAdd,
+    /** Remove the given flags.*/
+    MCOIMAPStoreFlagsRequestKindRemove,
+    /** Set the given flags.*/
+    MCOIMAPStoreFlagsRequestKindSet,
+};
+
+/** It's the search type.*/
+typedef NS_ENUM(NSInteger, MCOIMAPSearchKind) {
+    /** Search All */
+    MCOIMAPSearchKindAll,
+    /** No search.*/
+    MCOIMAPSearchKindNone,
+    /** Match sender.*/
+    MCOIMAPSearchKindFrom,
+    /** Match to */
+    MCOIMAPSearchKindTo,
+    /** Match CC: */
+    MCOIMAPSearchKindCc,
+    /** Match BCC: */
+    MCOIMAPSearchKindBcc,
+    /** Match recipient.*/
+    MCOIMAPSearchKindRecipient,
+    /** Match subject.*/
+    MCOIMAPSearchKindSubject,
+    /** Match content of the message, including the headers.*/
+    MCOIMAPSearchKindContent,
+    /** Match content of the message, excluding the headers.*/
+    MCOIMAPSearchKindBody,
+    /** Match uids */
+    MCOIMAPSearchKindUids,
+    /** Match headers of the message.*/
+    MCOIMAPSearchKindHeader,
+    /** Match messages that are read.*/
+    MCOIMAPSearchKindRead,
+    /** Match messages that are not read.*/
+    MCOIMAPSearchKindUnread,
+    /** Match messages that are flagged.*/
+    MCOIMAPSearchKindFlagged,
+    /** Match messages that are not flagged.*/
+    MCOIMAPSearchKindUnflagged,
+    /** Match messages that are answered.*/
+    MCOIMAPSearchKindAnswered,
+    /** Match messages that are not answered.*/
+    MCOIMAPSearchKindUnanswered,
+    /** Match messages that are a drafts.*/
+    MCOIMAPSearchKindDraft,
+    /** Match messages that are not drafts.*/
+    MCOIMAPSearchKindUndraft,
+    /** Match messages that are deleted.*/
+    MCOIMAPSearchKindDeleted,
+    /** Match messages that are spam.*/
+    MCOIMAPSearchKindSpam,
+    /** Match messages before the given date.*/
+    MCOIMAPSearchKindBeforeDate,
+    /** Match messages on the given date.*/
+    MCOIMAPSearchKindOnDate,
+    /** Match messages after the given date.*/
+    MCOIMAPSearchKindSinceDate,
+    /** Match messages before the given received date.*/
+    MCOIMAPSearchKindBeforeReceivedDate,
+    /** Match messages on the given received date.*/
+    MCOIMAPSearchKindOnReceivedDate,
+    /** Match messages after the given received date.*/
+    MCOIMAPSearchKindSinceReceivedDate,
+    /** Match messages that are larger than the given size in bytes.*/
+    MCOIMAPSearchKindSizeLarger,
+    /** Match messages that are smaller than the given size in bytes.*/
+    MCOIMAPSearchKindSizeSmaller,
+    /** Match X-GM-THRID.*/
+    MCOIMAPSearchGmailThreadID,
+    /** Match X-GM-MSGID.*/
+    MCOIMAPSearchGmailMessageID,
+    /** Match X-GM-RAW.*/
+    MCOIMAPSearchGmailRaw,
+    /** Or expresssion.*/
+    MCOIMAPSearchKindOr,
+    /** And expression.*/
+    MCOIMAPSearchKindAnd,
+    /** Not expression.*/
+    MCOIMAPSearchKindNot,
+};
+
+/** Keys for the namespace dictionary.*/
+#define MCOIMAPNamespacePersonal @"IMAPNamespacePersonal"
+#define MCOIMAPNamespaceOther @"IMAPNamespaceOther"
+#define MCOIMAPNamespaceShared @"IMAPNamespaceShared"
+
+/** This is the constants for the IMAP capabilities.*/
+/** See corresponding RFC for more information.*/
+typedef NS_ENUM(NSInteger, MCOIMAPCapability) {
+    /** ACL Capability.*/
+    MCOIMAPCapabilityACL,
+    /** BINARY Capability.*/
+    MCOIMAPCapabilityBinary,
+    /** CATENATE Capability.*/
+    MCOIMAPCapabilityCatenate,
+    /** CHILDREN Capability.*/
+    MCOIMAPCapabilityChildren,
+    /** COMPRESS Capability.*/
+    MCOIMAPCapabilityCompressDeflate,
+    /** CONDSTORE Capability.*/
+    MCOIMAPCapabilityCondstore,
+    /** ENABLE Capability.*/
+    MCOIMAPCapabilityEnable,
+    /** IDLE Capability.*/
+    MCOIMAPCapabilityIdle,
+    /** ID Capability.*/
+    MCOIMAPCapabilityId,
+    /** LITERAL+ Capability.*/
+    MCOIMAPCapabilityLiteralPlus,
+    /** MULTIAPPEND Capability.*/
+    MCOIMAPCapabilityMultiAppend,
+    /** NAMESPACE Capability.*/
+    MCOIMAPCapabilityNamespace,
+    /** QRESYNC Capability.*/
+    MCOIMAPCapabilityQResync,
+    /** QUOTE Capability.*/
+    MCOIMAPCapabilityQuota,
+    /** SORT Capability.*/
+    MCOIMAPCapabilitySort,
+    /** STARTTLS Capability.*/
+    MCOIMAPCapabilityStartTLS,
+    /** THREAD=ORDEREDSUBJECT Capability.*/
+    MCOIMAPCapabilityThreadOrderedSubject,
+    /** THREAD=REFERENCES Capability.*/
+    MCOIMAPCapabilityThreadReferences,
+    /** UIDPLUS Capability.*/
+    MCOIMAPCapabilityUIDPlus,
+    /** UNSELECT Capability.*/
+    MCOIMAPCapabilityUnselect,
+    /** XLIST Capability.*/
+    MCOIMAPCapabilityXList,
+    /** AUTH=ANONYMOUS Capability.*/
+    MCOIMAPCapabilityAuthAnonymous,
+    /** AUTH=CRAM-MD5 Capability.*/
+    MCOIMAPCapabilityAuthCRAMMD5,
+    /** AUTH=DIGEST-MD5 Capability.*/
+    MCOIMAPCapabilityAuthDigestMD5,
+    /** AUTH=EXTERNAL Capability.*/
+    MCOIMAPCapabilityAuthExternal,
+    /** AUTH=GSSAPI Capability.*/
+    MCOIMAPCapabilityAuthGSSAPI,
+    /** AUTH=KERBEROSV4 Capability.*/
+    MCOIMAPCapabilityAuthKerberosV4,
+    /** AUTH=LOGIN Capability.*/
+    MCOIMAPCapabilityAuthLogin,
+    /** AUTH=NTML Capability.*/
+    MCOIMAPCapabilityAuthNTLM,
+    /** AUTH=OTP Capability.*/
+    MCOIMAPCapabilityAuthOTP,
+    /** AUTH=PLAIN Capability.*/
+    MCOIMAPCapabilityAuthPlain,
+    /** AUTH=SKEY Capability.*/
+    MCOIMAPCapabilityAuthSKey,
+    /** AUTH=SRP Capability.*/
+    MCOIMAPCapabilityAuthSRP,
+    /** AUTH=XOAUTH2 Capability.*/
+    MCOIMAPCapabilityXOAuth2,
+    /** X-GM-EXT-1 Capability.*/
+    MCOIMAPCapabilityGmail
+};
+
+/** Error domain for mailcore.*/
+#define MCOErrorDomain @"MCOErrorDomain"
+
+/** Here's the list of errors.*/
+typedef NS_ENUM(NSInteger, MCOErrorCode) {
+    /** No error occurred.*/
+    MCOErrorNone, // 0
+    /** An error related to the connection occurred.*/
+    /** It could not connect or it's been disconnected.*/
+    MCOErrorConnection,
+    /** TLS/SSL connection was not available.*/
+    MCOErrorTLSNotAvailable,
+    /** The protocol could not be parsed.*/
+    MCOErrorParse,
+    /** Certificate was not valid.*/
+    MCOErrorCertificate,
+    /** An authentication error occurred.*/
+    MCOErrorAuthentication,
+    /** Specific to Gmail: IMAP not enabled.*/
+    MCOErrorGmailIMAPNotEnabled,
+    /** Specific to Gmail: Exceeded bandwidth limit.*/
+    MCOErrorGmailExceededBandwidthLimit,
+    /** Specific to Gmail: Too many simultaneous connections.*/
+    MCOErrorGmailTooManySimultaneousConnections,
+    /** Specific to Mobile Me: Moved to iCloud.*/
+    MCOErrorMobileMeMoved,
+    /** Specific to Yahoo: not available.*/
+    MCOErrorYahooUnavailable, // 10
+    /** Non existant folder, select failed.*/
+    MCOErrorNonExistantFolder,
+    /** IMAP: Error occurred while renaming a folder.*/
+    MCOErrorRename,
+    /** IMAP: Error occurred while deleting a folder.*/
+    MCOErrorDelete,
+    /** IMAP: Error occurred while creating a folder.*/
+    MCOErrorCreate,
+    /** IMAP: Error occurred while subscribing/unsubcribing to a folder.*/
+    MCOErrorSubscribe,
+    /** IMAP: Error occurred while adding a message to a folder.*/
+    MCOErrorAppend,
+    /** IMAP: Error occurred while copying a message.*/
+    MCOErrorCopy,
+    /** IMAP: Error occurred while expunging.*/
+    MCOErrorExpunge,
+    /** IMAP: Error occurred while fetching messages.*/
+    MCOErrorFetch,
+    /** IMAP: Error occurred while IDLing.*/
+    MCOErrorIdle, // 20
+    /** IMAP: Error occurred while sending/getting identity.*/
+    MCOErrorIdentity,
+    /** IMAP: Error occurred while getting namespace.*/
+    MCOErrorNamespace,
+    /** IMAP: Error occurred while storing flags.*/
+    MCOErrorStore,
+    /** IMAP: Error wile getting capabilities.*/
+    MCOErrorCapability,
+    /** STARTTLS is not available.*/
+    MCOErrorStartTLSNotAvailable,
+    /** SMTP: Illegal attachment: certain kind of attachment cannot be sent.*/
+    MCOErrorSendMessageIllegalAttachment,
+    /** SMTP: Storage limit: message is probably too big.*/
+    MCOErrorStorageLimit,
+    /** SMTP: Sending message is not allowed.*/
+    MCOErrorSendMessageNotAllowed,
+    /** SMTP: Specific to hotmail. Needs to connect to webmail.*/
+    MCOErrorNeedsConnectToWebmail,
+    /** SMTP: Error while sending message.*/
+    MCOErrorSendMessage, // 30
+    /** SMTP: Authentication required.*/
+    MCOErrorAuthenticationRequired,
+    /** POP: Error occurred while fetching message list.*/
+    MCOErrorFetchMessageList,
+    /** POP: Error occurred while deleting message.*/
+    MCOErrorDeleteMessage,
+    /** SMTP: Error while checking account.*/
+    MCOErrorInvalidAccount,
+    /** Error when accessing/reading/writing file.*/
+    MCOErrorFile,
+    /** IMAP: Error when trying to enable compression.*/
+    MCOErrorCompression,
+    /** SMTP: Error when no sender has been specified.*/
+    MCOErrorNoSender,
+    /** SMTP: Error when no recipient has been specified.*/
+    MCOErrorNoRecipient,
+    /** IMAP: Error when a noop operation fails.*/
+    MCOErrorNoop,
+    /** IMAP: Error when the password has been entered but second factor
+     authentication is enabled: an application specific password is required. */
+    MCOErrorGmailApplicationSpecificPasswordRequired, // 40
+    /** NNTP: error when requesting date */
+    MCOErrorServerDate,
+    /** No valid server found */
+    MCOErrorNoValidServerFound,
+    /** Error while running custom command */
+    MCOErrorCustomCommand,
+    /** Spam was suspected by server */
+    MCOErrorYahooSendMessageSpamSuspected,
+    /** Daily limit of sent messages was hit */
+    MCOErrorYahooSendMessageDailyLimitExceeded,
+    /** The count of all errors */
+    MCOErrorCodeCount,
+};
+
+/** Here's the list of connection log types.*/
+typedef NS_ENUM(NSInteger, MCOConnectionLogType) {
+    /** Received data.*/
+    MCOConnectionLogTypeReceived,
+    /** Sent data.*/
+    MCOConnectionLogTypeSent,
+    /** Sent private data. It can be a password.*/
+    MCOConnectionLogTypeSentPrivate,
+    /** Parse error.*/
+    MCOConnectionLogTypeErrorParse,
+    /** Error while receiving data. The data passed to the log will be nil.*/
+    MCOConnectionLogTypeErrorReceived,
+    /** Error while sending dataThe data passed to the log will be nil.*/
+    MCOConnectionLogTypeErrorSent,
+};
+
+/**
+ It's a network traffic logger.
+ @param connectionID is the identifier of the underlaying network socket.
+ @param type is the type of the log.
+ @param data is the data related to the log.
+ */
+typedef void (^MCOConnectionLogger)(void * connectionID, MCOConnectionLogType type, NSData * data);
+
+/**
+ It's called when asynchronous operations stop/start running.
+ */
+typedef void (^MCOOperationQueueRunningChangeBlock)(void);
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererDelegate.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererDelegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb62cb75046b394b5831a7bca54707abe4eaf6e9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererDelegate.h
@@ -0,0 +1,106 @@
+//
+//  MCOHTMLRendererDelegate.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOHTMLRENDERERDELEGATE_H
+
+#define MAILCORE_MCOHTMLRENDERERDELEGATE_H
+
+#import <Foundation/Foundation.h>
+
+/** This delegate protocol is used to help rendering of the message.
+
+ It will be used for the following methods.
+
+ [MCOMessageParser htmlRenderingWithDelegate:],
+
+ [MCOMessageBuilder htmlRenderingWithDelegate:]
+
+ -[MCOIMAPMessage htmlRenderingWithFolder:delegate:]
+*/
+
+@class MCOAbstractPart;
+@class MCOAbstractMessage;
+@class MCOMessageHeader;
+@class MCOAbstractMessagePart;
+
+@protocol MCOHTMLRendererDelegate <NSObject>
+
+/** All methods are optional.*/
+@optional
+
+/** This delegate method should return YES if it can render a preview of the attachment as an image.
+ part is always a single part.
+
+If the attachment can be previewed, it will be rendered using the image template.
+If not, the attachment template will be used.*/
+- (BOOL) MCOAbstractMessage:(MCOAbstractMessage *)msg canPreviewPart:(MCOAbstractPart *)part;
+
+/** This delegate method should return YES if the part should be rendered.*/
+- (BOOL) MCOAbstractMessage:(MCOAbstractMessage *)msg shouldShowPart:(MCOAbstractPart *)part;
+
+/** This delegate method returns the values to be applied to the template for the given header.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the header.*/
+- (NSDictionary *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateValuesForHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the values to be applied to the template for the given attachment.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the attachment.*/
+- (NSDictionary *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateValuesForPart:(MCOAbstractPart *)part;
+
+/** @name Template Methods 
+ The following methods returns templates. They will match the syntax of ctemplate.
+ See https://code.google.com/p/ctemplate/ */
+
+/** This delegate method returns the template for the main header of the message.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForMainHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the template an image attachment.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForImage:(MCOAbstractPart *)header;
+
+/** This delegate method returns the template attachment other than images.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForAttachment:(MCOAbstractPart *)part;
+
+/** This delegate method returns the template of the main message.
+ It should include HEADER and a BODY values.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage_templateForMessage:(MCOAbstractMessage *)msg;
+
+/** This delegate method returns the template of an embedded message (included as attachment).
+ It should include HEADER and a BODY values.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForEmbeddedMessage:(MCOAbstractMessagePart *)part;
+
+/** This delegate method returns the template for the header of an embedded message.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForEmbeddedMessageHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the separator between the text of the message and the attachments.*/
+- (NSString *) MCOAbstractMessage_templateForAttachmentSeparator:(MCOAbstractMessage *)msg;
+
+/** This delegate method cleans HTML content.
+ For example, it could fix broken tags, add missing <html>, <body> tags.
+ Default implementation uses HTMLCleaner::cleanHTML to clean HTML content. */
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg cleanHTMLForPart:(NSString *)html;
+
+/** @name Filters
+   
+ The following methods will filter the HTML content and may apply some filters to
+ change how to display the message.*/
+
+/** This delegate method will apply the filter to HTML rendered content of a given text part.
+ For example, it could filter the CSS content.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg filterHTMLForPart:(NSString *)html;
+
+/** This delegate method will apply a filter to the whole HTML content.
+ For example, it could collapse the quoted messages.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg filterHTMLForMessage:(NSString *)html;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..a127ec27fff4e3cedb346f24247539d0d642cec9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h
@@ -0,0 +1,52 @@
+//
+//  MCOHTMLRendererIMAPDelegate.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOHTMLRENDERERIMAPDELEGATE_H
+
+#define MAILCORE_MCOHTMLRENDERERIMAPDELEGATE_H
+
+#import <MailCore/MCOHTMLRendererDelegate.h>
+
+/**
+ This delegate protocol is used to fetch the content of the part of the message when the HTML render needs them.
+ It will help fetch the minimal amount of information from the message required to render the HTML.
+
+ It will be used for the following method.
+
+ [MCOIMAPMessage htmlRenderingWithFolder:delegate:]
+*/
+
+@class MCOIMAPPart;
+
+@protocol MCOHTMLRendererIMAPDelegate <MCOHTMLRendererDelegate>
+
+/** All methods are optional.*/
+@optional
+
+/** 
+ The delegate method returns NULL if the delegate have not fetch the part yet. The opportunity can also be used to
+ start fetching the attachment.
+ It will return the data synchronously if it has already fetched it.
+*/
+- (NSData *) MCOAbstractMessage:(MCOAbstractMessage *)msg dataForIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+/**
+ The delegate method will notify the delegate to start fetching the given part.
+ It will be used to render an attachment that cannot be previewed.
+*/
+- (void) MCOAbstractMessage:(MCOAbstractMessage *)msg prefetchAttachmentIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+/**
+ The delegate method will notify the delegate to start fetching the given part.
+ It will be used to render an attachment that can be previewed.
+*/
+- (void) MCOAbstractMessage:(MCOAbstractMessage *)msg prefetchImageIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAP.h
new file mode 100755
index 0000000000000000000000000000000000000000..9483a36b6fcaa4a5996bf1e1e6554892dd2bb898
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAP.h
@@ -0,0 +1,46 @@
+//
+//  MCOIMAP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAP_H
+
+#define MAILCORE_MCOIMAP_H
+
+#import <MailCore/MCOIMAPSession.h>
+#import <MailCore/MCOIMAPOperation.h>
+#import <MailCore/MCOIMAPFetchFoldersOperation.h>
+#import <MailCore/MCOIMAPFolder.h>
+#import <MailCore/MCOIMAPMessage.h>
+#import <MailCore/MCOIMAPMessagePart.h>
+#import <MailCore/MCOIMAPMultipart.h>
+#import <MailCore/MCOIMAPNamespace.h>
+#import <MailCore/MCOIMAPNamespaceItem.h>
+#import <MailCore/MCOIMAPIdentity.h>
+#import <MailCore/MCOIMAPPart.h>
+#import <MailCore/MCOIMAPFolderInfoOperation.h>
+#import <MailCore/MCOIMAPFolderInfo.h>
+#import <MailCore/MCOIMAPFolderStatusOperation.h>
+#import <MailCore/MCOIMAPFolderStatus.h>
+#import <MailCore/MCOIMAPAppendMessageOperation.h>
+#import <MailCore/MCOIMAPCopyMessagesOperation.h>
+#import <MailCore/MCOIMAPFetchMessagesOperation.h>
+#import <MailCore/MCOIMAPFetchContentOperation.h>
+#import <MailCore/MCOIMAPFetchParsedContentOperation.h>
+#import <MailCore/MCOIMAPSearchOperation.h>
+#import <MailCore/MCOIMAPIdleOperation.h>
+#import <MailCore/MCOIMAPFetchNamespaceOperation.h>
+#import <MailCore/MCOIMAPSearchOperation.h>
+#import <MailCore/MCOIMAPIdleOperation.h>
+#import <MailCore/MCOIMAPFetchNamespaceOperation.h>
+#import <MailCore/MCOIMAPIdentityOperation.h>
+#import <MailCore/MCOIMAPCapabilityOperation.h>
+#import <MailCore/MCOIMAPQuotaOperation.h>
+#import <MailCore/MCOIMAPSearchExpression.h>
+#import <MailCore/MCOIMAPMessageRenderingOperation.h>
+#import <MailCore/MCOIMAPCustomCommandOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec1602a3bb5e93a17b2626fe2dcdd428f3e47351
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCOIMAPAppendMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPAPPENDMESSAGEOPERATION_H
+
+#define MAILCORE_MCOIMAPAPPENDMESSAGEOPERATION_H
+
+/** This class implements an operation that adds a message to a folder. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPAppendMessageOperation : MCOIMAPBaseOperation
+
+@property (nonatomic, assign) time_t date;
+
+/** 
+ This block will be called as bytes are sent
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous append operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `createdUID` will be the value of the 
+   UID of  the created message if the server supports UIDPLUS or zero if not.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `createdUID` will be zero.
+*/
+- (void) start:(void (^)(NSError * __nullable error, uint32_t createdUID))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPBaseOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPBaseOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..82a343786ddaab6aa4f2a4b8a9302b5602f20766
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPBaseOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPBaseOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/26/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPBASEOPERATION_H
+
+#define MAILCORE_MCOIMAPBASEOPERATION_H
+
+/** Represents a generic IMAP operation with methods that are called with progress updates */
+
+#import <MailCore/MCOOperation.h>
+
+typedef void (^MCOIMAPBaseOperationProgressBlock)(unsigned int current, unsigned int maximum);
+typedef void (^MCOIMAPBaseOperationItemProgressBlock)(unsigned int current);
+
+@interface MCOIMAPBaseOperation : MCOOperation
+
+@property (nonatomic, assign, getter=isUrgent) BOOL urgent;
+
+/* Can be overriden by subclasses */
+
+/* 
+ Will be called when a sending or receiving the contents of a message 
+ @param current The number of bytes sent or received
+ @param maximum The total number of bytes expected
+*/
+- (void)bodyProgress:(unsigned int)current maximum:(unsigned int)maximum;
+
+/*
+ Will be called when a new item is received in a list of items, like for example a message list
+ @param current The number of items downloaded
+ @param maximum The total number of items expected
+*/
+- (void)itemProgress:(unsigned int)current maximum:(unsigned int)maximum;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ab788cee7056323499ebc9db707f476c2f535d2e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPCapabilityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPCAPABILITYOPERATION_H
+
+#define MAILCORE_MCOIMAPCAPABILITYOPERATION_H
+
+/** 
+ This class implements an operation to query for IMAP capabilities, 
+ like for example the extensions UIDPLUS, IDLE, NAMESPACE, ... etc
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCapabilityOperation : MCOIMAPBaseOperation
+
+
+/** 
+ Starts the asynchronous capabilities operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `capabilities` will contain a set of IMAP capabilities.
+   See `MCOConstants.h` under `MCOIMAPCapability` for a list of possible values.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `capabilities` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable capabilities))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..4edee9bc73f5e483532425bfd2e8cdfee0a0a4e7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPCopyMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+#ifndef MAILCORE_MCOCOPYMESSAGESOPERATION_H
+
+#define MAILCORE_MCOCOPYMESSAGESOPERATION_H
+
+/** Implements an operation for copying messages between folders */
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCopyMessagesOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous copy operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `destUids` will contain the UIDs of the messages created
+   in the destination folder. If the server doesn't support UIDPLUS then `destUids` will be nil.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `destUids` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable uidMapping))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..e23d29e7fad69002b51120e7f1aba631ad9370d5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPCustomCommandOperation.h
+//  mailcore2
+//
+//  Created by Libor Huspenina on 29/10/2015.
+//  Copyright © 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPCUSTOMCOMMANDOPERATION_H
+
+#define MAILCORE_MCOIMAPCUSTOMCOMMANDOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCustomCommandOperation : MCOIMAPBaseOperation
+
+- (void)start:(void(^)(NSString * __nullable response, NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d9492eab864c5a46d44544b6b2cb44ed95996bd6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h
@@ -0,0 +1,45 @@
+//
+//  MCOIMAPFetchContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHCONTENTOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHCONTENTOPERATION_H
+
+/** 
+ This class implements an operation to fetch the content of a message.
+ It can be a part or a full message.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchContentOperation : MCOIMAPBaseOperation
+
+/** 
+ This block will be called as bytes are received from the network
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `data` will contain the requested data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `data` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable data))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2954d29ef09c5402ad104f7cf3c6619fe1544de
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCOIMAPFetchFoldersOperation.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 1/31/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHFOLDERSOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHFOLDERSOPERATION_H
+
+/** This class implements an operation to fetch a list of folders. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchFoldersOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `folders` will contain an array of MCOIMAPFolder
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `folders` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOIMAPFolder */ __nullable folders))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ac1506c0ffeca848141b51d76547d5185e0418d9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h
@@ -0,0 +1,47 @@
+//
+//  MCOIMAPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHMESSAGESOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+/** This class implements an operation to fetch a list of messages from a folder */
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchMessagesOperation : MCOIMAPBaseOperation
+
+/** This block will be called each time a new message is downloaded. */
+@property (nonatomic, copy) MCOIMAPBaseOperationItemProgressBlock progress;
+
+/** Extra headers to request. Must set requestKind | IMAPMessagesRequestKindExtraHeaders */
+@property (nonatomic, copy) NSArray * extraHeaders;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `messages` will be an array of MCOIMAPMessage.
+   `vanishedMessages` will contain the messages removed on the server if the server supports QRESYNC and if it was a sync request
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `messages` and `vanishedMessages` will be nil
+
+   If you are not supporting QRESYNC you can safely ignore `vanishedMessages`.
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOIMAPMessage */ __nullable messages, MCOIndexSet * __nullable vanishedMessages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ea9e4fc28f9513f911ceb24a16e89dc2956eb0f0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFetchNamespaceOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHNAMESPACEOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHNAMESPACEOPERATION_H
+
+/** This class implements an operation to fetch any IMAP namespaces. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchNamespaceOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous namespace fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `namespaces` will contain these keys: 
+
+     - `MCOIMAPNamespacePersonal` for personal namespaces,
+     - `MCOIMAPNamespaceOther` for other namespaces,
+     - `MCOIMAPNamespaceShared` for shared namespaces.
+
+   Values of the dictionary are MCOIMAPNamespace
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `namespaces` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable namespaces))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ab800582eddd289700610d6be9666551004c760
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h
@@ -0,0 +1,46 @@
+//
+//  MCOIMAPFetchParsedContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHPARSEDCONTENTOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHPARSEDCONTENTOPERATION_H
+
+/**
+ This class implements an operation to fetch the parsed content of a message.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+@class MCOMessageParser;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchParsedContentOperation : MCOIMAPBaseOperation
+
+/**
+ This block will be called as bytes are received from the network
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/**
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `parser` will contain the requested message
+
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+   error code available in `MCOConstants.h`, `parser` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageParser * __nullable parser))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolder.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolder.h
new file mode 100644
index 0000000000000000000000000000000000000000..048dfb55df233cb69b342c662335c4d2288c1bd3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolder.h
@@ -0,0 +1,34 @@
+//
+//  MCOIMAPFolder.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDER_H
+
+#define MAILCORE_MCOIMAPFOLDER_H
+
+/** This class represents an IMAP folder */
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+@interface MCOIMAPFolder : NSObject <NSCopying>
+
+/** The folder's path, like for example INBOX.Archive */
+@property (nonatomic, copy) NSString * path;
+
+/** It's the delimiter for each component of the path. Commonly . or / */
+@property (nonatomic, assign) char delimiter;
+
+/** 
+ Any flags the folder may have, like if the folder is for Drafts, Spam, Junk, etc. Or
+ it could be marked with metadata like that it has no children.
+*/
+@property (nonatomic, assign) MCOIMAPFolderFlag flags;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..1397e8418234052fa9007e811bc7f137b9500c6c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfo.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPFolderInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERINFO_H
+
+#define MAILCORE_MCOIMAPFOLDERINFO_H
+
+#import <Foundation/Foundation.h>
+
+/* This class holds IMAP folder metadata */
+
+@interface MCOIMAPFolderInfo : NSObject <NSCopying>
+
+/** The folder's IMAP UIDNEXT value. Used to determine the uid for the next received message. */
+@property (nonatomic, assign) uint32_t uidNext;
+
+/** The folders IMAP UIDVALIDITY value. Must be used to determine if the server has changed assigned UIDs */
+@property (nonatomic, assign) uint32_t uidValidity;
+
+/** An advanced value used for doing quick flag syncs if the server supports it. The MODSEQ value. */
+@property (nonatomic, assign) uint64_t modSequenceValue;
+
+/** Total number of messages in the folder */
+@property (nonatomic, assign) int messageCount;
+
+// first uid of the unseen messages.
+@property (nonatomic, assign) uint32_t firstUnseenUid;
+
+/** An boolean indicates that this folder or IMAP server allows to add a new permanent flags */
+@property (nonatomic, assign) BOOL allowsNewPermanentFlags;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..20abd2067eb47d5249fe11eb9eb46f2f37a582d2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFolderInfoOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERINFOOPERATION_H
+
+#define MAILCORE_MCOIMAPFOLDERINFOOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get folder metadata (like UIDVALIDITY, UIDNEXT, etc).
+ @see MCOIMAPFolderInfo
+*/
+
+@class MCOIMAPFolderInfo;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFolderInfoOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `info` will contain the folder metadata
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `info` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIMAPFolderInfo * __nullable info))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatus.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatus.h
new file mode 100644
index 0000000000000000000000000000000000000000..bd1ddef3ca84da7f3ed97d0a5df10712a215f483
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatus.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPFolderStatus.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERSTATUS_H
+
+#define MAILCORE_MCOIMAPFOLDERSTATUS_H
+
+#import <Foundation/Foundation.h>
+
+/* This class holds IMAP folder metadata */
+
+@interface MCOIMAPFolderStatus : NSObject <NSCopying>
+
+/** The folder's IMAP UIDNEXT value. Used to determine the uid for the next received message. */
+@property (nonatomic, assign) uint32_t uidNext;
+
+/** The folders IMAP UIDVALIDITY value. Must be used to determine if the server has changed assigned UIDs */
+@property (nonatomic, assign) uint32_t uidValidity;
+
+/** Number of recent messages received in the folder */
+@property (nonatomic, assign) uint32_t recentCount;
+
+/** Number of unseen messages in the folder */
+@property (nonatomic, assign) uint32_t unseenCount;
+
+/** Number of messages in the folder */
+@property (nonatomic, assign) uint32_t messageCount;
+
+/** Highest modification sequence value for this folder. See CONDSTORE RFC 4551. */
+@property (nonatomic, assign) uint64_t highestModSeqValue;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..68259b100c5caefd30bfa90a723539f52eabea8c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFolderStatusOperation.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERSTATUSOPERATION_H
+
+#define MAILCORE_MCOIMAPFOLDERSTATUSOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get folder metadata (like UIDVALIDITY, UIDNEXT, etc).
+ @see MCOIMAPFolderStatus
+ */
+
+@class MCOIMAPFolderStatus;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFolderStatusOperation : MCOIMAPBaseOperation
+
+/**
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `status` will contain the status metadata
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in `MCOConstants.h`, `status` will be nil
+ */
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIMAPFolderStatus * __nullable status))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentity.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentity.h
new file mode 100644
index 0000000000000000000000000000000000000000..69f18c968d87a5db5efd0bd98cf86b14ef138145
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentity.h
@@ -0,0 +1,45 @@
+//
+//  MCOIMAPIdentity.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 8/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDENTITY_H
+
+#define MAILCORE_MCOIMAPIDENTITY_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOIMAPIdentity : NSObject <NSCopying>
+
+/** Returns a simple identity */
++ (MCOIMAPIdentity *) identityWithVendor:(NSString *)vendor
+                                    name:(NSString *)name
+                                 version:(NSString *)version;
+
+/** Vendor of the IMAP client */
+@property (nonatomic, copy) NSString * vendor;
+
+/** Name of the IMAP client */
+@property (nonatomic, copy) NSString * name;
+
+/** Version of the IMAP client */
+@property (nonatomic, copy) NSString * version;
+
+/** All fields names of the identity of the client */
+- (NSArray *) allInfoKeys;
+
+/** Set a custom field in the identity */
+- (NSString *) infoForKey:(NSString *)key;
+
+/** Retrieve a custom field in the identity */
+- (void) setInfo:(NSString *)value forKey:(NSString *)key;
+
+/** Remove all info keys including vendor, name and version */
+- (void) removeAllInfos;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentityOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..2fa6968f186356e07ccf04fc27a3996de1e7af28
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdentityOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPIdentityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDENTITYOPERATION_H
+
+#define MAILCORE_MCOIMAPIDENTITYOPERATION_H
+
+/** 
+ This class implements an operation to get the servers identification info or
+ to send the clients identification info. Useful for bug reports and usage
+ statistics. 
+ @warn Not all servers support this.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPIdentityOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous identity operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `serverIdentity` will contain identifying server information.
+   See [RFC2971](http://tools.ietf.org/html/rfc2971) for commons dictionary keys.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `serverIdentity` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable serverIdentity))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdleOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..fb83b283038bbe070539c330bacc9f0a8f7b129c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPIdleOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPIdleOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDLEOPERATION_H
+
+#define MAILCORE_MCOIMAPIDLEOPERATION_H
+
+/** 
+ This class implements an IMAP IDLE. IDLE is used to keep a connection
+ open with the server so that new messages can be pushed to the client.
+ See [RFC2177](http://tools.ietf.org/html/rfc2177)
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPIdleOperation : MCOIMAPBaseOperation
+
+/** Stop the current IDLE session */
+- (void) interruptIdle;
+
+/** 
+ Starts IDLE
+
+ @param completionBlock Called when the IDLE times out, errors out or detects a change
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessage.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..8e2e1c270a3a98b8077d6a4063967147363e65d7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessage.h
@@ -0,0 +1,85 @@
+//
+//  MCOIMAPMessage.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGE_H
+
+#define MAILCORE_MCOIMAPMESSAGE_H
+
+/** 
+ This represents an IMAP message.
+
+ If you fetched the MIME structure of the message, you can fetch
+ efficiently the content of the message by fetching only the parts
+ that you need to show it.
+
+ For example, you could fetch only the text parts to show the summary
+ of the message, using [MCOIMAPSession fetchMessageAttachmentByUIDOperationWithFolder:uid:partID:encoding:]
+
+ You can also decide to fetch entirely the message using
+ [MCOIMAPSession fetchMessageByUIDOperationWithFolder:uid:]
+*/
+
+#import <MailCore/MCOAbstractMessage.h>
+#import <MailCore/MCOConstants.h>
+
+@protocol MCOHTMLRendererIMAPDelegate;
+
+@interface MCOIMAPMessage : MCOAbstractMessage <NSCoding>
+
+/** IMAP UID of the message. */
+@property (nonatomic, assign) uint32_t uid;
+
+/** IMAP sequence number of the message.
+ @warning *Important*: This property won't be serialized. */
+@property (nonatomic, assign) uint32_t sequenceNumber;
+
+/* Size of the entire message */
+@property (nonatomic, assign) uint32_t size;
+
+/** Flags of the message, like if it is deleted, read, starred etc */
+@property (nonatomic, assign) MCOMessageFlag flags;
+
+/** The contents of the message flags when it was fetched from the server */
+@property (nonatomic, assign) MCOMessageFlag originalFlags;
+
+/** Flag keywords of the message, mostly custom flags */
+@property (nonatomic, copy) NSArray * /* NSString */ customFlags;
+
+/** It's the last modification sequence value of the message synced from the server. See RFC4551 */
+@property (nonatomic, assign) uint64_t modSeqValue;
+
+/** Main MIME part of the message */
+@property (nonatomic, retain) MCOAbstractPart * mainPart;
+
+/** All Gmail labels of the message */
+@property (nonatomic, copy) NSArray * /* NSString */ gmailLabels;
+
+/** Gmail message ID of the message */
+@property (nonatomic, assign) uint64_t gmailMessageID;
+
+/** Gmail thread ID of the message */
+@property (nonatomic, assign) uint64_t gmailThreadID;
+
+/**
+ Returns the part with the given part identifier.
+ @param partID A part identifier looks like 1.2.1
+*/
+- (MCOAbstractPart *) partForPartID:(NSString *)partID;
+
+/**
+ HTML rendering of the message to be displayed in a web view.
+ The delegate should implement at least
+ [MCOAbstractMessage:dataForIMAPPart:folder:]
+ so that the complete HTML rendering can take place.
+*/
+- (NSString *) htmlRenderingWithFolder:(NSString *)folder
+                              delegate:(id <MCOHTMLRendererIMAPDelegate>)delegate;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..c455d336a72a00cf93c53b5a0df2de9661aadb75
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessagePart.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPMessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGEPART_H
+
+#define MAILCORE_MCOIMAPMESSAGEPART_H
+
+/** Represents a message part. */
+
+#import <MailCore/MCOAbstractMessagePart.h>
+
+@interface MCOIMAPMessagePart : MCOAbstractMessagePart <NSCoding>
+
+/** A part identifier is of the form 1.2.1*/
+@property (nonatomic, copy) NSString * partID;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..8a2924c8c4c2b107f4299a28a135acc4d07aee10
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCOIMAPMessageRenderingOperation.h
+//  mailcore2
+//
+//  Created by Paul Young on 07/07/2013.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGERENDERINGOPERATION_H
+
+#define MAILCORE_MCOIMAPMESSAGERENDERINGOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get the HTML string of a message.
+ */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPMessageRenderingOperation : MCOIMAPBaseOperation
+
+/**
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `htmlString` will contain the message
+ 
+ - On failure, `error` will be set and `htmlString` will be nil
+ */
+
+- (void) start:(void (^)(NSString * __nullable htmlString, NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..c083f4256112f101005e815f4a4a5c646b9c9e6f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPMultipart.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMULTIPART_H
+
+#define MAILCORE_MCOIMAPMULTIPART_H
+
+/** Represents the a multipart retrieved from IMAP */
+
+#import <MailCore/MCOAbstractMultipart.h>
+
+@interface MCOIMAPMultipart : MCOAbstractMultipart <NSCoding>
+
+/** A part identifier looks like 1.2.1 */
+@property (nonatomic, copy) NSString * partID;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespace.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespace.h
new file mode 100644
index 0000000000000000000000000000000000000000..3e842aaddf00aa71d5217f9131122fac0b00175a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespace.h
@@ -0,0 +1,55 @@
+//
+//  MCOIMAPNamespace.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPNAMESPACE_H
+
+#define MAILCORE_MCOIMAPNAMESPACE_H
+
+/** Represents an IMAP namespace */
+
+#import <Foundation/Foundation.h>
+
+@class MCOIMAPNamespace;
+
+@interface MCOIMAPNamespace : NSObject <NSCopying>
+
+/**
+ Returns a simple namespace with only one item.
+*/
++ (MCOIMAPNamespace *) namespaceWithPrefix:(NSString *)prefix delimiter:(char)delimiter;
+
+/** Returns the prefix of the main item of this namespace. */
+- (NSString *) mainPrefix;
+
+/** Returns the path delimiter of the main item of this namespace */
+- (char) mainDelimiter;
+
+/** Returns the list of prefixes of this namespace. */
+- (NSArray * /* NSString */) prefixes;
+
+/**
+ Returns the folder path for the given list of path components in the context
+ of the main item of the namespace.
+*/
+- (NSString *) pathForComponents:(NSArray *)components;
+
+/**
+ Returns the folder path for the given list of path components and a prefix.
+ It will use the best item matching the prefix to compute the path.
+*/
+- (NSString *) pathForComponents:(NSArray *)components prefix:(NSString *)prefix;
+
+/** Returns the components given a folder path. */
+- (NSArray * /* NSString */) componentsFromPath:(NSString *)path;
+
+/** Returns YES if the namespace contains the given folder path. */
+- (BOOL) containsFolderPath:(NSString *)path;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespaceItem.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespaceItem.h
new file mode 100644
index 0000000000000000000000000000000000000000..64ae3c5fa9888a94897949d1b7f576c60cf5bb8d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPNamespaceItem.h
@@ -0,0 +1,36 @@
+//
+//  MCOIMAPNamespaceItem.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPNAMESPACEITEM_H
+
+#define MAILCORE_MCOIMAPNAMESPACEITEM_H
+
+/** Represents a namespace item */
+
+#import <Foundation/Foundation.h>
+
+@interface MCOIMAPNamespaceItem : NSObject <NSCopying>
+
+/** This is the prefix for this namespace item */
+@property (nonatomic, copy) NSString * prefix;
+
+/** This is the delimiter of the path for this namespace item */
+@property (nonatomic, assign) char delimiter;
+
+/** Returns folder path for given path components in the context of this namespace item */
+- (NSString *) pathForComponents:(NSArray *)components;
+
+/** Returns components for the given path in the context of this namespace */
+- (NSArray * /* NSString */) componentsForPath:(NSString *)path;
+
+/** Returns YES if the namespace contains this folder path */
+- (BOOL) containsFolder:(NSString *)folder;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9d399df3ebab7be355872a407146b7ac4635f542
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOIMAPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPOPERATION_H
+
+#define MAILCORE_MCOIMAPOPERATION_H
+
+/** This class implements a generic IMAP operation */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous append operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPPart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..660113b5697a3e5b163e5c342c978c6dab9004ee
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPPart.h
@@ -0,0 +1,38 @@
+//
+//  MCOIMAPPart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPABSTRACTPART_H
+
+#define MAILCORE_MCOIMAPABSTRACTPART_H
+
+#import <MailCore/MCOAbstractPart.h>
+
+#import <MailCore/MCOConstants.h>
+
+/** Represents a single IMAP message part */
+
+@interface MCOIMAPPart : MCOAbstractPart <NSCoding>
+
+/** A part identifier looks like 1.2.1 */
+@property (nonatomic, copy) NSString * partID;
+
+/** The size of the single part in bytes */
+@property (nonatomic, nonatomic) unsigned int size;
+
+/** It's the encoding of the single part */
+@property (nonatomic, nonatomic) MCOEncoding encoding;
+
+/**
+ Returns the decoded size of the part.
+ For example, for a part that's encoded with base64, it will return actual_size * 3/4.
+*/
+- (unsigned int) decodedSize;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPQuotaOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPQuotaOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d3368d49a5b85460d885f59d42177b584a262ad3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPQuotaOperation.h
@@ -0,0 +1,17 @@
+//
+//  MCOIMAPQuotaOperation.h
+//  mailcore2
+//
+//  Created by Petro Korenev on 8/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import "MCOIMAPBaseOperation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPQuotaOperation : MCOIMAPBaseOperation
+
+- (void) start:(void (^)(NSError * __nullable error, NSUInteger usage, NSUInteger limit))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchExpression.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchExpression.h
new file mode 100644
index 0000000000000000000000000000000000000000..225b3a5ef2ce6bd313fd447d249a2a7a82867308
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchExpression.h
@@ -0,0 +1,365 @@
+//
+//  MCOIMAPSearchExpression.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPSEARCHEXPRESSION_H
+
+#define MAILCORE_MCOIMAPSEARCHEXPRESSION_H
+
+/** Used to construct an IMAP search query */
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOIndexSet.h>
+
+@interface MCOIMAPSearchExpression : NSObject
+
+/** 
+ Creates a search expression that returns all UIDS for the mailbox
+
+ Example:
+    
+    MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAll]
+*/
++ (MCOIMAPSearchExpression *) searchAll;
+
+/**
+ Creates a search expression that matches the sender of an email.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+*/
++ (MCOIMAPSearchExpression *) searchFrom:(NSString *)value;
+
+/**
+ Creates a search expression that matches any recipient of an email.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchRecipient:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the receiver (to) of an email. Useful to check whether the mail is directly addressed to the receiver.
+
+ Example:
+
+    MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchTo:@"ngan@etpan.org"]
+**/
++ (MCOIMAPSearchExpression *) searchTo:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the cc of an email. Useful to check whether the mail is addressed to the receiver as cc.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchCc:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchCc:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the bcc field of an email. Useful to check whether the mail is addressed to the receiver as bcc.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBcc:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchBcc:(NSString *)value;
+
+/*
+ Creates a search expression that matches the subject of an email.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSubject:@"airline"]
+**/
++ (MCOIMAPSearchExpression *) searchSubject:(NSString *)value;
+
+/**
+ Creates a search expression that matches the content of an email, including the headers.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchContent:@"meeting"]
+*/
++ (MCOIMAPSearchExpression *) searchContent:(NSString *)value;
+
+/**
+ Creates a search expression that matches the content of an email, excluding the headers.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBody:@"building"]
+ */
++ (MCOIMAPSearchExpression *) searchBody:(NSString *)value;
+
+/**
+ Creates a search expression that matches the uids specified.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUids:uids]
+ **/
++ (MCOIMAPSearchExpression *) searchUIDs:(MCOIndexSet *) uids;
+
+/**
+ Creates a search expression that matches the message numbers specified.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchNumbers:numbers]
+ **/
++ (MCOIMAPSearchExpression *) searchNumbers:(MCOIndexSet *) numbers;
+
+/**
+ Creates a search expression that matches the content of a specific header.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+**/
++ (MCOIMAPSearchExpression *) searchHeader:(NSString *)header value:(NSString *)value;
+
+/**
+ Creates a search expression that matches messages with the Read flag.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRead]
+ **/
++ (MCOIMAPSearchExpression *) searchRead;
+
+/**
+ Creates a search expression that matches messages without the Read flag.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnread]
+ **/
++ (MCOIMAPSearchExpression *) searchUnread;
+
+/**
+ Creates a search expression that matches messages that have been flagged.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFlagged]
+ **/
++ (MCOIMAPSearchExpression *) searchFlagged;
+
+/**
+ Creates a search expression that matches messages that haven't been flagged.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnflagged]
+ **/
++ (MCOIMAPSearchExpression *) searchUnflagged;
+
+/**
+ Creates a search expression that matches messages that have the answered flag set.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAnswered]
+ **/
++ (MCOIMAPSearchExpression *) searchAnswered;
+
+/**
+ Creates a search expression that matches messages that don't have the answered flag set..
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnanswered]
+ **/
++ (MCOIMAPSearchExpression *) searchUnanswered;
+
+/**
+ Creates a search expression that matches draft messages.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchDraft]
+ **/
++ (MCOIMAPSearchExpression *) searchDraft;
+
+/**
+ Creates a search expression that matches messages that aren't drafts.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUndraft]
+ **/
++ (MCOIMAPSearchExpression *) searchUndraft;
+
+/**
+ Creates a search expression that matches messages that are deleted.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchDeleted]
+ **/
++ (MCOIMAPSearchExpression *) searchDeleted;
+
+/**
+ Creates a search expression that matches messages that are spam.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSpam]
+ **/
++ (MCOIMAPSearchExpression *) searchSpam;
+
+/**
+ Creates a search expression that matches messages sent before a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent on a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent since a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received before a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeReceivedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received on a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnReceivedDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received since a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceReceivedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages larger than a given size in bytes.
+ 
+ Example:
+ 
+ uint32_t minSize = 1024 * 10; // 10 KB
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSizeLargerThan:minSize]
+ **/
++ (MCOIMAPSearchExpression *) searchSizeLargerThan:(uint32_t)size;
+
+/**
+ Creates a search expression that matches messages smaller than a given size in bytes.
+ 
+ Example:
+ 
+ uint32_t maxSize = 1024 * 10; // 10 KB
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSizeSmallerThan:maxSize]
+ **/
++ (MCOIMAPSearchExpression *) searchSizeSmallerThan:(uint32_t)size;
+
+/**
+ Creates a search expression that matches emails with the given gmail thread id
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailThreadID:aThreadID]
+ */
++ (MCOIMAPSearchExpression *) searchGmailThreadID:(uint64_t)number;
+
+
+/**
+ Creates a search expression that matches emails with the given gmail message id
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailMessageID:aMessageID]
+ */
++ (MCOIMAPSearchExpression *) searchGmailMessageID:(uint64_t)number;
+
+/**
+ Creates a search expression that gets emails that match a gmail raw search
+ expression.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailRaw:@"from:bill has:attachment filename:cal meeting schedule"]
+ */
++ (MCOIMAPSearchExpression *) searchGmailRaw:(NSString *)expr;
+
+
+/**
+ Creates a search expression that's a disjunction of two search expressions.
+
+ Example:
+
+     MCOIMAPSearchExpression * exprFrom = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchExpression * exprSubject = [MCOIMAPSearchExpression searchContent:@"meeting"]
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAnd:exprFrom other:exprSubject];
+**/
+
++ (MCOIMAPSearchExpression *) searchAnd:(MCOIMAPSearchExpression *)expression other:(MCOIMAPSearchExpression *)other;
+/**
+ Creates a search expression that's a conjunction of two search expressions.
+
+ Example:
+
+     MCOIMAPSearchExpression * exprFrom = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchExpression * exprOtherFrom = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOr:exprFrom exprOtherFrom];
+*/
++ (MCOIMAPSearchExpression *) searchOr:(MCOIMAPSearchExpression *)expression other:(MCOIMAPSearchExpression *)other;
+
+/**
+ Creates a search expression that matches when the argument is not matched.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * exprSubject = [MCOIMAPSearchExpression searchSubject:@"airline"]
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchNot:exprSubject];
+ The expression will match when the subject does not contain the word airline
+ 
+ */
++ (MCOIMAPSearchExpression *) searchNot:(MCOIMAPSearchExpression *)expression;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a594730d45fa4f284d4defd8e39831e9db8df41e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSearchOperation.h
@@ -0,0 +1,38 @@
+//
+//  MCOIMAPSearchOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSEARCHOPERATION_H
+
+#define MAILCORE_MCOSEARCHOPERATION_H
+
+/** This class runs an IMAP search operation */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPSearchOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous search operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `searchResults` will contain the UIDs of any matching messages
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `searchResult` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable searchResult))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..add9a42853b5f55d588ccb8e413f06f180ac2af3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIMAPSession.h
@@ -0,0 +1,1024 @@
+//
+//  MCOIMAPSession.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 1/31/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPSESSION_H
+
+#define MAILCORE_MCOIMAPSESSION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+@class MCOIMAPFetchFoldersOperation;
+@class MCOIMAPOperation;
+@class MCOIMAPNamespace;
+@class MCOIMAPFolderInfoOperation;
+@class MCOIMAPFolderStatusOperation;
+@class MCOIMAPAppendMessageOperation;
+@class MCOIMAPCopyMessagesOperation;
+@class MCOIndexSet;
+@class MCOIMAPFetchMessagesOperation;
+@class MCOIMAPFetchContentOperation;
+@class MCOIMAPFetchParsedContentOperation;
+@class MCOIMAPSearchOperation;
+@class MCOIMAPIdleOperation;
+@class MCOIMAPFetchNamespaceOperation;
+@class MCOIMAPSearchExpression;
+@class MCOIMAPIdentityOperation;
+@class MCOIMAPCapabilityOperation;
+@class MCOIMAPQuotaOperation;
+@class MCOIMAPMessageRenderingOperation;
+@class MCOIMAPMessage;
+@class MCOIMAPIdentity;
+@class MCOIMAPCustomCommandOperation;
+
+/**
+ This is the main IMAP class from which all operations are created
+
+ After calling a method that returns an operation you must call start: on the instance
+ to begin the operation.
+*/
+
+@interface MCOIMAPSession : NSObject
+
+/** This is the hostname of the IMAP server to connect to. */
+@property (nonatomic, copy) NSString *hostname;
+
+/** This is the port of the IMAP server to connect to. */
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account. */
+@property (nonatomic, copy) NSString *username;
+
+/** This is the password of the account. */
+@property (nonatomic, copy) NSString *password;
+
+/** This is the OAuth2 token. */
+@property (nonatomic, copy) NSString *OAuth2Token;
+
+/**
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/**
+ This is the encryption type to use.
+ See MCOConnectionType for more information.
+*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection. */
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect. */
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/** When set to YES, VoIP capability will be enabled on the IMAP connection on iOS */
+@property (nonatomic, assign, getter=isVoIPEnabled) BOOL voIPEnabled;
+
+/** The default namespace. */
+@property (nonatomic, strong) MCOIMAPNamespace * defaultNamespace;
+
+/** The identity of the IMAP client. */
+@property (nonatomic, strong, readonly) MCOIMAPIdentity * clientIdentity;
+
+/** The identity of the IMAP server. */
+@property (nonatomic, strong, readonly) MCOIMAPIdentity * serverIdentity;
+
+/**
+ Display name of the Gmail user. It will be nil if it's not a Gmail server.
+
+ ** DEPRECATED **
+ This attribute has been broken by Gmail IMAP server. It's not longer available
+ as a correct display name.
+*/
+@property (nonatomic, copy, readonly) NSString * gmailUserDisplayName DEPRECATED_ATTRIBUTE;
+
+/**
+ When set to YES, the session is allowed open to open several connections to the same folder.
+ @warning Some older IMAP servers don't like this
+*/
+@property (nonatomic, assign) BOOL allowsFolderConcurrentAccessEnabled;
+
+/**
+ Maximum number of connections to the server allowed.
+*/
+@property (nonatomic, assign) unsigned int maximumConnections;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+    NSLog(@"%@", [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]);
+    // ...
+ }];
+*/
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOIMAPSession about where it's called from.
+ It will make MCOIMAPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOIMAPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+*/
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+*/
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Folder Operations */
+
+/**
+ Returns an operation that retrieves folder metadata (like UIDNext)
+
+     MCOIMAPFolderInfoOperation * op = [session folderInfoOperation:@"INBOX"];
+     [op start:^(NSError *error, MCOIMAPFolderInfo * info) {
+          NSLog(@"UIDNEXT: %lu", (unsigned long) [info uidNext]);
+          NSLog(@"UIDVALIDITY: %lu", (unsigned long) [info uidValidity]);
+          NSLog(@"HIGHESTMODSEQ: %llu", (unsigned long long) [info modSequenceValue]);
+          NSLog(@"messages count: %lu", [info messageCount]);
+     }];
+*/
+
+- (MCOIMAPFolderInfoOperation *) folderInfoOperation:(NSString *)folder;
+
+/**
+ Returns an operation that retrieves folder status (like UIDNext - Unseen -)
+
+    MCOIMAPFolderStatusOperation * op = [session folderStatusOperation:@"INBOX"];
+    [op start:^(NSError *error, MCOIMAPFolderStatus * info) {
+        NSLog(@"UIDNEXT: %lu", (unsigned long) [info uidNext]);
+        NSLog(@"UIDVALIDITY: %lu", (unsigned long) [info uidValidity]);
+        NSLog(@"messages count: %lu", [info totalMessages]);
+ 	}];
+ */
+
+- (MCOIMAPFolderStatusOperation *) folderStatusOperation:(NSString *)folder;
+
+/**
+ Returns an operation that gets the list of subscribed folders.
+
+    MCOIMAPFetchFoldersOperation * op = [session fetchSubscribedFoldersOperation];
+    [op start:^(NSError * __nullable error, NSArray * folders) {
+        ...
+    }];
+ */
+
+- (MCOIMAPFetchFoldersOperation *) fetchSubscribedFoldersOperation;
+
+/**
+ Returns an operation that gets all folders
+
+     MCOIMAPFetchFoldersOperation * op = [session fetchAllFoldersOperation];
+     [op start:^(NSError * __nullable error, NSArray *folders) {
+          ...
+     }];
+*/
+- (MCOIMAPFetchFoldersOperation *) fetchAllFoldersOperation;
+
+/**
+ Creates an operation for renaming a folder
+
+     MCOIMAPOperation * op = [session renameFolderOperation:@"my documents" otherName:@"Documents"];
+     [op start:^(NSError * __nullable error) {
+        ...
+     }];
+
+*/
+- (MCOIMAPOperation *) renameFolderOperation:(NSString *)folder otherName:(NSString *)otherName;
+
+/**
+ Create an operation for deleting a folder
+
+     MCOIMAPOperation * op = [session deleteFolderOperation:@"holidays 2009"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }]];
+*/
+- (MCOIMAPOperation *) deleteFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation that creates a new folder
+
+     MCOIMAPOperation * op = [session createFolderOperation:@"holidays 2013"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) createFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to subscribe to a folder.
+
+     MCOIMAPOperation * op = [session createFolderOperation:@"holidays 2013"];
+     [op start:^(NSError * __nullable error) {
+       if (error != nil)
+         return;
+       MCOIMAPOperation * op = [session subscribeFolderOperation:@"holidays 2013"];
+       ...
+     }];
+*/
+- (MCOIMAPOperation *) subscribeFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to unsubscribe from a folder.
+
+     MCOIMAPOperation * op = [session unsubscribeFolderOperation:@"holidays 2009"];
+     [op start:^(NSError * __nullable error) {
+       if (error != nil)
+         return;
+       MCOIMAPOperation * op = [session deleteFolderOperation:@"holidays 2009"]
+       ...
+     }];
+*/
+- (MCOIMAPOperation *) unsubscribeFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to expunge a folder.
+
+     MCOIMAPOperation * op = [session expungeOperation:@"INBOX"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) expungeOperation:(NSString *)folder;
+
+/** @name Message Actions */
+
+/**
+ Returns an operation to add a message to a folder.
+
+     MCOIMAPOperation * op = [session appendMessageOperationWithFolder:@"Sent Mail" messageData:rfc822Data flags:MCOMessageFlagNone];
+     [op start:^(NSError * __nullable error, uint32_t createdUID) {
+       if (error == nil) {
+         NSLog(@"created message with UID %lu", (unsigned long) createdUID);
+       }
+     }];
+*/
+- (MCOIMAPAppendMessageOperation *)appendMessageOperationWithFolder:(NSString *)folder
+                                                        messageData:(NSData *)messageData
+                                                              flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to add a message with custom flags to a folder.
+
+     MCOIMAPOperation * op = [session appendMessageOperationWithFolder:@"Sent Mail" messageData:rfc822Data flags:MCOMessageFlagNone customFlags:@[@"$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error, uint32_t createdUID) {
+       if (error == nil) {
+         NSLog(@"created message with UID %lu", (unsigned long) createdUID);
+       }
+     }];
+ */
+- (MCOIMAPAppendMessageOperation *)appendMessageOperationWithFolder:(NSString *)folder
+                                                        messageData:(NSData *)messageData
+                                                              flags:(MCOMessageFlag)flags
+                                                        customFlags:(NSArray *)customFlags;
+
+/**
+ Returns an operation to copy messages to a folder.
+
+     MCOIMAPCopyMessagesOperation * op = [session copyMessagesOperationWithFolder:@"INBOX"
+                                                                             uids:[MCIndexSet indexSetWithIndex:456]
+                                                                       destFolder:@"Cocoa"];
+     [op start:^(NSError * __nullable error, NSDictionary * uidMapping) {
+          NSLog(@"copied to folder with UID mapping %@", uidMapping);
+     }];
+*/
+- (MCOIMAPCopyMessagesOperation *)copyMessagesOperationWithFolder:(NSString *)folder
+                                                             uids:(MCOIndexSet *)uids
+                                                       destFolder:(NSString *)destFolder NS_RETURNS_NOT_RETAINED;
+
+/**
+ Returns an operation to change flags of messages.
+
+ For example: Adds the seen flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                               uids:[MCOIndexSet indexSetWithIndex:456]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                                uids:(MCOIndexSet *)uids
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to change flags of messages, using IMAP sequence number.
+
+ For example: Adds the seen flag to the message with the sequence number number 42.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                            numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                             numbers:(MCOIndexSet *)numbers
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to change flags and custom flags of messages.
+
+ For example: Adds the seen flag and $CNS-Greeting-On flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                               uids:[MCOIndexSet indexSetWithIndex:456]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen
+                                                        customFlags:@["$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error) {
+         ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                                uids:(MCOIndexSet *)uids
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags
+                                         customFlags:(NSArray *)customFlags;
+
+
+/**
+ Returns an operation to change flags and custom flags of messages, using IMAP sequence number.
+
+ For example: Adds the seen flag and $CNS-Greeting-On flag to the message with the sequence number 42.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                            numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen
+                                                        customFlags:@["$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error) {
+         ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                             numbers:(MCOIndexSet *)numbers
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags
+                                         customFlags:(NSArray *)customFlags;
+
+/**
+ Returns an operation to change labels of messages. Intended for Gmail
+
+ For example: Adds the label "Home" flag to the message with UID 42.
+
+     MCOIMAPOperation * op = [session storeLabelsOperationWithFolder:@"INBOX"
+                                                             numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                                kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              labels:[NSArray arrayWithObject:@"Home"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeLabelsOperationWithFolder:(NSString *)folder
+                                              numbers:(MCOIndexSet *)numbers
+                                                 kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               labels:(NSArray *)labels;
+
+/**
+ Returns an operation to change labels of messages. Intended for Gmail
+
+ For example: Adds the label "Home" flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeLabelsOperationWithFolder:@"INBOX"
+                                                                uids:[MCOIndexSet indexSetWithIndex:456]
+                                                                kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              labels:[NSArray arrayWithObject:@"Home"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeLabelsOperationWithFolder:(NSString *)folder
+                                                 uids:(MCOIndexSet *)uids
+                                                 kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               labels:(NSArray *)labels;
+
+/** @name Fetching Messages */
+
+/**
+ Returns an operation to fetch messages by UID.
+
+     MCOIMAPFetchMessagesOperation * op = [session fetchMessagesByUIDOperationWithFolder:@"INBOX"
+                                                                             requestKind:MCOIMAPMessagesRequestKindHeaders | MCOIMAPMessagesRequestKindStructure
+                                                                                    uids:MCORangeMake(1, UINT64_MAX)];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+        for(MCOIMAPMessage * msg in messages) {
+          NSLog(@"%lu: %@", [msg uid], [msg header]);
+        }
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesByUIDOperationWithFolder:(NSString *)folder
+                                                              requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                     uids:(MCOIndexSet *)uids DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch messages by UID.
+
+     MCOIMAPFetchMessagesOperation * op = [session fetchMessagesOperationWithFolder:@"INBOX"
+                                                                        requestKind:MCOIMAPMessagesRequestKindHeaders | MCOIMAPMessagesRequestKindStructure
+                                                                               uids:MCORangeMake(1, UINT64_MAX)];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+        for(MCOIMAPMessage * msg in messages) {
+          NSLog(@"%lu: %@", [msg uid], [msg header]);
+        }
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesOperationWithFolder:(NSString *)folder
+                                                         requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                uids:(MCOIndexSet *)uids;
+
+/**
+ Returns an operation to fetch messages by (sequence) number.
+ For example: show 50 most recent uids.
+     NSString *folder = @"INBOX";
+     MCOIMAPFolderInfoOperation *folderInfo = [session folderInfoOperation:folder];
+
+     [folderInfo start:^(NSError *error, MCOIMAPFolderInfo *info) {
+         int numberOfMessages = 50;
+         numberOfMessages -= 1;
+         MCOIndexSet *numbers = [MCOIndexSet indexSetWithRange:MCORangeMake([info messageCount] - numberOfMessages, numberOfMessages)];
+
+         MCOIMAPFetchMessagesOperation *fetchOperation = [session fetchMessagesByNumberOperationWithFolder:folder
+                                                                                               requestKind:MCOIMAPMessagesRequestKindUid
+                                                                                                   numbers:numbers];
+
+         [fetchOperation start:^(NSError *error, NSArray *messages, MCOIndexSet *vanishedMessages) {
+             for (MCOIMAPMessage * message in messages) {
+                 NSLog(@"%u", [message uid]);
+             }
+         }];
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesByNumberOperationWithFolder:(NSString *)folder
+                                                                 requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                     numbers:(MCOIndexSet *)numbers;
+
+/**
+ Returns an operation to sync the last changes related to the given message list given a modSeq.
+
+     MCOIMAPFetchMessagesOperation * op = [session syncMessagesByUIDWithFolder:@"INBOX"
+                                                                   requestKind:MCOIMAPMessagesRequestKindUID
+                                                                          uids:MCORangeMake(1, UINT64_MAX)
+                                                                        modSeq:lastModSeq];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+       NSLog(@"added or modified messages: %@", messages);
+       NSLog(@"deleted messages: %@", vanishedMessages);
+     }];
+
+@warn *Important*: This is only for servers that support Conditional Store. See [RFC4551](http://tools.ietf.org/html/rfc4551)
+vanishedMessages will be set only for servers that support QRESYNC. See [RFC5162](http://tools.ietf.org/html/rfc5162)
+*/
+- (MCOIMAPFetchMessagesOperation *) syncMessagesByUIDWithFolder:(NSString *)folder
+                                                    requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                           uids:(MCOIndexSet *)uids
+                                                         modSeq:(uint64_t)modSeq DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to sync the last changes related to the given message list given a modSeq.
+
+     MCOIMAPFetchMessagesOperation * op = [session syncMessagesWithFolder:@"INBOX"
+                                                              requestKind:MCOIMAPMessagesRequestKindUID
+                                                                     uids:MCORangeMake(1, UINT64_MAX)
+                                                                   modSeq:lastModSeq];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+       NSLog(@"added or modified messages: %@", messages);
+       NSLog(@"deleted messages: %@", vanishedMessages);
+     }];
+
+@warn *Important*: This is only for servers that support Conditional Store. See [RFC4551](http://tools.ietf.org/html/rfc4551)
+vanishedMessages will be set only for servers that support QRESYNC. See [RFC5162](http://tools.ietf.org/html/rfc5162)
+*/
+- (MCOIMAPFetchMessagesOperation *) syncMessagesWithFolder:(NSString *)folder
+                                              requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                     uids:(MCOIndexSet *)uids
+                                                   modSeq:(uint64_t)modSeq;
+
+/**
+ Returns an operation to fetch the content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageByUIDOperationWithFolder:(NSString *)folder
+                                                                    uid:(uint32_t)uid
+                                                                 urgent:(BOOL)urgent DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch the content of a message.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:456];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageByUIDOperationWithFolder:(NSString *)folder
+                                                                    uid:(uint32_t)uid DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch the content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+ */
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                               uid:(uint32_t)uid
+                                                            urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the content of a message.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" uid:456];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+ */
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                               uid:(uint32_t)uid;
+
+/**
+ Returns an operation to fetch the content of a message, using IMAP sequence number.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" number:42 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                            number:(uint32_t)number
+                                                            urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the content of a message, using IMAP sequence number.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" number:42];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                             number:(uint32_t)number;
+
+/**
+ Returns an operation to fetch the parsed content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                           uid:(uint32_t)uid
+                                                                        urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the parsed content of a message.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" uid:456];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                           uid:(uint32_t)uid;
+
+/**
+ Returns an operation to fetch the parsed content of a message, using IMAP sequence number.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" number:42 urgent:NO];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                        number:(uint32_t)number
+                                                                        urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the parsed content of a message, using IMAP sequence number.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" number:42];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                        number:(uint32_t)number;
+
+/** @name Fetching Attachment Operations */
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentByUIDOperationWithFolder:(NSString *)folder
+                                                                              uid:(uint32_t)uid
+                                                                           partID:(NSString *)partID
+                                                                         encoding:(MCOEncoding)encoding
+                                                                           urgent:(BOOL)urgent DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation for custom command.
+ @param command is the text representation of the command to be send.
+ 
+ 
+ MCOIMAPCustomCommandOperation * op = [session customCommandOperation:@"ACTIVATE SERVICE"];
+ [op start: ^(NSString * __nullable response, NSError * __nullable error) {
+   ...
+ }];
+ */
+- (MCOIMAPCustomCommandOperation *) customCommandOperation:(NSString *)command;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:[message uid]
+                                                                                          partID:[part partID]
+                                                                                        encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentByUIDOperationWithFolder:(NSString *)folder
+                                                                              uid:(uint32_t)uid
+                                                                           partID:(NSString *)partID
+                                                                         encoding:(MCOEncoding)encoding DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                         uid:(uint32_t)uid
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding
+                                                                      urgent:(BOOL)urgent;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                        uid:456
+                                                                                     partID:@"1.2"
+                                                                                   encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                        uid:[message uid]
+                                                                                     partID:[part partID]
+                                                                                   encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                         uid:(uint32_t)uid
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding;
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                      number:(uint32_t)number
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding
+                                                                      urgent:(BOOL)urgent;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                     number:42
+                                                                                     partID:@"1.2"
+                                                                                   encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                     number:[message sequenceNumber]
+                                                                                     partID:[part partID]
+                                                                                   encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                      number:(uint32_t)number
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding;
+
+/** @name General IMAP Actions */
+
+/**
+ Returns an operation to wait for something to happen in the folder.
+ See [RFC2177](http://tools.ietf.org/html/rfc2177) for me info.
+
+     MCOIMAPIdleOperation * op = [session idleOperationWithFolder:@"INBOX"
+                                                     lastKnownUID:0];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPIdleOperation *) idleOperationWithFolder:(NSString *)folder
+                                      lastKnownUID:(uint32_t)lastKnownUID;
+
+/**
+ Returns an operation to fetch the list of namespaces.
+
+     MCOIMAPFetchNamespaceOperation * op = [session fetchNamespaceOperation];
+     [op start:^(NSError * __nullable error, NSDictionary * namespaces) {
+       if (error != nil)
+         return;
+       MCOIMAPNamespace * ns = [namespace objectForKey:MCOIMAPNamespacePersonal];
+       NSString * path = [ns pathForComponents:[NSArray arrayWithObject:]];
+       MCOIMAPOperation * createOp = [session createFolderOperation:foobar];
+       [createOp start:^(NSError * __nullable error) {
+         ...
+       }];
+     }];
+*/
+- (MCOIMAPFetchNamespaceOperation *) fetchNamespaceOperation;
+
+/**
+ Returns an operation to send the client or get the server identity.
+
+     MCOIMAPIdentity * identity = [MCOIMAPIdentity identityWithVendor:@"Mozilla" name:@"Thunderbird" version:@"17.0.5"];
+     MCOIMAPIdentityOperation * op = [session identityOperationWithClientIdentity:identity];
+     [op start:^(NSError * __nullable error, NSDictionary * serverIdentity) {
+          ...
+     }];
+*/
+- (MCOIMAPIdentityOperation *) identityOperationWithClientIdentity:(MCOIMAPIdentity *)identity;
+
+/**
+ Returns an operation that will connect to the given IMAP server without authenticating.
+ Useful for checking initial server capabilities.
+
+ MCOIMAPOperation * op = [session connectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOIMAPOperation *)connectOperation;
+
+/**
+ Returns an operation that will perform a No-Op operation on the given IMAP server.
+
+ MCOIMAPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOIMAPOperation *) noopOperation;
+
+/**
+ Returns an operation that will check whether the IMAP account is valid.
+
+     MCOIMAPOperation * op = [session checkAccountOperation];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+
+- (MCOIMAPOperation *) checkAccountOperation;
+
+/**
+ Returns an operation to request capabilities of the server.
+ See MCOIMAPCapability for the list of capabilities.
+
+     canIdle = NO;
+     MCOIMAPCapabilityOperation * op = [session capabilityOperation];
+     [op start:^(NSError * __nullable error, MCOIndexSet * capabilities) {
+       if ([capabilities containsIndex:MCOIMAPCapabilityIdle]) {
+         canIdle = YES;
+       }
+     }];
+*/
+- (MCOIMAPCapabilityOperation *) capabilityOperation;
+
+- (MCOIMAPQuotaOperation *) quotaOperation;
+
+/** @name Search Operations */
+
+/**
+ Returns an operation to search for messages with a simple match.
+
+     MCOIMAPSearchOperation * op = [session searchOperationWithFolder:@"INBOX"
+                                                                 kind:MCOIMAPSearchKindFrom
+                                                         searchString:@"laura"];
+     [op start:^(NSError * __nullable error, MCOIndexSet * searchResult) {
+          ...
+     }];
+*/
+- (MCOIMAPSearchOperation *) searchOperationWithFolder:(NSString *)folder
+                                                  kind:(MCOIMAPSearchKind)kind
+                                          searchString:(NSString *)searchString;
+
+/**
+ Returns an operation to search for messages.
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchOperation * op = [session searchExpressionOperationWithFolder:@"INBOX"
+                                                                     expression:expr];
+     [op start:^(NSError * __nullable error, MCOIndexSet * searchResult) {
+          ...
+     }];
+*/
+- (MCOIMAPSearchOperation *) searchExpressionOperationWithFolder:(NSString *)folder
+                                                      expression:(MCOIMAPSearchExpression *)expression;
+
+/** @name Rendering Operations */
+
+/**
+ Returns an operation to render the HTML version of a message to be displayed in a web view.
+
+    MCOIMAPMessageRenderingOperation * op = [session htmlRenderingOperationWithMessage:msg
+                                                                            folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+*/
+- (MCOIMAPMessageRenderingOperation *) htmlRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                  folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the HTML body of a message to be displayed in a web view.
+
+    MCOIMAPMessageRenderingOperation * op = [session htmlBodyRenderingOperationWithMessage:msg
+                                                                                    folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) htmlBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                      folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the plain text version of a message.
+
+    MCOIMAPMessageRenderingOperation * op = [session plainTextRenderingOperationWithMessage:msg
+                                                                                     folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                       folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the plain text body of a message.
+ All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.
+
+    MCOIMAPMessageRenderingOperation * op = [session plainTextBodyRenderingOperationWithMessage:msg
+                                                                                         folder:@"INBOX"
+                                                                                stripWhitespace:YES];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                           folder:(NSString *)folder
+                                                                  stripWhitespace:(BOOL)stripWhitespace;
+
+/**
+ Returns an operation to render the plain text body of a message.
+ All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.
+
+ MCOIMAPMessageRenderingOperation * op = [session plainTextBodyRenderingOperationWithMessage:msg
+ folder:@"INBOX"];
+
+ [op start:^(NSString * htmlString, NSError * error) {
+ ...
+ }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                           folder:(NSString *)folder;
+
+/**
+ Returns an operation to disconnect the session.
+ It will disconnect all the sockets created by the session.
+
+    MCOIMAPOperation * op = [session disconnectOperation];
+    [op start:^(NSError * __nullable error) {
+       ...
+    }];
+ */
+- (MCOIMAPOperation *) disconnectOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIndexSet.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIndexSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..3705fa3a3eb2aabd58c795ce07eba1c83bdac313
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOIndexSet.h
@@ -0,0 +1,74 @@
+//
+//  MCOIndexSet.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOINDEXSET_H
+
+#define MAILCORE_MCOINDEXSET_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCORange.h>
+
+/** similar to NSMutableIndexSet but supports int64_t.  MCORange has a location (uint64_t) and length (uint64_t). */
+
+@interface MCOIndexSet : NSObject <NSCopying, NSCoding>
+
+/** Creates an empty index set.*/
++ (MCOIndexSet *) indexSet;
+
+/** Creates an index set that contains a range of integers.*/
++ (MCOIndexSet *) indexSetWithRange:(MCORange)range;
+
+/** Creates an index set with a single integer.*/
++ (MCOIndexSet *) indexSetWithIndex:(uint64_t)idx;
+
+/** Returns the number of integers in that index set.*/
+- (unsigned int) count;
+
+/** Adds an integer to the index set.*/
+- (void) addIndex:(uint64_t)idx;
+
+/** Removes an integer from the index set.*/
+- (void) removeIndex:(uint64_t)idx;
+
+/** Returns YES if the index set contains the given integer.*/
+- (BOOL) containsIndex:(uint64_t)idx;
+
+/** Adds a range of integers to the index set.*/
+- (void) addRange:(MCORange)range;
+
+/** Removes a range of integers from the index set.*/
+- (void) removeRange:(MCORange)range;
+
+/** Removes all integers that are not in the given range.*/
+- (void) intersectsRange:(MCORange)range;
+
+/** Adds all indexes from an other index set to the index set.*/
+- (void) addIndexSet:(MCOIndexSet *)indexSet;
+
+/** Remove all indexes from an other index set from the index set.*/
+- (void) removeIndexSet:(MCOIndexSet *)indexSet;
+
+/** Removes all integers that are not in the given index set.*/
+- (void) intersectsIndexSet:(MCOIndexSet *)indexSet;
+
+/** Returns all the ranges of ths index set.*/
+- (MCORange *) allRanges;
+
+/** Returns the number of ranges in this index set.*/
+- (unsigned int) rangesCount;
+
+/** Enumerates all the indexes of the index set.*/
+- (void) enumerateIndexes:(void (^)(uint64_t idx))block;
+
+/** Returns an NSIndexSet from a MCOIndexSet */
+- (NSIndexSet *) nsIndexSet;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvider.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a568016c600d0b152b70c52934c8a6623ec66bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvider.h
@@ -0,0 +1,93 @@
+//
+//  MCOMailProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+   Represents a email service provider, like for example Gmail, Yahoo, Fastmail.fm etc.
+*/
+
+@interface MCOMailProvider : NSObject
+
+@property (nonatomic, copy) NSString * identifier;
+
+- (id) initWithInfo:(NSDictionary *)info;
+
+/**
+   A list of ways that you can connect to the IMAP server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) imapServices;
+
+/**
+   A list of ways that you can connect to the SMTP server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) smtpServices;
+
+/**
+   A list of ways that you can connect to the POP3 server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) popServices;
+
+- (BOOL) matchEmail:(NSString *)email;
+- (BOOL) matchMX:(NSString *)hostname;
+
+/**
+   Where sent mail is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) sentMailFolderPath;
+
+/**
+   Where starred mail is stored on the IMAP server.
+   This only applies to some servers like Gmail
+   @return Returns nil if it is unknown
+*/
+- (NSString *) starredFolderPath;
+
+/**
+   Where all mail or the archive folder is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) allMailFolderPath;
+
+/**
+   Where trash is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) trashFolderPath;
+
+/**
+   Where draft messages are stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) draftsFolderPath;
+
+/**
+   Where spam messages are stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) spamFolderPath;
+
+/**
+   Where important messages are stored on the IMAP server
+   This only applies to some servers, like Gmail
+   @return Returns nil if it is unknown
+*/
+- (NSString *) importantFolderPath;
+
+@end
+
+@interface MCOMailProvider (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvidersManager.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvidersManager.h
new file mode 100644
index 0000000000000000000000000000000000000000..09df25ad9ee4b42766c8b34dc137139c18f2fd8a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMailProvidersManager.h
@@ -0,0 +1,51 @@
+//
+//  MCOMailProvidersManager.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+   This class is used to detect an email provider and it's associated
+   metadata either by MX record or by the email addresss.
+
+   An app might want to use this during setup to limit the number of settings
+   a user has to input.
+*/
+
+@class MCOMailProvider;
+
+@interface MCOMailProvidersManager : NSObject
+
+/** The shared manager that is used for all lookups */
++ (MCOMailProvidersManager *) sharedManager;
+
+/** 
+    Given an email address will try to determine the provider
+    @return The email provider info or nil if it can't be determined.
+*/
+- (MCOMailProvider *) providerForEmail:(NSString *)email;
+
+/** 
+    Given the DNS MX record will try to determine the provider
+    @return The email provider info or nil if it can't be determined.
+*/
+- (MCOMailProvider *) providerForMX:(NSString *)hostname;
+
+/**
+   Will return information about a provider. Useful if you already know the
+   provider (like if it has been determined previously)
+   @return The email provider info or nil if none matches
+*/
+- (MCOMailProvider *) providerForIdentifier:(NSString *)identifier;
+
+/**
+   Registers the providers in the JSON file at the file path so they
+   can be used with MCOMailProvidersManager.
+ */
+- (void) registerProvidersWithFilename:(NSString *)filename;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageBuilder.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageBuilder.h
new file mode 100644
index 0000000000000000000000000000000000000000..1663d6f7f0f02d5ce5a8808b755d369b2898cfe0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageBuilder.h
@@ -0,0 +1,98 @@
+//
+//  MCOMessageBuilder.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEBUILDER_H
+
+#define MAILCORE_MCOMESSAGEBUILDER_H
+
+#import <MailCore/MCOAbstractMessage.h>
+
+/**
+ This class will allow you to build a RFC 822 formatted message.
+ For example when you need to send a message using SMTP,
+ you need to generate first a RFC 822 formatted message.
+ This class will help you do that.
+ 
+    MCOMessageBuilder * builder = [[MCOMessageBuilder alloc] init];
+    [[builder header] setFrom:[MCOAddress addressWithDisplayName:@"Hoa V. DINH" mailbox:@"hoa@etpan.org"];
+    NSArray * to = [NSArray arrayWithObject:[MCOAddress addressWithDisplayName:@"Gael Roualland" mailbox:@"gael@etpan.org"]];
+    [[builder header] setTo:to];
+    [[builder header] setSubject:@"A nice picture!"];
+    [builder setHTMLBody:@"<div>Here's the message I need to send.</div>"];
+    [builder addAttachment:[MCOAttachment attachmentWithContentsOfFile:@"/Users/foo/Pictures/image.jpg"]];
+    NSData * rfc822Data = [builder data];
+ 
+*/
+
+@class MCOAttachment;
+@protocol MCOHTMLRendererDelegate;
+
+@interface MCOMessageBuilder : MCOAbstractMessage <NSCopying>
+
+/** Main HTML content of the message.*/
+@property (nonatomic, copy, setter=setHTMLBody:) NSString * htmlBody;
+
+/** Plain text content of the message.*/
+@property (nonatomic, copy) NSString * textBody;
+
+/** List of file attachments.*/
+@property (nonatomic, copy) NSArray * /* MCOAttachment */ attachments;
+
+/** List of related file attachments (included as cid: link in the HTML part).*/
+@property (nonatomic, copy) NSArray * /* MCOAttachment */ relatedAttachments;
+
+/** Prefix for the boundary identifier. Default value is nil.*/
+@property (nonatomic, copy) NSString * boundaryPrefix;
+
+/** Add an attachment.*/
+- (void) addAttachment:(MCOAttachment *)attachment;
+
+/** Add a related attachment.*/
+- (void) addRelatedAttachment:(MCOAttachment *)attachment;
+
+/** RFC 822 formatted message.*/
+- (NSData *) data;
+
+/** RFC 822 formatted message for encryption.*/
+- (NSData *) dataForEncryption;
+
+/**
+ Returns an OpenPGP signed message with a given signature.
+ The signature needs to be computed on the data returned by -dataForEncryption
+ before calling this method.
+ You could use http://www.netpgp.com to generate it.
+ */
+- (NSData *) openPGPSignedMessageDataWithSignatureData:(NSData *)signature;
+
+/**
+ Returns an OpenPGP encrypted message with a given encrypted data.
+ The encrypted data needs to be computed before calling this method.
+ You could use http://www.netpgp.com to generate it.
+ */
+- (NSData *) openPGPEncryptedMessageDataWithEncryptedData:(NSData *)encryptedData;
+
+/** HTML rendering of the message to be displayed in a web view. The delegate can be nil.*/
+- (NSString *) htmlRenderingWithDelegate:(id <MCOHTMLRendererDelegate>)delegate;
+
+/** HTML rendering of the body of the message to be displayed in a web view.*/
+- (NSString *) htmlBodyRendering;
+
+/** Text rendering of the message.*/
+- (NSString *) plainTextRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRenderingAndStripWhitespace:(BOOL)stripWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageHeader.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageHeader.h
new file mode 100644
index 0000000000000000000000000000000000000000..4f9a9cdac7e341ba98f90141724fdb8fa5ec3c1b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageHeader.h
@@ -0,0 +1,101 @@
+//
+//  MCOMessageHeader.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEHEADER_H
+
+#define MAILCORE_MCOMESSAGEHEADER_H
+
+#import <Foundation/Foundation.h>
+
+/** This class implements common fields of a message header.*/
+
+@class MCOAddress;
+
+@interface MCOMessageHeader : NSObject <NSCopying, NSCoding>
+
+/** Message-ID field.*/
+@property (nonatomic, copy) NSString * messageID;
+
+/** Message-ID auto-generated flag.*/
+@property (nonatomic, readonly, getter=isMessageIDAutoGenerated) BOOL messageIDAutoGenerated;
+
+/** References field. It's an array of message-ids.*/
+@property (nonatomic, copy) NSArray * /* NSString */ references;
+
+/** In-Reply-To field. It's an array of message-ids.*/
+@property (nonatomic, copy) NSArray * /* NSString */ inReplyTo;
+
+/** Date field: sent date of the message.*/
+@property (nonatomic, strong) NSDate * date;
+
+/** Received date: received date of the message.*/
+@property (nonatomic, strong) NSDate * receivedDate;
+
+/** Sender field.*/
+@property (nonatomic, copy) MCOAddress * sender;
+
+/** From field: address of the sender of the message.*/
+@property (nonatomic, copy) MCOAddress * from;
+
+/** To field: recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ to;
+
+/** Cc field: cc recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ cc;
+
+/** Bcc field: bcc recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ bcc;
+
+/** Reply-To field. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ replyTo;
+
+/** Subject of the message.*/
+@property (nonatomic, copy) NSString * subject;
+
+/** Email user agent name: X-Mailer header.*/
+@property (nonatomic, copy) NSString * userAgent;
+
+/** Returns a header created from RFC 822 data.*/
++ (MCOMessageHeader *) headerWithData:(NSData *)data;
+
+/** Initialize a header with RFC 822 data.*/
+- (id) initWithData:(NSData *)data;
+
+/** Adds a custom header.*/
+- (void) setExtraHeaderValue:(NSString *)value forName:(NSString *)name;
+
+/** Remove a given custom header.*/
+- (void) removeExtraHeaderForName:(NSString *)name;
+
+/** Returns the value of a given custom header.*/
+- (NSString *) extraHeaderValueForName:(NSString *)name;
+
+/** Returns an array with the names of all custom headers.*/
+- (NSArray * /* NSString */) allExtraHeadersNames;
+
+/** Extracted subject (also remove square brackets).*/
+- (NSString *) extractedSubject;
+
+/** Extracted subject (don't remove square brackets).*/
+- (NSString *) partialExtractedSubject;
+
+/** Fill the header using the given RFC 822 data.*/
+- (void) importHeadersData:(NSData *)data;
+
+/** Returns a header that can be used as a base for a reply message.*/
+- (MCOMessageHeader *) replyHeaderWithExcludedRecipients:(NSArray * /* MCOAddress */)excludedRecipients;
+
+/** Returns a header that can be used as a base for a reply all message.*/
+- (MCOMessageHeader *) replyAllHeaderWithExcludedRecipients:(NSArray * /* MCOAddress */)excludedRecipients;
+
+/** Returns a header that can be used as a base for a forward message.*/
+- (MCOMessageHeader *) forwardHeader;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageParser.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageParser.h
new file mode 100644
index 0000000000000000000000000000000000000000..6bbed0be9955c16acb2116ea9d46439eb4891e00
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessageParser.h
@@ -0,0 +1,57 @@
+//
+//  MCOMessageParser.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEPARSER_H
+
+#define MAILCORE_MCOMESSAGEPARSER_H
+
+/**
+ This class implements a parsed message.
+ When the full content of a message has been fetched using POP or IMAP,
+ you need to parse it.
+*/
+
+#import <MailCore/MCOAbstractMessage.h>
+
+@protocol MCOHTMLRendererDelegate;
+
+@interface MCOMessageParser : MCOAbstractMessage
+
+/** returns a parsed message from the given RFC 822 data.*/
++ (MCOMessageParser *) messageParserWithData:(NSData *)data;
+
+/** data is the RFC 822 formatted message.*/
+- (id) initWithData:(NSData *)data;
+- (void) dealloc;
+
+/** It's the main part of the message. It can be MCOMessagePart, MCOMultipart or MCOAttachment.*/
+- (MCOAbstractPart *) mainPart;
+
+/** data of the RFC 822 formatted message. It's the input of the parser.*/
+- (NSData *) data;
+
+/** HTML rendering of the message to be displayed in a web view. delegate can be nil.*/
+- (NSString *) htmlRenderingWithDelegate:(id <MCOHTMLRendererDelegate>)delegate;
+
+/** HTML rendering of the body of the message to be displayed in a web view.*/
+- (NSString *) htmlBodyRendering;
+
+/** Text rendering of the message.*/
+- (NSString *) plainTextRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRenderingAndStripWhitespace:(BOOL)stripWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessagePart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..5098e35f02ede1002af74ecb6ef67cf386a6e16d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMessagePart.h
@@ -0,0 +1,21 @@
+//
+//  MessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEPART_H
+
+#define MAILCORE_MCOMESSAGEPART_H
+
+#import <MailCore/MCOAbstractMessagePart.h>
+
+/** Message part parsed from RFC 822 message data. */
+
+@interface MCOMessagePart : MCOAbstractMessagePart <NSCopying>
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMultipart.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..1b97a13f27a6784232c350013d44664ca3b9f3ba
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOMultipart.h
@@ -0,0 +1,21 @@
+//
+//  MCOMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMULTIPART_H
+
+#define MAILCORE_MCOMULTIPART_H
+
+#import <MailCore/MCOAbstractMultipart.h>
+
+/** Multipart parsed from RFC 822 message data. */
+
+@interface MCOMultipart : MCOAbstractMultipart
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..71979dfa71ee75a55d89f35dfc17a5f8a2089394
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTP.h
@@ -0,0 +1,23 @@
+//
+//  MCONNTP.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTP_H
+
+#define MAILCORE_MCONNTP_H
+
+#include <MailCore/MCONNTPSession.h>
+#include <MailCore/MCONNTPOperation.h>
+#include <MailCore/MCONNTPFetchHeaderOperation.h>
+#include <MailCore/MCONNTPFetchArticleOperation.h>
+#include <MailCore/MCONNTPFetchAllArticlesOperation.h>
+#include <MailCore/MCONNTPListNewsgroupsOperation.h>
+#include <MailCore/MCONNTPFetchOverviewOperation.h>
+#include <MailCore/MCONNTPFetchServerTimeOperation.h>
+#include <MailCore/MCONNTPGroupInfo.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPDisconnectOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPDisconnectOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d8986bb6bb3d18904f1dbdfb1a11c1b55c1c3f3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPDisconnectOperation.h
@@ -0,0 +1,21 @@
+//
+//  MCONNTPDisconnectOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPDICONNECTOPERATION_H
+
+#define MAILCORE_MCONNTPDICONNECTOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/* The class is used to perform a disconnect operation. */
+@interface MCONNTPDisconnectOperation : NSObject
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..022ce0592611bf5abacc43246a0f655eaac38fec
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCONNTPFetchAllArticlesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHARTICLESOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHARTICLESOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */
+@interface MCONNTPFetchAllArticlesOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `articles` will be an index set of article numbers.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `articles` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable articles))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..170f594b771ed2c09781953204f76626869d8c09
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCONNTPFetchArticleOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHARTICLEOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHARTICLEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/** Fetch a message from NNTP3 */
+
+typedef void (^MCONNTPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchArticleOperation : MCONNTPOperation
+
+/** This block will be called as data is downloaded from the network */
+@property (nonatomic, copy) MCONNTPOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `data` will contain the message data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `data` will be nil
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable messageData))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d23c278c503a8bed179277b5e993138b3270e1f3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCONNTPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCONNTPFETCHHEADEROPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/** 
+ This is an asynchronous operation that will fetch the header of a message.
+ @See MCONNTPSession
+ */
+
+@class MCOMessageHeader;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchHeaderOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `header` will contain the message header
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `header` will be nil
+ */
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageHeader * __nullable header))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..93a0b31f0191fa1329735e84793222c5e6bc1bd3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCONNTPFetchOverviewOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHOVERVIEWOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHOVERVIEWOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchOverviewOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `messages` will be an array of MCOMessageHeaders
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `messages` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOMessageHeader */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..38801810ea8bd3b6460cd87d49588cf7b6024f5f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCONNTPFetchServerTimeOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */
+@interface MCONNTPFetchServerTimeOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `date` will be the server's date and time as an NSDate.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `date` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSDate * __nullable date))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPGroupInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPGroupInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..e34445a9e0184815fdf6f92b341a39bb0472aa39
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPGroupInfo.h
@@ -0,0 +1,27 @@
+//
+//  MCONNTPGroupInfo.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPGROUPINFO_H
+
+#define MAILCORE_MCONNTPGROUPINFO_H
+
+#import <Foundation/Foundation.h>
+
+/** This is information of a message fetched by MCONNTPListNewsgroupsOperation.*/
+
+@interface MCONNTPGroupInfo : NSObject <NSCopying>
+
+/** The name of the news group. */
+@property (nonatomic, copy) NSString *name;
+
+/** The number of messages in the news group. */
+@property (nonatomic, assign) unsigned int messageCount;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9cba21d6fe07c031c5dcc71ccb6183091261d16f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCONNTPListNewsgroupsOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPLISTNEWSGROUPSOPERATION_H
+
+#define MAILCORE_MCONNTPLISTNEWSGROUPSOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPListNewsgroupsOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `messages` will be an array of MCONNTPGroupInfo
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `messages` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCONNTPGroupInfo */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bed8874e5f24ab3f53394fcda16821023a54f642
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCONNTPOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPOPERATION_H
+
+#define MAILCORE_MCONNTPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This is a generic asynchronous NNTP3 operation. 
+ @see MCONNTPSession
+ */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h,
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..29fe18affe96aafdfce3640a5d65ec3d7ab90879
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONNTPSession.h
@@ -0,0 +1,207 @@
+//
+//  MCONNTPSession.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPSESSION_H
+
+#define MAILCORE_MCONNTPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+@class MCONNTPFetchAllArticlesOperation;
+@class MCONNTPFetchHeaderOperation;
+@class MCONNTPFetchArticleOperation;
+@class MCONNTPListNewsgroupsOperation;
+@class MCONNTPFetchOverviewOperation;
+@class MCONNTPFetchServerTimeOperation;
+@class MCONNTPOperation;
+@class MCOIndexSet;
+
+/** This class implements asynchronous access to the NNTP protocol.*/
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPSession : NSObject
+
+/** This is the hostname of the NNTP server to connect to.*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the NNTP server to connect to.*/
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account.*/
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account.*/
+@property (nonatomic, copy) NSString * password;
+
+/** This is the encryption type to use.
+ See MCOConnectionType for more information.*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection.*/
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect.*/
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+ ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCONNTPSession about where it's called from.
+ It will make MCONNTPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCONNTPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+      ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will fetch the list of article numbers.
+ 
+ MCONNTPFetchAllArticlesOperation * op = [session fetchAllArticlesOperation:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, MCOIndexSet * articles) {
+ }];
+ */
+- (MCONNTPFetchAllArticlesOperation *) fetchAllArticlesOperation:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the header of the given message.
+ 
+ MCONNTPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, MCOMessageHeader * header) {
+ // header is the parsed header of the message.
+ }];
+ */
+- (MCONNTPFetchHeaderOperation *) fetchHeaderOperationWithIndex:(unsigned int)index inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch an overview (headers) for a set of messages.
+ 
+ MCONNTPFetchHeaderOperation * op = [session fetchOverviewOperationWithIndexes:indexes inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSArray * headers) {
+ // headers are the parsed headers of each part of the overview.
+ }];
+ */
+- (MCONNTPFetchOverviewOperation *)fetchOverviewOperationWithIndexes:(MCOIndexSet *)indexes inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the content of the given message.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithIndex:idx inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithIndex:(unsigned int)index inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the content of a message with the given messageID.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"<MessageID123@mail.google.com>"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithMessageID:(NSString *)messageID;
+
+/**
+ Obsolete. Use -fetchArticleOperationWithMessageID: instead.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"<MessageID123@mail.google.com>" inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithMessageID:(NSString *)messageID inGroup:(NSString * __nullable)group DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation that will fetch the server's date and time.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchServerDateOperation];
+ [op start:^(NSError * __nullable error, NSDate * serverDate) {
+ }];
+ */
+- (MCONNTPFetchServerTimeOperation *) fetchServerDateOperation;
+
+/**
+ Returns an operation that will list all available newsgroups.
+ 
+ MCONNTPListNewsgroupsOperation * op = [session listAllNewsgroupsOperation];
+ [op start:^(NSError * __nullable error, NSArray * subscribedGroups) {
+ }];
+ */
+- (MCONNTPListNewsgroupsOperation *) listAllNewsgroupsOperation;
+
+/**
+ Returns an operation that will list server-suggested default newsgroups.
+ 
+ MCONNTPListNewsgroupsOperation * op = [session listDefaultNewsgroupsOperation];
+ [op start:^(NSError * __nullable error, NSArray * defaultGroups) {
+ }];
+ */
+- (MCONNTPListNewsgroupsOperation *) listDefaultNewsgroupsOperation;
+
+/**
+ Returns an operation that will disconnect the session.
+ 
+ MCONNTPOperation * op = [session disconnectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCONNTPOperation *) disconnectOperation;
+
+/**
+ Returns an operation that will check whether the NNTP account is valid.
+ 
+ MCONNTPOperation * op = [session checkAccountOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCONNTPOperation *) checkAccountOperation;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONetService.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONetService.h
new file mode 100644
index 0000000000000000000000000000000000000000..af0f3d14f9561917bedbe698e4969a269146bb6b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCONetService.h
@@ -0,0 +1,48 @@
+//
+//  MCONetService.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+/**
+   This class provides a specific way to access a given service
+*/
+
+@interface MCONetService : NSObject <NSCopying>
+
+/**
+   The hostname of the server. [MCONetService hostnameWithEmail:] is recommended
+   instead as it can handle services with custom domains 
+*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** The port number of the service */
+@property (nonatomic, assign) unsigned int port;
+
+/** What kind of connection type is supported, like SSL, Start TLS, Plain etc. */
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
++ (MCONetService *) serviceWithInfo:(NSDictionary *)info;
+
+- (id) initWithInfo:(NSDictionary *)info;
+- (NSDictionary *) info;
+
+/** 
+    If the service uses a custom domain this will return the proper hostname based
+    off the email address
+*/
+- (NSString *) hostnameWithEmail:(NSString *)email;
+
+@end
+
+@interface MCONetService (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOObjectWrapper.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOObjectWrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..67cb45e17fd186af5a95f6999fd3f3bb89892379
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOObjectWrapper.h
@@ -0,0 +1,31 @@
+//
+//  MCOObjectWrapper.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOOBJECTWRAPPER_H
+
+#define MAILCORE_MCOOBJECTWRAPPER_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Object;
+}
+#endif
+
+@interface MCOObjectWrapper : NSObject
+
+#ifdef __cplusplus
+@property (nonatomic, assign) mailcore::Object * object;
+
++ (MCOObjectWrapper *) objectWrapperWithObject:(mailcore::Object *)object;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7e37ce34dbac65499fa5d38c84d7d27b79fc19f0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOOperation.h
@@ -0,0 +1,47 @@
+//
+//  MCOOperation.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 01/31/13.
+//  Copyright (c) 2013 __MyCompanyName__. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOOPERATION_H
+
+#define MAILCORE_MCOOPERATION_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOOperation : NSObject
+
+/** Returns whether the operation is cancelled.*/
+@property (readonly) BOOL isCancelled;
+
+/** Returns whether the operation should run even if it's cancelled.*/
+@property (nonatomic, assign) BOOL shouldRunWhenCancelled;
+
+/** The queue this operation dispatches the callback on.  Defaults to the main queue.
+ This property should be used only if there's performance issue creating or calling the callback
+ in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t callbackDispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t callbackDispatchQueue;
+#endif
+
+/** This methods is called on the main thread when the asynchronous operation is finished.
+ Needs to be overriden by subclasses.*/
+- (void) operationCompleted;
+
+/** Cancel the operation.*/
+- (void) cancel;
+
+@end
+
+@interface MCOOperation (MCOUnavailable)
+
+- (instancetype) init NS_UNAVAILABLE;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a75ff4ffdaf5deeaa4e19820d6575189445dc35
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOP.h
@@ -0,0 +1,20 @@
+//
+//  MCOPOP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/30/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOP_H
+
+#define MAILCORE_MCOPOP_H
+
+#import <MailCore/MCOPOPSession.h>
+#import <MailCore/MCOPOPOperation.h>
+#import <MailCore/MCOPOPFetchHeaderOperation.h>
+#import <MailCore/MCOPOPFetchMessageOperation.h>
+#import <MailCore/MCOPOPFetchMessagesOperation.h>
+#import <MailCore/MCOPOPMessageInfo.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..6df92232354c26d3b86ceea5f3516cf643477e0d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCOPOPFETCHHEADEROPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** 
+ This is an asynchronous operation that will fetch the header of a message.
+ @See MCOPOPSession
+*/
+
+@class MCOMessageHeader;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchHeaderOperation : MCOPOPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `header` will contain the message header
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `header` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageHeader * __nullable header))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a20469d47a93d43fe0c177f2e1f56fb3fd0e38cd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOFetchMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHMESSAGEOPERATION_H
+
+#define MAILCORE_MCOPOPFETCHMESSAGEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** Fetch a message from POP3 */
+
+typedef void (^MCOPOPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchMessageOperation : MCOPOPOperation
+
+/** This block will be called as data is downloaded from the network */
+@property (nonatomic, copy) MCOPOPOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `data` will contain the message data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `data` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable messageData))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..b38f0f08eda47b1286ebdf8c6f5e3a41b4282561
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOPOPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCOPOPFETCHMESSAGESOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** This is an asynchronous operation that will fetch the list of a messages on the POP3 account. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchMessagesOperation : MCOPOPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `messages` will be an array of MCOPOPMessageInfo
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `messages` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOPOPMessageInfo */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPMessageInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPMessageInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..416747f3839cde82f80c07ffbb8ea500da82afd6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPMessageInfo.h
@@ -0,0 +1,31 @@
+//
+//  MCOPOPMessageInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/30/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPMESSAGEINFO_H
+
+#define MAILCORE_MCOPOPMESSAGEINFO_H
+
+#import <Foundation/Foundation.h>
+
+/** This is information of a message fetched by MCOPOPFetchMessagesOperation.*/
+
+@interface MCOPOPMessageInfo : NSObject <NSCopying>
+
+/** This is the index of a given message.*/
+@property (nonatomic, assign) unsigned int index;
+
+/** This is the size of the given message.*/
+@property (nonatomic, assign) unsigned int size;
+
+/** This is the unique identifier of the message.
+ It can be used as a cache identifier.*/
+@property (nonatomic, copy) NSString * uid;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d08c9fa436a24f10622d1fb4e1b4824854aa9cf
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPNoopOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOPOPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPNOOPOPERATION_H
+
+#define MAILCORE_MCOPOPNOOPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** This is an asynchronous operation that will perform a No-Op on the POP3 account. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPNoopOperation : MCOPOPOperation
+
+/**
+ Starts the asynchronous noop operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in MCOConstants.h
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0937db76599dd62502b43a24f517cc22eaf606e7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCODeleteMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPOPERATION_H
+
+#define MAILCORE_MCOPOPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This is a generic asynchronous POP3 operation. 
+ @see MCOPOPSession
+*/
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..6daa2379d2aa8fa07af236ee17626e9e2c2449c9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOPOPSession.h
@@ -0,0 +1,179 @@
+//
+//  MCOPOPSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPSESSION_H
+
+#define MAILCORE_MCOPOPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+@class MCOPOPFetchMessagesOperation;
+@class MCOPOPFetchHeaderOperation;
+@class MCOPOPFetchMessageOperation;
+@class MCOPOPOperation;
+@class MCOIndexSet;
+
+/** This class implements asynchronous access to the POP3 protocol.*/
+
+@interface MCOPOPSession : NSObject
+
+/** This is the hostname of the POP3 server to connect to.*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the POP3 server to connect to.*/
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account.*/
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account.*/
+@property (nonatomic, copy) NSString * password;
+
+/** 
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/** This is the encryption type to use.
+See MCOConnectionType for more information.*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection.*/
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect.*/
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+   ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOPOPSession about where it's called from.
+ It will make MCOPOPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOPOPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will fetch the list of messages.
+
+     MCOPOPFetchMessagesOperation * op = [session fetchMessagesOperation];
+     [op start:^(NSError * __nullable error, NSArray * messages) {
+        // messages is an array of MCOPOPMessageInfo
+        // [info index] can be used as reference for a given message in the other operations.
+     }];
+*/
+- (MCOPOPFetchMessagesOperation *) fetchMessagesOperation;
+
+/**
+ Returns an operation that will fetch the header of the given message.
+
+     MCOPOPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx];
+     [op start:^(NSError * __nullable error, MCOMessageHeader * header) {
+          // header is the parsed header of the message.
+     }];
+*/
+- (MCOPOPFetchHeaderOperation *) fetchHeaderOperationWithIndex:(unsigned int)index;
+
+/**
+ Returns an operation that will fetch the content of the given message.
+
+     MCOPOPFetchMessageOperation * op = [session fetchMessageOperationWithIndex:idx];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+          // messageData is the RFC 822 formatted message data.
+     }];
+*/
+- (MCOPOPFetchMessageOperation *) fetchMessageOperationWithIndex:(unsigned int)index;
+
+/**
+ Returns an operation that will delete the given messages.
+ Will disconnect when finished.
+
+     MCOIndexSet * indexes = [MCOIndexSet indexSet];
+     [indexes addIndex:1];
+     [indexes addIndex:2];
+     [indexes addIndex:3];
+     MCOPOPOperation * op = [session deleteMessagesOperationWithIndexes:indexes];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOPOPOperation *) deleteMessagesOperationWithIndexes:(MCOIndexSet *)indexes;
+
+/**
+ Returns an operation that will disconnect the session.
+ 
+ MCOPOPOperation * op = [session disconnectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOPOPOperation *) disconnectOperation;
+
+/**
+ Returns an operation that will check whether the POP account is valid.
+
+     MCOPOPOperation * op = [session checkAccountOperation];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOPOPOperation *) checkAccountOperation;
+
+/**
+ Returns an operation that will perform a No-Op operation.
+ 
+ MCOPOPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOPOPOperation *) noopOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOProvider.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..3c7bf7cedb1d4f22f7667f6a0752e3a7e91b2608
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOProvider.h
@@ -0,0 +1,17 @@
+//
+//  MCOPROVIDER.h
+//  mailcore2
+//
+//  Created by Pushkar Singh on 5/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef _MAILCORE__MCOPROVIDER_h
+#define _MAILCORE__MCOPROVIDER_h
+
+#import <MailCore/MCONetService.h>
+#import <MailCore/MCOMailProvider.h>
+#import <MailCore/MCOMailProvidersManager.h>
+#import <MailCore/MCOAccountValidator.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORFC822.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORFC822.h
new file mode 100644
index 0000000000000000000000000000000000000000..ce894aa840b1e0744f303f58f2608eeb1287aa0b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORFC822.h
@@ -0,0 +1,19 @@
+//
+//  MCORFC822.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCORFC822_H
+
+#define MAILCORE_MCORFC822_H
+
+#import <MailCore/MCOAttachment.h>
+#import <MailCore/MCOMessageBuilder.h>
+#import <MailCore/MCOMessageParser.h>
+#import <MailCore/MCOMessagePart.h>
+#import <MailCore/MCOMultipart.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORange.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORange.h
new file mode 100644
index 0000000000000000000000000000000000000000..fa6d4ae9c3afc4976098018e3664d6b37c4325c0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCORange.h
@@ -0,0 +1,77 @@
+//
+//  MCORange.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCORANGE_H
+
+#define MAILCORE_MCORANGE_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+#include <MailCore/MCBaseTypes.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+@class MCOIndexSet;
+
+typedef struct {
+    /** first integer of the range.*/
+    uint64_t location;
+    
+    /** length of the range.*/
+    uint64_t length;
+} MCORange;
+
+/** Constants for an emtpy range.*/
+extern MCORange MCORangeEmpty;
+
+/** Returns a new range given a location and length.*/
+MCORange MCORangeMake(uint64_t location, uint64_t length);
+
+/** Returns an index set that is the result of sustracting a range from a range.*/
+MCOIndexSet * MCORangeRemoveRange(MCORange range1, MCORange range2);
+
+/** Returns an index set that is the result of the union a range from a range.*/
+MCOIndexSet * MCORangeUnion(MCORange range1, MCORange range2);
+
+#ifdef __cplusplus
+
+/** Returns a C++ range from an Objective-C range.*/
+mailcore::Range MCORangeToMCRange(MCORange range);
+
+/** Returns an Objective-C range from a C++ range.*/
+MCORange MCORangeWithMCRange(mailcore::Range range);
+
+#endif
+
+/** Returns the intersection of two ranges.*/
+MCORange MCORangeIntersection(MCORange range1, MCORange range2);
+
+/** Returns YES if two given ranges have an intersection.*/
+BOOL MCORangeHasIntersection(MCORange range1, MCORange range2);
+
+/** Returns left bound of a range.*/
+uint64_t MCORangeLeftBound(MCORange range);
+
+/** Returns right bound of a range.*/
+uint64_t MCORangeRightBound(MCORange range);
+
+/** Returns a serializable form (NSString) of a range */
+NSString * MCORangeToString(MCORange range);
+
+/** Create a range from a serializable form (NSString). */
+MCORange MCORangeFromString(NSString * rangeString);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..49d01de3160a82bde7434e85e6b7ea118f63776d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTP.h
@@ -0,0 +1,17 @@
+//
+//  MCOSMTP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTP_H
+
+#define MAILCORE_MCOSMTP_H
+
+#import <MailCore/MCOSMTPSession.h>
+#import <MailCore/MCOSMTPSendOperation.h>
+#import <MailCore/MCOSMTPOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPLoginOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPLoginOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..39715cc775bda1babf081f0595a672f8511d5201
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPLoginOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCOSMTPLoginOperation.h
+//  mailcore2
+//
+//  Created by Hironori Yoshida on 10/29/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPLOGINOPERATION_H
+
+#define MAILCORE_MCOSMTPLOGINOPERATION_H
+
+#import <MailCore/MCOSMTPOperation.h>
+
+/** This is an asynchronous operation that will perform a noop operation through SMTP. */
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPLoginOperation : MCOSMTPOperation
+
+/*
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in MCOConstants.h,
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..111f386ba7beef134d601938f870b404019d39b3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCOSMTPCheckAccountOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPOPERATION_H
+
+#define MAILCORE_MCOSMTPOPERATION_H
+
+#import <MailCore/MCOOperation.h>
+
+/** This is an asynchronous SMTP operation, used for sending messages. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSendOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSendOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9474c0efa599793d116880541990ab1fd4c4bbe7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSendOperation.h
@@ -0,0 +1,40 @@
+//
+//  MCOSMTPSendOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPSENDOPERATION_H
+
+#define MAILCORE_MCOSMTPSENDOPERATION_H
+
+#import <MailCore/MCOSMTPOperation.h>
+
+/** This is an asynchronous operation that will send a message through SMTP. */
+
+typedef void (^MCOSMTPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPSendOperation : MCOSMTPOperation
+
+/** This block will be called as the message is sent */
+@property (nonatomic, copy) MCOSMTPOperationProgressBlock progress;
+
+/* 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..31055335fdbff101f9742941dc74e9c1bb3fb780
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOSMTPSession.h
@@ -0,0 +1,179 @@
+//
+//  MCOSMTPSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPSESSION_H
+
+#define MAILCORE_MCOSMTPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+/** 
+ This class is used to create an SMTP connection and send messages
+
+ After calling a method that returns an operation you must call start: on the instance
+ to begin the operation.
+*/
+
+@class MCOSMTPSendOperation;
+@class MCOSMTPOperation;
+@class MCOAddress;
+
+@interface MCOSMTPSession : NSObject
+
+/** This is the hostname of the SMTP server to connect to. */
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the SMTP server to connect to. */
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account. */
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account. */
+@property (nonatomic, copy) NSString * password;
+
+/** This is the OAuth2 token. */
+@property (nonatomic, copy) NSString *OAuth2Token;
+
+/** 
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/**
+ This is the encryption type to use.
+ See MCOConnectionType for more information.
+*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection. */
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect. */
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ If set to YES, when sending the EHLO or HELO command, use IP address instead of hostname.
+ Default is NO.
+*/
+@property (nonatomic, assign, getter=isUseHeloIPEnabled) BOOL useHeloIPEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+   ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOSMTPSession about where it's called from.
+ It will make MCOSMTPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOSMTPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will perform a login.
+ 
+ MCOSMTPOperation * op = [session loginOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPOperation *) loginOperation;
+
+/**
+ Returns an operation that will send the given message through SMTP.
+ It will use the recipient set in the message data (To, Cc and Bcc).
+ It will also filter out Bcc from the content of the message.
+
+ Generate RFC 822 data using MCOMessageBuilder
+
+     MCOSMTPOperation * op = [session sendOperationWithData:rfc822Data];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOSMTPSendOperation *) sendOperationWithData:(NSData *)messageData;
+
+/**
+ Returns an operation that will send the given message through SMTP.
+ It will use the sender and recipient set from the parameters.
+ It will also filter out Bcc from the content of the message.
+ 
+ Generate RFC 822 data using MCOMessageBuilder
+ 
+ MCOSMTPOperation * op = [session sendOperationWithData:rfc822Data
+                                                  from:[MCOAddress addressWithMailbox:@"hoa@etpan.org"]
+                                            recipients:[NSArray arrayWithObject:[MCOAddress addressWithMailbox:@"laura@etpan.org"]]];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPSendOperation *) sendOperationWithData:(NSData *)messageData
+                                            from:(MCOAddress *)from
+                                      recipients:(NSArray *)recipients;
+
+/**
+ Returns an operation that will check whether the SMTP account is valid.
+
+     MCOSMTPOperation * op = [session checkAccountOperationWithFrom:[MCOAddress addressWithMailbox:@"hoa@etpan.org"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOSMTPOperation *) checkAccountOperationWithFrom:(MCOAddress *)from;
+
+/**
+ Returns an operation that will perform a No-Op.
+ 
+ MCOSMTPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPOperation *) noopOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOUtils.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOUtils.h
new file mode 100644
index 0000000000000000000000000000000000000000..3c36a6abbbdb77cdd5f1ce684ec6ed7b18056f2e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOUtils.h
@@ -0,0 +1,27 @@
+//
+//  MCOUtils.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOUTILS_H
+
+#define MAILCORE_MCOUTILS_H
+
+#import <MailCore/MCOObjectWrapper.h>
+#import <MailCore/NSData+MCO.h>
+#import <MailCore/NSString+MCO.h>
+#import <MailCore/NSDictionary+MCO.h>
+#import <MailCore/NSArray+MCO.h>
+#import <MailCore/NSObject+MCO.h>
+#import <MailCore/NSError+MCO.h>
+#import <MailCore/NSValue+MCO.h>
+#import <MailCore/MCOOperation.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOIndexSet.h>
+#import <MailCore/MCORange.h>
+#import <MailCore/NSIndexSet+MCO.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObjC.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObjC.h
new file mode 100644
index 0000000000000000000000000000000000000000..68d35f1e67d57e6c7dfb18de588508c7eb627d1f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObjC.h
@@ -0,0 +1,26 @@
+//
+//  MCObjC.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/27/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOBJC_H
+
+#define MAILCORE_MCOBJC_H
+
+#ifdef __OBJC__
+
+#import <MailCore/MCOUtils.h>
+#import <MailCore/MCOAbstract.h>
+#import <MailCore/MCOIMAP.h>
+#import <MailCore/MCORFC822.h>
+#import <MailCore/MCOPOP.h>
+#import <MailCore/MCOSMTP.h>
+#import <MailCore/MCONNTP.h>
+#import <MailCore/MCOProvider.h>
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObject.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObject.h
new file mode 100644
index 0000000000000000000000000000000000000000..83d6c1a7cd73f5e0625a94e9760f1f8c9ed74948
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCObject.h
@@ -0,0 +1,74 @@
+#ifndef MAILCORE_MCOBJECT_H
+
+#define MAILCORE_MCOBJECT_H
+
+#include <pthread.h>
+#if __APPLE__
+#include <dispatch/dispatch.h>
+#include <libkern/OSAtomic.h>
+#endif
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    extern bool zombieEnabled;
+    
+    class String;
+    class HashMap;
+    
+    class MAILCORE_EXPORT Object {
+    public:
+        Object();
+        virtual ~Object();
+        
+        virtual int retainCount();
+        virtual Object * retain();
+        virtual void release();
+        virtual Object * autorelease();
+        virtual String * description();
+        virtual String * className();
+        
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        
+        // optional
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        typedef void (Object::*Method) (void *);
+        virtual void performMethod(Method method, void * context);
+        virtual void performMethodOnMainThread(Method method, void * context, bool waitUntilDone = false);
+        virtual void performMethodAfterDelay(Method method, void * context, double delay);
+#if __APPLE__
+        virtual void performMethodOnDispatchQueue(Method method, void * context, void * targetDispatchQueue, bool waitUntilDone = false);
+        virtual void performMethodOnDispatchQueueAfterDelay(Method method, void * context, void * targetDispatchQueue, double delay);
+        virtual void cancelDelayedPerformMethodOnDispatchQueue(Method method, void * context, void * targetDispatchQueue);
+#endif
+        virtual void cancelDelayedPerformMethod(Method method, void * context);
+        
+        // serialization utils
+        static void registerObjectConstructor(const char * className, void * (* objectConstructor)(void));
+        static Object * objectWithSerializable(HashMap * serializable);
+        
+    public: // private
+        
+    private:
+#if __APPLE__
+        OSSpinLock mLock;
+#else
+        pthread_mutex_t mLock;
+#endif
+        int mCounter;
+        void init();
+        static void initObjectConstructors();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ee8b2f4c81b1fa27094ca979bb83c1509a44bd1
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperation.h
@@ -0,0 +1,59 @@
+#ifndef MAILCORE_MCOPERATION_H
+
+#define MAILCORE_MCOPERATION_H
+
+#include <pthread.h>
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class OperationCallback;
+    
+    class MAILCORE_EXPORT Operation : public Object {
+    public:
+        Operation();
+        virtual ~Operation();
+        
+        virtual void setCallback(OperationCallback * callback);
+        virtual OperationCallback * callback();
+        
+        virtual void cancel();
+        virtual bool isCancelled();
+        
+        // Will be called on main thread.
+        virtual void beforeMain();
+        
+        virtual void main();
+        
+        // Will be called on main thread.
+        virtual void afterMain();
+        
+        virtual void start();
+        
+#ifdef __APPLE__
+        virtual void setCallbackDispatchQueue(dispatch_queue_t callbackDispatchQueue);
+        virtual dispatch_queue_t callbackDispatchQueue();
+#endif
+        void performMethodOnCallbackThread(Method method, void * context, bool waitUntilDone = false);
+        
+        virtual bool shouldRunWhenCancelled();
+        virtual void setShouldRunWhenCancelled(bool shouldRunWhenCancelled);
+        
+    private:
+        OperationCallback * mCallback;
+        bool mCancelled;
+        bool mShouldRunWhenCancelled;
+        pthread_mutex_t mLock;
+#ifdef __APPLE__
+        dispatch_queue_t mCallbackDispatchQueue;
+#endif
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..425b1e9959c1f18c3a3c28d1fb19dc9467ac649a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCOPERATIONCALLBACK_H
+
+#define MAILCORE_MCOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Operation;
+    
+    class MAILCORE_EXPORT OperationCallback {
+    public:
+        virtual void operationFinished(Operation * op) {}
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationQueue.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationQueue.h
new file mode 100644
index 0000000000000000000000000000000000000000..1e8e48445d3c6a8ef7fa6aafa1a91222d3eaf296
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCOperationQueue.h
@@ -0,0 +1,68 @@
+#ifndef MAILCORE_MCOPERATIONQUEUE_H
+
+#define MAILCORE_MCOPERATIONQUEUE_H
+
+#include <pthread.h>
+#include <semaphore.h>
+#include <MailCore/MCObject.h>
+#include <MailCore/MCLibetpanTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Operation;
+    class OperationQueueCallback;
+    class Array;
+    
+    class MAILCORE_EXPORT OperationQueue : public Object {
+    public:
+        OperationQueue();
+        virtual ~OperationQueue();
+        
+        virtual void addOperation(Operation * op);
+        virtual void cancelAllOperations();
+        
+        virtual unsigned int count();
+        
+        virtual void setCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * callback();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+        
+    private:
+        Array * mOperations;
+        pthread_t mThreadID;
+        bool mStarted;
+        struct mailsem * mOperationSem;
+        struct mailsem * mStartSem;
+        struct mailsem * mStopSem;
+        pthread_mutex_t mLock;
+        bool mWaiting;
+        struct mailsem * mWaitingFinishedSem;
+        bool mQuitting;
+        OperationQueueCallback * mCallback;
+#if __APPLE__
+        dispatch_queue_t mDispatchQueue;
+#endif
+        bool _pendingCheckRunning;
+        
+        void startThread();
+        static void runOperationsOnThread(OperationQueue * queue);
+        void runOperations();
+        void beforeMain(Operation * op);
+        void callbackOnMainThread(Operation * op);
+        void checkRunningOnMainThread(void * context);
+        void checkRunningAfterDelay(void * context);
+        void stoppedOnMainThread(void * context);
+        void performOnCallbackThread(Operation * op, Method method, void * context, bool waitUntilDone);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..db17430acb50c3737aae02c96e3680269fee9b86
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOP.h
@@ -0,0 +1,9 @@
+#ifndef MAILCORE_MCPOP_H
+
+#define MAILCORE_MCPOP_H
+
+#include <MailCore/MCPOPMessageInfo.h>
+#include <MailCore/MCPOPProgressCallback.h>
+#include <MailCore/MCPOPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..7dfe79316a01aabc3162036cf71eace16c2d82a6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPAsyncSession.h
@@ -0,0 +1,104 @@
+//
+//  MCPopAsyncSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPASYNCSESSION_H
+
+#define MAILCORE_MCPOPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPOperation;
+    class POPSession;
+    class POPFetchHeaderOperation;
+    class POPFetchMessageOperation;
+    class POPDeleteMessagesOperation;
+    class POPFetchMessagesOperation;
+    class POPOperationQueueCallback;
+    class POPConnectionLogger;
+    
+    class MAILCORE_EXPORT POPAsyncSession : public Object {
+    public:
+        POPAsyncSession();
+        virtual ~POPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * login);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual POPFetchMessagesOperation * fetchMessagesOperation();
+        
+        virtual POPFetchHeaderOperation * fetchHeaderOperation(unsigned int index);
+        
+        virtual POPFetchMessageOperation * fetchMessageOperation(unsigned int index);
+        
+        // Will disconnect.
+        virtual POPOperation * deleteMessagesOperation(IndexSet * indexes);
+        
+        virtual POPOperation * disconnectOperation();
+        
+        virtual POPOperation * checkAccountOperation();
+        
+        virtual POPOperation * noopOperation();
+        
+    private:
+        POPSession * mSession;
+        OperationQueue * mQueue;
+        POPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        POPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+    public: // private
+        virtual void runOperation(POPOperation * operation);
+        virtual POPSession * session();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..c2c3dee80b5206c56caa244b86fc6c3a2ffb4f37
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCPOPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCPOPFETCHHEADEROPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT POPFetchHeaderOperation : public POPOperation {
+    public:
+        POPFetchHeaderOperation();
+        virtual ~POPFetchHeaderOperation();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual MessageHeader * header();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        unsigned int mMessageIndex;
+        MessageHeader * mHeader;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessageOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..23fa1e8955b4f84ca7f462bc4ab606c6029a9ba9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessageOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCPOPFetchMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHMESSAGEOPERATION_H
+
+#define MAILCORE_MCPOPFETCHMESSAGEOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    class MAILCORE_EXPORT POPFetchMessageOperation : public POPOperation {
+    public:
+        POPFetchMessageOperation();
+        virtual ~POPFetchMessageOperation();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        unsigned int mMessageIndex;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7eb797b039719d57afe59d1db45a54539b59ed98
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCPOPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCPOPFETCHMESSAGESOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPFetchMessagesOperation : public POPOperation {
+    public:
+        POPFetchMessagesOperation();
+        virtual ~POPFetchMessagesOperation();
+        
+        virtual Array * /* POPMessageInfo */ messages();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Array * /* POPMessageInfo */ mMessages;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPMessageInfo.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPMessageInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..6d70fe301ad52925a1ed09f87801513a47c05fd7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPMessageInfo.h
@@ -0,0 +1,42 @@
+#ifndef MAILCORE_MCPOPMESSAGEINFO_H
+
+#define MAILCORE_MCPOPMESSAGEINFO_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPMessageInfo : public Object {
+    public:
+        POPMessageInfo();
+        virtual ~POPMessageInfo();
+        
+        virtual void setIndex(unsigned int index);
+        virtual unsigned int index();
+        
+        virtual void setSize(unsigned int size);
+        virtual unsigned int size();
+        
+        virtual void setUid(String * uid);
+        virtual String * uid();
+        
+    public: // subclass behavior
+        POPMessageInfo(POPMessageInfo * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        unsigned int mIndex;
+        unsigned int mSize;
+        String * mUid;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..cc040c08a8905acf333dd90e6eda509a0da0f578
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPNoopOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCPOPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPNOOPOPERATION_H
+
+#define MAILCORE_MCPOPNOOPOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPNoopOperation : public POPOperation {
+    public:
+        POPNoopOperation();
+        virtual ~POPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..652e4a4bf121292b0117688ac8234397d8786919
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperation.h
@@ -0,0 +1,53 @@
+//
+//  MCPOPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPOPERATION_H
+
+#define MAILCORE_MCPOPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCPOPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPAsyncSession;
+    class POPOperationCallback;
+    
+    class MAILCORE_EXPORT POPOperation : public Operation, public POPProgressCallback {
+    public:
+        POPOperation();
+        virtual ~POPOperation();
+        
+        virtual void setSession(POPAsyncSession * session);
+        virtual POPAsyncSession * session();
+        
+        virtual void setPopCallback(POPOperationCallback * callback);
+        virtual POPOperationCallback * popCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        POPAsyncSession * mSession;
+        POPOperationCallback * mPopCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(POPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..60714b883714a9fb4e07da522358c29032f4833b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCPOPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCPOPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPOperation;
+    
+    class MAILCORE_EXPORT POPOperationCallback {
+    public:
+        virtual void bodyProgress(POPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..cdee93325ea4de47aa3f2dfbe313a71f60fd0331
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCPOPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCPOPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class POPSession;
+    
+    class MAILCORE_EXPORT POPProgressCallback {
+    public:
+        virtual void bodyProgress(POPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..eda323c04841505d4567676f0247ebe788fb640a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCPOPSession.h
@@ -0,0 +1,100 @@
+#ifndef MAILCORE_MCPOPSESSION_H
+
+#define MAILCORE_MCPOPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPMessageInfo;
+    class POPProgressCallback;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT POPSession : public Object {
+    public:
+        POPSession();
+        virtual ~POPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(ErrorCode * pError);
+        
+        virtual void noop(ErrorCode * pError);
+        
+        Array * /* POPMessageInfo */ fetchMessages(ErrorCode * pError);
+        
+        MessageHeader * fetchHeader(unsigned int index, ErrorCode * pError);
+        MessageHeader * fetchHeader(POPMessageInfo * msg, ErrorCode * pError);
+        
+        Data * fetchMessage(unsigned int index, POPProgressCallback * callback, ErrorCode * pError);
+        Data * fetchMessage(POPMessageInfo * msg, POPProgressCallback * callback, ErrorCode * pError);
+        
+        void deleteMessage(unsigned int index, ErrorCode * pError);
+        void deleteMessage(POPMessageInfo * msg, ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        time_t mTimeout;
+        
+        mailpop3 * mPop;
+        POPCapability mCapabilities;
+        POPProgressCallback * mProgressCallback;
+        int mState;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        bool checkCertificate();
+        static void body_progress(size_t current, size_t maximum, void * context);
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        void loginIfNeeded(ErrorCode * pError);
+        void listIfNeeded(ErrorCode * pError);
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCProvider.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..ad8189b25b5ef045aeee6a6e2b3d60f6f3af250a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCProvider.h
@@ -0,0 +1,18 @@
+//
+//  MCProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPROVIDER_H
+
+#define MAILCORE_MCPROVIDER_H
+
+#include <MailCore/MCMailProvidersManager.h>
+#include <MailCore/MCMailProvider.h>
+#include <MailCore/MCNetService.h>
+#include <MailCore/MCAccountValidator.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRFC822.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRFC822.h
new file mode 100644
index 0000000000000000000000000000000000000000..66c4d40830b2ab7e559736baacc8ffeb114d0477
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRFC822.h
@@ -0,0 +1,11 @@
+#ifndef MAILCORE_MCRFC822_H
+
+#define MAILCORE_MCRFC822_H
+
+#include <MailCore/MCAttachment.h>
+#include <MailCore/MCMessageBuilder.h>
+#include <MailCore/MCMessageParser.h>
+#include <MailCore/MCMessagePart.h>
+#include <MailCore/MCMultipart.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRange.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRange.h
new file mode 100644
index 0000000000000000000000000000000000000000..9ec4f56809f6d1f179be788bd50058280849821e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRange.h
@@ -0,0 +1,60 @@
+#ifndef MAILCORE_MCRANGE_H
+
+#define MAILCORE_MCRANGE_H
+
+#ifdef __cplusplus
+
+#include <inttypes.h>
+
+#include <MailCore/MCUtils.h>
+
+#ifndef UINT64_MAX
+# define UINT64_MAX 18446744073709551615ULL
+#endif
+
+namespace mailcore {
+    
+    class IndexSet;
+    class String;
+    
+    // infinite length : UINT64_MAX
+    // empty range : location = UINT64_MAX
+    struct Range {
+        uint64_t location;
+        uint64_t length;
+    };
+    
+    MAILCORE_EXPORT
+    extern Range RangeEmpty;
+    
+    MAILCORE_EXPORT
+    Range RangeMake(uint64_t location, uint64_t length);
+
+    MAILCORE_EXPORT
+    IndexSet * RangeRemoveRange(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    IndexSet * RangeUnion(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    Range RangeIntersection(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    bool RangeHasIntersection(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    uint64_t RangeLeftBound(Range range);
+
+    MAILCORE_EXPORT
+    uint64_t RangeRightBound(Range range);
+
+    MAILCORE_EXPORT
+    String * RangeToString(Range range);
+    
+    MAILCORE_EXPORT
+    Range RangeFromString(String * rangeString);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRenderer.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRenderer.h
new file mode 100644
index 0000000000000000000000000000000000000000..441b63b4d39e023b794bdea82b0f8fc637aaf438
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCRenderer.h
@@ -0,0 +1,17 @@
+//
+//  MCRenderer.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCRENDERER_H
+
+#define MAILCORE_MCRENDERER_H
+
+#include <MailCore/MCHTMLRendererCallback.h>
+#include <MailCore/MCDateFormatter.h>
+#include <MailCore/MCAddressDisplay.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTP.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..452e024ff5e2ed58b9158ab6fd4916d9df9d2347
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTP.h
@@ -0,0 +1,8 @@
+#ifndef MAILCORE_MCSMTP_H
+
+#define MAILCORE_MCSMTP_H
+
+#include <MailCore/MCSMTPProgressCallback.h>
+#include <MailCore/MCSMTPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..9084979785dfd9097c09bf6877e1e447d70ab72b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPAsyncSession.h
@@ -0,0 +1,99 @@
+#ifndef MAILCORE_MCSMTPASYNCSESSION_H
+
+#define MAILCORE_MCSMTPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageBuilder;
+    class SMTPOperation;
+    class SMTPSession;
+    class Address;
+    class SMTPOperationQueueCallback;
+    class SMTPConnectionLogger;
+    
+    class MAILCORE_EXPORT SMTPAsyncSession : public Object {
+    public:
+        SMTPAsyncSession();
+        virtual ~SMTPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setUseHeloIPEnabled(bool enabled);
+        virtual bool useHeloIPEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual SMTPOperation * loginOperation();
+        virtual SMTPOperation * sendMessageOperation(Data * messageData);
+        virtual SMTPOperation * sendMessageOperation(Address * from, Array * recipients,
+                                                     Data * messageData);
+        virtual SMTPOperation * checkAccountOperation(Address * from);
+        
+        virtual SMTPOperation * noopOperation();
+        
+        virtual SMTPOperation * disconnectOperation();
+
+    public: // private
+        virtual void runOperation(SMTPOperation * operation);
+        virtual SMTPSession * session();
+        virtual void tryAutomaticDisconnect();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+        
+    private:
+        SMTPSession * mSession;
+        OperationQueue * mQueue;
+        SMTPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        SMTPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+        virtual void tryAutomaticDisconnectAfterDelay(void * context);
+    };
+	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ad194367d777a78814bbf70758d4419caa4a3d80
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPNoopOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCSMTPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPNOOPOPERATION_H
+
+#define MAILCORE_MCSMTPNOOPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCSMTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT SMTPNoopOperation : public SMTPOperation {
+    public:
+        SMTPNoopOperation();
+        virtual ~SMTPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperation.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5978d3d6dc22b5aeaab6a84c96e7ab253f90e212
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperation.h
@@ -0,0 +1,52 @@
+//
+//  MCSMTPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPOPERATION_H
+
+#define MAILCORE_MCSMTPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCSMTPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class SMTPAsyncSession;
+    class SMTPOperationCallback;
+    
+    class MAILCORE_EXPORT SMTPOperation : public Operation, public SMTPProgressCallback {
+    public:
+        SMTPOperation();
+        virtual ~SMTPOperation();
+        
+        virtual void setSession(SMTPAsyncSession * session);
+        virtual SMTPAsyncSession * session();
+        
+        virtual void setSmtpCallback(SMTPOperationCallback * callback);
+        virtual SMTPOperationCallback * smtpCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        SMTPAsyncSession * mSession;
+        SMTPOperationCallback * mSmtpCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(SMTPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..a5cfdd84c4323c461569252c66515458ef6e0573
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCSMTPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCSMTPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class SMTPOperation;
+    
+    class MAILCORE_EXPORT SMTPOperationCallback {
+    public:
+        virtual void bodyProgress(SMTPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..7cc524a26a5eae14c116c4231b4cfc42fb271ddf
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCSMTPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCSMTPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class SMTPSession;
+    
+    class MAILCORE_EXPORT SMTPProgressCallback {
+    public:
+        virtual void bodyProgress(SMTPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPSession.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..05571bfb15d2e14a319290481e863143cd12891c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSMTPSession.h
@@ -0,0 +1,111 @@
+#ifndef MAILCORE_MCSMTPSESSION_H
+
+#define MAILCORE_MCSMTPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Address;
+    class SMTPProgressCallback;
+    class MessageBuilder;
+    
+    class MAILCORE_EXPORT SMTPSession : public Object {
+    public:
+        SMTPSession();
+        virtual ~SMTPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setUseHeloIPEnabled(bool enabled);
+        virtual bool useHeloIPEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(Address * from, ErrorCode * pError);
+        
+        virtual void sendMessage(Data * messageData, SMTPProgressCallback * callback, ErrorCode * pError);
+        virtual void sendMessage(Address * from, Array * /* Address */ recipients, Data * messageData,
+                                 SMTPProgressCallback * callback, ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+        virtual void noop(ErrorCode * pError);
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        time_t mTimeout;
+        bool mCheckCertificateEnabled;
+        bool mUseHeloIPEnabled;
+        bool mShouldDisconnect;
+        
+        mailsmtp * mSmtp;
+        SMTPProgressCallback * mProgressCallback;
+        int mState;
+        String * mLastSMTPResponse;
+        int mLastLibetpanError;
+        int mLastSMTPResponseCode;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        Data * dataWithFilteredBcc(Data * data);
+        static void body_progress(size_t current, size_t maximum, void * context);
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        bool checkCertificate();
+        
+        void sendMessage(MessageBuilder * msg, SMTPProgressCallback * callback, ErrorCode * pError);
+        
+    public: // private
+        virtual bool isDisconnected();
+        virtual void loginIfNeeded(ErrorCode * pError);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSet.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b477cc1142f39e39907219abeb0a407536407b9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSet.h
@@ -0,0 +1,49 @@
+#ifndef MAILCORE_CSET_H
+
+#define MAILCORE_CSET_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    class Array;
+    class HashMap;
+    
+    class MAILCORE_EXPORT Set : public Object {
+    public:
+        Set();
+        Set(Set * o);
+        
+        static Set * set();
+        static Set * setWithArray(Array * objects);
+        
+        virtual unsigned int count();
+        virtual void addObject(Object * obj);
+        virtual void removeObject(Object * obj);
+        virtual bool containsObject(Object * obj);
+        virtual Object * member(Object * obj);
+        
+        virtual Array * allObjects();
+        virtual void removeAllObjects();
+        virtual void addObjectsFromArray(Array * objects);
+        
+    public: // subclass behavior
+        virtual ~Set();
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        HashMap * mHash;
+        void init();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSizeFormatter.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSizeFormatter.h
new file mode 100644
index 0000000000000000000000000000000000000000..cfc8090fd29a859c962ee31ce30df678c6f8f368
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCSizeFormatter.h
@@ -0,0 +1,30 @@
+//
+//  MCSizeFormatter.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSIZEFORMATTER_H
+
+#define MAILCORE_MCSIZEFORMATTER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT SizeFormatter : public Object {
+    public:
+        static String * stringWithSize(unsigned int size);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCString.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCString.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ee2ad65150921940f5821ec3845ea06e0ed76cb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCString.h
@@ -0,0 +1,152 @@
+#ifndef MAILCORE_MCSTR_H
+
+#define MAILCORE_MCSTR_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCRange.h>
+#include <MailCore/MCICUTypes.h>
+
+#include <stdlib.h>
+#include <stdarg.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Data;
+    class Array;
+    
+    class MAILCORE_EXPORT String : public Object {
+    public:
+        String(const UChar * unicodeChars = NULL);
+        String(const UChar * unicodeChars, unsigned int length);
+        String(const char * UTF8Characters);
+        String(Data * data, const char * charset);
+        String(const char * bytes, unsigned int length, const char * charset = NULL);
+        virtual ~String();
+        
+        static String * string();
+        static String * stringWithUTF8Format(const char * format, ...);
+        static String * stringWithVUTF8Format(const char * format, va_list ap);
+        static String * stringWithUTF8Characters(const char * UTF8Characters);
+        static String * stringWithCharacters(const UChar * characters);
+        static String * stringWithCharacters(const UChar * characters, unsigned int length);
+        static String * stringWithData(Data * data, const char * charset = NULL);
+        
+        virtual const UChar * unicodeCharacters();
+        virtual const char * UTF8Characters();
+        virtual unsigned int length();
+        
+        virtual void appendString(String * otherString);
+        virtual void appendUTF8Format(const char * format, ...);
+        virtual void appendCharacters(const UChar * unicodeCharacters);
+        virtual void appendCharactersLength(const UChar * unicodeCharacters, unsigned int length);
+        virtual void appendUTF8Characters(const char * UTF8Characters);
+        virtual void setString(String * otherString);
+        virtual void setUTF8Characters(const char * UTF8Characters);
+        virtual void setCharacters(const UChar * unicodeCharacters);
+        
+        virtual String * stringByAppendingString(String * otherString);
+        virtual String * stringByAppendingUTF8Format(const char * format, ...);
+        virtual String * stringByAppendingUTF8Characters(const char * UTF8Characters);
+        virtual String * stringByAppendingCharacters(const UChar * unicodeCharacters);
+        virtual String * stringByAppendingPathComponent(String * component);
+        virtual String * stringByDeletingLastPathComponent();
+        virtual String * stringByDeletingPathExtension();
+
+        virtual int compare(String * otherString);
+        virtual int caseInsensitiveCompare(String * otherString);
+        virtual String * lowercaseString();
+        virtual String * uppercaseString();
+        
+        virtual UChar characterAtIndex(unsigned int idx);
+        virtual void deleteCharactersInRange(Range range);
+        virtual unsigned int replaceOccurrencesOfString(String * occurrence, String * replacement);
+        virtual int locationOfString(String * occurrence);
+        virtual int lastLocationOfString(String * occurrence);
+
+        virtual Array * componentsSeparatedByString(String * separator);
+        
+        virtual bool isEqualCaseInsensitive(String * otherString);
+        
+        // Additions
+        static String * stringByDecodingMIMEHeaderValue(const char * phrase);
+        virtual Data * encodedAddressDisplayNameValue();
+        virtual Data * encodedMIMEHeaderValue();
+        virtual Data * encodedMIMEHeaderValueForSubject();
+        virtual String * extractedSubject();
+        virtual String * extractedSubjectAndKeepBracket(bool keepBracket);
+        static String * uuidString();
+        
+        virtual bool hasSuffix(String * suffix);
+        virtual bool hasPrefix(String * prefix);
+        
+        virtual String * substringFromIndex(unsigned int idx);
+        virtual String * substringToIndex(unsigned int idx);
+        virtual String * substringWithRange(Range range);
+        
+        virtual String * flattenHTML();
+        virtual String * flattenHTMLAndShowBlockquote(bool showBlockquote);
+        virtual String * flattenHTMLAndShowBlockquoteAndLink(bool showBlockquote, bool showLink);
+        
+        virtual String * stripWhitespace();
+        
+        virtual String * lastPathComponent();
+        virtual String * pathExtension();
+        virtual Data * dataUsingEncoding(const char * charset = NULL);
+        
+        virtual const char * fileSystemRepresentation();
+        static String * stringWithFileSystemRepresentation(const char * filename);
+        
+        int intValue();
+        unsigned int unsignedIntValue();
+        long longValue();
+        unsigned long unsignedLongValue();
+        long long longLongValue();
+        unsigned long long unsignedLongLongValue();
+        double doubleValue();
+        
+        virtual Data * mUTF7EncodedData();
+        static String * stringWithMUTF7Data(Data * data);
+        virtual String * mUTF7EncodedString();
+        virtual String * mUTF7DecodedString();
+        
+        virtual String * htmlEncodedString();
+        virtual String * cleanedHTMLString();
+        virtual String * htmlMessageContent();
+        
+        virtual Data * decodedBase64Data();
+        
+        virtual String * urlDecodedString();
+        virtual String * urlEncodedString();
+
+    public: // private
+        static String * uniquedStringWithUTF8Characters(const char * UTF8Characters);
+        
+    public: // subclass behavior
+        String(String * otherString);
+        virtual String * description();
+        virtual Object * copy();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        UChar * mUnicodeChars;
+        unsigned int mLength;
+        unsigned int mAllocated;
+        void allocate(unsigned int length, bool force = false);
+        void reset();
+        int compareWithCaseSensitive(String * otherString, bool caseSensitive);
+        void appendBytes(const char * bytes, unsigned int length, const char * charset);
+        void appendUTF8CharactersLength(const char * UTF8Characters, unsigned int length);
+    };
+    
+    MAILCORE_EXPORT
+    void setICUDataDirectory(String * directory);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCUtils.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCUtils.h
new file mode 100644
index 0000000000000000000000000000000000000000..ef8f3cd3791c6a2b52084f796c574b066e59dff0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCUtils.h
@@ -0,0 +1,86 @@
+#ifndef MAILCORE_MCUTILS_H
+
+#define MAILCORE_MCUTILS_H
+
+#ifdef __cplusplus
+
+#define MC_SAFE_RETAIN(o) ((o) != NULL ? (o)->retain() : NULL)
+#define MC_SAFE_COPY(o) ((o) != NULL ? (o)->copy() : NULL)
+
+#define MC_SAFE_RELEASE(o) \
+    do { \
+        if ((o) != NULL) { \
+            (o)->release(); \
+            (o) = NULL; \
+        } \
+    } while (0)
+
+#define MC_SAFE_REPLACE_RETAIN(type, mField, value) \
+    do { \
+        MC_SAFE_RELEASE(mField); \
+        mField = (type *) MC_SAFE_RETAIN(value); \
+    } while (0)
+
+#define MC_SAFE_REPLACE_COPY(type, mField, value) \
+    do { \
+        MC_SAFE_RELEASE(mField); \
+        mField = (type *) MC_SAFE_COPY(value); \
+    } while (0)
+
+#define MCSTR(str) mailcore::String::uniquedStringWithUTF8Characters("" str "")
+
+#define MCUTF8(str) MCUTF8DESC(str)
+#define MCUTF8DESC(obj) ((obj) != NULL ? (obj)->description()->UTF8Characters() : NULL )
+
+#define MCLOCALIZEDSTRING(key) key
+
+#define MCISKINDOFCLASS(instance, class) (dynamic_cast<class *>(instance) != NULL)
+
+#endif
+
+#ifdef _MSC_VER
+#	ifdef MAILCORE_DLL
+#		define MAILCORE_EXPORT __declspec(dllexport)
+#	else
+#		define MAILCORE_EXPORT __declspec(dllimport)
+#   endif
+#else
+#	define MAILCORE_EXPORT
+#endif
+
+#ifdef __ANDROID_API__
+#if __ANDROID_API__ < 21
+#include <wchar.h>
+extern int               iswblank(wint_t);
+extern int vfwscanf(FILE*, const wchar_t*, va_list);
+extern int vswscanf(const wchar_t*, const wchar_t*, va_list);
+extern int vwscanf(const wchar_t*, va_list);
+extern float wcstof(const wchar_t*, wchar_t**);
+extern long double wcstold(const wchar_t*, wchar_t**);
+extern long long wcstoll(const wchar_t*, wchar_t**, int);
+extern unsigned long long wcstoull(const wchar_t*, wchar_t**, int);
+#endif
+#endif
+
+#ifdef __clang__
+
+#if __has_feature(attribute_analyzer_noreturn)
+#define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
+#else
+#define CLANG_ANALYZER_NORETURN
+#endif
+
+#define ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull))
+
+#else
+
+#define CLANG_ANALYZER_NORETURN
+#define ATTRIBUTE_RETURNS_NONNULL
+
+#endif
+
+#ifndef DEPRECATED_ATTRIBUTE
+#define DEPRECATED_ATTRIBUTE        __attribute__((deprecated))
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCValue.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCValue.h
new file mode 100644
index 0000000000000000000000000000000000000000..835cf6b6a45a6245eb41dfd1a3b60e198fe0721f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MCValue.h
@@ -0,0 +1,113 @@
+#ifndef MAILCORE_MCVALUE_H
+
+#define MAILCORE_MCVALUE_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    enum {
+        ValueTypeNone,
+        ValueTypeBool,
+        ValueTypeChar,
+        ValueTypeUnsignedChar,
+        ValueTypeShort,
+        ValueTypeUnsignedShort,
+        ValueTypeInt,
+        ValueTypeUnsignedInt,
+        ValueTypeLong,
+        ValueTypeUnsignedLong,
+        ValueTypeLongLong,
+        ValueTypeUnsignedLongLong,
+        ValueTypeFloat,
+        ValueTypeDouble,
+        ValueTypePointer,
+        ValueTypeData,
+    };
+    
+    class MAILCORE_EXPORT Value : public Object {
+    public:
+        virtual ~Value();
+        
+        static Value * valueWithBoolValue(bool value);
+        static Value * valueWithCharValue(char value);
+        static Value * valueWithUnsignedCharValue(unsigned char value);
+        static Value * valueWithShortValue(short value);
+        static Value * valueWithUnsignedShortValue(unsigned short value);
+        static Value * valueWithIntValue(int value);
+        static Value * valueWithUnsignedIntValue(unsigned int value);
+        static Value * valueWithLongValue(long value);
+        static Value * valueWithUnsignedLongValue(unsigned long value);
+        static Value * valueWithLongLongValue(long long value);
+        static Value * valueWithUnsignedLongLongValue(unsigned long long value);
+        static Value * valueWithFloatValue(float value);
+        static Value * valueWithDoubleValue(double value);
+        static Value * valueWithPointerValue(void * value);
+        static Value * valueWithData(const char * value, int length);
+        
+        virtual bool boolValue();
+        virtual char charValue();
+        virtual unsigned char unsignedCharValue();
+        virtual short shortValue();
+        virtual unsigned short unsignedShortValue();
+        virtual int intValue();
+        virtual unsigned int unsignedIntValue();
+        virtual long longValue();
+        virtual unsigned long unsignedLongValue();
+        virtual long long longLongValue();
+        virtual unsigned long long unsignedLongLongValue();
+        virtual float floatValue();
+        virtual double doubleValue();
+        virtual void * pointerValue();
+        virtual void dataValue(const char ** p_value, int * p_length);
+        
+    public: // subclass behavior
+        Value(Value * other);
+        virtual String * description();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        static void * createObject();
+        
+    private:
+        int mType;
+        union {
+            bool boolValue;
+            char charValue;
+            unsigned char unsignedCharValue;
+            short shortValue;
+            unsigned short unsignedShortValue;
+            int intValue;
+            unsigned int unsignedIntValue;
+            long longValue;
+            unsigned long unsignedLongValue;
+            long long longLongValue;
+            unsigned long long unsignedLongLongValue;
+            float floatValue;
+            double doubleValue;
+            void * pointerValue;
+            struct {
+                char * data;
+                int length;
+            } dataValue;
+        } mValue;
+        Value();
+        
+    public: // private
+        virtual int type();
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MailCore.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MailCore.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b0897f0148145818d001d6d1167082435e02467
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/MailCore.h
@@ -0,0 +1,17 @@
+//
+//  mailcore.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MAILCORE_H
+
+#define MAILCORE_MAILCORE_H
+
+#include <MailCore/MCCore.h>
+#include <MailCore/MCAsync.h>
+#include <MailCore/MCObjC.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSArray+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSArray+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd0cc6ad2d87b488b1f09d73c7497ef8a93bb45f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSArray+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSArray+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSARRAY_MCO_H
+
+#define MAILCORE_NSARRAY_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Array;
+}
+#endif
+
+@interface NSArray (MCO)
+
+#ifdef __cplusplus
++ (NSArray *) mco_arrayWithMCArray:(mailcore::Array *)array;
+
+- (mailcore::Array *) mco_mcArray;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSData+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSData+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..ddb09595d48242bcce8e5be562b118fbd895d158
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSData+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSData+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSDATA_MCO_H
+
+#define MAILCORE_NSDATA_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Data;
+}
+#endif
+
+@interface NSData (MCO)
+
+#ifdef __cplusplus
++ (NSData *) mco_dataWithMCData:(mailcore::Data *)cppData;
+
+- (mailcore::Data *) mco_mcData;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSDictionary+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSDictionary+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..e91fd21b4e5bb6ab3201c6668c0e509234b633ea
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSDictionary+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSDictionary+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSDICTIONARY_MCO_H
+
+#define MAILCORE_NSDICTIONARY_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class HashMap;
+}
+#endif
+
+@interface NSDictionary (MCO)
+
+#ifdef __cplusplus
++ (NSDictionary *) mco_dictionaryWithMCHashMap:(mailcore::HashMap *)hashmap;
+
+- (mailcore::HashMap *) mco_mcHashMap;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSError+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSError+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..027796ea821a1b6a135fa2e674efacb8da92b104
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSError+MCO.h
@@ -0,0 +1,19 @@
+//
+//  Created by mronge on 1/31/13.
+//
+
+#ifndef MAILCORE_NSERROR_MCO_H
+
+#define MAILCORE_NSERROR_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCMessageConstants.h>
+
+@interface NSError (MCO)
+#ifdef __cplusplus
++ (NSError *) mco_errorWithErrorCode:(mailcore::ErrorCode)code;
+#endif
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSIndexSet+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSIndexSet+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..66aa5229c3013b12eb1822138aacbf7c30b03595
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSIndexSet+MCO.h
@@ -0,0 +1,18 @@
+//
+//  NSIndexSet+MCO.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 9/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class MCOIndexSet;
+
+@interface NSIndexSet (MCO)
+
+/** Returns a MCOIndexSet from an NSIndexSet */
+- (MCOIndexSet *) mcoIndexSet;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSObject+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSObject+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..923cc2632c61abb5b56966a4431311937fc9f7df
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSObject+MCO.h
@@ -0,0 +1,109 @@
+//
+//  NSObject+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSOBJECT_MCO_H
+
+#define MAILCORE_NSOBJECT_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+#include <typeinfo>
+#endif
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Object;
+}
+#endif
+
+#define MCO_NATIVE_INSTANCE ((nativeType *) [self mco_mcObject])
+
+#define MCO_TO_OBJC(mcValue) \
+    [NSObject mco_objectWithMCObject:((mailcore::Object *) (mcValue))]
+
+#define MCO_FROM_OBJC(type, objcValue) \
+    ((type *) [(objcValue) mco_mcObject])
+
+#define MCO_OBJC_BRIDGE_SET(setter, mcValueType, objcValue) \
+    MCO_NATIVE_INSTANCE->setter((mcValueType *) [(objcValue) mco_mcObject])
+
+#define MCO_OBJC_BRIDGE_GET(getter) \
+    [NSObject mco_objectWithMCObject:MCO_NATIVE_INSTANCE->getter()]
+
+#define MCO_OBJC_SYNTHESIZE_TYPE(objcType, mcType, setter, getter) \
+- (objcType *) getter \
+{ \
+return MCO_OBJC_BRIDGE_GET(getter); \
+} \
+\
+- (void) setter:(objcType *)getter \
+{ \
+MCO_OBJC_BRIDGE_SET(setter, mcType, getter); \
+}
+
+#define MCO_OBJC_SYNTHESIZE(type, setter, getter) \
+    MCO_OBJC_SYNTHESIZE_TYPE(MCO ## type, mailcore::type, setter, getter)
+
+#define MCO_OBJC_SYNTHESIZE_SCALAR(objcType, mcType, setter, getter) \
+- (objcType) getter \
+{ \
+return (objcType) MCO_NATIVE_INSTANCE->getter(); \
+} \
+\
+- (void) setter:(objcType)getter \
+{ \
+MCO_NATIVE_INSTANCE->setter((mcType) getter); \
+}
+
+#define MCO_OBJC_SYNTHESIZE_STRING(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSString, mailcore::String, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_ARRAY(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSArray, mailcore::Array, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_DATA(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSData, mailcore::Data, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_HASHMAP(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSDictionary, mailcore::HashMap, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_BOOL(setter, getter) MCO_OBJC_SYNTHESIZE_SCALAR(BOOL, bool, setter, getter)
+
+#define MCO_OBJC_SYNTHESIZE_DATE(setter, getter) \
+- (NSDate *) getter \
+{ \
+    return [NSDate dateWithTimeIntervalSince1970:MCO_NATIVE_INSTANCE->getter()]; \
+} \
+\
+- (void) setter:(NSDate *)getter \
+{ \
+    MCO_NATIVE_INSTANCE->setter([getter timeIntervalSince1970]); \
+}
+
+#define MCO_SYNTHESIZE_NSCODING \
+- (id) initWithCoder:(NSCoder *)coder \
+{ \
+  mailcore::HashMap * serializable = MCO_FROM_OBJC(mailcore::HashMap, [coder decodeObjectForKey:@"info"]); \
+  self = MCO_TO_OBJC(mailcore::Object::objectWithSerializable(serializable)); \
+  [self retain]; \
+  return self; \
+} \
+\
+- (void) encodeWithCoder:(NSCoder *)coder \
+{ \
+    [coder encodeObject:MCO_TO_OBJC(MCO_FROM_OBJC(nativeType, self)->serializable()) forKey:@"info"]; \
+}
+
+@interface NSObject (MCO)
+
+#ifdef __cplusplus
++ (id) mco_objectWithMCObject:(mailcore::Object *)object;
+
+- (mailcore::Object *) mco_mcObject;
+#endif
+
+@end
+
+#ifdef __cplusplus
+extern void MCORegisterClass(Class aClass, const std::type_info * info);
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSString+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSString+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..71e99a440b631046f036b4ce1f80513a522a832f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSString+MCO.h
@@ -0,0 +1,41 @@
+//
+//  NSString+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSSTRING_MCO_H
+
+#define MAILCORE_NSSTRING_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class String;
+    class Object;
+}
+#endif
+
+@interface NSString (MCO)
+
+#ifdef __cplusplus
++ (NSString *) mco_stringWithMCString:(mailcore::String *)cppString;
++ (NSString *) mco_stringWithMCObject:(mailcore::Object *)object;
+
+- (mailcore::String *) mco_mcString;
+#endif
+
+- (NSString *) mco_flattenHTML;
+- (NSString *) mco_flattenHTMLAndShowBlockquote:(BOOL)showBlockquote;
+- (NSString *) mco_flattenHTMLAndShowBlockquote:(BOOL)showBlockquote showLink:(BOOL)showLink;
+
+- (NSString *) mco_htmlEncodedString;
+- (NSString *) mco_cleanedHTMLString;
+- (NSString *) mco_strippedWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSValue+MCO.h b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSValue+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..007662b7b11f572cf460c9494f156dd664419881
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Headers/NSValue+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSValue+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSVALUE_MCO_H
+
+#define MAILCORE_NSVALUE_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Value;
+}
+#endif
+
+@interface NSValue (MCO)
+
+#ifdef __cplusplus
++ (NSValue *) mco_valueWithMCValue:(mailcore::Value *)value;
+
+- (mailcore::Value *) mco_mcValue;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Info.plist b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..b6ac5fc85205149f38ab50ee1248f44b135870e6
Binary files /dev/null and b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Info.plist differ
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/MailCore b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/MailCore
new file mode 100755
index 0000000000000000000000000000000000000000..c4c8c75e3126b5a8b8ea59e0d67c82f345d34c81
Binary files /dev/null and b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/MailCore differ
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Modules/module.modulemap b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Modules/module.modulemap
new file mode 100644
index 0000000000000000000000000000000000000000..37014f53dd90af3b9b6611f8330440a9ab139e0f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module MailCore {
+  umbrella header "MailCore.h"
+
+  export *
+  module * { export * }
+}
\ No newline at end of file
diff --git a/ios/MailCore.xcframework/ios-arm64/MailCore.framework/providers.json b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/providers.json
new file mode 100644
index 0000000000000000000000000000000000000000..0ce2d577beb8097afe0a028c7cfe974af61fae46
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64/MailCore.framework/providers.json
@@ -0,0 +1,1282 @@
+{
+    "hushmail":{
+        "servers":{
+            "imap":[
+                    {
+                    "port": 993,
+                    "hostname":"imap.hushmail.com",
+                    "ssl":true
+                    }
+                    ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.hushmail.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":587,
+                    "hostname":"smtp.hushmail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":465,
+                    "hostname":"smtp.hushmail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":25,
+                    "hostname":"smtp.hushmail.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "hushmail\\.com"
+                        ]
+    },
+    "mail":{
+        "servers":{
+            "imap":[
+                    {
+                    "port": 993,
+                    "hostname":"imap.mail.com",
+                    "ssl":true
+                    }
+                    ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.mail.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":587,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":465,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":25,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "mail\\.com"
+                        ]
+    },
+    "zoho":{
+        "servers":{
+            "imap":[
+                   {
+                   "port": 993,
+                   "hostname":"imap.zoho.com",
+                   "ssl":true
+                   }
+                   ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.zoho.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":465,
+                    "hostname":"smtp.zoho.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":587,
+                    "hostname":"smtp.zoho.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "zoho\\.com"
+                        ]
+    },
+    "juno":{
+        "servers":{
+            "pop":[
+                    {
+		    "port": 995,
+                    "hostname":"pop.juno.com",
+                    "ssl":true
+                    }
+                    ],
+            "smtp":[
+                    {
+                    "port":465,
+                    "hostname":"smtp.juno.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "juno\\.com"
+                        ]
+    },
+    "mobileme":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.me.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.mail.me.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.mail.me.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "me\\.com",
+            "mac\\.com",
+            "icloud\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "dreamhost":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            "mx1\\.sub3\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub3\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.sub4\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub4\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.sub5\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub5\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.balanced\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.balanced\\.homie\\.mail\\.dreamhost\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "insecure-default":{
+        "servers":{
+            "imap":[
+                {
+                    "port":143,
+                    "starttls":true
+                },
+                {
+                    "port":143
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                },
+                {
+                    "port":587
+                },
+                {
+                    "port":25
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "euro-apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.euro.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"phonehome.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "euro\\.apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "default":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "insecure-fixed-port":{
+        "servers":{
+            "imap":[
+                {
+                    "starttls":true
+                },
+                {
+					
+                }
+            ],
+            "smtp":[
+                {
+                    "starttls":true
+                },
+                {
+					
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "aol":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.aol.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.aol.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.aol.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"smtp.aol.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"smtp.aol.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "aim\\.com",
+            "aol\\..*",
+            "jp\\.aol\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Saved",
+            "spam":"Spam",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "yahoo.co.jp":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.yahoo.co.jp",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"smtp.mail.yahoo.co.jp",
+                    "ssl":true
+                }
+            ]
+        },
+        "domain-match":[
+            "yahoo\\.co\\.jp"
+        ],
+        "mailboxes":{
+            "drafts":"Draft",
+            "allmail":"Archive",
+            "spam":"Bulk Mail",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "yahoo":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.yahoo.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.mail.yahoo.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"smtp.mail.yahoo.com",
+                    "ssl":true
+                }
+            ]
+        },
+        "mx-match":[
+                    "mta5\\.am0\\.yahoodns\\.net",
+                    "mta6\\.am0\\.yahoodns\\.net",
+                    "mta7\\.am0\\.yahoodns\\.net"
+        ],
+        "domain-match":[
+            "yahoo\\..*",
+            "ymail\\.com",
+            "rocketmail\\.com",
+            "xtra\\.co\\.nz"
+        ],
+        "domain-exclude":[
+            "yahoo\\.co\\.jp"
+        ],
+        "mailboxes":{
+            "drafts":"Draft",
+            "allmail":"Archive",
+            "spam":"Bulk Mail",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "gmail":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.gmail.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.gmail.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"smtp.gmail.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"smtp.gmail.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            "aspmx2\\.googlemail\\.com",
+            "aspmx\\.l\\.google\\.com",
+            "aspmx3\\.googlemail\\.com",
+            "alt1\\.aspmx\\.l\\.google\\.com",
+            "alt2\\.aspmx\\.l\\.google\\.com",
+            "alt1\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt2\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt3\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt4\\.gmail-smtp-in\\.l\\.google\\.com",
+            "gmail-smtp-in\\.l\\.google\\.com"
+        ],
+        "domain-match":[
+            "googlemail\\.com",
+            "gmail\\.com"
+        ],
+        "mailboxes":{
+            "sentmail":"[Gmail]/Sent Mail",
+            "allmail":"[Gmail]/All Mail",
+            "starred":"[Gmail]/Starred",
+            "trash":"[Gmail]/Trash",
+            "drafts":"[Gmail]/Drafts",
+            "spam":"[Gmail]/Spam",
+            "important":"[Gmail]/Important"
+        }
+    },
+    "gmx":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.gmx.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.gmx.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"mail.gmx.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"mail.gmx.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.gmx.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "gmx\\..*",
+            "caramail\\..*"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Spam",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "fastmail":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.messagingengine.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.messagingengine.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"mail.messagingengine.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"mail.messagingengine.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname - 2":"mail.messagingengine.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "123mail\\.org",
+            "fastmail\\..*",
+            "airpost\\.net",
+            "eml\\.cc",
+            "fmail\\.co\\.uk",
+            "fmgirl\\.com",
+            "fmguy\\.com",
+            "mailbolt\\.com",
+            "mailcan\\.com",
+            "mailhaven\\.com",
+            "mailmight\\.com",
+            "ml1\\.net",
+            "mm\\.st",
+            "myfastmail\\.com",
+            "proinbox\\.com",
+            "promessage\\.com",
+            "rushpost\\.com",
+            "sent\\.as",
+            "sent\\.at",
+            "sent\\.com",
+            "speedymail\\.org",
+            "warpmail\\.net",
+            "xsmail\\.com",
+            "150mail\\.com",
+            "150ml\\.com",
+            "16mail\\.com",
+            "2-mail\\.com",
+            "4email\\.net",
+            "50mail\\.com",
+            "allmail\\.net",
+            "bestmail\\.us",
+            "cluemail\\.com",
+            "elitemail\\.org",
+            "emailcorner\\.net",
+            "emailengine\\.net",
+            "emailengine\\.org",
+            "emailgroups\\.net",
+            "emailplus\\.org",
+            "emailuser\\.net",
+            "f-m\\.fm",
+            "fast-email\\.com",
+            "fast-mail\\.org",
+            "fastem\\.com",
+            "fastemail\\.us",
+            "fastemailer\\.com",
+            "fastest\\.cc",
+            "fastimap\\.com",
+            "fastmailbox\\.net",
+            "fastmessaging\\.com",
+            "fea\\.st",
+            "fmailbox\\.com",
+            "ftml\\.net",
+            "h-mail\\.us",
+            "hailmail\\.net",
+            "imap-mail\\.com",
+            "imap\\.cc",
+            "imapmail\\.org",
+            "inoutbox\\.com",
+            "internet-e-mail\\.com",
+            "internet-mail\\.org",
+            "internetemails\\.net",
+            "internetmailing\\.net",
+            "jetemail\\.net",
+            "justemail\\.net",
+            "letterboxes\\.org",
+            "mail-central\\.com",
+            "mail-page\\.com",
+            "mailandftp\\.com",
+            "mailas\\.com",
+            "mailc\\.net",
+            "mailforce\\.net",
+            "mailftp\\.com",
+            "mailingaddress\\.org",
+            "mailite\\.com",
+            "mailnew\\.com",
+            "mailsent\\.net",
+            "mailservice\\.ms",
+            "mailup\\.net",
+            "mailworks\\.org",
+            "mymacmail\\.com",
+            "nospammail\\.net",
+            "ownmail\\.net",
+            "petml\\.com",
+            "postinbox\\.com",
+            "postpro\\.net",
+            "realemail\\.net",
+            "reallyfast\\.biz",
+            "reallyfast\\.info",
+            "speedpost\\.net",
+            "ssl-mail\\.com",
+            "swift-mail\\.com",
+            "the-fastest\\.net",
+            "the-quickest\\.com",
+            "theinternetemail\\.com",
+            "veryfast\\.biz",
+            "veryspeedy\\.net",
+            "yepmail\\.net",
+            "your-mail\\.com",
+            "operamail\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk Mail",
+            "sentmail":"Sent Items",
+            "trash":"Trash"
+        },
+        "mx-match":[
+                    "in1.smtp.messagingengine.com",
+                    "in2.smtp.messagingengine.com",
+                    "in1-smtp.messagingengine.com",
+                    "in2-smtp.messagingengine.com"
+                    ]
+    },
+    "apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "tls":true,
+                    "hostname":"phonehome.apple.com"
+                },
+                {
+                    "port":587,
+                    "hostname":"phonehome.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "asia-apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.asia.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "tls":true,
+                    "hostname":"phonehome.asia.apple.com"
+                },
+                {
+                    "port":587,
+                    "hostname":"phonehome.asia.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "asia\\.apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "rackspace":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"secure.emailsrvr.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":143,
+                    "hostname":"secure.emailsrvr.com"
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"secure.emailsrvr.com",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":587,
+                    "hostname":"secure.emailsrvr.com"
+                },
+                {
+                    "port":25,
+                    "hostname":"secure.emailsrvr.com"
+                }
+            ]
+        },
+        "mx-match":[
+            "mx1\\.emailsrvr\\.com",
+            "mx2\\.emailsrvr\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "zimbra":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "ovh":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.{domain}"
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"mail.{domain}"
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.{domain}"
+                }
+            ]
+        },
+        "mx-match":[
+            "mx\\d\\.ovh\\.net"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "fixed-port":{
+        "servers":{
+            "imap":[
+                {
+                    "ssl":true
+                },
+                {
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "starttls":true
+                },
+                {
+                    "ssl":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "outlook":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap-mail.outlook.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":25,
+                    "hostname":"smtp-mail.outlook.com",
+                    "starttls":true
+                },
+                {
+                    "port":587,
+                    "hostname":"smtp-mail.outlook.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            ".*\\.mail\\.outlook\\.com"
+        ],
+        "domain-match":[
+            "outlook\\.com",
+            "outlook\\.com\\.ar",
+            "outlook\\.com\\.au",
+            "outlook\\.at",
+            "outlook\\.be",
+            "outlook\\.com\\.br",
+            "outlook\\.cl",
+            "outlook\\.cz",
+            "outlook\\.dk",
+            "outlook\\.fr",
+            "outlook\\.de",
+            "outlook\\.com\\.gr",
+            "outlook\\.co\\.id",
+            "outlook\\.ie",
+            "outlook\\.it",
+            "outlook\\.hu",
+            "outlook\\.jp",
+            "outlook\\.kr",
+            "outlook\\.lv",
+            "outlook\\.my",
+            "outlook\\.co\\.nz",
+            "outlook\\.com\\.pe",
+            "outlook\\.ph",
+            "outlook\\.pt",
+            "outlook\\.sa",
+            "outlook\\.sg",
+            "outlook\\.sk",
+            "outlook\\.es",
+            "outlook\\.co\\.th",
+            "outlook\\.com\\.tr",
+            "outlook\\.com\\.vn",
+            "hotmail\\.com",
+            "hotmail\\.co\\.uk",
+            "hotmail\\.fr",
+            "hotmail\\.de",
+            "hotmail\\.be",
+            "hotmail\\.com\\.ar",
+            "hotmail\\.es",
+            "hotmail\\.com\\.mx",
+            "hotmail\\.com",
+            "live\\.com",
+            "live\\.fr",
+            "live\\.de",
+            "live\\.be",
+            "live\\.com\\.ar",
+            "live\\.com\\.mx",
+            "live\\.co\\.uk"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+     "qq": {
+        "servers": {
+            "imap": [
+                {
+                    "port": 993,
+                    "hostname": "imap.exmail.qq.com",
+                    "ssl": true
+                }
+            ],
+            "smtp": [
+                {
+                    "port": 465,
+                    "hostname": "smtp.exmail.qq.com",
+                    "ssl": true
+                }
+            ]
+        },
+        "domain-match": [
+            "qq\\.com"
+        ],
+        "mailboxes": {
+            "drafts": "Drafts",
+            "spam": "Junk",
+            "sentmail": "Sent Messages",
+            "trash": "Deleted Messages"
+        }
+    },
+    "openmailbox": {
+        "servers": {
+            "imap": [
+                {
+                    "port": 143,
+                    "hostname": "imap.openmailbox.org",
+                    "starttls": true
+                }
+            ],
+            "smtp": [
+                {
+                    "port": 587,
+                    "hostname": "smtp.openmailbox.org",
+                    "starttls": true
+                }
+            ]
+        },
+        "domain-match": [
+            "openmailbox\\.org"
+        ],
+        "mailboxes": {
+            "drafts": "Drafts",
+            "allmail": "Archive",
+            "spam": "Spam",
+            "sentmail": "Sent",
+            "trash": "Trash"
+        }
+    },
+    "mailru": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 143,
+                     "hostname": "imap.mail.ru",
+                     "starttls": true
+                     },
+                     {
+                     "port": 993,
+                     "hostname": "imap.mail.ru",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.mail.ru",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "mail\\.ru",
+                         "inbox\\.ru",
+                         "list\\.ru",
+                         "bk\\.ru",
+                         "mail\\.ua"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Корзина"
+        }
+    },
+    "yandex": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.yandex.com",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.yandex.com",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "yandex\\.ru",
+                         "yandex\\.ua",
+                         "yandex\\.kz",
+                         "yandex\\.by",
+                         "yandex\\.com",
+                         "yandex\\.com\\.tr"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Удалённые"
+        }
+    },
+        "comcast": {
+    	"servers": {
+    		"pop": [{
+    			"port": 995,
+    			"hostname": "mail.comcast.net",
+    			"ssl": true
+    		}, {
+    			"port": 110,
+    			"hostname": "mail.comcast.net",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 587,
+    			"hostname": "smtp.comcast.net",
+    			"starttls": true
+    		}, {
+    			"port": 465,
+    			"hostname": "smtp.comcast.net",
+    			"ssl": true
+    		}]
+    	},
+    	"mx-match": [
+    		"mx1\\.comcast\\.net",
+    		"mx2\\.comcast\\.net"
+    	]
+    },
+    "verizon": {
+    	"servers": {
+    		"pop": [{
+    			"port": 995,
+    			"hostname": "pop.verizon.net",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 465,
+    			"hostname": "smtp.verizon.net",
+    			"ssl": true
+    		}]
+
+    	},
+    	"mx-match": [
+    		"relay\\.verizon\\.net"
+    	]
+    },
+    "rcn": {
+    	"servers": {
+    		"pop": [{
+    			"port": 110,
+    			"hostname": "pop.rcn.com",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 25,
+    			"hostname": "smtp.rcn.com",
+    			"ssl": true
+    		}]
+
+    	},
+    	"mx-match": [
+    		"mx\\.rcn\\.com"
+    	]
+    },
+    "ukrnet": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.ukr.net",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.ukr.net",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "ukr\\.net"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Удаленные"
+        }
+    },
+    "rambler": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.rambler.ru",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.rambler.ru",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "rambler\\.ru",
+                         "lenta\\.ru",
+                         "autorambler\\.ru",
+                         "myrambler\\.ru",
+                         "ro\\.ru",
+                         "r0\\.ru"
+                         ],
+        "mailboxes": {
+            "drafts": "DraftBox",
+            "spam": "Spam",
+            "sentmail": "SentBox",
+            "trash": "Trash"
+        }
+    },
+    "office365": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "outlook.office365.com",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 587,
+                     "hostname": "smtp.office365.com",
+                     "starttls": true
+                     }
+                     ]
+            },
+        "mailboxes": {
+            "drafts": "Drafts",
+            "spam": "Junk Email",
+            "sentmail": "Sent Items",
+            "trash": "Deleted Items"
+        }
+    }
+}
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/Headers b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/Headers
new file mode 120000
index 0000000000000000000000000000000000000000..a177d2a6b92600696030834c319f5e1434f9ee6a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstract.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstract.h
new file mode 100644
index 0000000000000000000000000000000000000000..03299ec4aaacd17a44a59740a2e8c667f97efe7d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstract.h
@@ -0,0 +1,13 @@
+#ifndef MAILCORE_MCABSTRACT_H
+
+#define MAILCORE_MCABSTRACT_H
+
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCAbstractMessagePart.h>
+#include <MailCore/MCAbstractMultipart.h>
+#include <MailCore/MCAbstractPart.h>
+#include <MailCore/MCAddress.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCMessageHeader.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessage.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..1f567a52efd16db25ba17478e36ebc01f4b83e22
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessage.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCABSTRACTMESSAGE_H
+
+#define MAILCORE_MCABSTRACTMESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class AbstractPart;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT AbstractMessage : public Object {
+    public:
+        AbstractMessage();
+        virtual ~AbstractMessage();
+        
+        /** Header of the message. */
+        virtual MessageHeader * header();
+        /** Set a header of the message. */
+        virtual void setHeader(MessageHeader * header);
+        
+        /** Returns a part matching the given contentID. */
+        virtual AbstractPart * partForContentID(String * contentID);
+        /** Returns a part matching the given uniqueID */
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        /** Returns the list of attachments, not part of the content of the message. */
+        virtual Array * /* AbstractPart */ attachments();
+        /** Returns the list of attachments that are shown inline in the content of the message. */
+        virtual Array * /* AbstractPart */ htmlInlineAttachments();
+        /** Returns the list of the text parts required to render the message properly. */
+        virtual Array * /* AbstractPart */ requiredPartsForRendering();
+        
+    public: //subclass behavior
+        AbstractMessage(AbstractMessage * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * hashmap);
+        
+    private:
+        MessageHeader * mHeader;
+        void init();
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..74be7579717e1cacbe58ad40b516c0c56746361e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMessagePart.h
@@ -0,0 +1,45 @@
+#ifndef MAILCORE_MCABSTRACTMESSAGEPART_H
+
+#define MAILCORE_MCABSTRACTMESSAGEPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT AbstractMessagePart : public AbstractPart {
+    public:
+        AbstractMessagePart();
+        virtual ~AbstractMessagePart();
+        
+        virtual MessageHeader * header();
+        virtual void setHeader(MessageHeader * header);
+        
+        virtual AbstractPart * mainPart();
+        virtual void setMainPart(AbstractPart * mainPart);
+        
+    public: //subclass behavior
+        AbstractMessagePart(AbstractMessagePart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+    private:
+        AbstractPart * mMainPart;
+        MessageHeader * mHeader;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..814ee6dfad4aaa20583ccb793a9ecf99908d7cab
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractMultipart.h
@@ -0,0 +1,39 @@
+#ifndef MAILCORE_MCABSTRACTMULTIPART_H
+
+#define MAILCORE_MCABSTRACTMULTIPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AbstractMultipart : public AbstractPart {
+    public:
+        AbstractMultipart();
+        virtual ~AbstractMultipart();
+        
+        virtual Array * parts();
+        virtual void setParts(Array * parts);
+        
+    public: //subclass behavior
+        AbstractMultipart(AbstractMultipart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+    private:
+        Array * mParts;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractPart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..88b5b331c57a074ef3774d885919fed5ad590268
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAbstractPart.h
@@ -0,0 +1,91 @@
+#ifndef MAILCORE_MCABSTRACTPART_H
+
+#define MAILCORE_MCABSTRACTPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class AbstractMessage;
+    
+    class MAILCORE_EXPORT AbstractPart : public Object {
+    public:
+        AbstractPart();
+        virtual ~AbstractPart();
+        
+        virtual PartType partType();
+        virtual void setPartType(PartType type);
+        
+        virtual String * filename();
+        virtual void setFilename(String * filename);
+        
+        virtual String * mimeType();
+        virtual void setMimeType(String * mimeType);
+        
+        virtual String * charset();
+        virtual void setCharset(String * charset);
+        
+        virtual String * uniqueID();
+        virtual void setUniqueID(String * uniqueID);
+        
+        virtual String * contentID();
+        virtual void setContentID(String * contentID);
+        
+        virtual String * contentLocation();
+        virtual void setContentLocation(String * contentLocation);
+        
+        virtual String * contentDescription();
+        virtual void setContentDescription(String * contentDescription);
+        
+        virtual bool isInlineAttachment();
+        virtual void setInlineAttachment(bool inlineAttachment);
+        
+        virtual bool isAttachment();
+        virtual void setAttachment(bool attachment);
+
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual String * decodedStringForData(Data * data);
+        
+        void setContentTypeParameters(HashMap * parameters);
+        Array * allContentTypeParametersNames();
+        void setContentTypeParameter(String * name, String * object);
+        void removeContentTypeParameter(String * name);
+        String * contentTypeParameterValueForName(String * name);
+        
+    public: // subclass behavior
+        AbstractPart(AbstractPart * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        virtual void importIMAPFields(struct mailimap_body_fields * fields,
+                                      struct mailimap_body_ext_1part * extension);
+        virtual void applyUniquePartID();
+        
+    private:
+        String * mUniqueID;
+        String * mFilename;
+        String * mMimeType;
+        String * mCharset;
+        String * mContentID;
+        String * mContentLocation;
+        String * mContentDescription;
+        bool mInlineAttachment;
+        bool mAttachment;
+        PartType mPartType;
+        HashMap * mContentTypeParameters;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAccountValidator.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAccountValidator.h
new file mode 100644
index 0000000000000000000000000000000000000000..436317cf4332d29ddf391b303cec7b32f645e203
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAccountValidator.h
@@ -0,0 +1,119 @@
+//
+//  MCAccountValidator.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 22/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCACCOUNTVALIDATOR_H
+
+#define MAILCORE_MCACCOUNTVALIDATOR_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class NetService;
+    class MailProvider;
+    class MXRecordResolverOperation;
+    class IMAPAsyncSession;
+    class POPAsyncSession;
+    class SMTPAsyncSession;
+
+    class MAILCORE_EXPORT AccountValidator : public Operation, public OperationCallback {
+    public:
+        AccountValidator();
+        virtual ~AccountValidator();
+        
+        virtual void setEmail(String * email);
+        virtual String * email(); /* for SMTP */
+        virtual void setUsername(String * username);
+        virtual String * username();
+        virtual void setPassword(String * password);
+        virtual String * password();
+        virtual void setOAuth2Token(String * OAuth2Token);
+        virtual String * OAuth2Token();
+
+        virtual void setImapEnabled(bool enabled);
+        virtual bool isImapEnabled();
+
+        virtual void setPopEnabled(bool enabled);
+        virtual bool isPopEnabled();
+
+        virtual void setSmtpEnabled(bool enabled);
+        virtual bool isSmtpEnabled();
+
+        virtual void setImapServices(Array * imapServices);
+        virtual Array * /* NetService */ imapServices();
+        virtual void setSmtpServices(Array * smtpServices);
+        virtual Array * /* NetService */ smtpServices();
+        virtual void setPopServices(Array * popServices);
+        virtual Array * /* NetService */ popServices();
+        
+        // result
+        virtual String * identifier();
+        virtual NetService * imapServer();
+        virtual NetService * popServer();
+        virtual NetService * smtpServer();
+        virtual ErrorCode imapError();
+        virtual ErrorCode popError();
+        virtual ErrorCode smtpError();
+        
+        virtual void start();
+        virtual void cancel();
+        
+    private:
+        String * mEmail; /* for SMTP */
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        
+        Array * /* NetService */ mImapServices;
+        Array * /* NetService */ mSmtpServices;
+        Array * /* NetService */ mPopServices;
+        
+        // result
+        String * mIdentifier;
+        NetService * mImapServer;
+        NetService * mPopServer;
+        NetService * mSmtpServer;
+        ErrorCode mImapError;
+        ErrorCode mPopError;
+        ErrorCode mSmtpError;
+        
+        MailProvider * mProvider;
+        
+        //indexs for services being tested
+        int mCurrentServiceIndex;
+        int mCurrentServiceTested;
+        
+        Operation * mOperation;
+        virtual void operationFinished(Operation * op);
+        
+        OperationQueue * mQueue;
+        MXRecordResolverOperation * mResolveMX;
+        
+        IMAPAsyncSession * mImapSession;
+        POPAsyncSession * mPopSession;
+        SMTPAsyncSession * mSmtpSession;
+
+        bool mImapEnabled;
+        bool mPopEnabled;
+        bool mSmtpEnabled;
+
+        void init();
+        void setupServices();
+        void resolveMX();
+        void resolveMXDone();
+        void startCheckingHosts();
+        void checkNextHost();
+        void checkNextHostDone();
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddress.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddress.h
new file mode 100644
index 0000000000000000000000000000000000000000..e6644576e41d82cb8194f0d5c53142ad6922e639
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddress.h
@@ -0,0 +1,65 @@
+#ifndef MAILCORE_MCADDRESS_H
+
+#define MAILCORE_MCADDRESS_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Address : public Object {
+    public:
+        Address();
+        virtual ~Address();
+        
+        static Address * addressWithDisplayName(String * displayName, String * mailbox);
+        static Address * addressWithMailbox(String * mailbox);
+        static Address * addressWithRFC822String(String * RFC822String);
+        static Address * addressWithNonEncodedRFC822String(String * nonEncodedRFC822String);
+        
+        static Array * addressesWithRFC822String(String * string);
+        static Array * addressesWithNonEncodedRFC822String(String * string);
+        
+        static String * RFC822StringForAddresses(Array * addresses);
+        static String * nonEncodedRFC822StringForAddresses(Array * addresses);
+        
+        virtual void setDisplayName(String * displayName);
+        virtual String * displayName();
+        
+        virtual void setMailbox(String * address);
+        virtual String * mailbox();
+        
+        virtual String * RFC822String();
+        virtual String * nonEncodedRFC822String();
+        
+    public: // subclass behavior.
+        Address(Address * other);
+        virtual String * description();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        // Must be released
+        virtual struct mailimf_address * createIMFAddress();
+        virtual struct mailimf_mailbox * createIMFMailbox();
+        
+        // Additions
+        static Address * addressWithIMFMailbox(struct mailimf_mailbox * mb);
+        static Address * addressWithNonEncodedIMFMailbox(struct mailimf_mailbox * mb);
+        static Address * addressWithIMAPAddress(struct mailimap_address * imap_addr);
+        
+    private:
+        String * mDisplayName;
+        String * mMailbox;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddressDisplay.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddressDisplay.h
new file mode 100644
index 0000000000000000000000000000000000000000..d4841469b99aa5f32ed860624d8e498f65c1acca
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAddressDisplay.h
@@ -0,0 +1,36 @@
+//
+//  MCAddressDisplay.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/27/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCADDRESSDISPLAY_H
+
+#define MAILCORE_MCADDRESSDISPLAY_H
+
+#include <MailCore/MCAbstract.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AddressDisplay {
+    public:
+        static String * sanitizeDisplayName(String * displayName);
+
+        static String * displayStringForAddress(Address * address);
+        static String * shortDisplayStringForAddress(Address * address);
+        static String * veryShortDisplayStringForAddress(Address * address);
+        
+        static String * displayStringForAddresses(Array * /* Address */ addresses);
+        static String * shortDisplayStringForAddresses(Array * /* Address */ addresses);
+        static String * veryShortDisplayStringForAddresses(Array * /* Address */ addresses);
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCArray.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCArray.h
new file mode 100644
index 0000000000000000000000000000000000000000..bed43fe52f92b3b51d70331d54947ebe952fa564
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCArray.h
@@ -0,0 +1,59 @@
+#ifndef MAILCORE_MCARRAY_H
+
+#define MAILCORE_MCARRAY_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+typedef struct carray_s carray;
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT Array : public Object {
+    public:
+        Array();
+        virtual ~Array();
+        
+        static Array * array();
+        static Array * arrayWithObject(Object * obj);
+        
+        virtual unsigned int count();
+        virtual void addObject(Object * obj);
+        virtual void removeObjectAtIndex(unsigned int idx);
+        virtual void removeObject(Object * obj);
+        virtual int indexOfObject(Object * obj);
+        virtual Object * objectAtIndex(unsigned int idx) ATTRIBUTE_RETURNS_NONNULL;
+        virtual void replaceObject(unsigned int idx, Object * obj);
+        virtual void insertObject(unsigned int idx, Object * obj);
+        virtual void removeAllObjects();
+        
+        virtual void addObjectsFromArray(Array * array);
+        virtual Object * lastObject();
+        virtual void removeLastObject();
+        virtual bool containsObject(Object * obj);
+        
+        virtual Array * sortedArray(int (* compare)(void * a, void * b, void * context), void * context);
+        virtual void sortArray(int (* compare)(void * a, void * b, void * context), void * context);
+        virtual String * componentsJoinedByString(String * delimiter);
+        
+    public: // subclass behavior
+        Array(Array * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        carray * mArray;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAssert.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAssert.h
new file mode 100644
index 0000000000000000000000000000000000000000..7858693f8289c2c93f65e59790d68f285cfdf217
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAssert.h
@@ -0,0 +1,18 @@
+#ifndef MAILCORE_MCASSERT_H
+
+#define MAILCORE_MCASSERT_H
+
+#include <MailCore/MCUtils.h>
+
+#define MCAssert(cond) MCAssertInternal(__FILE__, __LINE__, cond, #cond)
+
+#ifdef __cplusplus
+extern "C" {
+#endif	
+    MAILCORE_EXPORT
+	void MCAssertInternal(const char * filename, unsigned int line, int cond, const char * condString) CLANG_ANALYZER_NORETURN;
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsync.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsync.h
new file mode 100644
index 0000000000000000000000000000000000000000..90b3e26332828a5572ad796099418893cea59eeb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsync.h
@@ -0,0 +1,18 @@
+//
+//  MCAsync.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNC_H
+
+#define MAILCORE_MCASYNC_H
+
+#include <MailCore/MCAsyncSMTP.h>
+#include <MailCore/MCAsyncIMAP.h>
+#include <MailCore/MCAsyncPOP.h>
+#include <MailCore/MCAsyncNNTP.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncIMAP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncIMAP.h
new file mode 100755
index 0000000000000000000000000000000000000000..aa6d6b680136e80b2f88ee7f1b7b007e5d90b887
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncIMAP.h
@@ -0,0 +1,38 @@
+//
+//  MCAsyncIMAP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCIMAP_H
+
+#define MAILCORE_MCASYNCIMAP_H
+
+#include <MailCore/MCIMAPAsyncSession.h>
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCIMAPFetchFoldersOperation.h>
+#include <MailCore/MCIMAPAppendMessageOperation.h>
+#include <MailCore/MCIMAPCopyMessagesOperation.h>
+#include <MailCore/MCIMAPFetchMessagesOperation.h>
+#include <MailCore/MCIMAPFetchContentOperation.h>
+#include <MailCore/MCIMAPFetchParsedContentOperation.h>
+#include <MailCore/MCIMAPIdleOperation.h>
+#include <MailCore/MCIMAPFolderInfo.h>
+#include <MailCore/MCIMAPFolderInfoOperation.h>
+#include <MailCore/MCIMAPFolderStatusOperation.h>
+#include <MailCore/MCIMAPSession.h>
+#include <MailCore/MCIMAPNamespace.h>
+#include <MailCore/MCIMAPIdentity.h>
+#include <MailCore/MCIMAPSearchOperation.h>
+#include <MailCore/MCIMAPSearchExpression.h>
+#include <MailCore/MCIMAPFetchNamespaceOperation.h>
+#include <MailCore/MCIMAPIdentityOperation.h>
+#include <MailCore/MCIMAPCapabilityOperation.h>
+#include <MailCore/MCIMAPQuotaOperation.h>
+#include <MailCore/MCIMAPOperationCallback.h>
+#include <MailCore/MCIMAPMessageRenderingOperation.h>
+#include <MailCore/MCIMAPCustomCommandOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncNNTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncNNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..914cc754a8313ccf10290a48ec0679b4d8437393
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncNNTP.h
@@ -0,0 +1,23 @@
+//
+//  MCAsyncNNTP.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCNNTP_H
+
+#define MAILCORE_MCASYNCNNTP_H
+
+#include <MailCore/MCNNTPAsyncSession.h>
+#include <MailCore/MCNNTPOperation.h>
+#include <MailCore/MCNNTPFetchHeaderOperation.h>
+#include <MailCore/MCNNTPFetchArticleOperation.h>
+#include <MailCore/MCNNTPFetchAllArticlesOperation.h>
+#include <MailCore/MCNNTPListNewsgroupsOperation.h>
+#include <MailCore/MCNNTPFetchOverviewOperation.h>
+#include <MailCore/MCNNTPFetchServerTimeOperation.h>
+#include <MailCore/MCNNTPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncPOP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..797403102a1e6fbf478d17f2ace6ae10ffe0b329
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncPOP.h
@@ -0,0 +1,20 @@
+//
+//  MCAsyncPOP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCPOP_H
+
+#define MAILCORE_MCASYNCPOP_H
+
+#include <MailCore/MCPOPAsyncSession.h>
+#include <MailCore/MCPOPOperation.h>
+#include <MailCore/MCPOPFetchHeaderOperation.h>
+#include <MailCore/MCPOPFetchMessageOperation.h>
+#include <MailCore/MCPOPFetchMessagesOperation.h>
+#include <MailCore/MCPOPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncSMTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..d7bac9db6fa318d74bf2440a9d226e557073208a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAsyncSMTP.h
@@ -0,0 +1,17 @@
+//
+//  MCAsyncSMTP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCASYNCSMTP_H
+
+#define MAILCORE_MCASYNCSMTP_H
+
+#include <MailCore/MCSMTPAsyncSession.h>
+#include <MailCore/MCSMTPOperation.h>
+#include <MailCore/MCSMTPOperationCallback.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAttachment.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAttachment.h
new file mode 100644
index 0000000000000000000000000000000000000000..deacf75e4c6b3da4c5f0cf3b8cf4bfa8490c2441
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAttachment.h
@@ -0,0 +1,56 @@
+#ifndef MAILCORE_MCATTACHMENT_H
+
+#define MAILCORE_MCATTACHMENT_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+#include <MailCore/MCAbstractMultipart.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessagePart;
+    
+    class MAILCORE_EXPORT Attachment : public AbstractPart {
+    public:
+        static String * mimeTypeForFilename(String * filename);
+        static Attachment * attachmentWithContentsOfFile(String * filename);
+        static Attachment * attachmentWithData(String * filename, Data * data);
+        static Attachment * attachmentWithHTMLString(String * htmlString);
+        static Attachment * attachmentWithRFC822Message(Data * messageData);
+        static Attachment * attachmentWithText(String * text);
+        
+        Attachment();
+        virtual ~Attachment();
+        
+        virtual void setData(Data * data);
+        virtual Data * data();
+        virtual String * decodedString();
+        
+    public: // subclass behavior
+        Attachment(Attachment * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        static AbstractPart * attachmentsWithMIME(struct mailmime * mime);
+        
+    private:
+        Data * mData;
+        void init();
+        static void fillMultipartSubAttachments(AbstractMultipart * multipart, struct mailmime * mime);
+        static AbstractPart * attachmentsWithMIMEWithMain(struct mailmime * mime, bool isMain);
+        static Attachment * attachmentWithSingleMIME(struct mailmime * mime);
+        static MessagePart * attachmentWithMessageMIME(struct mailmime * mime);
+        static Encoding encodingForMIMEEncoding(struct mailmime_mechanism * mechanism, int defaultMimeEncoding);
+        static HashMap * readMimeTypesFile(String * filename);
+        void setContentTypeParameters(HashMap * parameters);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAutoreleasePool.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAutoreleasePool.h
new file mode 100644
index 0000000000000000000000000000000000000000..c3abf4779325cf9700a6fd902bdca060dbf9b56c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCAutoreleasePool.h
@@ -0,0 +1,44 @@
+#ifndef MAILCORE_MCAUTORELEASEPOOL_H
+
+#define MAILCORE_MCAUTORELEASEPOOL_H
+
+#include <MailCore/MCObject.h>
+#include <pthread.h>
+
+#ifdef __cplusplus
+
+typedef struct carray_s carray;
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT AutoreleasePool : public Object {
+    public:
+        AutoreleasePool();
+        virtual ~AutoreleasePool();
+        
+        static void autorelease(Object * obj);
+        
+    public: // subclass behavior
+        virtual String * description();
+        
+    private:
+        static void init();
+        static pthread_key_t autoreleasePoolStackKey;
+        carray * mPoolObjects;
+        static carray * createAutoreleasePoolStackIfNeeded();
+        static void destroyAutoreleasePoolStack(void *);
+        static void initAutoreleasePoolStackKey();
+        static AutoreleasePool * currentAutoreleasePool();
+        virtual void add(Object * obj);
+#ifdef __APPLE__
+        void * mAppleAutoreleasePool;
+        static void * createAppleAutoreleasePool();
+        static void releaseAppleAutoreleasePool(void * appleAutoreleasePool);
+#endif
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCBaseTypes.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCBaseTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..3088d4c216c7bfa0f6f3a09ce4e449fd7f8b0d67
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCBaseTypes.h
@@ -0,0 +1,31 @@
+#ifndef MAILCORE_MCBASETYPES_H
+
+#define MAILCORE_MCBASETYPES_H
+
+#include <MailCore/MCAutoreleasePool.h>
+#include <MailCore/MCObject.h>
+#include <MailCore/MCValue.h>
+#include <MailCore/MCString.h>
+#include <MailCore/MCData.h>
+#include <MailCore/MCArray.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCJSON.h>
+#include <MailCore/MCMD5.h>
+#include <MailCore/MCNull.h>
+#include <MailCore/MCSet.h>
+#include <MailCore/MCHash.h>
+#include <MailCore/MCLog.h>
+#include <MailCore/MCAssert.h>
+#include <MailCore/MCUtils.h>
+#include <MailCore/MCRange.h>
+#include <MailCore/MCIndexSet.h>
+#include <MailCore/MCOperation.h>
+#include <MailCore/MCOperationQueue.h>
+#include <MailCore/MCOperationCallback.h>
+#include <MailCore/MCLibetpanTypes.h>
+#include <MailCore/MCICUTypes.h>
+#include <MailCore/MCIterator.h>
+#include <MailCore/MCConnectionLogger.h>
+#include <MailCore/MCHTMLCleaner.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCConnectionLogger.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCConnectionLogger.h
new file mode 100644
index 0000000000000000000000000000000000000000..d5282db46d5a4432d6582eadf68aba5cb2ac6fde
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCConnectionLogger.h
@@ -0,0 +1,47 @@
+//
+//  MCConnectionLogger.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 6/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_CONNECTION_LOGGER_H
+
+#define MAILCORE_CONNECTION_LOGGER_H
+
+#include <stdlib.h>
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Data;
+    
+    enum ConnectionLogType {
+        // Received data
+        ConnectionLogTypeReceived,
+        // Sent data
+        ConnectionLogTypeSent,
+        // Sent private data
+        ConnectionLogTypeSentPrivate,
+        // Parse error
+        ConnectionLogTypeErrorParse,
+        // Error while receiving data - log() is called with a NULL buffer.
+        ConnectionLogTypeErrorReceived,
+        // Error while sending data - log() is called with a NULL buffer.
+        ConnectionLogTypeErrorSent,
+    };
+    
+    class MAILCORE_EXPORT ConnectionLogger {
+    public:
+        virtual void log(void * sender, ConnectionLogType logType, Data * buffer) {}
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCCore.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCCore.h
new file mode 100644
index 0000000000000000000000000000000000000000..323bb606cc3dbe396856544b91ba5d71860ef502
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCCore.h
@@ -0,0 +1,23 @@
+//
+//  Core.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCCORE_H
+
+#define MAILCORE_MCCORE_H
+
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAP.h>
+#include <MailCore/MCPOP.h>
+#include <MailCore/MCNNTP.h>
+#include <MailCore/MCRFC822.h>
+#include <MailCore/MCSMTP.h>
+#include <MailCore/MCRenderer.h>
+#include <MailCore/MCProvider.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCData.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCData.h
new file mode 100644
index 0000000000000000000000000000000000000000..0bb1bc078114f701a5720833e5f72816781a1c6b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCData.h
@@ -0,0 +1,80 @@
+#ifndef MAILCORE_MCDATA_H
+
+#define MAILCORE_MCDATA_H
+
+#include <stdlib.h>
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __APPLE__
+#import <CoreFoundation/CoreFoundation.h>
+#endif
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT Data : public Object {
+    public:
+        Data();
+        Data(int capacity);
+        Data(const char * bytes, unsigned int length);
+        virtual ~Data();
+        
+        static Data * data();
+        static Data * dataWithCapacity(int capacity);
+        static Data * dataWithContentsOfFile(String * filename);
+        static Data * dataWithBytes(const char * bytes, unsigned int length);
+        
+        virtual char * bytes();
+        virtual unsigned int length();
+        
+        virtual void appendData(Data * otherData);
+        virtual void appendBytes(const char * bytes, unsigned int length);
+        virtual void setBytes(const char * bytes, unsigned int length);
+        virtual void setData(Data * otherData);
+        
+        // Helpers
+        virtual String * stringWithDetectedCharset();
+        virtual String * stringWithDetectedCharset(String * charset, bool isHTML);
+        virtual String * stringWithCharset(const char * charset);
+        virtual Data * decodedDataUsingEncoding(Encoding encoding);
+        
+        virtual String * base64String();
+
+        virtual ErrorCode writeToFile(String * filename);
+        
+    public: // private
+        virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL);
+#ifdef __APPLE__
+        virtual CFDataRef destructiveNSData();
+#endif
+        
+    public: // subclass behavior
+        Data(Data * otherData);
+        virtual String * description();
+        virtual Object * copy();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        char * mBytes;
+        unsigned int mLength;
+        unsigned int mAllocated;
+        void allocate(unsigned int length, bool force = false);
+        void reset();
+        String * charsetWithFilteredHTMLWithoutHint(bool filterHTML);
+        void takeBytesOwnership(char * bytes, unsigned int length);
+        
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCDateFormatter.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCDateFormatter.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2198d04bdda123555b8707ae2feb23503bfee55
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCDateFormatter.h
@@ -0,0 +1,75 @@
+//
+//  MCDateFormatter.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCDATEFORMATTER_H
+
+#define MAILCORE_MCDATEFORMATTER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+// predeclare UDateFormat
+// copied from <unicode/udat.h>
+typedef void * UDateFormat;
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    // Uses same values as UDateFormatStyle
+    enum DateFormatStyle {
+        DateFormatStyleFull = 0 /* UDAT_FULL*/,
+        DateFormatStyleLong = 1 /* UDAT_LONG */,
+        DateFormatStyleMedium = 2 /* UDAT_MEDIUM */,
+        DateFormatStyleShort = 3 /* UDAT_SHORT */,
+        DateFormatStyleNone = -1 /* UDAT_NONE */,
+    };
+    
+    class MAILCORE_EXPORT DateFormatter : public Object {
+    public:
+        DateFormatter();
+        virtual ~DateFormatter();
+        
+        static DateFormatter * dateFormatter();
+        
+        virtual void setDateStyle(DateFormatStyle style);
+        virtual DateFormatStyle dateStyle();
+        
+        virtual void setTimeStyle(DateFormatStyle style);
+        virtual DateFormatStyle timeStyle();
+        
+        virtual void setLocale(String * locale);
+        virtual String * locale();
+        
+        virtual void setTimezone(String * timezone);
+        virtual String * timezone();
+        
+        virtual void setDateFormat(String * dateFormat);
+        virtual String * dateFormat();
+        
+        virtual String * stringFromDate(time_t date);
+        virtual time_t dateFromString(String * dateString);
+        
+    private:
+        UDateFormat * mDateFormatter;
+        DateFormatStyle mDateStyle;
+        DateFormatStyle mTimeStyle;
+        String * mDateFormat;
+        String * mTimezone;
+        String * mLocale;
+        void * mAppleDateFormatter;
+        
+        void prepare();
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__testUI__MCDateFormatter__) */
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLCleaner.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLCleaner.h
new file mode 100644
index 0000000000000000000000000000000000000000..eccf88c9263682461ba8165885787a732880b937
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLCleaner.h
@@ -0,0 +1,29 @@
+//
+//  HTMLCleaner.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/3/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_HTMLCLEANER_H
+
+#define MAILCORE_HTMLCLEANER_H
+
+#include <MailCore/MCString.h>
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT HTMLCleaner {
+    public:
+        static String * cleanHTML(String * input);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLRendererCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLRendererCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..4a4fc40f9133bb5c7a12312b981ce8bfa853c74e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHTMLRendererCallback.h
@@ -0,0 +1,67 @@
+//
+//  MCHTMLRendererCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCHTMLRENDERERCALLBACK_H
+
+#define MAILCORE_MCHTMLRENDERERCALLBACK_H
+
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCIMAP.h>
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageParser;
+    
+    class MAILCORE_EXPORT HTMLRendererIMAPCallback {
+    public:
+        HTMLRendererIMAPCallback() {}
+        virtual ~HTMLRendererIMAPCallback() {}
+
+        virtual Data * dataForIMAPPart(String * folder, IMAPPart * part) { return NULL; }
+        virtual void prefetchAttachmentIMAPPart(String * folder, IMAPPart * part) {}
+        virtual void prefetchImageIMAPPart(String * folder, IMAPPart * part) {}
+    };
+
+    class MAILCORE_EXPORT HTMLRendererTemplateCallback {
+    public:
+        HTMLRendererTemplateCallback();
+        virtual ~HTMLRendererTemplateCallback();
+
+        virtual void setMixedTextAndAttachmentsModeEnabled(bool enabled);
+
+        virtual bool canPreviewPart(AbstractPart * part);
+        virtual bool shouldShowPart(AbstractPart * part);
+        
+        virtual HashMap * templateValuesForHeader(MessageHeader * header);
+        virtual HashMap * templateValuesForPart(AbstractPart * part);
+        
+        virtual String * templateForMainHeader(MessageHeader * header);
+        virtual String * templateForImage(AbstractPart * part);
+        virtual String * templateForAttachment(AbstractPart * part);
+        virtual String * templateForMessage(AbstractMessage * message);
+        virtual String * templateForEmbeddedMessage(AbstractMessagePart * part);
+        virtual String * templateForEmbeddedMessageHeader(MessageHeader * header);
+        virtual String * templateForAttachmentSeparator();
+        
+        virtual String * cleanHTMLForPart(String * html);
+
+        // Can be used to filter some HTML tags.
+        virtual String * filterHTMLForPart(String * html);
+        
+        // Can be used to hide quoted text.
+        virtual String * filterHTMLForMessage(String * html);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHash.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHash.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ef0c291959342af6a6a54233faba3f3b6a4bb85
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHash.h
@@ -0,0 +1,15 @@
+#ifndef MAILCORE_MCHASH_H
+
+#define MAILCORE_MCHASH_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    unsigned int hashCompute(const char * key, unsigned int len);
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHashMap.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHashMap.h
new file mode 100644
index 0000000000000000000000000000000000000000..b6ac6d2f8fab0b8a70b481230e5f19ae0463a053
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCHashMap.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCHASHMAP_H
+
+#define MAILCORE_MCHASHMAP_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    class Array;
+    struct HashMapCell;
+    typedef HashMapCell HashMapIter;
+    
+    class MAILCORE_EXPORT HashMap : public Object {
+    public:
+        HashMap();
+        virtual ~HashMap();
+        
+        static HashMap * hashMap();
+        
+        virtual unsigned int count();
+        virtual void setObjectForKey(Object * key, Object * value);
+        virtual void removeObjectForKey(Object * key);
+        virtual Object * objectForKey(Object * key);
+        virtual Array * allKeys();
+        virtual Array * allValues();
+        virtual void removeAllObjects();
+        
+    public: // subclass behavior
+        HashMap(HashMap * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        unsigned int mAllocated;
+        unsigned int mCount;
+        void ** mCells;
+        HashMapIter * iteratorBegin();
+        HashMapIter * iteratorNext(HashMapIter * iter);
+        void allocate(unsigned int size);
+        void init();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCICUTypes.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCICUTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..cf3bfa42cb0fc7a407ba645fe35251948ce915af
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCICUTypes.h
@@ -0,0 +1,21 @@
+//
+//  MCICUTypes.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/18/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCICUTYPES_H
+
+#define MAILCORE_MCICUTYPES_H
+
+#ifdef _MSC_VER
+typedef wchar_t UChar;
+#elif defined(__CHAR16_TYPE__)
+typedef __CHAR16_TYPE__ UChar;
+#else
+typedef uint16_t UChar;
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAP.h
new file mode 100644
index 0000000000000000000000000000000000000000..6e80995f6a16827418e44a364ae9f548e82a64b8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAP.h
@@ -0,0 +1,19 @@
+#ifndef MAILCORE_MCIMAP_H
+
+#define MAILCORE_MCIMAP_H
+
+#include <MailCore/MCIMAPFolder.h>
+#include <MailCore/MCIMAPMessage.h>
+#include <MailCore/MCIMAPMessagePart.h>
+#include <MailCore/MCIMAPMultipart.h>
+#include <MailCore/MCIMAPNamespace.h>
+#include <MailCore/MCIMAPNamespaceItem.h>
+#include <MailCore/MCIMAPPart.h>
+#include <MailCore/MCIMAPProgressCallback.h>
+#include <MailCore/MCIMAPSearchExpression.h>
+#include <MailCore/MCIMAPSession.h>
+#include <MailCore/MCIMAPSyncResult.h>
+#include <MailCore/MCIMAPFolderStatus.h>
+#include <MailCore/MCIMAPIdentity.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ca3033a683734c568f9517fcdcbb5150e750a93e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAppendMessageOperation.h
@@ -0,0 +1,55 @@
+//
+//  MCIMAPAppendMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPAPPENDMESSAGEOPERATION_H
+
+#define MAILCORE_MCIMAPAPPENDMESSAGEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPAppendMessageOperation : public IMAPOperation {
+    public:
+        IMAPAppendMessageOperation();
+        virtual ~IMAPAppendMessageOperation();
+        
+        virtual void setMessageData(Data * messageData);
+        virtual Data * messageData();
+        
+        virtual void setFlags(MessageFlag flags);
+        virtual MessageFlag flags();
+        
+        virtual void setCustomFlags(Array * customFlags);
+        virtual Array * customFlags();
+        
+        virtual void setDate(time_t date);
+        virtual time_t date();
+        
+        virtual uint32_t createdUID();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Data * mMessageData;
+        MessageFlag mFlags;
+        Array * mCustomFlags;
+        time_t mDate;
+        uint32_t mCreatedUID;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAsyncSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..62577a6e17c1e3df2fd1eb51f43b1988d902cc0a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPAsyncSession.h
@@ -0,0 +1,218 @@
+//
+//  MCIMAPAccount.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/17/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPACCOUNT_H
+
+#define MAILCORE_MCIMAPACCOUNT_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPOperation;
+    class IMAPFetchFoldersOperation;
+    class IMAPAppendMessageOperation;
+    class IMAPCopyMessagesOperation;
+    class IMAPFetchMessagesOperation;
+    class IMAPFetchContentOperation;
+    class IMAPFetchParsedContentOperation;
+    class IMAPIdleOperation;
+    class IMAPFolderInfoOperation;
+    class IMAPFolderStatusOperation;
+    class IMAPNamespace;
+    class IMAPSearchOperation;
+    class IMAPSearchExpression;
+    class IMAPFetchNamespaceOperation;
+    class IMAPIdentityOperation;
+    class IMAPAsyncConnection;
+    class IMAPCapabilityOperation;
+    class IMAPQuotaOperation;
+    class IMAPMessageRenderingOperation;
+    class IMAPMessage;
+    class IMAPSession;
+    class IMAPIdentity;
+    class OperationQueueCallback;
+    class IMAPCustomCommandOperation;
+    
+    class MAILCORE_EXPORT IMAPAsyncSession : public Object {
+    public:
+        IMAPAsyncSession();
+        virtual ~IMAPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setVoIPEnabled(bool enabled);
+        virtual bool isVoIPEnabled();
+        
+        virtual void setDefaultNamespace(IMAPNamespace * ns);
+        virtual IMAPNamespace * defaultNamespace();
+        
+        virtual void setAllowsFolderConcurrentAccessEnabled(bool enabled);
+        virtual bool allowsFolderConcurrentAccessEnabled();
+        
+        virtual void setMaximumConnections(unsigned int maxConnections);
+        virtual unsigned int maximumConnections();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+        
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+        
+        virtual IMAPIdentity * serverIdentity();
+        virtual IMAPIdentity * clientIdentity();
+        virtual String * gmailUserDisplayName() DEPRECATED_ATTRIBUTE;
+        
+        virtual IMAPFolderInfoOperation * folderInfoOperation(String * folder);
+        virtual IMAPFolderStatusOperation * folderStatusOperation(String * folder);
+        
+        virtual IMAPFetchFoldersOperation * fetchSubscribedFoldersOperation();
+        virtual IMAPFetchFoldersOperation * fetchAllFoldersOperation();
+        
+        virtual IMAPOperation * renameFolderOperation(String * folder, String * otherName);
+        virtual IMAPOperation * deleteFolderOperation(String * folder);
+        virtual IMAPOperation * createFolderOperation(String * folder);
+        
+        virtual IMAPOperation * subscribeFolderOperation(String * folder);
+        virtual IMAPOperation * unsubscribeFolderOperation(String * folder);
+        
+        virtual IMAPAppendMessageOperation * appendMessageOperation(String * folder, Data * messageData, MessageFlag flags, Array * customFlags = NULL);
+        
+        virtual IMAPCopyMessagesOperation * copyMessagesOperation(String * folder, IndexSet * uids, String * destFolder);
+        
+        virtual IMAPOperation * expungeOperation(String * folder);
+        
+        virtual IMAPFetchMessagesOperation * fetchMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                         IndexSet * indexes);
+        virtual IMAPFetchMessagesOperation * fetchMessagesByNumberOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                            IndexSet * indexes);
+        virtual IMAPFetchMessagesOperation * syncMessagesByUIDOperation(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                        IndexSet * indexes, uint64_t modSeq);
+        
+        virtual IMAPFetchContentOperation * fetchMessageByUIDOperation(String * folder, uint32_t uid, bool urgent = false);
+        virtual IMAPFetchContentOperation * fetchMessageAttachmentByUIDOperation(String * folder, uint32_t uid, String * partID,
+                                                                                 Encoding encoding, bool urgent = false);
+        
+        virtual IMAPFetchContentOperation * fetchMessageByNumberOperation(String * folder, uint32_t number, bool urgent = false);
+        virtual IMAPCustomCommandOperation * customCommand(String *command, bool urgent);
+        virtual IMAPFetchContentOperation * fetchMessageAttachmentByNumberOperation(String * folder, uint32_t number, String * partID,
+                                                                                    Encoding encoding, bool urgent = false);
+        
+        virtual IMAPFetchParsedContentOperation * fetchParsedMessageByUIDOperation(String * folder, uint32_t uid, bool urgent = false);
+        virtual IMAPFetchParsedContentOperation * fetchParsedMessageByNumberOperation(String * folder, uint32_t number, bool urgent = false);
+
+        virtual IMAPOperation * storeFlagsByUIDOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags = NULL);
+        virtual IMAPOperation * storeFlagsByNumberOperation(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags = NULL);
+        virtual IMAPOperation * storeLabelsByUIDOperation(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels);
+        virtual IMAPOperation * storeLabelsByNumberOperation(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, Array * labels);
+        
+        virtual IMAPSearchOperation * searchOperation(String * folder, IMAPSearchKind kind, String * searchString);
+        virtual IMAPSearchOperation * searchOperation(String * folder, IMAPSearchExpression * expression);
+        
+        virtual IMAPIdleOperation * idleOperation(String * folder, uint32_t lastKnownUID);
+        
+        virtual IMAPFetchNamespaceOperation * fetchNamespaceOperation();
+        
+        virtual IMAPIdentityOperation * identityOperation(IMAPIdentity * identity);
+        
+        virtual IMAPOperation * connectOperation();
+        virtual IMAPOperation * checkAccountOperation();
+        virtual IMAPOperation * disconnectOperation();
+        
+        virtual IMAPCapabilityOperation * capabilityOperation();
+        virtual IMAPQuotaOperation * quotaOperation();
+        
+        virtual IMAPOperation * noopOperation();
+        
+        virtual IMAPMessageRenderingOperation * htmlRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * htmlBodyRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * plainTextRenderingOperation(IMAPMessage * message, String * folder);
+        virtual IMAPMessageRenderingOperation * plainTextBodyRenderingOperation(IMAPMessage * message, String * folder, bool stripWhitespace);
+        
+    public: // private
+        virtual void automaticConfigurationDone(IMAPSession * session);
+        virtual void operationRunningStateChanged();
+        virtual IMAPAsyncConnection * sessionForFolder(String * folder, bool urgent = false);
+        
+    private:
+        Array * mSessions;
+        
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        bool mVoIPEnabled;
+        IMAPNamespace * mDefaultNamespace;
+        time_t mTimeout;
+        bool mAllowsFolderConcurrentAccessEnabled;
+        unsigned int mMaximumConnections;
+        ConnectionLogger * mConnectionLogger;
+        bool mAutomaticConfigurationDone;
+        IMAPIdentity * mServerIdentity;
+        IMAPIdentity * mClientIdentity;
+        bool mQueueRunning;
+        OperationQueueCallback * mOperationQueueCallback;
+#if __APPLE__
+        dispatch_queue_t mDispatchQueue;
+#endif
+        String * mGmailUserDisplayName;
+        
+        virtual IMAPAsyncConnection * session();
+        virtual IMAPAsyncConnection * matchingSessionForFolder(String * folder);
+        virtual IMAPAsyncConnection * availableSession();
+        virtual IMAPMessageRenderingOperation * renderingOperation(IMAPMessage * message,
+                                                                   String * folder,
+                                                                   IMAPMessageRenderingType type);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCapabilityOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCapabilityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..486d54cf06d01be17b4f964d7580d4c3f660ce7e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCapabilityOperation.h
@@ -0,0 +1,38 @@
+//
+//  MCIMAPCapabilityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/4/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCAPABILITYOPERATION_H
+
+#define MAILCORE_MCIMAPCAPABILITYOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPCapabilityOperation : public IMAPOperation {
+    public:
+        IMAPCapabilityOperation();
+        virtual ~IMAPCapabilityOperation();
+        
+        // Result.
+        virtual IndexSet * capabilities();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mCapabilities;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPConnectOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPConnectOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7678ccdd4fc7fe6df909e1108ea3967d6d312c4b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPConnectOperation.h
@@ -0,0 +1,28 @@
+//
+//  MCIMAPConnectOperation.h
+//  mailcore2
+//
+//  Created by Ryan Walklin on 6/09/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCONNECTOPERATION_H
+
+#define MAILCORE_MCIMAPCONNECTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPConnectOperation : public IMAPOperation {
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__MAILCORE_MCIMAPCONNECTOPERATION_H_) */
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6d75447985aa7abe607570c5bef36c8936d7723
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCopyMessagesOperation.h
@@ -0,0 +1,46 @@
+//
+//  MCIMAPCopyMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCOPYMESSAGESOPERATION_H
+
+#define MAILCORE_MCIMAPCOPYMESSAGESOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPCopyMessagesOperation : public IMAPOperation {
+    public:
+        IMAPCopyMessagesOperation();
+        virtual ~IMAPCopyMessagesOperation();
+        
+        virtual void setDestFolder(String * destFolder);
+        virtual String * destFolder();
+        
+        virtual void setUids(IndexSet * uids);
+        virtual IndexSet * uids();
+        
+        // Result.
+        virtual HashMap * uidMapping();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mUids;
+        String * mDestFolder;
+        HashMap * mUidMapping;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2ce20feb7518d12ec656193284308522edda11c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPCustomCommandOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCIMAPCustomCommandOperation.h
+//  mailcore2
+//
+//  Created by Libor Huspenina on 18/10/2015.
+//  Copyright © 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPCUSTOMCOMMANDOPERATION_H
+
+#define MAILCORE_MCIMAPCUSTOMCOMMANDOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class MAILCORE_EXPORT IMAPCustomCommandOperation : public IMAPOperation {
+    public:
+        IMAPCustomCommandOperation();
+        virtual ~IMAPCustomCommandOperation();
+
+        virtual void setCustomCommand(String *command);
+        virtual String * response();
+
+    public: // subclass behavior
+        virtual void main();
+
+    private:
+        String * mCustomCommand;
+        String * mResponse;
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchContentOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b5b70f2841006516be5cdc2cbc9808b3a40917d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchContentOperation.h
@@ -0,0 +1,55 @@
+//
+//  IMAPFetchContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_IMAPFETCHCONTENTOPERATION_H
+
+#define MAILCORE_IMAPFETCHCONTENTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchContentOperation : public IMAPOperation {
+    public:
+        IMAPFetchContentOperation();
+        virtual ~IMAPFetchContentOperation();
+        
+        virtual void setUid(uint32_t uid);
+        virtual uint32_t uid();
+        
+        virtual void setNumber(uint32_t value);
+        virtual uint32_t number();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+        // Result.
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mUid;
+        uint32_t mNumber;
+        String * mPartID;
+        Encoding mEncoding;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..f6456a36786d02cc6bd703d76574c18e31aff492
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchFoldersOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCIMAPFetchFoldersOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHFOLDERSOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHFOLDERSOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchFoldersOperation : public IMAPOperation {
+    public:
+        IMAPFetchFoldersOperation();
+        virtual ~IMAPFetchFoldersOperation();
+        
+        virtual void setFetchSubscribedEnabled(bool enabled);
+        virtual bool isFetchSubscribedEnabled();
+        
+        // Result.
+        virtual Array * /* IMAPFolder */ folders();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mFetchSubscribedEnabled;
+        Array * mFolders;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..620aead64adf6978052a0c5adfd67a100d41eaad
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchMessagesOperation.h
@@ -0,0 +1,61 @@
+//
+//  IMAPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHMESSAGESOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchMessagesOperation : public IMAPOperation {
+    public:
+        IMAPFetchMessagesOperation();
+        virtual ~IMAPFetchMessagesOperation();
+        
+        virtual void setFetchByUidEnabled(bool enabled);
+        virtual bool isFetchByUidEnabled();
+        
+        virtual void setIndexes(IndexSet * indexes);
+        virtual IndexSet * indexes();
+        
+        virtual void setModSequenceValue(uint64_t modseq);
+        virtual uint64_t modSequenceValue();
+        
+        virtual void setKind(IMAPMessagesRequestKind kind);
+        virtual IMAPMessagesRequestKind kind();
+        
+        virtual void setExtraHeaders(Array * extraHeaders);
+        virtual Array * extraHeaders();
+        
+        // Result.
+        virtual Array * /* IMAPMessage */ messages();
+        virtual IndexSet * vanishedMessages();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mFetchByUidEnabled;
+        IndexSet * mIndexes;
+        IMAPMessagesRequestKind mKind;
+        Array * /* String */ mExtraHeaders;
+        Array * /* IMAPMessage */ mMessages;
+        IndexSet * mVanishedMessages;
+        uint64_t mModSequenceValue;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..35b6ca2b9758daf5c38bdcce55a1c2e9147a0c77
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchNamespaceOperation.h
@@ -0,0 +1,39 @@
+//
+//  IMAPFetchNamespaceOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFETCHNAMESPACEOPERATION_H
+
+#define MAILCORE_MCIMAPFETCHNAMESPACEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFetchNamespaceOperation : public IMAPOperation {
+    public:
+        IMAPFetchNamespaceOperation();
+        virtual ~IMAPFetchNamespaceOperation();
+        
+        // Result.
+        virtual HashMap * namespaces();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        HashMap * mNamespaces;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec0485a95f821ad994e6ee0776111c8e7996d271
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFetchParsedContentOperation.h
@@ -0,0 +1,53 @@
+//
+//  IMAPFetchParsedContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_IMAPFETCHPARSEDCONTENTOPERATION_H
+
+#define MAILCORE_IMAPFETCHPARSEDCONTENTOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#include <MailCore/MCRFC822.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class MAILCORE_EXPORT IMAPFetchParsedContentOperation : public IMAPOperation {
+    public:
+        IMAPFetchParsedContentOperation();
+        virtual ~IMAPFetchParsedContentOperation();
+        
+        virtual void setUid(uint32_t uid);
+        virtual uint32_t uid();
+        
+        virtual void setNumber(uint32_t value);
+        virtual uint32_t number();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+        // Result.
+        virtual MessageParser * parser();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mUid;
+        uint32_t mNumber;
+        Encoding mEncoding;
+        MessageParser * mParser;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolder.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolder.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d9c111f9f27dad24d05839967548068cf97c5bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolder.h
@@ -0,0 +1,42 @@
+#ifndef MAILCORE_MCIMAPFOLDER_H
+
+#define MAILCORE_MCIMAPFOLDER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolder : public Object {
+    public:
+        IMAPFolder();
+        virtual ~IMAPFolder();
+        
+        virtual void setPath(String * path);
+        virtual String * path();
+        
+        virtual void setDelimiter(char delimiter);
+        virtual char delimiter();
+        
+        virtual void setFlags(IMAPFolderFlag flags);
+        virtual IMAPFolderFlag flags();
+        
+    public: // subclass behavior
+        IMAPFolder(IMAPFolder * other);
+        virtual Object * copy();
+        virtual String * description();
+        
+    private:
+        String * mPath;
+        char mDelimiter;
+        IMAPFolderFlag mFlags;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..c0fa7c3562e7342ab3a448cc8eace341c82b4db8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfo.h
@@ -0,0 +1,63 @@
+//
+//  MCIMAPFolderInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 12/6/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFolderInfo_H
+
+#define MAILCORE_MCIMAPFolderInfo_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolderInfo : public Object {
+    public:
+        IMAPFolderInfo();
+        virtual ~IMAPFolderInfo();
+        
+        virtual void setUidNext(uint32_t uidNext);
+        virtual uint32_t uidNext();
+        
+        virtual void setUidValidity(uint32_t uidValidity);
+        virtual uint32_t uidValidity();
+        
+        virtual void setModSequenceValue(uint64_t modSequenceValue);
+        virtual uint64_t modSequenceValue();
+        
+        virtual void setMessageCount(int messageCount);
+        virtual int messageCount();
+        
+        virtual void setFirstUnseenUid(uint32_t firstUnseenUid);
+        virtual uint32_t firstUnseenUid();
+        
+        virtual void setAllowsNewPermanentFlags(bool allowsNewPermanentFlags);
+        virtual bool allowsNewPermanentFlags();
+        
+    public: // subclass behavior
+        IMAPFolderInfo(IMAPFolderInfo * other);
+        virtual Object * copy();		
+        
+    private:
+        uint32_t mUidNext;
+        uint32_t mUidValidity;
+        uint64_t mModSequenceValue;
+        int mMessageCount;
+        uint32_t mFirstUnseenUid;
+        bool mAllowsNewPermanentFlags;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0b5128c7d0dcc9e47bb7680a3e6be863dc1bea4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderInfoOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCIMAPFolderInfoOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/13/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFOLDERINFOOPERATION_H
+
+#define MAILCORE_MCIMAPFOLDERINFOOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+
+    class IMAPFolderInfo;
+    
+    class MAILCORE_EXPORT IMAPFolderInfoOperation : public IMAPOperation {
+    public:
+        IMAPFolderInfoOperation();
+        virtual ~IMAPFolderInfoOperation();
+
+        IMAPFolderInfo * info();
+
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+
+        IMAPFolderInfo * mInfo;
+
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatus.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatus.h
new file mode 100644
index 0000000000000000000000000000000000000000..8bfac59f78874f65a7a7209d47f3abe1457cf689
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatus.h
@@ -0,0 +1,64 @@
+//
+//  MCIMAPFolderStatus.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPFOLDERSTATUS_H
+
+#define MAILCORE_MCIMAPFOLDERSTATUS_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPFolderStatus : public Object {
+    public:
+        IMAPFolderStatus();
+        virtual ~IMAPFolderStatus();
+        
+        virtual void setUnseenCount(uint32_t unseen);
+        virtual uint32_t unseenCount();
+        
+        virtual void setMessageCount(uint32_t messages);
+        virtual uint32_t messageCount();
+        
+        virtual void setRecentCount(uint32_t recent);
+        virtual uint32_t recentCount();
+        
+        virtual void setUidNext(uint32_t uidNext);
+        virtual uint32_t uidNext();
+        
+        virtual void setUidValidity(uint32_t uidValidity);
+        virtual uint32_t uidValidity();
+        
+        virtual void setHighestModSeqValue(uint64_t highestModSeqValue);
+        virtual uint64_t highestModSeqValue();
+        
+    public: // subclass behavior
+        IMAPFolderStatus(IMAPFolderStatus * other);
+        virtual Object * copy();		
+        virtual String * description();
+        
+    private:
+        uint32_t mUnseenCount;
+        uint32_t mMessageCount;
+        uint32_t mRecentCount;
+        uint32_t mUidNext;
+        uint32_t mUidValidity;
+        uint64_t mHighestModSeqValue;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..53e3025bea2e66dda843277a11c58330025b2569
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPFolderStatusOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCIMAPFolderStatusOperation.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+
+#ifndef MAILCORE_MCIMAPFOLDERSTATUSOPERATION_H
+
+#define MAILCORE_MCIMAPFOLDERSTATUSOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPFolderStatus;
+    
+    class MAILCORE_EXPORT IMAPFolderStatusOperation : public IMAPOperation {
+    public:
+        IMAPFolderStatusOperation();
+        virtual ~IMAPFolderStatusOperation();
+        
+        // Results.
+        virtual IMAPFolderStatus * status();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPFolderStatus * mStatus;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentity.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentity.h
new file mode 100644
index 0000000000000000000000000000000000000000..ee6b3c5e637f65d10a02ecb115c2806c85f89159
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentity.h
@@ -0,0 +1,56 @@
+//
+//  MCIMAPIdentity.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 8/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDENTITY_H
+
+#define MAILCORE_MCIMAPIDENTITY_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPIdentity : public Object {
+    public:
+        
+        IMAPIdentity();
+        virtual ~IMAPIdentity();
+
+        virtual void setVendor(String * vendor);
+        virtual String * vendor();
+        
+        virtual void setName(String * name);
+        virtual String * name();
+        
+        virtual void setVersion(String * version);
+        virtual String * version();
+
+        virtual void removeAllInfos();
+        
+        virtual Array * allInfoKeys();
+        virtual String * infoForKey(String * key);
+        virtual void setInfoForKey(String * key, String * value);
+        
+    public: // subclass behavior
+        IMAPIdentity(IMAPIdentity * identity);
+        virtual Object * copy();
+        virtual String * description();
+        
+    private:
+        HashMap * mValues;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentityOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..70cc7d523242d69f5813690bd736d34b0bc55515
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdentityOperation.h
@@ -0,0 +1,45 @@
+//
+//  IMAPIdentityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDENTITYOPERATION_H
+
+#define MAILCORE_MCIMAPIDENTITYOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPIdentity;
+    
+    class MAILCORE_EXPORT IMAPIdentityOperation : public IMAPOperation {
+    public:
+        IMAPIdentityOperation();
+        virtual ~IMAPIdentityOperation();
+        
+        virtual void setClientIdentity(IMAPIdentity * identity);
+        virtual IMAPIdentity * clientIdentity();
+        
+        // Result.
+        virtual IMAPIdentity * serverIdentity();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPIdentity * mClientIdentity;
+        IMAPIdentity * mServerIdentity;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdleOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a383bfd93638edc07e2c5967121431510c2c4d8
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPIdleOperation.h
@@ -0,0 +1,46 @@
+//
+//  IMAPIdleOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPIDLEOPERATION_H
+
+#define MAILCORE_MCIMAPIDLEOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPIdleOperation : public IMAPOperation {
+    public:
+        IMAPIdleOperation();
+        virtual ~IMAPIdleOperation();
+        
+        virtual void setLastKnownUID(uint32_t uid);
+        virtual uint32_t lastKnownUID();
+        
+        virtual void interruptIdle();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mLastKnownUid;
+        bool mSetupSuccess;
+        bool mInterrupted;
+        pthread_mutex_t mLock;
+        void prepare(void * data);
+        void unprepare(void * data);
+        bool isInterrupted();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessage.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..c36a9ad1a62f74af0b37d29de44c8cf11c628d7d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessage.h
@@ -0,0 +1,92 @@
+#ifndef MAILCORE_IMAP_MESSAGE_H
+
+#define MAILCORE_IMAP_MESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPPart;
+    class HTMLRendererIMAPCallback;
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT IMAPMessage : public AbstractMessage {
+    public:
+        IMAPMessage();
+        virtual ~IMAPMessage();
+        
+        virtual uint32_t sequenceNumber();
+        virtual void setSequenceNumber(uint32_t sequenceNumber);
+        
+        virtual uint32_t uid();
+        virtual void setUid(uint32_t uid);
+        
+        virtual uint32_t size();
+        virtual void setSize(uint32_t size);
+        
+        virtual void setFlags(MessageFlag flags);
+        virtual MessageFlag flags();
+        
+        virtual void setOriginalFlags(MessageFlag flags);
+        virtual MessageFlag originalFlags();
+        
+        virtual void setCustomFlags(Array * customFlags);
+        virtual Array * customFlags();
+        
+        virtual uint64_t modSeqValue();
+        virtual void setModSeqValue(uint64_t uid);
+        
+        virtual void setMainPart(AbstractPart * mainPart);
+        virtual AbstractPart * mainPart();
+        
+        virtual void setGmailLabels(Array * /* String */ labels);
+        virtual Array * /* String */ gmailLabels();
+        
+        virtual void setGmailMessageID(uint64_t msgID);
+        virtual uint64_t gmailMessageID();
+                
+        virtual void setGmailThreadID(uint64_t threadID);
+        virtual uint64_t gmailThreadID();
+        
+        virtual AbstractPart * partForPartID(String * partID);
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual String * htmlRendering(String * folder,
+                                       HTMLRendererIMAPCallback * dataCallback,
+                                       HTMLRendererTemplateCallback * htmlCallback = NULL);
+        
+    public: // subclass behavior
+        IMAPMessage(IMAPMessage * other);
+        virtual Object * copy();
+        virtual String * description();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        uint64_t mModSeqValue;
+        uint32_t mUid;
+        uint32_t mSize;
+        uint32_t mSequenceNumber; // not serialized.
+        
+        MessageFlag mFlags;
+        MessageFlag mOriginalFlags;
+        Array * /* String */ mCustomFlags;
+        AbstractPart * mMainPart;
+        Array * /* String */ mGmailLabels;
+        uint64_t mGmailMessageID;
+        uint64_t mGmailThreadID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..76317201772d065c0ee3fea5fbd4b76fea01f093
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessagePart.h
@@ -0,0 +1,34 @@
+#ifndef MAILCORE_IMAPMESSAGEPART_H
+
+#define MAILCORE_IMAPMESSAGEPART_H
+
+#include <MailCore/MCAbstractMessagePart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMessagePart : public AbstractMessagePart {
+    public:
+        IMAPMessagePart();
+        virtual ~IMAPMessagePart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+    public: // subclass behavior
+        IMAPMessagePart(IMAPMessagePart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        String * mPartID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7a02b4ae13b7ae6a4f4af6c2f0664d2422959691
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMessageRenderingOperation.h
@@ -0,0 +1,48 @@
+//
+//  MCIMAPMessageRenderingOperation.h
+//  mailcore2
+//
+//  Created by Paul Young on 27/06/2013.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPMessageRenderingOperation_H
+
+#define MAILCORE_MCIMAPMessageRenderingOperation_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCIMAPMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMessageRenderingOperation : public IMAPOperation {
+    public:
+        IMAPMessageRenderingOperation();
+        virtual ~IMAPMessageRenderingOperation();
+        
+        virtual void setRenderingType(IMAPMessageRenderingType type);
+        virtual IMAPMessageRenderingType renderingType();
+        
+        virtual void setMessage(IMAPMessage * message);
+        virtual IMAPMessage * message();
+        
+        // Result.
+        virtual String * result();
+        
+    public: // subclass behavior
+        virtual void main();
+    
+    private:
+        IMAPMessageRenderingType mRenderingType;
+        String * mResult;
+        IMAPMessage * mMessage;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..913966245c09c53d9c231d32389c16e67f5fef39
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPMultipart.h
@@ -0,0 +1,34 @@
+#ifndef MAILCORE_MCIMAPMULTIPART_H
+
+#define MAILCORE_MCIMAPMULTIPART_H
+
+#include <MailCore/MCAbstractMultipart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPMultipart : public AbstractMultipart {
+    public:
+        IMAPMultipart();
+        virtual ~IMAPMultipart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+    public: // subclass behavior
+        IMAPMultipart(IMAPMultipart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        String * mPartID;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespace.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespace.h
new file mode 100644
index 0000000000000000000000000000000000000000..711fb7e5fd761dee10561a52a00702f67e21d463
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespace.h
@@ -0,0 +1,53 @@
+#ifndef MAILCORE_MCIMAPNAMESPACE_H
+
+#define MAILCORE_MCIMAPNAMESPACE_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPNamespaceItem;
+    
+    class MAILCORE_EXPORT IMAPNamespace : public Object {
+    public:
+        IMAPNamespace();
+        virtual ~IMAPNamespace();
+        
+        virtual String * mainPrefix();
+        virtual char mainDelimiter();
+        
+        virtual Array * /* String */ prefixes();
+        
+        virtual String * pathForComponents(Array * components);
+        virtual String * pathForComponentsAndPrefix(Array * components, String * prefix);
+        
+        virtual Array * /* String */ componentsFromPath(String * path);
+        
+        virtual bool containsFolderPath(String * path);
+        
+        static IMAPNamespace * namespaceWithPrefix(String * prefix, char delimiter);
+        
+    public: // subclass behavior
+        IMAPNamespace(IMAPNamespace * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+    private:
+        Array * /* String */ mItems;
+        void init();
+        IMAPNamespaceItem * mainItem();
+        IMAPNamespaceItem * itemForPath(String * path);
+        
+    public: // private
+        virtual void importIMAPNamespace(struct mailimap_namespace_item * item);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespaceItem.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespaceItem.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fffed983fbd60a736c427d9b18a10d9db5a1f2b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNamespaceItem.h
@@ -0,0 +1,48 @@
+#ifndef MAILCORE_MCIMAPNAMESPACEITEM_H
+
+#define MAILCORE_MCIMAPNAMESPACEITEM_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPNamespaceItem : public Object {
+    public:
+        IMAPNamespaceItem();
+        virtual ~IMAPNamespaceItem();
+        
+        virtual void setPrefix(String * prefix);
+        virtual String * prefix();
+        
+        virtual void setDelimiter(char delimiter);
+        virtual char delimiter();
+        
+        virtual String * pathForComponents(Array * components);
+        virtual Array * /* String */ componentsForPath(String * path);
+        
+        virtual bool containsFolder(String * folder);
+        
+    public: // subclass behavior
+        IMAPNamespaceItem(IMAPNamespaceItem * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+    private:
+        char mDelimiter;
+        String * mPrefix;
+        void init();
+        
+    public: // private
+        virtual void importIMAPNamespaceInfo(struct mailimap_namespace_info * info);
+    
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..515f563a9b2a1100f1dba1531b6ee037ca977978
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPNoopOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCIMAPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPNOOPOPERATION_H
+
+#define MAILCORE_MCIMAPNOOPOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPNoopOperation : public IMAPOperation {
+    public:
+        IMAPNoopOperation();
+        virtual ~IMAPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a57d74894f0d969679a6924548891d018cd31e45
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperation.h
@@ -0,0 +1,73 @@
+//
+//  MCIMAPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPOPERATION_H
+
+#define MAILCORE_MCIMAPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCIMAPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPAsyncConnection;
+    class IMAPAsyncSession;
+    class IMAPOperationCallback;
+    
+    class MAILCORE_EXPORT IMAPOperation : public Operation, public IMAPProgressCallback {
+    public:
+        IMAPOperation();
+        virtual ~IMAPOperation();
+        
+        virtual void setMainSession(IMAPAsyncSession * session);
+        virtual IMAPAsyncSession * mainSession();
+
+        virtual void setSession(IMAPAsyncConnection * session);
+        virtual IMAPAsyncConnection * session();
+        
+        virtual void setFolder(String * folder);
+        virtual String * folder();
+        
+        virtual void setUrgent(bool urgent);
+        virtual bool isUrgent();
+        
+        virtual void setImapCallback(IMAPOperationCallback * callback);
+        virtual IMAPOperationCallback * imapCallback();
+        
+        virtual void beforeMain();
+        virtual void afterMain();
+        
+        virtual void start();
+        
+        // Result.
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+    private:
+        IMAPAsyncSession * mMainSession;
+        IMAPAsyncConnection * mSession;
+        String * mFolder;
+        IMAPOperationCallback * mImapCallback;
+        ErrorCode mError;
+        bool mUrgent;
+        
+    private:
+        virtual void bodyProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        virtual void itemsProgress(IMAPSession * session, unsigned int current, unsigned int maximum);
+        virtual void itemsProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..c5e14ffb201e0ad62ee26295e63ed03e9180ca14
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPOperationCallback.h
@@ -0,0 +1,31 @@
+//
+//  MCIMAPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCIMAPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPOperation;
+    
+    class MAILCORE_EXPORT IMAPOperationCallback {
+    public:
+        virtual void bodyProgress(IMAPOperation * session, unsigned int current, unsigned int maximum) {};
+        virtual void itemProgress(IMAPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPPart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..1a34da21759017dc1913ccc10d6189572f5f2eb2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPPart.h
@@ -0,0 +1,66 @@
+#ifndef MAILCORE_MCIMAPPART_H
+
+#define MAILCORE_MCIMAPPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractPart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPMessagePart;
+    class IMAPMultipart;
+    
+    class MAILCORE_EXPORT IMAPPart : public AbstractPart {
+    public:
+        IMAPPart();
+        virtual ~IMAPPart();
+        
+        virtual void setPartID(String * partID);
+        virtual String * partID();
+        
+        virtual void setSize(unsigned int size);
+        virtual unsigned int size();
+        
+        virtual unsigned int decodedSize();
+        
+        virtual void setEncoding(Encoding encoding);
+        virtual Encoding encoding();
+        
+    public: // subclass behavior
+        IMAPPart(IMAPPart * other);
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        static AbstractPart * attachmentWithIMAPBody(struct mailimap_body * body);
+        
+        virtual void importIMAPFields(struct mailimap_body_fields * fields,
+                                      struct mailimap_body_ext_1part * extension);
+        
+    private:
+        String * mPartID;
+        Encoding mEncoding;
+        unsigned int mSize;
+        void init();
+        static AbstractPart * attachmentWithIMAPBodyInternal(struct mailimap_body * body, String * partID);
+        static AbstractPart * attachmentWithIMAPBody1Part(struct mailimap_body_type_1part * body_1part,
+                                                          String * partID);
+        static IMAPMessagePart * attachmentWithIMAPBody1PartMessage(struct mailimap_body_type_msg * message,
+                                                                    struct mailimap_body_ext_1part * extension,
+                                                                    String * partID);
+        static IMAPPart * attachmentWithIMAPBody1PartBasic(struct mailimap_body_type_basic * basic,
+                                                           struct mailimap_body_ext_1part * extension);
+        static IMAPPart * attachmentWithIMAPBody1PartText(struct mailimap_body_type_text * text,
+                                                          struct mailimap_body_ext_1part * extension);
+        static IMAPMultipart * attachmentWithIMAPBodyMultipart(struct mailimap_body_type_mpart * body_mpart,
+                                                               String * partID);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..b461eefdbf9dac3f1b66fb0133ecbcb2e1a05b14
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPProgressCallback.h
@@ -0,0 +1,23 @@
+#ifndef MAILCORE_MCIMAPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCIMAPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class IMAPSession;
+    
+    class MAILCORE_EXPORT IMAPProgressCallback {
+    public:
+        virtual void bodyProgress(IMAPSession * session, unsigned int current, unsigned int maximum) {};
+        virtual void itemsProgress(IMAPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPQuotaOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPQuotaOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..15a1c676aa82a4d1d99603030f8138a78f523c0c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPQuotaOperation.h
@@ -0,0 +1,40 @@
+//
+//  MCIMAPQuotaOperation.h
+//  mailcore2
+//
+//  Created by Petro Korenev on 8/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPQuotaOperation_H
+
+#define MAILCORE_MCIMAPQuotaOperation_H
+
+#include "MCIMAPOperation.h"
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPQuotaOperation : public IMAPOperation {
+    public:
+        IMAPQuotaOperation();
+        virtual ~IMAPQuotaOperation();
+        
+        // Result.
+        virtual uint32_t limit();
+        virtual uint32_t usage();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        uint32_t mLimit;
+        uint32_t mUsage;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchExpression.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchExpression.h
new file mode 100644
index 0000000000000000000000000000000000000000..182f301385c5af87b635d385a93d30d3fd6fed70
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchExpression.h
@@ -0,0 +1,88 @@
+#ifndef MAILCORE_MCIMAPSEARCHEXPRESSION_H
+
+#define MAILCORE_MCIMAPSEARCHEXPRESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPSearchExpression : public Object {
+    public:
+        IMAPSearchExpression();
+        virtual ~IMAPSearchExpression();
+        
+        virtual IMAPSearchKind kind();
+        virtual String * header();
+        virtual String * value();
+        virtual uint64_t longNumber();
+        virtual time_t date();
+        virtual IndexSet * uids();
+        virtual IndexSet * numbers();
+        
+        
+        virtual IMAPSearchExpression * leftExpression();
+        virtual IMAPSearchExpression * rightExpression();
+        
+        static IMAPSearchExpression * searchAll();
+        static IMAPSearchExpression * searchFrom(String * value);
+        static IMAPSearchExpression * searchTo(String *value);
+        static IMAPSearchExpression * searchCc(String *value);
+        static IMAPSearchExpression * searchBcc(String *value);
+        static IMAPSearchExpression * searchRecipient(String * value);
+        static IMAPSearchExpression * searchSubject(String * value);
+        static IMAPSearchExpression * searchContent(String * value);
+        static IMAPSearchExpression * searchBody(String * value);
+        static IMAPSearchExpression * searchHeader(String * header, String * value);
+        static IMAPSearchExpression * searchUIDs(IndexSet * uids);
+        static IMAPSearchExpression * searchNumbers(IndexSet * numbers);
+        static IMAPSearchExpression * searchRead();
+        static IMAPSearchExpression * searchUnread();
+        static IMAPSearchExpression * searchFlagged();
+        static IMAPSearchExpression * searchUnflagged();
+        static IMAPSearchExpression * searchAnswered();
+        static IMAPSearchExpression * searchUnanswered();
+        static IMAPSearchExpression * searchDraft();
+        static IMAPSearchExpression * searchUndraft();
+        static IMAPSearchExpression * searchDeleted();
+        static IMAPSearchExpression * searchSpam();
+        static IMAPSearchExpression * searchBeforeDate(time_t date);
+        static IMAPSearchExpression * searchOnDate(time_t date);
+        static IMAPSearchExpression * searchSinceDate(time_t date);
+        static IMAPSearchExpression * searchBeforeReceivedDate(time_t date);
+        static IMAPSearchExpression * searchOnReceivedDate(time_t date);
+        static IMAPSearchExpression * searchSinceReceivedDate(time_t date);
+        static IMAPSearchExpression * searchSizeLarger(uint32_t size);
+        static IMAPSearchExpression * searchSizeSmaller(uint32_t size);
+        static IMAPSearchExpression * searchGmailThreadID(uint64_t number);
+        static IMAPSearchExpression * searchGmailMessageID(uint64_t number);
+        static IMAPSearchExpression * searchGmailRaw(String * expr);
+        static IMAPSearchExpression * searchAnd(IMAPSearchExpression * left, IMAPSearchExpression * right);
+        static IMAPSearchExpression * searchOr(IMAPSearchExpression * left, IMAPSearchExpression * right);
+        static IMAPSearchExpression * searchNot(IMAPSearchExpression * notExpr);
+        
+        
+    public: // subclass behavior
+        IMAPSearchExpression(IMAPSearchExpression * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        IMAPSearchKind mKind;
+        String * mHeader;
+        String * mValue;
+        uint64_t mLongNumber;
+        IndexSet * mUids;
+        IndexSet * mNumbers;
+        IMAPSearchExpression * mLeftExpression;
+        IMAPSearchExpression * mRightExpression;
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bb9cef081bde6869cdceb16c5d6720f543b39a00
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSearchOperation.h
@@ -0,0 +1,54 @@
+//
+//  IMAPSearchOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/12/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPSEARCHOPERATION_H
+
+#define MAILCORE_MCIMAPSEARCHOPERATION_H
+
+#include <MailCore/MCIMAPOperation.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class IMAPSearchExpression;
+    
+    class MAILCORE_EXPORT IMAPSearchOperation : public IMAPOperation {
+    public:
+        IMAPSearchOperation();
+        virtual ~IMAPSearchOperation();
+        
+        virtual void setSearchKind(IMAPSearchKind kind);
+        virtual IMAPSearchKind searchKind();
+        
+        virtual void setSearchString(String * searchString);
+        virtual String * searchString();
+        
+        virtual void setSearchExpression(IMAPSearchExpression * expression);
+        virtual IMAPSearchExpression * searchExpression();
+        
+        // Result.
+        virtual IndexSet * uids();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IMAPSearchKind mKind;
+        String * mSearchString;
+        IMAPSearchExpression * mExpression;
+        IndexSet * mUids;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..5ee6bc1c76264ca44e3157c2fe346057624ce9bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSession.h
@@ -0,0 +1,298 @@
+#ifndef MAILCORE_MCIMAPSESSION_H
+
+#define MAILCORE_MCIMAPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+#include <MailCore/MCIMAPMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    extern String * IMAPNamespacePersonal;
+    extern String * IMAPNamespaceOther;
+    extern String * IMAPNamespaceShared;
+    
+    class IMAPNamespace;
+    class IMAPSearchExpression;
+    class IMAPFolder;
+    class IMAPProgressCallback;
+    class IMAPSyncResult;
+    class IMAPFolderStatus;
+    class IMAPIdentity;
+    
+    class MAILCORE_EXPORT IMAPSession : public Object {
+    public:
+        IMAPSession();
+        virtual ~IMAPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setVoIPEnabled(bool enabled);
+        virtual bool isVoIPEnabled();
+        
+        // Needed for fetchSubscribedFolders() and fetchAllFolders().
+        virtual void setDefaultNamespace(IMAPNamespace * ns);
+        virtual IMAPNamespace * defaultNamespace();
+        
+        virtual IMAPIdentity * serverIdentity();
+        virtual IMAPIdentity * clientIdentity();
+        
+        virtual void select(String * folder, ErrorCode * pError);
+        virtual IMAPFolderStatus * folderStatus(String * folder, ErrorCode * pError);
+        
+        virtual Array * /* IMAPFolder */ fetchSubscribedFolders(ErrorCode * pError);
+        virtual Array * /* IMAPFolder */ fetchAllFolders(ErrorCode * pError); // will use xlist if available
+        
+        virtual void renameFolder(String * folder, String * otherName, ErrorCode * pError);
+        virtual void deleteFolder(String * folder, ErrorCode * pError);
+        virtual void createFolder(String * folder, ErrorCode * pError);
+        
+        virtual void subscribeFolder(String * folder, ErrorCode * pError);
+        virtual void unsubscribeFolder(String * folder, ErrorCode * pError);
+        
+        virtual void appendMessage(String * folder, Data * messageData, MessageFlag flags,
+                                   IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        virtual void appendMessageWithCustomFlags(String * folder, Data * messageData, MessageFlag flags, Array * customFlags,
+                                   IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        virtual void appendMessageWithCustomFlagsAndDate(String * folder, Data * messageData, MessageFlag flags, Array * customFlags, time_t date,
+                                                         IMAPProgressCallback * progressCallback, uint32_t * createdUID, ErrorCode * pError);
+        
+        virtual void copyMessages(String * folder, IndexSet * uidSet, String * destFolder,
+                                  HashMap ** pUidMapping, ErrorCode * pError);
+        
+        virtual void expunge(String * folder, ErrorCode * pError);
+        
+        virtual Array * /* IMAPMessage */ fetchMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
+                                                             IndexSet * uids, IMAPProgressCallback * progressCallback,
+                                                             ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByUIDWithExtraHeaders(String * folder,
+                                                                             IMAPMessagesRequestKind requestKind,
+                                                                             IndexSet * uids,
+                                                                             IMAPProgressCallback * progressCallback,
+                                                                             Array * extraHeaders, ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByNumber(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                IndexSet * numbers, IMAPProgressCallback * progressCallback,
+                                                                ErrorCode * pError);
+        virtual Array * /* IMAPMessage */ fetchMessagesByNumberWithExtraHeaders(String * folder,
+                                                                                IMAPMessagesRequestKind requestKind,
+                                                                                IndexSet * numbers,
+                                                                                IMAPProgressCallback * progressCallback,
+                                                                                Array * extraHeaders, ErrorCode * pError);
+        virtual String * customCommand(String * command, ErrorCode * pError);
+
+        virtual Data * fetchMessageByUID(String * folder, uint32_t uid,
+                                         IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageByNumber(String * folder, uint32_t number,
+                                            IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageAttachmentByUID(String * folder, uint32_t uid, String * partID,
+                                                   Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual Data * fetchMessageAttachmentByNumber(String * folder, uint32_t number, String * partID,
+                                                      Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        virtual HashMap * fetchMessageNumberUIDMapping(String * folder, uint32_t fromUID, uint32_t toUID,
+                                                       ErrorCode * pError);
+        
+        /* When CONDSTORE or QRESYNC is available */
+        virtual IMAPSyncResult * syncMessagesByUID(String * folder, IMAPMessagesRequestKind requestKind,
+                                                   IndexSet * uids, uint64_t modseq,
+                                                   IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        /* Same as syncMessagesByUID, allows for extra headers */
+        virtual IMAPSyncResult * syncMessagesByUIDWithExtraHeaders(String * folder, IMAPMessagesRequestKind requestKind,
+                                                                   IndexSet * uids, uint64_t modseq,
+                                                                   IMAPProgressCallback * progressCallback,
+                                                                   Array * extraHeaders, ErrorCode * pError);
+        
+        virtual void storeFlagsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, ErrorCode * pError);
+        virtual void storeFlagsAndCustomFlagsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        virtual void storeFlagsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, ErrorCode * pError);
+        virtual void storeFlagsAndCustomFlagsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        
+        virtual void storeLabelsByUID(String * folder, IndexSet * uids, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+        virtual void storeLabelsByNumber(String * folder, IndexSet * numbers, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+        
+        virtual IndexSet * search(String * folder, IMAPSearchKind kind, String * searchString, ErrorCode * pError);
+        virtual IndexSet * search(String * folder, IMAPSearchExpression * expression, ErrorCode * pError);
+        virtual void getQuota(uint32_t *usage, uint32_t *limit, ErrorCode * pError);
+        
+        virtual bool setupIdle();
+        virtual void idle(String * folder, uint32_t lastKnownUID, ErrorCode * pError);
+        virtual void interruptIdle();
+        virtual void unsetupIdle();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void noop(ErrorCode * pError);
+        
+        virtual HashMap * fetchNamespace(ErrorCode * pError);
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual IMAPIdentity * identity(IMAPIdentity * clientIdentity, ErrorCode * pError);
+        
+        virtual IndexSet * capability(ErrorCode * pError);
+        
+        virtual void enableCompression(ErrorCode * pError);
+        
+        virtual uint32_t uidValidity();
+        virtual uint32_t uidNext();
+        virtual uint64_t modSequenceValue();
+        virtual unsigned int lastFolderMessageCount();
+        virtual uint32_t firstUnseenUid();
+        
+        virtual bool isIdleEnabled();
+        virtual bool isXListEnabled();
+        virtual bool isCondstoreEnabled();
+        virtual bool isQResyncEnabled();
+        virtual bool isIdentityEnabled();
+        virtual bool isXOAuthEnabled();
+        virtual bool isNamespaceEnabled();
+        virtual bool isCompressionEnabled();
+        virtual bool allowsNewPermanentFlags(); 
+      
+        virtual String * gmailUserDisplayName() DEPRECATED_ATTRIBUTE;
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+        /** HTML rendering of the body of the message to be displayed in a web view.*/
+        virtual String * htmlRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** HTML rendering of the body of the message.*/
+        virtual String * htmlBodyRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** Text rendering of the message.*/
+        virtual String * plainTextRendering(IMAPMessage * message, String * folder, ErrorCode * pError);
+        
+        /** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+         This method can be used to generate the summary of the message.*/
+        virtual String * plainTextBodyRendering(IMAPMessage * message, String * folder, bool stripWhitespace, ErrorCode * pError);
+        
+        /** Enable automatic query of the capabilities of the IMAP server when set to true. */
+        virtual void setAutomaticConfigurationEnabled(bool enabled);
+        
+        /** Check if the automatic query of the capabilities of the IMAP server is enabled. */
+        virtual bool isAutomaticConfigurationEnabled();
+        
+    public: // private
+        virtual void loginIfNeeded(ErrorCode * pError);
+        virtual void connectIfNeeded(ErrorCode * pError);
+        virtual void selectIfNeeded(String * folder, ErrorCode * pError);
+        virtual bool isDisconnected();
+        virtual bool isAutomaticConfigurationDone();
+        virtual void resetAutomaticConfigurationDone();
+        virtual void applyCapabilities(IndexSet * capabilities);
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        bool mVoIPEnabled;
+        char mDelimiter;
+        IMAPNamespace * mDefaultNamespace;
+        IMAPIdentity * mServerIdentity;
+        IMAPIdentity * mClientIdentity;
+        time_t mTimeout;
+        
+        bool mBodyProgressEnabled;
+        bool mIdleEnabled;
+        bool mXListEnabled;
+        bool mCondstoreEnabled;
+        bool mQResyncEnabled;
+        bool mIdentityEnabled;
+        bool mXOauth2Enabled;
+        bool mNamespaceEnabled;
+        bool mCompressionEnabled;
+        bool mIsGmail;
+        bool mAllowsNewPermanentFlags;
+        String * mWelcomeString;
+        bool mNeedsMboxMailWorkaround;
+        uint32_t mUIDValidity;
+        uint32_t mUIDNext;
+        uint64_t mModSequenceValue;
+        unsigned int mFolderMsgCount;
+        uint32_t mFirstUnseenUid;
+        bool mYahooServer;
+        
+        unsigned int mLastFetchedSequenceNumber;
+        String * mCurrentFolder;
+        pthread_mutex_t mIdleLock;
+        bool mCanIdle;
+        int mState;
+        mailimap * mImap;
+        IMAPProgressCallback * mProgressCallback;
+        unsigned int mProgressItemsCount;
+        ConnectionLogger * mConnectionLogger;
+        bool mAutomaticConfigurationEnabled;
+        bool mAutomaticConfigurationDone;
+        bool mShouldDisconnect;
+        
+        String * mLoginResponse;
+        String * mGmailUserDisplayName;
+        
+        void init();
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        void itemsProgress(unsigned int current, unsigned int maximum);
+        bool checkCertificate();
+        static void body_progress(size_t current, size_t maximum, void * context);
+        static void items_progress(size_t current, size_t maximum, void * context);
+        void setup();
+        void unsetup();
+        char fetchDelimiterIfNeeded(char defaultDelimiter, ErrorCode * pError);
+        IMAPSyncResult * fetchMessages(String * folder, IMAPMessagesRequestKind requestKind,
+                                       bool fetchByUID, struct mailimap_set * imapset,
+                                       IndexSet * uidsFilter, IndexSet * numbersFilter,
+                                       uint64_t modseq,
+                                       HashMap * mapping, IMAPProgressCallback * progressCallback,
+                                       Array * extraHeaders, ErrorCode * pError);
+        void capabilitySetWithSessionState(IndexSet * capabilities);
+        bool enableFeature(String * feature);
+        void enableFeatures();
+        Data * fetchMessage(String * folder, bool identifier_is_uid, uint32_t identifier,
+                            IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        void storeFlagsAndCustomFlags(String * folder, bool identifier_is_uid, IndexSet * identifiers,
+                                      IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError);
+        Data * fetchMessageAttachment(String * folder, bool identifier_is_uid,
+                                      uint32_t identifier, String * partID,
+                                      Encoding encoding, IMAPProgressCallback * progressCallback, ErrorCode * pError);
+        void storeLabels(String * folder, bool identifier_is_uid, IndexSet * identifiers, IMAPStoreFlagsRequestKind kind, Array * labels, ErrorCode * pError);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSyncResult.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSyncResult.h
new file mode 100644
index 0000000000000000000000000000000000000000..683ca6cc467e57e2ee48c88f9d50a94febdf463c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIMAPSyncResult.h
@@ -0,0 +1,39 @@
+//
+//  MCIMAPSyncResult.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/3/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCIMAPSYNCRESULT_H
+
+#define MAILCORE_MCIMAPSYNCRESULT_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IMAPSyncResult : public Object {
+    public:
+        IMAPSyncResult();
+        virtual ~IMAPSyncResult();
+        
+        virtual void setModifiedOrAddedMessages(Array * /* IMAPMessage */ messages);
+        virtual Array * /* IMAPMessage */ modifiedOrAddedMessages();
+        
+        virtual void setVanishedMessages(IndexSet * vanishedMessages);
+        virtual IndexSet * vanishedMessages();
+        
+    private:
+        Array * /* IMAPMessage */ mModifiedOrAddedMessages;
+        IndexSet * mVanishedMessages;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIndexSet.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIndexSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..94759adae6e5e9ebc9ed05e86cc714b3f1b94097
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIndexSet.h
@@ -0,0 +1,76 @@
+//
+//  MCIndexSet.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/4/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCINDEXSET_H
+
+#define MAILCORE_MCINDEXSET_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCRange.h>
+//#include <inttypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT IndexSet : public Object {
+    public:
+        IndexSet();
+        virtual ~IndexSet();
+        
+        static IndexSet * indexSet();
+        static IndexSet * indexSetWithRange(Range range);
+        static IndexSet * indexSetWithIndex(uint64_t idx);
+        
+        virtual unsigned int count();
+        virtual void addIndex(uint64_t idx);
+        virtual void removeIndex(uint64_t idx);
+        virtual bool containsIndex(uint64_t idx);
+        
+        virtual void addRange(Range range);
+        virtual void removeRange(Range range);
+        virtual void intersectsRange(Range range);
+        
+        virtual void addIndexSet(IndexSet * indexSet);
+        virtual void removeIndexSet(IndexSet * indexSet);
+        virtual void intersectsIndexSet(IndexSet * indexSet);
+        
+        virtual Range * allRanges();
+        virtual unsigned int rangesCount();
+        virtual void removeAllIndexes();
+        
+    public: // subclass behavior
+        IndexSet(IndexSet * o);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        virtual bool isEqual(Object * otherObject);
+
+    private:
+        Range * mRanges;
+        unsigned int mCount;
+        unsigned int mAllocated;
+        void init();
+        int rangeIndexForIndex(uint64_t idx);
+        int rangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        void addRangeIndex(unsigned int rangeIndex);
+        void removeRangeIndex(unsigned int rangeIndex, unsigned int count);
+        int rightRangeIndexForIndex(uint64_t idx);
+        int rightRangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        int leftRangeIndexForIndex(uint64_t idx);
+        int leftRangeIndexForIndexWithBounds(uint64_t idx, unsigned int left, unsigned int right);
+        void mergeRanges(unsigned int rangeIndex);
+        void tryToMergeAdjacentRanges(unsigned int rangeIndex);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIterator.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIterator.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3e5b1c1714726b7091c72730e9da721b1f45bc9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCIterator.h
@@ -0,0 +1,189 @@
+//
+//  MCIterator.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/18/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_ITERATOR_H
+
+#define MAILCORE_ITERATOR_H
+
+#include <MailCore/MCArray.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCIndexSet.h>
+#include <MailCore/MCAutoreleasePool.h>
+#include <MailCore/MCAssert.h>
+#include <string.h>
+
+#ifdef __cplusplus
+
+#define mc_foreacharray(type, __variable, __array) \
+type * __variable; \
+mailcore::ArrayIterator __variable##__iterator = mailcore::ArrayIteratorInit(__array); \
+for (; NULL != (__variable = (type *) mailcore::ArrayIteratorNext(&__variable##__iterator)); )
+
+#define mc_foreacharrayIndex(__index, type, __variable, __array) \
+type * __variable; \
+mailcore::ArrayIterator __variable##__iterator = mailcore::ArrayIteratorInit(__array); \
+for (unsigned int __index = 0; NULL != (__variable = (type *) mailcore::ArrayIteratorNext(&__variable##__iterator)); __index++)
+
+#define mc_foreachhashmapKey(keyType, __key, __hashmap) \
+keyType * __key; \
+HashMapIterator __key##__iterator = HashMapIteratorInit(__hashmap, true, false); \
+while (HashMapIteratorRun(&__key##__iterator)) \
+while (HashMapIteratorNext(&__key##__iterator, (Object **) &__key, (Object **) NULL))
+
+#define mc_foreachhashmapValue(valueType, __value, __hashmap) \
+valueType * __value; \
+HashMapIterator __value##__iterator = HashMapIteratorInit(__hashmap, false, true); \
+while (HashMapIteratorRun(&__value##__iterator)) \
+while (HashMapIteratorNext(&__value##__iterator, (Object **) NULL, (Object **) &__value))
+
+#define mc_foreachhashmapKeyAndValue(keyType, __key, valueType, __value, __hashmap) \
+keyType * __key; \
+valueType * __value; \
+HashMapIterator __key##__value##__iterator = HashMapIteratorInit(__hashmap, true, true); \
+while (HashMapIteratorRun(&__key##__value##__iterator)) \
+while (HashMapIteratorNext(&__key##__value##__iterator, (Object **) &__key, (Object **) &__value))
+
+#define mc_foreachindexset(__variable, __indexset) \
+int64_t __variable; \
+mailcore::IndexSetIterator __variable##__iterator = mailcore::IndexSetIteratorInit(__indexset); \
+for (; (__variable = IndexSetIteratorValue(&__variable##__iterator)), IndexSetIteratorIsValid(&__variable##__iterator) ; mailcore::IndexSetIteratorNext(&__variable##__iterator))
+
+namespace mailcore {
+    
+    struct IndexSetIterator {
+        unsigned int rangeIndex;
+        unsigned int index;
+        Range * currentRange;
+        IndexSet * indexSet;
+    };
+    
+    static inline IndexSetIterator IndexSetIteratorInit(IndexSet * indexSet)
+    {
+        IndexSetIterator iterator = { 0, 0, NULL, indexSet };
+        if (indexSet->rangesCount() >= 1) {
+            iterator.currentRange = &indexSet->allRanges()[0];
+        }
+        return iterator;
+    }
+    
+    static inline bool IndexSetIteratorIsValid(IndexSetIterator * iterator)
+    {
+        return iterator->currentRange != NULL;
+    }
+    
+    static inline int64_t IndexSetIteratorValue(IndexSetIterator * iterator)
+    {
+        return iterator->currentRange == NULL ? -1 : iterator->currentRange->location + iterator->index;
+    }
+    
+    static inline bool IndexSetIteratorNext(IndexSetIterator * iterator)
+    {
+        iterator->index ++;
+        if (iterator->index > iterator->currentRange->length) {
+            // switch to an other range
+            iterator->index = 0;
+            iterator->rangeIndex ++;
+            if (iterator->rangeIndex >= iterator->indexSet->rangesCount()) {
+                iterator->currentRange = NULL;
+                return false;
+            }
+            else {
+                iterator->currentRange = &iterator->indexSet->allRanges()[iterator->rangeIndex];
+                return true;
+            }
+        }
+        else {
+            return true;
+        }
+    }
+    
+    struct ArrayIterator {
+        unsigned index;
+        unsigned count;
+        Array * array;
+    };
+    
+    static inline ArrayIterator ArrayIteratorInit(Array * array)
+    {
+        ArrayIterator iterator = { 0, array != NULL ? array->count() : 0, array };
+        return iterator;
+    }
+    
+    static inline Object * ArrayIteratorNext(ArrayIterator * iterator)
+    {
+        if (iterator->index >= iterator->count) {
+            return NULL;
+        }
+        
+        Object * result = iterator->array->objectAtIndex(iterator->index);
+        ++ iterator->index;
+        return result;
+    }
+    
+    
+    struct HashMapIterator {
+        bool cleanup;
+        unsigned index;
+        unsigned count;
+        Array * keys;
+        Array * values;
+    };
+    
+    static inline HashMapIterator HashMapIteratorInit(HashMap * hashmap, bool useKeys, bool useValues)
+    {
+        AutoreleasePool * pool = new AutoreleasePool();
+        Array * keys =  useKeys ? (hashmap != NULL ? hashmap->allKeys() : NULL) : NULL;
+        Array * values = useValues ? (hashmap != NULL ? hashmap->allValues() : NULL) : NULL;
+        if (keys != NULL) {
+            keys->retain();
+        }
+        if (values != NULL) {
+            values->retain();
+        }
+        HashMapIterator iterator = { false, 0, hashmap != NULL ? hashmap->count() : 0, keys, values };
+        pool->release();
+        
+        return iterator;
+    }
+    
+    static inline bool HashMapIteratorNext(HashMapIterator * iterator, Object ** keyp, Object ** valuep)
+    {
+        if (iterator->index >= iterator->count) {
+            return false;
+        }
+        
+        if (keyp != NULL) {
+            MCAssert(iterator->keys != NULL);
+            * keyp = iterator->keys->objectAtIndex(iterator->index);
+        }
+        if (valuep != NULL) {
+            MCAssert(iterator->values != NULL);
+            * valuep = iterator->values->objectAtIndex(iterator->index);
+        }
+        iterator->index ++;
+        return true;
+    }
+    
+    
+    static inline bool HashMapIteratorRun(HashMapIterator * iterator)
+    {
+        if (!iterator->cleanup) {
+            iterator->cleanup = true;
+            return true;
+        } else {
+            MC_SAFE_RELEASE(iterator->keys);
+            MC_SAFE_RELEASE(iterator->values);
+            return false;
+        }
+    }
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCJSON.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCJSON.h
new file mode 100644
index 0000000000000000000000000000000000000000..f000dc2de5039f55c2a82a9f412fada2fa7c55fd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCJSON.h
@@ -0,0 +1,38 @@
+//
+//  MCJSON.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/8/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCJSON_H
+
+#define MAILCORE_MCJSON_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCHashMap.h>
+#include <MailCore/MCArray.h>
+#include <MailCore/MCValue.h>
+#include <MailCore/MCString.h>
+#include <MailCore/MCData.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Null;
+    
+    class MAILCORE_EXPORT JSON {
+    public:
+        static String * objectToJSONString(Object * object);
+        static Data * objectToJSONData(Object * object);
+        static Object * objectFromJSONString(String * json);
+        static Object * objectFromJSONData(Data * json);
+    };
+    
+}
+
+#endif
+
+#endif /* defined(__hermes__MCJSON__) */
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLibetpanTypes.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLibetpanTypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..fcb8e70adabe9e45c1dd921ea154449e12c5b916
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLibetpanTypes.h
@@ -0,0 +1,46 @@
+//
+//  MCLibetpanTypes.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 4/7/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCLIBETPANTYPES_H
+
+#define MAILCORE_MCLIBETPANTYPES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    struct mailimap_body_fields;
+    struct mailimap_body_ext_1part;
+    struct mailimf_address;
+    struct mailimf_mailbox;
+    struct mailimap_address;
+    struct mailmime;
+    struct mailmime_mechanism;
+    struct mailimap_namespace_item;
+    struct mailimap_namespace_info;
+    struct mailimap_body;
+    struct mailimap_body_fields;
+    struct mailimap_body_ext_1part;
+    struct mailimap_body_type_1part;
+    struct mailimap_body_type_basic;
+    struct mailimap_body_type_text;
+    struct mailimap_body_type_mpart;
+    struct mailimap_body_type_msg;
+    typedef struct mailimap mailimap;
+    struct mailimap_set;
+    struct mailimap_date_time;
+    struct mailimf_fields;
+    struct mailimap_envelope;
+    typedef struct mailpop3 mailpop3;
+    typedef struct mailsmtp mailsmtp;
+    typedef struct newsnntp newsnntp;
+    struct mailsem;
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLog.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLog.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f3efdb5bb72fdb35eff2d253027453cbff9cbde
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCLog.h
@@ -0,0 +1,31 @@
+#ifndef MAILCORE_MCLOG_H
+
+#define MAILCORE_MCLOG_H
+
+#include <stdio.h>
+#include <MailCore/MCUtils.h>
+
+#define MCLog(...) MCLogInternal(NULL, __FILE__, __LINE__, 0, __VA_ARGS__)
+#define MCLogStack(...) MCLogInternal(NULL, __FILE__, __LINE__, 1, __VA_ARGS__)
+
+MAILCORE_EXPORT
+extern int MCLogEnabled;
+    
+#ifndef __printflike
+#define __printflike(a,b)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    MAILCORE_EXPORT
+    void MCLogInternal(const char * user,
+                       const char * filename,
+                       unsigned int line,
+                       int dumpStack,
+                       const char * format, ...) __printflike(5, 6);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMD5.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMD5.h
new file mode 100644
index 0000000000000000000000000000000000000000..b8cde2e9a95cde3ae8a7018f2b1d2a04f4c8783e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMD5.h
@@ -0,0 +1,28 @@
+//
+//  MCMD5.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMD5_H
+
+#define MAILCORE_MCMD5_H
+
+#include <MailCore/MCData.h>
+#include <MailCore/MCString.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    MAILCORE_EXPORT
+    Data * md5Data(Data * data);
+
+    MAILCORE_EXPORT
+    String * md5String(Data * data);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMXRecordResolverOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMXRecordResolverOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d8a6fc8fc031d0af422361abcc94ad1aa92eadb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMXRecordResolverOperation.h
@@ -0,0 +1,41 @@
+//
+//  ResolveProviderUsingMXRecordAsync.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 29/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCFETCHASYNCMXRECORD_H
+
+#define MAILCORE_MCFETCHASYNCMXRECORD_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT MXRecordResolverOperation : public Operation {
+    public:
+        MXRecordResolverOperation();
+        virtual ~MXRecordResolverOperation();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual Array * mxRecords();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Array * mMXRecords;
+        String * mHostname;
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvider.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0801da5b89c5ddfb04a7aebf0ac0e5e652b1764
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvider.h
@@ -0,0 +1,75 @@
+//
+//  MCMailProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMAILPROVIDER_H
+
+#define MAILCORE_MCMAILPROVIDER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NetService;
+    
+    class MAILCORE_EXPORT MailProvider : public Object {
+    public:
+        static MailProvider * providerWithInfo(HashMap * info);
+        
+        MailProvider();
+        virtual ~MailProvider();
+        
+        virtual String * identifier();
+        
+        virtual Array * /* NetService */ imapServices();
+        virtual Array * /* NetService */ smtpServices();
+        virtual Array * /* NetService */ popServices();
+        
+        virtual bool matchEmail(String * email);
+        virtual bool matchMX(String * hostname);
+        
+        virtual String * sentMailFolderPath();
+        virtual String * starredFolderPath();
+        virtual String * allMailFolderPath();
+        virtual String * trashFolderPath();
+        virtual String * draftsFolderPath();
+        virtual String * spamFolderPath();
+        virtual String * importantFolderPath();
+        
+        // Returns true if one of the folders above matches the given one.
+        virtual bool isMainFolder(String * folderPath, String * prefix);
+        
+    public: // subclass behavior
+        MailProvider(MailProvider * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        virtual void setIdentifier(String * identifier);
+        virtual void fillWithInfo(HashMap * info);
+        
+    private:
+        String * mIdentifier;
+        Array * /* String */ mDomainMatch;
+        Array * /* String */ mDomainExclude;
+        Array * /* String */ mMxMatch;
+        Array * /* NetService */ mImapServices;
+        Array * /* NetService */ mSmtpServices;
+        Array * /* NetService */ mPopServices;
+        HashMap * mMailboxPaths;
+        
+        virtual bool matchDomain(String * match, String * domain);
+        void init();
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvidersManager.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvidersManager.h
new file mode 100644
index 0000000000000000000000000000000000000000..774c2d30767905ffcb7fed0fe546b126b93c2534
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMailProvidersManager.h
@@ -0,0 +1,43 @@
+//
+//  MCMailProvidersManager.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCMAILPROVIDERSMANAGER_H
+
+#define MAILCORE_MCMAILPROVIDERSMANAGER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MailProvider;
+    
+    class MAILCORE_EXPORT MailProvidersManager : public Object {
+    public:
+        static MailProvidersManager * sharedManager();
+        
+        virtual MailProvider * providerForEmail(String * email);
+        virtual MailProvider * providerForMX(String * hostname);
+        virtual MailProvider * providerForIdentifier(String * identifier);
+        
+        virtual void registerProvidersWithFilename(String * filename);
+        
+    private:
+        MailProvidersManager();
+        void registerProviders(HashMap * providers);
+        
+        HashMap * mProviders;
+        
+        void init();
+    };
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMainThread.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMainThread.h
new file mode 100644
index 0000000000000000000000000000000000000000..df246665aa35c6833aa834eb2c162cbda60bf6c7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMainThread.h
@@ -0,0 +1,20 @@
+#ifndef MAILCORE_MCMAINTHREAD_H
+
+#define MAILCORE_MCMAINTHREAD_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    void callOnMainThread(void (*)(void *), void * context);
+    void callOnMainThreadAndWait(void (*)(void *), void * context);
+    
+    // Returns a "call" object.
+    void * callAfterDelay(void (*)(void *), void * context, double time);
+    
+    // Pass the pointer returns by callAfterDelay() to cancel a delayed call.
+    void cancelDelayedCall(void * call);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageBuilder.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageBuilder.h
new file mode 100644
index 0000000000000000000000000000000000000000..f03bd09a81de100a3b3db9ae31074cc268440da4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageBuilder.h
@@ -0,0 +1,80 @@
+#ifndef MAILCORE_MCMESSAGEBUILDER_H
+
+#define MAILCORE_MCMESSAGEBUILDER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Attachment;
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT MessageBuilder : public AbstractMessage {
+    public:
+        MessageBuilder();
+        virtual ~MessageBuilder();
+        
+        virtual void setHTMLBody(String * htmlBody);
+        virtual String * htmlBody();
+        
+        virtual void setTextBody(String * textBody);
+        virtual String * textBody();
+        
+        virtual void setAttachments(Array * /* Attachment */ attachments);
+        virtual Array * /* Attachment */ attachments();
+        virtual void addAttachment(Attachment * attachment);
+        
+        // attachments (usually images) that are included in HTML.
+        // a Content-ID should be assigned to these part to be able to reference
+        // them in the HTML using a cid: URL.
+        virtual void setRelatedAttachments(Array * /* Attachment */ attachments);
+        virtual Array * /* Attachment */ relatedAttachments();
+        virtual void addRelatedAttachment(Attachment * attachment);
+        
+        // When boundary needs to be prefixed (to go through spam filters).
+        virtual void setBoundaryPrefix(String * boundaryPrefix);
+        virtual String * boundaryPrefix();
+        
+        virtual Data * data();
+        virtual Data * dataForEncryption();
+        
+        virtual String * htmlRendering(HTMLRendererTemplateCallback * htmlCallback = NULL);
+        virtual String * htmlBodyRendering();
+        
+        virtual String * plainTextRendering();
+        virtual String * plainTextBodyRendering(bool stripWhitespace);
+        
+        virtual Data * openPGPSignedMessageDataWithSignatureData(Data * signature);
+        virtual Data * openPGPEncryptedMessageDataWithEncryptedData(Data * encryptedData);
+        
+    public: // subclass behavior
+        MessageBuilder(MessageBuilder * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    public: // private
+        virtual String * nextBoundary();
+        virtual void resetBoundaries();
+        virtual void setBoundaries(Array * boundaries);
+        
+    private:
+        String * mHTMLBody;
+        String * mTextBody;
+        Array * /* Attachment */ mAttachments;
+        Array * /* Attachment */ mRelatedAttachments;
+        String * mBoundaryPrefix;
+        void init();
+        Data * dataAndFilterBccAndForEncryption(bool filterBcc, bool forEncryption);
+        struct mailmime * mimeAndFilterBccAndForEncryption(bool filterBcc, bool forEncryption);
+        Array * mBoundaries;
+        unsigned int mCurrentBoundaryIndex;
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageConstants.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageConstants.h
new file mode 100644
index 0000000000000000000000000000000000000000..d1029b138da490abec4db8fe5a79dd728c414309
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageConstants.h
@@ -0,0 +1,282 @@
+#ifndef MAILCORE_MCMESSAGECONSTANTS_H
+
+#define MAILCORE_MCMESSAGECONSTANTS_H
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    enum ConnectionType {
+        ConnectionTypeClear             = 1 << 0,
+        ConnectionTypeStartTLS          = 1 << 1,
+        ConnectionTypeTLS               = 1 << 2,
+    };
+    
+    enum AuthType {
+        AuthTypeSASLNone          = 0,
+        AuthTypeSASLCRAMMD5       = 1 << 0,
+        AuthTypeSASLPlain         = 1 << 1,
+        AuthTypeSASLGSSAPI        = 1 << 2,
+        AuthTypeSASLDIGESTMD5     = 1 << 3,
+        AuthTypeSASLLogin         = 1 << 4,
+        AuthTypeSASLSRP           = 1 << 5,
+        AuthTypeSASLNTLM          = 1 << 6,
+        AuthTypeSASLKerberosV4    = 1 << 7,
+        AuthTypeXOAuth2           = 1 << 8,
+        AuthTypeXOAuth2Outlook    = 1 << 9,
+    };
+    
+    enum IMAPFolderFlag {
+        IMAPFolderFlagNone        = 0,
+        IMAPFolderFlagMarked      = 1 << 0,
+        IMAPFolderFlagUnmarked    = 1 << 1,
+        IMAPFolderFlagNoSelect    = 1 << 2,
+        IMAPFolderFlagNoInferiors = 1 << 3,
+        IMAPFolderFlagInbox       = 1 << 4,
+        IMAPFolderFlagSentMail    = 1 << 5,
+        IMAPFolderFlagStarred     = 1 << 6,
+        IMAPFolderFlagAllMail     = 1 << 7,
+        IMAPFolderFlagTrash       = 1 << 8,
+        IMAPFolderFlagDrafts      = 1 << 9,
+        IMAPFolderFlagSpam        = 1 << 10,
+        IMAPFolderFlagImportant   = 1 << 11,
+        IMAPFolderFlagArchive     = 1 << 12,
+        IMAPFolderFlagAll = IMAPFolderFlagAllMail,
+        IMAPFolderFlagJunk = IMAPFolderFlagSpam,
+        IMAPFolderFlagFlagged = IMAPFolderFlagStarred,
+        IMAPFolderFlagFolderTypeMask = IMAPFolderFlagInbox | IMAPFolderFlagSentMail | IMAPFolderFlagStarred | IMAPFolderFlagAllMail |
+          IMAPFolderFlagTrash| IMAPFolderFlagDrafts | IMAPFolderFlagSpam | IMAPFolderFlagImportant | IMAPFolderFlagArchive,
+    };
+    
+    enum MessageFlag {
+        MessageFlagNone          = 0,
+        MessageFlagSeen          = 1 << 0,
+        MessageFlagAnswered      = 1 << 1,
+        MessageFlagFlagged       = 1 << 2,
+        MessageFlagDeleted       = 1 << 3,
+        MessageFlagDraft         = 1 << 4,
+        MessageFlagMDNSent       = 1 << 5,
+        MessageFlagForwarded     = 1 << 6,
+        MessageFlagSubmitPending = 1 << 7,
+        MessageFlagSubmitted     = 1 << 8,
+        MessageFlagMaskAll = MessageFlagSeen | MessageFlagAnswered | MessageFlagFlagged |
+        MessageFlagDeleted | MessageFlagDraft | MessageFlagMDNSent | MessageFlagForwarded |
+        MessageFlagSubmitPending | MessageFlagSubmitted,
+    } ;
+    
+    enum IMAPMessagesRequestKind {
+        IMAPMessagesRequestKindUid           = 0, // This is the default and it's always fetched
+        IMAPMessagesRequestKindFlags         = 1 << 0,
+        IMAPMessagesRequestKindHeaders       = 1 << 1,
+        IMAPMessagesRequestKindStructure     = 1 << 2,
+        IMAPMessagesRequestKindInternalDate  = 1 << 3,
+        IMAPMessagesRequestKindFullHeaders   = 1 << 4,
+        IMAPMessagesRequestKindHeaderSubject = 1 << 5,
+        IMAPMessagesRequestKindGmailLabels   = 1 << 6,
+        IMAPMessagesRequestKindGmailMessageID = 1 << 7,
+        IMAPMessagesRequestKindGmailThreadID  = 1 << 8,
+        IMAPMessagesRequestKindExtraHeaders  = 1 << 9,
+        IMAPMessagesRequestKindSize          = 1 << 10,
+    };
+    
+    enum IMAPFetchRequestType {
+        IMAPFetchRequestTypeUID = 0,
+        IMAPFetchRequestTypeSequence = 1
+    };
+    
+    enum IMAPStoreFlagsRequestKind {
+        IMAPStoreFlagsRequestKindAdd,
+        IMAPStoreFlagsRequestKindRemove,
+        IMAPStoreFlagsRequestKindSet,
+    };
+    
+    enum IMAPWorkaround {
+        IMAPWorkaroundGmail = 1 << 0,
+        IMAPWorkaroundYahoo = 1 << 1,
+        IMAPWorkaroundExchange2003 = 1 << 2,
+    };
+    
+    enum IMAPCapability {
+        IMAPCapabilityACL,
+        IMAPCapabilityBinary,
+        IMAPCapabilityCatenate,
+        IMAPCapabilityChildren,
+        IMAPCapabilityCompressDeflate,
+        IMAPCapabilityCondstore,
+        IMAPCapabilityEnable,
+        IMAPCapabilityIdle,
+        IMAPCapabilityId,
+        IMAPCapabilityLiteralPlus,
+        IMAPCapabilityMultiAppend,
+        IMAPCapabilityNamespace,
+        IMAPCapabilityQResync,
+        IMAPCapabilityQuota,
+        IMAPCapabilitySort,
+        IMAPCapabilityStartTLS,
+        IMAPCapabilityThreadOrderedSubject,
+        IMAPCapabilityThreadReferences,
+        IMAPCapabilityUIDPlus,
+        IMAPCapabilityUnselect,
+        IMAPCapabilityXList,
+        IMAPCapabilityAuthAnonymous,
+        IMAPCapabilityAuthCRAMMD5,
+        IMAPCapabilityAuthDigestMD5,
+        IMAPCapabilityAuthExternal,
+        IMAPCapabilityAuthGSSAPI,
+        IMAPCapabilityAuthKerberosV4,
+        IMAPCapabilityAuthLogin,
+        IMAPCapabilityAuthNTLM,
+        IMAPCapabilityAuthOTP,
+        IMAPCapabilityAuthPlain,
+        IMAPCapabilityAuthSKey,
+        IMAPCapabilityAuthSRP,
+        IMAPCapabilityXOAuth2,
+        IMAPCapabilityGmail,
+    };
+    
+    enum POPCapability {
+        POPCapabilityNone,
+        POPCapabilityStartTLS,
+        POPCapabilityTop,
+        POPCapabilityUser,
+        POPCapabilityRespCodes,
+        POPCapabilityPipelining,
+        POPCapabilityUIDL,
+        POPCapabilitySASL,
+        POPCapabilityAuthAnonymous,
+        POPCapabilityAuthCRAMMD5,
+        POPCapabilityAuthDigestMD5,
+        POPCapabilityAuthExternal,
+        POPCapabilityAuthGSSAPI,
+        POPCapabilityAuthKerberosV4,
+        POPCapabilityAuthLogin,
+        POPCapabilityAuthNTLM,
+        POPCapabilityAuthOTP,
+        POPCapabilityAuthPlain,
+        POPCapabilityAuthSKey,
+        POPCapabilityAuthSRP,
+    };
+    
+    enum Encoding {
+        Encoding7Bit = 0,            // should match MAILIMAP_BODY_FLD_ENC_7BIT
+        Encoding8Bit = 1,            // should match MAILIMAP_BODY_FLD_ENC_8BIT
+        EncodingBinary = 2,          // should match MAILIMAP_BODY_FLD_ENC_BINARY
+        EncodingBase64 = 3,          // should match MAILIMAP_BODY_FLD_ENC_BASE64
+        EncodingQuotedPrintable = 4, // should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE
+        EncodingOther = 5,           // should match MAILIMAP_BODY_FLD_ENC_OTHER
+        // negative values should be used for other encoding
+        EncodingUUEncode = -1
+    };
+    
+    enum IMAPSearchKind {
+        IMAPSearchKindAll,
+        IMAPSearchKindNone,
+        IMAPSearchKindFrom,
+        IMAPSearchKindTo,
+        IMAPSearchKindCc,
+        IMAPSearchKindBcc,
+        IMAPSearchKindRecipient,   // Recipient is the combination of To, Cc and Bcc
+        IMAPSearchKindSubject,
+        IMAPSearchKindContent,
+        IMAPSearchKindBody,
+        IMAPSearchKindUIDs,
+        IMAPSearchKindNumbers,
+        IMAPSearchKindHeader,
+        IMAPSearchKindRead,
+        IMAPSearchKindUnread,
+        IMAPSearchKindFlagged,
+        IMAPSearchKindUnflagged,
+        IMAPSearchKindAnswered,
+        IMAPSearchKindUnanswered,
+        IMAPSearchKindDraft,
+        IMAPSearchKindUndraft,
+        IMAPSearchKindDeleted,
+        IMAPSearchKindSpam,
+        IMAPSearchKindBeforeDate,
+        IMAPSearchKindOnDate,
+        IMAPSearchKindSinceDate,
+        IMAPSearchKindBeforeReceivedDate,
+        IMAPSearchKindOnReceivedDate,
+        IMAPSearchKindSinceReceivedDate,
+        IMAPSearchKindSizeLarger,
+        IMAPSearchKindSizeSmaller,
+        IMAPSearchKindGmailThreadID,
+        IMAPSearchKindGmailMessageID,
+        IMAPSearchKindGmailRaw,
+        IMAPSearchKindOr,
+        IMAPSearchKindAnd,
+        IMAPSearchKindNot,
+    };
+    
+    enum ErrorCode {
+        ErrorNone, // 0
+        ErrorConnection,
+        ErrorTLSNotAvailable,
+        ErrorParse,
+        ErrorCertificate,
+        ErrorAuthentication,
+        ErrorGmailIMAPNotEnabled,
+        ErrorGmailExceededBandwidthLimit,
+        ErrorGmailTooManySimultaneousConnections,
+        ErrorMobileMeMoved,
+        ErrorYahooUnavailable, // 10
+        ErrorNonExistantFolder,
+        ErrorRename,
+        ErrorDelete,
+        ErrorCreate,
+        ErrorSubscribe,
+        ErrorAppend,
+        ErrorCopy,
+        ErrorExpunge,
+        ErrorFetch,
+        ErrorIdle, // 20
+        ErrorIdentity,
+        ErrorNamespace,
+        ErrorStore,
+        ErrorCapability,
+        ErrorStartTLSNotAvailable,
+        ErrorSendMessageIllegalAttachment,
+        ErrorStorageLimit,
+        ErrorSendMessageNotAllowed,
+        ErrorNeedsConnectToWebmail,
+        ErrorSendMessage, // 30
+        ErrorAuthenticationRequired,
+        ErrorFetchMessageList,
+        ErrorDeleteMessage,
+        ErrorInvalidAccount,
+        ErrorFile,
+        ErrorCompression,
+        ErrorNoSender,
+        ErrorNoRecipient,
+        ErrorNoop,
+        ErrorGmailApplicationSpecificPasswordRequired, // 40
+        ErrorServerDate,
+        ErrorNoValidServerFound,
+        ErrorCustomCommand,
+        ErrorYahooSendMessageSpamSuspected,
+        ErrorYahooSendMessageDailyLimitExceeded
+    };
+    
+    enum PartType {
+        PartTypeSingle,
+        PartTypeMessage,
+        PartTypeMultipartMixed,
+        PartTypeMultipartRelated,
+        PartTypeMultipartAlternative,
+        PartTypeMultipartSigned,
+    };
+    
+    // Private type - It should not be used directly.
+    enum IMAPMessageRenderingType {
+        IMAPMessageRenderingTypeHTML,
+        IMAPMessageRenderingTypeHTMLBody,
+        IMAPMessageRenderingTypePlainText,
+        IMAPMessageRenderingTypePlainTextBody,
+        IMAPMessageRenderingTypePlainTextBodyAndStripWhitespace,
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageHeader.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageHeader.h
new file mode 100644
index 0000000000000000000000000000000000000000..439e0d44164fe0a140ee1af7308ac4e51ce50366
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageHeader.h
@@ -0,0 +1,111 @@
+#ifndef MAILCORE_MCMESSAGEHEADER_H
+
+#define MAILCORE_MCMESSAGEHEADER_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <time.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Address;
+    
+    class MAILCORE_EXPORT MessageHeader : public Object {
+    public:
+        MessageHeader();
+        virtual ~MessageHeader();
+        
+        virtual void setMessageID(String * messageID);
+        virtual String * messageID();
+        
+        virtual bool isMessageIDAutoGenerated();
+        
+        virtual void setReferences(Array * /* String */ references);
+        virtual Array * /* String */ references();
+        
+        virtual void setInReplyTo(Array * /* String */ inReplyTo);
+        virtual Array * /* String */ inReplyTo();
+        
+        virtual void setDate(time_t date);
+        virtual time_t date();
+        
+        virtual void setReceivedDate(time_t date);
+        virtual time_t receivedDate();
+        
+        virtual void setSender(Address * sender);
+        virtual Address * sender();
+        
+        virtual void setFrom(Address * from);
+        virtual Address * from();
+        
+        virtual void setTo(Array * /* Address */ to);
+        virtual Array * /* Address */ to();
+        
+        virtual void setCc(Array * /* Address */ cc);
+        virtual Array * /* Address */ cc();
+        
+        virtual void setBcc(Array * /* Address */ bcc);
+        virtual Array * /* Address */ bcc();
+        
+        virtual void setReplyTo(Array * /* Address */ replyTo);
+        virtual Array * /* Address */ replyTo();
+        
+        virtual void setSubject(String * subject);
+        virtual String * subject();
+        
+        virtual void setUserAgent(String * userAgent);
+        virtual String * userAgent();
+        
+        virtual void setExtraHeader(String *name, String * value);
+        virtual void removeExtraHeader(String *name);
+        virtual String * extraHeaderValueForName(String *name);
+        virtual Array * allExtraHeadersNames();
+        
+        String * extractedSubject();
+        virtual String * partialExtractedSubject();
+        virtual void importHeadersData(Data * data);
+        
+        virtual MessageHeader * replyHeader(bool replyAll, Array * addressesExcludedFromRecipient);
+        virtual MessageHeader * forwardHeader();
+        
+    public: // subclass behavior
+        MessageHeader(MessageHeader * other);
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        virtual void importIMAPEnvelope(struct mailimap_envelope * env);
+        virtual void importIMAPReferences(Data * data);
+        virtual void importIMAPInternalDate(struct mailimap_date_time * date);
+        
+        virtual struct mailimf_fields * createIMFFieldsAndFilterBcc(bool filterBcc);
+        virtual void importIMFFields(struct mailimf_fields * fields);
+        
+    private:
+        String * mMessageID;
+        bool mMessageIDAutoGenerated;
+        Array * /* String */ mReferences;
+        Array * /* String */ mInReplyTo;
+        Address * mSender;
+        Address * mFrom;
+        Array * /* Address */ mTo;
+        Array * /* Address */ mCc;
+        Array * /* Address */ mBcc;
+        Array * /* Address */ mReplyTo;
+        String * mSubject;
+        time_t mDate;
+        time_t mReceivedDate;
+        HashMap * mExtraHeaders;
+        void init(bool generateDate, bool generateMessageID);
+        void setExtraHeaders(HashMap *headers);
+        Array * recipientWithReplyAll(bool replyAll, bool includeTo, bool includeCc, Array * senderEmails);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageParser.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageParser.h
new file mode 100644
index 0000000000000000000000000000000000000000..9682bfce22f5aabbbc430c65bfdcf41abb168c17
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessageParser.h
@@ -0,0 +1,70 @@
+#ifndef MAILCORE_MCPARSEDMESSAGE_H
+
+#define MAILCORE_MCPARSEDMESSAGE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessage.h>
+#include <MailCore/MCAbstractPart.h>
+#ifdef __APPLE__
+#import <CoreFoundation/CoreFoundation.h>
+#endif
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class HTMLRendererTemplateCallback;
+    
+    class MAILCORE_EXPORT MessageParser : public AbstractMessage {
+    public:
+        static MessageParser * messageParserWithData(Data * data);
+        static MessageParser * messageParserWithContentsOfFile(String * filename);
+        
+        MessageParser();
+        MessageParser(Data * data);
+        virtual ~MessageParser();
+        
+        virtual AbstractPart * mainPart();
+        virtual Data * data();
+        
+        virtual String * htmlRendering(HTMLRendererTemplateCallback * htmlCallback = NULL);
+        virtual String * htmlBodyRendering();
+        
+        virtual String * plainTextRendering();
+        virtual String * plainTextBodyRendering(bool stripWhitespace);
+        
+    public: // subclass behavior
+        MessageParser(MessageParser * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+        virtual AbstractPart * partForContentID(String * contentID);
+        virtual AbstractPart * partForUniqueID(String * uniqueID);
+        
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+
+#ifdef __APPLE__
+    public:
+        static MessageParser * messageParserWithData(CFDataRef data);
+        MessageParser(CFDataRef data);
+#endif
+        
+    private:
+        Data * mData;
+        AbstractPart * mMainPart;
+        void init();
+#if __APPLE__
+        void * mNSData;
+#endif
+        
+    private:
+        void setBytes(char * bytes, unsigned int length);
+        Data * dataFromNSData();
+    };
+    
+};
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..894cd3e5f19510acb87e6763f33035461a7cfb9a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMessagePart.h
@@ -0,0 +1,26 @@
+#ifndef MAILCORE_MCMESSAGEPART_H
+
+#define MAILCORE_MCMESSAGEPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMessagePart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT MessagePart : public AbstractMessagePart {
+    public:
+        MessagePart();
+        virtual ~MessagePart();
+        
+    public: // subclass behavior
+        MessagePart(MessagePart * other);
+        virtual Object * copy();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..40b0a48b601cebf263b019aaa67d9c38ce21bbbc
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCMultipart.h
@@ -0,0 +1,26 @@
+#ifndef MAILCORE_MCMULTIPART_H
+
+#define MAILCORE_MCMULTIPART_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstractMultipart.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Multipart : public AbstractMultipart {
+    public:
+        Multipart();
+        virtual ~Multipart();
+        
+    public: // subclass behavior
+        Multipart(Multipart * other);
+        virtual Object * copy();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..c2da3a66936615d6bf2e9cc4b56c6f921ba05d35
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTP.h
@@ -0,0 +1,9 @@
+#ifndef MAILCORE_MCNNTP_H
+
+#define MAILCORE_MCNNTP_H
+
+#include <MailCore/MCNNTPGroupInfo.h>
+#include <MailCore/MCNNTPProgressCallback.h>
+#include <MailCore/MCNNTPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..b3e40ea84cad963e2b4f30a5282d7bccc8b0d312
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPAsyncSession.h
@@ -0,0 +1,98 @@
+#ifndef MAILCORE_MCNNTPASYNCSESSION_H
+
+#define MAILCORE_MCNNTPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPOperation;
+    class NNTPSession;
+    class NNTPFetchHeaderOperation;
+    class NNTPFetchArticleOperation;
+    class NNTPFetchAllArticlesOperation;
+    class NNTPFetchOverviewOperation;
+    class NNTPListNewsgroupsOperation;
+    class NNTPFetchServerTimeOperation;
+    class NNTPOperationQueueCallback;
+    class NNTPConnectionLogger;
+    
+    class MAILCORE_EXPORT NNTPAsyncSession : public Object {
+    public:
+        NNTPAsyncSession();
+        virtual ~NNTPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * login);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual NNTPFetchAllArticlesOperation * fetchAllArticlesOperation(String * group);
+        
+        virtual NNTPFetchHeaderOperation * fetchHeaderOperation(String * groupName, unsigned int index);
+        
+        virtual NNTPFetchArticleOperation * fetchArticleOperation(String *groupName, unsigned int index);
+        virtual NNTPFetchArticleOperation * fetchArticleByMessageIDOperation(String * messageID);
+        
+        virtual NNTPFetchOverviewOperation * fetchOverviewOperationWithIndexes(String * groupName, IndexSet * indexes);
+        
+        virtual NNTPFetchServerTimeOperation * fetchServerDateOperation();
+        
+        virtual NNTPListNewsgroupsOperation * listAllNewsgroupsOperation();
+        virtual NNTPListNewsgroupsOperation * listDefaultNewsgroupsOperation();
+        
+        virtual NNTPOperation * disconnectOperation();
+        
+        virtual NNTPOperation * checkAccountOperation();
+        
+    private:
+        NNTPSession * mSession;
+        OperationQueue * mQueue;
+        NNTPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        NNTPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+    public: // private
+        virtual void runOperation(NNTPOperation * operation);
+        virtual NNTPSession * session();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..395178a005257e565c995f681ce427a10c4fff04
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPCheckAccountOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCNNTPCheckAccountOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPCHECKACCOUNTOPERATION_H
+
+#define MAILCORE_MCNNTPCHECKACCOUNTOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPCheckAccountOperation : public NNTPOperation {
+    public:
+        NNTPCheckAccountOperation();
+        virtual ~NNTPCheckAccountOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0fa532c8e6d4fba46ce1043e116556aba0b36349
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchAllArticlesOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCNNTPFetchAllArticlesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHARTICLESOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHARTICLESOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchAllArticlesOperation : public NNTPOperation {
+    public:
+        NNTPFetchAllArticlesOperation();
+        virtual ~NNTPFetchAllArticlesOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual IndexSet * articles();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        IndexSet * mArticles;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..3e066b7badfdb808871a8b2272d246eeae3fe8c5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchArticleOperation.h
@@ -0,0 +1,49 @@
+//
+//  MCNNTPFetchArticleOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHARTICLEOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHARTICLEOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    class MAILCORE_EXPORT NNTPFetchArticleOperation : public NNTPOperation {
+    public:
+        NNTPFetchArticleOperation();
+        virtual ~NNTPFetchArticleOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual void setMessageID(String * groupName);
+        virtual String * messageID();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        String * mMessageID;
+        unsigned int mMessageIndex;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..93b9d380f8d0b6baf4ddb95800c8add800a50e51
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchHeaderOperation.h
@@ -0,0 +1,48 @@
+//
+//  MCNNTPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCNNTPFETCHHEADEROPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT NNTPFetchHeaderOperation : public NNTPOperation {
+    public:
+        NNTPFetchHeaderOperation();
+        virtual ~NNTPFetchHeaderOperation();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual MessageHeader * header();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        String * mGroupName;
+        unsigned int mMessageIndex;
+        MessageHeader * mHeader;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bf8db26feb599afdd4fa0c9d2a3783f242fa2afe
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchOverviewOperation.h
@@ -0,0 +1,45 @@
+//
+//  NNTPFetchOverviewOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHOVERVIEWOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHOVERVIEWOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchOverviewOperation : public NNTPOperation {
+    public:
+        NNTPFetchOverviewOperation();
+        virtual ~NNTPFetchOverviewOperation();
+        
+        virtual void setIndexes(IndexSet * indexes);
+        virtual IndexSet * indexes();
+        
+        virtual void setGroupName(String * groupName);
+        virtual String * groupName();
+        
+        virtual Array * articles();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        IndexSet * mIndexes;
+        String * mGroupName;
+        Array * /* MessageHeader */ mArticles;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..b01a1599c718ff4eb03d8f849df20a30814b366e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPFetchServerTimeOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCNNTPFetchServerTimeOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H
+
+#define MAILCORE_MCNNTPFETCHSERVERTIMEOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPFetchServerTimeOperation : public NNTPOperation {
+    public:
+        NNTPFetchServerTimeOperation();
+        virtual ~NNTPFetchServerTimeOperation();
+        
+        virtual time_t time();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        time_t mTime;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPGroupInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPGroupInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..75a6675c3da5902e0f19127bd6246dcbf26b50b0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPGroupInfo.h
@@ -0,0 +1,38 @@
+#ifndef MAILCORE_MCNNTPGROUPINFO_H
+
+#define MAILCORE_MCNNTPGROUPINFO_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPGroupInfo : public Object {
+    public:
+        NNTPGroupInfo();
+        virtual ~NNTPGroupInfo();
+        
+        virtual void setName(String * uid);
+        virtual String * name();
+        
+        virtual void setMessageCount(uint32_t messages);
+        virtual uint32_t messageCount();
+        
+    public: // subclass behavior
+        NNTPGroupInfo(NNTPGroupInfo * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        String * mName;
+        uint32_t mMessageCount;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2c68038f006c16e899f368928bf6cdece247269
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPListNewsgroupsOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCNNTPListNewsgroupsMessagesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPLISTNEWSGROUPSOPERATION_H
+
+#define MAILCORE_MCNNTPLISTNEWSGROUPSOPERATION_H
+
+#include <MailCore/MCNNTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NNTPListNewsgroupsOperation : public NNTPOperation {
+    public:
+        NNTPListNewsgroupsOperation();
+        virtual ~NNTPListNewsgroupsOperation();
+        
+        virtual void setListsSubscribed(bool listsSubscribed);
+        virtual bool listsSubscribed();
+        
+        virtual Array * groups();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        bool mListsSuscribed;
+        Array * /* NNTPGroupInfo */ mGroups;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..52205e9f9dc638092abfce0217f1c32d83874441
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperation.h
@@ -0,0 +1,53 @@
+//
+//  MCNNTPOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPOPERATION_H
+
+#define MAILCORE_MCNNTPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCNNTPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPAsyncSession;
+    class NNTPOperationCallback;
+    
+    class MAILCORE_EXPORT NNTPOperation : public Operation, public NNTPProgressCallback {
+    public:
+        NNTPOperation();
+        virtual ~NNTPOperation();
+        
+        virtual void setSession(NNTPAsyncSession * session);
+        virtual NNTPAsyncSession * session();
+        
+        virtual void setNNTPCallback(NNTPOperationCallback * callback);
+        virtual NNTPOperationCallback * nntpCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        NNTPAsyncSession * mSession;
+        NNTPOperationCallback * mPopCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(NNTPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..e12a1b7579f3788c1378cb721126f755c01e0ee4
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCNNTPOperationCallback.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNNTPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCNNTPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPOperation;
+    
+    class MAILCORE_EXPORT NNTPOperationCallback {
+    public:
+        virtual void bodyProgress(NNTPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..dd615d04f425222db3c99b20ea7c956b395ca124
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCNNTPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCNNTPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class NNTPSession;
+    
+    class MAILCORE_EXPORT NNTPProgressCallback {
+    public:
+        virtual void bodyProgress(NNTPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec0080ed9feb5e883ee3c53da7faa79a7cb3a96f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNNTPSession.h
@@ -0,0 +1,92 @@
+#ifndef MAILCORE_MCNNTPSESSION_H
+#define MAILCORE_MCNNTPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class NNTPProgressCallback;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT NNTPSession : public Object {
+    public:
+        NNTPSession();
+        virtual ~NNTPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(ErrorCode * pError);
+        
+        virtual Array * /* NNTPGroupInfo */ listAllNewsgroups(ErrorCode * pError);
+        virtual Array * /* NNTPGroupInfo */ listDefaultNewsgroups(ErrorCode * pError);
+        
+        virtual MessageHeader * fetchHeader(String * groupName, unsigned int index, ErrorCode * pError);
+        virtual Array /*MessageHeader*/ * fetchOverArticlesInRange(Range range, String * groupname, ErrorCode * pError);
+        
+        virtual IndexSet * fetchAllArticles(String * groupname, ErrorCode * pError);
+                
+        virtual Data * fetchArticle(String *groupName, unsigned int index, NNTPProgressCallback * callback, ErrorCode * pError);
+        virtual Data * fetchArticleByMessageID(String * messageID, ErrorCode * pError);
+        
+        virtual time_t fetchServerDate(ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        time_t mTimeout;
+        
+        newsnntp * mNNTP;
+        int mState;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        bool checkCertificate();
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        void loginIfNeeded(ErrorCode * pError);
+        void readerIfNeeded(ErrorCode * pError);
+        void listIfNeeded(ErrorCode * pError);
+        void selectGroup(String * folder, ErrorCode * pError);
+    };
+	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNetService.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNetService.h
new file mode 100644
index 0000000000000000000000000000000000000000..00a618add1d25f613232ed9225084c3e6d5ed8b5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNetService.h
@@ -0,0 +1,59 @@
+//
+//  MCNetService.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNETSERVICE_H
+
+#define MAILCORE_MCNETSERVICE_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT NetService : public Object {
+    
+    public:
+        NetService();
+        virtual ~NetService();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        	
+        virtual String * normalizedHostnameWithEmail(String * email);
+        
+    public: // serialization
+        static NetService * serviceWithInfo(HashMap * info);
+        virtual HashMap * info();
+    
+    public: //subclass behavior
+        NetService(NetService * other);
+        virtual String * description();
+        virtual Object * copy();
+    		
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        ConnectionType mConnectionType;
+        
+        void init();
+        void fillWithInfo(HashMap * info);
+    };
+    
+}
+
+#endif
+	
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNull.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNull.h
new file mode 100644
index 0000000000000000000000000000000000000000..dc271e0472b844772497ea39e89ef4abf190da6f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCNull.h
@@ -0,0 +1,28 @@
+//
+//  MCNull.h
+//  hermes
+//
+//  Created by DINH Viêt Hoà on 4/9/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCNULL_H
+
+#define MAILCORE_MCNULL_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT Null : public Object {
+    public:
+        static Null * null();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstract.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstract.h
new file mode 100644
index 0000000000000000000000000000000000000000..e174b818fd65a63aaa2b778775361220eea17e2f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstract.h
@@ -0,0 +1,23 @@
+//
+//  MCOAbstract.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACT_H
+
+#define MAILCORE_MCOABSTRACT_H
+
+#import <MailCore/MCOAbstractMessage.h>
+#import <MailCore/MCOAbstractMessagePart.h>
+#import <MailCore/MCOAbstractMultipart.h>
+#import <MailCore/MCOAbstractPart.h>
+#import <MailCore/MCOAddress.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOMessageHeader.h>
+#import <MailCore/MCOHTMLRendererDelegate.h>
+#import <MailCore/MCOHTMLRendererIMAPDelegate.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessage.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..aa5db14b589f7003a645bbb92274ab561e607baa
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessage.h
@@ -0,0 +1,59 @@
+//
+//  MCOAbstractMessage.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMESSAGE_H
+
+#define MAILCORE_MCOABSTRACTMESSAGE_H
+
+#import <Foundation/Foundation.h>
+
+@class MCOMessageHeader;
+@class MCOAbstractPart;
+
+#ifdef __cplusplus
+namespace mailcore {
+    class AbstractMessage;
+}
+#endif
+
+@interface MCOAbstractMessage : NSObject <NSCopying>
+
+#ifdef __cplusplus
+- (id) initWithMCMessage:(mailcore::AbstractMessage *)message NS_DESIGNATED_INITIALIZER;
+#endif
+
+/** Header of the message. */
+@property (nonatomic, strong) MCOMessageHeader * header;
+
+/** Returns the part with the given Content-ID.*/
+- (MCOAbstractPart *) partForContentID:(NSString *)contentID;
+
+/** Returns the part with the given unique identifier.*/
+- (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID;
+
+/** All attachments in the message.
+ It will return an array of MCOIMAPPart for MCOIMAPMessage.
+ It will return an array of MCOAttachment for MCOMessageParser.
+ It will return an array of MCOAttachment for MCOMessageBuilder. */
+- (NSArray * /* MCOAbstractPart */) attachments;
+
+/** All image attachments included inline in the message through cid: URLs.
+ It will return an array of MCOIMAPPart for MCOIMAPMessage.
+ It will return an array of MCOAttachment for MCOMessageParser.
+ It will return an array of MCOAttachment for MCOMessageBuilder. */
+- (NSArray * /* MCOAbstractPart */) htmlInlineAttachments;
+
+/**
+ Returns parts required to render the message as plain text or html.
+ This does not include inline images and attachments, but only the text content
+ */
+- (NSArray *) requiredPartsForRendering;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5117481dad82960c5f36446ef4f78415df54d89
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMessagePart.h
@@ -0,0 +1,30 @@
+//
+//  MCOAbstractMessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMESSAGEPART_H
+
+#define MAILCORE_MCOABSTRACTMESSAGEPART_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOAbstractPart.h>
+
+@class MCOMessageHeader;
+
+@interface MCOAbstractMessagePart : MCOAbstractPart
+
+// Returns the header of the embedded message.
+@property (nonatomic, strong) MCOMessageHeader * header;
+
+// Returns the main part of the embedded message. It can be MCOAbstractPart, MCOAbstractMultipart
+// or a MCOAbstractMessagePart.
+@property (nonatomic, strong) MCOAbstractPart * mainPart;
+
+@end
+
+#endif
+
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..4502319b582b967c77308f4bba3a2e73d0331967
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractMultipart.h
@@ -0,0 +1,23 @@
+//
+//  MCOAbstractMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTMULTIPART_H
+
+#define MAILCORE_MCOABSTRACTMULTIPART_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOAbstractPart.h>
+
+@interface MCOAbstractMultipart : MCOAbstractPart
+
+/** Returns the subparts of that multipart.*/
+@property (nonatomic, copy) NSArray * /* MCOAbstractPart */ parts;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractPart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..f3986af17a9df3308309ac34c2790563b52ea9d1
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAbstractPart.h
@@ -0,0 +1,119 @@
+//
+//  MCOAbstractPart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOABSTRACTPART_H
+
+#define MAILCORE_MCOABSTRACTPART_H
+
+#import <Foundation/Foundation.h>
+
+@class MCOAbstractMessage;
+
+typedef NS_ENUM(NSInteger, MCOPartType) {
+    // Used for a single part.
+    // The part will be a MCOAbstractPart.
+    MCOPartTypeSingle,
+    
+    // Used for a message part (MIME type: message/rfc822).
+    // The part will be a MCOAbstractMessagePart.
+    // It's when a message is sent as attachment of an other message.
+    MCOPartTypeMessage,
+    
+    // Used for a multipart, multipart/mixed.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartMixed,
+    
+    // Used for a multipart, multipart/related.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartRelated,
+    
+    // Used for a multipart, multipart/alternative.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartAlternative,
+    
+    // Used for a signed message, multipart/signed.
+    // The part will be a MCOAbstractMultipart.
+    MCOPartTypeMultipartSigned,
+};
+
+#ifdef __cplusplus
+namespace mailcore {
+    class AbstractPart;
+}
+#endif
+
+@interface MCOAbstractPart : NSObject <NSCopying>
+
+#ifdef __cplusplus
+- (id) initWithMCPart:(mailcore::AbstractPart *)part NS_DESIGNATED_INITIALIZER;
+#endif
+
+/** Returns type of the part (single / message part / multipart/mixed,
+ multipart/related, multipart/alternative). See MCOPartType.*/
+@property (nonatomic, assign) MCOPartType partType;
+
+/** Returns filename of the part.*/
+@property (nonatomic, copy) NSString * filename;
+
+/** Returns MIME type of the part. For example application/data.*/
+@property (nonatomic, copy) NSString * mimeType;
+
+/** Returns charset of the part in case it's a text single part.*/
+@property (nonatomic, copy) NSString * charset;
+
+/** Returns the unique ID generated for this part.
+ It's a unique identifier that's created when the object is created manually
+ or created by the parser.*/
+@property (nonatomic, copy) NSString * uniqueID;
+
+/** Returns the value of the Content-ID field of the part.*/
+@property (nonatomic, copy) NSString * contentID;
+
+/** Returns the value of the Content-Location field of the part.*/
+@property (nonatomic, copy) NSString * contentLocation;
+
+/** Returns the value of the Content-Description field of the part.*/
+@property (nonatomic, copy) NSString * contentDescription;
+
+/** Returns whether the part is an explicit inline attachment.*/
+@property (nonatomic, assign, getter=isInlineAttachment) BOOL inlineAttachment;
+
+/** Returns whether the part is an explicit attachment.*/
+@property (nonatomic, assign, getter=isAttachment) BOOL attachment;
+
+/** Returns the part with the given Content-ID among this part and its subparts.*/
+- (MCOAbstractPart *) partForContentID:(NSString *)contentID;
+
+/** Returns the part with the given unique identifier among this part and its subparts.*/
+- (MCOAbstractPart *) partForUniqueID:(NSString *)uniqueID;
+
+/** Returns a string representation of the data according to charset.*/
+- (NSString *) decodedStringForData:(NSData *)data;
+
+/** Adds a content type parameter.*/
+- (void) setContentTypeParameterValue:(NSString *)value forName:(NSString *)name;
+
+/** Remove a given content type parameter.*/
+- (void) removeContentTypeParameterForName:(NSString *)name;
+
+/** Returns the value of a given content type parameter.*/
+- (NSString *) contentTypeParameterValueForName:(NSString *)name;
+
+/** Returns an array with the names of all content type parameters.*/
+- (NSArray * /* NSString */) allContentTypeParametersNames;
+
+@end
+
+@interface MCOAbstractPart (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAccountValidator.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAccountValidator.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5f09bc24cd31b62e7404916a3dee3ed75aed9c2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAccountValidator.h
@@ -0,0 +1,54 @@
+//
+//  MCOAccountValidator.h
+//  mailcore2
+//
+//  Created by Christopher Hockley on 20/01/15.
+//  Copyright (c) 2015 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This class is used to validate an email provider and it's associated
+ metadata and credentials.
+ 
+ An app might want to use this during setup to limit the number of settings
+ a user has to input.
+ */
+
+@class MCONetService;
+
+@interface MCOAccountValidator : MCOOperation
+
+@property (nonatomic, copy) NSString * email; /* for SMTP */
+@property (nonatomic, copy) NSString * username;
+@property (nonatomic, copy) NSString * password;
+@property (nonatomic, copy) NSString * OAuth2Token;
+
+@property (nonatomic, retain) NSArray * /* MCONetService */ imapServers;
+@property (nonatomic, retain) NSArray * /* MCONetService */ popServers;
+@property (nonatomic, retain) NSArray * /* MCONetService */ smtpServers;
+
+@property (nonatomic, assign, getter=isImapEnabled) BOOL imapEnabled;
+@property (nonatomic, assign, getter=isPopEnabled) BOOL popEnabled;
+@property (nonatomic, assign, getter=isSmtpEnabled) BOOL smtpEnabled;
+
+// result
+@property (nonatomic, retain, readonly) NSString * identifier;
+@property (nonatomic, retain, readonly) MCONetService * imapServer;
+@property (nonatomic, retain, readonly) MCONetService * popServer;
+@property (nonatomic, retain, readonly) MCONetService * smtpServer;
+@property (nonatomic, retain, readonly) NSError * imapError;
+@property (nonatomic, retain, readonly) NSError * popError;
+@property (nonatomic, retain, readonly) NSError * smtpError;
+
+/**
+ Starts the asynchronous account validation operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ */
+- (void) start:(void (^)(void))completionBlock;
+
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAddress.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAddress.h
new file mode 100644
index 0000000000000000000000000000000000000000..6c3284e82d557afa72748cb6c19ded287523667d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAddress.h
@@ -0,0 +1,81 @@
+//
+//  MCOAddress.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOADDRESS_H
+
+#define MAILCORE_MCOADDRESS_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOAddress : NSObject <NSCopying, NSCoding>
+
+/** Creates an address with a display name and a mailbox.
+
+    Example: [MCOAddress addressWithDisplayName:@"DINH Viêt Hoà" mailbox:@"hoa@etpan.org"] */
++ (MCOAddress *) addressWithDisplayName:(NSString *)displayName
+                                mailbox:(NSString *)mailbox;
+
+/** Creates an address with only a mailbox.
+
+    Example: [MCOAddress addressWithMailbox:@"hoa@etpan.org"]*/
++ (MCOAddress *) addressWithMailbox:(NSString *)mailbox;
+
+/** Creates an address with a RFC822 string.
+
+    Example: [MCOAddress addressWithRFC822String:@"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>"]*/
++ (MCOAddress *) addressWithRFC822String:(NSString *)RFC822String;
+
+/** Creates an address with a non-MIME-encoded RFC822 string.
+
+    Example: [MCOAddress addressWithNonEncodedRFC822String:@"DINH Viêt Hoà <hoa@etpan.org>"]*/
++ (MCOAddress *) addressWithNonEncodedRFC822String:(NSString *)nonEncodedRFC822String;
+
+/** 
+ Returns an NSArray of MCOAddress objects that contain the parsed
+ forms of the RFC822 encoded addresses.
+
+ For example: @[ @"DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>" ]*/
++ (NSArray *) addressesWithRFC822String:(NSString *)string;
+
+/** 
+ Returns an NSArray of MCOAddress objects that contain the parsed
+ forms of non-encoded RFC822 addresses.
+
+ For example: @[ "DINH Viêt Hoà <hoa@etpan.org>" ]*/
++ (NSArray *) addressesWithNonEncodedRFC822String:(NSString *)string;
+
+
+/** Returns the display name of the address.*/
+@property (nonatomic, copy) NSString * displayName;
+
+/** Returns the mailbox of the address.*/
+@property (nonatomic, copy) NSString * mailbox;
+
+/** Returns the RFC822 encoding of the address.
+
+    For example: "DINH Vi=C3=AAt Ho=C3=A0 <hoa@etpan.org>"*/
+- (NSString *) RFC822String;
+
+/** Returns the non-MIME-encoded RFC822 encoding of the address.
+
+    For example: "DINH Viêt Hoà <hoa@etpan.org>"*/
+- (NSString *) nonEncodedRFC822String;
+
+@end
+
+@interface NSArray (MCOAddress)
+
+/** Returns the RFC822 encoding of the addresses.*/
+- (NSString *) mco_RFC822StringForAddresses;
+
+/** Returns the non-MIME-encoded RFC822 of the addresses.*/
+- (NSString *) mco_nonEncodedRFC822StringForAddresses;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAttachment.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAttachment.h
new file mode 100644
index 0000000000000000000000000000000000000000..eec1bd198436e954484b1d1ddb4a7e526a8b53a6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOAttachment.h
@@ -0,0 +1,47 @@
+//
+//  MCOAttachment.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOATTACHMENT_H
+
+#define MAILCORE_MCOATTACHMENT_H
+
+#import <MailCore/MCOAbstractPart.h>
+
+/** This is a single part.
+
+    It can either parsed from RFC 822 message data or created to build a message.*/
+
+@interface MCOAttachment : MCOAbstractPart
+
+/** Returns a MIME type for a filename.*/
++ (NSString *) mimeTypeForFilename:(NSString *)filename;
+
+/** Returns a file attachment with the content of the given file.*/
++ (MCOAttachment *) attachmentWithContentsOfFile:(NSString *)filename;
+
+/** Returns a file attachment with the given data and filename.*/
++ (MCOAttachment *) attachmentWithData:(NSData *)data filename:(NSString *)filename;
+
+/** Returns a part with an HTML content.*/
++ (MCOAttachment *) attachmentWithHTMLString:(NSString *)htmlString;
+
+/** Returns a part with a RFC 822 messsage attachment.*/
++ (MCOAttachment *) attachmentWithRFC822Message:(NSData *)messageData;
+
+/** Returns a part with an plain text content.*/
++ (MCOAttachment *) attachmentWithText:(NSString *)text;
+
+/** Decoded data of the part.*/
+@property (nonatomic, strong) NSData * data;
+
+/** Returns string representation according to charset*/
+- (NSString *) decodedString;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOConstants.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOConstants.h
new file mode 100644
index 0000000000000000000000000000000000000000..419d8485a9b6ecbc99e4f4519cc77018ef833809
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOConstants.h
@@ -0,0 +1,453 @@
+#ifndef MAILCORE_MCOCONSTANTS_H
+
+#define MAILCORE_MCOCONSTANTS_H
+
+/** It's the connection type.*/
+typedef NS_OPTIONS(NSInteger, MCOConnectionType) {
+    /** Clear-text connection for the protocol.*/
+    MCOConnectionTypeClear             = 1 << 0,
+    /** Clear-text connection at the beginning, then switch to encrypted connection using TLS/SSL*/
+    /** on the same TCP connection.*/
+    MCOConnectionTypeStartTLS          = 1 << 1,
+    /** Encrypted connection using TLS/SSL.*/
+    MCOConnectionTypeTLS               = 1 << 2,
+};
+
+/** It's the authentication type.*/
+typedef NS_OPTIONS(NSInteger, MCOAuthType) {
+    /** Default authentication scheme of the protocol.*/
+    MCOAuthTypeSASLNone          = 0,
+    /** CRAM-MD5 authentication RFC 2195.*/
+    MCOAuthTypeSASLCRAMMD5       = 1 << 0,
+    /** PLAIN authentication RFC 4616.*/
+    MCOAuthTypeSASLPlain         = 1 << 1,
+    /** GSSAPI authentication.*/
+    MCOAuthTypeSASLGSSAPI        = 1 << 2,
+    /** DIGEST-MD5 authentication RFC 2831.*/
+    MCOAuthTypeSASLDIGESTMD5     = 1 << 3,
+    /** LOGIN authentication http://tools.ietf.org/id/draft-murchison-sasl-login-00.txt*/
+    MCOAuthTypeSASLLogin         = 1 << 4,
+    /** Secure Remote Password Authentication http://tools.ietf.org/html/draft-burdis-cat-srp-sasl-08*/
+    MCOAuthTypeSASLSRP           = 1 << 5,
+    /** NTLM authentication.*/
+    MCOAuthTypeSASLNTLM          = 1 << 6,
+    /** Kerberos 4 authentication.*/
+    MCOAuthTypeSASLKerberosV4    = 1 << 7,
+    /** OAuth2 authentication.*/
+    MCOAuthTypeXOAuth2           = 1 << 8,
+    /** OAuth2 authentication on outlook.com.*/
+    MCOAuthTypeXOAuth2Outlook    = 1 << 9,
+};
+
+/** It's the IMAP flags of the folder.*/
+typedef NS_OPTIONS(NSInteger, MCOIMAPFolderFlag) {
+    MCOIMAPFolderFlagNone        = 0,
+    /** \Marked*/
+    MCOIMAPFolderFlagMarked      = 1 << 0,
+    /** \Unmarked*/
+    MCOIMAPFolderFlagUnmarked    = 1 << 1,
+    /** \NoSelect: When a folder can't be selected.*/
+    MCOIMAPFolderFlagNoSelect    = 1 << 2,
+    /** \NoInferiors: When the folder has no children.*/
+    MCOIMAPFolderFlagNoInferiors = 1 << 3,
+    /** \Inbox: When the folder is the inbox.*/
+    MCOIMAPFolderFlagInbox       = 1 << 4,
+    /** \Sent: When the folder is the sent folder.*/
+    MCOIMAPFolderFlagSentMail    = 1 << 5,
+    /** \Starred: When the folder is the starred folder*/
+    MCOIMAPFolderFlagStarred     = 1 << 6,
+    /** \AllMail: When the folder is all mail.*/
+    MCOIMAPFolderFlagAllMail     = 1 << 7,
+    /** \Trash: When the folder is the trash.*/
+    MCOIMAPFolderFlagTrash       = 1 << 8,
+    /** \Drafts: When the folder is the drafts folder.*/
+    MCOIMAPFolderFlagDrafts      = 1 << 9,
+    /** \Spam: When the folder is the spam folder.*/
+    MCOIMAPFolderFlagSpam        = 1 << 10,
+    /** \Important: When the folder is the important folder.*/
+    MCOIMAPFolderFlagImportant   = 1 << 11,
+    /** \Archive: When the folder is archive.*/
+    MCOIMAPFolderFlagArchive     = 1 << 12,
+    /** \All: When the folder contains all mails, similar to \AllMail.*/
+    MCOIMAPFolderFlagAll         = MCOIMAPFolderFlagAllMail,
+    /** \Junk: When the folder is the spam folder.*/
+    MCOIMAPFolderFlagJunk        = MCOIMAPFolderFlagSpam,
+    /** \Flagged: When the folder contains all the flagged emails.*/
+    MCOIMAPFolderFlagFlagged     = MCOIMAPFolderFlagStarred,
+    /** Mask to identify the folder */
+    MCOIMAPFolderFlagFolderTypeMask = MCOIMAPFolderFlagInbox | MCOIMAPFolderFlagSentMail | MCOIMAPFolderFlagStarred | MCOIMAPFolderFlagAllMail |
+      MCOIMAPFolderFlagTrash| MCOIMAPFolderFlagDrafts | MCOIMAPFolderFlagSpam | MCOIMAPFolderFlagImportant | MCOIMAPFolderFlagArchive,
+};
+
+/** It's the flags of a message.*/
+typedef NS_OPTIONS(NSInteger, MCOMessageFlag) {
+    MCOMessageFlagNone          = 0,
+    /** Seen/Read flag.*/
+    MCOMessageFlagSeen          = 1 << 0,
+    /** Replied/Answered flag.*/
+    MCOMessageFlagAnswered      = 1 << 1,
+    /** Flagged/Starred flag.*/
+    MCOMessageFlagFlagged       = 1 << 2,
+    /** Deleted flag.*/
+    MCOMessageFlagDeleted       = 1 << 3,
+    /** Draft flag.*/
+    MCOMessageFlagDraft         = 1 << 4,
+    /** $MDNSent flag.*/
+    MCOMessageFlagMDNSent       = 1 << 5,
+    /** $Forwarded flag.*/
+    MCOMessageFlagForwarded     = 1 << 6,
+    /** $SubmitPending flag.*/
+    MCOMessageFlagSubmitPending = 1 << 7,
+    /** $Submitted flag.*/
+    MCOMessageFlagSubmitted     = 1 << 8,
+};
+
+/** It's the encoding of a part.*/
+typedef NS_ENUM(NSInteger, MCOEncoding) {
+    /** 7bit encoding.*/
+    MCOEncoding7Bit = 0,            /** should match MAILIMAP_BODY_FLD_ENC_7BIT*/
+    /** 8bit encoding.*/
+    MCOEncoding8Bit = 1,            /** should match MAILIMAP_BODY_FLD_ENC_8BIT*/
+    /** binary encoding.*/
+    MCOEncodingBinary = 2,          /** should match MAILIMAP_BODY_FLD_ENC_BINARY*/
+    /** base64 encoding.*/
+    MCOEncodingBase64 = 3,          /** should match MAILIMAP_BODY_FLD_ENC_BASE64*/
+    /** quoted-printable encoding.*/
+    MCOEncodingQuotedPrintable = 4, /** should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE*/
+    /** other encoding.*/
+    MCOEncodingOther = 5,           /** should match MAILIMAP_BODY_FLD_ENC_OTHER*/
+    
+    /** Negative values should be used for encoding not supported by libetpan.*/
+    
+    /** UUEncode encoding.*/
+    MCOEncodingUUEncode = -1
+};
+
+/** It's the information to fetch for a given message in the IMAP FETCH request.*/
+typedef NS_OPTIONS(NSInteger, MCOIMAPMessagesRequestKind) {
+    /** UID of the message.*/
+    MCOIMAPMessagesRequestKindUid            = 0, /** This is the default and it's always fetched*/
+    /** Flags of the message.*/
+    MCOIMAPMessagesRequestKindFlags          = 1 << 0,
+    /** Headers of the message (parsed by the server).*/
+    MCOIMAPMessagesRequestKindHeaders        = 1 << 1,
+    /** MIME structure of the message.*/
+    MCOIMAPMessagesRequestKindStructure      = 1 << 2,
+    /** Received date.*/
+    MCOIMAPMessagesRequestKindInternalDate   = 1 << 3,
+    /** Headers through headers data.*/
+    MCOIMAPMessagesRequestKindFullHeaders    = 1 << 4,
+    /** Subject of the message.*/
+    MCOIMAPMessagesRequestKindHeaderSubject  = 1 << 5,
+    /** Gmail Labels.*/
+    MCOIMAPMessagesRequestKindGmailLabels    = 1 << 6,
+	/** Gmail Message ID.*/
+    MCOIMAPMessagesRequestKindGmailMessageID = 1 << 7,
+    /** Gmail Thread ID.*/
+    MCOIMAPMessagesRequestKindGmailThreadID  = 1 << 8,
+    /** Extra Headers.*/
+    MCOIMAPMessagesRequestKindExtraHeaders   = 1 << 9,
+    /* Request size of message */
+    MCOIMAPMessagesRequestKindSize           = 1 << 10,
+
+};
+
+/** It defines the behavior of the STORE flags request.*/
+typedef NS_ENUM(NSInteger, MCOIMAPStoreFlagsRequestKind) {
+    /** Add the given flags.*/
+    MCOIMAPStoreFlagsRequestKindAdd,
+    /** Remove the given flags.*/
+    MCOIMAPStoreFlagsRequestKindRemove,
+    /** Set the given flags.*/
+    MCOIMAPStoreFlagsRequestKindSet,
+};
+
+/** It's the search type.*/
+typedef NS_ENUM(NSInteger, MCOIMAPSearchKind) {
+    /** Search All */
+    MCOIMAPSearchKindAll,
+    /** No search.*/
+    MCOIMAPSearchKindNone,
+    /** Match sender.*/
+    MCOIMAPSearchKindFrom,
+    /** Match to */
+    MCOIMAPSearchKindTo,
+    /** Match CC: */
+    MCOIMAPSearchKindCc,
+    /** Match BCC: */
+    MCOIMAPSearchKindBcc,
+    /** Match recipient.*/
+    MCOIMAPSearchKindRecipient,
+    /** Match subject.*/
+    MCOIMAPSearchKindSubject,
+    /** Match content of the message, including the headers.*/
+    MCOIMAPSearchKindContent,
+    /** Match content of the message, excluding the headers.*/
+    MCOIMAPSearchKindBody,
+    /** Match uids */
+    MCOIMAPSearchKindUids,
+    /** Match headers of the message.*/
+    MCOIMAPSearchKindHeader,
+    /** Match messages that are read.*/
+    MCOIMAPSearchKindRead,
+    /** Match messages that are not read.*/
+    MCOIMAPSearchKindUnread,
+    /** Match messages that are flagged.*/
+    MCOIMAPSearchKindFlagged,
+    /** Match messages that are not flagged.*/
+    MCOIMAPSearchKindUnflagged,
+    /** Match messages that are answered.*/
+    MCOIMAPSearchKindAnswered,
+    /** Match messages that are not answered.*/
+    MCOIMAPSearchKindUnanswered,
+    /** Match messages that are a drafts.*/
+    MCOIMAPSearchKindDraft,
+    /** Match messages that are not drafts.*/
+    MCOIMAPSearchKindUndraft,
+    /** Match messages that are deleted.*/
+    MCOIMAPSearchKindDeleted,
+    /** Match messages that are spam.*/
+    MCOIMAPSearchKindSpam,
+    /** Match messages before the given date.*/
+    MCOIMAPSearchKindBeforeDate,
+    /** Match messages on the given date.*/
+    MCOIMAPSearchKindOnDate,
+    /** Match messages after the given date.*/
+    MCOIMAPSearchKindSinceDate,
+    /** Match messages before the given received date.*/
+    MCOIMAPSearchKindBeforeReceivedDate,
+    /** Match messages on the given received date.*/
+    MCOIMAPSearchKindOnReceivedDate,
+    /** Match messages after the given received date.*/
+    MCOIMAPSearchKindSinceReceivedDate,
+    /** Match messages that are larger than the given size in bytes.*/
+    MCOIMAPSearchKindSizeLarger,
+    /** Match messages that are smaller than the given size in bytes.*/
+    MCOIMAPSearchKindSizeSmaller,
+    /** Match X-GM-THRID.*/
+    MCOIMAPSearchGmailThreadID,
+    /** Match X-GM-MSGID.*/
+    MCOIMAPSearchGmailMessageID,
+    /** Match X-GM-RAW.*/
+    MCOIMAPSearchGmailRaw,
+    /** Or expresssion.*/
+    MCOIMAPSearchKindOr,
+    /** And expression.*/
+    MCOIMAPSearchKindAnd,
+    /** Not expression.*/
+    MCOIMAPSearchKindNot,
+};
+
+/** Keys for the namespace dictionary.*/
+#define MCOIMAPNamespacePersonal @"IMAPNamespacePersonal"
+#define MCOIMAPNamespaceOther @"IMAPNamespaceOther"
+#define MCOIMAPNamespaceShared @"IMAPNamespaceShared"
+
+/** This is the constants for the IMAP capabilities.*/
+/** See corresponding RFC for more information.*/
+typedef NS_ENUM(NSInteger, MCOIMAPCapability) {
+    /** ACL Capability.*/
+    MCOIMAPCapabilityACL,
+    /** BINARY Capability.*/
+    MCOIMAPCapabilityBinary,
+    /** CATENATE Capability.*/
+    MCOIMAPCapabilityCatenate,
+    /** CHILDREN Capability.*/
+    MCOIMAPCapabilityChildren,
+    /** COMPRESS Capability.*/
+    MCOIMAPCapabilityCompressDeflate,
+    /** CONDSTORE Capability.*/
+    MCOIMAPCapabilityCondstore,
+    /** ENABLE Capability.*/
+    MCOIMAPCapabilityEnable,
+    /** IDLE Capability.*/
+    MCOIMAPCapabilityIdle,
+    /** ID Capability.*/
+    MCOIMAPCapabilityId,
+    /** LITERAL+ Capability.*/
+    MCOIMAPCapabilityLiteralPlus,
+    /** MULTIAPPEND Capability.*/
+    MCOIMAPCapabilityMultiAppend,
+    /** NAMESPACE Capability.*/
+    MCOIMAPCapabilityNamespace,
+    /** QRESYNC Capability.*/
+    MCOIMAPCapabilityQResync,
+    /** QUOTE Capability.*/
+    MCOIMAPCapabilityQuota,
+    /** SORT Capability.*/
+    MCOIMAPCapabilitySort,
+    /** STARTTLS Capability.*/
+    MCOIMAPCapabilityStartTLS,
+    /** THREAD=ORDEREDSUBJECT Capability.*/
+    MCOIMAPCapabilityThreadOrderedSubject,
+    /** THREAD=REFERENCES Capability.*/
+    MCOIMAPCapabilityThreadReferences,
+    /** UIDPLUS Capability.*/
+    MCOIMAPCapabilityUIDPlus,
+    /** UNSELECT Capability.*/
+    MCOIMAPCapabilityUnselect,
+    /** XLIST Capability.*/
+    MCOIMAPCapabilityXList,
+    /** AUTH=ANONYMOUS Capability.*/
+    MCOIMAPCapabilityAuthAnonymous,
+    /** AUTH=CRAM-MD5 Capability.*/
+    MCOIMAPCapabilityAuthCRAMMD5,
+    /** AUTH=DIGEST-MD5 Capability.*/
+    MCOIMAPCapabilityAuthDigestMD5,
+    /** AUTH=EXTERNAL Capability.*/
+    MCOIMAPCapabilityAuthExternal,
+    /** AUTH=GSSAPI Capability.*/
+    MCOIMAPCapabilityAuthGSSAPI,
+    /** AUTH=KERBEROSV4 Capability.*/
+    MCOIMAPCapabilityAuthKerberosV4,
+    /** AUTH=LOGIN Capability.*/
+    MCOIMAPCapabilityAuthLogin,
+    /** AUTH=NTML Capability.*/
+    MCOIMAPCapabilityAuthNTLM,
+    /** AUTH=OTP Capability.*/
+    MCOIMAPCapabilityAuthOTP,
+    /** AUTH=PLAIN Capability.*/
+    MCOIMAPCapabilityAuthPlain,
+    /** AUTH=SKEY Capability.*/
+    MCOIMAPCapabilityAuthSKey,
+    /** AUTH=SRP Capability.*/
+    MCOIMAPCapabilityAuthSRP,
+    /** AUTH=XOAUTH2 Capability.*/
+    MCOIMAPCapabilityXOAuth2,
+    /** X-GM-EXT-1 Capability.*/
+    MCOIMAPCapabilityGmail
+};
+
+/** Error domain for mailcore.*/
+#define MCOErrorDomain @"MCOErrorDomain"
+
+/** Here's the list of errors.*/
+typedef NS_ENUM(NSInteger, MCOErrorCode) {
+    /** No error occurred.*/
+    MCOErrorNone, // 0
+    /** An error related to the connection occurred.*/
+    /** It could not connect or it's been disconnected.*/
+    MCOErrorConnection,
+    /** TLS/SSL connection was not available.*/
+    MCOErrorTLSNotAvailable,
+    /** The protocol could not be parsed.*/
+    MCOErrorParse,
+    /** Certificate was not valid.*/
+    MCOErrorCertificate,
+    /** An authentication error occurred.*/
+    MCOErrorAuthentication,
+    /** Specific to Gmail: IMAP not enabled.*/
+    MCOErrorGmailIMAPNotEnabled,
+    /** Specific to Gmail: Exceeded bandwidth limit.*/
+    MCOErrorGmailExceededBandwidthLimit,
+    /** Specific to Gmail: Too many simultaneous connections.*/
+    MCOErrorGmailTooManySimultaneousConnections,
+    /** Specific to Mobile Me: Moved to iCloud.*/
+    MCOErrorMobileMeMoved,
+    /** Specific to Yahoo: not available.*/
+    MCOErrorYahooUnavailable, // 10
+    /** Non existant folder, select failed.*/
+    MCOErrorNonExistantFolder,
+    /** IMAP: Error occurred while renaming a folder.*/
+    MCOErrorRename,
+    /** IMAP: Error occurred while deleting a folder.*/
+    MCOErrorDelete,
+    /** IMAP: Error occurred while creating a folder.*/
+    MCOErrorCreate,
+    /** IMAP: Error occurred while subscribing/unsubcribing to a folder.*/
+    MCOErrorSubscribe,
+    /** IMAP: Error occurred while adding a message to a folder.*/
+    MCOErrorAppend,
+    /** IMAP: Error occurred while copying a message.*/
+    MCOErrorCopy,
+    /** IMAP: Error occurred while expunging.*/
+    MCOErrorExpunge,
+    /** IMAP: Error occurred while fetching messages.*/
+    MCOErrorFetch,
+    /** IMAP: Error occurred while IDLing.*/
+    MCOErrorIdle, // 20
+    /** IMAP: Error occurred while sending/getting identity.*/
+    MCOErrorIdentity,
+    /** IMAP: Error occurred while getting namespace.*/
+    MCOErrorNamespace,
+    /** IMAP: Error occurred while storing flags.*/
+    MCOErrorStore,
+    /** IMAP: Error wile getting capabilities.*/
+    MCOErrorCapability,
+    /** STARTTLS is not available.*/
+    MCOErrorStartTLSNotAvailable,
+    /** SMTP: Illegal attachment: certain kind of attachment cannot be sent.*/
+    MCOErrorSendMessageIllegalAttachment,
+    /** SMTP: Storage limit: message is probably too big.*/
+    MCOErrorStorageLimit,
+    /** SMTP: Sending message is not allowed.*/
+    MCOErrorSendMessageNotAllowed,
+    /** SMTP: Specific to hotmail. Needs to connect to webmail.*/
+    MCOErrorNeedsConnectToWebmail,
+    /** SMTP: Error while sending message.*/
+    MCOErrorSendMessage, // 30
+    /** SMTP: Authentication required.*/
+    MCOErrorAuthenticationRequired,
+    /** POP: Error occurred while fetching message list.*/
+    MCOErrorFetchMessageList,
+    /** POP: Error occurred while deleting message.*/
+    MCOErrorDeleteMessage,
+    /** SMTP: Error while checking account.*/
+    MCOErrorInvalidAccount,
+    /** Error when accessing/reading/writing file.*/
+    MCOErrorFile,
+    /** IMAP: Error when trying to enable compression.*/
+    MCOErrorCompression,
+    /** SMTP: Error when no sender has been specified.*/
+    MCOErrorNoSender,
+    /** SMTP: Error when no recipient has been specified.*/
+    MCOErrorNoRecipient,
+    /** IMAP: Error when a noop operation fails.*/
+    MCOErrorNoop,
+    /** IMAP: Error when the password has been entered but second factor
+     authentication is enabled: an application specific password is required. */
+    MCOErrorGmailApplicationSpecificPasswordRequired, // 40
+    /** NNTP: error when requesting date */
+    MCOErrorServerDate,
+    /** No valid server found */
+    MCOErrorNoValidServerFound,
+    /** Error while running custom command */
+    MCOErrorCustomCommand,
+    /** Spam was suspected by server */
+    MCOErrorYahooSendMessageSpamSuspected,
+    /** Daily limit of sent messages was hit */
+    MCOErrorYahooSendMessageDailyLimitExceeded,
+    /** The count of all errors */
+    MCOErrorCodeCount,
+};
+
+/** Here's the list of connection log types.*/
+typedef NS_ENUM(NSInteger, MCOConnectionLogType) {
+    /** Received data.*/
+    MCOConnectionLogTypeReceived,
+    /** Sent data.*/
+    MCOConnectionLogTypeSent,
+    /** Sent private data. It can be a password.*/
+    MCOConnectionLogTypeSentPrivate,
+    /** Parse error.*/
+    MCOConnectionLogTypeErrorParse,
+    /** Error while receiving data. The data passed to the log will be nil.*/
+    MCOConnectionLogTypeErrorReceived,
+    /** Error while sending dataThe data passed to the log will be nil.*/
+    MCOConnectionLogTypeErrorSent,
+};
+
+/**
+ It's a network traffic logger.
+ @param connectionID is the identifier of the underlaying network socket.
+ @param type is the type of the log.
+ @param data is the data related to the log.
+ */
+typedef void (^MCOConnectionLogger)(void * connectionID, MCOConnectionLogType type, NSData * data);
+
+/**
+ It's called when asynchronous operations stop/start running.
+ */
+typedef void (^MCOOperationQueueRunningChangeBlock)(void);
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererDelegate.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererDelegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb62cb75046b394b5831a7bca54707abe4eaf6e9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererDelegate.h
@@ -0,0 +1,106 @@
+//
+//  MCOHTMLRendererDelegate.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOHTMLRENDERERDELEGATE_H
+
+#define MAILCORE_MCOHTMLRENDERERDELEGATE_H
+
+#import <Foundation/Foundation.h>
+
+/** This delegate protocol is used to help rendering of the message.
+
+ It will be used for the following methods.
+
+ [MCOMessageParser htmlRenderingWithDelegate:],
+
+ [MCOMessageBuilder htmlRenderingWithDelegate:]
+
+ -[MCOIMAPMessage htmlRenderingWithFolder:delegate:]
+*/
+
+@class MCOAbstractPart;
+@class MCOAbstractMessage;
+@class MCOMessageHeader;
+@class MCOAbstractMessagePart;
+
+@protocol MCOHTMLRendererDelegate <NSObject>
+
+/** All methods are optional.*/
+@optional
+
+/** This delegate method should return YES if it can render a preview of the attachment as an image.
+ part is always a single part.
+
+If the attachment can be previewed, it will be rendered using the image template.
+If not, the attachment template will be used.*/
+- (BOOL) MCOAbstractMessage:(MCOAbstractMessage *)msg canPreviewPart:(MCOAbstractPart *)part;
+
+/** This delegate method should return YES if the part should be rendered.*/
+- (BOOL) MCOAbstractMessage:(MCOAbstractMessage *)msg shouldShowPart:(MCOAbstractPart *)part;
+
+/** This delegate method returns the values to be applied to the template for the given header.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the header.*/
+- (NSDictionary *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateValuesForHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the values to be applied to the template for the given attachment.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the attachment.*/
+- (NSDictionary *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateValuesForPart:(MCOAbstractPart *)part;
+
+/** @name Template Methods 
+ The following methods returns templates. They will match the syntax of ctemplate.
+ See https://code.google.com/p/ctemplate/ */
+
+/** This delegate method returns the template for the main header of the message.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForMainHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the template an image attachment.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForImage:(MCOAbstractPart *)header;
+
+/** This delegate method returns the template attachment other than images.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForAttachment:(MCOAbstractPart *)part;
+
+/** This delegate method returns the template of the main message.
+ It should include HEADER and a BODY values.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage_templateForMessage:(MCOAbstractMessage *)msg;
+
+/** This delegate method returns the template of an embedded message (included as attachment).
+ It should include HEADER and a BODY values.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForEmbeddedMessage:(MCOAbstractMessagePart *)part;
+
+/** This delegate method returns the template for the header of an embedded message.
+ See the content of MCHTMLRendererCallback.cpp for the default values of the template.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg templateForEmbeddedMessageHeader:(MCOMessageHeader *)header;
+
+/** This delegate method returns the separator between the text of the message and the attachments.*/
+- (NSString *) MCOAbstractMessage_templateForAttachmentSeparator:(MCOAbstractMessage *)msg;
+
+/** This delegate method cleans HTML content.
+ For example, it could fix broken tags, add missing <html>, <body> tags.
+ Default implementation uses HTMLCleaner::cleanHTML to clean HTML content. */
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg cleanHTMLForPart:(NSString *)html;
+
+/** @name Filters
+   
+ The following methods will filter the HTML content and may apply some filters to
+ change how to display the message.*/
+
+/** This delegate method will apply the filter to HTML rendered content of a given text part.
+ For example, it could filter the CSS content.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg filterHTMLForPart:(NSString *)html;
+
+/** This delegate method will apply a filter to the whole HTML content.
+ For example, it could collapse the quoted messages.*/
+- (NSString *) MCOAbstractMessage:(MCOAbstractMessage *)msg filterHTMLForMessage:(NSString *)html;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..a127ec27fff4e3cedb346f24247539d0d642cec9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOHTMLRendererIMAPDelegate.h
@@ -0,0 +1,52 @@
+//
+//  MCOHTMLRendererIMAPDelegate.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOHTMLRENDERERIMAPDELEGATE_H
+
+#define MAILCORE_MCOHTMLRENDERERIMAPDELEGATE_H
+
+#import <MailCore/MCOHTMLRendererDelegate.h>
+
+/**
+ This delegate protocol is used to fetch the content of the part of the message when the HTML render needs them.
+ It will help fetch the minimal amount of information from the message required to render the HTML.
+
+ It will be used for the following method.
+
+ [MCOIMAPMessage htmlRenderingWithFolder:delegate:]
+*/
+
+@class MCOIMAPPart;
+
+@protocol MCOHTMLRendererIMAPDelegate <MCOHTMLRendererDelegate>
+
+/** All methods are optional.*/
+@optional
+
+/** 
+ The delegate method returns NULL if the delegate have not fetch the part yet. The opportunity can also be used to
+ start fetching the attachment.
+ It will return the data synchronously if it has already fetched it.
+*/
+- (NSData *) MCOAbstractMessage:(MCOAbstractMessage *)msg dataForIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+/**
+ The delegate method will notify the delegate to start fetching the given part.
+ It will be used to render an attachment that cannot be previewed.
+*/
+- (void) MCOAbstractMessage:(MCOAbstractMessage *)msg prefetchAttachmentIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+/**
+ The delegate method will notify the delegate to start fetching the given part.
+ It will be used to render an attachment that can be previewed.
+*/
+- (void) MCOAbstractMessage:(MCOAbstractMessage *)msg prefetchImageIMAPPart:(MCOIMAPPart *)part folder:(NSString *)folder;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAP.h
new file mode 100755
index 0000000000000000000000000000000000000000..9483a36b6fcaa4a5996bf1e1e6554892dd2bb898
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAP.h
@@ -0,0 +1,46 @@
+//
+//  MCOIMAP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAP_H
+
+#define MAILCORE_MCOIMAP_H
+
+#import <MailCore/MCOIMAPSession.h>
+#import <MailCore/MCOIMAPOperation.h>
+#import <MailCore/MCOIMAPFetchFoldersOperation.h>
+#import <MailCore/MCOIMAPFolder.h>
+#import <MailCore/MCOIMAPMessage.h>
+#import <MailCore/MCOIMAPMessagePart.h>
+#import <MailCore/MCOIMAPMultipart.h>
+#import <MailCore/MCOIMAPNamespace.h>
+#import <MailCore/MCOIMAPNamespaceItem.h>
+#import <MailCore/MCOIMAPIdentity.h>
+#import <MailCore/MCOIMAPPart.h>
+#import <MailCore/MCOIMAPFolderInfoOperation.h>
+#import <MailCore/MCOIMAPFolderInfo.h>
+#import <MailCore/MCOIMAPFolderStatusOperation.h>
+#import <MailCore/MCOIMAPFolderStatus.h>
+#import <MailCore/MCOIMAPAppendMessageOperation.h>
+#import <MailCore/MCOIMAPCopyMessagesOperation.h>
+#import <MailCore/MCOIMAPFetchMessagesOperation.h>
+#import <MailCore/MCOIMAPFetchContentOperation.h>
+#import <MailCore/MCOIMAPFetchParsedContentOperation.h>
+#import <MailCore/MCOIMAPSearchOperation.h>
+#import <MailCore/MCOIMAPIdleOperation.h>
+#import <MailCore/MCOIMAPFetchNamespaceOperation.h>
+#import <MailCore/MCOIMAPSearchOperation.h>
+#import <MailCore/MCOIMAPIdleOperation.h>
+#import <MailCore/MCOIMAPFetchNamespaceOperation.h>
+#import <MailCore/MCOIMAPIdentityOperation.h>
+#import <MailCore/MCOIMAPCapabilityOperation.h>
+#import <MailCore/MCOIMAPQuotaOperation.h>
+#import <MailCore/MCOIMAPSearchExpression.h>
+#import <MailCore/MCOIMAPMessageRenderingOperation.h>
+#import <MailCore/MCOIMAPCustomCommandOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ec1602a3bb5e93a17b2626fe2dcdd428f3e47351
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPAppendMessageOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCOIMAPAppendMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPAPPENDMESSAGEOPERATION_H
+
+#define MAILCORE_MCOIMAPAPPENDMESSAGEOPERATION_H
+
+/** This class implements an operation that adds a message to a folder. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPAppendMessageOperation : MCOIMAPBaseOperation
+
+@property (nonatomic, assign) time_t date;
+
+/** 
+ This block will be called as bytes are sent
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous append operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `createdUID` will be the value of the 
+   UID of  the created message if the server supports UIDPLUS or zero if not.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `createdUID` will be zero.
+*/
+- (void) start:(void (^)(NSError * __nullable error, uint32_t createdUID))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPBaseOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPBaseOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..82a343786ddaab6aa4f2a4b8a9302b5602f20766
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPBaseOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPBaseOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/26/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPBASEOPERATION_H
+
+#define MAILCORE_MCOIMAPBASEOPERATION_H
+
+/** Represents a generic IMAP operation with methods that are called with progress updates */
+
+#import <MailCore/MCOOperation.h>
+
+typedef void (^MCOIMAPBaseOperationProgressBlock)(unsigned int current, unsigned int maximum);
+typedef void (^MCOIMAPBaseOperationItemProgressBlock)(unsigned int current);
+
+@interface MCOIMAPBaseOperation : MCOOperation
+
+@property (nonatomic, assign, getter=isUrgent) BOOL urgent;
+
+/* Can be overriden by subclasses */
+
+/* 
+ Will be called when a sending or receiving the contents of a message 
+ @param current The number of bytes sent or received
+ @param maximum The total number of bytes expected
+*/
+- (void)bodyProgress:(unsigned int)current maximum:(unsigned int)maximum;
+
+/*
+ Will be called when a new item is received in a list of items, like for example a message list
+ @param current The number of items downloaded
+ @param maximum The total number of items expected
+*/
+- (void)itemProgress:(unsigned int)current maximum:(unsigned int)maximum;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ab788cee7056323499ebc9db707f476c2f535d2e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCapabilityOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPCapabilityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPCAPABILITYOPERATION_H
+
+#define MAILCORE_MCOIMAPCAPABILITYOPERATION_H
+
+/** 
+ This class implements an operation to query for IMAP capabilities, 
+ like for example the extensions UIDPLUS, IDLE, NAMESPACE, ... etc
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCapabilityOperation : MCOIMAPBaseOperation
+
+
+/** 
+ Starts the asynchronous capabilities operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `capabilities` will contain a set of IMAP capabilities.
+   See `MCOConstants.h` under `MCOIMAPCapability` for a list of possible values.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `capabilities` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable capabilities))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..4edee9bc73f5e483532425bfd2e8cdfee0a0a4e7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCopyMessagesOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPCopyMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+#ifndef MAILCORE_MCOCOPYMESSAGESOPERATION_H
+
+#define MAILCORE_MCOCOPYMESSAGESOPERATION_H
+
+/** Implements an operation for copying messages between folders */
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCopyMessagesOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous copy operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `destUids` will contain the UIDs of the messages created
+   in the destination folder. If the server doesn't support UIDPLUS then `destUids` will be nil.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `destUids` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable uidMapping))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..e23d29e7fad69002b51120e7f1aba631ad9370d5
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPCustomCommandOperation.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPCustomCommandOperation.h
+//  mailcore2
+//
+//  Created by Libor Huspenina on 29/10/2015.
+//  Copyright © 2015 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPCUSTOMCOMMANDOPERATION_H
+
+#define MAILCORE_MCOIMAPCUSTOMCOMMANDOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPCustomCommandOperation : MCOIMAPBaseOperation
+
+- (void)start:(void(^)(NSString * __nullable response, NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d9492eab864c5a46d44544b6b2cb44ed95996bd6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchContentOperation.h
@@ -0,0 +1,45 @@
+//
+//  MCOIMAPFetchContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHCONTENTOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHCONTENTOPERATION_H
+
+/** 
+ This class implements an operation to fetch the content of a message.
+ It can be a part or a full message.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchContentOperation : MCOIMAPBaseOperation
+
+/** 
+ This block will be called as bytes are received from the network
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `data` will contain the requested data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `data` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable data))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2954d29ef09c5402ad104f7cf3c6619fe1544de
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchFoldersOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCOIMAPFetchFoldersOperation.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 1/31/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHFOLDERSOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHFOLDERSOPERATION_H
+
+/** This class implements an operation to fetch a list of folders. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchFoldersOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `folders` will contain an array of MCOIMAPFolder
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `folders` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOIMAPFolder */ __nullable folders))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ac1506c0ffeca848141b51d76547d5185e0418d9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchMessagesOperation.h
@@ -0,0 +1,47 @@
+//
+//  MCOIMAPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHMESSAGESOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+/** This class implements an operation to fetch a list of messages from a folder */
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchMessagesOperation : MCOIMAPBaseOperation
+
+/** This block will be called each time a new message is downloaded. */
+@property (nonatomic, copy) MCOIMAPBaseOperationItemProgressBlock progress;
+
+/** Extra headers to request. Must set requestKind | IMAPMessagesRequestKindExtraHeaders */
+@property (nonatomic, copy) NSArray * extraHeaders;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `messages` will be an array of MCOIMAPMessage.
+   `vanishedMessages` will contain the messages removed on the server if the server supports QRESYNC and if it was a sync request
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `messages` and `vanishedMessages` will be nil
+
+   If you are not supporting QRESYNC you can safely ignore `vanishedMessages`.
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOIMAPMessage */ __nullable messages, MCOIndexSet * __nullable vanishedMessages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ea9e4fc28f9513f911ceb24a16e89dc2956eb0f0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchNamespaceOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFetchNamespaceOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHNAMESPACEOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHNAMESPACEOPERATION_H
+
+/** This class implements an operation to fetch any IMAP namespaces. */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchNamespaceOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous namespace fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `namespaces` will contain these keys: 
+
+     - `MCOIMAPNamespacePersonal` for personal namespaces,
+     - `MCOIMAPNamespaceOther` for other namespaces,
+     - `MCOIMAPNamespaceShared` for shared namespaces.
+
+   Values of the dictionary are MCOIMAPNamespace
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `namespaces` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable namespaces))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ab800582eddd289700610d6be9666551004c760
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFetchParsedContentOperation.h
@@ -0,0 +1,46 @@
+//
+//  MCOIMAPFetchParsedContentOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFETCHPARSEDCONTENTOPERATION_H
+
+#define MAILCORE_MCOIMAPFETCHPARSEDCONTENTOPERATION_H
+
+/**
+ This class implements an operation to fetch the parsed content of a message.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+#import <MailCore/MCOConstants.h>
+
+@class MCOMessageParser;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFetchParsedContentOperation : MCOIMAPBaseOperation
+
+/**
+ This block will be called as bytes are received from the network
+*/
+@property (nonatomic, copy) MCOIMAPBaseOperationProgressBlock progress;
+
+/**
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `parser` will contain the requested message
+
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+   error code available in `MCOConstants.h`, `parser` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageParser * __nullable parser))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolder.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolder.h
new file mode 100644
index 0000000000000000000000000000000000000000..048dfb55df233cb69b342c662335c4d2288c1bd3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolder.h
@@ -0,0 +1,34 @@
+//
+//  MCOIMAPFolder.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDER_H
+
+#define MAILCORE_MCOIMAPFOLDER_H
+
+/** This class represents an IMAP folder */
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+@interface MCOIMAPFolder : NSObject <NSCopying>
+
+/** The folder's path, like for example INBOX.Archive */
+@property (nonatomic, copy) NSString * path;
+
+/** It's the delimiter for each component of the path. Commonly . or / */
+@property (nonatomic, assign) char delimiter;
+
+/** 
+ Any flags the folder may have, like if the folder is for Drafts, Spam, Junk, etc. Or
+ it could be marked with metadata like that it has no children.
+*/
+@property (nonatomic, assign) MCOIMAPFolderFlag flags;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..1397e8418234052fa9007e811bc7f137b9500c6c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfo.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPFolderInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERINFO_H
+
+#define MAILCORE_MCOIMAPFOLDERINFO_H
+
+#import <Foundation/Foundation.h>
+
+/* This class holds IMAP folder metadata */
+
+@interface MCOIMAPFolderInfo : NSObject <NSCopying>
+
+/** The folder's IMAP UIDNEXT value. Used to determine the uid for the next received message. */
+@property (nonatomic, assign) uint32_t uidNext;
+
+/** The folders IMAP UIDVALIDITY value. Must be used to determine if the server has changed assigned UIDs */
+@property (nonatomic, assign) uint32_t uidValidity;
+
+/** An advanced value used for doing quick flag syncs if the server supports it. The MODSEQ value. */
+@property (nonatomic, assign) uint64_t modSequenceValue;
+
+/** Total number of messages in the folder */
+@property (nonatomic, assign) int messageCount;
+
+// first uid of the unseen messages.
+@property (nonatomic, assign) uint32_t firstUnseenUid;
+
+/** An boolean indicates that this folder or IMAP server allows to add a new permanent flags */
+@property (nonatomic, assign) BOOL allowsNewPermanentFlags;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..20abd2067eb47d5249fe11eb9eb46f2f37a582d2
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderInfoOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFolderInfoOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERINFOOPERATION_H
+
+#define MAILCORE_MCOIMAPFOLDERINFOOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get folder metadata (like UIDVALIDITY, UIDNEXT, etc).
+ @see MCOIMAPFolderInfo
+*/
+
+@class MCOIMAPFolderInfo;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFolderInfoOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `info` will contain the folder metadata
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `info` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIMAPFolderInfo * __nullable info))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatus.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatus.h
new file mode 100644
index 0000000000000000000000000000000000000000..bd1ddef3ca84da7f3ed97d0a5df10712a215f483
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatus.h
@@ -0,0 +1,39 @@
+//
+//  MCOIMAPFolderStatus.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERSTATUS_H
+
+#define MAILCORE_MCOIMAPFOLDERSTATUS_H
+
+#import <Foundation/Foundation.h>
+
+/* This class holds IMAP folder metadata */
+
+@interface MCOIMAPFolderStatus : NSObject <NSCopying>
+
+/** The folder's IMAP UIDNEXT value. Used to determine the uid for the next received message. */
+@property (nonatomic, assign) uint32_t uidNext;
+
+/** The folders IMAP UIDVALIDITY value. Must be used to determine if the server has changed assigned UIDs */
+@property (nonatomic, assign) uint32_t uidValidity;
+
+/** Number of recent messages received in the folder */
+@property (nonatomic, assign) uint32_t recentCount;
+
+/** Number of unseen messages in the folder */
+@property (nonatomic, assign) uint32_t unseenCount;
+
+/** Number of messages in the folder */
+@property (nonatomic, assign) uint32_t messageCount;
+
+/** Highest modification sequence value for this folder. See CONDSTORE RFC 4551. */
+@property (nonatomic, assign) uint64_t highestModSeqValue;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..68259b100c5caefd30bfa90a723539f52eabea8c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPFolderStatusOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPFolderStatusOperation.h
+//  mailcore2
+//
+//  Created by Sebastian on 6/5/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPFOLDERSTATUSOPERATION_H
+
+#define MAILCORE_MCOIMAPFOLDERSTATUSOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get folder metadata (like UIDVALIDITY, UIDNEXT, etc).
+ @see MCOIMAPFolderStatus
+ */
+
+@class MCOIMAPFolderStatus;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPFolderStatusOperation : MCOIMAPBaseOperation
+
+/**
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `status` will contain the status metadata
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in `MCOConstants.h`, `status` will be nil
+ */
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIMAPFolderStatus * __nullable status))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentity.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentity.h
new file mode 100644
index 0000000000000000000000000000000000000000..69f18c968d87a5db5efd0bd98cf86b14ef138145
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentity.h
@@ -0,0 +1,45 @@
+//
+//  MCOIMAPIdentity.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 8/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDENTITY_H
+
+#define MAILCORE_MCOIMAPIDENTITY_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOIMAPIdentity : NSObject <NSCopying>
+
+/** Returns a simple identity */
++ (MCOIMAPIdentity *) identityWithVendor:(NSString *)vendor
+                                    name:(NSString *)name
+                                 version:(NSString *)version;
+
+/** Vendor of the IMAP client */
+@property (nonatomic, copy) NSString * vendor;
+
+/** Name of the IMAP client */
+@property (nonatomic, copy) NSString * name;
+
+/** Version of the IMAP client */
+@property (nonatomic, copy) NSString * version;
+
+/** All fields names of the identity of the client */
+- (NSArray *) allInfoKeys;
+
+/** Set a custom field in the identity */
+- (NSString *) infoForKey:(NSString *)key;
+
+/** Retrieve a custom field in the identity */
+- (void) setInfo:(NSString *)value forKey:(NSString *)key;
+
+/** Remove all info keys including vendor, name and version */
+- (void) removeAllInfos;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentityOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentityOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..2fa6968f186356e07ccf04fc27a3996de1e7af28
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdentityOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOIMAPIdentityOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDENTITYOPERATION_H
+
+#define MAILCORE_MCOIMAPIDENTITYOPERATION_H
+
+/** 
+ This class implements an operation to get the servers identification info or
+ to send the clients identification info. Useful for bug reports and usage
+ statistics. 
+ @warn Not all servers support this.
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPIdentityOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous identity operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `serverIdentity` will contain identifying server information.
+   See [RFC2971](http://tools.ietf.org/html/rfc2971) for commons dictionary keys.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`, `serverIdentity` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSDictionary * __nullable serverIdentity))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdleOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..fb83b283038bbe070539c330bacc9f0a8f7b129c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPIdleOperation.h
@@ -0,0 +1,42 @@
+//
+//  MCOIMAPIdleOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPIDLEOPERATION_H
+
+#define MAILCORE_MCOIMAPIDLEOPERATION_H
+
+/** 
+ This class implements an IMAP IDLE. IDLE is used to keep a connection
+ open with the server so that new messages can be pushed to the client.
+ See [RFC2177](http://tools.ietf.org/html/rfc2177)
+*/
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPIdleOperation : MCOIMAPBaseOperation
+
+/** Stop the current IDLE session */
+- (void) interruptIdle;
+
+/** 
+ Starts IDLE
+
+ @param completionBlock Called when the IDLE times out, errors out or detects a change
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in `MCOConstants.h`
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessage.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..8e2e1c270a3a98b8077d6a4063967147363e65d7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessage.h
@@ -0,0 +1,85 @@
+//
+//  MCOIMAPMessage.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGE_H
+
+#define MAILCORE_MCOIMAPMESSAGE_H
+
+/** 
+ This represents an IMAP message.
+
+ If you fetched the MIME structure of the message, you can fetch
+ efficiently the content of the message by fetching only the parts
+ that you need to show it.
+
+ For example, you could fetch only the text parts to show the summary
+ of the message, using [MCOIMAPSession fetchMessageAttachmentByUIDOperationWithFolder:uid:partID:encoding:]
+
+ You can also decide to fetch entirely the message using
+ [MCOIMAPSession fetchMessageByUIDOperationWithFolder:uid:]
+*/
+
+#import <MailCore/MCOAbstractMessage.h>
+#import <MailCore/MCOConstants.h>
+
+@protocol MCOHTMLRendererIMAPDelegate;
+
+@interface MCOIMAPMessage : MCOAbstractMessage <NSCoding>
+
+/** IMAP UID of the message. */
+@property (nonatomic, assign) uint32_t uid;
+
+/** IMAP sequence number of the message.
+ @warning *Important*: This property won't be serialized. */
+@property (nonatomic, assign) uint32_t sequenceNumber;
+
+/* Size of the entire message */
+@property (nonatomic, assign) uint32_t size;
+
+/** Flags of the message, like if it is deleted, read, starred etc */
+@property (nonatomic, assign) MCOMessageFlag flags;
+
+/** The contents of the message flags when it was fetched from the server */
+@property (nonatomic, assign) MCOMessageFlag originalFlags;
+
+/** Flag keywords of the message, mostly custom flags */
+@property (nonatomic, copy) NSArray * /* NSString */ customFlags;
+
+/** It's the last modification sequence value of the message synced from the server. See RFC4551 */
+@property (nonatomic, assign) uint64_t modSeqValue;
+
+/** Main MIME part of the message */
+@property (nonatomic, retain) MCOAbstractPart * mainPart;
+
+/** All Gmail labels of the message */
+@property (nonatomic, copy) NSArray * /* NSString */ gmailLabels;
+
+/** Gmail message ID of the message */
+@property (nonatomic, assign) uint64_t gmailMessageID;
+
+/** Gmail thread ID of the message */
+@property (nonatomic, assign) uint64_t gmailThreadID;
+
+/**
+ Returns the part with the given part identifier.
+ @param partID A part identifier looks like 1.2.1
+*/
+- (MCOAbstractPart *) partForPartID:(NSString *)partID;
+
+/**
+ HTML rendering of the message to be displayed in a web view.
+ The delegate should implement at least
+ [MCOAbstractMessage:dataForIMAPPart:folder:]
+ so that the complete HTML rendering can take place.
+*/
+- (NSString *) htmlRenderingWithFolder:(NSString *)folder
+                              delegate:(id <MCOHTMLRendererIMAPDelegate>)delegate;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..c455d336a72a00cf93c53b5a0df2de9661aadb75
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessagePart.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPMessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGEPART_H
+
+#define MAILCORE_MCOIMAPMESSAGEPART_H
+
+/** Represents a message part. */
+
+#import <MailCore/MCOAbstractMessagePart.h>
+
+@interface MCOIMAPMessagePart : MCOAbstractMessagePart <NSCoding>
+
+/** A part identifier is of the form 1.2.1*/
+@property (nonatomic, copy) NSString * partID;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..8a2924c8c4c2b107f4299a28a135acc4d07aee10
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMessageRenderingOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCOIMAPMessageRenderingOperation.h
+//  mailcore2
+//
+//  Created by Paul Young on 07/07/2013.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMESSAGERENDERINGOPERATION_H
+
+#define MAILCORE_MCOIMAPMESSAGERENDERINGOPERATION_H
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+/**
+ The class is used to get the HTML string of a message.
+ */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPMessageRenderingOperation : MCOIMAPBaseOperation
+
+/**
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `htmlString` will contain the message
+ 
+ - On failure, `error` will be set and `htmlString` will be nil
+ */
+
+- (void) start:(void (^)(NSString * __nullable htmlString, NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..c083f4256112f101005e815f4a4a5c646b9c9e6f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPMultipart.h
@@ -0,0 +1,24 @@
+//
+//  MCOIMAPMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPMULTIPART_H
+
+#define MAILCORE_MCOIMAPMULTIPART_H
+
+/** Represents the a multipart retrieved from IMAP */
+
+#import <MailCore/MCOAbstractMultipart.h>
+
+@interface MCOIMAPMultipart : MCOAbstractMultipart <NSCoding>
+
+/** A part identifier looks like 1.2.1 */
+@property (nonatomic, copy) NSString * partID;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespace.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespace.h
new file mode 100644
index 0000000000000000000000000000000000000000..3e842aaddf00aa71d5217f9131122fac0b00175a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespace.h
@@ -0,0 +1,55 @@
+//
+//  MCOIMAPNamespace.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPNAMESPACE_H
+
+#define MAILCORE_MCOIMAPNAMESPACE_H
+
+/** Represents an IMAP namespace */
+
+#import <Foundation/Foundation.h>
+
+@class MCOIMAPNamespace;
+
+@interface MCOIMAPNamespace : NSObject <NSCopying>
+
+/**
+ Returns a simple namespace with only one item.
+*/
++ (MCOIMAPNamespace *) namespaceWithPrefix:(NSString *)prefix delimiter:(char)delimiter;
+
+/** Returns the prefix of the main item of this namespace. */
+- (NSString *) mainPrefix;
+
+/** Returns the path delimiter of the main item of this namespace */
+- (char) mainDelimiter;
+
+/** Returns the list of prefixes of this namespace. */
+- (NSArray * /* NSString */) prefixes;
+
+/**
+ Returns the folder path for the given list of path components in the context
+ of the main item of the namespace.
+*/
+- (NSString *) pathForComponents:(NSArray *)components;
+
+/**
+ Returns the folder path for the given list of path components and a prefix.
+ It will use the best item matching the prefix to compute the path.
+*/
+- (NSString *) pathForComponents:(NSArray *)components prefix:(NSString *)prefix;
+
+/** Returns the components given a folder path. */
+- (NSArray * /* NSString */) componentsFromPath:(NSString *)path;
+
+/** Returns YES if the namespace contains the given folder path. */
+- (BOOL) containsFolderPath:(NSString *)path;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespaceItem.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespaceItem.h
new file mode 100644
index 0000000000000000000000000000000000000000..64ae3c5fa9888a94897949d1b7f576c60cf5bb8d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPNamespaceItem.h
@@ -0,0 +1,36 @@
+//
+//  MCOIMAPNamespaceItem.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPNAMESPACEITEM_H
+
+#define MAILCORE_MCOIMAPNAMESPACEITEM_H
+
+/** Represents a namespace item */
+
+#import <Foundation/Foundation.h>
+
+@interface MCOIMAPNamespaceItem : NSObject <NSCopying>
+
+/** This is the prefix for this namespace item */
+@property (nonatomic, copy) NSString * prefix;
+
+/** This is the delimiter of the path for this namespace item */
+@property (nonatomic, assign) char delimiter;
+
+/** Returns folder path for given path components in the context of this namespace item */
+- (NSString *) pathForComponents:(NSArray *)components;
+
+/** Returns components for the given path in the context of this namespace */
+- (NSArray * /* NSString */) componentsForPath:(NSString *)path;
+
+/** Returns YES if the namespace contains this folder path */
+- (BOOL) containsFolder:(NSString *)folder;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9d399df3ebab7be355872a407146b7ac4635f542
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOIMAPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPOPERATION_H
+
+#define MAILCORE_MCOIMAPOPERATION_H
+
+/** This class implements a generic IMAP operation */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous append operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPPart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPPart.h
new file mode 100644
index 0000000000000000000000000000000000000000..660113b5697a3e5b163e5c342c978c6dab9004ee
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPPart.h
@@ -0,0 +1,38 @@
+//
+//  MCOIMAPPart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPABSTRACTPART_H
+
+#define MAILCORE_MCOIMAPABSTRACTPART_H
+
+#import <MailCore/MCOAbstractPart.h>
+
+#import <MailCore/MCOConstants.h>
+
+/** Represents a single IMAP message part */
+
+@interface MCOIMAPPart : MCOAbstractPart <NSCoding>
+
+/** A part identifier looks like 1.2.1 */
+@property (nonatomic, copy) NSString * partID;
+
+/** The size of the single part in bytes */
+@property (nonatomic, nonatomic) unsigned int size;
+
+/** It's the encoding of the single part */
+@property (nonatomic, nonatomic) MCOEncoding encoding;
+
+/**
+ Returns the decoded size of the part.
+ For example, for a part that's encoded with base64, it will return actual_size * 3/4.
+*/
+- (unsigned int) decodedSize;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPQuotaOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPQuotaOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d3368d49a5b85460d885f59d42177b584a262ad3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPQuotaOperation.h
@@ -0,0 +1,17 @@
+//
+//  MCOIMAPQuotaOperation.h
+//  mailcore2
+//
+//  Created by Petro Korenev on 8/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import "MCOIMAPBaseOperation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPQuotaOperation : MCOIMAPBaseOperation
+
+- (void) start:(void (^)(NSError * __nullable error, NSUInteger usage, NSUInteger limit))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchExpression.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchExpression.h
new file mode 100644
index 0000000000000000000000000000000000000000..225b3a5ef2ce6bd313fd447d249a2a7a82867308
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchExpression.h
@@ -0,0 +1,365 @@
+//
+//  MCOIMAPSearchExpression.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPSEARCHEXPRESSION_H
+
+#define MAILCORE_MCOIMAPSEARCHEXPRESSION_H
+
+/** Used to construct an IMAP search query */
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOIndexSet.h>
+
+@interface MCOIMAPSearchExpression : NSObject
+
+/** 
+ Creates a search expression that returns all UIDS for the mailbox
+
+ Example:
+    
+    MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAll]
+*/
++ (MCOIMAPSearchExpression *) searchAll;
+
+/**
+ Creates a search expression that matches the sender of an email.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+*/
++ (MCOIMAPSearchExpression *) searchFrom:(NSString *)value;
+
+/**
+ Creates a search expression that matches any recipient of an email.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchRecipient:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the receiver (to) of an email. Useful to check whether the mail is directly addressed to the receiver.
+
+ Example:
+
+    MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchTo:@"ngan@etpan.org"]
+**/
++ (MCOIMAPSearchExpression *) searchTo:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the cc of an email. Useful to check whether the mail is addressed to the receiver as cc.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchCc:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchCc:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the bcc field of an email. Useful to check whether the mail is addressed to the receiver as bcc.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBcc:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchBcc:(NSString *)value;
+
+/*
+ Creates a search expression that matches the subject of an email.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSubject:@"airline"]
+**/
++ (MCOIMAPSearchExpression *) searchSubject:(NSString *)value;
+
+/**
+ Creates a search expression that matches the content of an email, including the headers.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchContent:@"meeting"]
+*/
++ (MCOIMAPSearchExpression *) searchContent:(NSString *)value;
+
+/**
+ Creates a search expression that matches the content of an email, excluding the headers.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBody:@"building"]
+ */
++ (MCOIMAPSearchExpression *) searchBody:(NSString *)value;
+
+/**
+ Creates a search expression that matches the uids specified.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUids:uids]
+ **/
++ (MCOIMAPSearchExpression *) searchUIDs:(MCOIndexSet *) uids;
+
+/**
+ Creates a search expression that matches the message numbers specified.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchNumbers:numbers]
+ **/
++ (MCOIMAPSearchExpression *) searchNumbers:(MCOIndexSet *) numbers;
+
+/**
+ Creates a search expression that matches the content of a specific header.
+
+ Example:
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+**/
++ (MCOIMAPSearchExpression *) searchHeader:(NSString *)header value:(NSString *)value;
+
+/**
+ Creates a search expression that matches messages with the Read flag.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRead]
+ **/
++ (MCOIMAPSearchExpression *) searchRead;
+
+/**
+ Creates a search expression that matches messages without the Read flag.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnread]
+ **/
++ (MCOIMAPSearchExpression *) searchUnread;
+
+/**
+ Creates a search expression that matches messages that have been flagged.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFlagged]
+ **/
++ (MCOIMAPSearchExpression *) searchFlagged;
+
+/**
+ Creates a search expression that matches messages that haven't been flagged.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnflagged]
+ **/
++ (MCOIMAPSearchExpression *) searchUnflagged;
+
+/**
+ Creates a search expression that matches messages that have the answered flag set.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAnswered]
+ **/
++ (MCOIMAPSearchExpression *) searchAnswered;
+
+/**
+ Creates a search expression that matches messages that don't have the answered flag set..
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUnanswered]
+ **/
++ (MCOIMAPSearchExpression *) searchUnanswered;
+
+/**
+ Creates a search expression that matches draft messages.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchDraft]
+ **/
++ (MCOIMAPSearchExpression *) searchDraft;
+
+/**
+ Creates a search expression that matches messages that aren't drafts.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUndraft]
+ **/
++ (MCOIMAPSearchExpression *) searchUndraft;
+
+/**
+ Creates a search expression that matches messages that are deleted.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchDeleted]
+ **/
++ (MCOIMAPSearchExpression *) searchDeleted;
+
+/**
+ Creates a search expression that matches messages that are spam.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSpam]
+ **/
++ (MCOIMAPSearchExpression *) searchSpam;
+
+/**
+ Creates a search expression that matches messages sent before a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent on a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent since a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received before a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeReceivedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received on a date.
+ 
+ Example:
+ 
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnReceivedDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages received since a date.
+ 
+ Example:
+ 
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceReceivedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceReceivedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages larger than a given size in bytes.
+ 
+ Example:
+ 
+ uint32_t minSize = 1024 * 10; // 10 KB
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSizeLargerThan:minSize]
+ **/
++ (MCOIMAPSearchExpression *) searchSizeLargerThan:(uint32_t)size;
+
+/**
+ Creates a search expression that matches messages smaller than a given size in bytes.
+ 
+ Example:
+ 
+ uint32_t maxSize = 1024 * 10; // 10 KB
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSizeSmallerThan:maxSize]
+ **/
++ (MCOIMAPSearchExpression *) searchSizeSmallerThan:(uint32_t)size;
+
+/**
+ Creates a search expression that matches emails with the given gmail thread id
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailThreadID:aThreadID]
+ */
++ (MCOIMAPSearchExpression *) searchGmailThreadID:(uint64_t)number;
+
+
+/**
+ Creates a search expression that matches emails with the given gmail message id
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailMessageID:aMessageID]
+ */
++ (MCOIMAPSearchExpression *) searchGmailMessageID:(uint64_t)number;
+
+/**
+ Creates a search expression that gets emails that match a gmail raw search
+ expression.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchGmailRaw:@"from:bill has:attachment filename:cal meeting schedule"]
+ */
++ (MCOIMAPSearchExpression *) searchGmailRaw:(NSString *)expr;
+
+
+/**
+ Creates a search expression that's a disjunction of two search expressions.
+
+ Example:
+
+     MCOIMAPSearchExpression * exprFrom = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchExpression * exprSubject = [MCOIMAPSearchExpression searchContent:@"meeting"]
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchAnd:exprFrom other:exprSubject];
+**/
+
++ (MCOIMAPSearchExpression *) searchAnd:(MCOIMAPSearchExpression *)expression other:(MCOIMAPSearchExpression *)other;
+/**
+ Creates a search expression that's a conjunction of two search expressions.
+
+ Example:
+
+     MCOIMAPSearchExpression * exprFrom = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchExpression * exprOtherFrom = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOr:exprFrom exprOtherFrom];
+*/
++ (MCOIMAPSearchExpression *) searchOr:(MCOIMAPSearchExpression *)expression other:(MCOIMAPSearchExpression *)other;
+
+/**
+ Creates a search expression that matches when the argument is not matched.
+ 
+ Example:
+ 
+ MCOIMAPSearchExpression * exprSubject = [MCOIMAPSearchExpression searchSubject:@"airline"]
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchNot:exprSubject];
+ The expression will match when the subject does not contain the word airline
+ 
+ */
++ (MCOIMAPSearchExpression *) searchNot:(MCOIMAPSearchExpression *)expression;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a594730d45fa4f284d4defd8e39831e9db8df41e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSearchOperation.h
@@ -0,0 +1,38 @@
+//
+//  MCOIMAPSearchOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSEARCHOPERATION_H
+
+#define MAILCORE_MCOSEARCHOPERATION_H
+
+/** This class runs an IMAP search operation */
+
+#import <MailCore/MCOIMAPBaseOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOIMAPSearchOperation : MCOIMAPBaseOperation
+
+/** 
+ Starts the asynchronous search operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `searchResults` will contain the UIDs of any matching messages
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `searchResult` will be nil
+*/
+
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable searchResult))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSession.h
new file mode 100755
index 0000000000000000000000000000000000000000..add9a42853b5f55d588ccb8e413f06f180ac2af3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIMAPSession.h
@@ -0,0 +1,1024 @@
+//
+//  MCOIMAPSession.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 1/31/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOIMAPSESSION_H
+
+#define MAILCORE_MCOIMAPSESSION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+@class MCOIMAPFetchFoldersOperation;
+@class MCOIMAPOperation;
+@class MCOIMAPNamespace;
+@class MCOIMAPFolderInfoOperation;
+@class MCOIMAPFolderStatusOperation;
+@class MCOIMAPAppendMessageOperation;
+@class MCOIMAPCopyMessagesOperation;
+@class MCOIndexSet;
+@class MCOIMAPFetchMessagesOperation;
+@class MCOIMAPFetchContentOperation;
+@class MCOIMAPFetchParsedContentOperation;
+@class MCOIMAPSearchOperation;
+@class MCOIMAPIdleOperation;
+@class MCOIMAPFetchNamespaceOperation;
+@class MCOIMAPSearchExpression;
+@class MCOIMAPIdentityOperation;
+@class MCOIMAPCapabilityOperation;
+@class MCOIMAPQuotaOperation;
+@class MCOIMAPMessageRenderingOperation;
+@class MCOIMAPMessage;
+@class MCOIMAPIdentity;
+@class MCOIMAPCustomCommandOperation;
+
+/**
+ This is the main IMAP class from which all operations are created
+
+ After calling a method that returns an operation you must call start: on the instance
+ to begin the operation.
+*/
+
+@interface MCOIMAPSession : NSObject
+
+/** This is the hostname of the IMAP server to connect to. */
+@property (nonatomic, copy) NSString *hostname;
+
+/** This is the port of the IMAP server to connect to. */
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account. */
+@property (nonatomic, copy) NSString *username;
+
+/** This is the password of the account. */
+@property (nonatomic, copy) NSString *password;
+
+/** This is the OAuth2 token. */
+@property (nonatomic, copy) NSString *OAuth2Token;
+
+/**
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/**
+ This is the encryption type to use.
+ See MCOConnectionType for more information.
+*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection. */
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect. */
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/** When set to YES, VoIP capability will be enabled on the IMAP connection on iOS */
+@property (nonatomic, assign, getter=isVoIPEnabled) BOOL voIPEnabled;
+
+/** The default namespace. */
+@property (nonatomic, strong) MCOIMAPNamespace * defaultNamespace;
+
+/** The identity of the IMAP client. */
+@property (nonatomic, strong, readonly) MCOIMAPIdentity * clientIdentity;
+
+/** The identity of the IMAP server. */
+@property (nonatomic, strong, readonly) MCOIMAPIdentity * serverIdentity;
+
+/**
+ Display name of the Gmail user. It will be nil if it's not a Gmail server.
+
+ ** DEPRECATED **
+ This attribute has been broken by Gmail IMAP server. It's not longer available
+ as a correct display name.
+*/
+@property (nonatomic, copy, readonly) NSString * gmailUserDisplayName DEPRECATED_ATTRIBUTE;
+
+/**
+ When set to YES, the session is allowed open to open several connections to the same folder.
+ @warning Some older IMAP servers don't like this
+*/
+@property (nonatomic, assign) BOOL allowsFolderConcurrentAccessEnabled;
+
+/**
+ Maximum number of connections to the server allowed.
+*/
+@property (nonatomic, assign) unsigned int maximumConnections;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+    NSLog(@"%@", [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]);
+    // ...
+ }];
+*/
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOIMAPSession about where it's called from.
+ It will make MCOIMAPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOIMAPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+*/
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+*/
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Folder Operations */
+
+/**
+ Returns an operation that retrieves folder metadata (like UIDNext)
+
+     MCOIMAPFolderInfoOperation * op = [session folderInfoOperation:@"INBOX"];
+     [op start:^(NSError *error, MCOIMAPFolderInfo * info) {
+          NSLog(@"UIDNEXT: %lu", (unsigned long) [info uidNext]);
+          NSLog(@"UIDVALIDITY: %lu", (unsigned long) [info uidValidity]);
+          NSLog(@"HIGHESTMODSEQ: %llu", (unsigned long long) [info modSequenceValue]);
+          NSLog(@"messages count: %lu", [info messageCount]);
+     }];
+*/
+
+- (MCOIMAPFolderInfoOperation *) folderInfoOperation:(NSString *)folder;
+
+/**
+ Returns an operation that retrieves folder status (like UIDNext - Unseen -)
+
+    MCOIMAPFolderStatusOperation * op = [session folderStatusOperation:@"INBOX"];
+    [op start:^(NSError *error, MCOIMAPFolderStatus * info) {
+        NSLog(@"UIDNEXT: %lu", (unsigned long) [info uidNext]);
+        NSLog(@"UIDVALIDITY: %lu", (unsigned long) [info uidValidity]);
+        NSLog(@"messages count: %lu", [info totalMessages]);
+ 	}];
+ */
+
+- (MCOIMAPFolderStatusOperation *) folderStatusOperation:(NSString *)folder;
+
+/**
+ Returns an operation that gets the list of subscribed folders.
+
+    MCOIMAPFetchFoldersOperation * op = [session fetchSubscribedFoldersOperation];
+    [op start:^(NSError * __nullable error, NSArray * folders) {
+        ...
+    }];
+ */
+
+- (MCOIMAPFetchFoldersOperation *) fetchSubscribedFoldersOperation;
+
+/**
+ Returns an operation that gets all folders
+
+     MCOIMAPFetchFoldersOperation * op = [session fetchAllFoldersOperation];
+     [op start:^(NSError * __nullable error, NSArray *folders) {
+          ...
+     }];
+*/
+- (MCOIMAPFetchFoldersOperation *) fetchAllFoldersOperation;
+
+/**
+ Creates an operation for renaming a folder
+
+     MCOIMAPOperation * op = [session renameFolderOperation:@"my documents" otherName:@"Documents"];
+     [op start:^(NSError * __nullable error) {
+        ...
+     }];
+
+*/
+- (MCOIMAPOperation *) renameFolderOperation:(NSString *)folder otherName:(NSString *)otherName;
+
+/**
+ Create an operation for deleting a folder
+
+     MCOIMAPOperation * op = [session deleteFolderOperation:@"holidays 2009"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }]];
+*/
+- (MCOIMAPOperation *) deleteFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation that creates a new folder
+
+     MCOIMAPOperation * op = [session createFolderOperation:@"holidays 2013"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) createFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to subscribe to a folder.
+
+     MCOIMAPOperation * op = [session createFolderOperation:@"holidays 2013"];
+     [op start:^(NSError * __nullable error) {
+       if (error != nil)
+         return;
+       MCOIMAPOperation * op = [session subscribeFolderOperation:@"holidays 2013"];
+       ...
+     }];
+*/
+- (MCOIMAPOperation *) subscribeFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to unsubscribe from a folder.
+
+     MCOIMAPOperation * op = [session unsubscribeFolderOperation:@"holidays 2009"];
+     [op start:^(NSError * __nullable error) {
+       if (error != nil)
+         return;
+       MCOIMAPOperation * op = [session deleteFolderOperation:@"holidays 2009"]
+       ...
+     }];
+*/
+- (MCOIMAPOperation *) unsubscribeFolderOperation:(NSString *)folder;
+
+/**
+ Returns an operation to expunge a folder.
+
+     MCOIMAPOperation * op = [session expungeOperation:@"INBOX"];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) expungeOperation:(NSString *)folder;
+
+/** @name Message Actions */
+
+/**
+ Returns an operation to add a message to a folder.
+
+     MCOIMAPOperation * op = [session appendMessageOperationWithFolder:@"Sent Mail" messageData:rfc822Data flags:MCOMessageFlagNone];
+     [op start:^(NSError * __nullable error, uint32_t createdUID) {
+       if (error == nil) {
+         NSLog(@"created message with UID %lu", (unsigned long) createdUID);
+       }
+     }];
+*/
+- (MCOIMAPAppendMessageOperation *)appendMessageOperationWithFolder:(NSString *)folder
+                                                        messageData:(NSData *)messageData
+                                                              flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to add a message with custom flags to a folder.
+
+     MCOIMAPOperation * op = [session appendMessageOperationWithFolder:@"Sent Mail" messageData:rfc822Data flags:MCOMessageFlagNone customFlags:@[@"$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error, uint32_t createdUID) {
+       if (error == nil) {
+         NSLog(@"created message with UID %lu", (unsigned long) createdUID);
+       }
+     }];
+ */
+- (MCOIMAPAppendMessageOperation *)appendMessageOperationWithFolder:(NSString *)folder
+                                                        messageData:(NSData *)messageData
+                                                              flags:(MCOMessageFlag)flags
+                                                        customFlags:(NSArray *)customFlags;
+
+/**
+ Returns an operation to copy messages to a folder.
+
+     MCOIMAPCopyMessagesOperation * op = [session copyMessagesOperationWithFolder:@"INBOX"
+                                                                             uids:[MCIndexSet indexSetWithIndex:456]
+                                                                       destFolder:@"Cocoa"];
+     [op start:^(NSError * __nullable error, NSDictionary * uidMapping) {
+          NSLog(@"copied to folder with UID mapping %@", uidMapping);
+     }];
+*/
+- (MCOIMAPCopyMessagesOperation *)copyMessagesOperationWithFolder:(NSString *)folder
+                                                             uids:(MCOIndexSet *)uids
+                                                       destFolder:(NSString *)destFolder NS_RETURNS_NOT_RETAINED;
+
+/**
+ Returns an operation to change flags of messages.
+
+ For example: Adds the seen flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                               uids:[MCOIndexSet indexSetWithIndex:456]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                                uids:(MCOIndexSet *)uids
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to change flags of messages, using IMAP sequence number.
+
+ For example: Adds the seen flag to the message with the sequence number number 42.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                            numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                             numbers:(MCOIndexSet *)numbers
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags;
+
+/**
+ Returns an operation to change flags and custom flags of messages.
+
+ For example: Adds the seen flag and $CNS-Greeting-On flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                               uids:[MCOIndexSet indexSetWithIndex:456]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen
+                                                        customFlags:@["$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error) {
+         ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                                uids:(MCOIndexSet *)uids
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags
+                                         customFlags:(NSArray *)customFlags;
+
+
+/**
+ Returns an operation to change flags and custom flags of messages, using IMAP sequence number.
+
+ For example: Adds the seen flag and $CNS-Greeting-On flag to the message with the sequence number 42.
+
+     MCOIMAPOperation * op = [session storeFlagsOperationWithFolder:@"INBOX"
+                                                            numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                               kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              flags:MCOMessageFlagSeen
+                                                        customFlags:@["$CNS-Greeting-On"]];
+     [op start:^(NSError * __nullable error) {
+         ...
+     }];
+ */
+- (MCOIMAPOperation *) storeFlagsOperationWithFolder:(NSString *)folder
+                                             numbers:(MCOIndexSet *)numbers
+                                                kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               flags:(MCOMessageFlag)flags
+                                         customFlags:(NSArray *)customFlags;
+
+/**
+ Returns an operation to change labels of messages. Intended for Gmail
+
+ For example: Adds the label "Home" flag to the message with UID 42.
+
+     MCOIMAPOperation * op = [session storeLabelsOperationWithFolder:@"INBOX"
+                                                             numbers:[MCOIndexSet indexSetWithIndex:42]
+                                                                kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              labels:[NSArray arrayWithObject:@"Home"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeLabelsOperationWithFolder:(NSString *)folder
+                                              numbers:(MCOIndexSet *)numbers
+                                                 kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               labels:(NSArray *)labels;
+
+/**
+ Returns an operation to change labels of messages. Intended for Gmail
+
+ For example: Adds the label "Home" flag to the message with UID 456.
+
+     MCOIMAPOperation * op = [session storeLabelsOperationWithFolder:@"INBOX"
+                                                                uids:[MCOIndexSet indexSetWithIndex:456]
+                                                                kind:MCOIMAPStoreFlagsRequestKindAdd
+                                                              labels:[NSArray arrayWithObject:@"Home"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPOperation *) storeLabelsOperationWithFolder:(NSString *)folder
+                                                 uids:(MCOIndexSet *)uids
+                                                 kind:(MCOIMAPStoreFlagsRequestKind)kind
+                                               labels:(NSArray *)labels;
+
+/** @name Fetching Messages */
+
+/**
+ Returns an operation to fetch messages by UID.
+
+     MCOIMAPFetchMessagesOperation * op = [session fetchMessagesByUIDOperationWithFolder:@"INBOX"
+                                                                             requestKind:MCOIMAPMessagesRequestKindHeaders | MCOIMAPMessagesRequestKindStructure
+                                                                                    uids:MCORangeMake(1, UINT64_MAX)];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+        for(MCOIMAPMessage * msg in messages) {
+          NSLog(@"%lu: %@", [msg uid], [msg header]);
+        }
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesByUIDOperationWithFolder:(NSString *)folder
+                                                              requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                     uids:(MCOIndexSet *)uids DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch messages by UID.
+
+     MCOIMAPFetchMessagesOperation * op = [session fetchMessagesOperationWithFolder:@"INBOX"
+                                                                        requestKind:MCOIMAPMessagesRequestKindHeaders | MCOIMAPMessagesRequestKindStructure
+                                                                               uids:MCORangeMake(1, UINT64_MAX)];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+        for(MCOIMAPMessage * msg in messages) {
+          NSLog(@"%lu: %@", [msg uid], [msg header]);
+        }
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesOperationWithFolder:(NSString *)folder
+                                                         requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                uids:(MCOIndexSet *)uids;
+
+/**
+ Returns an operation to fetch messages by (sequence) number.
+ For example: show 50 most recent uids.
+     NSString *folder = @"INBOX";
+     MCOIMAPFolderInfoOperation *folderInfo = [session folderInfoOperation:folder];
+
+     [folderInfo start:^(NSError *error, MCOIMAPFolderInfo *info) {
+         int numberOfMessages = 50;
+         numberOfMessages -= 1;
+         MCOIndexSet *numbers = [MCOIndexSet indexSetWithRange:MCORangeMake([info messageCount] - numberOfMessages, numberOfMessages)];
+
+         MCOIMAPFetchMessagesOperation *fetchOperation = [session fetchMessagesByNumberOperationWithFolder:folder
+                                                                                               requestKind:MCOIMAPMessagesRequestKindUid
+                                                                                                   numbers:numbers];
+
+         [fetchOperation start:^(NSError *error, NSArray *messages, MCOIndexSet *vanishedMessages) {
+             for (MCOIMAPMessage * message in messages) {
+                 NSLog(@"%u", [message uid]);
+             }
+         }];
+     }];
+*/
+- (MCOIMAPFetchMessagesOperation *) fetchMessagesByNumberOperationWithFolder:(NSString *)folder
+                                                                 requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                                     numbers:(MCOIndexSet *)numbers;
+
+/**
+ Returns an operation to sync the last changes related to the given message list given a modSeq.
+
+     MCOIMAPFetchMessagesOperation * op = [session syncMessagesByUIDWithFolder:@"INBOX"
+                                                                   requestKind:MCOIMAPMessagesRequestKindUID
+                                                                          uids:MCORangeMake(1, UINT64_MAX)
+                                                                        modSeq:lastModSeq];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+       NSLog(@"added or modified messages: %@", messages);
+       NSLog(@"deleted messages: %@", vanishedMessages);
+     }];
+
+@warn *Important*: This is only for servers that support Conditional Store. See [RFC4551](http://tools.ietf.org/html/rfc4551)
+vanishedMessages will be set only for servers that support QRESYNC. See [RFC5162](http://tools.ietf.org/html/rfc5162)
+*/
+- (MCOIMAPFetchMessagesOperation *) syncMessagesByUIDWithFolder:(NSString *)folder
+                                                    requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                           uids:(MCOIndexSet *)uids
+                                                         modSeq:(uint64_t)modSeq DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to sync the last changes related to the given message list given a modSeq.
+
+     MCOIMAPFetchMessagesOperation * op = [session syncMessagesWithFolder:@"INBOX"
+                                                              requestKind:MCOIMAPMessagesRequestKindUID
+                                                                     uids:MCORangeMake(1, UINT64_MAX)
+                                                                   modSeq:lastModSeq];
+     [op start:^(NSError * __nullable error, NSArray * messages, MCOIndexSet * vanishedMessages) {
+       NSLog(@"added or modified messages: %@", messages);
+       NSLog(@"deleted messages: %@", vanishedMessages);
+     }];
+
+@warn *Important*: This is only for servers that support Conditional Store. See [RFC4551](http://tools.ietf.org/html/rfc4551)
+vanishedMessages will be set only for servers that support QRESYNC. See [RFC5162](http://tools.ietf.org/html/rfc5162)
+*/
+- (MCOIMAPFetchMessagesOperation *) syncMessagesWithFolder:(NSString *)folder
+                                              requestKind:(MCOIMAPMessagesRequestKind)requestKind
+                                                     uids:(MCOIndexSet *)uids
+                                                   modSeq:(uint64_t)modSeq;
+
+/**
+ Returns an operation to fetch the content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageByUIDOperationWithFolder:(NSString *)folder
+                                                                    uid:(uint32_t)uid
+                                                                 urgent:(BOOL)urgent DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch the content of a message.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:456];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageByUIDOperationWithFolder:(NSString *)folder
+                                                                    uid:(uint32_t)uid DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch the content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+ */
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                               uid:(uint32_t)uid
+                                                            urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the content of a message.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" uid:456];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+ */
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                               uid:(uint32_t)uid;
+
+/**
+ Returns an operation to fetch the content of a message, using IMAP sequence number.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" number:42 urgent:NO];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                            number:(uint32_t)number
+                                                            urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the content of a message, using IMAP sequence number.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageOperationWithFolder:@"INBOX" number:42];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+        MCOMessageParser * parser = [MCOMessageParser messageParserWithData:messageData]
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageOperationWithFolder:(NSString *)folder
+                                                             number:(uint32_t)number;
+
+/**
+ Returns an operation to fetch the parsed content of a message.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" uid:456 urgent:NO];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                           uid:(uint32_t)uid
+                                                                        urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the parsed content of a message.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" uid:456];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                           uid:(uint32_t)uid;
+
+/**
+ Returns an operation to fetch the parsed content of a message, using IMAP sequence number.
+ @param urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" number:42 urgent:NO];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                        number:(uint32_t)number
+                                                                        urgent:(BOOL)urgent;
+
+/**
+ Returns an operation to fetch the parsed content of a message, using IMAP sequence number.
+
+ MCOIMAPFetchParsedContentOperation * op = [session fetchParsedMessageOperationWithFolder:@"INBOX" number:42];
+ [op start:^(NSError * __nullable error, MCOMessageParser * parser) {
+
+ ...
+ }];
+ */
+- (MCOIMAPFetchParsedContentOperation *) fetchParsedMessageOperationWithFolder:(NSString *)folder
+                                                                        number:(uint32_t)number;
+
+/** @name Fetching Attachment Operations */
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentByUIDOperationWithFolder:(NSString *)folder
+                                                                              uid:(uint32_t)uid
+                                                                           partID:(NSString *)partID
+                                                                         encoding:(MCOEncoding)encoding
+                                                                           urgent:(BOOL)urgent DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation for custom command.
+ @param command is the text representation of the command to be send.
+ 
+ 
+ MCOIMAPCustomCommandOperation * op = [session customCommandOperation:@"ACTIVATE SERVICE"];
+ [op start: ^(NSString * __nullable response, NSError * __nullable error) {
+   ...
+ }];
+ */
+- (MCOIMAPCustomCommandOperation *) customCommandOperation:(NSString *)command;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentByUIDOperationWithFolder:@"INBOX"
+                                                                                             uid:[message uid]
+                                                                                          partID:[part partID]
+                                                                                        encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentByUIDOperationWithFolder:(NSString *)folder
+                                                                              uid:(uint32_t)uid
+                                                                           partID:(NSString *)partID
+                                                                         encoding:(MCOEncoding)encoding DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                         uid:(uint32_t)uid
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding
+                                                                      urgent:(BOOL)urgent;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                        uid:456
+                                                                                     partID:@"1.2"
+                                                                                   encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                        uid:[message uid]
+                                                                                     partID:[part partID]
+                                                                                   encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                         uid:(uint32_t)uid
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding;
+
+/**
+ Returns an operation to fetch an attachment.
+ @param  urgent is set to YES, an additional connection to the same folder might be opened to fetch the content.
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                             uid:456
+                                                                                          partID:@"1.2"
+                                                                                        encoding:MCOEncodingBase64
+                                                                                          urgent:YES];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                      number:(uint32_t)number
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding
+                                                                      urgent:(BOOL)urgent;
+
+/**
+  Returns an operation to fetch an attachment.
+
+  Example 1:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                     number:42
+                                                                                     partID:@"1.2"
+                                                                                   encoding:MCOEncodingBase64];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+
+  Example 2:
+
+     MCOIMAPFetchContentOperation * op = [session fetchMessageAttachmentOperationWithFolder:@"INBOX"
+                                                                                     number:[message sequenceNumber]
+                                                                                     partID:[part partID]
+                                                                                   encoding:[part encoding]];
+     [op start:^(NSError * __nullable error, NSData * partData) {
+        ...
+     }];
+*/
+- (MCOIMAPFetchContentOperation *) fetchMessageAttachmentOperationWithFolder:(NSString *)folder
+                                                                      number:(uint32_t)number
+                                                                      partID:(NSString *)partID
+                                                                    encoding:(MCOEncoding)encoding;
+
+/** @name General IMAP Actions */
+
+/**
+ Returns an operation to wait for something to happen in the folder.
+ See [RFC2177](http://tools.ietf.org/html/rfc2177) for me info.
+
+     MCOIMAPIdleOperation * op = [session idleOperationWithFolder:@"INBOX"
+                                                     lastKnownUID:0];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOIMAPIdleOperation *) idleOperationWithFolder:(NSString *)folder
+                                      lastKnownUID:(uint32_t)lastKnownUID;
+
+/**
+ Returns an operation to fetch the list of namespaces.
+
+     MCOIMAPFetchNamespaceOperation * op = [session fetchNamespaceOperation];
+     [op start:^(NSError * __nullable error, NSDictionary * namespaces) {
+       if (error != nil)
+         return;
+       MCOIMAPNamespace * ns = [namespace objectForKey:MCOIMAPNamespacePersonal];
+       NSString * path = [ns pathForComponents:[NSArray arrayWithObject:]];
+       MCOIMAPOperation * createOp = [session createFolderOperation:foobar];
+       [createOp start:^(NSError * __nullable error) {
+         ...
+       }];
+     }];
+*/
+- (MCOIMAPFetchNamespaceOperation *) fetchNamespaceOperation;
+
+/**
+ Returns an operation to send the client or get the server identity.
+
+     MCOIMAPIdentity * identity = [MCOIMAPIdentity identityWithVendor:@"Mozilla" name:@"Thunderbird" version:@"17.0.5"];
+     MCOIMAPIdentityOperation * op = [session identityOperationWithClientIdentity:identity];
+     [op start:^(NSError * __nullable error, NSDictionary * serverIdentity) {
+          ...
+     }];
+*/
+- (MCOIMAPIdentityOperation *) identityOperationWithClientIdentity:(MCOIMAPIdentity *)identity;
+
+/**
+ Returns an operation that will connect to the given IMAP server without authenticating.
+ Useful for checking initial server capabilities.
+
+ MCOIMAPOperation * op = [session connectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOIMAPOperation *)connectOperation;
+
+/**
+ Returns an operation that will perform a No-Op operation on the given IMAP server.
+
+ MCOIMAPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOIMAPOperation *) noopOperation;
+
+/**
+ Returns an operation that will check whether the IMAP account is valid.
+
+     MCOIMAPOperation * op = [session checkAccountOperation];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+
+- (MCOIMAPOperation *) checkAccountOperation;
+
+/**
+ Returns an operation to request capabilities of the server.
+ See MCOIMAPCapability for the list of capabilities.
+
+     canIdle = NO;
+     MCOIMAPCapabilityOperation * op = [session capabilityOperation];
+     [op start:^(NSError * __nullable error, MCOIndexSet * capabilities) {
+       if ([capabilities containsIndex:MCOIMAPCapabilityIdle]) {
+         canIdle = YES;
+       }
+     }];
+*/
+- (MCOIMAPCapabilityOperation *) capabilityOperation;
+
+- (MCOIMAPQuotaOperation *) quotaOperation;
+
+/** @name Search Operations */
+
+/**
+ Returns an operation to search for messages with a simple match.
+
+     MCOIMAPSearchOperation * op = [session searchOperationWithFolder:@"INBOX"
+                                                                 kind:MCOIMAPSearchKindFrom
+                                                         searchString:@"laura"];
+     [op start:^(NSError * __nullable error, MCOIndexSet * searchResult) {
+          ...
+     }];
+*/
+- (MCOIMAPSearchOperation *) searchOperationWithFolder:(NSString *)folder
+                                                  kind:(MCOIMAPSearchKind)kind
+                                          searchString:(NSString *)searchString;
+
+/**
+ Returns an operation to search for messages.
+
+     MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchFrom:@"laura@etpan.org"]
+     MCOIMAPSearchOperation * op = [session searchExpressionOperationWithFolder:@"INBOX"
+                                                                     expression:expr];
+     [op start:^(NSError * __nullable error, MCOIndexSet * searchResult) {
+          ...
+     }];
+*/
+- (MCOIMAPSearchOperation *) searchExpressionOperationWithFolder:(NSString *)folder
+                                                      expression:(MCOIMAPSearchExpression *)expression;
+
+/** @name Rendering Operations */
+
+/**
+ Returns an operation to render the HTML version of a message to be displayed in a web view.
+
+    MCOIMAPMessageRenderingOperation * op = [session htmlRenderingOperationWithMessage:msg
+                                                                            folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+*/
+- (MCOIMAPMessageRenderingOperation *) htmlRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                  folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the HTML body of a message to be displayed in a web view.
+
+    MCOIMAPMessageRenderingOperation * op = [session htmlBodyRenderingOperationWithMessage:msg
+                                                                                    folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) htmlBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                      folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the plain text version of a message.
+
+    MCOIMAPMessageRenderingOperation * op = [session plainTextRenderingOperationWithMessage:msg
+                                                                                     folder:@"INBOX"];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                       folder:(NSString *)folder;
+
+/**
+ Returns an operation to render the plain text body of a message.
+ All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.
+
+    MCOIMAPMessageRenderingOperation * op = [session plainTextBodyRenderingOperationWithMessage:msg
+                                                                                         folder:@"INBOX"
+                                                                                stripWhitespace:YES];
+
+    [op start:^(NSString * htmlString, NSError * error) {
+        ...
+    }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                           folder:(NSString *)folder
+                                                                  stripWhitespace:(BOOL)stripWhitespace;
+
+/**
+ Returns an operation to render the plain text body of a message.
+ All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.
+
+ MCOIMAPMessageRenderingOperation * op = [session plainTextBodyRenderingOperationWithMessage:msg
+ folder:@"INBOX"];
+
+ [op start:^(NSString * htmlString, NSError * error) {
+ ...
+ }];
+ */
+- (MCOIMAPMessageRenderingOperation *) plainTextBodyRenderingOperationWithMessage:(MCOIMAPMessage *)message
+                                                                           folder:(NSString *)folder;
+
+/**
+ Returns an operation to disconnect the session.
+ It will disconnect all the sockets created by the session.
+
+    MCOIMAPOperation * op = [session disconnectOperation];
+    [op start:^(NSError * __nullable error) {
+       ...
+    }];
+ */
+- (MCOIMAPOperation *) disconnectOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIndexSet.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIndexSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..3705fa3a3eb2aabd58c795ce07eba1c83bdac313
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOIndexSet.h
@@ -0,0 +1,74 @@
+//
+//  MCOIndexSet.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/23/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOINDEXSET_H
+
+#define MAILCORE_MCOINDEXSET_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCORange.h>
+
+/** similar to NSMutableIndexSet but supports int64_t.  MCORange has a location (uint64_t) and length (uint64_t). */
+
+@interface MCOIndexSet : NSObject <NSCopying, NSCoding>
+
+/** Creates an empty index set.*/
++ (MCOIndexSet *) indexSet;
+
+/** Creates an index set that contains a range of integers.*/
++ (MCOIndexSet *) indexSetWithRange:(MCORange)range;
+
+/** Creates an index set with a single integer.*/
++ (MCOIndexSet *) indexSetWithIndex:(uint64_t)idx;
+
+/** Returns the number of integers in that index set.*/
+- (unsigned int) count;
+
+/** Adds an integer to the index set.*/
+- (void) addIndex:(uint64_t)idx;
+
+/** Removes an integer from the index set.*/
+- (void) removeIndex:(uint64_t)idx;
+
+/** Returns YES if the index set contains the given integer.*/
+- (BOOL) containsIndex:(uint64_t)idx;
+
+/** Adds a range of integers to the index set.*/
+- (void) addRange:(MCORange)range;
+
+/** Removes a range of integers from the index set.*/
+- (void) removeRange:(MCORange)range;
+
+/** Removes all integers that are not in the given range.*/
+- (void) intersectsRange:(MCORange)range;
+
+/** Adds all indexes from an other index set to the index set.*/
+- (void) addIndexSet:(MCOIndexSet *)indexSet;
+
+/** Remove all indexes from an other index set from the index set.*/
+- (void) removeIndexSet:(MCOIndexSet *)indexSet;
+
+/** Removes all integers that are not in the given index set.*/
+- (void) intersectsIndexSet:(MCOIndexSet *)indexSet;
+
+/** Returns all the ranges of ths index set.*/
+- (MCORange *) allRanges;
+
+/** Returns the number of ranges in this index set.*/
+- (unsigned int) rangesCount;
+
+/** Enumerates all the indexes of the index set.*/
+- (void) enumerateIndexes:(void (^)(uint64_t idx))block;
+
+/** Returns an NSIndexSet from a MCOIndexSet */
+- (NSIndexSet *) nsIndexSet;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvider.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a568016c600d0b152b70c52934c8a6623ec66bd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvider.h
@@ -0,0 +1,93 @@
+//
+//  MCOMailProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+   Represents a email service provider, like for example Gmail, Yahoo, Fastmail.fm etc.
+*/
+
+@interface MCOMailProvider : NSObject
+
+@property (nonatomic, copy) NSString * identifier;
+
+- (id) initWithInfo:(NSDictionary *)info;
+
+/**
+   A list of ways that you can connect to the IMAP server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) imapServices;
+
+/**
+   A list of ways that you can connect to the SMTP server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) smtpServices;
+
+/**
+   A list of ways that you can connect to the POP3 server
+   @return An array of MCONetService
+*/
+- (NSArray * /* MCONetService */) popServices;
+
+- (BOOL) matchEmail:(NSString *)email;
+- (BOOL) matchMX:(NSString *)hostname;
+
+/**
+   Where sent mail is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) sentMailFolderPath;
+
+/**
+   Where starred mail is stored on the IMAP server.
+   This only applies to some servers like Gmail
+   @return Returns nil if it is unknown
+*/
+- (NSString *) starredFolderPath;
+
+/**
+   Where all mail or the archive folder is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) allMailFolderPath;
+
+/**
+   Where trash is stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) trashFolderPath;
+
+/**
+   Where draft messages are stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) draftsFolderPath;
+
+/**
+   Where spam messages are stored on the IMAP server
+   @return Returns nil if it is unknown
+*/
+- (NSString *) spamFolderPath;
+
+/**
+   Where important messages are stored on the IMAP server
+   This only applies to some servers, like Gmail
+   @return Returns nil if it is unknown
+*/
+- (NSString *) importantFolderPath;
+
+@end
+
+@interface MCOMailProvider (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvidersManager.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvidersManager.h
new file mode 100644
index 0000000000000000000000000000000000000000..09df25ad9ee4b42766c8b34dc137139c18f2fd8a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMailProvidersManager.h
@@ -0,0 +1,51 @@
+//
+//  MCOMailProvidersManager.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+   This class is used to detect an email provider and it's associated
+   metadata either by MX record or by the email addresss.
+
+   An app might want to use this during setup to limit the number of settings
+   a user has to input.
+*/
+
+@class MCOMailProvider;
+
+@interface MCOMailProvidersManager : NSObject
+
+/** The shared manager that is used for all lookups */
++ (MCOMailProvidersManager *) sharedManager;
+
+/** 
+    Given an email address will try to determine the provider
+    @return The email provider info or nil if it can't be determined.
+*/
+- (MCOMailProvider *) providerForEmail:(NSString *)email;
+
+/** 
+    Given the DNS MX record will try to determine the provider
+    @return The email provider info or nil if it can't be determined.
+*/
+- (MCOMailProvider *) providerForMX:(NSString *)hostname;
+
+/**
+   Will return information about a provider. Useful if you already know the
+   provider (like if it has been determined previously)
+   @return The email provider info or nil if none matches
+*/
+- (MCOMailProvider *) providerForIdentifier:(NSString *)identifier;
+
+/**
+   Registers the providers in the JSON file at the file path so they
+   can be used with MCOMailProvidersManager.
+ */
+- (void) registerProvidersWithFilename:(NSString *)filename;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageBuilder.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageBuilder.h
new file mode 100644
index 0000000000000000000000000000000000000000..1663d6f7f0f02d5ce5a8808b755d369b2898cfe0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageBuilder.h
@@ -0,0 +1,98 @@
+//
+//  MCOMessageBuilder.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEBUILDER_H
+
+#define MAILCORE_MCOMESSAGEBUILDER_H
+
+#import <MailCore/MCOAbstractMessage.h>
+
+/**
+ This class will allow you to build a RFC 822 formatted message.
+ For example when you need to send a message using SMTP,
+ you need to generate first a RFC 822 formatted message.
+ This class will help you do that.
+ 
+    MCOMessageBuilder * builder = [[MCOMessageBuilder alloc] init];
+    [[builder header] setFrom:[MCOAddress addressWithDisplayName:@"Hoa V. DINH" mailbox:@"hoa@etpan.org"];
+    NSArray * to = [NSArray arrayWithObject:[MCOAddress addressWithDisplayName:@"Gael Roualland" mailbox:@"gael@etpan.org"]];
+    [[builder header] setTo:to];
+    [[builder header] setSubject:@"A nice picture!"];
+    [builder setHTMLBody:@"<div>Here's the message I need to send.</div>"];
+    [builder addAttachment:[MCOAttachment attachmentWithContentsOfFile:@"/Users/foo/Pictures/image.jpg"]];
+    NSData * rfc822Data = [builder data];
+ 
+*/
+
+@class MCOAttachment;
+@protocol MCOHTMLRendererDelegate;
+
+@interface MCOMessageBuilder : MCOAbstractMessage <NSCopying>
+
+/** Main HTML content of the message.*/
+@property (nonatomic, copy, setter=setHTMLBody:) NSString * htmlBody;
+
+/** Plain text content of the message.*/
+@property (nonatomic, copy) NSString * textBody;
+
+/** List of file attachments.*/
+@property (nonatomic, copy) NSArray * /* MCOAttachment */ attachments;
+
+/** List of related file attachments (included as cid: link in the HTML part).*/
+@property (nonatomic, copy) NSArray * /* MCOAttachment */ relatedAttachments;
+
+/** Prefix for the boundary identifier. Default value is nil.*/
+@property (nonatomic, copy) NSString * boundaryPrefix;
+
+/** Add an attachment.*/
+- (void) addAttachment:(MCOAttachment *)attachment;
+
+/** Add a related attachment.*/
+- (void) addRelatedAttachment:(MCOAttachment *)attachment;
+
+/** RFC 822 formatted message.*/
+- (NSData *) data;
+
+/** RFC 822 formatted message for encryption.*/
+- (NSData *) dataForEncryption;
+
+/**
+ Returns an OpenPGP signed message with a given signature.
+ The signature needs to be computed on the data returned by -dataForEncryption
+ before calling this method.
+ You could use http://www.netpgp.com to generate it.
+ */
+- (NSData *) openPGPSignedMessageDataWithSignatureData:(NSData *)signature;
+
+/**
+ Returns an OpenPGP encrypted message with a given encrypted data.
+ The encrypted data needs to be computed before calling this method.
+ You could use http://www.netpgp.com to generate it.
+ */
+- (NSData *) openPGPEncryptedMessageDataWithEncryptedData:(NSData *)encryptedData;
+
+/** HTML rendering of the message to be displayed in a web view. The delegate can be nil.*/
+- (NSString *) htmlRenderingWithDelegate:(id <MCOHTMLRendererDelegate>)delegate;
+
+/** HTML rendering of the body of the message to be displayed in a web view.*/
+- (NSString *) htmlBodyRendering;
+
+/** Text rendering of the message.*/
+- (NSString *) plainTextRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRenderingAndStripWhitespace:(BOOL)stripWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageHeader.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageHeader.h
new file mode 100644
index 0000000000000000000000000000000000000000..4f9a9cdac7e341ba98f90141724fdb8fa5ec3c1b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageHeader.h
@@ -0,0 +1,101 @@
+//
+//  MCOMessageHeader.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEHEADER_H
+
+#define MAILCORE_MCOMESSAGEHEADER_H
+
+#import <Foundation/Foundation.h>
+
+/** This class implements common fields of a message header.*/
+
+@class MCOAddress;
+
+@interface MCOMessageHeader : NSObject <NSCopying, NSCoding>
+
+/** Message-ID field.*/
+@property (nonatomic, copy) NSString * messageID;
+
+/** Message-ID auto-generated flag.*/
+@property (nonatomic, readonly, getter=isMessageIDAutoGenerated) BOOL messageIDAutoGenerated;
+
+/** References field. It's an array of message-ids.*/
+@property (nonatomic, copy) NSArray * /* NSString */ references;
+
+/** In-Reply-To field. It's an array of message-ids.*/
+@property (nonatomic, copy) NSArray * /* NSString */ inReplyTo;
+
+/** Date field: sent date of the message.*/
+@property (nonatomic, strong) NSDate * date;
+
+/** Received date: received date of the message.*/
+@property (nonatomic, strong) NSDate * receivedDate;
+
+/** Sender field.*/
+@property (nonatomic, copy) MCOAddress * sender;
+
+/** From field: address of the sender of the message.*/
+@property (nonatomic, copy) MCOAddress * from;
+
+/** To field: recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ to;
+
+/** Cc field: cc recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ cc;
+
+/** Bcc field: bcc recipient of the message. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ bcc;
+
+/** Reply-To field. It's an array of MCOAddress.*/
+@property (nonatomic, copy) NSArray * /* MCOAddress */ replyTo;
+
+/** Subject of the message.*/
+@property (nonatomic, copy) NSString * subject;
+
+/** Email user agent name: X-Mailer header.*/
+@property (nonatomic, copy) NSString * userAgent;
+
+/** Returns a header created from RFC 822 data.*/
++ (MCOMessageHeader *) headerWithData:(NSData *)data;
+
+/** Initialize a header with RFC 822 data.*/
+- (id) initWithData:(NSData *)data;
+
+/** Adds a custom header.*/
+- (void) setExtraHeaderValue:(NSString *)value forName:(NSString *)name;
+
+/** Remove a given custom header.*/
+- (void) removeExtraHeaderForName:(NSString *)name;
+
+/** Returns the value of a given custom header.*/
+- (NSString *) extraHeaderValueForName:(NSString *)name;
+
+/** Returns an array with the names of all custom headers.*/
+- (NSArray * /* NSString */) allExtraHeadersNames;
+
+/** Extracted subject (also remove square brackets).*/
+- (NSString *) extractedSubject;
+
+/** Extracted subject (don't remove square brackets).*/
+- (NSString *) partialExtractedSubject;
+
+/** Fill the header using the given RFC 822 data.*/
+- (void) importHeadersData:(NSData *)data;
+
+/** Returns a header that can be used as a base for a reply message.*/
+- (MCOMessageHeader *) replyHeaderWithExcludedRecipients:(NSArray * /* MCOAddress */)excludedRecipients;
+
+/** Returns a header that can be used as a base for a reply all message.*/
+- (MCOMessageHeader *) replyAllHeaderWithExcludedRecipients:(NSArray * /* MCOAddress */)excludedRecipients;
+
+/** Returns a header that can be used as a base for a forward message.*/
+- (MCOMessageHeader *) forwardHeader;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageParser.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageParser.h
new file mode 100644
index 0000000000000000000000000000000000000000..6bbed0be9955c16acb2116ea9d46439eb4891e00
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessageParser.h
@@ -0,0 +1,57 @@
+//
+//  MCOMessageParser.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEPARSER_H
+
+#define MAILCORE_MCOMESSAGEPARSER_H
+
+/**
+ This class implements a parsed message.
+ When the full content of a message has been fetched using POP or IMAP,
+ you need to parse it.
+*/
+
+#import <MailCore/MCOAbstractMessage.h>
+
+@protocol MCOHTMLRendererDelegate;
+
+@interface MCOMessageParser : MCOAbstractMessage
+
+/** returns a parsed message from the given RFC 822 data.*/
++ (MCOMessageParser *) messageParserWithData:(NSData *)data;
+
+/** data is the RFC 822 formatted message.*/
+- (id) initWithData:(NSData *)data;
+- (void) dealloc;
+
+/** It's the main part of the message. It can be MCOMessagePart, MCOMultipart or MCOAttachment.*/
+- (MCOAbstractPart *) mainPart;
+
+/** data of the RFC 822 formatted message. It's the input of the parser.*/
+- (NSData *) data;
+
+/** HTML rendering of the message to be displayed in a web view. delegate can be nil.*/
+- (NSString *) htmlRenderingWithDelegate:(id <MCOHTMLRendererDelegate>)delegate;
+
+/** HTML rendering of the body of the message to be displayed in a web view.*/
+- (NSString *) htmlBodyRendering;
+
+/** Text rendering of the message.*/
+- (NSString *) plainTextRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRendering;
+
+/** Text rendering of the body of the message. All end of line will be removed and white spaces cleaned up if requested.
+ This method can be used to generate the summary of the message.*/
+- (NSString *) plainTextBodyRenderingAndStripWhitespace:(BOOL)stripWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessagePart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessagePart.h
new file mode 100644
index 0000000000000000000000000000000000000000..5098e35f02ede1002af74ecb6ef67cf386a6e16d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMessagePart.h
@@ -0,0 +1,21 @@
+//
+//  MessagePart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMESSAGEPART_H
+
+#define MAILCORE_MCOMESSAGEPART_H
+
+#import <MailCore/MCOAbstractMessagePart.h>
+
+/** Message part parsed from RFC 822 message data. */
+
+@interface MCOMessagePart : MCOAbstractMessagePart <NSCopying>
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMultipart.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMultipart.h
new file mode 100644
index 0000000000000000000000000000000000000000..1b97a13f27a6784232c350013d44664ca3b9f3ba
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOMultipart.h
@@ -0,0 +1,21 @@
+//
+//  MCOMultipart.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOMULTIPART_H
+
+#define MAILCORE_MCOMULTIPART_H
+
+#import <MailCore/MCOAbstractMultipart.h>
+
+/** Multipart parsed from RFC 822 message data. */
+
+@interface MCOMultipart : MCOAbstractMultipart
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..71979dfa71ee75a55d89f35dfc17a5f8a2089394
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTP.h
@@ -0,0 +1,23 @@
+//
+//  MCONNTP.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTP_H
+
+#define MAILCORE_MCONNTP_H
+
+#include <MailCore/MCONNTPSession.h>
+#include <MailCore/MCONNTPOperation.h>
+#include <MailCore/MCONNTPFetchHeaderOperation.h>
+#include <MailCore/MCONNTPFetchArticleOperation.h>
+#include <MailCore/MCONNTPFetchAllArticlesOperation.h>
+#include <MailCore/MCONNTPListNewsgroupsOperation.h>
+#include <MailCore/MCONNTPFetchOverviewOperation.h>
+#include <MailCore/MCONNTPFetchServerTimeOperation.h>
+#include <MailCore/MCONNTPGroupInfo.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPDisconnectOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPDisconnectOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d8986bb6bb3d18904f1dbdfb1a11c1b55c1c3f3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPDisconnectOperation.h
@@ -0,0 +1,21 @@
+//
+//  MCONNTPDisconnectOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPDICONNECTOPERATION_H
+
+#define MAILCORE_MCONNTPDICONNECTOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/* The class is used to perform a disconnect operation. */
+@interface MCONNTPDisconnectOperation : NSObject
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..022ce0592611bf5abacc43246a0f655eaac38fec
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchAllArticlesOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCONNTPFetchAllArticlesOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHARTICLESOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHARTICLESOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */
+@interface MCONNTPFetchAllArticlesOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `articles` will be an index set of article numbers.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `articles` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, MCOIndexSet * __nullable articles))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..170f594b771ed2c09781953204f76626869d8c09
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchArticleOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCONNTPFetchArticleOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHARTICLEOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHARTICLEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/** Fetch a message from NNTP3 */
+
+typedef void (^MCONNTPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchArticleOperation : MCONNTPOperation
+
+/** This block will be called as data is downloaded from the network */
+@property (nonatomic, copy) MCONNTPOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `data` will contain the message data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `data` will be nil
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable messageData))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..d23c278c503a8bed179277b5e993138b3270e1f3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchHeaderOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCONNTPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCONNTPFETCHHEADEROPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+/** 
+ This is an asynchronous operation that will fetch the header of a message.
+ @See MCONNTPSession
+ */
+
+@class MCOMessageHeader;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchHeaderOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `header` will contain the message header
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `header` will be nil
+ */
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageHeader * __nullable header))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..93a0b31f0191fa1329735e84793222c5e6bc1bd3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchOverviewOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCONNTPFetchOverviewOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHOVERVIEWOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHOVERVIEWOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPFetchOverviewOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `messages` will be an array of MCOMessageHeaders
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `messages` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOMessageHeader */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..38801810ea8bd3b6460cd87d49588cf7b6024f5f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPFetchServerTimeOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCONNTPFetchServerTimeOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 10/21/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H
+
+#define MAILCORE_MCONNTPFETCHSERVERTIMEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+@class MCOIndexSet;
+
+NS_ASSUME_NONNULL_BEGIN
+/** This is an asynchronous operation that will fetch the list of a messages on the NNTP server. */
+@interface MCONNTPFetchServerTimeOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `date` will be the server's date and time as an NSDate.
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `date` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSDate * __nullable date))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPGroupInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPGroupInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..e34445a9e0184815fdf6f92b341a39bb0472aa39
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPGroupInfo.h
@@ -0,0 +1,27 @@
+//
+//  MCONNTPGroupInfo.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPGROUPINFO_H
+
+#define MAILCORE_MCONNTPGROUPINFO_H
+
+#import <Foundation/Foundation.h>
+
+/** This is information of a message fetched by MCONNTPListNewsgroupsOperation.*/
+
+@interface MCONNTPGroupInfo : NSObject <NSCopying>
+
+/** The name of the news group. */
+@property (nonatomic, copy) NSString *name;
+
+/** The number of messages in the news group. */
+@property (nonatomic, assign) unsigned int messageCount;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9cba21d6fe07c031c5dcc71ccb6183091261d16f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPListNewsgroupsOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCONNTPListNewsgroupsOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPLISTNEWSGROUPSOPERATION_H
+
+#define MAILCORE_MCONNTPLISTNEWSGROUPSOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCONNTPOperation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPListNewsgroupsOperation : MCONNTPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil and `messages` will be an array of MCONNTPGroupInfo
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h, `messages` will be null
+ */
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCONNTPGroupInfo */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..bed8874e5f24ab3f53394fcda16821023a54f642
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCONNTPOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPOPERATION_H
+
+#define MAILCORE_MCONNTPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This is a generic asynchronous NNTP3 operation. 
+ @see MCONNTPSession
+ */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+ error code available in MCOConstants.h,
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..29fe18affe96aafdfce3640a5d65ec3d7ab90879
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONNTPSession.h
@@ -0,0 +1,207 @@
+//
+//  MCONNTPSession.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 8/13/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCONNTPSESSION_H
+
+#define MAILCORE_MCONNTPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+@class MCONNTPFetchAllArticlesOperation;
+@class MCONNTPFetchHeaderOperation;
+@class MCONNTPFetchArticleOperation;
+@class MCONNTPListNewsgroupsOperation;
+@class MCONNTPFetchOverviewOperation;
+@class MCONNTPFetchServerTimeOperation;
+@class MCONNTPOperation;
+@class MCOIndexSet;
+
+/** This class implements asynchronous access to the NNTP protocol.*/
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCONNTPSession : NSObject
+
+/** This is the hostname of the NNTP server to connect to.*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the NNTP server to connect to.*/
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account.*/
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account.*/
+@property (nonatomic, copy) NSString * password;
+
+/** This is the encryption type to use.
+ See MCOConnectionType for more information.*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection.*/
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect.*/
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+ ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCONNTPSession about where it's called from.
+ It will make MCONNTPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCONNTPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+      ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will fetch the list of article numbers.
+ 
+ MCONNTPFetchAllArticlesOperation * op = [session fetchAllArticlesOperation:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, MCOIndexSet * articles) {
+ }];
+ */
+- (MCONNTPFetchAllArticlesOperation *) fetchAllArticlesOperation:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the header of the given message.
+ 
+ MCONNTPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, MCOMessageHeader * header) {
+ // header is the parsed header of the message.
+ }];
+ */
+- (MCONNTPFetchHeaderOperation *) fetchHeaderOperationWithIndex:(unsigned int)index inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch an overview (headers) for a set of messages.
+ 
+ MCONNTPFetchHeaderOperation * op = [session fetchOverviewOperationWithIndexes:indexes inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSArray * headers) {
+ // headers are the parsed headers of each part of the overview.
+ }];
+ */
+- (MCONNTPFetchOverviewOperation *)fetchOverviewOperationWithIndexes:(MCOIndexSet *)indexes inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the content of the given message.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithIndex:idx inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithIndex:(unsigned int)index inGroup:(NSString *)group;
+
+/**
+ Returns an operation that will fetch the content of a message with the given messageID.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"<MessageID123@mail.google.com>"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithMessageID:(NSString *)messageID;
+
+/**
+ Obsolete. Use -fetchArticleOperationWithMessageID: instead.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchArticleOperationWithMessageID:@"<MessageID123@mail.google.com>" inGroup:@"comp.lang.c"];
+ [op start:^(NSError * __nullable error, NSData * messageData) {
+ // messageData is the RFC 822 formatted message data.
+ }];
+ */
+- (MCONNTPFetchArticleOperation *) fetchArticleOperationWithMessageID:(NSString *)messageID inGroup:(NSString * __nullable)group DEPRECATED_ATTRIBUTE;
+
+/**
+ Returns an operation that will fetch the server's date and time.
+ 
+ MCONNTPFetchArticleOperation * op = [session fetchServerDateOperation];
+ [op start:^(NSError * __nullable error, NSDate * serverDate) {
+ }];
+ */
+- (MCONNTPFetchServerTimeOperation *) fetchServerDateOperation;
+
+/**
+ Returns an operation that will list all available newsgroups.
+ 
+ MCONNTPListNewsgroupsOperation * op = [session listAllNewsgroupsOperation];
+ [op start:^(NSError * __nullable error, NSArray * subscribedGroups) {
+ }];
+ */
+- (MCONNTPListNewsgroupsOperation *) listAllNewsgroupsOperation;
+
+/**
+ Returns an operation that will list server-suggested default newsgroups.
+ 
+ MCONNTPListNewsgroupsOperation * op = [session listDefaultNewsgroupsOperation];
+ [op start:^(NSError * __nullable error, NSArray * defaultGroups) {
+ }];
+ */
+- (MCONNTPListNewsgroupsOperation *) listDefaultNewsgroupsOperation;
+
+/**
+ Returns an operation that will disconnect the session.
+ 
+ MCONNTPOperation * op = [session disconnectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCONNTPOperation *) disconnectOperation;
+
+/**
+ Returns an operation that will check whether the NNTP account is valid.
+ 
+ MCONNTPOperation * op = [session checkAccountOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCONNTPOperation *) checkAccountOperation;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONetService.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONetService.h
new file mode 100644
index 0000000000000000000000000000000000000000..af0f3d14f9561917bedbe698e4969a269146bb6b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCONetService.h
@@ -0,0 +1,48 @@
+//
+//  MCONetService.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOConstants.h>
+
+/**
+   This class provides a specific way to access a given service
+*/
+
+@interface MCONetService : NSObject <NSCopying>
+
+/**
+   The hostname of the server. [MCONetService hostnameWithEmail:] is recommended
+   instead as it can handle services with custom domains 
+*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** The port number of the service */
+@property (nonatomic, assign) unsigned int port;
+
+/** What kind of connection type is supported, like SSL, Start TLS, Plain etc. */
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
++ (MCONetService *) serviceWithInfo:(NSDictionary *)info;
+
+- (id) initWithInfo:(NSDictionary *)info;
+- (NSDictionary *) info;
+
+/** 
+    If the service uses a custom domain this will return the proper hostname based
+    off the email address
+*/
+- (NSString *) hostnameWithEmail:(NSString *)email;
+
+@end
+
+@interface MCONetService (MCOUnavailable)
+
+/** Do not invoke this directly. */
+- (id) init NS_UNAVAILABLE;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOObjectWrapper.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOObjectWrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..67cb45e17fd186af5a95f6999fd3f3bb89892379
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOObjectWrapper.h
@@ -0,0 +1,31 @@
+//
+//  MCOObjectWrapper.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/25/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOOBJECTWRAPPER_H
+
+#define MAILCORE_MCOOBJECTWRAPPER_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Object;
+}
+#endif
+
+@interface MCOObjectWrapper : NSObject
+
+#ifdef __cplusplus
+@property (nonatomic, assign) mailcore::Object * object;
+
++ (MCOObjectWrapper *) objectWrapperWithObject:(mailcore::Object *)object;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7e37ce34dbac65499fa5d38c84d7d27b79fc19f0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOOperation.h
@@ -0,0 +1,47 @@
+//
+//  MCOOperation.h
+//  mailcore2
+//
+//  Created by Matt Ronge on 01/31/13.
+//  Copyright (c) 2013 __MyCompanyName__. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOOPERATION_H
+
+#define MAILCORE_MCOOPERATION_H
+
+#import <Foundation/Foundation.h>
+
+@interface MCOOperation : NSObject
+
+/** Returns whether the operation is cancelled.*/
+@property (readonly) BOOL isCancelled;
+
+/** Returns whether the operation should run even if it's cancelled.*/
+@property (nonatomic, assign) BOOL shouldRunWhenCancelled;
+
+/** The queue this operation dispatches the callback on.  Defaults to the main queue.
+ This property should be used only if there's performance issue creating or calling the callback
+ in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t callbackDispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t callbackDispatchQueue;
+#endif
+
+/** This methods is called on the main thread when the asynchronous operation is finished.
+ Needs to be overriden by subclasses.*/
+- (void) operationCompleted;
+
+/** Cancel the operation.*/
+- (void) cancel;
+
+@end
+
+@interface MCOOperation (MCOUnavailable)
+
+- (instancetype) init NS_UNAVAILABLE;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a75ff4ffdaf5deeaa4e19820d6575189445dc35
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOP.h
@@ -0,0 +1,20 @@
+//
+//  MCOPOP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/30/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOP_H
+
+#define MAILCORE_MCOPOP_H
+
+#import <MailCore/MCOPOPSession.h>
+#import <MailCore/MCOPOPOperation.h>
+#import <MailCore/MCOPOPFetchHeaderOperation.h>
+#import <MailCore/MCOPOPFetchMessageOperation.h>
+#import <MailCore/MCOPOPFetchMessagesOperation.h>
+#import <MailCore/MCOPOPMessageInfo.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..6df92232354c26d3b86ceea5f3516cf643477e0d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchHeaderOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCOPOPFETCHHEADEROPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** 
+ This is an asynchronous operation that will fetch the header of a message.
+ @See MCOPOPSession
+*/
+
+@class MCOMessageHeader;
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchHeaderOperation : MCOPOPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `header` will contain the message header
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `header` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, MCOMessageHeader * __nullable header))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..a20469d47a93d43fe0c177f2e1f56fb3fd0e38cd
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessageOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCOFetchMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHMESSAGEOPERATION_H
+
+#define MAILCORE_MCOPOPFETCHMESSAGEOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** Fetch a message from POP3 */
+
+typedef void (^MCOPOPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchMessageOperation : MCOPOPOperation
+
+/** This block will be called as data is downloaded from the network */
+@property (nonatomic, copy) MCOPOPOperationProgressBlock progress;
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `data` will contain the message data
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `data` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSData * __nullable messageData))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..b38f0f08eda47b1286ebdf8c6f5e3a41b4282561
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPFetchMessagesOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOPOPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCOPOPFETCHMESSAGESOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** This is an asynchronous operation that will fetch the list of a messages on the POP3 account. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPFetchMessagesOperation : MCOPOPOperation
+
+/** 
+ Starts the asynchronous fetch operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil and `messages` will be an array of MCOPOPMessageInfo
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h, `messages` will be nil
+*/
+- (void) start:(void (^)(NSError * __nullable error, NSArray * /* MCOPOPMessageInfo */__nullable messages))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPMessageInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPMessageInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..416747f3839cde82f80c07ffbb8ea500da82afd6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPMessageInfo.h
@@ -0,0 +1,31 @@
+//
+//  MCOPOPMessageInfo.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/30/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPMESSAGEINFO_H
+
+#define MAILCORE_MCOPOPMESSAGEINFO_H
+
+#import <Foundation/Foundation.h>
+
+/** This is information of a message fetched by MCOPOPFetchMessagesOperation.*/
+
+@interface MCOPOPMessageInfo : NSObject <NSCopying>
+
+/** This is the index of a given message.*/
+@property (nonatomic, assign) unsigned int index;
+
+/** This is the size of the given message.*/
+@property (nonatomic, assign) unsigned int size;
+
+/** This is the unique identifier of the message.
+ It can be used as a cache identifier.*/
+@property (nonatomic, copy) NSString * uid;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d08c9fa436a24f10622d1fb4e1b4824854aa9cf
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPNoopOperation.h
@@ -0,0 +1,36 @@
+//
+//  MCOPOPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPNOOPOPERATION_H
+
+#define MAILCORE_MCOPOPNOOPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOPOPOperation.h>
+
+/** This is an asynchronous operation that will perform a No-Op on the POP3 account. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPNoopOperation : MCOPOPOperation
+
+/**
+ Starts the asynchronous noop operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in MCOConstants.h
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..0937db76599dd62502b43a24f517cc22eaf606e7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPOperation.h
@@ -0,0 +1,39 @@
+//
+//  MCODeleteMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPOPERATION_H
+
+#define MAILCORE_MCOPOPOPERATION_H
+
+#import <Foundation/Foundation.h>
+#import <MailCore/MCOOperation.h>
+
+/**
+ This is a generic asynchronous POP3 operation. 
+ @see MCOPOPSession
+*/
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOPOPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..6daa2379d2aa8fa07af236ee17626e9e2c2449c9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOPOPSession.h
@@ -0,0 +1,179 @@
+//
+//  MCOPOPSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOPOPSESSION_H
+
+#define MAILCORE_MCOPOPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+@class MCOPOPFetchMessagesOperation;
+@class MCOPOPFetchHeaderOperation;
+@class MCOPOPFetchMessageOperation;
+@class MCOPOPOperation;
+@class MCOIndexSet;
+
+/** This class implements asynchronous access to the POP3 protocol.*/
+
+@interface MCOPOPSession : NSObject
+
+/** This is the hostname of the POP3 server to connect to.*/
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the POP3 server to connect to.*/
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account.*/
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account.*/
+@property (nonatomic, copy) NSString * password;
+
+/** 
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/** This is the encryption type to use.
+See MCOConnectionType for more information.*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection.*/
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect.*/
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+   ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOPOPSession about where it's called from.
+ It will make MCOPOPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOPOPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will fetch the list of messages.
+
+     MCOPOPFetchMessagesOperation * op = [session fetchMessagesOperation];
+     [op start:^(NSError * __nullable error, NSArray * messages) {
+        // messages is an array of MCOPOPMessageInfo
+        // [info index] can be used as reference for a given message in the other operations.
+     }];
+*/
+- (MCOPOPFetchMessagesOperation *) fetchMessagesOperation;
+
+/**
+ Returns an operation that will fetch the header of the given message.
+
+     MCOPOPFetchHeaderOperation * op = [session fetchHeaderOperationWithIndex:idx];
+     [op start:^(NSError * __nullable error, MCOMessageHeader * header) {
+          // header is the parsed header of the message.
+     }];
+*/
+- (MCOPOPFetchHeaderOperation *) fetchHeaderOperationWithIndex:(unsigned int)index;
+
+/**
+ Returns an operation that will fetch the content of the given message.
+
+     MCOPOPFetchMessageOperation * op = [session fetchMessageOperationWithIndex:idx];
+     [op start:^(NSError * __nullable error, NSData * messageData) {
+          // messageData is the RFC 822 formatted message data.
+     }];
+*/
+- (MCOPOPFetchMessageOperation *) fetchMessageOperationWithIndex:(unsigned int)index;
+
+/**
+ Returns an operation that will delete the given messages.
+ Will disconnect when finished.
+
+     MCOIndexSet * indexes = [MCOIndexSet indexSet];
+     [indexes addIndex:1];
+     [indexes addIndex:2];
+     [indexes addIndex:3];
+     MCOPOPOperation * op = [session deleteMessagesOperationWithIndexes:indexes];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOPOPOperation *) deleteMessagesOperationWithIndexes:(MCOIndexSet *)indexes;
+
+/**
+ Returns an operation that will disconnect the session.
+ 
+ MCOPOPOperation * op = [session disconnectOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOPOPOperation *) disconnectOperation;
+
+/**
+ Returns an operation that will check whether the POP account is valid.
+
+     MCOPOPOperation * op = [session checkAccountOperation];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOPOPOperation *) checkAccountOperation;
+
+/**
+ Returns an operation that will perform a No-Op operation.
+ 
+ MCOPOPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOPOPOperation *) noopOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOProvider.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..3c7bf7cedb1d4f22f7667f6a0752e3a7e91b2608
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOProvider.h
@@ -0,0 +1,17 @@
+//
+//  MCOPROVIDER.h
+//  mailcore2
+//
+//  Created by Pushkar Singh on 5/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef _MAILCORE__MCOPROVIDER_h
+#define _MAILCORE__MCOPROVIDER_h
+
+#import <MailCore/MCONetService.h>
+#import <MailCore/MCOMailProvider.h>
+#import <MailCore/MCOMailProvidersManager.h>
+#import <MailCore/MCOAccountValidator.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORFC822.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORFC822.h
new file mode 100644
index 0000000000000000000000000000000000000000..ce894aa840b1e0744f303f58f2608eeb1287aa0b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORFC822.h
@@ -0,0 +1,19 @@
+//
+//  MCORFC822.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCORFC822_H
+
+#define MAILCORE_MCORFC822_H
+
+#import <MailCore/MCOAttachment.h>
+#import <MailCore/MCOMessageBuilder.h>
+#import <MailCore/MCOMessageParser.h>
+#import <MailCore/MCOMessagePart.h>
+#import <MailCore/MCOMultipart.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORange.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORange.h
new file mode 100644
index 0000000000000000000000000000000000000000..fa6d4ae9c3afc4976098018e3664d6b37c4325c0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCORange.h
@@ -0,0 +1,77 @@
+//
+//  MCORange.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCORANGE_H
+
+#define MAILCORE_MCORANGE_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+#include <MailCore/MCBaseTypes.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+@class MCOIndexSet;
+
+typedef struct {
+    /** first integer of the range.*/
+    uint64_t location;
+    
+    /** length of the range.*/
+    uint64_t length;
+} MCORange;
+
+/** Constants for an emtpy range.*/
+extern MCORange MCORangeEmpty;
+
+/** Returns a new range given a location and length.*/
+MCORange MCORangeMake(uint64_t location, uint64_t length);
+
+/** Returns an index set that is the result of sustracting a range from a range.*/
+MCOIndexSet * MCORangeRemoveRange(MCORange range1, MCORange range2);
+
+/** Returns an index set that is the result of the union a range from a range.*/
+MCOIndexSet * MCORangeUnion(MCORange range1, MCORange range2);
+
+#ifdef __cplusplus
+
+/** Returns a C++ range from an Objective-C range.*/
+mailcore::Range MCORangeToMCRange(MCORange range);
+
+/** Returns an Objective-C range from a C++ range.*/
+MCORange MCORangeWithMCRange(mailcore::Range range);
+
+#endif
+
+/** Returns the intersection of two ranges.*/
+MCORange MCORangeIntersection(MCORange range1, MCORange range2);
+
+/** Returns YES if two given ranges have an intersection.*/
+BOOL MCORangeHasIntersection(MCORange range1, MCORange range2);
+
+/** Returns left bound of a range.*/
+uint64_t MCORangeLeftBound(MCORange range);
+
+/** Returns right bound of a range.*/
+uint64_t MCORangeRightBound(MCORange range);
+
+/** Returns a serializable form (NSString) of a range */
+NSString * MCORangeToString(MCORange range);
+
+/** Create a range from a serializable form (NSString). */
+MCORange MCORangeFromString(NSString * rangeString);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..49d01de3160a82bde7434e85e6b7ea118f63776d
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTP.h
@@ -0,0 +1,17 @@
+//
+//  MCOSMTP.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTP_H
+
+#define MAILCORE_MCOSMTP_H
+
+#import <MailCore/MCOSMTPSession.h>
+#import <MailCore/MCOSMTPSendOperation.h>
+#import <MailCore/MCOSMTPOperation.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPLoginOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPLoginOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..39715cc775bda1babf081f0595a672f8511d5201
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPLoginOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCOSMTPLoginOperation.h
+//  mailcore2
+//
+//  Created by Hironori Yoshida on 10/29/14.
+//  Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPLOGINOPERATION_H
+
+#define MAILCORE_MCOSMTPLOGINOPERATION_H
+
+#import <MailCore/MCOSMTPOperation.h>
+
+/** This is an asynchronous operation that will perform a noop operation through SMTP. */
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPLoginOperation : MCOSMTPOperation
+
+/*
+ Starts the asynchronous operation.
+ 
+ @param completionBlock Called when the operation is finished.
+ 
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an
+ error code available in MCOConstants.h,
+ */
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..111f386ba7beef134d601938f870b404019d39b3
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPOperation.h
@@ -0,0 +1,35 @@
+//
+//  MCOSMTPCheckAccountOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPOPERATION_H
+
+#define MAILCORE_MCOSMTPOPERATION_H
+
+#import <MailCore/MCOOperation.h>
+
+/** This is an asynchronous SMTP operation, used for sending messages. */
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPOperation : MCOOperation
+
+/** 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSendOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSendOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..9474c0efa599793d116880541990ab1fd4c4bbe7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSendOperation.h
@@ -0,0 +1,40 @@
+//
+//  MCOSMTPSendOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPSENDOPERATION_H
+
+#define MAILCORE_MCOSMTPSENDOPERATION_H
+
+#import <MailCore/MCOSMTPOperation.h>
+
+/** This is an asynchronous operation that will send a message through SMTP. */
+
+typedef void (^MCOSMTPOperationProgressBlock)(unsigned int current, unsigned int maximum);
+
+NS_ASSUME_NONNULL_BEGIN
+@interface MCOSMTPSendOperation : MCOSMTPOperation
+
+/** This block will be called as the message is sent */
+@property (nonatomic, copy) MCOSMTPOperationProgressBlock progress;
+
+/* 
+ Starts the asynchronous operation.
+
+ @param completionBlock Called when the operation is finished.
+
+ - On success `error` will be nil
+ 
+ - On failure, `error` will be set with `MCOErrorDomain` as domain and an 
+   error code available in MCOConstants.h,
+*/
+- (void) start:(void (^)(NSError * __nullable error))completionBlock;
+
+@end
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..31055335fdbff101f9742941dc74e9c1bb3fb780
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOSMTPSession.h
@@ -0,0 +1,179 @@
+//
+//  MCOSMTPSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOSMTPSESSION_H
+
+#define MAILCORE_MCOSMTPSESSION_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCOConstants.h>
+
+/** 
+ This class is used to create an SMTP connection and send messages
+
+ After calling a method that returns an operation you must call start: on the instance
+ to begin the operation.
+*/
+
+@class MCOSMTPSendOperation;
+@class MCOSMTPOperation;
+@class MCOAddress;
+
+@interface MCOSMTPSession : NSObject
+
+/** This is the hostname of the SMTP server to connect to. */
+@property (nonatomic, copy) NSString * hostname;
+
+/** This is the port of the SMTP server to connect to. */
+@property (nonatomic, assign) unsigned int port;
+
+/** This is the username of the account. */
+@property (nonatomic, copy) NSString * username;
+
+/** This is the password of the account. */
+@property (nonatomic, copy) NSString * password;
+
+/** This is the OAuth2 token. */
+@property (nonatomic, copy) NSString *OAuth2Token;
+
+/** 
+ This is the authentication type to use to connect.
+ `MCOAuthTypeSASLNone` means that it uses the clear-text is used (and is the default).
+ @warning *Important*: Over an encrypted connection like TLS, the password will still be secure
+*/
+@property (nonatomic, assign) MCOAuthType authType;
+
+/**
+ This is the encryption type to use.
+ See MCOConnectionType for more information.
+*/
+@property (nonatomic, assign) MCOConnectionType connectionType;
+
+/** This is the timeout of the connection. */
+@property (nonatomic, assign) NSTimeInterval timeout;
+
+/** When set to YES, the connection will fail if the certificate is incorrect. */
+@property (nonatomic, assign, getter=isCheckCertificateEnabled) BOOL checkCertificateEnabled;
+
+/**
+ If set to YES, when sending the EHLO or HELO command, use IP address instead of hostname.
+ Default is NO.
+*/
+@property (nonatomic, assign, getter=isUseHeloIPEnabled) BOOL useHeloIPEnabled;
+
+/**
+ Sets logger callback. The network traffic will be sent to this block.
+ 
+ [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data) {
+   ...
+ }];
+ */
+@property (nonatomic, copy) MCOConnectionLogger connectionLogger;
+
+/** This property provides some hints to MCOSMTPSession about where it's called from.
+ It will make MCOSMTPSession safe. It will also set all the callbacks of operations to run on this given queue.
+ Defaults to the main queue.
+ This property should be used only if there's performance issue using MCOSMTPSession in the main thread. */
+#if OS_OBJECT_USE_OBJC
+@property (nonatomic, retain) dispatch_queue_t dispatchQueue;
+#else
+@property (nonatomic, assign) dispatch_queue_t dispatchQueue;
+#endif
+
+/**
+ The value will be YES when asynchronous operations are running, else it will return NO.
+ */
+@property (nonatomic, assign, readonly, getter=isOperationQueueRunning) BOOL operationQueueRunning;
+
+/**
+ Sets operation running callback. It will be called when operations start or stop running.
+
+ [session setOperationQueueRunningChangeBlock:^{
+   if ([session isOperationQueueRunning]) {
+     ...
+   }
+   else {
+     ...
+   }
+ }];
+ */
+@property (nonatomic, copy) MCOOperationQueueRunningChangeBlock operationQueueRunningChangeBlock;
+
+/**
+ Cancel all operations
+ */
+- (void) cancelAllOperations;
+
+/** @name Operations */
+
+/**
+ Returns an operation that will perform a login.
+ 
+ MCOSMTPOperation * op = [session loginOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPOperation *) loginOperation;
+
+/**
+ Returns an operation that will send the given message through SMTP.
+ It will use the recipient set in the message data (To, Cc and Bcc).
+ It will also filter out Bcc from the content of the message.
+
+ Generate RFC 822 data using MCOMessageBuilder
+
+     MCOSMTPOperation * op = [session sendOperationWithData:rfc822Data];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOSMTPSendOperation *) sendOperationWithData:(NSData *)messageData;
+
+/**
+ Returns an operation that will send the given message through SMTP.
+ It will use the sender and recipient set from the parameters.
+ It will also filter out Bcc from the content of the message.
+ 
+ Generate RFC 822 data using MCOMessageBuilder
+ 
+ MCOSMTPOperation * op = [session sendOperationWithData:rfc822Data
+                                                  from:[MCOAddress addressWithMailbox:@"hoa@etpan.org"]
+                                            recipients:[NSArray arrayWithObject:[MCOAddress addressWithMailbox:@"laura@etpan.org"]]];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPSendOperation *) sendOperationWithData:(NSData *)messageData
+                                            from:(MCOAddress *)from
+                                      recipients:(NSArray *)recipients;
+
+/**
+ Returns an operation that will check whether the SMTP account is valid.
+
+     MCOSMTPOperation * op = [session checkAccountOperationWithFrom:[MCOAddress addressWithMailbox:@"hoa@etpan.org"]];
+     [op start:^(NSError * __nullable error) {
+          ...
+     }];
+*/
+- (MCOSMTPOperation *) checkAccountOperationWithFrom:(MCOAddress *)from;
+
+/**
+ Returns an operation that will perform a No-Op.
+ 
+ MCOSMTPOperation * op = [session noopOperation];
+ [op start:^(NSError * __nullable error) {
+ ...
+ }];
+ */
+- (MCOSMTPOperation *) noopOperation;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOUtils.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOUtils.h
new file mode 100644
index 0000000000000000000000000000000000000000..3c36a6abbbdb77cdd5f1ce684ec6ed7b18056f2e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOUtils.h
@@ -0,0 +1,27 @@
+//
+//  MCOUtils.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/22/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOUTILS_H
+
+#define MAILCORE_MCOUTILS_H
+
+#import <MailCore/MCOObjectWrapper.h>
+#import <MailCore/NSData+MCO.h>
+#import <MailCore/NSString+MCO.h>
+#import <MailCore/NSDictionary+MCO.h>
+#import <MailCore/NSArray+MCO.h>
+#import <MailCore/NSObject+MCO.h>
+#import <MailCore/NSError+MCO.h>
+#import <MailCore/NSValue+MCO.h>
+#import <MailCore/MCOOperation.h>
+#import <MailCore/MCOConstants.h>
+#import <MailCore/MCOIndexSet.h>
+#import <MailCore/MCORange.h>
+#import <MailCore/NSIndexSet+MCO.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObjC.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObjC.h
new file mode 100644
index 0000000000000000000000000000000000000000..68d35f1e67d57e6c7dfb18de588508c7eb627d1f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObjC.h
@@ -0,0 +1,26 @@
+//
+//  MCObjC.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/27/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCOBJC_H
+
+#define MAILCORE_MCOBJC_H
+
+#ifdef __OBJC__
+
+#import <MailCore/MCOUtils.h>
+#import <MailCore/MCOAbstract.h>
+#import <MailCore/MCOIMAP.h>
+#import <MailCore/MCORFC822.h>
+#import <MailCore/MCOPOP.h>
+#import <MailCore/MCOSMTP.h>
+#import <MailCore/MCONNTP.h>
+#import <MailCore/MCOProvider.h>
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObject.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObject.h
new file mode 100644
index 0000000000000000000000000000000000000000..83d6c1a7cd73f5e0625a94e9760f1f8c9ed74948
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCObject.h
@@ -0,0 +1,74 @@
+#ifndef MAILCORE_MCOBJECT_H
+
+#define MAILCORE_MCOBJECT_H
+
+#include <pthread.h>
+#if __APPLE__
+#include <dispatch/dispatch.h>
+#include <libkern/OSAtomic.h>
+#endif
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    extern bool zombieEnabled;
+    
+    class String;
+    class HashMap;
+    
+    class MAILCORE_EXPORT Object {
+    public:
+        Object();
+        virtual ~Object();
+        
+        virtual int retainCount();
+        virtual Object * retain();
+        virtual void release();
+        virtual Object * autorelease();
+        virtual String * description();
+        virtual String * className();
+        
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        
+        // optional
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+        typedef void (Object::*Method) (void *);
+        virtual void performMethod(Method method, void * context);
+        virtual void performMethodOnMainThread(Method method, void * context, bool waitUntilDone = false);
+        virtual void performMethodAfterDelay(Method method, void * context, double delay);
+#if __APPLE__
+        virtual void performMethodOnDispatchQueue(Method method, void * context, void * targetDispatchQueue, bool waitUntilDone = false);
+        virtual void performMethodOnDispatchQueueAfterDelay(Method method, void * context, void * targetDispatchQueue, double delay);
+        virtual void cancelDelayedPerformMethodOnDispatchQueue(Method method, void * context, void * targetDispatchQueue);
+#endif
+        virtual void cancelDelayedPerformMethod(Method method, void * context);
+        
+        // serialization utils
+        static void registerObjectConstructor(const char * className, void * (* objectConstructor)(void));
+        static Object * objectWithSerializable(HashMap * serializable);
+        
+    public: // private
+        
+    private:
+#if __APPLE__
+        OSSpinLock mLock;
+#else
+        pthread_mutex_t mLock;
+#endif
+        int mCounter;
+        void init();
+        static void initObjectConstructors();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ee8b2f4c81b1fa27094ca979bb83c1509a44bd1
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperation.h
@@ -0,0 +1,59 @@
+#ifndef MAILCORE_MCOPERATION_H
+
+#define MAILCORE_MCOPERATION_H
+
+#include <pthread.h>
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class OperationCallback;
+    
+    class MAILCORE_EXPORT Operation : public Object {
+    public:
+        Operation();
+        virtual ~Operation();
+        
+        virtual void setCallback(OperationCallback * callback);
+        virtual OperationCallback * callback();
+        
+        virtual void cancel();
+        virtual bool isCancelled();
+        
+        // Will be called on main thread.
+        virtual void beforeMain();
+        
+        virtual void main();
+        
+        // Will be called on main thread.
+        virtual void afterMain();
+        
+        virtual void start();
+        
+#ifdef __APPLE__
+        virtual void setCallbackDispatchQueue(dispatch_queue_t callbackDispatchQueue);
+        virtual dispatch_queue_t callbackDispatchQueue();
+#endif
+        void performMethodOnCallbackThread(Method method, void * context, bool waitUntilDone = false);
+        
+        virtual bool shouldRunWhenCancelled();
+        virtual void setShouldRunWhenCancelled(bool shouldRunWhenCancelled);
+        
+    private:
+        OperationCallback * mCallback;
+        bool mCancelled;
+        bool mShouldRunWhenCancelled;
+        pthread_mutex_t mLock;
+#ifdef __APPLE__
+        dispatch_queue_t mCallbackDispatchQueue;
+#endif
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..425b1e9959c1f18c3a3c28d1fb19dc9467ac649a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCOPERATIONCALLBACK_H
+
+#define MAILCORE_MCOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Operation;
+    
+    class MAILCORE_EXPORT OperationCallback {
+    public:
+        virtual void operationFinished(Operation * op) {}
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationQueue.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationQueue.h
new file mode 100644
index 0000000000000000000000000000000000000000..1e8e48445d3c6a8ef7fa6aafa1a91222d3eaf296
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCOperationQueue.h
@@ -0,0 +1,68 @@
+#ifndef MAILCORE_MCOPERATIONQUEUE_H
+
+#define MAILCORE_MCOPERATIONQUEUE_H
+
+#include <pthread.h>
+#include <semaphore.h>
+#include <MailCore/MCObject.h>
+#include <MailCore/MCLibetpanTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Operation;
+    class OperationQueueCallback;
+    class Array;
+    
+    class MAILCORE_EXPORT OperationQueue : public Object {
+    public:
+        OperationQueue();
+        virtual ~OperationQueue();
+        
+        virtual void addOperation(Operation * op);
+        virtual void cancelAllOperations();
+        
+        virtual unsigned int count();
+        
+        virtual void setCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * callback();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+        
+    private:
+        Array * mOperations;
+        pthread_t mThreadID;
+        bool mStarted;
+        struct mailsem * mOperationSem;
+        struct mailsem * mStartSem;
+        struct mailsem * mStopSem;
+        pthread_mutex_t mLock;
+        bool mWaiting;
+        struct mailsem * mWaitingFinishedSem;
+        bool mQuitting;
+        OperationQueueCallback * mCallback;
+#if __APPLE__
+        dispatch_queue_t mDispatchQueue;
+#endif
+        bool _pendingCheckRunning;
+        
+        void startThread();
+        static void runOperationsOnThread(OperationQueue * queue);
+        void runOperations();
+        void beforeMain(Operation * op);
+        void callbackOnMainThread(Operation * op);
+        void checkRunningOnMainThread(void * context);
+        void checkRunningAfterDelay(void * context);
+        void stoppedOnMainThread(void * context);
+        void performOnCallbackThread(Operation * op, Method method, void * context, bool waitUntilDone);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..db17430acb50c3737aae02c96e3680269fee9b86
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOP.h
@@ -0,0 +1,9 @@
+#ifndef MAILCORE_MCPOP_H
+
+#define MAILCORE_MCPOP_H
+
+#include <MailCore/MCPOPMessageInfo.h>
+#include <MailCore/MCPOPProgressCallback.h>
+#include <MailCore/MCPOPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..7dfe79316a01aabc3162036cf71eace16c2d82a6
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPAsyncSession.h
@@ -0,0 +1,104 @@
+//
+//  MCPopAsyncSession.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPASYNCSESSION_H
+
+#define MAILCORE_MCPOPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPOperation;
+    class POPSession;
+    class POPFetchHeaderOperation;
+    class POPFetchMessageOperation;
+    class POPDeleteMessagesOperation;
+    class POPFetchMessagesOperation;
+    class POPOperationQueueCallback;
+    class POPConnectionLogger;
+    
+    class MAILCORE_EXPORT POPAsyncSession : public Object {
+    public:
+        POPAsyncSession();
+        virtual ~POPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * login);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual POPFetchMessagesOperation * fetchMessagesOperation();
+        
+        virtual POPFetchHeaderOperation * fetchHeaderOperation(unsigned int index);
+        
+        virtual POPFetchMessageOperation * fetchMessageOperation(unsigned int index);
+        
+        // Will disconnect.
+        virtual POPOperation * deleteMessagesOperation(IndexSet * indexes);
+        
+        virtual POPOperation * disconnectOperation();
+        
+        virtual POPOperation * checkAccountOperation();
+        
+        virtual POPOperation * noopOperation();
+        
+    private:
+        POPSession * mSession;
+        OperationQueue * mQueue;
+        POPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        POPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+    public: // private
+        virtual void runOperation(POPOperation * operation);
+        virtual POPSession * session();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..c2c3dee80b5206c56caa244b86fc6c3a2ffb4f37
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchHeaderOperation.h
@@ -0,0 +1,44 @@
+//
+//  MCPOPFetchHeaderOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHHEADEROPERATION_H
+
+#define MAILCORE_MCPOPFETCHHEADEROPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT POPFetchHeaderOperation : public POPOperation {
+    public:
+        POPFetchHeaderOperation();
+        virtual ~POPFetchHeaderOperation();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual MessageHeader * header();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        unsigned int mMessageIndex;
+        MessageHeader * mHeader;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessageOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessageOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..23fa1e8955b4f84ca7f462bc4ab606c6029a9ba9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessageOperation.h
@@ -0,0 +1,41 @@
+//
+//  MCPOPFetchMessageOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHMESSAGEOPERATION_H
+
+#define MAILCORE_MCPOPFETCHMESSAGEOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    class MAILCORE_EXPORT POPFetchMessageOperation : public POPOperation {
+    public:
+        POPFetchMessageOperation();
+        virtual ~POPFetchMessageOperation();
+        
+        virtual void setMessageIndex(unsigned int messageIndex);
+        virtual unsigned int messageIndex();
+        
+        virtual Data * data();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        unsigned int mMessageIndex;
+        Data * mData;
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..7eb797b039719d57afe59d1db45a54539b59ed98
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPFetchMessagesOperation.h
@@ -0,0 +1,37 @@
+//
+//  MCPOPFetchMessagesOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPFETCHMESSAGESOPERATION_H
+
+#define MAILCORE_MCPOPFETCHMESSAGESOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPFetchMessagesOperation : public POPOperation {
+    public:
+        POPFetchMessagesOperation();
+        virtual ~POPFetchMessagesOperation();
+        
+        virtual Array * /* POPMessageInfo */ messages();
+        
+    public: // subclass behavior
+        virtual void main();
+        
+    private:
+        Array * /* POPMessageInfo */ mMessages;
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPMessageInfo.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPMessageInfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..6d70fe301ad52925a1ed09f87801513a47c05fd7
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPMessageInfo.h
@@ -0,0 +1,42 @@
+#ifndef MAILCORE_MCPOPMESSAGEINFO_H
+
+#define MAILCORE_MCPOPMESSAGEINFO_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPMessageInfo : public Object {
+    public:
+        POPMessageInfo();
+        virtual ~POPMessageInfo();
+        
+        virtual void setIndex(unsigned int index);
+        virtual unsigned int index();
+        
+        virtual void setSize(unsigned int size);
+        virtual unsigned int size();
+        
+        virtual void setUid(String * uid);
+        virtual String * uid();
+        
+    public: // subclass behavior
+        POPMessageInfo(POPMessageInfo * other);
+        virtual String * description();
+        virtual Object * copy();
+        
+    private:
+        unsigned int mIndex;
+        unsigned int mSize;
+        String * mUid;
+        
+        void init();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..cc040c08a8905acf333dd90e6eda509a0da0f578
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPNoopOperation.h
@@ -0,0 +1,32 @@
+//
+//  MCPOPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPNOOPOPERATION_H
+
+#define MAILCORE_MCPOPNOOPOPERATION_H
+
+#include <MailCore/MCPOPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT POPNoopOperation : public POPOperation {
+    public:
+        POPNoopOperation();
+        virtual ~POPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..652e4a4bf121292b0117688ac8234397d8786919
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperation.h
@@ -0,0 +1,53 @@
+//
+//  MCPOPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPOPERATION_H
+
+#define MAILCORE_MCPOPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCPOPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPAsyncSession;
+    class POPOperationCallback;
+    
+    class MAILCORE_EXPORT POPOperation : public Operation, public POPProgressCallback {
+    public:
+        POPOperation();
+        virtual ~POPOperation();
+        
+        virtual void setSession(POPAsyncSession * session);
+        virtual POPAsyncSession * session();
+        
+        virtual void setPopCallback(POPOperationCallback * callback);
+        virtual POPOperationCallback * popCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        POPAsyncSession * mSession;
+        POPOperationCallback * mPopCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(POPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..60714b883714a9fb4e07da522358c29032f4833b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCPOPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/16/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPOPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCPOPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPOperation;
+    
+    class MAILCORE_EXPORT POPOperationCallback {
+    public:
+        virtual void bodyProgress(POPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..cdee93325ea4de47aa3f2dfbe313a71f60fd0331
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCPOPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCPOPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class POPSession;
+    
+    class MAILCORE_EXPORT POPProgressCallback {
+    public:
+        virtual void bodyProgress(POPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..eda323c04841505d4567676f0247ebe788fb640a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCPOPSession.h
@@ -0,0 +1,100 @@
+#ifndef MAILCORE_MCPOPSESSION_H
+
+#define MAILCORE_MCPOPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class POPMessageInfo;
+    class POPProgressCallback;
+    class MessageHeader;
+    
+    class MAILCORE_EXPORT POPSession : public Object {
+    public:
+        POPSession();
+        virtual ~POPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(ErrorCode * pError);
+        
+        virtual void noop(ErrorCode * pError);
+        
+        Array * /* POPMessageInfo */ fetchMessages(ErrorCode * pError);
+        
+        MessageHeader * fetchHeader(unsigned int index, ErrorCode * pError);
+        MessageHeader * fetchHeader(POPMessageInfo * msg, ErrorCode * pError);
+        
+        Data * fetchMessage(unsigned int index, POPProgressCallback * callback, ErrorCode * pError);
+        Data * fetchMessage(POPMessageInfo * msg, POPProgressCallback * callback, ErrorCode * pError);
+        
+        void deleteMessage(unsigned int index, ErrorCode * pError);
+        void deleteMessage(POPMessageInfo * msg, ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        bool mCheckCertificateEnabled;
+        time_t mTimeout;
+        
+        mailpop3 * mPop;
+        POPCapability mCapabilities;
+        POPProgressCallback * mProgressCallback;
+        int mState;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        bool checkCertificate();
+        static void body_progress(size_t current, size_t maximum, void * context);
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        void loginIfNeeded(ErrorCode * pError);
+        void listIfNeeded(ErrorCode * pError);
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCProvider.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCProvider.h
new file mode 100644
index 0000000000000000000000000000000000000000..ad8189b25b5ef045aeee6a6e2b3d60f6f3af250a
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCProvider.h
@@ -0,0 +1,18 @@
+//
+//  MCProvider.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 4/28/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCPROVIDER_H
+
+#define MAILCORE_MCPROVIDER_H
+
+#include <MailCore/MCMailProvidersManager.h>
+#include <MailCore/MCMailProvider.h>
+#include <MailCore/MCNetService.h>
+#include <MailCore/MCAccountValidator.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRFC822.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRFC822.h
new file mode 100644
index 0000000000000000000000000000000000000000..66c4d40830b2ab7e559736baacc8ffeb114d0477
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRFC822.h
@@ -0,0 +1,11 @@
+#ifndef MAILCORE_MCRFC822_H
+
+#define MAILCORE_MCRFC822_H
+
+#include <MailCore/MCAttachment.h>
+#include <MailCore/MCMessageBuilder.h>
+#include <MailCore/MCMessageParser.h>
+#include <MailCore/MCMessagePart.h>
+#include <MailCore/MCMultipart.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRange.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRange.h
new file mode 100644
index 0000000000000000000000000000000000000000..9ec4f56809f6d1f179be788bd50058280849821e
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRange.h
@@ -0,0 +1,60 @@
+#ifndef MAILCORE_MCRANGE_H
+
+#define MAILCORE_MCRANGE_H
+
+#ifdef __cplusplus
+
+#include <inttypes.h>
+
+#include <MailCore/MCUtils.h>
+
+#ifndef UINT64_MAX
+# define UINT64_MAX 18446744073709551615ULL
+#endif
+
+namespace mailcore {
+    
+    class IndexSet;
+    class String;
+    
+    // infinite length : UINT64_MAX
+    // empty range : location = UINT64_MAX
+    struct Range {
+        uint64_t location;
+        uint64_t length;
+    };
+    
+    MAILCORE_EXPORT
+    extern Range RangeEmpty;
+    
+    MAILCORE_EXPORT
+    Range RangeMake(uint64_t location, uint64_t length);
+
+    MAILCORE_EXPORT
+    IndexSet * RangeRemoveRange(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    IndexSet * RangeUnion(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    Range RangeIntersection(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    bool RangeHasIntersection(Range range1, Range range2);
+
+    MAILCORE_EXPORT
+    uint64_t RangeLeftBound(Range range);
+
+    MAILCORE_EXPORT
+    uint64_t RangeRightBound(Range range);
+
+    MAILCORE_EXPORT
+    String * RangeToString(Range range);
+    
+    MAILCORE_EXPORT
+    Range RangeFromString(String * rangeString);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRenderer.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRenderer.h
new file mode 100644
index 0000000000000000000000000000000000000000..441b63b4d39e023b794bdea82b0f8fc637aaf438
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCRenderer.h
@@ -0,0 +1,17 @@
+//
+//  MCRenderer.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 2/2/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCRENDERER_H
+
+#define MAILCORE_MCRENDERER_H
+
+#include <MailCore/MCHTMLRendererCallback.h>
+#include <MailCore/MCDateFormatter.h>
+#include <MailCore/MCAddressDisplay.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTP.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTP.h
new file mode 100644
index 0000000000000000000000000000000000000000..452e024ff5e2ed58b9158ab6fd4916d9df9d2347
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTP.h
@@ -0,0 +1,8 @@
+#ifndef MAILCORE_MCSMTP_H
+
+#define MAILCORE_MCSMTP_H
+
+#include <MailCore/MCSMTPProgressCallback.h>
+#include <MailCore/MCSMTPSession.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPAsyncSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPAsyncSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..9084979785dfd9097c09bf6877e1e447d70ab72b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPAsyncSession.h
@@ -0,0 +1,99 @@
+#ifndef MAILCORE_MCSMTPASYNCSESSION_H
+
+#define MAILCORE_MCSMTPASYNCSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MessageBuilder;
+    class SMTPOperation;
+    class SMTPSession;
+    class Address;
+    class SMTPOperationQueueCallback;
+    class SMTPConnectionLogger;
+    
+    class MAILCORE_EXPORT SMTPAsyncSession : public Object {
+    public:
+        SMTPAsyncSession();
+        virtual ~SMTPAsyncSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setUseHeloIPEnabled(bool enabled);
+        virtual bool useHeloIPEnabled();
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+#ifdef __APPLE__
+        virtual void setDispatchQueue(dispatch_queue_t dispatchQueue);
+        virtual dispatch_queue_t dispatchQueue();
+#endif
+
+        virtual void setOperationQueueCallback(OperationQueueCallback * callback);
+        virtual OperationQueueCallback * operationQueueCallback();
+        virtual bool isOperationQueueRunning();
+        virtual void cancelAllOperations();
+
+        virtual SMTPOperation * loginOperation();
+        virtual SMTPOperation * sendMessageOperation(Data * messageData);
+        virtual SMTPOperation * sendMessageOperation(Address * from, Array * recipients,
+                                                     Data * messageData);
+        virtual SMTPOperation * checkAccountOperation(Address * from);
+        
+        virtual SMTPOperation * noopOperation();
+        
+        virtual SMTPOperation * disconnectOperation();
+
+    public: // private
+        virtual void runOperation(SMTPOperation * operation);
+        virtual SMTPSession * session();
+        virtual void tryAutomaticDisconnect();
+        virtual void logConnection(ConnectionLogType logType, Data * buffer);
+        
+    private:
+        SMTPSession * mSession;
+        OperationQueue * mQueue;
+        SMTPOperationQueueCallback * mQueueCallback;
+        ConnectionLogger * mConnectionLogger;
+        pthread_mutex_t mConnectionLoggerLock;
+        SMTPConnectionLogger * mInternalLogger;
+        OperationQueueCallback * mOperationQueueCallback;
+        
+        virtual void tryAutomaticDisconnectAfterDelay(void * context);
+    };
+	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPNoopOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPNoopOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..ad194367d777a78814bbf70758d4419caa4a3d80
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPNoopOperation.h
@@ -0,0 +1,34 @@
+//
+//  MCSMTPNoopOperation.h
+//  mailcore2
+//
+//  Created by Robert Widmann on 9/24/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPNOOPOPERATION_H
+
+#define MAILCORE_MCSMTPNOOPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCAbstract.h>
+#include <MailCore/MCSMTPOperation.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class MAILCORE_EXPORT SMTPNoopOperation : public SMTPOperation {
+    public:
+        SMTPNoopOperation();
+        virtual ~SMTPNoopOperation();
+        
+    public: // subclass behavior
+        virtual void main();
+    };
+    	
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperation.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperation.h
new file mode 100644
index 0000000000000000000000000000000000000000..5978d3d6dc22b5aeaab6a84c96e7ab253f90e212
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperation.h
@@ -0,0 +1,52 @@
+//
+//  MCSMTPOperation.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPOPERATION_H
+
+#define MAILCORE_MCSMTPOPERATION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCSMTPProgressCallback.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class SMTPAsyncSession;
+    class SMTPOperationCallback;
+    
+    class MAILCORE_EXPORT SMTPOperation : public Operation, public SMTPProgressCallback {
+    public:
+        SMTPOperation();
+        virtual ~SMTPOperation();
+        
+        virtual void setSession(SMTPAsyncSession * session);
+        virtual SMTPAsyncSession * session();
+        
+        virtual void setSmtpCallback(SMTPOperationCallback * callback);
+        virtual SMTPOperationCallback * smtpCallback();
+        
+        virtual void setError(ErrorCode error);
+        virtual ErrorCode error();
+        
+        virtual void start();
+        
+    private:
+        SMTPAsyncSession * mSession;
+        SMTPOperationCallback * mSmtpCallback;
+        ErrorCode mError;
+    private:
+        virtual void bodyProgress(SMTPSession * session, unsigned int current, unsigned int maximum);
+        virtual void bodyProgressOnMainThread(void * context);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperationCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperationCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..a5cfdd84c4323c461569252c66515458ef6e0573
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPOperationCallback.h
@@ -0,0 +1,30 @@
+//
+//  MCSMTPOperationCallback.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/11/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSMTPOPERATIONCALLBACK_H
+
+#define MAILCORE_MCSMTPOPERATIONCALLBACK_H
+
+#include <MailCore/MCUtils.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class SMTPOperation;
+    
+    class MAILCORE_EXPORT SMTPOperationCallback {
+    public:
+        virtual void bodyProgress(SMTPOperation * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPProgressCallback.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPProgressCallback.h
new file mode 100644
index 0000000000000000000000000000000000000000..7cc524a26a5eae14c116c4231b4cfc42fb271ddf
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPProgressCallback.h
@@ -0,0 +1,22 @@
+#ifndef MAILCORE_MCSMTPPROGRESSCALLBACK_H
+
+#define MAILCORE_MCSMTPPROGRESSCALLBACK_H
+
+#ifdef __cplusplus
+
+#include <MailCore/MCUtils.h>
+
+namespace mailcore {
+    
+    class SMTPSession;
+    
+    class MAILCORE_EXPORT SMTPProgressCallback {
+    public:
+        virtual void bodyProgress(SMTPSession * session, unsigned int current, unsigned int maximum) {};
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPSession.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPSession.h
new file mode 100644
index 0000000000000000000000000000000000000000..05571bfb15d2e14a319290481e863143cd12891c
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSMTPSession.h
@@ -0,0 +1,111 @@
+#ifndef MAILCORE_MCSMTPSESSION_H
+
+#define MAILCORE_MCSMTPSESSION_H
+
+#include <MailCore/MCBaseTypes.h>
+#include <MailCore/MCMessageConstants.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Address;
+    class SMTPProgressCallback;
+    class MessageBuilder;
+    
+    class MAILCORE_EXPORT SMTPSession : public Object {
+    public:
+        SMTPSession();
+        virtual ~SMTPSession();
+        
+        virtual void setHostname(String * hostname);
+        virtual String * hostname();
+        
+        virtual void setPort(unsigned int port);
+        virtual unsigned int port();
+        
+        virtual void setUsername(String * username);
+        virtual String * username();
+        
+        virtual void setPassword(String * password);
+        virtual String * password();
+        
+        // To authenticate using OAuth2, username and oauth2token should be set.
+        // auth type to use is AuthTypeOAuth2.
+        virtual void setOAuth2Token(String * token);
+        virtual String * OAuth2Token();
+        
+        virtual void setAuthType(AuthType authType);
+        virtual AuthType authType();
+        
+        virtual void setConnectionType(ConnectionType connectionType);
+        virtual ConnectionType connectionType();
+        
+        virtual void setTimeout(time_t timeout);
+        virtual time_t timeout();
+        
+        virtual void setCheckCertificateEnabled(bool enabled);
+        virtual bool isCheckCertificateEnabled();
+        
+        virtual void setUseHeloIPEnabled(bool enabled);
+        virtual bool useHeloIPEnabled();
+        
+        virtual void connect(ErrorCode * pError);
+        virtual void disconnect();
+        
+        virtual void login(ErrorCode * pError);
+        
+        virtual void checkAccount(Address * from, ErrorCode * pError);
+        
+        virtual void sendMessage(Data * messageData, SMTPProgressCallback * callback, ErrorCode * pError);
+        virtual void sendMessage(Address * from, Array * /* Address */ recipients, Data * messageData,
+                                 SMTPProgressCallback * callback, ErrorCode * pError);
+        
+        virtual void setConnectionLogger(ConnectionLogger * logger);
+        virtual ConnectionLogger * connectionLogger();
+        
+        virtual void noop(ErrorCode * pError);
+        
+    private:
+        String * mHostname;
+        unsigned int mPort;
+        String * mUsername;
+        String * mPassword;
+        String * mOAuth2Token;
+        AuthType mAuthType;
+        ConnectionType mConnectionType;
+        time_t mTimeout;
+        bool mCheckCertificateEnabled;
+        bool mUseHeloIPEnabled;
+        bool mShouldDisconnect;
+        
+        mailsmtp * mSmtp;
+        SMTPProgressCallback * mProgressCallback;
+        int mState;
+        String * mLastSMTPResponse;
+        int mLastLibetpanError;
+        int mLastSMTPResponseCode;
+        
+        ConnectionLogger * mConnectionLogger;
+        
+        void init();
+        Data * dataWithFilteredBcc(Data * data);
+        static void body_progress(size_t current, size_t maximum, void * context);
+        void bodyProgress(unsigned int current, unsigned int maximum);
+        void setup();
+        void unsetup();
+        void connectIfNeeded(ErrorCode * pError);
+        bool checkCertificate();
+        
+        void sendMessage(MessageBuilder * msg, SMTPProgressCallback * callback, ErrorCode * pError);
+        
+    public: // private
+        virtual bool isDisconnected();
+        virtual void loginIfNeeded(ErrorCode * pError);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSet.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSet.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b477cc1142f39e39907219abeb0a407536407b9
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSet.h
@@ -0,0 +1,49 @@
+#ifndef MAILCORE_CSET_H
+
+#define MAILCORE_CSET_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    class Array;
+    class HashMap;
+    
+    class MAILCORE_EXPORT Set : public Object {
+    public:
+        Set();
+        Set(Set * o);
+        
+        static Set * set();
+        static Set * setWithArray(Array * objects);
+        
+        virtual unsigned int count();
+        virtual void addObject(Object * obj);
+        virtual void removeObject(Object * obj);
+        virtual bool containsObject(Object * obj);
+        virtual Object * member(Object * obj);
+        
+        virtual Array * allObjects();
+        virtual void removeAllObjects();
+        virtual void addObjectsFromArray(Array * objects);
+        
+    public: // subclass behavior
+        virtual ~Set();
+        virtual String * description();
+        virtual Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        HashMap * mHash;
+        void init();
+    };
+
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSizeFormatter.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSizeFormatter.h
new file mode 100644
index 0000000000000000000000000000000000000000..cfc8090fd29a859c962ee31ce30df678c6f8f368
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCSizeFormatter.h
@@ -0,0 +1,30 @@
+//
+//  MCSizeFormatter.h
+//  testUI
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MCSIZEFORMATTER_H
+
+#define MAILCORE_MCSIZEFORMATTER_H
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    class MAILCORE_EXPORT SizeFormatter : public Object {
+    public:
+        static String * stringWithSize(unsigned int size);
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCString.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCString.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ee2ad65150921940f5821ec3845ea06e0ed76cb
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCString.h
@@ -0,0 +1,152 @@
+#ifndef MAILCORE_MCSTR_H
+
+#define MAILCORE_MCSTR_H
+
+#include <MailCore/MCObject.h>
+#include <MailCore/MCRange.h>
+#include <MailCore/MCICUTypes.h>
+
+#include <stdlib.h>
+#include <stdarg.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class Data;
+    class Array;
+    
+    class MAILCORE_EXPORT String : public Object {
+    public:
+        String(const UChar * unicodeChars = NULL);
+        String(const UChar * unicodeChars, unsigned int length);
+        String(const char * UTF8Characters);
+        String(Data * data, const char * charset);
+        String(const char * bytes, unsigned int length, const char * charset = NULL);
+        virtual ~String();
+        
+        static String * string();
+        static String * stringWithUTF8Format(const char * format, ...);
+        static String * stringWithVUTF8Format(const char * format, va_list ap);
+        static String * stringWithUTF8Characters(const char * UTF8Characters);
+        static String * stringWithCharacters(const UChar * characters);
+        static String * stringWithCharacters(const UChar * characters, unsigned int length);
+        static String * stringWithData(Data * data, const char * charset = NULL);
+        
+        virtual const UChar * unicodeCharacters();
+        virtual const char * UTF8Characters();
+        virtual unsigned int length();
+        
+        virtual void appendString(String * otherString);
+        virtual void appendUTF8Format(const char * format, ...);
+        virtual void appendCharacters(const UChar * unicodeCharacters);
+        virtual void appendCharactersLength(const UChar * unicodeCharacters, unsigned int length);
+        virtual void appendUTF8Characters(const char * UTF8Characters);
+        virtual void setString(String * otherString);
+        virtual void setUTF8Characters(const char * UTF8Characters);
+        virtual void setCharacters(const UChar * unicodeCharacters);
+        
+        virtual String * stringByAppendingString(String * otherString);
+        virtual String * stringByAppendingUTF8Format(const char * format, ...);
+        virtual String * stringByAppendingUTF8Characters(const char * UTF8Characters);
+        virtual String * stringByAppendingCharacters(const UChar * unicodeCharacters);
+        virtual String * stringByAppendingPathComponent(String * component);
+        virtual String * stringByDeletingLastPathComponent();
+        virtual String * stringByDeletingPathExtension();
+
+        virtual int compare(String * otherString);
+        virtual int caseInsensitiveCompare(String * otherString);
+        virtual String * lowercaseString();
+        virtual String * uppercaseString();
+        
+        virtual UChar characterAtIndex(unsigned int idx);
+        virtual void deleteCharactersInRange(Range range);
+        virtual unsigned int replaceOccurrencesOfString(String * occurrence, String * replacement);
+        virtual int locationOfString(String * occurrence);
+        virtual int lastLocationOfString(String * occurrence);
+
+        virtual Array * componentsSeparatedByString(String * separator);
+        
+        virtual bool isEqualCaseInsensitive(String * otherString);
+        
+        // Additions
+        static String * stringByDecodingMIMEHeaderValue(const char * phrase);
+        virtual Data * encodedAddressDisplayNameValue();
+        virtual Data * encodedMIMEHeaderValue();
+        virtual Data * encodedMIMEHeaderValueForSubject();
+        virtual String * extractedSubject();
+        virtual String * extractedSubjectAndKeepBracket(bool keepBracket);
+        static String * uuidString();
+        
+        virtual bool hasSuffix(String * suffix);
+        virtual bool hasPrefix(String * prefix);
+        
+        virtual String * substringFromIndex(unsigned int idx);
+        virtual String * substringToIndex(unsigned int idx);
+        virtual String * substringWithRange(Range range);
+        
+        virtual String * flattenHTML();
+        virtual String * flattenHTMLAndShowBlockquote(bool showBlockquote);
+        virtual String * flattenHTMLAndShowBlockquoteAndLink(bool showBlockquote, bool showLink);
+        
+        virtual String * stripWhitespace();
+        
+        virtual String * lastPathComponent();
+        virtual String * pathExtension();
+        virtual Data * dataUsingEncoding(const char * charset = NULL);
+        
+        virtual const char * fileSystemRepresentation();
+        static String * stringWithFileSystemRepresentation(const char * filename);
+        
+        int intValue();
+        unsigned int unsignedIntValue();
+        long longValue();
+        unsigned long unsignedLongValue();
+        long long longLongValue();
+        unsigned long long unsignedLongLongValue();
+        double doubleValue();
+        
+        virtual Data * mUTF7EncodedData();
+        static String * stringWithMUTF7Data(Data * data);
+        virtual String * mUTF7EncodedString();
+        virtual String * mUTF7DecodedString();
+        
+        virtual String * htmlEncodedString();
+        virtual String * cleanedHTMLString();
+        virtual String * htmlMessageContent();
+        
+        virtual Data * decodedBase64Data();
+        
+        virtual String * urlDecodedString();
+        virtual String * urlEncodedString();
+
+    public: // private
+        static String * uniquedStringWithUTF8Characters(const char * UTF8Characters);
+        
+    public: // subclass behavior
+        String(String * otherString);
+        virtual String * description();
+        virtual Object * copy();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    private:
+        UChar * mUnicodeChars;
+        unsigned int mLength;
+        unsigned int mAllocated;
+        void allocate(unsigned int length, bool force = false);
+        void reset();
+        int compareWithCaseSensitive(String * otherString, bool caseSensitive);
+        void appendBytes(const char * bytes, unsigned int length, const char * charset);
+        void appendUTF8CharactersLength(const char * UTF8Characters, unsigned int length);
+    };
+    
+    MAILCORE_EXPORT
+    void setICUDataDirectory(String * directory);
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCUtils.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCUtils.h
new file mode 100644
index 0000000000000000000000000000000000000000..ef8f3cd3791c6a2b52084f796c574b066e59dff0
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCUtils.h
@@ -0,0 +1,86 @@
+#ifndef MAILCORE_MCUTILS_H
+
+#define MAILCORE_MCUTILS_H
+
+#ifdef __cplusplus
+
+#define MC_SAFE_RETAIN(o) ((o) != NULL ? (o)->retain() : NULL)
+#define MC_SAFE_COPY(o) ((o) != NULL ? (o)->copy() : NULL)
+
+#define MC_SAFE_RELEASE(o) \
+    do { \
+        if ((o) != NULL) { \
+            (o)->release(); \
+            (o) = NULL; \
+        } \
+    } while (0)
+
+#define MC_SAFE_REPLACE_RETAIN(type, mField, value) \
+    do { \
+        MC_SAFE_RELEASE(mField); \
+        mField = (type *) MC_SAFE_RETAIN(value); \
+    } while (0)
+
+#define MC_SAFE_REPLACE_COPY(type, mField, value) \
+    do { \
+        MC_SAFE_RELEASE(mField); \
+        mField = (type *) MC_SAFE_COPY(value); \
+    } while (0)
+
+#define MCSTR(str) mailcore::String::uniquedStringWithUTF8Characters("" str "")
+
+#define MCUTF8(str) MCUTF8DESC(str)
+#define MCUTF8DESC(obj) ((obj) != NULL ? (obj)->description()->UTF8Characters() : NULL )
+
+#define MCLOCALIZEDSTRING(key) key
+
+#define MCISKINDOFCLASS(instance, class) (dynamic_cast<class *>(instance) != NULL)
+
+#endif
+
+#ifdef _MSC_VER
+#	ifdef MAILCORE_DLL
+#		define MAILCORE_EXPORT __declspec(dllexport)
+#	else
+#		define MAILCORE_EXPORT __declspec(dllimport)
+#   endif
+#else
+#	define MAILCORE_EXPORT
+#endif
+
+#ifdef __ANDROID_API__
+#if __ANDROID_API__ < 21
+#include <wchar.h>
+extern int               iswblank(wint_t);
+extern int vfwscanf(FILE*, const wchar_t*, va_list);
+extern int vswscanf(const wchar_t*, const wchar_t*, va_list);
+extern int vwscanf(const wchar_t*, va_list);
+extern float wcstof(const wchar_t*, wchar_t**);
+extern long double wcstold(const wchar_t*, wchar_t**);
+extern long long wcstoll(const wchar_t*, wchar_t**, int);
+extern unsigned long long wcstoull(const wchar_t*, wchar_t**, int);
+#endif
+#endif
+
+#ifdef __clang__
+
+#if __has_feature(attribute_analyzer_noreturn)
+#define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
+#else
+#define CLANG_ANALYZER_NORETURN
+#endif
+
+#define ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull))
+
+#else
+
+#define CLANG_ANALYZER_NORETURN
+#define ATTRIBUTE_RETURNS_NONNULL
+
+#endif
+
+#ifndef DEPRECATED_ATTRIBUTE
+#define DEPRECATED_ATTRIBUTE        __attribute__((deprecated))
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCValue.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCValue.h
new file mode 100644
index 0000000000000000000000000000000000000000..835cf6b6a45a6245eb41dfd1a3b60e198fe0721f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MCValue.h
@@ -0,0 +1,113 @@
+#ifndef MAILCORE_MCVALUE_H
+
+#define MAILCORE_MCVALUE_H
+
+#include <MailCore/MCObject.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+    
+    class String;
+    
+    enum {
+        ValueTypeNone,
+        ValueTypeBool,
+        ValueTypeChar,
+        ValueTypeUnsignedChar,
+        ValueTypeShort,
+        ValueTypeUnsignedShort,
+        ValueTypeInt,
+        ValueTypeUnsignedInt,
+        ValueTypeLong,
+        ValueTypeUnsignedLong,
+        ValueTypeLongLong,
+        ValueTypeUnsignedLongLong,
+        ValueTypeFloat,
+        ValueTypeDouble,
+        ValueTypePointer,
+        ValueTypeData,
+    };
+    
+    class MAILCORE_EXPORT Value : public Object {
+    public:
+        virtual ~Value();
+        
+        static Value * valueWithBoolValue(bool value);
+        static Value * valueWithCharValue(char value);
+        static Value * valueWithUnsignedCharValue(unsigned char value);
+        static Value * valueWithShortValue(short value);
+        static Value * valueWithUnsignedShortValue(unsigned short value);
+        static Value * valueWithIntValue(int value);
+        static Value * valueWithUnsignedIntValue(unsigned int value);
+        static Value * valueWithLongValue(long value);
+        static Value * valueWithUnsignedLongValue(unsigned long value);
+        static Value * valueWithLongLongValue(long long value);
+        static Value * valueWithUnsignedLongLongValue(unsigned long long value);
+        static Value * valueWithFloatValue(float value);
+        static Value * valueWithDoubleValue(double value);
+        static Value * valueWithPointerValue(void * value);
+        static Value * valueWithData(const char * value, int length);
+        
+        virtual bool boolValue();
+        virtual char charValue();
+        virtual unsigned char unsignedCharValue();
+        virtual short shortValue();
+        virtual unsigned short unsignedShortValue();
+        virtual int intValue();
+        virtual unsigned int unsignedIntValue();
+        virtual long longValue();
+        virtual unsigned long unsignedLongValue();
+        virtual long long longLongValue();
+        virtual unsigned long long unsignedLongLongValue();
+        virtual float floatValue();
+        virtual double doubleValue();
+        virtual void * pointerValue();
+        virtual void dataValue(const char ** p_value, int * p_length);
+        
+    public: // subclass behavior
+        Value(Value * other);
+        virtual String * description();
+        virtual bool isEqual(Object * otherObject);
+        virtual unsigned int hash();
+        Object * copy();
+        virtual HashMap * serializable();
+        virtual void importSerializable(HashMap * serializable);
+        
+    public: // private
+        static void * createObject();
+        
+    private:
+        int mType;
+        union {
+            bool boolValue;
+            char charValue;
+            unsigned char unsignedCharValue;
+            short shortValue;
+            unsigned short unsignedShortValue;
+            int intValue;
+            unsigned int unsignedIntValue;
+            long longValue;
+            unsigned long unsignedLongValue;
+            long long longLongValue;
+            unsigned long long unsignedLongLongValue;
+            float floatValue;
+            double doubleValue;
+            void * pointerValue;
+            struct {
+                char * data;
+                int length;
+            } dataValue;
+        } mValue;
+        Value();
+        
+    public: // private
+        virtual int type();
+        
+    };
+    
+}
+
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MailCore.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MailCore.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b0897f0148145818d001d6d1167082435e02467
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/MailCore.h
@@ -0,0 +1,17 @@
+//
+//  mailcore.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_MAILCORE_H
+
+#define MAILCORE_MAILCORE_H
+
+#include <MailCore/MCCore.h>
+#include <MailCore/MCAsync.h>
+#include <MailCore/MCObjC.h>
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSArray+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSArray+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd0cc6ad2d87b488b1f09d73c7497ef8a93bb45f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSArray+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSArray+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSARRAY_MCO_H
+
+#define MAILCORE_NSARRAY_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Array;
+}
+#endif
+
+@interface NSArray (MCO)
+
+#ifdef __cplusplus
++ (NSArray *) mco_arrayWithMCArray:(mailcore::Array *)array;
+
+- (mailcore::Array *) mco_mcArray;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSData+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSData+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..ddb09595d48242bcce8e5be562b118fbd895d158
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSData+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSData+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSDATA_MCO_H
+
+#define MAILCORE_NSDATA_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Data;
+}
+#endif
+
+@interface NSData (MCO)
+
+#ifdef __cplusplus
++ (NSData *) mco_dataWithMCData:(mailcore::Data *)cppData;
+
+- (mailcore::Data *) mco_mcData;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSDictionary+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSDictionary+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..e91fd21b4e5bb6ab3201c6668c0e509234b633ea
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSDictionary+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSDictionary+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSDICTIONARY_MCO_H
+
+#define MAILCORE_NSDICTIONARY_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class HashMap;
+}
+#endif
+
+@interface NSDictionary (MCO)
+
+#ifdef __cplusplus
++ (NSDictionary *) mco_dictionaryWithMCHashMap:(mailcore::HashMap *)hashmap;
+
+- (mailcore::HashMap *) mco_mcHashMap;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSError+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSError+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..027796ea821a1b6a135fa2e674efacb8da92b104
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSError+MCO.h
@@ -0,0 +1,19 @@
+//
+//  Created by mronge on 1/31/13.
+//
+
+#ifndef MAILCORE_NSERROR_MCO_H
+
+#define MAILCORE_NSERROR_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#import <MailCore/MCMessageConstants.h>
+
+@interface NSError (MCO)
+#ifdef __cplusplus
++ (NSError *) mco_errorWithErrorCode:(mailcore::ErrorCode)code;
+#endif
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSIndexSet+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSIndexSet+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..66aa5229c3013b12eb1822138aacbf7c30b03595
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSIndexSet+MCO.h
@@ -0,0 +1,18 @@
+//
+//  NSIndexSet+MCO.h
+//  mailcore2
+//
+//  Created by Hoa V. DINH on 9/10/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class MCOIndexSet;
+
+@interface NSIndexSet (MCO)
+
+/** Returns a MCOIndexSet from an NSIndexSet */
+- (MCOIndexSet *) mcoIndexSet;
+
+@end
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSObject+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSObject+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..923cc2632c61abb5b56966a4431311937fc9f7df
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSObject+MCO.h
@@ -0,0 +1,109 @@
+//
+//  NSObject+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/29/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSOBJECT_MCO_H
+
+#define MAILCORE_NSOBJECT_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+#include <typeinfo>
+#endif
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Object;
+}
+#endif
+
+#define MCO_NATIVE_INSTANCE ((nativeType *) [self mco_mcObject])
+
+#define MCO_TO_OBJC(mcValue) \
+    [NSObject mco_objectWithMCObject:((mailcore::Object *) (mcValue))]
+
+#define MCO_FROM_OBJC(type, objcValue) \
+    ((type *) [(objcValue) mco_mcObject])
+
+#define MCO_OBJC_BRIDGE_SET(setter, mcValueType, objcValue) \
+    MCO_NATIVE_INSTANCE->setter((mcValueType *) [(objcValue) mco_mcObject])
+
+#define MCO_OBJC_BRIDGE_GET(getter) \
+    [NSObject mco_objectWithMCObject:MCO_NATIVE_INSTANCE->getter()]
+
+#define MCO_OBJC_SYNTHESIZE_TYPE(objcType, mcType, setter, getter) \
+- (objcType *) getter \
+{ \
+return MCO_OBJC_BRIDGE_GET(getter); \
+} \
+\
+- (void) setter:(objcType *)getter \
+{ \
+MCO_OBJC_BRIDGE_SET(setter, mcType, getter); \
+}
+
+#define MCO_OBJC_SYNTHESIZE(type, setter, getter) \
+    MCO_OBJC_SYNTHESIZE_TYPE(MCO ## type, mailcore::type, setter, getter)
+
+#define MCO_OBJC_SYNTHESIZE_SCALAR(objcType, mcType, setter, getter) \
+- (objcType) getter \
+{ \
+return (objcType) MCO_NATIVE_INSTANCE->getter(); \
+} \
+\
+- (void) setter:(objcType)getter \
+{ \
+MCO_NATIVE_INSTANCE->setter((mcType) getter); \
+}
+
+#define MCO_OBJC_SYNTHESIZE_STRING(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSString, mailcore::String, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_ARRAY(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSArray, mailcore::Array, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_DATA(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSData, mailcore::Data, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_HASHMAP(setter, getter) MCO_OBJC_SYNTHESIZE_TYPE(NSDictionary, mailcore::HashMap, setter, getter)
+#define MCO_OBJC_SYNTHESIZE_BOOL(setter, getter) MCO_OBJC_SYNTHESIZE_SCALAR(BOOL, bool, setter, getter)
+
+#define MCO_OBJC_SYNTHESIZE_DATE(setter, getter) \
+- (NSDate *) getter \
+{ \
+    return [NSDate dateWithTimeIntervalSince1970:MCO_NATIVE_INSTANCE->getter()]; \
+} \
+\
+- (void) setter:(NSDate *)getter \
+{ \
+    MCO_NATIVE_INSTANCE->setter([getter timeIntervalSince1970]); \
+}
+
+#define MCO_SYNTHESIZE_NSCODING \
+- (id) initWithCoder:(NSCoder *)coder \
+{ \
+  mailcore::HashMap * serializable = MCO_FROM_OBJC(mailcore::HashMap, [coder decodeObjectForKey:@"info"]); \
+  self = MCO_TO_OBJC(mailcore::Object::objectWithSerializable(serializable)); \
+  [self retain]; \
+  return self; \
+} \
+\
+- (void) encodeWithCoder:(NSCoder *)coder \
+{ \
+    [coder encodeObject:MCO_TO_OBJC(MCO_FROM_OBJC(nativeType, self)->serializable()) forKey:@"info"]; \
+}
+
+@interface NSObject (MCO)
+
+#ifdef __cplusplus
++ (id) mco_objectWithMCObject:(mailcore::Object *)object;
+
+- (mailcore::Object *) mco_mcObject;
+#endif
+
+@end
+
+#ifdef __cplusplus
+extern void MCORegisterClass(Class aClass, const std::type_info * info);
+#endif
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSString+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSString+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..71e99a440b631046f036b4ce1f80513a522a832f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSString+MCO.h
@@ -0,0 +1,41 @@
+//
+//  NSString+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 1/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSSTRING_MCO_H
+
+#define MAILCORE_NSSTRING_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class String;
+    class Object;
+}
+#endif
+
+@interface NSString (MCO)
+
+#ifdef __cplusplus
++ (NSString *) mco_stringWithMCString:(mailcore::String *)cppString;
++ (NSString *) mco_stringWithMCObject:(mailcore::Object *)object;
+
+- (mailcore::String *) mco_mcString;
+#endif
+
+- (NSString *) mco_flattenHTML;
+- (NSString *) mco_flattenHTMLAndShowBlockquote:(BOOL)showBlockquote;
+- (NSString *) mco_flattenHTMLAndShowBlockquote:(BOOL)showBlockquote showLink:(BOOL)showLink;
+
+- (NSString *) mco_htmlEncodedString;
+- (NSString *) mco_cleanedHTMLString;
+- (NSString *) mco_strippedWhitespace;
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSValue+MCO.h b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSValue+MCO.h
new file mode 100644
index 0000000000000000000000000000000000000000..007662b7b11f572cf460c9494f156dd664419881
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Headers/NSValue+MCO.h
@@ -0,0 +1,31 @@
+//
+//  NSValue+MCO.h
+//  mailcore2
+//
+//  Created by DINH Viêt Hoà on 3/21/13.
+//  Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef MAILCORE_NSVALUE_MCO_H
+
+#define MAILCORE_NSVALUE_MCO_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+namespace mailcore {
+    class Value;
+}
+#endif
+
+@interface NSValue (MCO)
+
+#ifdef __cplusplus
++ (NSValue *) mco_valueWithMCValue:(mailcore::Value *)value;
+
+- (mailcore::Value *) mco_mcValue;
+#endif
+
+@end
+
+#endif
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Info.plist b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..1252b70812fb1540fa7709166dab67eaf7bbaf9e
Binary files /dev/null and b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Info.plist differ
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/MailCore b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/MailCore
new file mode 100755
index 0000000000000000000000000000000000000000..47189f8e55773b224b106f8f074fbcfd145fe7b1
Binary files /dev/null and b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/MailCore differ
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Modules/module.modulemap b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Modules/module.modulemap
new file mode 100644
index 0000000000000000000000000000000000000000..37014f53dd90af3b9b6611f8330440a9ab139e0f
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module MailCore {
+  umbrella header "MailCore.h"
+
+  export *
+  module * { export * }
+}
\ No newline at end of file
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/_CodeSignature/CodeResources b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000000000000000000000000000000000000..84ad717937c5f65dd3069c66483970f040a2469b
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/_CodeSignature/CodeResources
@@ -0,0 +1,2505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Headers/MCAbstract.h</key>
+		<data>
+		701dlU8YygBYpfASJEVBy/htYAY=
+		</data>
+		<key>Headers/MCAbstractMessage.h</key>
+		<data>
+		eujN1pKQGbvIcNORUvN+2Mot/Hw=
+		</data>
+		<key>Headers/MCAbstractMessagePart.h</key>
+		<data>
+		JUGeaDs2PnvPu+L5GcPVeqGgqQc=
+		</data>
+		<key>Headers/MCAbstractMultipart.h</key>
+		<data>
+		j3xbQgj1ERQ1141DNvqUUVfTQ1k=
+		</data>
+		<key>Headers/MCAbstractPart.h</key>
+		<data>
+		OeWFo8lJtPFF/ml+aBln4qvQkK4=
+		</data>
+		<key>Headers/MCAccountValidator.h</key>
+		<data>
+		8ys5+yAKVLCmNsF7oGSTsD0u58s=
+		</data>
+		<key>Headers/MCAddress.h</key>
+		<data>
+		ycCBrToNGEiNwBn7mvhF2d4is90=
+		</data>
+		<key>Headers/MCAddressDisplay.h</key>
+		<data>
+		pa4jw6pjG7wpVsuUwmC2b2AWnnE=
+		</data>
+		<key>Headers/MCArray.h</key>
+		<data>
+		rb0fBkLa2QuuxytDjkJNeh03ngQ=
+		</data>
+		<key>Headers/MCAssert.h</key>
+		<data>
+		jIy3/Rtze7Owvw2bm/9DJgTVTcI=
+		</data>
+		<key>Headers/MCAsync.h</key>
+		<data>
+		lzE4UCoRwxBdwq6YUMRCW6ISoNc=
+		</data>
+		<key>Headers/MCAsyncIMAP.h</key>
+		<data>
+		JwuUM0Tq8iPzzcHAEQg2GAu/hZs=
+		</data>
+		<key>Headers/MCAsyncNNTP.h</key>
+		<data>
+		Zk+jrbGC0ozvZPDU+Ixveh3i3jc=
+		</data>
+		<key>Headers/MCAsyncPOP.h</key>
+		<data>
+		kz8dRQKAGUA18U+oh/lEBC0TvAM=
+		</data>
+		<key>Headers/MCAsyncSMTP.h</key>
+		<data>
+		82a+1hrrDvp98buJnvZHIIdTeRw=
+		</data>
+		<key>Headers/MCAttachment.h</key>
+		<data>
+		7SA3xHaHj5FXbiMqCF/pWAN7I1w=
+		</data>
+		<key>Headers/MCAutoreleasePool.h</key>
+		<data>
+		YHcYnFk5oKZAHd14xZWcTRm+HZw=
+		</data>
+		<key>Headers/MCBaseTypes.h</key>
+		<data>
+		BD8MPBLiar8H4yaXI+MiiFpG8zY=
+		</data>
+		<key>Headers/MCConnectionLogger.h</key>
+		<data>
+		YbwFnfK1wsyP0medyWNxmii9HM8=
+		</data>
+		<key>Headers/MCCore.h</key>
+		<data>
+		mcHuWUUEH0KLQ2/zTvnyz7MyP/k=
+		</data>
+		<key>Headers/MCData.h</key>
+		<data>
+		8RSJRazfPrHi3nKEMnmMb4tiOU0=
+		</data>
+		<key>Headers/MCDateFormatter.h</key>
+		<data>
+		JyoIyLaUkWqtuJVEQhv0o6U34KU=
+		</data>
+		<key>Headers/MCHTMLCleaner.h</key>
+		<data>
+		mw3/R0uAfiwkzpxEnpSXQH1n3IU=
+		</data>
+		<key>Headers/MCHTMLRendererCallback.h</key>
+		<data>
+		kSnTslfH1AFwc3IRWQgsyzP4tcM=
+		</data>
+		<key>Headers/MCHash.h</key>
+		<data>
+		GpgFP/zRccOqFVLCWS4B3qWYOD4=
+		</data>
+		<key>Headers/MCHashMap.h</key>
+		<data>
+		gL2uY70ksrsUv0BT5COiHD0DwD4=
+		</data>
+		<key>Headers/MCICUTypes.h</key>
+		<data>
+		QvJB/mxTKv3ozJ4sPiz/Kp7EBBQ=
+		</data>
+		<key>Headers/MCIMAP.h</key>
+		<data>
+		evxSjRTK7kxaWDl4GBcIPESv2Hs=
+		</data>
+		<key>Headers/MCIMAPAppendMessageOperation.h</key>
+		<data>
+		yB6zlBdWWisM27lCObPDg+RAmzg=
+		</data>
+		<key>Headers/MCIMAPAsyncSession.h</key>
+		<data>
+		JAJju516xN7OXGCEIebLNEV8wJE=
+		</data>
+		<key>Headers/MCIMAPCapabilityOperation.h</key>
+		<data>
+		wbxR6HdZM2Nu0UCLC0jm6A1Z8X8=
+		</data>
+		<key>Headers/MCIMAPConnectOperation.h</key>
+		<data>
+		ymyfW+Pd17mjuaEQ8ehZDbw71tQ=
+		</data>
+		<key>Headers/MCIMAPCopyMessagesOperation.h</key>
+		<data>
+		J7lPHmFKHG+CXuGYhRD4dto3u/c=
+		</data>
+		<key>Headers/MCIMAPCustomCommandOperation.h</key>
+		<data>
+		cFyrUVf8Hw1tpBzoCdTgma0CbIg=
+		</data>
+		<key>Headers/MCIMAPFetchContentOperation.h</key>
+		<data>
+		HNCx1Ei2aGVJzl09K9cZdeB2oa4=
+		</data>
+		<key>Headers/MCIMAPFetchFoldersOperation.h</key>
+		<data>
+		D2PATp/MKvSFaUcw8zJWz2X5VKw=
+		</data>
+		<key>Headers/MCIMAPFetchMessagesOperation.h</key>
+		<data>
+		sT+it383tSCSiJWsm0ggoKRYCik=
+		</data>
+		<key>Headers/MCIMAPFetchNamespaceOperation.h</key>
+		<data>
+		a0gVsf95wUCd8wO8/IuULAJVmS8=
+		</data>
+		<key>Headers/MCIMAPFetchParsedContentOperation.h</key>
+		<data>
+		TiVqaGWtzRYIOh4Ri9xNPKjGlno=
+		</data>
+		<key>Headers/MCIMAPFolder.h</key>
+		<data>
+		YOZ0iQJ08O9j8pUAwFncFwLGz5E=
+		</data>
+		<key>Headers/MCIMAPFolderInfo.h</key>
+		<data>
+		3TBUvvwEm/HMTBZJe6A1AygTO4w=
+		</data>
+		<key>Headers/MCIMAPFolderInfoOperation.h</key>
+		<data>
+		/KbRn3NHQEU6PLiHUlPPhdxcfWk=
+		</data>
+		<key>Headers/MCIMAPFolderStatus.h</key>
+		<data>
+		XqWDojLB8NQ5V6gUUxLQPCpLbRo=
+		</data>
+		<key>Headers/MCIMAPFolderStatusOperation.h</key>
+		<data>
+		fouMlsOkgC7ei94F6uEQ3itYZK8=
+		</data>
+		<key>Headers/MCIMAPIdentity.h</key>
+		<data>
+		WeMR4l9bon6puhuP5JuVJb8oKEM=
+		</data>
+		<key>Headers/MCIMAPIdentityOperation.h</key>
+		<data>
+		chp6gdDAiMaQbvqL4Klso9VdA8E=
+		</data>
+		<key>Headers/MCIMAPIdleOperation.h</key>
+		<data>
+		B77sywNH1MC74O5CloksWic6A1A=
+		</data>
+		<key>Headers/MCIMAPMessage.h</key>
+		<data>
+		lcwyoi5SGK4LAzTN9H6kaejs/qE=
+		</data>
+		<key>Headers/MCIMAPMessagePart.h</key>
+		<data>
+		E4GrYyqa7cPH6UJAGsnTn3I662g=
+		</data>
+		<key>Headers/MCIMAPMessageRenderingOperation.h</key>
+		<data>
+		IbDPMvR/fuvtD2D142KevUXI4tk=
+		</data>
+		<key>Headers/MCIMAPMultipart.h</key>
+		<data>
+		LtZHKuIaXSNTKLFZzipxLOPNWhE=
+		</data>
+		<key>Headers/MCIMAPNamespace.h</key>
+		<data>
+		r2PIxFEd8ZQWkLXn09LlGWJ19FQ=
+		</data>
+		<key>Headers/MCIMAPNamespaceItem.h</key>
+		<data>
+		d9UCPlGEWpqAOCEqwEQmCS6g+6c=
+		</data>
+		<key>Headers/MCIMAPNoopOperation.h</key>
+		<data>
+		njDRti/tbaZeWXa6g96KSevkmik=
+		</data>
+		<key>Headers/MCIMAPOperation.h</key>
+		<data>
+		0OoB6c4YvJC/xUCKBCvH3S6RKLU=
+		</data>
+		<key>Headers/MCIMAPOperationCallback.h</key>
+		<data>
+		Wc5uHcviyktOzXD+b7d6x1trmT4=
+		</data>
+		<key>Headers/MCIMAPPart.h</key>
+		<data>
+		PzB3/mddA02C+3e4rZNaGPujBJY=
+		</data>
+		<key>Headers/MCIMAPProgressCallback.h</key>
+		<data>
+		QU4cptqf6zr3QUD8f9HxxVfqOOE=
+		</data>
+		<key>Headers/MCIMAPQuotaOperation.h</key>
+		<data>
+		rW3qWkVZGTSoI8d6HcQ/zCWzi80=
+		</data>
+		<key>Headers/MCIMAPSearchExpression.h</key>
+		<data>
+		svohp1hNEhAPo+/zJqmzYnbirkc=
+		</data>
+		<key>Headers/MCIMAPSearchOperation.h</key>
+		<data>
+		QtpGsZPrIsn7wWw4VpTaZ3+ISwM=
+		</data>
+		<key>Headers/MCIMAPSession.h</key>
+		<data>
+		9PoGU9Wiu7cMkjjFNGurkEx6r+4=
+		</data>
+		<key>Headers/MCIMAPSyncResult.h</key>
+		<data>
+		60JkH4u1t1Xj4hhGslmSA9Q7D/E=
+		</data>
+		<key>Headers/MCIndexSet.h</key>
+		<data>
+		aYr58KFwaPW3Mpi4aIXT+h9rHfM=
+		</data>
+		<key>Headers/MCIterator.h</key>
+		<data>
+		KYCN191gwN8ZkBopVRyae9g8Sls=
+		</data>
+		<key>Headers/MCJSON.h</key>
+		<data>
+		CkUkQ/OhtEK92T0+x/WpyfnRX04=
+		</data>
+		<key>Headers/MCLibetpanTypes.h</key>
+		<data>
+		1Vc7py+WBX/+fxofQB5DTkfh85c=
+		</data>
+		<key>Headers/MCLog.h</key>
+		<data>
+		ijJIeXPzxEusGL/qE/chrHudHow=
+		</data>
+		<key>Headers/MCMD5.h</key>
+		<data>
+		y7AoVrbv6pR7B2sFKkZSXEfT/84=
+		</data>
+		<key>Headers/MCMXRecordResolverOperation.h</key>
+		<data>
+		SAar+RoRYN1JmLpBYxpsx3/wKrU=
+		</data>
+		<key>Headers/MCMailProvider.h</key>
+		<data>
+		p+9Ox59knuHvtdbgIguKvK1qZro=
+		</data>
+		<key>Headers/MCMailProvidersManager.h</key>
+		<data>
+		ytuOnn705I4zEQSEwJu17Oqgg5M=
+		</data>
+		<key>Headers/MCMainThread.h</key>
+		<data>
+		P+1GdUZe3gf48drCmH1nOzT56dg=
+		</data>
+		<key>Headers/MCMessageBuilder.h</key>
+		<data>
+		NuKDSkvZNv5YH8f3siGiFeRe2WA=
+		</data>
+		<key>Headers/MCMessageConstants.h</key>
+		<data>
+		gVr0JIHKZu52UVJKQnS9iErWoi4=
+		</data>
+		<key>Headers/MCMessageHeader.h</key>
+		<data>
+		LLkxg38F6ybg7F0hzX22M0lCPTA=
+		</data>
+		<key>Headers/MCMessageParser.h</key>
+		<data>
+		6hg6hscSqBNMys52GPprEaA5IOw=
+		</data>
+		<key>Headers/MCMessagePart.h</key>
+		<data>
+		IABN45neH/RF27d9Efr2aNU1KAM=
+		</data>
+		<key>Headers/MCMultipart.h</key>
+		<data>
+		ESwUVb5OgBgNlq8wppn8CJMS+Bg=
+		</data>
+		<key>Headers/MCNNTP.h</key>
+		<data>
+		afRA7GF1etD/s2AiTTM/mhDy7FA=
+		</data>
+		<key>Headers/MCNNTPAsyncSession.h</key>
+		<data>
+		xg2kIt+sa2ZT774MM2ZpXvFEaAc=
+		</data>
+		<key>Headers/MCNNTPCheckAccountOperation.h</key>
+		<data>
+		pgXiM3z7KDMDIw6iLjmVviPdHI4=
+		</data>
+		<key>Headers/MCNNTPFetchAllArticlesOperation.h</key>
+		<data>
+		VJIvhpZJEoqRGxeRQzM8VArlo60=
+		</data>
+		<key>Headers/MCNNTPFetchArticleOperation.h</key>
+		<data>
+		9Mtcaa0E6jbQweDp/Fc5hjZx/1Y=
+		</data>
+		<key>Headers/MCNNTPFetchHeaderOperation.h</key>
+		<data>
+		AHGw7eu5JKtltbHfUyqzJhSwus0=
+		</data>
+		<key>Headers/MCNNTPFetchOverviewOperation.h</key>
+		<data>
+		eWYc50rexwQNSsvRSLbOJ5tBOGQ=
+		</data>
+		<key>Headers/MCNNTPFetchServerTimeOperation.h</key>
+		<data>
+		VZ4evN2+nR/nOBco3gX6kr5q3iA=
+		</data>
+		<key>Headers/MCNNTPGroupInfo.h</key>
+		<data>
+		V4aSG8qit6LwQiVVioLhNgJSKSs=
+		</data>
+		<key>Headers/MCNNTPListNewsgroupsOperation.h</key>
+		<data>
+		KA29+8kkgF45rIdL6LIJnKh0KdE=
+		</data>
+		<key>Headers/MCNNTPOperation.h</key>
+		<data>
+		lhtH6wIy8iZ+T2lSYBfPoYV/Qi8=
+		</data>
+		<key>Headers/MCNNTPOperationCallback.h</key>
+		<data>
+		80eOeqITNdMBPCvXutrsRBbtzoE=
+		</data>
+		<key>Headers/MCNNTPProgressCallback.h</key>
+		<data>
+		yI5Hp5tNuHWsdHeTvbL4wtLQLXc=
+		</data>
+		<key>Headers/MCNNTPSession.h</key>
+		<data>
+		ZkVy5QhR/iQQLZIv3gtkkHodarA=
+		</data>
+		<key>Headers/MCNetService.h</key>
+		<data>
+		oHpkGOQcEIxpDSvpRSABVkZqE6M=
+		</data>
+		<key>Headers/MCNull.h</key>
+		<data>
+		53hsiss3VXg2dHktf6NMpClsGSc=
+		</data>
+		<key>Headers/MCOAbstract.h</key>
+		<data>
+		+TJ8HnxrTA9i+5GAOkZa6aDdapw=
+		</data>
+		<key>Headers/MCOAbstractMessage.h</key>
+		<data>
+		6cUksomHnjQeCNjB2dM4h2i1wYw=
+		</data>
+		<key>Headers/MCOAbstractMessagePart.h</key>
+		<data>
+		p1kCksADjuHYGWlJzS5kBNlWn4Y=
+		</data>
+		<key>Headers/MCOAbstractMultipart.h</key>
+		<data>
+		v69cg60PIDirJmbs+ZTri13pJ80=
+		</data>
+		<key>Headers/MCOAbstractPart.h</key>
+		<data>
+		+FkiXig2fvw9+ZV969Sy9L+ZlJQ=
+		</data>
+		<key>Headers/MCOAccountValidator.h</key>
+		<data>
+		3Nt+HkxPTIBmli81LyaQ40Ivlfg=
+		</data>
+		<key>Headers/MCOAddress.h</key>
+		<data>
+		oylidtDR0iwmNp0f5Y+d/ucrce8=
+		</data>
+		<key>Headers/MCOAttachment.h</key>
+		<data>
+		EDJ5IL/nTeKz0S82oAf9aIxeloc=
+		</data>
+		<key>Headers/MCOConstants.h</key>
+		<data>
+		5iXEMWdzpxKfrumhWbYMnMsYvlY=
+		</data>
+		<key>Headers/MCOHTMLRendererDelegate.h</key>
+		<data>
+		kFFhSkSDM7q0HtRABVk4GCqTO/w=
+		</data>
+		<key>Headers/MCOHTMLRendererIMAPDelegate.h</key>
+		<data>
+		9jRkUxQjlC/mNu90acA6ibIWBec=
+		</data>
+		<key>Headers/MCOIMAP.h</key>
+		<data>
+		bOGyRLMJR9fQmNwe0Vd0+jGXHUU=
+		</data>
+		<key>Headers/MCOIMAPAppendMessageOperation.h</key>
+		<data>
+		B00BlrcPokOUd3bh8mhtFBiX8H4=
+		</data>
+		<key>Headers/MCOIMAPBaseOperation.h</key>
+		<data>
+		+u9grEVJ4IfSKfauPKjKgWORULI=
+		</data>
+		<key>Headers/MCOIMAPCapabilityOperation.h</key>
+		<data>
+		tZi933PSaMIy52REV3fMZXf2Vl0=
+		</data>
+		<key>Headers/MCOIMAPCopyMessagesOperation.h</key>
+		<data>
+		zJxw0RU6U7MImxQpPXb6GGhqC3k=
+		</data>
+		<key>Headers/MCOIMAPCustomCommandOperation.h</key>
+		<data>
+		8bAVyCZLJSifFzT8dFjHXhFiaLk=
+		</data>
+		<key>Headers/MCOIMAPFetchContentOperation.h</key>
+		<data>
+		u6XUkvhYHF46nodRp+BwjpxVRD4=
+		</data>
+		<key>Headers/MCOIMAPFetchFoldersOperation.h</key>
+		<data>
+		ddSmh5spLzieMQElf3jDxm7ErjE=
+		</data>
+		<key>Headers/MCOIMAPFetchMessagesOperation.h</key>
+		<data>
+		LS8pZR1EmWJo/FH0Upx7wiylG+c=
+		</data>
+		<key>Headers/MCOIMAPFetchNamespaceOperation.h</key>
+		<data>
+		yNOf2NByfZRqa2TajxiHDYRy3OY=
+		</data>
+		<key>Headers/MCOIMAPFetchParsedContentOperation.h</key>
+		<data>
+		F8qWcBbYOhx5kLY7dnrBiMac1+w=
+		</data>
+		<key>Headers/MCOIMAPFolder.h</key>
+		<data>
+		IL5Z7D9q7bm0XEQELzNkhrUbFUg=
+		</data>
+		<key>Headers/MCOIMAPFolderInfo.h</key>
+		<data>
+		ZyCCulbHZ1vPoLzlY6BHdmeOzK0=
+		</data>
+		<key>Headers/MCOIMAPFolderInfoOperation.h</key>
+		<data>
+		MG4+avnjm8ywByWcjSaI9UE6oaY=
+		</data>
+		<key>Headers/MCOIMAPFolderStatus.h</key>
+		<data>
+		YFja/PY3dDhT4jIvF8MjT8vKaCQ=
+		</data>
+		<key>Headers/MCOIMAPFolderStatusOperation.h</key>
+		<data>
+		IAg20WgtQgOjrqyINj7VQxTXgQA=
+		</data>
+		<key>Headers/MCOIMAPIdentity.h</key>
+		<data>
+		XzZCpQzTOxuG/A2RFendP2obmog=
+		</data>
+		<key>Headers/MCOIMAPIdentityOperation.h</key>
+		<data>
+		GVDq5Y1LZVDLGr9kqeTxR/KzP7M=
+		</data>
+		<key>Headers/MCOIMAPIdleOperation.h</key>
+		<data>
+		zsx+bli+8A3fTsNbezexaMduZ84=
+		</data>
+		<key>Headers/MCOIMAPMessage.h</key>
+		<data>
+		WZ++rp3TPPWlvZkmVIaO3gTWiEg=
+		</data>
+		<key>Headers/MCOIMAPMessagePart.h</key>
+		<data>
+		buR4PjmM/AkuSLQlVyVrq2g5Lh0=
+		</data>
+		<key>Headers/MCOIMAPMessageRenderingOperation.h</key>
+		<data>
+		UMphILRGiQBSg+hJu+3x2kX9Bv4=
+		</data>
+		<key>Headers/MCOIMAPMultipart.h</key>
+		<data>
+		mpif7e8os102BUsf/6I5Gpvqv6M=
+		</data>
+		<key>Headers/MCOIMAPNamespace.h</key>
+		<data>
+		+SaMMrtl6zhwwOnUopY6JBHlkd0=
+		</data>
+		<key>Headers/MCOIMAPNamespaceItem.h</key>
+		<data>
+		F1Qmt2uEM3zgEAP78gGa9HVQ7eY=
+		</data>
+		<key>Headers/MCOIMAPOperation.h</key>
+		<data>
+		IFd208OghGC8C4qafyhoQVDhEzQ=
+		</data>
+		<key>Headers/MCOIMAPPart.h</key>
+		<data>
+		fs/5C4e28tgEmEerJkR0h2ifgpU=
+		</data>
+		<key>Headers/MCOIMAPQuotaOperation.h</key>
+		<data>
+		LDGMHkuNFxVPDxLG9OzEaiQyEvo=
+		</data>
+		<key>Headers/MCOIMAPSearchExpression.h</key>
+		<data>
+		4wAa5PUZIhvRd89WFLrimTrHXM0=
+		</data>
+		<key>Headers/MCOIMAPSearchOperation.h</key>
+		<data>
+		tCpeZDSi7pw5/C9dXuijdMdl4m0=
+		</data>
+		<key>Headers/MCOIMAPSession.h</key>
+		<data>
+		qoTsouVEbQTz7wd5qx3LcFzFzcw=
+		</data>
+		<key>Headers/MCOIndexSet.h</key>
+		<data>
+		uS1EAc5ltZk5APmmES/s289hBL4=
+		</data>
+		<key>Headers/MCOMailProvider.h</key>
+		<data>
+		lCymLCOpqyF9T+6X2xuArwakprU=
+		</data>
+		<key>Headers/MCOMailProvidersManager.h</key>
+		<data>
+		T6ZtUiOVtGthatQgJqU+HQy8Tio=
+		</data>
+		<key>Headers/MCOMessageBuilder.h</key>
+		<data>
+		voN15O0GHqUQDNtwJ6KlnGcDtXY=
+		</data>
+		<key>Headers/MCOMessageHeader.h</key>
+		<data>
+		fqxIR7SDo9/Tv7WL4VqTju5uT8k=
+		</data>
+		<key>Headers/MCOMessageParser.h</key>
+		<data>
+		Ue8Dgg66+f0+KYic4T0jt2+iQqI=
+		</data>
+		<key>Headers/MCOMessagePart.h</key>
+		<data>
+		LJiu4l1KfH1+7SAWXtntTqSpx8k=
+		</data>
+		<key>Headers/MCOMultipart.h</key>
+		<data>
+		uKZlHi3zJxfRitzoMcf4EgIXo7U=
+		</data>
+		<key>Headers/MCONNTP.h</key>
+		<data>
+		7X5pc78+B7aeUBlCz8X9Er8kPOI=
+		</data>
+		<key>Headers/MCONNTPDisconnectOperation.h</key>
+		<data>
+		juTjFbas6KnfVd7rnoUZACLVyGo=
+		</data>
+		<key>Headers/MCONNTPFetchAllArticlesOperation.h</key>
+		<data>
+		C+QqclXc7tzkbKslD5B9poxO8xo=
+		</data>
+		<key>Headers/MCONNTPFetchArticleOperation.h</key>
+		<data>
+		bUOvYhDUnIGkLK8fd8KStkGMxXI=
+		</data>
+		<key>Headers/MCONNTPFetchHeaderOperation.h</key>
+		<data>
+		j1jf6a6xTSMEeowoZkAA5l+0dcs=
+		</data>
+		<key>Headers/MCONNTPFetchOverviewOperation.h</key>
+		<data>
+		K6VN2TO05buSHbWJoYj7cBZ686E=
+		</data>
+		<key>Headers/MCONNTPFetchServerTimeOperation.h</key>
+		<data>
+		o/Oph3aR6zXBlgSlhW55HHOI/qw=
+		</data>
+		<key>Headers/MCONNTPGroupInfo.h</key>
+		<data>
+		Iia2q5gjAQ1sc+GCng3VTZZ3KUg=
+		</data>
+		<key>Headers/MCONNTPListNewsgroupsOperation.h</key>
+		<data>
+		4At4T3PFCYrBY4JfVH/CZqKjP4M=
+		</data>
+		<key>Headers/MCONNTPOperation.h</key>
+		<data>
+		ZB3we878SBG0oEhHqQy72tAg7CU=
+		</data>
+		<key>Headers/MCONNTPSession.h</key>
+		<data>
+		wV0oAdDD7C52IMXC6Sg3O0A11Ww=
+		</data>
+		<key>Headers/MCONetService.h</key>
+		<data>
+		yWK1K43FmOGLptCnIXJYEGMfbg8=
+		</data>
+		<key>Headers/MCOObjectWrapper.h</key>
+		<data>
+		nCnuhlg+OsLyRBjOnyGsb40hbmw=
+		</data>
+		<key>Headers/MCOOperation.h</key>
+		<data>
+		vsuhr0Cvfu41s0DWSIIEDBrU/eQ=
+		</data>
+		<key>Headers/MCOPOP.h</key>
+		<data>
+		c2wZSI1kq5e4HgySZug9GcgaL6o=
+		</data>
+		<key>Headers/MCOPOPFetchHeaderOperation.h</key>
+		<data>
+		1Vd3YvZM9rZnKLVWA0OYXumprxs=
+		</data>
+		<key>Headers/MCOPOPFetchMessageOperation.h</key>
+		<data>
+		8guUYu2LC8GMqDh3vSL4X25qHoA=
+		</data>
+		<key>Headers/MCOPOPFetchMessagesOperation.h</key>
+		<data>
+		XFlwRtdJCuCha9b6uDHnSW5wKwY=
+		</data>
+		<key>Headers/MCOPOPMessageInfo.h</key>
+		<data>
+		Dg37s++OzwRC3/pEBdlWxALAqLw=
+		</data>
+		<key>Headers/MCOPOPNoopOperation.h</key>
+		<data>
+		TmlEkmJQspCN0CKNooza99avNJI=
+		</data>
+		<key>Headers/MCOPOPOperation.h</key>
+		<data>
+		ERckFalCgNHGFTHqfrNdGGIoxVY=
+		</data>
+		<key>Headers/MCOPOPSession.h</key>
+		<data>
+		0uPBeT8jVuUWuxWqhBs9Tu1hkKA=
+		</data>
+		<key>Headers/MCOProvider.h</key>
+		<data>
+		6pvcB2O9GZvpcEYqwCw4FWM9fgY=
+		</data>
+		<key>Headers/MCORFC822.h</key>
+		<data>
+		x6qVjHOwTvZbIRBHblYUv1i7PMg=
+		</data>
+		<key>Headers/MCORange.h</key>
+		<data>
+		//OFDbWdLYuwevSi1CIV/BEfNaE=
+		</data>
+		<key>Headers/MCOSMTP.h</key>
+		<data>
+		9JlBEK9pqbJSVEDPB4GGjATtWO4=
+		</data>
+		<key>Headers/MCOSMTPLoginOperation.h</key>
+		<data>
+		0tfn273LZXJqKovhUDeemfE5Dwc=
+		</data>
+		<key>Headers/MCOSMTPOperation.h</key>
+		<data>
+		w8K1AsNulma9IYectE0zhnhz4ss=
+		</data>
+		<key>Headers/MCOSMTPSendOperation.h</key>
+		<data>
+		/+cUPUqD4tsb450xnJ97Eg6Lwxc=
+		</data>
+		<key>Headers/MCOSMTPSession.h</key>
+		<data>
+		2+wPc8VxoHMI5aPz5fi6RfquZk4=
+		</data>
+		<key>Headers/MCOUtils.h</key>
+		<data>
+		5w4csq6Qt/D9vKUTRD9xb/r4bIM=
+		</data>
+		<key>Headers/MCObjC.h</key>
+		<data>
+		y5cmZbXgrNr9Koa4P2dxwkKPsW4=
+		</data>
+		<key>Headers/MCObject.h</key>
+		<data>
+		TPUDAWt4CHLd0bbJAurn45lRdlo=
+		</data>
+		<key>Headers/MCOperation.h</key>
+		<data>
+		dWv1vxwoWhVrxzNxPWIM9CqWHjg=
+		</data>
+		<key>Headers/MCOperationCallback.h</key>
+		<data>
+		OMp+EMvH9p2S2EfrPdXyWJdh13Q=
+		</data>
+		<key>Headers/MCOperationQueue.h</key>
+		<data>
+		FnoCONAHJ1TA1KvnsiMD+xZ59Lw=
+		</data>
+		<key>Headers/MCPOP.h</key>
+		<data>
+		swIZfPk8uCXwLHRCJyiI7OFqJ+8=
+		</data>
+		<key>Headers/MCPOPAsyncSession.h</key>
+		<data>
+		08jCNDNXqBA3KOs6ykBISzJ/ioY=
+		</data>
+		<key>Headers/MCPOPFetchHeaderOperation.h</key>
+		<data>
+		OG5qb71+0LRhlQFk5jFLIh6+RJw=
+		</data>
+		<key>Headers/MCPOPFetchMessageOperation.h</key>
+		<data>
+		hFXXpuMHAg67baG8jUDzbJHvpIY=
+		</data>
+		<key>Headers/MCPOPFetchMessagesOperation.h</key>
+		<data>
+		tbjwbUOFCqDay8Pe7AG0BR0OIjE=
+		</data>
+		<key>Headers/MCPOPMessageInfo.h</key>
+		<data>
+		ACgXDQV1EwWEe2L7kDXb2C367LA=
+		</data>
+		<key>Headers/MCPOPNoopOperation.h</key>
+		<data>
+		CtJ1FtMm8f/taAfJOPF+w31RdzE=
+		</data>
+		<key>Headers/MCPOPOperation.h</key>
+		<data>
+		09mBdeRDFPMPiOpz67w74QN5ev4=
+		</data>
+		<key>Headers/MCPOPOperationCallback.h</key>
+		<data>
+		pNYgsmmfQr7EuLpMSQvRugn4ZMQ=
+		</data>
+		<key>Headers/MCPOPProgressCallback.h</key>
+		<data>
+		UXT4btWseJK79je5ljQ009BTjeo=
+		</data>
+		<key>Headers/MCPOPSession.h</key>
+		<data>
+		SsvylEYaO4SfOrSDuQkYRfM4NOc=
+		</data>
+		<key>Headers/MCProvider.h</key>
+		<data>
+		+Y/f2lh3OnlohLAw3TQ+FiVNSBk=
+		</data>
+		<key>Headers/MCRFC822.h</key>
+		<data>
+		+8zSbQVk0Dz2gvfmoiKZEJFHTo8=
+		</data>
+		<key>Headers/MCRange.h</key>
+		<data>
+		w6fWFhI56nvwuYofykxNX/nZZKM=
+		</data>
+		<key>Headers/MCRenderer.h</key>
+		<data>
+		4upxHZFwamhWV8H7S3y5wO3C7zM=
+		</data>
+		<key>Headers/MCSMTP.h</key>
+		<data>
+		FpX3CX6VVJY+cWr1Gv0AYHr9mv8=
+		</data>
+		<key>Headers/MCSMTPAsyncSession.h</key>
+		<data>
+		fvROrYNJN2lCFQfbp86BRLHeu5Y=
+		</data>
+		<key>Headers/MCSMTPNoopOperation.h</key>
+		<data>
+		pNBHv/6DPqFHchKPoNk8GXxMh24=
+		</data>
+		<key>Headers/MCSMTPOperation.h</key>
+		<data>
+		WocelxX+HT4oAdQemaYho9Fu6JI=
+		</data>
+		<key>Headers/MCSMTPOperationCallback.h</key>
+		<data>
+		bITCDkkaa+HztIqdiryI14Pz+M8=
+		</data>
+		<key>Headers/MCSMTPProgressCallback.h</key>
+		<data>
+		hKDpezZzHYYw7RK6ngbCBsy+llQ=
+		</data>
+		<key>Headers/MCSMTPSession.h</key>
+		<data>
+		Nq26XqGzFFVfYjN/VRGRYmqnfso=
+		</data>
+		<key>Headers/MCSet.h</key>
+		<data>
+		UXOciRQOPbXon72NxNcF6+PjtRM=
+		</data>
+		<key>Headers/MCSizeFormatter.h</key>
+		<data>
+		PfLH/2rE/xYhvKtyswJhhQFU898=
+		</data>
+		<key>Headers/MCString.h</key>
+		<data>
+		8Z3+rBN9we2cJlVDqT7MzWWEcSs=
+		</data>
+		<key>Headers/MCUtils.h</key>
+		<data>
+		AGiLdpfBK334L5SDmmqnpNjgE+E=
+		</data>
+		<key>Headers/MCValue.h</key>
+		<data>
+		pg4c8ZtS3nPKHa7ppCas9tASOM0=
+		</data>
+		<key>Headers/MailCore.h</key>
+		<data>
+		1H59Ohf6h7kCG7twvFyIcWhwiGc=
+		</data>
+		<key>Headers/NSArray+MCO.h</key>
+		<data>
+		2QFFVpe1NycPYtFsCiU1HmmP3zw=
+		</data>
+		<key>Headers/NSData+MCO.h</key>
+		<data>
+		eIdAZYId+yJzTsPE0r3X93pNmT8=
+		</data>
+		<key>Headers/NSDictionary+MCO.h</key>
+		<data>
+		cUEhopEXauJ2njOW5ANuaI90U/k=
+		</data>
+		<key>Headers/NSError+MCO.h</key>
+		<data>
+		Gzy1mYevqFT+SasXyMdGg0eNS2w=
+		</data>
+		<key>Headers/NSIndexSet+MCO.h</key>
+		<data>
+		dsB3fKJDraf/Id3tZ9nJZ0kfcQw=
+		</data>
+		<key>Headers/NSObject+MCO.h</key>
+		<data>
+		ZMijcq8fseV38inegXfTr4VH/jI=
+		</data>
+		<key>Headers/NSString+MCO.h</key>
+		<data>
+		4imNvGg2PvVG2y6ln8Fcp4mQCW4=
+		</data>
+		<key>Headers/NSValue+MCO.h</key>
+		<data>
+		CR4M2YnM9b9GT1w1m8Ue/KcdxjA=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		7Px8VM4OyvG4RNz8zC66YLD6uU0=
+		</data>
+		<key>providers.json</key>
+		<data>
+		6hK4PYRCr7b/9T0CHrbBAtSzH1k=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/Headers</key>
+		<dict>
+			<key>symlink</key>
+			<string>Versions/Current/Headers</string>
+		</dict>
+		<key>Headers/MCAbstract.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			MI18/RVO8QNAGQOV2/R+dp7JS9opAqawiB+aSHUx43E=
+			</data>
+		</dict>
+		<key>Headers/MCAbstractMessage.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			iy2neQgjNxFOorGAgIJHR9JqF898MxJI5ieD5n1GTjU=
+			</data>
+		</dict>
+		<key>Headers/MCAbstractMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			78qKa1eb0tKjpRcK8RBIWYnRWV+8+E/My01DwLWV9II=
+			</data>
+		</dict>
+		<key>Headers/MCAbstractMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			pgCRF52MWUBFwxZIwFk7iCTIsyq6sB/QrhXsi43jBWs=
+			</data>
+		</dict>
+		<key>Headers/MCAbstractPart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NrN3I/gk3beH8Ew6bszZ26SIQFX47hs3wNkhfk5mNqk=
+			</data>
+		</dict>
+		<key>Headers/MCAccountValidator.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			FkOe/GNlh5FNGcVzJSUhm9lGMp4FYBpVbvq4HMpjebM=
+			</data>
+		</dict>
+		<key>Headers/MCAddress.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			gs7s8zKn3Hi/A3vxXmn44Q/h0lrpFzm1nr5KyipmP4U=
+			</data>
+		</dict>
+		<key>Headers/MCAddressDisplay.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			83/vlbifar5XrO+IPgQYjHa2hooU2q4Ho+CBa5KDbTo=
+			</data>
+		</dict>
+		<key>Headers/MCArray.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			m2JGd8YyjgVfUxWH6ciLUvDIqcMv4VzV3NYaluWMZvY=
+			</data>
+		</dict>
+		<key>Headers/MCAssert.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			3t4J3JUxKB+Vho6zE6DrwtaYO8owWpm94jXcUmxk2LE=
+			</data>
+		</dict>
+		<key>Headers/MCAsync.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			DvdQ/CmcjlW5Ja/+7wrtRHaqkxvLc5Nb8Doct0fDaqI=
+			</data>
+		</dict>
+		<key>Headers/MCAsyncIMAP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Fg7fAf7V4k/jmnZxPrjDYysLtQwO29iURuHCg1F5NFI=
+			</data>
+		</dict>
+		<key>Headers/MCAsyncNNTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			geKafrQ4ydufptH/W9PkPt8Bz2zx3nNgU41eVmKFb3c=
+			</data>
+		</dict>
+		<key>Headers/MCAsyncPOP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			/KNVkQNHz3/qB9nzIp3ntavExqrDaj/+T4x7AO6I+O8=
+			</data>
+		</dict>
+		<key>Headers/MCAsyncSMTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			XhU0N6Y4GK+8J20v6tWzQQWYhOsaguZIT6ZOqW5fxTc=
+			</data>
+		</dict>
+		<key>Headers/MCAttachment.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wDImxaIWgSQHFGf4jpxXacGPo3vGKXnELY2U1LTCMO0=
+			</data>
+		</dict>
+		<key>Headers/MCAutoreleasePool.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			8d4/8UPmijM9ZVYwE26Hvs6E+awx0InLQ7pfmmGYltg=
+			</data>
+		</dict>
+		<key>Headers/MCBaseTypes.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			XI0owxHcFJAl/LtQ4Fr8YA7oIfLRJOb9mjAQrSe0SOQ=
+			</data>
+		</dict>
+		<key>Headers/MCConnectionLogger.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Nhpmyo6w11ATN/ox+l+gM3sH9Hhhxso52MYtXaqkRow=
+			</data>
+		</dict>
+		<key>Headers/MCCore.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cqnIAbaz9LprdPIGpj9mMonCD4MrfwMAolT6dICGP9k=
+			</data>
+		</dict>
+		<key>Headers/MCData.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Vf/Jsn0tAQaImfns4eRKi+qeqoZcUE7txqdhi/adyIM=
+			</data>
+		</dict>
+		<key>Headers/MCDateFormatter.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wrxRg2Lk/gBMu5P9aEWiVlCPuV/Jffb0uV49bcBw4oc=
+			</data>
+		</dict>
+		<key>Headers/MCHTMLCleaner.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			1Hsrih0e7yan6mdy2I+TAnQLT0f2bYW/GfnSPXWzvMg=
+			</data>
+		</dict>
+		<key>Headers/MCHTMLRendererCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			L0bqdDZi9HcVFTRXS6DcEBF+b7MC/c7mwToefR6hZZg=
+			</data>
+		</dict>
+		<key>Headers/MCHash.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			3quQG97iI+1k053gznjEoGehy5k587qoSDs5D+ogK3o=
+			</data>
+		</dict>
+		<key>Headers/MCHashMap.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			+Mh+Bd4bhGwK0rg04PdHv4K7XxHLaEAV49w1xT6bDuo=
+			</data>
+		</dict>
+		<key>Headers/MCICUTypes.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			imkQvplSoOxs7E+5jJDrQmknX636x2nHOonLTygk30Y=
+			</data>
+		</dict>
+		<key>Headers/MCIMAP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			dRlP0wmj/pegPhuzcfvLD+9dqx4EIpo7tFkilmb5JBk=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPAppendMessageOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			jigjKbYK5T+r8BtlmpvKMVLPzT4ap0484FV5wkK+Ub0=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPAsyncSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			u+Jh9D+859dkMFHGrxBBPUHVHDH+ei4JiXMavT6ng2I=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPCapabilityOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			EJ6L+CJPHXovPua6B8IUDF84BhFcBpoCm8XAl5QCoWs=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPConnectOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			vYaqpYg0k3fn1f4WkSeZ5zfSoAQRzJw1Vhh3CTqORZk=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPCopyMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			mnc+BMFe2NZdBu3zTcIcJulQg540xHwCv+r6L7Iisso=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPCustomCommandOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			SMm60lg139pcy54NkEHR3S+U3O4uPD5MF4FeLfIyKg4=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFetchContentOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			k19M8G/Dg+cyVwEiLAjSLPU2YDTT57SjUYyvL+6/0cg=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFetchFoldersOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			J/idjQJpuQ27IrKLNyvzoM2cqiCSo+8HZS2lSqM458Y=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFetchMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ksWrzPLLv83i/OGwOYkO51/XNnPU3jN7/G1jMuRqJl4=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFetchNamespaceOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			A59Nse5yBI5yWJItG6C6FC2A9qrwa8tJdwoEPQ0B0lc=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFetchParsedContentOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ocl3uqYdoeZ8lqiH50l25GkAYHEqjHFnASW7xU+U+0o=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFolder.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			2KFR2j5V64JzTfANnBGkIwBOjyUHOOK197KvfIKqipU=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFolderInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ZVGUtAwwP5OeLVFQtk96LkyE9jzFJYlj1ruWenGlSfY=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFolderInfoOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			jBqlG1h27B56Me9C0YY+qpMLgh0FP8HYZuQsWiIXv0Y=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFolderStatus.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			p0x4MmSf94nXb4DfOpbemu7vxsh+XUhoP/xxX7Z9KTg=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPFolderStatusOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			2lvmDPWVqz9g1Fxmvw5ebDG+7lswz6B9R91l//jZ/90=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPIdentity.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			rBkDHSdRojoTgGxk3bl4uaJLQKECs9sXdx7zr5i2/B8=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPIdentityOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			avJ0GH3sg7Bzj7bPhOv4LglJv0/naB4hKEBHg/bamcQ=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPIdleOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Hr/gNkvWsEO59w0v6Nnl65BHUajeI6coZJ6NFnmMzfA=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPMessage.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Nkf1Y48J5zdDN0mE9iRq9PPCPKbTtv1QmSDHesRvthQ=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ss4ninwJMlXmoZbTUcccxN8gmP4UyxfDcpzdVvc7ohY=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPMessageRenderingOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			8zvO2zDydoK2p7m1OSUOisgNC0JKElTR5EI1UStgw/k=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			fTYXK+6aba5UEMneauB/q35vA8C22PMuUxODCjgMEyA=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPNamespace.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NvopZuuMEOX8QUkr1Hm/d0zD6/7BjP8OduNpSV7UCpo=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPNamespaceItem.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nq/PytMXuOyR1CnK/f81db2IiIYQrnxeftG7NZFIROo=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPNoopOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wzicB/LRjJOVlXyLhg92C7SltV6nwlWDPmpnWvpJkY4=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			oxpBmQkJMtI4yDvi04ksnB4tlNHM2EF1JEyxz119FME=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPOperationCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			sptWWTx91ZhWTTP/jOEh6kHReWl64130IGBrLxbCHns=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPPart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			dtMfpD31w3zN9oMCr483F2J5wOJ6pILR53/v56N0q44=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPProgressCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cSqQ/BD8XcNX4uLI5fgN8/G0BGu8knd9290D5ClN3Ms=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPQuotaOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			lvxJZv0MVWL/R+oJf1fvtH1EfM/bCX/kBwZtNw11Iwo=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPSearchExpression.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			o0MI+4Cr1BMPmyjiRmFyslBdwU5bZqMtohFJyr5HG4I=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPSearchOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			snhRYStVMdZ2NlZF0jJuYsgCsiV09Mseac9voVn1KKU=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			mNaVGbkPl82TvXtTmqYcm+QOrb4QdoqlD2iLMzi21aQ=
+			</data>
+		</dict>
+		<key>Headers/MCIMAPSyncResult.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NuumyG9wtdg8TfxGJF/gFPZhQqnqtaLp8Fq2oZHVMgg=
+			</data>
+		</dict>
+		<key>Headers/MCIndexSet.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cc3cjs4PQuB7TfUeggkUw0EO6ntWE7Me026KcPM+e18=
+			</data>
+		</dict>
+		<key>Headers/MCIterator.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bDdKUBrLjH0d33pvgHsFWCRZ3kcQeO5j4Npg5ZrsX00=
+			</data>
+		</dict>
+		<key>Headers/MCJSON.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			YAjVkCIijjYBDG+GgSt9Bc0uUocWPKE7MlKBxDk9bRw=
+			</data>
+		</dict>
+		<key>Headers/MCLibetpanTypes.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			TOvEKqwxMDYAVK0TVcEUhVo7ivQFO5bve5sZ9KHwNDs=
+			</data>
+		</dict>
+		<key>Headers/MCLog.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			qCMEziYgpVGvCGEwwuXKtwDuqaXuwtvFr/wfqFbXwZ4=
+			</data>
+		</dict>
+		<key>Headers/MCMD5.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Oa90j7UKMXUM9bzYaP09g+HPS2dX6iIL2S7Sp8tMEGU=
+			</data>
+		</dict>
+		<key>Headers/MCMXRecordResolverOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			DuJPv3j7G8S3fxY+KxE/DWsxid0uk7ABGuODZjKFglE=
+			</data>
+		</dict>
+		<key>Headers/MCMailProvider.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Cx0FaBgGiJb6YIQzSG+9S+Zk1gn+afjHZXV0oq6l/ho=
+			</data>
+		</dict>
+		<key>Headers/MCMailProvidersManager.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bTjy5XRNnZFL8hju+WQmo1smYu/ENblisCpN1xrI3ZI=
+			</data>
+		</dict>
+		<key>Headers/MCMainThread.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			WuFLJQvQww3NH98W8AK6Hufo7rLz3LkD3vTNRqdh3Jw=
+			</data>
+		</dict>
+		<key>Headers/MCMessageBuilder.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			4kfJyw+HDFohNdOdWeW9+B+bUuS243AsIDge3e8Q+qQ=
+			</data>
+		</dict>
+		<key>Headers/MCMessageConstants.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			jn7TVk5AdRjzt5uLvF7LKMRZRkRCT487hvRxVVzo7VY=
+			</data>
+		</dict>
+		<key>Headers/MCMessageHeader.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			gZLIPW6SmDKDUs3W26G3rL3tHi5u/KPKrTz7XcTyGNg=
+			</data>
+		</dict>
+		<key>Headers/MCMessageParser.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			KElXMTjaAPgvSG3Wnba0CCp9M6M6Sui5LmKT5f7OxU8=
+			</data>
+		</dict>
+		<key>Headers/MCMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			dgGsfxK+QB7t7tQf7Fen1gD7hOhYYS7pqo/+NS46yr4=
+			</data>
+		</dict>
+		<key>Headers/MCMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			CxnmfyiAQ4EBSUoq6Dmnw7JAh2a0d6akcKh6JkmQU80=
+			</data>
+		</dict>
+		<key>Headers/MCNNTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			fzSQrLnunu2aqFSKxC3uD/qt5USB5v9vHnL9cs1VWp4=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPAsyncSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			L+nQpcsCmYtsZoGqtXS2BHPBFxrs7SHBX6qe6lSGbps=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPCheckAccountOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			u4F1nWCnuN1Wnpri46vl4mz2l9ankuWgaJCPhFT4NKQ=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPFetchAllArticlesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ieCu87ok9VlwuwpEnJaqAKlM4CHajv2KWce9Lj8YlaU=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPFetchArticleOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			MnMpUiYg4LBJsXxckBDNBJMEA1ggAMwXdsHbVQ0H9tk=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPFetchHeaderOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bkCwcNDpzh7YTsyUqZ6RbDLYIssiaNyRXQWUcN2o7ME=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPFetchOverviewOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nDv5YxMqBoGDyC+s4smWfgz1IpTs1lbGEkhuhOjl04Y=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPFetchServerTimeOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			onAhxzYZIOgIzzzdNmb8fgOP9X4sBZyeFRlHPt4hDBs=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPGroupInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5o9QB5Ik6nrREtLpNg33BPdobSEYt4QGVbLJ5NIhcyg=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPListNewsgroupsOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			M/Wjw5B6pTfkiRI6pkJxQ486Dn8Gb6iS4haoCve3ouo=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			DYBWF71fzF0WDeV01hZqlfZUFda7FVZRd3wzHhlsTtQ=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPOperationCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			fEQYR8UIC+XAGk1jtKW4N6NrpwzIZQFZvwczBztyzcg=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPProgressCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			f6XI5WtvwZSVlDhjf9RxMFkgxo+EM3iAWJP2+5pQYtY=
+			</data>
+		</dict>
+		<key>Headers/MCNNTPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			3OYK+EemgFXb3uVK5V0Wg5EjYVkJjX9305awoJBhEgk=
+			</data>
+		</dict>
+		<key>Headers/MCNetService.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cpa0eaPbjBW88HQLA0YGfOTjdpOn23cJmSsh1OFHBmM=
+			</data>
+		</dict>
+		<key>Headers/MCNull.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			MSIN0qDEQc3ob/QXfvacFYwHdSmdZKk5CTx9fMhO4NE=
+			</data>
+		</dict>
+		<key>Headers/MCOAbstract.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5pXd+S5yqVxL9/XMHUais2vdjc805Vf+QBGe8qdzdPI=
+			</data>
+		</dict>
+		<key>Headers/MCOAbstractMessage.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			8GVmncGkQIb9qh30LN9FThDtt3O20/390R8F5BfnZdI=
+			</data>
+		</dict>
+		<key>Headers/MCOAbstractMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			M/E1vTC+5joqwRAzsIz8A3qotR55mhPvmiMBdSmE/RA=
+			</data>
+		</dict>
+		<key>Headers/MCOAbstractMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			LLOD0Rfs5zZrQNOWnGNlBXGSwGAerSgpxbfD8cJDEz4=
+			</data>
+		</dict>
+		<key>Headers/MCOAbstractPart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			n7QHNajRe958q2vkHxiZ9b5jvr1wj++Lrf8+qE13EUM=
+			</data>
+		</dict>
+		<key>Headers/MCOAccountValidator.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ShdVB3phaUiDwn/HlnO2g7UK5nZGOinBJfcmuFkYCIE=
+			</data>
+		</dict>
+		<key>Headers/MCOAddress.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ni96/omzGzDsqu0WUFGvwZy3xcLNcTWzxhrmLpFRDp4=
+			</data>
+		</dict>
+		<key>Headers/MCOAttachment.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nYgyy6kNK3JMgWQ3XcOEzEsFRto6xFvZkGR5a1BlAHg=
+			</data>
+		</dict>
+		<key>Headers/MCOConstants.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			qffeBPxgTAGnIM66CIx9AKaxspQiocLTEiFd8+QVM/A=
+			</data>
+		</dict>
+		<key>Headers/MCOHTMLRendererDelegate.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			eBF3UcgNXVCwNB/XdtQXlJsaZRBLwUA1PMdmONBnZBA=
+			</data>
+		</dict>
+		<key>Headers/MCOHTMLRendererIMAPDelegate.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			16SaUQsVuAI71xdfxSk56eTeM4AWPw31/cJpZeb40Sk=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			1NwC3uIFIM+sSk7zXTzivudSVyjuDluZpQBH7Jyqm8g=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPAppendMessageOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			CtYwjJ+f2LdkNAZV3oI6QLjSanrhbyH9/ijnGgquzfc=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPBaseOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Auky8LHWYuHsSxbDIR3CLpcmvBcZttkAThI/9uo4GvQ=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPCapabilityOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NdjQjgpB8ceYcENkgJdPXCNnPxyfnCFlF92lf6nlssk=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPCopyMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ehAMflcjKJrkjCOCsnwK3nt0qfkaKUOWTsIujCUGjeI=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPCustomCommandOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			sunwVsirmMEuGu3ZXsYE46nfPInQcnP7FwvFT1PNvNE=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFetchContentOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tD5GH1GISI/utUTzqC4uZiG91rKJmziWBKFk+s5XTD0=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFetchFoldersOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			YLP0e/pFDgJs0XcnZKjmHCJR036B3ggR30snOYW0J7Q=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFetchMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			1NQvWgdqpS5zUOAOSJ9LCBBNNRAVHmg2xVlwKumyMno=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFetchNamespaceOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			XTaX1pI1Nm4dOtQJYMUJ754z9buHSEX25De1bkuehyI=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFetchParsedContentOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			o6XklF01u6j3Oljrm9Cn7cH51Zee9hLbkuk2kb3Jdbk=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFolder.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			meKD9mX5rYvlM3LNZ+fxXhS6lL14H7brsdGu1Sm4XMo=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFolderInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bSsMpBjrpiOxeaCVgGmx6k2qlepIrchfiiXDaqu41f8=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFolderInfoOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			gIWsVkocAo04h/3zUwe8QCLcDU7e8ADC4LoYnQnMgBA=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFolderStatus.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			lCsrefSDOpqy1m0fTR+218awdzHravbhGCkYg0n7LJI=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPFolderStatusOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			9I3rfRK/CpRuylg00Yk5p4IoNCbCtrkt6V43wyc97+k=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPIdentity.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bE6+7glFDF+c6bIeO0QHsclMzJKoLl4ZpJ142dh/0kE=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPIdentityOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5LobdSkuyR2t+nb53s+9ISHjdhMhOvoFvYlgkylg9gk=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPIdleOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tT9wopCbB6c0qXJhI39PDNeHLvnY3D49qMdym8lQJ0o=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPMessage.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			2VZVOoeeSV+b516Mr6JODLSWn+85hWiLWVu9nUaLCH8=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			SE24r4zra+mqwkeMEzFcFrFkpd86dbJoEeUgRngcSgY=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPMessageRenderingOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			4L+Zc4nnSLSm06fo52eFij+nc1LRxVQ2unHDDfIACLo=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			btv1gX2/5Q3I6HheRJ+1JBJMuPFxN+51iL+gzvD5Cx0=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPNamespace.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			hOW8dxVJKvUbBl9w/Of0BIlxeo3deajpAYkOhITeDWg=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPNamespaceItem.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			05HowR9Yi7fEhk8YuYKnHhzIZVeVx1KG13zBRU7Rn8Y=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ln8DnVo7lI5DyJCsZyWh3VKmQecxfYpVTQY0MESBYd8=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPPart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Wx9Sobut+OxR/ecHd21TODurViXJyb44WnQLVHwDkFU=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPQuotaOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			TEfhdas/DDz4OEa5sB5UO/y8gWh3oC4bmCwymCmZJCM=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPSearchExpression.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			4M+ORsOmBn3nt4+EkGysbWP2Gm0oYK7LSXVVMa+BDj0=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPSearchOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NQnZivBaX4ElnrM3UIstVpyAjPsnhWqRNGpp5cnotwk=
+			</data>
+		</dict>
+		<key>Headers/MCOIMAPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			f9BasE4/kGFX0EE8f43MtWFhUQtuee8Fg1ZVMcOT/QQ=
+			</data>
+		</dict>
+		<key>Headers/MCOIndexSet.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			JVGZWldFuq61oGfuVjwt8rOaFbJXzq9gtW2BWa3Kopw=
+			</data>
+		</dict>
+		<key>Headers/MCOMailProvider.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			OUt9FRjm7+yvP87ROFK75GiS1jqN6wlzm7EasprGgRo=
+			</data>
+		</dict>
+		<key>Headers/MCOMailProvidersManager.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			vF/wVPmR6Jx1cVptNaGxI4DZQtSCQ2mw67vji4pKzUU=
+			</data>
+		</dict>
+		<key>Headers/MCOMessageBuilder.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			O86teRPup0szu7QoiUxcU0A+4/rH+l+eCeQczdYA+Wg=
+			</data>
+		</dict>
+		<key>Headers/MCOMessageHeader.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			RpL1UKQOdLHx0E2bmcvSY2clJGjkAV3ladqYxZoRagM=
+			</data>
+		</dict>
+		<key>Headers/MCOMessageParser.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			+PtB19WoqTl0QsGHTv870uFEWnVeBHmj7UzoTcr9A18=
+			</data>
+		</dict>
+		<key>Headers/MCOMessagePart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			TeDqFL+OVqkI8GgtNHQzsWaQycn0/u15pibyClSufTY=
+			</data>
+		</dict>
+		<key>Headers/MCOMultipart.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			AOcE0bHrHcS8UwVHPFOPtDK0toqC6WdUjItQmF6E2Bs=
+			</data>
+		</dict>
+		<key>Headers/MCONNTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nDaSAiylypGUvwtfrF7I3hB5o/FKQq/QQNSIcKwK6X4=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPDisconnectOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5fex63B2ODaABo0VL+eDhjcMHV3bFrDXoHFKOfHZDYU=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPFetchAllArticlesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			0tGH5vCmqTYNyCp1jNiYTyvVMq+ivHJir0cwdIzw54s=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPFetchArticleOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			vGbvpoaWsdEDgJfRRhfgPC7AxvkCMgp+Oka9eLxWFrY=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPFetchHeaderOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			RW8Ku2uXk/0uAsetdEuWgtiM6ySz6VulDHG/DtdVDLI=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPFetchOverviewOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tPYmMHv5mOen/p+C4ffuxbf8KLdep5qlWraJX4pyljM=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPFetchServerTimeOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			U5Z11VafesZE3/CVJQ0xEFQuKlgouu7rjLslr6BJQGE=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPGroupInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tqKis9Tl1g910TSKxhHukLhEBpndiBWCsxftlLX7ea8=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPListNewsgroupsOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			I7B6bHwyrupJ+IXR9q0B2TTyJZ040YYHDMrBXucMO9Q=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ZSXkkP/qnm8mDc5k0z23HCYzc3Q0tlMRutQsXeqecnQ=
+			</data>
+		</dict>
+		<key>Headers/MCONNTPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			sPKLlZmJjn1fYQ6rbATXK4PjbBgKEd2JTCS/KQqRLBM=
+			</data>
+		</dict>
+		<key>Headers/MCONetService.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			9IYoo9xyLdiKuBc44ibnAhLEZyPQ4kEafNycK4PW/Sw=
+			</data>
+		</dict>
+		<key>Headers/MCOObjectWrapper.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NTnqXt4ydPZj3TG5riybQNMD8yG5UrRS+0ZcqTMxADY=
+			</data>
+		</dict>
+		<key>Headers/MCOOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5BSMYV0jJqMf3x05boBR7HZZLeTe4IIfuCsvGTkAa1w=
+			</data>
+		</dict>
+		<key>Headers/MCOPOP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			fvyS3LbDksGbusgDelq4Cga3IlqZup4p/cF1fE9H67E=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPFetchHeaderOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			YHID8l1Vh6ts6BeoCM8GPxC9gj3lCuzOrivvZa1eDJ8=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPFetchMessageOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			VHXtyGnanZxLPio8RsMEHL1IVodrk1ZonFjXWjAHfWI=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPFetchMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			+igViqD7NqsdT5x1PLBsgis2o2vMCSZLjHXLkU15O4s=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPMessageInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			v6lN0tGSoeNwE+SYcBMuAVPLwSDUdjVpWrldwS95dRY=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPNoopOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			sNEUCb2T/6LKUsbniTgblWFLczXJE32O3gBhdQGZ1qc=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			RC8p+vvKkcs0rypSNxSo927PqJBBEUGtwlhcdK96ecA=
+			</data>
+		</dict>
+		<key>Headers/MCOPOPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			FZnx8TAA0uLk8kF4bqL5Ygb6McNZY2EAN9tU+xpRaJM=
+			</data>
+		</dict>
+		<key>Headers/MCOProvider.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Nuc+YAghykzvOdjIdkPo8u+BeyO+9Xnk1hQvS9Ztq0A=
+			</data>
+		</dict>
+		<key>Headers/MCORFC822.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			n3jm6WZDJSCCu4m+VqZ5CmZJHl7ztJO7WBOnhns8mWw=
+			</data>
+		</dict>
+		<key>Headers/MCORange.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			QMAl/QOWifGWpj6x5boMBiWxqxr1WFziHGhHJIzD4jg=
+			</data>
+		</dict>
+		<key>Headers/MCOSMTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			k4KFCZZk+GCWY14024zF/u4zxsODqO2TZcplC4UrvRM=
+			</data>
+		</dict>
+		<key>Headers/MCOSMTPLoginOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			W115abEcvsi5TJt3wAgv51Q7qUHYdNrBrAKCx294Qbs=
+			</data>
+		</dict>
+		<key>Headers/MCOSMTPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			5/9Q8xnCPBf1kL4tHLc2nggfDQkel5pppNh+rY5Cejo=
+			</data>
+		</dict>
+		<key>Headers/MCOSMTPSendOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			x1gCWhPuMBzURYj7lVGad7PuWBhYmfijiERkh7v6fK8=
+			</data>
+		</dict>
+		<key>Headers/MCOSMTPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ZcBtWnmVGxJp2pccRI3u/fwK4b+uheQZ3Y9oF4p5nVQ=
+			</data>
+		</dict>
+		<key>Headers/MCOUtils.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			waO6ZK8acWYmLJAoQ/+zge/IBA2uN909xneKGOV/oW0=
+			</data>
+		</dict>
+		<key>Headers/MCObjC.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wJdZEdP+ZPu6usJIyYSDngmlDsDt+FxTkAYMOzHQzXs=
+			</data>
+		</dict>
+		<key>Headers/MCObject.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			bk2pw32i4ItLW8JlAb1IUjAB1jvEeOWhc9YbGWsrbkw=
+			</data>
+		</dict>
+		<key>Headers/MCOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			8jkaxE3GoiJDW7V7sxeh4XBpIjh+yqF9BRa2q6OyEvM=
+			</data>
+		</dict>
+		<key>Headers/MCOperationCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wSJG05+OEnISHgkGLJaPMyNPylp80WyUA3IvEqd1Rqk=
+			</data>
+		</dict>
+		<key>Headers/MCOperationQueue.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			OaZPRoM0jEleh0GIHdTiIqE3qXFAGPghiHLJlKHvCWo=
+			</data>
+		</dict>
+		<key>Headers/MCPOP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			iaWlhbokY9FkkiJn8aWaQFhnMzPlDMQc4GBAQv0iGhM=
+			</data>
+		</dict>
+		<key>Headers/MCPOPAsyncSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			7onU6KgVaApMRpdPaQI/syzxVGSDJZmeeXSUey55Dp4=
+			</data>
+		</dict>
+		<key>Headers/MCPOPFetchHeaderOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			j6Hj4p/YP/OfzgdowtoWeLNfrdb1g3WOARiobcG1U8E=
+			</data>
+		</dict>
+		<key>Headers/MCPOPFetchMessageOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			IxTej2BksS0m7rJaRdrevmiw8bZ0itOsiGcH2Xj2uUw=
+			</data>
+		</dict>
+		<key>Headers/MCPOPFetchMessagesOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			F7E5OTGpsgW7CW6pTn4NfjKuwLEhfdndRU/JVyAP8KU=
+			</data>
+		</dict>
+		<key>Headers/MCPOPMessageInfo.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			lAVkNeuOhi2kR2aHdDGUExXqW9sUU9w2QI6rqhavju0=
+			</data>
+		</dict>
+		<key>Headers/MCPOPNoopOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ZZ5l171rW0coJEQBcvg7S5kDtNWVW7fVtQGBIeSBLTs=
+			</data>
+		</dict>
+		<key>Headers/MCPOPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			FAWjeFS7HoAoxNpaJU1d5ILCmOlWsueXXYP7JpPeHZ0=
+			</data>
+		</dict>
+		<key>Headers/MCPOPOperationCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			6vj5RL4Hfdzgy0cuaJOZ6PrHWd4ZOP6BVnDCWnL36bs=
+			</data>
+		</dict>
+		<key>Headers/MCPOPProgressCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			fBGnj8S9sioPUH92xNkC6GO55P6rmSj/BYIb6U0jl+4=
+			</data>
+		</dict>
+		<key>Headers/MCPOPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			mcTe270spiSCJYmExkAjNQf3UbDFpI6x7NfEhWfsoRo=
+			</data>
+		</dict>
+		<key>Headers/MCProvider.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wfZJ0WFCq6/QqtgLGFygUgHPTJSfh/bJl5nP7KxY4jI=
+			</data>
+		</dict>
+		<key>Headers/MCRFC822.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			DkoiCzHgQbq7KrO18SKKqj3rhI79Fm+nJrYtbTFTOXk=
+			</data>
+		</dict>
+		<key>Headers/MCRange.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			e2R3gT77cYA3NAMmVjuGgQF4pgffPujLnJXwqcM3+H8=
+			</data>
+		</dict>
+		<key>Headers/MCRenderer.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			/ikRLa3H2vmEC9afWzQISe6xty1tl7WyIQ2yTEkxVRA=
+			</data>
+		</dict>
+		<key>Headers/MCSMTP.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			EHLP5LLjMh9C6XxKXQh/al3W8s7lnDP8gyFlTZRkUwA=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPAsyncSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			3KwJy8UObsTEVCQiuUk4I0RKHBfE1NZ8OyvCA9qd4X4=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPNoopOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			mCwcnS0ZC/5NmBigHbfc31tdvI0A5m4/raDwpELXp5w=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPOperation.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			EqpbSHI7uDJstdjxw89d0+ba75CJ5ySQNtyB3Rh0PEQ=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPOperationCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			R44Png9IEMBeC8fhkdqV0uFizaxFSwAU7VYzWK58ftQ=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPProgressCallback.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			VMxsxFmMtVpH4pFcOo2vGBY5i9i9JvsRV1jxBT67rJU=
+			</data>
+		</dict>
+		<key>Headers/MCSMTPSession.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			vQufEogX/rbUuP1PC4B4RvqhgEM8Ew6taiySMKnp8zU=
+			</data>
+		</dict>
+		<key>Headers/MCSet.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			iGK+nt9rtEAn2GA4LXQyMRjk+HC57qqUMcxsmiWTLFs=
+			</data>
+		</dict>
+		<key>Headers/MCSizeFormatter.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cKiN36XzHLMqeRe3CDSpV8YPkuq2k/nDr6L6lwPc49c=
+			</data>
+		</dict>
+		<key>Headers/MCString.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			tJnll/eWvOhwp2yWIdD5mBPcIzjyJ5Yh2BJFRdue8rI=
+			</data>
+		</dict>
+		<key>Headers/MCUtils.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			uxkweXa5fjf3lU71B1fyaRjCzjapHeVKv624cB14ji0=
+			</data>
+		</dict>
+		<key>Headers/MCValue.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			13G2myTSMolLwWGdOYSZfOmvC/pgGOnJPcttEqOXaB0=
+			</data>
+		</dict>
+		<key>Headers/MailCore.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			lMFacOiJkjwHn4RjvCE96qVvtTvh5T610r6lHEVcFQM=
+			</data>
+		</dict>
+		<key>Headers/NSArray+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			y3izUjzsDqyhuhmpxmqd1jx6oTqovtt9RsoOBFBQydc=
+			</data>
+		</dict>
+		<key>Headers/NSData+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			c9vfnmGJyuoM9SucKetaHEpU+xOU0dBwX2W5hLPqXK4=
+			</data>
+		</dict>
+		<key>Headers/NSDictionary+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			aT07S9pjNHn5cLfp96x7ZZ9fONYqBXhC8n0USliSO4U=
+			</data>
+		</dict>
+		<key>Headers/NSError+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Bd1jcI4ZTDkeoN0U0yFJvFMDzC9bwJnqH/cVrT8znYQ=
+			</data>
+		</dict>
+		<key>Headers/NSIndexSet+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			Gr4KuSP6zLe5qzzefF76l7siZmCQ4f415KFq+EWxogM=
+			</data>
+		</dict>
+		<key>Headers/NSObject+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			gZz95bOV+CjsqRMdtao1X0q8pxRtuoXZeJ5Hrtaub3M=
+			</data>
+		</dict>
+		<key>Headers/NSString+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			A9dXS2wc326r4IYp5Kf4/ZWNWIM5BXj8ceW7sO6lIeI=
+			</data>
+		</dict>
+		<key>Headers/NSValue+MCO.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			NJWHzZcClQP21YV5YgVVxpyruyMPo9VY1GSaba2/LKs=
+			</data>
+		</dict>
+		<key>providers.json</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			dT6r7RohAHf0DDaayHmm3OYrVf0MlPVGgiFb4Q7Ez+M=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>
diff --git a/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/providers.json b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/providers.json
new file mode 100644
index 0000000000000000000000000000000000000000..0ce2d577beb8097afe0a028c7cfe974af61fae46
--- /dev/null
+++ b/ios/MailCore.xcframework/ios-arm64_x86_64-simulator/MailCore.framework/providers.json
@@ -0,0 +1,1282 @@
+{
+    "hushmail":{
+        "servers":{
+            "imap":[
+                    {
+                    "port": 993,
+                    "hostname":"imap.hushmail.com",
+                    "ssl":true
+                    }
+                    ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.hushmail.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":587,
+                    "hostname":"smtp.hushmail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":465,
+                    "hostname":"smtp.hushmail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":25,
+                    "hostname":"smtp.hushmail.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "hushmail\\.com"
+                        ]
+    },
+    "mail":{
+        "servers":{
+            "imap":[
+                    {
+                    "port": 993,
+                    "hostname":"imap.mail.com",
+                    "ssl":true
+                    }
+                    ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.mail.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":587,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":465,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":25,
+                    "hostname":"smtp.mail.com",
+                    "ssl":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "mail\\.com"
+                        ]
+    },
+    "zoho":{
+        "servers":{
+            "imap":[
+                   {
+                   "port": 993,
+                   "hostname":"imap.zoho.com",
+                   "ssl":true
+                   }
+                   ],
+            "pop":[
+                   {
+                   "port": 995,
+                   "hostname":"pop.zoho.com",
+                   "ssl":true
+                   }
+                   ],
+            "smtp":[
+                    {
+                    "port":465,
+                    "hostname":"smtp.zoho.com",
+                    "ssl":true
+                    },
+                    {
+                    "port":587,
+                    "hostname":"smtp.zoho.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "zoho\\.com"
+                        ]
+    },
+    "juno":{
+        "servers":{
+            "pop":[
+                    {
+		    "port": 995,
+                    "hostname":"pop.juno.com",
+                    "ssl":true
+                    }
+                    ],
+            "smtp":[
+                    {
+                    "port":465,
+                    "hostname":"smtp.juno.com",
+                    "starttls":true
+                    }
+                    ]
+        },
+        "domain-match":[
+                        "juno\\.com"
+                        ]
+    },
+    "mobileme":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.me.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.mail.me.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.mail.me.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "me\\.com",
+            "mac\\.com",
+            "icloud\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "dreamhost":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.{domain}",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            "mx1\\.sub3\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub3\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.sub4\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub4\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.sub5\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.sub5\\.homie\\.mail\\.dreamhost\\.com",
+            "mx1\\.balanced\\.homie\\.mail\\.dreamhost\\.com",
+            "mx2\\.balanced\\.homie\\.mail\\.dreamhost\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "insecure-default":{
+        "servers":{
+            "imap":[
+                {
+                    "port":143,
+                    "starttls":true
+                },
+                {
+                    "port":143
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                },
+                {
+                    "port":587
+                },
+                {
+                    "port":25
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "euro-apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.euro.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"phonehome.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "euro\\.apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "default":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "insecure-fixed-port":{
+        "servers":{
+            "imap":[
+                {
+                    "starttls":true
+                },
+                {
+					
+                }
+            ],
+            "smtp":[
+                {
+                    "starttls":true
+                },
+                {
+					
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "aol":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.aol.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.aol.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.aol.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"smtp.aol.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"smtp.aol.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "aim\\.com",
+            "aol\\..*",
+            "jp\\.aol\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Saved",
+            "spam":"Spam",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "yahoo.co.jp":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.yahoo.co.jp",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"smtp.mail.yahoo.co.jp",
+                    "ssl":true
+                }
+            ]
+        },
+        "domain-match":[
+            "yahoo\\.co\\.jp"
+        ],
+        "mailboxes":{
+            "drafts":"Draft",
+            "allmail":"Archive",
+            "spam":"Bulk Mail",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "yahoo":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.mail.yahoo.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.mail.yahoo.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"smtp.mail.yahoo.com",
+                    "ssl":true
+                }
+            ]
+        },
+        "mx-match":[
+                    "mta5\\.am0\\.yahoodns\\.net",
+                    "mta6\\.am0\\.yahoodns\\.net",
+                    "mta7\\.am0\\.yahoodns\\.net"
+        ],
+        "domain-match":[
+            "yahoo\\..*",
+            "ymail\\.com",
+            "rocketmail\\.com",
+            "xtra\\.co\\.nz"
+        ],
+        "domain-exclude":[
+            "yahoo\\.co\\.jp"
+        ],
+        "mailboxes":{
+            "drafts":"Draft",
+            "allmail":"Archive",
+            "spam":"Bulk Mail",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "gmail":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.gmail.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"smtp.gmail.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"smtp.gmail.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"smtp.gmail.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            "aspmx2\\.googlemail\\.com",
+            "aspmx\\.l\\.google\\.com",
+            "aspmx3\\.googlemail\\.com",
+            "alt1\\.aspmx\\.l\\.google\\.com",
+            "alt2\\.aspmx\\.l\\.google\\.com",
+            "alt1\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt2\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt3\\.gmail-smtp-in\\.l\\.google\\.com",
+            "alt4\\.gmail-smtp-in\\.l\\.google\\.com",
+            "gmail-smtp-in\\.l\\.google\\.com"
+        ],
+        "domain-match":[
+            "googlemail\\.com",
+            "gmail\\.com"
+        ],
+        "mailboxes":{
+            "sentmail":"[Gmail]/Sent Mail",
+            "allmail":"[Gmail]/All Mail",
+            "starred":"[Gmail]/Starred",
+            "trash":"[Gmail]/Trash",
+            "drafts":"[Gmail]/Drafts",
+            "spam":"[Gmail]/Spam",
+            "important":"[Gmail]/Important"
+        }
+    },
+    "gmx":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap.gmx.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"imap.gmx.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"mail.gmx.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"mail.gmx.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.gmx.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "gmx\\..*",
+            "caramail\\..*"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Spam",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "fastmail":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.messagingengine.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.messagingengine.com",
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "hostname":"mail.messagingengine.com",
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "hostname":"mail.messagingengine.com",
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "hostname - 2":"mail.messagingengine.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "123mail\\.org",
+            "fastmail\\..*",
+            "airpost\\.net",
+            "eml\\.cc",
+            "fmail\\.co\\.uk",
+            "fmgirl\\.com",
+            "fmguy\\.com",
+            "mailbolt\\.com",
+            "mailcan\\.com",
+            "mailhaven\\.com",
+            "mailmight\\.com",
+            "ml1\\.net",
+            "mm\\.st",
+            "myfastmail\\.com",
+            "proinbox\\.com",
+            "promessage\\.com",
+            "rushpost\\.com",
+            "sent\\.as",
+            "sent\\.at",
+            "sent\\.com",
+            "speedymail\\.org",
+            "warpmail\\.net",
+            "xsmail\\.com",
+            "150mail\\.com",
+            "150ml\\.com",
+            "16mail\\.com",
+            "2-mail\\.com",
+            "4email\\.net",
+            "50mail\\.com",
+            "allmail\\.net",
+            "bestmail\\.us",
+            "cluemail\\.com",
+            "elitemail\\.org",
+            "emailcorner\\.net",
+            "emailengine\\.net",
+            "emailengine\\.org",
+            "emailgroups\\.net",
+            "emailplus\\.org",
+            "emailuser\\.net",
+            "f-m\\.fm",
+            "fast-email\\.com",
+            "fast-mail\\.org",
+            "fastem\\.com",
+            "fastemail\\.us",
+            "fastemailer\\.com",
+            "fastest\\.cc",
+            "fastimap\\.com",
+            "fastmailbox\\.net",
+            "fastmessaging\\.com",
+            "fea\\.st",
+            "fmailbox\\.com",
+            "ftml\\.net",
+            "h-mail\\.us",
+            "hailmail\\.net",
+            "imap-mail\\.com",
+            "imap\\.cc",
+            "imapmail\\.org",
+            "inoutbox\\.com",
+            "internet-e-mail\\.com",
+            "internet-mail\\.org",
+            "internetemails\\.net",
+            "internetmailing\\.net",
+            "jetemail\\.net",
+            "justemail\\.net",
+            "letterboxes\\.org",
+            "mail-central\\.com",
+            "mail-page\\.com",
+            "mailandftp\\.com",
+            "mailas\\.com",
+            "mailc\\.net",
+            "mailforce\\.net",
+            "mailftp\\.com",
+            "mailingaddress\\.org",
+            "mailite\\.com",
+            "mailnew\\.com",
+            "mailsent\\.net",
+            "mailservice\\.ms",
+            "mailup\\.net",
+            "mailworks\\.org",
+            "mymacmail\\.com",
+            "nospammail\\.net",
+            "ownmail\\.net",
+            "petml\\.com",
+            "postinbox\\.com",
+            "postpro\\.net",
+            "realemail\\.net",
+            "reallyfast\\.biz",
+            "reallyfast\\.info",
+            "speedpost\\.net",
+            "ssl-mail\\.com",
+            "swift-mail\\.com",
+            "the-fastest\\.net",
+            "the-quickest\\.com",
+            "theinternetemail\\.com",
+            "veryfast\\.biz",
+            "veryspeedy\\.net",
+            "yepmail\\.net",
+            "your-mail\\.com",
+            "operamail\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk Mail",
+            "sentmail":"Sent Items",
+            "trash":"Trash"
+        },
+        "mx-match":[
+                    "in1.smtp.messagingengine.com",
+                    "in2.smtp.messagingengine.com",
+                    "in1-smtp.messagingengine.com",
+                    "in2-smtp.messagingengine.com"
+                    ]
+    },
+    "apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "tls":true,
+                    "hostname":"phonehome.apple.com"
+                },
+                {
+                    "port":587,
+                    "hostname":"phonehome.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "asia-apple":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"phonehome.asia.apple.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "tls":true,
+                    "hostname":"phonehome.asia.apple.com"
+                },
+                {
+                    "port":587,
+                    "hostname":"phonehome.asia.apple.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "domain-match":[
+            "asia\\.apple\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "rackspace":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"secure.emailsrvr.com",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":143,
+                    "hostname":"secure.emailsrvr.com"
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"secure.emailsrvr.com",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":25,
+                    "hostname":"secure.emailsrvr.com",
+                    "starttls":true
+                },
+                {
+                    "port":587,
+                    "hostname":"secure.emailsrvr.com"
+                },
+                {
+                    "port":25,
+                    "hostname":"secure.emailsrvr.com"
+                }
+            ]
+        },
+        "mx-match":[
+            "mx1\\.emailsrvr\\.com",
+            "mx2\\.emailsrvr\\.com"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "zimbra":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":587,
+                    "starttls":true
+                },
+                {
+                    "port":465,
+                    "ssl":true
+                },
+                {
+                    "port":25,
+                    "starttls":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent",
+            "trash":"Trash"
+        }
+    },
+    "ovh":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":143,
+                    "hostname":"mail.{domain}"
+                }
+            ],
+            "smtp":[
+                {
+                    "port":465,
+                    "hostname":"mail.{domain}",
+                    "ssl":true
+                },
+                {
+                    "port":587,
+                    "hostname":"mail.{domain}"
+                },
+                {
+                    "port":25,
+                    "hostname":"mail.{domain}"
+                }
+            ]
+        },
+        "mx-match":[
+            "mx\\d\\.ovh\\.net"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "fixed-port":{
+        "servers":{
+            "imap":[
+                {
+                    "ssl":true
+                },
+                {
+                    "starttls":true
+                }
+            ],
+            "smtp":[
+                {
+                    "starttls":true
+                },
+                {
+                    "ssl":true
+                }
+            ]
+        },
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+    "outlook":{
+        "servers":{
+            "imap":[
+                {
+                    "port":993,
+                    "hostname":"imap-mail.outlook.com",
+                    "ssl":true
+                }
+            ],
+            "smtp":[
+                {
+                    "port":25,
+                    "hostname":"smtp-mail.outlook.com",
+                    "starttls":true
+                },
+                {
+                    "port":587,
+                    "hostname":"smtp-mail.outlook.com",
+                    "starttls":true
+                }
+            ]
+        },
+        "mx-match":[
+            ".*\\.mail\\.outlook\\.com"
+        ],
+        "domain-match":[
+            "outlook\\.com",
+            "outlook\\.com\\.ar",
+            "outlook\\.com\\.au",
+            "outlook\\.at",
+            "outlook\\.be",
+            "outlook\\.com\\.br",
+            "outlook\\.cl",
+            "outlook\\.cz",
+            "outlook\\.dk",
+            "outlook\\.fr",
+            "outlook\\.de",
+            "outlook\\.com\\.gr",
+            "outlook\\.co\\.id",
+            "outlook\\.ie",
+            "outlook\\.it",
+            "outlook\\.hu",
+            "outlook\\.jp",
+            "outlook\\.kr",
+            "outlook\\.lv",
+            "outlook\\.my",
+            "outlook\\.co\\.nz",
+            "outlook\\.com\\.pe",
+            "outlook\\.ph",
+            "outlook\\.pt",
+            "outlook\\.sa",
+            "outlook\\.sg",
+            "outlook\\.sk",
+            "outlook\\.es",
+            "outlook\\.co\\.th",
+            "outlook\\.com\\.tr",
+            "outlook\\.com\\.vn",
+            "hotmail\\.com",
+            "hotmail\\.co\\.uk",
+            "hotmail\\.fr",
+            "hotmail\\.de",
+            "hotmail\\.be",
+            "hotmail\\.com\\.ar",
+            "hotmail\\.es",
+            "hotmail\\.com\\.mx",
+            "hotmail\\.com",
+            "live\\.com",
+            "live\\.fr",
+            "live\\.de",
+            "live\\.be",
+            "live\\.com\\.ar",
+            "live\\.com\\.mx",
+            "live\\.co\\.uk"
+        ],
+        "mailboxes":{
+            "drafts":"Drafts",
+            "allmail":"Archive",
+            "spam":"Junk",
+            "sentmail":"Sent Messages",
+            "trash":"Deleted Messages"
+        }
+    },
+     "qq": {
+        "servers": {
+            "imap": [
+                {
+                    "port": 993,
+                    "hostname": "imap.exmail.qq.com",
+                    "ssl": true
+                }
+            ],
+            "smtp": [
+                {
+                    "port": 465,
+                    "hostname": "smtp.exmail.qq.com",
+                    "ssl": true
+                }
+            ]
+        },
+        "domain-match": [
+            "qq\\.com"
+        ],
+        "mailboxes": {
+            "drafts": "Drafts",
+            "spam": "Junk",
+            "sentmail": "Sent Messages",
+            "trash": "Deleted Messages"
+        }
+    },
+    "openmailbox": {
+        "servers": {
+            "imap": [
+                {
+                    "port": 143,
+                    "hostname": "imap.openmailbox.org",
+                    "starttls": true
+                }
+            ],
+            "smtp": [
+                {
+                    "port": 587,
+                    "hostname": "smtp.openmailbox.org",
+                    "starttls": true
+                }
+            ]
+        },
+        "domain-match": [
+            "openmailbox\\.org"
+        ],
+        "mailboxes": {
+            "drafts": "Drafts",
+            "allmail": "Archive",
+            "spam": "Spam",
+            "sentmail": "Sent",
+            "trash": "Trash"
+        }
+    },
+    "mailru": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 143,
+                     "hostname": "imap.mail.ru",
+                     "starttls": true
+                     },
+                     {
+                     "port": 993,
+                     "hostname": "imap.mail.ru",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.mail.ru",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "mail\\.ru",
+                         "inbox\\.ru",
+                         "list\\.ru",
+                         "bk\\.ru",
+                         "mail\\.ua"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Корзина"
+        }
+    },
+    "yandex": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.yandex.com",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.yandex.com",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "yandex\\.ru",
+                         "yandex\\.ua",
+                         "yandex\\.kz",
+                         "yandex\\.by",
+                         "yandex\\.com",
+                         "yandex\\.com\\.tr"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Удалённые"
+        }
+    },
+        "comcast": {
+    	"servers": {
+    		"pop": [{
+    			"port": 995,
+    			"hostname": "mail.comcast.net",
+    			"ssl": true
+    		}, {
+    			"port": 110,
+    			"hostname": "mail.comcast.net",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 587,
+    			"hostname": "smtp.comcast.net",
+    			"starttls": true
+    		}, {
+    			"port": 465,
+    			"hostname": "smtp.comcast.net",
+    			"ssl": true
+    		}]
+    	},
+    	"mx-match": [
+    		"mx1\\.comcast\\.net",
+    		"mx2\\.comcast\\.net"
+    	]
+    },
+    "verizon": {
+    	"servers": {
+    		"pop": [{
+    			"port": 995,
+    			"hostname": "pop.verizon.net",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 465,
+    			"hostname": "smtp.verizon.net",
+    			"ssl": true
+    		}]
+
+    	},
+    	"mx-match": [
+    		"relay\\.verizon\\.net"
+    	]
+    },
+    "rcn": {
+    	"servers": {
+    		"pop": [{
+    			"port": 110,
+    			"hostname": "pop.rcn.com",
+    			"ssl": true
+    		}],
+    		"smtp": [{
+    			"port": 25,
+    			"hostname": "smtp.rcn.com",
+    			"ssl": true
+    		}]
+
+    	},
+    	"mx-match": [
+    		"mx\\.rcn\\.com"
+    	]
+    },
+    "ukrnet": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.ukr.net",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.ukr.net",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "ukr\\.net"
+                         ],
+        "mailboxes": {
+            "drafts": "Черновики",
+            "spam": "Спам",
+            "sentmail": "Отправленные",
+            "trash": "Удаленные"
+        }
+    },
+    "rambler": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "imap.rambler.ru",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 465,
+                     "hostname": "smtp.rambler.ru",
+                     "ssl": true
+                     }
+                     ]
+            
+        },
+        "domain-match": [
+                         "rambler\\.ru",
+                         "lenta\\.ru",
+                         "autorambler\\.ru",
+                         "myrambler\\.ru",
+                         "ro\\.ru",
+                         "r0\\.ru"
+                         ],
+        "mailboxes": {
+            "drafts": "DraftBox",
+            "spam": "Spam",
+            "sentmail": "SentBox",
+            "trash": "Trash"
+        }
+    },
+    "office365": {
+        "servers": {
+            "imap": [
+                     {
+                     "port": 993,
+                     "hostname": "outlook.office365.com",
+                     "ssl": true
+                     }
+                     ],
+            "smtp": [
+                     {
+                     "port": 587,
+                     "hostname": "smtp.office365.com",
+                     "starttls": true
+                     }
+                     ]
+            },
+        "mailboxes": {
+            "drafts": "Drafts",
+            "spam": "Junk Email",
+            "sentmail": "Sent Items",
+            "trash": "Deleted Items"
+        }
+    }
+}
diff --git a/ios/Podfile b/ios/Podfile
index 2449793d09852a62aecfea10d5df987f66022740..3414861e9f0e029d2892fbba0d89c914dd1cf48d 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -1,4 +1,4 @@
-source 'https://github.com/hyperledger/indy-sdk-react-native'
+# source 'https://github.com/hyperledger/indy-sdk-react-native'
 source 'https://github.com/CocoaPods/Specs.git'
 require_relative '../node_modules/react-native/scripts/react_native_pods'
 require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
@@ -15,10 +15,8 @@ prepare_react_native_project!
 #   dependencies: {
 #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
 # ```
-flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
-
-use_frameworks! :linkage => :static
-
+# flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
+# use_frameworks! :linkage => :static
 target 'VereignCredentialManager' do
   config = use_native_modules!
 
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 80d2436352f828726dc8e4c382bf95f4ad3598e5..2242d9607fa1211ca3bf8b0c7f36e54830f3a163 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -10,82 +10,24 @@ PODS:
   - boost (1.76.0)
   - CatCrypto (0.3.2)
   - DoubleConversion (1.1.6)
-  - FBLazyVector (0.71.10)
-  - FBReactNativeSpec (0.71.10):
+  - FBLazyVector (0.72.5)
+  - FBReactNativeSpec (0.72.5):
     - RCT-Folly (= 2021.07.22.00)
-    - RCTRequired (= 0.71.10)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Core (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
+    - RCTRequired (= 0.72.5)
+    - RCTTypeSafety (= 0.72.5)
+    - React-Core (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
   - fmt (6.2.1)
   - glog (0.3.5)
-  - GoogleDataTransport (9.2.5):
-    - GoogleUtilities/Environment (~> 7.7)
-    - nanopb (< 2.30910.0, >= 2.30908.0)
-    - PromisesObjC (< 3.0, >= 1.2)
-  - GoogleMLKit/BarcodeScanning (4.0.0):
-    - GoogleMLKit/MLKitCore
-    - MLKitBarcodeScanning (~> 3.0.0)
-  - GoogleMLKit/MLKitCore (4.0.0):
-    - MLKitCommon (~> 9.0.0)
-  - GoogleToolboxForMac/DebugUtils (2.3.2):
-    - GoogleToolboxForMac/Defines (= 2.3.2)
-  - GoogleToolboxForMac/Defines (2.3.2)
-  - GoogleToolboxForMac/Logger (2.3.2):
-    - GoogleToolboxForMac/Defines (= 2.3.2)
-  - "GoogleToolboxForMac/NSData+zlib (2.3.2)":
-    - GoogleToolboxForMac/Defines (= 2.3.2)
-  - "GoogleToolboxForMac/NSDictionary+URLArguments (2.3.2)":
-    - GoogleToolboxForMac/DebugUtils (= 2.3.2)
-    - GoogleToolboxForMac/Defines (= 2.3.2)
-    - "GoogleToolboxForMac/NSString+URLArguments (= 2.3.2)"
-  - "GoogleToolboxForMac/NSString+URLArguments (2.3.2)"
-  - GoogleUtilities/Environment (7.11.5):
-    - PromisesObjC (< 3.0, >= 1.2)
-  - GoogleUtilities/Logger (7.11.5):
-    - GoogleUtilities/Environment
-  - GoogleUtilities/UserDefaults (7.11.5):
-    - GoogleUtilities/Logger
-  - GoogleUtilitiesComponents (1.1.0):
-    - GoogleUtilities/Logger
-  - GTMSessionFetcher/Core (2.3.0)
-  - hermes-engine (0.71.10):
-    - hermes-engine/Pre-built (= 0.71.10)
-  - hermes-engine/Pre-built (0.71.10)
-  - Indy (1.16.0)
-  - indy-sdk-react-native (0.3.1):
-    - Indy
-    - React
+  - hermes-engine (0.72.5):
+    - hermes-engine/Pre-built (= 0.72.5)
+  - hermes-engine/Pre-built (0.72.5)
   - indy-vdr (0.1.0):
     - React
     - React-callinvoker
     - React-Core
   - libevent (2.1.12)
-  - MLImage (1.0.0-beta4)
-  - MLKitBarcodeScanning (3.0.0):
-    - MLKitCommon (~> 9.0)
-    - MLKitVision (~> 5.0)
-  - MLKitCommon (9.0.0):
-    - GoogleDataTransport (~> 9.0)
-    - GoogleToolboxForMac/Logger (~> 2.1)
-    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
-    - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
-    - GoogleUtilities/UserDefaults (~> 7.0)
-    - GoogleUtilitiesComponents (~> 1.0)
-    - GTMSessionFetcher/Core (< 3.0, >= 1.1)
-  - MLKitVision (5.0.0):
-    - GoogleToolboxForMac/Logger (~> 2.1)
-    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
-    - GTMSessionFetcher/Core (< 3.0, >= 1.1)
-    - MLImage (= 1.0.0-beta4)
-    - MLKitCommon (~> 9.0)
-  - nanopb (2.30909.0):
-    - nanopb/decode (= 2.30909.0)
-    - nanopb/encode (= 2.30909.0)
-  - nanopb/decode (2.30909.0)
-  - nanopb/encode (2.30909.0)
-  - PromisesObjC (2.3.1)
   - RCT-Folly (2021.07.22.00):
     - boost
     - DoubleConversion
@@ -103,27 +45,29 @@ PODS:
     - fmt (~> 6.2.1)
     - glog
     - libevent
-  - RCTRequired (0.71.10)
-  - RCTTypeSafety (0.71.10):
-    - FBLazyVector (= 0.71.10)
-    - RCTRequired (= 0.71.10)
-    - React-Core (= 0.71.10)
-  - React (0.71.10):
-    - React-Core (= 0.71.10)
-    - React-Core/DevSupport (= 0.71.10)
-    - React-Core/RCTWebSocket (= 0.71.10)
-    - React-RCTActionSheet (= 0.71.10)
-    - React-RCTAnimation (= 0.71.10)
-    - React-RCTBlob (= 0.71.10)
-    - React-RCTImage (= 0.71.10)
-    - React-RCTLinking (= 0.71.10)
-    - React-RCTNetwork (= 0.71.10)
-    - React-RCTSettings (= 0.71.10)
-    - React-RCTText (= 0.71.10)
-    - React-RCTVibration (= 0.71.10)
-  - React-callinvoker (0.71.10)
-  - React-Codegen (0.71.10):
+  - RCTRequired (0.72.5)
+  - RCTTypeSafety (0.72.5):
+    - FBLazyVector (= 0.72.5)
+    - RCTRequired (= 0.72.5)
+    - React-Core (= 0.72.5)
+  - React (0.72.5):
+    - React-Core (= 0.72.5)
+    - React-Core/DevSupport (= 0.72.5)
+    - React-Core/RCTWebSocket (= 0.72.5)
+    - React-RCTActionSheet (= 0.72.5)
+    - React-RCTAnimation (= 0.72.5)
+    - React-RCTBlob (= 0.72.5)
+    - React-RCTImage (= 0.72.5)
+    - React-RCTLinking (= 0.72.5)
+    - React-RCTNetwork (= 0.72.5)
+    - React-RCTSettings (= 0.72.5)
+    - React-RCTText (= 0.72.5)
+    - React-RCTVibration (= 0.72.5)
+  - React-callinvoker (0.72.5)
+  - React-Codegen (0.72.5):
+    - DoubleConversion
     - FBReactNativeSpec
+    - glog
     - hermes-engine
     - RCT-Folly
     - RCTRequired
@@ -131,216 +75,271 @@ PODS:
     - React-Core
     - React-jsi
     - React-jsiexecutor
+    - React-NativeModulesApple
+    - React-rncore
     - ReactCommon/turbomodule/bridging
     - ReactCommon/turbomodule/core
-  - React-Core (0.71.10):
+  - React-Core (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-Core/Default (= 0.71.10)
-    - React-cxxreact (= 0.71.10)
+    - React-Core/Default (= 0.72.5)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/CoreModulesHeaders (0.71.10):
+  - React-Core/CoreModulesHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/Default (0.71.10):
+  - React-Core/Default (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/DevSupport (0.71.10):
+  - React-Core/DevSupport (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-Core/Default (= 0.71.10)
-    - React-Core/RCTWebSocket (= 0.71.10)
-    - React-cxxreact (= 0.71.10)
+    - React-Core/Default (= 0.72.5)
+    - React-Core/RCTWebSocket (= 0.72.5)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-jsinspector (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-jsinspector (= 0.72.5)
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTActionSheetHeaders (0.71.10):
+  - React-Core/RCTActionSheetHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTAnimationHeaders (0.71.10):
+  - React-Core/RCTAnimationHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTBlobHeaders (0.71.10):
+  - React-Core/RCTBlobHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTImageHeaders (0.71.10):
+  - React-Core/RCTImageHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTLinkingHeaders (0.71.10):
+  - React-Core/RCTLinkingHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTNetworkHeaders (0.71.10):
+  - React-Core/RCTNetworkHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTSettingsHeaders (0.71.10):
+  - React-Core/RCTSettingsHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTTextHeaders (0.71.10):
+  - React-Core/RCTTextHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTVibrationHeaders (0.71.10):
+  - React-Core/RCTVibrationHeaders (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - React-Core/Default
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-Core/RCTWebSocket (0.71.10):
+  - React-Core/RCTWebSocket (0.72.5):
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-Core/Default (= 0.71.10)
-    - React-cxxreact (= 0.71.10)
+    - React-Core/Default (= 0.72.5)
+    - React-cxxreact
     - React-hermes
-    - React-jsi (= 0.71.10)
-    - React-jsiexecutor (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-jsi
+    - React-jsiexecutor
+    - React-perflogger
+    - React-runtimeexecutor
+    - React-utils
+    - SocketRocket (= 0.6.1)
     - Yoga
-  - React-CoreModules (0.71.10):
+  - React-CoreModules (0.72.5):
     - RCT-Folly (= 2021.07.22.00)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Codegen (= 0.71.10)
-    - React-Core/CoreModulesHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
+    - RCTTypeSafety (= 0.72.5)
+    - React-Codegen (= 0.72.5)
+    - React-Core/CoreModulesHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
     - React-RCTBlob
-    - React-RCTImage (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-cxxreact (0.71.10):
+    - React-RCTImage (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+    - SocketRocket (= 0.6.1)
+  - React-cxxreact (0.72.5):
     - boost (= 1.76.0)
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-callinvoker (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-jsinspector (= 0.71.10)
-    - React-logger (= 0.71.10)
-    - React-perflogger (= 0.71.10)
-    - React-runtimeexecutor (= 0.71.10)
-  - React-hermes (0.71.10):
+    - React-callinvoker (= 0.72.5)
+    - React-debug (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-jsinspector (= 0.72.5)
+    - React-logger (= 0.72.5)
+    - React-perflogger (= 0.72.5)
+    - React-runtimeexecutor (= 0.72.5)
+  - React-debug (0.72.5)
+  - React-hermes (0.72.5):
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
     - RCT-Folly/Futures (= 2021.07.22.00)
-    - React-cxxreact (= 0.71.10)
+    - React-cxxreact (= 0.72.5)
     - React-jsi
-    - React-jsiexecutor (= 0.71.10)
-    - React-jsinspector (= 0.71.10)
-    - React-perflogger (= 0.71.10)
-  - React-jsi (0.71.10):
+    - React-jsiexecutor (= 0.72.5)
+    - React-jsinspector (= 0.72.5)
+    - React-perflogger (= 0.72.5)
+  - React-jsi (0.72.5):
     - boost (= 1.76.0)
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-  - React-jsiexecutor (0.71.10):
+  - React-jsiexecutor (0.72.5):
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-cxxreact (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-perflogger (= 0.71.10)
-  - React-jsinspector (0.71.10)
-  - React-logger (0.71.10):
+    - React-cxxreact (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-perflogger (= 0.72.5)
+  - React-jsinspector (0.72.5)
+  - React-logger (0.72.5):
     - glog
   - react-native-aes-gcm-crypto (0.2.2):
     - React-Core
   - react-native-biometrics (3.0.1):
     - React-Core
+  - react-native-camera (3.44.3):
+    - React-Core
+    - react-native-camera/RCT (= 3.44.3)
+    - react-native-camera/RN (= 3.44.3)
+  - react-native-camera/RCT (3.44.3):
+    - React-Core
+  - react-native-camera/RN (3.44.3):
+    - React-Core
   - react-native-config (1.5.1):
     - react-native-config/App (= 1.5.1)
   - react-native-config/App (1.5.1):
@@ -353,122 +352,151 @@ PODS:
     - React-Core
   - react-native-rsa-native (2.0.5):
     - React
-  - react-native-safe-area-context (4.5.3):
-    - RCT-Folly
-    - RCTRequired
-    - RCTTypeSafety
+  - react-native-safe-area-context (4.7.2):
     - React-Core
-    - ReactCommon/turbomodule/core
   - react-native-splash-screen (3.3.0):
     - React-Core
-  - React-perflogger (0.71.10)
-  - React-RCTActionSheet (0.71.10):
-    - React-Core/RCTActionSheetHeaders (= 0.71.10)
-  - React-RCTAnimation (0.71.10):
+  - React-NativeModulesApple (0.72.5):
+    - hermes-engine
+    - React-callinvoker
+    - React-Core
+    - React-cxxreact
+    - React-jsi
+    - React-runtimeexecutor
+    - ReactCommon/turbomodule/bridging
+    - ReactCommon/turbomodule/core
+  - React-perflogger (0.72.5)
+  - React-RCTActionSheet (0.72.5):
+    - React-Core/RCTActionSheetHeaders (= 0.72.5)
+  - React-RCTAnimation (0.72.5):
     - RCT-Folly (= 2021.07.22.00)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTAnimationHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTAppDelegate (0.71.10):
+    - RCTTypeSafety (= 0.72.5)
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTAnimationHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTAppDelegate (0.72.5):
     - RCT-Folly
     - RCTRequired
     - RCTTypeSafety
     - React-Core
+    - React-CoreModules
+    - React-hermes
+    - React-NativeModulesApple
+    - React-RCTImage
+    - React-RCTNetwork
+    - React-runtimescheduler
     - ReactCommon/turbomodule/core
-  - React-RCTBlob (0.71.10):
+  - React-RCTBlob (0.72.5):
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTBlobHeaders (= 0.71.10)
-    - React-Core/RCTWebSocket (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-RCTNetwork (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTImage (0.71.10):
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTBlobHeaders (= 0.72.5)
+    - React-Core/RCTWebSocket (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-RCTNetwork (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTImage (0.72.5):
+    - RCT-Folly (= 2021.07.22.00)
+    - RCTTypeSafety (= 0.72.5)
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTImageHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-RCTNetwork (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTLinking (0.72.5):
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTLinkingHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTNetwork (0.72.5):
     - RCT-Folly (= 2021.07.22.00)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTImageHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-RCTNetwork (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTLinking (0.71.10):
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTLinkingHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTNetwork (0.71.10):
+    - RCTTypeSafety (= 0.72.5)
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTNetworkHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTSettings (0.72.5):
     - RCT-Folly (= 2021.07.22.00)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTNetworkHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTSettings (0.71.10):
+    - RCTTypeSafety (= 0.72.5)
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTSettingsHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-RCTText (0.72.5):
+    - React-Core/RCTTextHeaders (= 0.72.5)
+  - React-RCTVibration (0.72.5):
+    - RCT-Folly (= 2021.07.22.00)
+    - React-Codegen (= 0.72.5)
+    - React-Core/RCTVibrationHeaders (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - ReactCommon/turbomodule/core (= 0.72.5)
+  - React-rncore (0.72.5)
+  - React-runtimeexecutor (0.72.5):
+    - React-jsi (= 0.72.5)
+  - React-runtimescheduler (0.72.5):
+    - glog
+    - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - RCTTypeSafety (= 0.71.10)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTSettingsHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-RCTText (0.71.10):
-    - React-Core/RCTTextHeaders (= 0.71.10)
-  - React-RCTVibration (0.71.10):
+    - React-callinvoker
+    - React-debug
+    - React-jsi
+    - React-runtimeexecutor
+  - React-utils (0.72.5):
+    - glog
     - RCT-Folly (= 2021.07.22.00)
-    - React-Codegen (= 0.71.10)
-    - React-Core/RCTVibrationHeaders (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - ReactCommon/turbomodule/core (= 0.71.10)
-  - React-runtimeexecutor (0.71.10):
-    - React-jsi (= 0.71.10)
-  - ReactCommon/turbomodule/bridging (0.71.10):
+    - React-debug
+  - ReactCommon/turbomodule/bridging (0.72.5):
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-callinvoker (= 0.71.10)
-    - React-Core (= 0.71.10)
-    - React-cxxreact (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-logger (= 0.71.10)
-    - React-perflogger (= 0.71.10)
-  - ReactCommon/turbomodule/core (0.71.10):
+    - React-callinvoker (= 0.72.5)
+    - React-cxxreact (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-logger (= 0.72.5)
+    - React-perflogger (= 0.72.5)
+  - ReactCommon/turbomodule/core (0.72.5):
     - DoubleConversion
     - glog
     - hermes-engine
     - RCT-Folly (= 2021.07.22.00)
-    - React-callinvoker (= 0.71.10)
-    - React-Core (= 0.71.10)
-    - React-cxxreact (= 0.71.10)
-    - React-jsi (= 0.71.10)
-    - React-logger (= 0.71.10)
-    - React-perflogger (= 0.71.10)
+    - React-callinvoker (= 0.72.5)
+    - React-cxxreact (= 0.72.5)
+    - React-jsi (= 0.72.5)
+    - React-logger (= 0.72.5)
+    - React-perflogger (= 0.72.5)
+  - RealmJS (12.2.1):
+    - React
   - rn-fetch-blob (0.12.0):
     - React-Core
   - RNArgon2 (2.0.1):
     - CatCrypto
     - React-Core
-  - RNCAsyncStorage (1.18.2):
+  - RNCAsyncStorage (1.19.3):
     - React-Core
-  - RNCClipboard (1.11.2):
+  - RNCClipboard (1.12.1):
     - React-Core
-  - RNDeviceInfo (10.6.0):
+  - RNDeviceInfo (10.11.0):
     - React-Core
   - RNFS (2.20.0):
     - React-Core
-  - RNGestureHandler (2.11.0):
+  - RNGestureHandler (2.13.2):
     - React-Core
-  - RNKeychain (8.1.1):
+  - RNKeychain (8.1.2):
     - React-Core
-  - RNLocalize (3.0.0):
+  - RNLocalize (3.0.2):
     - React-Core
-  - RNReanimated (2.17.0):
+  - RNNotifee (7.8.0):
+    - React-Core
+    - RNNotifee/NotifeeCore (= 7.8.0)
+  - RNNotifee/NotifeeCore (7.8.0):
+    - React-Core
+  - RNReanimated (3.5.4):
     - DoubleConversion
     - FBLazyVector
-    - FBReactNativeSpec
     - glog
+    - hermes-engine
     - RCT-Folly
     - RCTRequired
     - RCTTypeSafety
@@ -478,11 +506,13 @@ PODS:
     - React-Core/RCTWebSocket
     - React-CoreModules
     - React-cxxreact
+    - React-hermes
     - React-jsi
     - React-jsiexecutor
     - React-jsinspector
     - React-RCTActionSheet
     - React-RCTAnimation
+    - React-RCTAppDelegate
     - React-RCTBlob
     - React-RCTImage
     - React-RCTLinking
@@ -491,22 +521,16 @@ PODS:
     - React-RCTText
     - ReactCommon/turbomodule/core
     - Yoga
-  - RNScreens (3.20.0):
+  - RNScreens (3.25.0):
     - React-Core
     - React-RCTImage
   - RNShare (8.2.2):
     - React-Core
-  - RNSVG (13.9.0):
+  - RNSVG (13.14.0):
     - React-Core
   - RNVectorIcons (9.2.0):
     - React-Core
-  - vision-camera-code-scanner (0.2.0):
-    - GoogleMLKit/BarcodeScanning
-    - React-Core
-  - VisionCamera (2.15.4):
-    - React
-    - React-callinvoker
-    - React-Core
+  - SocketRocket (0.6.1)
   - Yoga (1.14.0)
 
 DEPENDENCIES:
@@ -518,7 +542,6 @@ DEPENDENCIES:
   - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
   - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
-  - indy-sdk-react-native (from `../node_modules/indy-sdk-react-native`)
   - "indy-vdr (from `../node_modules/@hyperledger/indy-vdr-react-native`)"
   - libevent (~> 2.1.12)
   - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
@@ -531,6 +554,7 @@ DEPENDENCIES:
   - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
   - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
   - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
+  - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
   - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
@@ -538,6 +562,7 @@ DEPENDENCIES:
   - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
   - react-native-aes-gcm-crypto (from `../node_modules/react-native-aes-gcm-crypto`)
   - react-native-biometrics (from `../node_modules/react-native-biometrics`)
+  - react-native-camera (from `../node_modules/react-native-camera`)
   - react-native-config (from `../node_modules/react-native-config`)
   - react-native-document-picker (from `../node_modules/react-native-document-picker`)
   - react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
@@ -545,6 +570,7 @@ DEPENDENCIES:
   - react-native-rsa-native (from `../node_modules/react-native-rsa-native`)
   - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
   - react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
+  - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
   - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
   - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
   - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
@@ -556,8 +582,12 @@ DEPENDENCIES:
   - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
   - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
   - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
+  - React-rncore (from `../node_modules/react-native/ReactCommon`)
   - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
+  - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
+  - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
   - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+  - RealmJS (from `../node_modules/realm`)
   - rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
   - RNArgon2 (from `../node_modules/react-native-argon2`)
   - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
@@ -567,35 +597,20 @@ DEPENDENCIES:
   - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
   - RNKeychain (from `../node_modules/react-native-keychain`)
   - RNLocalize (from `../node_modules/react-native-localize`)
+  - "RNNotifee (from `../node_modules/@notifee/react-native`)"
   - RNReanimated (from `../node_modules/react-native-reanimated`)
   - RNScreens (from `../node_modules/react-native-screens`)
   - RNShare (from `../node_modules/react-native-share`)
   - RNSVG (from `../node_modules/react-native-svg`)
   - RNVectorIcons (from `../node_modules/react-native-vector-icons`)
-  - vision-camera-code-scanner (from `../node_modules/vision-camera-code-scanner`)
-  - VisionCamera (from `../node_modules/react-native-vision-camera`)
   - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
 
 SPEC REPOS:
   https://github.com/CocoaPods/Specs.git:
     - CatCrypto
-    - GoogleDataTransport
-    - GoogleMLKit
-    - GoogleToolboxForMac
-    - GoogleUtilities
-    - GoogleUtilitiesComponents
-    - GTMSessionFetcher
-    - MLImage
-    - MLKitBarcodeScanning
-    - MLKitCommon
-    - MLKitVision
-    - nanopb
-    - PromisesObjC
-  https://github.com/hyperledger/indy-sdk-react-native:
-    - Indy
-  trunk:
     - fmt
     - libevent
+    - SocketRocket
 
 EXTERNAL SOURCES:
   anoncreds:
@@ -614,8 +629,7 @@ EXTERNAL SOURCES:
     :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
   hermes-engine:
     :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
-  indy-sdk-react-native:
-    :path: "../node_modules/indy-sdk-react-native"
+    :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0
   indy-vdr:
     :path: "../node_modules/@hyperledger/indy-vdr-react-native"
   RCT-Folly:
@@ -636,6 +650,8 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native/React/CoreModules"
   React-cxxreact:
     :path: "../node_modules/react-native/ReactCommon/cxxreact"
+  React-debug:
+    :path: "../node_modules/react-native/ReactCommon/react/debug"
   React-hermes:
     :path: "../node_modules/react-native/ReactCommon/hermes"
   React-jsi:
@@ -650,6 +666,8 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native-aes-gcm-crypto"
   react-native-biometrics:
     :path: "../node_modules/react-native-biometrics"
+  react-native-camera:
+    :path: "../node_modules/react-native-camera"
   react-native-config:
     :path: "../node_modules/react-native-config"
   react-native-document-picker:
@@ -664,6 +682,8 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native-safe-area-context"
   react-native-splash-screen:
     :path: "../node_modules/react-native-splash-screen"
+  React-NativeModulesApple:
+    :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
   React-perflogger:
     :path: "../node_modules/react-native/ReactCommon/reactperflogger"
   React-RCTActionSheet:
@@ -686,10 +706,18 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native/Libraries/Text"
   React-RCTVibration:
     :path: "../node_modules/react-native/Libraries/Vibration"
+  React-rncore:
+    :path: "../node_modules/react-native/ReactCommon"
   React-runtimeexecutor:
     :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
+  React-runtimescheduler:
+    :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
+  React-utils:
+    :path: "../node_modules/react-native/ReactCommon/react/utils"
   ReactCommon:
     :path: "../node_modules/react-native/ReactCommon"
+  RealmJS:
+    :path: "../node_modules/realm"
   rn-fetch-blob:
     :path: "../node_modules/rn-fetch-blob"
   RNArgon2:
@@ -708,6 +736,8 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native-keychain"
   RNLocalize:
     :path: "../node_modules/react-native-localize"
+  RNNotifee:
+    :path: "../node_modules/@notifee/react-native"
   RNReanimated:
     :path: "../node_modules/react-native-reanimated"
   RNScreens:
@@ -718,10 +748,6 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native-svg"
   RNVectorIcons:
     :path: "../node_modules/react-native-vector-icons"
-  vision-camera-code-scanner:
-    :path: "../node_modules/vision-camera-code-scanner"
-  VisionCamera:
-    :path: "../node_modules/react-native-vision-camera"
   Yoga:
     :path: "../node_modules/react-native/ReactCommon/yoga"
 
@@ -731,81 +757,74 @@ SPEC CHECKSUMS:
   boost: 57d2868c099736d80fcd648bf211b4431e51a558
   CatCrypto: a477899b6be4954e75be4897e732da098cc0a5a8
   DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
-  FBLazyVector: ddb55c55295ea51ed98aa7e2e08add2f826309d5
-  FBReactNativeSpec: 90fc1a90b4b7a171e0a7c20ea426c1bf6ce4399c
+  FBLazyVector: 71803c074f6325f10b5ec891c443b6bbabef0ca7
+  FBReactNativeSpec: 448e08a759d29a96e15725ae532445bf4343567c
   fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
   glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
-  GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
-  GoogleMLKit: 2bd0dc6253c4d4f227aad460f69215a504b2980e
-  GoogleToolboxForMac: 8bef7c7c5cf7291c687cf5354f39f9db6399ad34
-  GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
-  GoogleUtilitiesComponents: 679b2c881db3b615a2777504623df6122dd20afe
-  GTMSessionFetcher: 3a63d75eecd6aa32c2fc79f578064e1214dfdec2
-  hermes-engine: d27603b55a48402501ad1928c05411dae9cd6b85
-  Indy: d9976ce47c0308bd1fea6f90e3ad3db59a3b49b9
-  indy-sdk-react-native: d98862d0fffa42cc427d5ceffb6589e7c7ce8c46
+  hermes-engine: f6cf92a471053245614d9d8097736f6337d5b86c
   indy-vdr: 85cd66089f151256581323440e78988891f4082e
   libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
-  MLImage: 7bb7c4264164ade9bf64f679b40fb29c8f33ee9b
-  MLKitBarcodeScanning: 04e264482c5f3810cb89ebc134ef6b61e67db505
-  MLKitCommon: c1b791c3e667091918d91bda4bba69a91011e390
-  MLKitVision: 8baa5f46ee3352614169b85250574fde38c36f49
-  nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
-  PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
   RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
-  RCTRequired: 8ef706f91e2b643cd32c26a57700b5f24fab0585
-  RCTTypeSafety: 5fbddd8eb9242b91ac0d901c01da3673f358b1b7
-  React: e5d2d559e89d256a1d6da64d51adaecda9c8ddae
-  React-callinvoker: 352ecbafbdccca5fdf4aed99c98ae5b7fc28e39b
-  React-Codegen: fa660a71e24078b2e52a62ecc2f3048c2f8ae6d7
-  React-Core: 4ec45c2d537fe58e6d878bec6a13e3e2bed9c182
-  React-CoreModules: 63f7f9fda3d4b214040a80e3f47ab4fb9a3e88e6
-  React-cxxreact: 1a729807190ebf98ce5fb0c3d2ed211e8b5f2f87
-  React-hermes: eb93eb6e7921ecd4abcc6e741b327f40763e850f
-  React-jsi: 1995961abdff0c9af9aae8a6b24468f21811000e
-  React-jsiexecutor: 4bb480a183a354e4dbfb1012936b1a2bb9357de7
-  React-jsinspector: cdc854f8b13abd202afa54bc12578e5afb9cfae1
-  React-logger: ef2269b3afa6ba868da90496c3e17a4ec4f4cee0
+  RCTRequired: df81ab637d35fac9e6eb94611cfd20f0feb05455
+  RCTTypeSafety: 4636e4a36c7c2df332bda6d59b19b41c443d4287
+  React: e0cc5197a804031a6c53fb38483c3485fcb9d6f3
+  React-callinvoker: 1a635856fe0c3d8b13fccd4ed7e76283b99b0868
+  React-Codegen: 78d61f981cccc68a771a598f71621cb7db14b04c
+  React-Core: 252f8e9ca5a4e91af9b9be58670846d662b1c49f
+  React-CoreModules: f8b9e91fac7bd5d18729ce961a4978c70b5031cc
+  React-cxxreact: 70284b32dcd367439d7dae84d9f72660544181b5
+  React-debug: ee33d7ba43766d9b10b32561527b57ccfbcb6bd1
+  React-hermes: 91f97ea2669dc5847e1f26c243aaad913319c570
+  React-jsi: bd68b7779746014f01ea72d1b738809e132d7f1e
+  React-jsiexecutor: ff70a72027dea5cc7d71cfcc6fad7f599f63987a
+  React-jsinspector: aef73cbd43b70675f572214d10fa438c89bf11ba
+  React-logger: 2e4aee3e11b3ec4fa6cfd8004610bbb3b8d6cca4
   react-native-aes-gcm-crypto: f1bade1824458569b0e0f27ef4bc647ffe48ebbc
   react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc
+  react-native-camera: b8cc03e2feec0c04403d0998e37cf519d8fd4c6f
   react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8
   react-native-document-picker: 2b8f18667caee73a96708a82b284a4f40b30a156
   react-native-get-random-values: dee677497c6a740b71e5612e8dbd83e7539ed5bb
   react-native-render-html: 984dfe2294163d04bf5fe25d7c9f122e60e05ebe
   react-native-rsa-native: 12132eb627797529fdb1f0d22fd0f8f9678df64a
-  react-native-safe-area-context: b8979f5eda6ed5903d4dbc885be3846ea3daa753
+  react-native-safe-area-context: 7aa8e6d9d0f3100a820efb1a98af68aa747f9284
   react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
-  React-perflogger: 217095464d5c4bb70df0742fa86bf2a363693468
-  React-RCTActionSheet: 8deae9b85a4cbc6a2243618ea62a374880a2c614
-  React-RCTAnimation: 59c62353a8b59ce206044786c5d30e4754bffa64
-  React-RCTAppDelegate: ef66a6904141fca96bffb00fac327a482b575f19
-  React-RCTBlob: 8e518bae3d6ca97ffb7088da673fbbc53042d94d
-  React-RCTImage: 36c0324ff499802b9874d6803ca72026e90434f6
-  React-RCTLinking: 401aec3a01b18c2c8ed93bf3a6758b87e617c58d
-  React-RCTNetwork: cb25b9f2737c3aa2cde0fe0bd7ff7fabf7bf9ad0
-  React-RCTSettings: cb6ae9f656e1c880500c2ecbe8e72861c2262afa
-  React-RCTText: 7404fd01809244d79d456f92cfe6f9fbadf69209
-  React-RCTVibration: d13cc2d63286c633393d3a7f6f607cc2a09ec011
-  React-runtimeexecutor: a9a1cd79996c9a0846e3232ecb25c64e1cc0172e
-  ReactCommon: e7a0cdbb67f8da60677db83d693dea816780a6e9
+  React-NativeModulesApple: 797bc6078d566eef3fb3f74127e6e1d2e945a15f
+  React-perflogger: cd8886513f68e1c135a1e79d20575c6489641597
+  React-RCTActionSheet: 726d2615ca62a77ce3e2c13d87f65379cdc73498
+  React-RCTAnimation: 8f2716b881c37c64858e4ecee0f58bfa57ff9afd
+  React-RCTAppDelegate: d4a213f29e81682f6b9c7d22f62a2ccab6d125ae
+  React-RCTBlob: dfaa933231c3497915bbcc9d98fcff7b6b60582c
+  React-RCTImage: 747e3d7b656a67470f9c234baedb8d41bbc4e745
+  React-RCTLinking: 148332b5b0396b280b05534f7d168e560a3bbd5f
+  React-RCTNetwork: 1d818121a8e678f064de663a6db7aaefc099e53c
+  React-RCTSettings: 4b95d26ebc88bfd3b6535b2d7904914ff88dbfc2
+  React-RCTText: ce4499e4f2d8f85dc4b93ff0559313a016c4f3e2
+  React-RCTVibration: 45372e61b35e96d16893540958d156675afbeb63
+  React-rncore: a79d1cb3d6c01b358a8aa0b31ccc04ab5f0dbebc
+  React-runtimeexecutor: 7e31e2bc6d0ecc83d4ba05eadc98401007abc10c
+  React-runtimescheduler: cc32add98c45c5df18436a6a52a7e1f6edec102c
+  React-utils: 7a9918a1ffdd39aba67835d42386f592ea3f8e76
+  ReactCommon: 91ece8350ebb3dd2be9cef662abd78b6948233c0
+  RealmJS: b36dae5c0def204602827884512252a320332c69
   rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
   RNArgon2: 1481820722fd4af1575c09f7fc9ad67c00ee8a42
-  RNCAsyncStorage: ddc4ee162bfd41b0d2c68bf2d95acd81dd7f1f93
-  RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc
-  RNDeviceInfo: 475a4c447168d0ad4c807e48ef5e0963a0f4eb1b
+  RNCAsyncStorage: c913ede1fa163a71cea118ed4670bbaaa4b511bb
+  RNCClipboard: d77213bfa269013bf4b857b7a9ca37ee062d8ef1
+  RNDeviceInfo: bf8a32acbcb875f568217285d1793b0e8588c974
   RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
-  RNGestureHandler: 026038a97d4c8649ce397a22e162ca58b4e6c230
-  RNKeychain: ff836453cba46938e0e9e4c22e43d43fa2c90333
-  RNLocalize: 5944c97d2fe8150913a51ddd5eab4e23a82bd80d
-  RNReanimated: f186e85d9f28c9383d05ca39e11dd194f59093ec
-  RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
+  RNGestureHandler: bb86e378287f7713baf3ca205423eb8109790022
+  RNKeychain: a65256b6ca6ba6976132cc4124b238a5b13b3d9c
+  RNLocalize: dbea38dcb344bf80ff18a1757b1becf11f70cae4
+  RNNotifee: f3c01b391dd8e98e67f539f9a35a9cbcd3bae744
+  RNReanimated: ab2e96c6d5591c3dfbb38a464f54c8d17fb34a87
+  RNScreens: 85d3880b52d34db7b8eeebe2f1a0e807c05e69fa
   RNShare: d82e10f6b7677f4b0048c23709bd04098d5aee6c
-  RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315
+  RNSVG: d00c8f91c3cbf6d476451313a18f04d220d4f396
   RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8
-  vision-camera-code-scanner: dda884a7f3ec8243a2a6d6489b91860648371bca
-  VisionCamera: c6356b309f7b8e185b7be2e703ec67bb35acf345
-  Yoga: e7ea9e590e27460d28911403b894722354d73479
+  SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
+  Yoga: 86fed2e4d425ee4c6eab3813ba1791101ee153c6
 
-PODFILE CHECKSUM: a70b8841dadb169ce8704d6b9fb1be7df2e4bbbf
+PODFILE CHECKSUM: f132b3478cf1326c4b3b919d11de3d5ba6bb2341
 
 COCOAPODS: 1.12.1
diff --git a/ios/VereignCredentialManager.xcodeproj/project.pbxproj b/ios/VereignCredentialManager.xcodeproj/project.pbxproj
index c84f3669dadcc527e543a6f2a615109d9df91060..19dd1ae5453271d6bd92385b36c6f0645a443720 100644
--- a/ios/VereignCredentialManager.xcodeproj/project.pbxproj
+++ b/ios/VereignCredentialManager.xcodeproj/project.pbxproj
@@ -11,15 +11,18 @@
 		13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+		2CDE8E98A31974A7F8D863CD /* libPods-VereignCredentialManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C9F9D04AA94E655A9A8C0AC /* libPods-VereignCredentialManager.a */; };
 		45C868E35EB249A298F128C4 /* TitilliumWeb-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34AF55BBFD0A4B44AB7DBE8B /* TitilliumWeb-Regular.ttf */; };
 		7BA9C4503A9B4E6D8132A42C /* antoutline.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1035D30535C64F25B3B6EF5A /* antoutline.ttf */; };
 		7D1BB02F91E54B0297C6C67D /* TitilliumWeb-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EF7CF2CD60574ADD8E0AFAD9 /* TitilliumWeb-SemiBold.ttf */; };
 		81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
 		B89EBF06EC1149C6A7A0B91E /* antfill.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E329655F7F8247C4AA1220C1 /* antfill.ttf */; };
 		BD211E3DFD554642A53882D4 /* TitilliumWeb-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CDFADC7BA94A49E8BD7C41B7 /* TitilliumWeb-Light.ttf */; };
-		BFEADD300E908137D8835F3B /* Pods_VereignCredentialManager_VereignCredentialManagerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D5B98C14706E7EAAC29A92C /* Pods_VereignCredentialManager_VereignCredentialManagerTests.framework */; };
-		E0FE88F74480FF79D70E7EE0 /* Pods_VereignCredentialManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5579BF7DB32DAFD317703617 /* Pods_VereignCredentialManager.framework */; };
-		FE5B187A27BB9E9700E39BA4 /* Indy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE5B187927BB9E9700E39BA4 /* Indy.framework */; platformFilter = ios; };
+		FB1934E72AEAAE9F00138B0E /* MailCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1934E62AEAAE9F00138B0E /* MailCore.xcframework */; };
+		FB1934E82AEAAEA800138B0E /* MailCore.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1934E62AEAAE9F00138B0E /* MailCore.xcframework */; };
+		FB1934E92AEAAEA800138B0E /* MailCore.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FB1934E62AEAAE9F00138B0E /* MailCore.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		FB82ADE42AE7C8F200767A3B /* VereignImapModule.m in Sources */ = {isa = PBXBuildFile; fileRef = FB82ADE32AE7C8F200767A3B /* VereignImapModule.m */; };
+		FB82ADEA2AE7CBC100767A3B /* RCTVereignImapModule.m in Sources */ = {isa = PBXBuildFile; fileRef = FB82ADE92AE7CBC100767A3B /* RCTVereignImapModule.m */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -32,6 +35,20 @@
 		};
 /* End PBXContainerItemProxy section */
 
+/* Begin PBXCopyFilesBuildPhase section */
+		FB2BDC712AEAADF100A4B49F /* Embed Frameworks */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				FB1934E92AEAAEA800138B0E /* MailCore.xcframework in Embed Frameworks */,
+			);
+			name = "Embed Frameworks";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
 /* Begin PBXFileReference section */
 		00E356EE1AD99517003FC87E /* VereignCredentialManagerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VereignCredentialManagerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -47,31 +64,34 @@
 		186C1DA476994FEBB2A0FB48 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
 		1C10BC92F9394E6486AF27F0 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
 		22925182963E43AABAFC6DE1 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; };
-		2D5B98C14706E7EAAC29A92C /* Pods_VereignCredentialManager_VereignCredentialManagerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_VereignCredentialManager_VereignCredentialManagerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		23E82B68FFEBA82365B72D84 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig"; sourceTree = "<group>"; };
 		34AF55BBFD0A4B44AB7DBE8B /* TitilliumWeb-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "TitilliumWeb-Regular.ttf"; path = "../src/assets/fonts/TitilliumWeb-Regular.ttf"; sourceTree = "<group>"; };
-		3B4392A12AC88292D35C810B /* Pods-VereignCredentialManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager.debug.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager.debug.xcconfig"; sourceTree = "<group>"; };
+		3C9F9D04AA94E655A9A8C0AC /* libPods-VereignCredentialManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-VereignCredentialManager.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		3CF1B5970F764466AA5B532C /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
 		42E4200B2E44481BAB5535A4 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
-		5579BF7DB32DAFD317703617 /* Pods_VereignCredentialManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_VereignCredentialManager.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		56C06A0D868D49B28D5EE2DB /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
-		5709B34CF0A7D63546082F79 /* Pods-VereignCredentialManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager.release.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager.release.xcconfig"; sourceTree = "<group>"; };
-		5B7EB9410499542E8C5724F5 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig"; sourceTree = "<group>"; };
 		81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = VereignCredentialManager/LaunchScreen.storyboard; sourceTree = "<group>"; };
-		89C6BE57DB24E9ADA2F236DE /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig"; sourceTree = "<group>"; };
+		8B15359B4FE9FEBD1A1CDAC6 /* Pods-VereignCredentialManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager.release.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager.release.xcconfig"; sourceTree = "<group>"; };
 		A20DE76CC5794D40B00346D9 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
 		A78E245B6B044A8193B781D6 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
 		B472E6D57FD947A8A95A3D9A /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
 		B490EA60295A4303AC328F11 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
 		B511E1FF35794D8384EEB91B /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
+		B737C95BDF325314FAA1975E /* Pods-VereignCredentialManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager.debug.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager.debug.xcconfig"; sourceTree = "<group>"; };
 		BA90FEF376154B83B2B914CF /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
 		C1ED828338A44A30836FBA4C /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; };
 		CDFADC7BA94A49E8BD7C41B7 /* TitilliumWeb-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "TitilliumWeb-Light.ttf"; path = "../src/assets/fonts/TitilliumWeb-Light.ttf"; sourceTree = "<group>"; };
 		D3FD2AA880404D3FBE7B5654 /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf"; sourceTree = "<group>"; };
 		E329655F7F8247C4AA1220C1 /* antfill.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = antfill.ttf; path = "../node_modules/@ant-design/icons-react-native/fonts/antfill.ttf"; sourceTree = "<group>"; };
+		E5D8E6DBF181A1498810AC93 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig"; path = "Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig"; sourceTree = "<group>"; };
 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
 		EDCB2B460766460B81E66726 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
 		EF7CF2CD60574ADD8E0AFAD9 /* TitilliumWeb-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "TitilliumWeb-SemiBold.ttf"; path = "../src/assets/fonts/TitilliumWeb-SemiBold.ttf"; sourceTree = "<group>"; };
-		FE5B187927BB9E9700E39BA4 /* Indy.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Indy.framework; path = Pods/Frameworks/Indy.framework; sourceTree = "<group>"; };
+		FB1934E62AEAAE9F00138B0E /* MailCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = MailCore.xcframework; sourceTree = "<group>"; };
+		FB82ADE32AE7C8F200767A3B /* VereignImapModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VereignImapModule.m; sourceTree = "<group>"; };
+		FB82ADE52AE7C91600767A3B /* VereignImapModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VereignImapModule.h; sourceTree = "<group>"; };
+		FB82ADE92AE7CBC100767A3B /* RCTVereignImapModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTVereignImapModule.m; sourceTree = "<group>"; };
+		FB82ADEB2AE7CBD100767A3B /* RCTVereginImapModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTVereginImapModule.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -79,16 +99,16 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				BFEADD300E908137D8835F3B /* Pods_VereignCredentialManager_VereignCredentialManagerTests.framework in Frameworks */,
+				FB1934E72AEAAE9F00138B0E /* MailCore.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+		9AF72C3E6CD4C6FF5939435E /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				FE5B187A27BB9E9700E39BA4 /* Indy.framework in Frameworks */,
-				E0FE88F74480FF79D70E7EE0 /* Pods_VereignCredentialManager.framework in Frameworks */,
+				2CDE8E98A31974A7F8D863CD /* libPods-VereignCredentialManager.a in Frameworks */,
+				FB1934E82AEAAEA800138B0E /* MailCore.xcframework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -115,6 +135,7 @@
 		13B07FAE1A68108700A75B9A /* VereignCredentialManager */ = {
 			isa = PBXGroup;
 			children = (
+				FB82ADE22AE7C8C700767A3B /* VereignImapModule */,
 				13B07FAF1A68108700A75B9A /* AppDelegate.h */,
 				13B07FB01A68108700A75B9A /* AppDelegate.mm */,
 				13B07FB51A68108700A75B9A /* Images.xcassets */,
@@ -128,10 +149,9 @@
 		2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				FE5B187927BB9E9700E39BA4 /* Indy.framework */,
+				FB1934E62AEAAE9F00138B0E /* MailCore.xcframework */,
 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
-				5579BF7DB32DAFD317703617 /* Pods_VereignCredentialManager.framework */,
-				2D5B98C14706E7EAAC29A92C /* Pods_VereignCredentialManager_VereignCredentialManagerTests.framework */,
+				3C9F9D04AA94E655A9A8C0AC /* libPods-VereignCredentialManager.a */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -199,14 +219,25 @@
 		BBD78D7AC51CEA395F1C20DB /* Pods */ = {
 			isa = PBXGroup;
 			children = (
-				3B4392A12AC88292D35C810B /* Pods-VereignCredentialManager.debug.xcconfig */,
-				5709B34CF0A7D63546082F79 /* Pods-VereignCredentialManager.release.xcconfig */,
-				5B7EB9410499542E8C5724F5 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */,
-				89C6BE57DB24E9ADA2F236DE /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */,
+				B737C95BDF325314FAA1975E /* Pods-VereignCredentialManager.debug.xcconfig */,
+				8B15359B4FE9FEBD1A1CDAC6 /* Pods-VereignCredentialManager.release.xcconfig */,
+				E5D8E6DBF181A1498810AC93 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */,
+				23E82B68FFEBA82365B72D84 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */,
 			);
 			path = Pods;
 			sourceTree = "<group>";
 		};
+		FB82ADE22AE7C8C700767A3B /* VereignImapModule */ = {
+			isa = PBXGroup;
+			children = (
+				FB82ADE32AE7C8F200767A3B /* VereignImapModule.m */,
+				FB82ADE52AE7C91600767A3B /* VereignImapModule.h */,
+				FB82ADE92AE7CBC100767A3B /* RCTVereignImapModule.m */,
+				FB82ADEB2AE7CBD100767A3B /* RCTVereginImapModule.h */,
+			);
+			path = VereignImapModule;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -214,11 +245,11 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "VereignCredentialManagerTests" */;
 			buildPhases = (
-				A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */,
+				03F6D6F7A0BD34DA3822906F /* [CP] Check Pods Manifest.lock */,
 				00E356EA1AD99517003FC87E /* Sources */,
 				00E356EB1AD99517003FC87E /* Frameworks */,
-				C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */,
-				F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */,
+				C2F152C99DEDC2F58A8024C3 /* [CP] Embed Pods Frameworks */,
+				54CA0C186BAF96A746BD2511 /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
 			);
@@ -234,20 +265,23 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "VereignCredentialManager" */;
 			buildPhases = (
-				C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
+				CD8C46304CC2A7087057D5D4 /* [CP] Check Pods Manifest.lock */,
 				FD10A7F022414F080027D42C /* Start Packager */,
 				13B07F871A680F5B00A75B9A /* Sources */,
-				13B07F8C1A680F5B00A75B9A /* Frameworks */,
 				13B07F8E1A680F5B00A75B9A /* Resources */,
 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
-				00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
-				E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
+				9AF72C3E6CD4C6FF5939435E /* Frameworks */,
+				2AC9F3006577FFD4AAC4325D /* [CP] Embed Pods Frameworks */,
+				F5F62FFD953C7D08E7765F2F /* [CP] Copy Pods Resources */,
+				FB2BDC712AEAADF100A4B49F /* Embed Frameworks */,
 			);
 			buildRules = (
 			);
 			dependencies = (
 			);
 			name = VereignCredentialManager;
+			packageProductDependencies = (
+			);
 			productName = VereignCredentialManager;
 			productReference = 13B07F961A680F5B00A75B9A /* Vereign Credential Manager.app */;
 			productType = "com.apple.product-type.application";
@@ -322,68 +356,63 @@
 			shellPath = /bin/sh;
 			shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
 		};
-		00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
+		03F6D6F7A0BD34DA3822906F /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks-${CONFIGURATION}-input-files.xcfilelist",
 			);
-			name = "[CP] Embed Pods Frameworks";
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
 			outputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-VereignCredentialManager-VereignCredentialManagerTests-checkManifestLockResult.txt",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks.sh\"\n";
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
-		A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
+		2AC9F3006577FFD4AAC4325D /* [CP] Embed Pods Frameworks */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks-${CONFIGURATION}-input-files.xcfilelist",
 			);
-			inputPaths = (
-				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-				"${PODS_ROOT}/Manifest.lock",
-			);
-			name = "[CP] Check Pods Manifest.lock";
+			name = "[CP] Embed Pods Frameworks";
 			outputFileListPaths = (
-			);
-			outputPaths = (
-				"$(DERIVED_FILE_DIR)/Pods-VereignCredentialManager-VereignCredentialManagerTests-checkManifestLockResult.txt",
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks-${CONFIGURATION}-output-files.xcfilelist",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
-		C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
+		54CA0C186BAF96A746BD2511 /* [CP] Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources-${CONFIGURATION}-input-files.xcfilelist",
 			);
-			inputPaths = (
-				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-				"${PODS_ROOT}/Manifest.lock",
-			);
-			name = "[CP] Check Pods Manifest.lock";
+			name = "[CP] Copy Pods Resources";
 			outputFileListPaths = (
-			);
-			outputPaths = (
-				"$(DERIVED_FILE_DIR)/Pods-VereignCredentialManager-checkManifestLockResult.txt",
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources-${CONFIGURATION}-output-files.xcfilelist",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
-		C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = {
+		C2F152C99DEDC2F58A8024C3 /* [CP] Embed Pods Frameworks */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -400,38 +429,43 @@
 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
-		E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
+		CD8C46304CC2A7087057D5D4 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources-${CONFIGURATION}-input-files.xcfilelist",
 			);
-			name = "[CP] Copy Pods Resources";
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
 			outputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources-${CONFIGURATION}-output-files.xcfilelist",
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-VereignCredentialManager-checkManifestLockResult.txt",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources.sh\"\n";
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
-		F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
+		F5F62FFD953C7D08E7765F2F /* [CP] Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources-${CONFIGURATION}-input-files.xcfilelist",
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources-${CONFIGURATION}-input-files.xcfilelist",
 			);
 			name = "[CP] Copy Pods Resources";
 			outputFileListPaths = (
-				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources-${CONFIGURATION}-output-files.xcfilelist",
+				"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources-${CONFIGURATION}-output-files.xcfilelist",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager-VereignCredentialManagerTests/Pods-VereignCredentialManager-VereignCredentialManagerTests-resources.sh\"\n";
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-VereignCredentialManager/Pods-VereignCredentialManager-resources.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
 		FD10A7F022414F080027D42C /* Start Packager */ = {
@@ -469,7 +503,9 @@
 			buildActionMask = 2147483647;
 			files = (
 				13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
+				FB82ADE42AE7C8F200767A3B /* VereignImapModule.m in Sources */,
 				13B07FC11A68108700A75B9A /* main.m in Sources */,
+				FB82ADEA2AE7CBC100767A3B /* RCTVereignImapModule.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -486,7 +522,7 @@
 /* Begin XCBuildConfiguration section */
 		00E356F61AD99517003FC87E /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */;
+			baseConfigurationReference = E5D8E6DBF181A1498810AC93 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.debug.xcconfig */;
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_IDENTITY = "Apple Development";
@@ -517,7 +553,7 @@
 		};
 		00E356F71AD99517003FC87E /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */;
+			baseConfigurationReference = 23E82B68FFEBA82365B72D84 /* Pods-VereignCredentialManager-VereignCredentialManagerTests.release.xcconfig */;
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_IDENTITY = "Apple Development";
@@ -545,13 +581,14 @@
 		};
 		13B07F941A680F5B00A75B9A /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-VereignCredentialManager.debug.xcconfig */;
+			baseConfigurationReference = B737C95BDF325314FAA1975E /* Pods-VereignCredentialManager.debug.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 7;
+				CURRENT_PROJECT_VERSION = 10;
 				DEVELOPMENT_TEAM = 8UD6K7Y37V;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -564,12 +601,35 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 0.0.1;
+				MARKETING_VERSION = 0.1.2;
+				OTHER_CFLAGS = (
+					"$(inherited)",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/CatCrypto/CatCrypto.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/RNArgon2/RNArgon2.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-aes-gcm-crypto/react_native_aes_gcm_crypto.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-rsa-native/react_native_rsa_native.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Codegen/React-Codegen.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"",
+					"$(inherited)",
+					"-DFOLLY_NO_CONFIG",
+					"-DFOLLY_MOBILE=1",
+					"-DFOLLY_USE_LIBCPP=1",
+					"-Wno-comma",
+					"-Wno-shorten-64-to-32",
+					"-DREACT_NATIVE_MINOR_VERSION=72",
+					"-DREANIMATED_VERSION=3.5.4",
+				);
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
 					"-lc++",
 				);
+				OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/CatCrypto/CatCrypto.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/RNArgon2/RNArgon2.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Codegen/React-Codegen.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"  -import-underlying-module";
 				PRODUCT_BUNDLE_IDENTIFIER = com.vereign.vcm;
 				PRODUCT_NAME = "Vereign Credential Manager";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -581,13 +641,14 @@
 		};
 		13B07F951A680F5B00A75B9A /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-VereignCredentialManager.release.xcconfig */;
+			baseConfigurationReference = 8B15359B4FE9FEBD1A1CDAC6 /* Pods-VereignCredentialManager.release.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 7;
+				CURRENT_PROJECT_VERSION = 10;
 				DEVELOPMENT_TEAM = 8UD6K7Y37V;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -600,12 +661,35 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 0.0.1;
+				MARKETING_VERSION = 0.1.2;
+				OTHER_CFLAGS = (
+					"$(inherited)",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/CatCrypto/CatCrypto.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/RNArgon2/RNArgon2.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-aes-gcm-crypto/react_native_aes_gcm_crypto.modulemap\"",
+					"-fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-rsa-native/react_native_rsa_native.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Codegen/React-Codegen.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\"",
+					"-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"",
+					"$(inherited)",
+					"-DFOLLY_NO_CONFIG",
+					"-DFOLLY_MOBILE=1",
+					"-DFOLLY_USE_LIBCPP=1",
+					"-Wno-comma",
+					"-Wno-shorten-64-to-32",
+					"-DREACT_NATIVE_MINOR_VERSION=72",
+					"-DREANIMATED_VERSION=3.5.4",
+				);
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
 					"-lc++",
 				);
+				OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/CatCrypto/CatCrypto.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/RNArgon2/RNArgon2.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Codegen/React-Codegen.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\" -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"  -import-underlying-module";
 				PRODUCT_BUNDLE_IDENTIFIER = com.vereign.vcm;
 				PRODUCT_NAME = "Vereign Credential Manager";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -618,7 +702,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+				BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "c++17";
 				CLANG_CXX_LIBRARY = "libc++";
@@ -656,6 +740,7 @@
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"DEBUG=1",
 					"$(inherited)",
+					_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
 				);
 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -664,6 +749,14 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(inherited)",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+					"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+					"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+				);
 				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					/usr/lib/swift,
@@ -676,14 +769,31 @@
 				);
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
+				OTHER_CFLAGS = "$(inherited)";
 				OTHER_CPLUSPLUSFLAGS = (
 					"$(OTHER_CFLAGS)",
 					"-DFOLLY_NO_CONFIG",
 					"-DFOLLY_MOBILE=1",
 					"-DFOLLY_USE_LIBCPP=1",
 				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+				);
 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
 				SDKROOT = iphoneos;
+				SWIFT_EMIT_LOC_STRINGS = NO;
 			};
 			name = Debug;
 		};
@@ -691,7 +801,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+				BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "c++17";
 				CLANG_CXX_LIBRARY = "libc++";
@@ -724,12 +834,24 @@
 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"$(inherited)",
+					_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
+				);
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(inherited)",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+					"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+					"${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+					"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+				);
 				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					/usr/lib/swift,
@@ -741,14 +863,31 @@
 					"\"$(inherited)\"",
 				);
 				MTL_ENABLE_DEBUG_INFO = NO;
+				OTHER_CFLAGS = "$(inherited)";
 				OTHER_CPLUSPLUSFLAGS = (
 					"$(OTHER_CFLAGS)",
 					"-DFOLLY_NO_CONFIG",
 					"-DFOLLY_MOBILE=1",
 					"-DFOLLY_USE_LIBCPP=1",
 				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+					"-Wl",
+					"-ld_classic",
+				);
 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
 				SDKROOT = iphoneos;
+				SWIFT_EMIT_LOC_STRINGS = NO;
 				VALIDATE_PRODUCT = YES;
 			};
 			name = Release;
diff --git a/ios/VereignImapModule/RCTVereginImapModule.h b/ios/VereignImapModule/RCTVereginImapModule.h
new file mode 100644
index 0000000000000000000000000000000000000000..bdb0f2d8f6b1a35d846586afd434e2f158054e75
--- /dev/null
+++ b/ios/VereignImapModule/RCTVereginImapModule.h
@@ -0,0 +1,3 @@
+#import <React/RCTBridgeModule.h>
+@interface RCTVereignImapModule : NSObject <RCTBridgeModule>
+@end
diff --git a/ios/VereignImapModule/RCTVereignImapModule.m b/ios/VereignImapModule/RCTVereignImapModule.m
new file mode 100644
index 0000000000000000000000000000000000000000..357572b5558da707fdb9b501dbe5e1035e2809ab
--- /dev/null
+++ b/ios/VereignImapModule/RCTVereignImapModule.m
@@ -0,0 +1,38 @@
+#import <Foundation/Foundation.h>
+#import "RCTVereginImapModule.h"
+#import "VereignImapModule.h"
+#import <React/RCTLog.h>
+#import <MailCore/MailCore.h>
+
+@implementation RCTVereignImapModule
+
+RCT_EXPORT_MODULE(RCTVereignImapModule)
+
+RCT_EXPORT_METHOD(checkConfiguration:(NSString *)host
+                  username:(NSString *)username
+                  password:(NSString *)password
+                  callback:(RCTResponseSenderBlock)callback) {
+  
+  VereignImapModule *imapModule = [[VereignImapModule alloc] init];
+  
+  [imapModule checkConfiguration:host
+                        username:username
+                        password:password
+                        callback:callback];
+}
+
+RCT_EXPORT_METHOD(saveMessage:(NSString *)host
+                  username:(NSString *)username
+                  password:(NSString *)password
+                  content:(NSString *)content
+                  callback:(RCTResponseSenderBlock)callback) {
+  
+  VereignImapModule *imapModule = [[VereignImapModule alloc] init];
+  
+  [imapModule saveMessage:host
+                 username:username
+                 password:password
+                  content:content
+                 callback:callback];
+}
+@end
diff --git a/ios/VereignImapModule/VereignImapModule.h b/ios/VereignImapModule/VereignImapModule.h
new file mode 100644
index 0000000000000000000000000000000000000000..d144ce7042512e1a98bd714940cb9c92265c2934
--- /dev/null
+++ b/ios/VereignImapModule/VereignImapModule.h
@@ -0,0 +1,15 @@
+#import <Foundation/Foundation.h>
+#import <React/RCTBridgeModule.h>
+
+@interface VereignImapModule : NSObject
+- (void)checkConfiguration:(NSString *)host
+                 username:(NSString *)username
+                 password:(NSString *)password
+                 callback:(RCTResponseSenderBlock)callback;
+
+- (void)saveMessage:(NSString *)host
+           username:(NSString *)username
+           password:(NSString *)password
+           content:(NSString *)content
+           callback:(RCTResponseSenderBlock)callback;
+@end
diff --git a/ios/VereignImapModule/VereignImapModule.m b/ios/VereignImapModule/VereignImapModule.m
new file mode 100644
index 0000000000000000000000000000000000000000..6eb426a4aa7e7884c0b6a8a267fa39e618875a23
--- /dev/null
+++ b/ios/VereignImapModule/VereignImapModule.m
@@ -0,0 +1,65 @@
+#import <Foundation/Foundation.h>
+#import <React/RCTBridgeModule.h>
+#import "VereignImapModule.h"
+#import <MailCore/MailCore.h>
+#import <React/RCTLog.h>
+
+@implementation VereignImapModule
+
+- (void)saveMessage:(NSString *)host username:(NSString *)username password:(NSString *)password content:(NSString *)content callback:(__strong RCTResponseSenderBlock)callback {
+  
+  MCOIMAPSession *session = [[MCOIMAPSession alloc] init];
+  [session setHostname:host];
+  [session setPort:993];
+  [session setUsername:username];
+  [session setPassword:password];
+  [session setConnectionType: MCOConnectionTypeTLS];
+  [session setVoIPEnabled:false];
+  [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data){
+    NSLog(@"MCOIMAPSession==: [%li] %@", (long)type, [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
+  }];
+
+  
+  NSData *md = [content dataUsingEncoding:NSUTF8StringEncoding];
+  
+  MCOMessageParser *mp = [[MCOMessageParser alloc] initWithData:md];
+  
+  MCOIMAPAppendMessageOperation *appendOperation = [session appendMessageOperationWithFolder:@"INBOX"
+                                                                                 messageData: mp.data
+                                                                                       flags:MCOMessageFlagNone];
+  [appendOperation start:^(NSError *error, uint32_t createdUID) {
+    if (error) {
+      RCTLogError(@"Error: %@", error);
+      callback(@[[NSNull null], error.localizedDescription]);
+    } else {
+      callback(@[@(true), [NSNull null]]);
+    }
+  }];
+}
+
+- (void)checkConfiguration:(NSString *)host username:(NSString *)username password:(NSString *)password callback:(__strong RCTResponseSenderBlock)callback {
+  NSLog(@"checkConfiguration");
+  
+  MCOIMAPSession *session = [[MCOIMAPSession alloc] init];
+  [session setHostname:host];
+  [session setPort:993];
+  [session setUsername:username];
+  [session setPassword:password];
+  [session setConnectionType: MCOConnectionTypeTLS];
+  [session setVoIPEnabled:false];
+  [session setConnectionLogger:^(void * connectionID, MCOConnectionLogType type, NSData * data){
+    NSLog(@"MCOIMAPSession==: [%li] %@", (long)type, [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
+  }];
+  
+  MCOIMAPOperation *op = [session checkAccountOperation];
+  [op start:^(NSError *error) {
+    if(error) {
+      callback(@[@(false), error.localizedDescription]);
+    } else {
+      callback(@[@(true), [NSNull null]]);
+    }
+  }];
+}
+
+@end
+
diff --git a/package.json b/package.json
index 52b04ed1f18439fcce3ae33094c102633dd461b0..3838224784c813d5cd382453da81e4adad3fdf4a 100644
--- a/package.json
+++ b/package.json
@@ -11,13 +11,13 @@
   },
   "dependencies": {
     "@ant-design/react-native": "^5.0.4",
-    "@aries-framework/anoncreds": "^0.4.1-alpha.24",
-    "@aries-framework/anoncreds-rs": "^0.4.1-alpha.24",
-    "@aries-framework/askar": "^0.4.1-alpha.24",
-    "@aries-framework/core": "^0.4.1-alpha.24",
-    "@aries-framework/indy-vdr": "^0.4.1-alpha.24",
+    "@aries-framework/anoncreds": "^0.4.2",
+    "@aries-framework/anoncreds-rs": "^0.4.2",
+    "@aries-framework/askar": "^0.4.2",
+    "@aries-framework/core": "^0.4.2",
+    "@aries-framework/indy-vdr": "^0.4.2",
     "@aries-framework/react-hooks": "^0.5.0",
-    "@aries-framework/react-native": "^0.4.1-alpha.24",
+    "@aries-framework/react-native": "^0.4.2",
     "@hyperledger/anoncreds-react-native": "^0.1.0",
     "@hyperledger/aries-askar-react-native": "^0.1.1",
     "@hyperledger/aries-askar-shared": "^0.1.1",
@@ -35,7 +35,6 @@
     "buffer": "^6.0.3",
     "date-fns": "^2.30.0",
     "i18next": "^22.5.1",
-    "indy-sdk-react-native": "^0.3.1",
     "intl-pluralrules": "^2.0.0",
     "js-sha256": "^0.9.0",
     "md5": "^2.3.0",
@@ -44,10 +43,11 @@
     "query-string": "^8.1.0",
     "react": "18.2.0",
     "react-i18next": "^12.3.1",
-    "react-native": "0.71.10",
+    "react-native": "0.72.5",
     "react-native-aes-gcm-crypto": "^0.2.2",
     "react-native-argon2": "^2.0.1",
     "react-native-biometrics": "^3.0.1",
+    "react-native-camera": "^3.31.1",
     "react-native-config": "^1.5.1",
     "react-native-device-info": "^10.6.0",
     "react-native-document-picker": "^9.0.1",
@@ -55,10 +55,11 @@
     "react-native-fs": "^2.20.0",
     "react-native-gesture-handler": "^2.11.0",
     "react-native-get-random-values": "^1.9.0",
+    "react-native-gradle-plugin": "^0.71.19",
     "react-native-keychain": "^8.1.1",
     "react-native-localize": "^3.0.0",
     "react-native-qrcode-svg": "^6.2.0",
-    "react-native-reanimated": "^2.17.0",
+    "react-native-reanimated": "^3.5.4",
     "react-native-render-html": "^6.3.4",
     "react-native-rsa-native": "^2.0.5",
     "react-native-safe-area-context": "^4.5.3",
@@ -71,11 +72,9 @@
     "react-native-user-inactivity": "^1.2.0",
     "react-native-uuid": "^2.0.1",
     "react-native-vector-icons": "^9.2.0",
-    "react-native-vision-camera": "^2.15.4",
     "realm": "^12.2.0",
     "rn-fetch-blob": "^0.12.0",
-    "url-parse": "^1.5.10",
-    "vision-camera-code-scanner": "^0.2.0"
+    "url-parse": "^1.5.10"
   },
   "devDependencies": {
     "@babel/core": "^7.20.0",
diff --git a/src/components/QRScanner/index.tsx b/src/components/QRScanner/index.tsx
index 3b92bf503abeb13c2604a162f6b2d1aed7fce3f4..2dc968a9de500e485a7ea57cd39eae8621c81321 100644
--- a/src/components/QRScanner/index.tsx
+++ b/src/components/QRScanner/index.tsx
@@ -1,6 +1,6 @@
-import React, { useState, ReactNode, useEffect } from 'react';
-import { useNavigation } from '@react-navigation/core';
-import { useTranslation } from 'react-i18next';
+import React, { useState, ReactNode } from "react";
+import { useNavigation } from "@react-navigation/core";
+import { useTranslation } from "react-i18next";
 import {
   useWindowDimensions,
   Vibration,
@@ -14,18 +14,14 @@ import {
   Dimensions,
   Pressable,
   Keyboard,
-} from 'react-native';
-import Icon from 'react-native-vector-icons/MaterialIcons';
-import { useIsFocused } from '@react-navigation/core';
-import {Camera, useCameraDevices, useFrameProcessor} from 'react-native-vision-camera';
-import {scanBarcodes, BarcodeFormat, Barcode} from 'vision-camera-code-scanner';
-import AntDesign from 'react-native-vector-icons/AntDesign';
-import {runOnJS} from "react-native-reanimated";
-import { ColorPallet } from 'src/theme/theme';
-import useKeyboard from 'src/utils/keyboard';
-import QRScannerTorch from './QRScannerTorch';
-import QRScannerClose from './QRScannerClose';
-
+} from "react-native";
+import Icon from "react-native-vector-icons/MaterialIcons";
+import AntDesign from "react-native-vector-icons/AntDesign";
+import { ColorPallet } from "src/theme/theme";
+import useKeyboard from "src/utils/keyboard";
+import { BarCodeReadEvent, RNCamera } from "react-native-camera";
+import QRScannerTorch from "./QRScannerTorch";
+import QRScannerClose from "./QRScannerClose";
 
 interface Props {
   handleCodeScan: (data: string) => Promise<void>;
@@ -44,7 +40,7 @@ const CameraViewContainer: React.FC<{
     <View
       style={{
         ...styles.cameraViewContainer,
-        flexDirection: portrait ? 'column' : 'row',
+        flexDirection: portrait ? "column" : "row",
       }}
     >
       {children}
@@ -57,120 +53,90 @@ const QRScanner: React.FC<Props> = ({
   error,
   enableCameraOnError,
 }) => {
-  const [url, setUrl] = useState('');
+  const [url, setUrl] = useState("");
   const navigation = useNavigation();
   const [cameraActive, setCameraActive] = useState(true);
   const [torchActive, setTorchActive] = useState(false);
   const [invalidQrCodes] = useState(() => new Set<string>());
-  const [barcodes, setBarCodes] = useState<Barcode[]>([]);
-
   const { keyboardHeight, isKeyBoardOpen } = useKeyboard();
 
-  const isFocused = useIsFocused();
-
   const { width, height } = useWindowDimensions();
   const portraitMode = height > width;
   const { t } = useTranslation();
 
-  const [hasPermission, setHasPermission] = React.useState(false);
-  const devices = useCameraDevices();
-  const device = devices.back;
-
-  const frameProcessor = useFrameProcessor((frame: any) => {
-    'worklet'
-    const qrCodes = scanBarcodes(frame, [BarcodeFormat.QR_CODE])
-    runOnJS(setBarCodes)(qrCodes);
-  }, []);
-
-  React.useEffect(() => {
-    (async () => {
-      const status = await Camera.requestCameraPermission();
-      setHasPermission(status === 'authorized');
-    })();
-  }, []);
-
-  useEffect(() => {
-    if (barcodes.length === 0 || !barcodes[0].rawValue) {
-      return;
-    }
-
-    const data = barcodes[0].rawValue;
-    if (invalidQrCodes.has(data)) {
-      return;
-    }
-    if (error?.data === data) {
-      invalidQrCodes.add(error.data);
-      if (enableCameraOnError) {
-        setCameraActive(true);
-      }
-    }
-    if (cameraActive) {
-      Vibration.vibrate();
-      handleCodeScan(data);
-      setCameraActive(false);
-    }
-  }, [
-    invalidQrCodes,
-    barcodes,
-    enableCameraOnError,
-    cameraActive,
-    error,
-    handleCodeScan,
-  ]);
-
-  if (!hasPermission || device == null) {
-    return null;
-  }
-
-  return (
+    return (
     <Pressable
       onPress={() => Keyboard.dismiss()}
       style={styles.container}
       testID="QRScannerTest"
     >
-      {isFocused && (
-        <Camera
-          style={styles.container}
-          device={device}
-          isActive={isFocused}
-          frameProcessor={frameProcessor}
-          frameProcessorFps={5}
-          torch={torchActive ? 'on' : 'off'}
-          audio={false}
-        />
-      )}
-      <CameraViewContainer portrait={portraitMode}>
-        <View style={styles.actionsView}>
-          <QRScannerTorch
-            active={torchActive}
-            onPress={() => setTorchActive(!torchActive)}
-          />
-          <QRScannerClose onPress={() => navigation.goBack()} />
-        </View>
-        <View style={styles.scanTextView}>
-          <Text style={styles.scanText}>
-            {t<string>('QRScanner.ScanMessage')}
-          </Text>
-          <Text style={styles.scanText}>
-            {t<string>('QRScanner.VerifyMessage')}
-          </Text>
-        </View>
-        {error && (
-          <View style={styles.errorContainer}>
-            <Icon style={styles.icon} name="cancel" size={30} />
-            <Text>{error.message}</Text>
+      <RNCamera
+        style={styles.container}
+        type={RNCamera.Constants.Type.back}
+        flashMode={
+          torchActive
+            ? RNCamera.Constants.FlashMode.torch
+            : RNCamera.Constants.FlashMode.off
+        }
+        captureAudio={false}
+        androidCameraPermissionOptions={{
+          title: t<string>("QRScanner.PermissionToUseCamera"),
+          message: t<string>("QRScanner.PermissionMessage"),
+          buttonPositive: t<string>("Global.Okay"),
+          buttonNegative: t<string>("Global.Cancel"),
+        }}
+        barCodeTypes={[RNCamera.Constants.BarCodeType.qr]}
+        onBarCodeRead={(event: BarCodeReadEvent) => {
+          if (invalidQrCodes.has(event.data)) {
+            return;
+          }
+          if (error?.data === event?.data) {
+            invalidQrCodes.add(error.data);
+            if (enableCameraOnError) {
+              return setCameraActive(true);
+            }
+          }
+          if (cameraActive) {
+            Vibration.vibrate();
+            handleCodeScan(event.data);
+            return setCameraActive(false);
+          }
+        }}
+      >
+        <CameraViewContainer portrait={portraitMode}>
+          <View style={styles.actionsView}>
+            <QRScannerTorch
+              active={torchActive}
+              onPress={() => setTorchActive(!torchActive)}
+            />
+            <QRScannerClose onPress={() => navigation.goBack()} />
           </View>
-        )}
-        <View style={styles.viewFinderContainer}>
-          <View style={styles.viewFinder} />
-        </View>
-      </CameraViewContainer>
+          <View style={styles.scanTextView}>
+            <Text style={styles.scanText}>
+              {t<string>("QRScanner.ScanMessage")}
+            </Text>
+            <Text style={styles.scanText}>
+              {t<string>("QRScanner.VerifyMessage")}
+            </Text>
+          </View>
+          {error && (
+            <View style={styles.errorContainer}>
+              <Icon style={styles.icon} name="cancel" size={30} />
+              <Text>{error.message}</Text>
+            </View>
+          )}
+          <View style={styles.viewFinderContainer}>
+            <View style={styles.viewFinder} />
+          </View>
+        </CameraViewContainer>
+      </RNCamera>
+
       <View
         style={[
           styles.bottomView,
           {
             marginTop:
-              Platform.OS === 'ios' && isKeyBoardOpen
+              Platform.OS === "ios" && isKeyBoardOpen
                 ? -keyboardHeight - 80
                 : -80,
           },
@@ -178,15 +144,15 @@ const QRScanner: React.FC<Props> = ({
       >
         <KeyboardAvoidingView
           behavior="padding"
-          keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : 20}
-          enabled={Platform.OS === 'ios'}
+          keyboardVerticalOffset={Platform.OS === "ios" ? 0 : 20}
+          enabled={Platform.OS === "ios"}
           style={styles.rowTextInputView}
         >
           <TextInput
             style={styles.textInputStyle}
             placeholder="url"
             value={url}
-            onChangeText={value => setUrl(value)}
+            onChangeText={(value) => setUrl(value)}
             placeholderTextColor={ColorPallet.baseColors.black}
           />
           <TouchableOpacity
@@ -196,7 +162,7 @@ const QRScanner: React.FC<Props> = ({
             <AntDesign
               name="right"
               color={ColorPallet.baseColors.black}
-              size={Platform.OS === 'ios' ? height / 30 : height / 28}
+              size={Platform.OS === "ios" ? height / 30 : height / 28}
             />
           </TouchableOpacity>
         </KeyboardAvoidingView>
@@ -216,24 +182,23 @@ export class QrCodeScanError extends Error {
   }
 }
 
-
-const { width, height } = Dimensions.get('window');
+const { width, height } = Dimensions.get("window");
 
 const styles = StyleSheet.create({
   container: {
-    width: '100%',
-    height: '100%',
+    width: "100%",
+    height: "100%",
     // backgroundColor: ColorPallet.baseColors.black,
-    justifyContent: 'center',
-    alignItems: 'center',
+    justifyContent: "center",
+    alignItems: "center",
   },
   cameraViewContainer: {
-    position: 'absolute',
-    alignItems: 'center',
+    position: "absolute",
+    alignItems: "center",
     left: 0,
     top: 0,
-    width: '100%',
-    height: '100%',
+    width: "100%",
+    height: "100%",
   },
   viewFinder: {
     width: 250,
@@ -245,40 +210,40 @@ const styles = StyleSheet.create({
   },
   viewFinderContainer: {
     flex: 1,
-    justifyContent: 'center',
-    alignItems: 'center',
+    justifyContent: "center",
+    alignItems: "center",
   },
   errorContainer: {
-    flexDirection: 'row',
-    alignItems: 'center',
+    flexDirection: "row",
+    alignItems: "center",
   },
   icon: {
     color: ColorPallet.baseColors.white,
     padding: 4,
   },
   actionsView: {
-    flexDirection: 'row',
-    justifyContent: 'space-between',
+    flexDirection: "row",
+    justifyContent: "space-between",
     padding: 20,
-    width: '100%',
-    position: 'absolute',
+    width: "100%",
+    position: "absolute",
     top: 10,
   },
   scanTextView: {
-    flexDirection: 'column',
+    flexDirection: "column",
     padding: 20,
-    width: '100%',
-    position: 'absolute',
-    alignItems: 'center',
+    width: "100%",
+    position: "absolute",
+    alignItems: "center",
     top: 78,
   },
   scanText: {
-    fontSize: Platform.OS === 'ios' ? height / 40 : height / 35,
-    textAlign: 'center',
+    fontSize: Platform.OS === "ios" ? height / 40 : height / 35,
+    textAlign: "center",
     color: ColorPallet.baseColors.white,
   },
   submitIconStyle: {
-    alignSelf: 'center',
+    alignSelf: "center",
   },
   bottomView: {
     flex: 1,
@@ -286,23 +251,23 @@ const styles = StyleSheet.create({
     borderTopLeftRadius: 20,
     borderTopRightRadius: 20,
     backgroundColor: ColorPallet.baseColors.white,
-    width: '100%',
+    width: "100%",
   },
   textInputStyle: {
     width: width - 100,
     paddingTop: 5,
     color: ColorPallet.baseColors.black,
-    alignItems: 'center',
-    fontSize: Platform.OS === 'ios' ? height / 50 : height / 45,
-    justifyContent: 'center',
-    height: Platform.OS === 'ios' ? height / 19 : height / 18,
+    alignItems: "center",
+    fontSize: Platform.OS === "ios" ? height / 50 : height / 45,
+    justifyContent: "center",
+    height: Platform.OS === "ios" ? height / 19 : height / 18,
     borderBottomWidth: 1,
-    borderBottomColor: 'black',
-    alignSelf: 'center',
+    borderBottomColor: "black",
+    alignSelf: "center",
     marginVertical: 20,
   },
   rowTextInputView: {
-    flexDirection: 'row',
-    justifyContent: 'space-evenly',
+    flexDirection: "row",
+    justifyContent: "space-evenly",
   },
 });
diff --git a/src/db-models/Email.ts b/src/db-models/Email.ts
index 590995d81642d037fe919885e420aeebfd804095..3b5b8391ee0823d4cd43faf2045803a246700015 100644
--- a/src/db-models/Email.ts
+++ b/src/db-models/Email.ts
@@ -17,6 +17,7 @@ class Email extends Realm.Object<Email> {
   svdxMime?: string | null;
   svdxImapSaved?: boolean | null;
   svdxMessageId?: string | null;
+  svdxBaseUrl!: string;
 
   sealUrl?: string | null;
 
@@ -40,6 +41,7 @@ class Email extends Realm.Object<Email> {
       svdxMime: 'string?',
       svdxImapSaved: 'bool?',
       svdxMessageId: 'string?',
+      svdxBaseUrl: 'string',
 
       sealUrl: 'string?'
     },
diff --git a/src/screens/ConnectionInvitation/index.tsx b/src/screens/ConnectionInvitation/index.tsx
index 0d7f5a1fbb786c6e2b5baefde04f512aee5d994f..c4fd16e7a36dfa55f4a79bf6e156b9025adb7a73 100644
--- a/src/screens/ConnectionInvitation/index.tsx
+++ b/src/screens/ConnectionInvitation/index.tsx
@@ -27,6 +27,7 @@ const ConnectionInvitation: React.FC<ConnectionProps> = ({
     try {
       const { connectionRecord } = await rootStore.agentStore.agent.oob.receiveInvitationFromUrl(url, {
         autoAcceptInvitation: true,
+        reuseConnection: true 
       });
       if (!connectionRecord?.id) {
         warningToast(t<string>('Scan.ConnectionNotFound'));
diff --git a/src/screens/ImapConfiguration/index.tsx b/src/screens/ImapConfiguration/index.tsx
index 7b038c527630470dc157a6079f8297e5ea29e981..50e6fa26ffd502b18e6477369412decf4ec1d9cc 100644
--- a/src/screens/ImapConfiguration/index.tsx
+++ b/src/screens/ImapConfiguration/index.tsx
@@ -25,7 +25,7 @@ const ImapConfiguration = () => {
     host: '',
     username: '',
     password: '',
-    port: '993'
+    port: 993
   });
   const loadConfig = async () => {
     const config = await getImapConfig();
@@ -52,6 +52,7 @@ const ImapConfiguration = () => {
       const config = await getImapConfig() as ImapConfigurationInterface;
 
       VereignImapModule.checkConfiguration(config.host, config.username, config.password, (success: boolean, error: any) => {
+
         setLoading(false);
         if (success) {
           setImapConfig({
@@ -134,10 +135,10 @@ const ImapConfiguration = () => {
           accessibilityLabel="port"
           labelBold
           labelCenter
-          value={imapValues.port}
+          value={imapValues.port.toString()}
           onChangeText={(value) => setImapValues({
             ...imapValues,
-            port: value
+            port: Number(value)
           })}
           returnKeyType="done"
         />
diff --git a/src/screens/ImportWallet/ImportWalletUI.tsx b/src/screens/ImportWallet/ImportWalletUI.tsx
index e820ac969a5f073d69e51a0db8b9975c853318fd..cd65f2c6be71cc69bd57ca52c99cb1f205ecd327 100644
--- a/src/screens/ImportWallet/ImportWalletUI.tsx
+++ b/src/screens/ImportWallet/ImportWalletUI.tsx
@@ -1,19 +1,15 @@
-import React, { useState } from 'react';
-import {
-  View,
-  StyleSheet,
-  Keyboard, StatusBar,
-} from 'react-native';
-import Toast from 'react-native-toast-message';
-import { useTranslation } from 'react-i18next';
-import Button, { ButtonType } from 'src/components/Button';
-import { ToastType } from 'src/components/toast/BaseToast';
-import Loader from 'src/components/Loader';
-import Text from 'src/components/Text';
-import { ColorPallet, TextTheme } from 'src/theme/theme';
+import React, { useState } from "react";
+import { View, StyleSheet, Keyboard, StatusBar } from "react-native";
+import Toast from "react-native-toast-message";
+import { useTranslation } from "react-i18next";
+import Button, { ButtonType } from "src/components/Button";
+import { ToastType } from "src/components/toast/BaseToast";
+import Loader from "src/components/Loader";
+import Text from "src/components/Text";
+import { ColorPallet, TextTheme } from "src/theme/theme";
 import rootStore from "src/store/rootStore";
 import i18next from "i18next";
-import {markAsOnboardComplete} from "src/utils/onboarding";
+import { markAsOnboardComplete } from "src/utils/onboarding";
 import EnterMnemonic from "src/components/EnterMnemonic";
 
 interface ImportWalletUIProps {
@@ -26,15 +22,15 @@ const ImportWalletUI: React.FC<ImportWalletUIProps> = ({
   onSelectFileClicked,
 }) => {
   const { t } = useTranslation();
-  const [mnemonic, setMnemonic] = useState('');
+  const [mnemonic, setMnemonic] = useState("");
   const [loading, setLoading] = useState(false);
 
   const importWallet = async () => {
     if (mnemonic.length === 0) {
       Toast.show({
         type: ToastType.Warn,
-        text1: t<string>('Toasts.Warning'),
-        text2: t<string>('ImportWallet.EmptyMnemonic'),
+        text1: t<string>("Toasts.Warning"),
+        text2: t<string>("ImportWallet.EmptyMnemonic"),
       });
       return;
     }
@@ -46,8 +42,8 @@ const ImportWalletUI: React.FC<ImportWalletUIProps> = ({
     } catch (ex) {
       Toast.show({
         type: ToastType.Error,
-        text1: i18next.t<string>('Toasts.Warning'),
-        text2: i18next.t<string>('ImportWallet.ImportError'),
+        text1: i18next.t<string>("Toasts.Warning"),
+        text2: i18next.t<string>("ImportWallet.ImportError"),
       });
     }
     setLoading(false);
@@ -59,7 +55,7 @@ const ImportWalletUI: React.FC<ImportWalletUIProps> = ({
       <Loader loading={loading} />
       <View style={styles.btnContainer}>
         <Button
-          title={t<string>('ImportWallet.SelectWalletFile')}
+          title={t<string>("ImportWallet.SelectWalletFile")}
           buttonType={ButtonType.Primary}
           onPress={() => {
             Keyboard.dismiss();
@@ -71,7 +67,7 @@ const ImportWalletUI: React.FC<ImportWalletUIProps> = ({
       <EnterMnemonic value={mnemonic} onChangeText={setMnemonic} />
       <View style={styles.btnContainer}>
         <Button
-          title={t<string>('Global.ImportWallet')}
+          title={t<string>("Global.ImportWallet")}
           buttonType={ButtonType.Primary}
           disabled={walletBackupFilePath.length === 0 && mnemonic.length === 0}
           onPress={importWallet}
@@ -90,7 +86,7 @@ const styles = StyleSheet.create({
   },
   label: {
     ...TextTheme.normal,
-    fontWeight: 'bold',
+    fontWeight: "bold",
   },
   btnContainer: {
     marginTop: 20,
diff --git a/src/screens/ListContacts/index.tsx b/src/screens/ListContacts/index.tsx
index d80e617bf604ed51ea9e7665e4cf1207ac8e903a..e256d0a9f6cf2346c4972e7a6e8907b17f06e74e 100644
--- a/src/screens/ListContacts/index.tsx
+++ b/src/screens/ListContacts/index.tsx
@@ -17,32 +17,18 @@ const ListContacts: React.FC = () => {
   const [searchQuery, setSearchQuery] = useState("");
 
   const filteredConnections = useMemo(() => {
-    let groupByName: { [key: string]: boolean } = {};
-    records.sort((a, b) => {
-      return b.createdAt > a.createdAt ? -1 : 1;
-    })
-    let filteredRecords = records.filter(item => {
+    return records.filter(item => {
       if (!item.theirLabel) {
         return false;
       }
 
       const label = item.theirLabel.toUpperCase();
       const text = searchQuery.toUpperCase();
-      const include = label.includes(text);
-
-      if (include) {
-        if (groupByName[label]) return false;
-        groupByName[label] = true;
-      }
-
-      return include;
-    });
-
-    return filteredRecords.sort((a, b) => {
-      return b.createdAt > a.createdAt ? 1 : -11;
+      return label.includes(text);
     });
   }, [records, searchQuery]);
 
+
   let content = null;
   if (loading) {
     content = <LoaderView />;
diff --git a/src/seal/injectCryptoServiceMobile.ts b/src/seal/injectCryptoServiceMobile.ts
index c8f68b2155ed91f7a3d3fd2a5884276e63e11cf6..368b555a9001d5618fde0f3025c9e2bc32f97009 100644
--- a/src/seal/injectCryptoServiceMobile.ts
+++ b/src/seal/injectCryptoServiceMobile.ts
@@ -5,6 +5,7 @@ import {
 } from '@vereign/light-utils/dist/services/CryptoService/ICryptoService';
 import CryptoService from '@vereign/light-utils/dist/services/CryptoService';
 import AesGcmCrypto from 'react-native-aes-gcm-crypto';
+
 import { sha256 } from 'js-sha256';
 import { RSA } from 'react-native-rsa-native';
 import { Buffer } from 'buffer';
diff --git a/src/store/AgentStore.ts b/src/store/AgentStore.ts
index 07c7c93da9a74f87d23d4f2264d76d957abc6d8a..ba348565a1ae3fe75ece95d66d5d9fc86d0db634 100644
--- a/src/store/AgentStore.ts
+++ b/src/store/AgentStore.ts
@@ -24,14 +24,14 @@ import {
   V2ProofProtocol,
   WsOutboundTransport,
 } from "@aries-framework/core";
-import {agentDependencies} from '@aries-framework/react-native';
+import { agentDependencies } from "@aries-framework/react-native";
 import {
   AnonCredsCredentialFormatService,
   AnonCredsModule,
   AnonCredsProofFormatService,
   LegacyIndyProofFormatService,
   V1CredentialProtocol,
-  V1ProofProtocol
+  V1ProofProtocol,
 } from "@aries-framework/anoncreds";
 import {
   IndyVdrAnonCredsRegistry,
@@ -39,15 +39,15 @@ import {
   IndyVdrIndyDidResolver,
   IndyVdrModule,
 } from "@aries-framework/indy-vdr";
-import {AnonCredsRsModule} from "@aries-framework/anoncreds-rs";
-import Config from 'react-native-config';
-import {anoncreds} from "@hyperledger/anoncreds-react-native";
-import {indyVdr} from "@hyperledger/indy-vdr-react-native";
-import {AskarModule} from "@aries-framework/askar";
-import {ariesAskar} from "@hyperledger/aries-askar-react-native";
-import uuid from 'react-native-uuid';
-import indyLedgers from 'src/configs/ledgers/indy';
-import {getMnemonicArrayFromWords} from "src/utils/generic";
+import { AnonCredsRsModule } from "@aries-framework/anoncreds-rs";
+import Config from "react-native-config";
+import { anoncreds } from "@hyperledger/anoncreds-react-native";
+import { indyVdr } from "@hyperledger/indy-vdr-react-native";
+import { AskarModule } from "@aries-framework/askar";
+import { ariesAskar } from "@hyperledger/aries-askar-react-native";
+import uuid from "react-native-uuid";
+import indyLedgers from "src/configs/ledgers/indy";
+import { getMnemonicArrayFromWords } from "src/utils/generic";
 import {
   getGuid,
   getImapConfig,
@@ -55,45 +55,51 @@ import {
   getPassphrase,
   setGuid,
   setPasscode,
-  setPassphrase
+  setPassphrase,
 } from "src/utils/keychain";
-import {RootStore} from "src/store/rootStore";
+import { RootStore } from "src/store/rootStore";
 // @ts-ignore
 import argon2 from "react-native-argon2";
-import {salt} from "src/constants/constants";
-import {WalletConfig, WalletExportImportConfig} from "@aries-framework/core/build/types";
+import { salt } from "src/constants/constants";
 import {
-  LegacyIndyCredentialFormatService
-} from "@aries-framework/anoncreds/build/formats/LegacyIndyCredentialFormatService";
-import {infoToast, successToast, warningToast} from 'src/utils/toast';
-import {Buffer} from "buffer";
+  WalletConfig,
+  WalletExportImportConfig,
+} from "@aries-framework/core/build/types";
+import { LegacyIndyCredentialFormatService } from "@aries-framework/anoncreds/build/formats/LegacyIndyCredentialFormatService";
+import { infoToast, successToast, warningToast } from "src/utils/toast";
+import { Buffer } from "buffer";
 import Realm from "realm";
 import MimeParser from "@vereign/lib-mime";
-import notifee, {AndroidImportance, AuthorizationStatus} from '@notifee/react-native';
+import notifee, {
+  AndroidImportance,
+  AuthorizationStatus,
+} from "@notifee/react-native";
 import Email from "../db-models/Email";
 import axios from "axios";
-import {NativeModules} from "react-native";
+import { NativeModules } from "react-native";
 import { addHours } from "date-fns";
 
-const {VereignImapModule} = NativeModules;
+const { VereignImapModule } = NativeModules;
 
 class AgentStore {
   private _rootStore: RootStore;
   private _agent: Agent | null = null;
   private _realm!: Realm;
 
-  public get agent(): Agent { return this._agent as Agent; }
+  public get agent(): Agent {
+    return this._agent as Agent;
+  }
   private _navigation!: any;
   public get agentCreated() {
     return !!this._agent;
   }
   public injectNavigation = (navigation: any) => {
     this._navigation = navigation;
-  }
+  };
 
   public injectRealm = (realm: Realm) => {
     this._realm = realm;
-  }
+  };
   public get active(): boolean {
     return this._agent?.isInitialized || false;
   }
@@ -109,7 +115,7 @@ class AgentStore {
     if (!guid) {
       const guid = uuid.v4() as string;
       const mnemonicWordsList = getMnemonicArrayFromWords(8);
-      const mnemonic = mnemonicWordsList.join(' ');
+      const mnemonic = mnemonicWordsList.join(" ");
       await setPassphrase(mnemonic);
       await setGuid(guid);
     }
@@ -123,7 +129,6 @@ class AgentStore {
       return; // it's not possible to create an agent without passcode
     }
 
-
     const config: InitConfig = {
       label: guid,
       logger: new ConsoleLogger(LogLevel.test),
@@ -138,8 +143,9 @@ class AgentStore {
       endpoints: [],
     };
 
-    const legacyIndyCredentialFormatService = new LegacyIndyCredentialFormatService()
-    const legacyIndyProofFormatService = new LegacyIndyProofFormatService()
+    const legacyIndyCredentialFormatService =
+      new LegacyIndyCredentialFormatService();
+    const legacyIndyProofFormatService = new LegacyIndyProofFormatService();
 
     const modules = {
       connections: new ConnectionsModule({
@@ -149,10 +155,13 @@ class AgentStore {
         autoAcceptCredentials: AutoAcceptCredential.ContentApproved,
         credentialProtocols: [
           new V1CredentialProtocol({
-            indyCredentialFormat: legacyIndyCredentialFormatService
+            indyCredentialFormat: legacyIndyCredentialFormatService,
           }),
           new V2CredentialProtocol({
-            credentialFormats: [legacyIndyCredentialFormatService, new AnonCredsCredentialFormatService()],
+            credentialFormats: [
+              legacyIndyCredentialFormatService,
+              new AnonCredsCredentialFormatService(),
+            ],
           }),
         ],
       }),
@@ -160,10 +169,13 @@ class AgentStore {
         autoAcceptProofs: AutoAcceptProof.ContentApproved,
         proofProtocols: [
           new V1ProofProtocol({
-            indyProofFormat: legacyIndyProofFormatService
+            indyProofFormat: legacyIndyProofFormatService,
           }),
           new V2ProofProtocol({
-            proofFormats: [legacyIndyProofFormatService, new AnonCredsProofFormatService()],
+            proofFormats: [
+              legacyIndyProofFormatService,
+              new AnonCredsProofFormatService(),
+            ],
           }),
         ],
       }),
@@ -180,23 +192,30 @@ class AgentStore {
         networks: indyLedgers,
       }),
       dids: new DidsModule({
-        registrars: [new IndyVdrIndyDidRegistrar(), new KeyDidRegistrar(), new PeerDidRegistrar()],
-        resolvers: [new IndyVdrIndyDidResolver(), new KeyDidResolver(), new PeerDidResolver()],
+        registrars: [
+          new IndyVdrIndyDidRegistrar(),
+          new KeyDidRegistrar(),
+          new PeerDidRegistrar(),
+        ],
+        resolvers: [
+          new IndyVdrIndyDidResolver(),
+          new KeyDidResolver(),
+          new PeerDidResolver(),
+        ],
       }),
       askar: new AskarModule({
         ariesAskar,
       }),
       mediationRecipient: new MediationRecipientModule({
         // mediatorPickupStrategy: MediatorPickupStrategy.Implicit,
-        mediatorInvitationUrl: Config.MEDIATOR_URL
-      })
+        mediatorInvitationUrl: Config.MEDIATOR_URL,
+      }),
     };
 
-
     const newAgent = new Agent({
       config,
       dependencies: agentDependencies,
-      modules
+      modules,
     });
 
     newAgent.registerOutboundTransport(new WsOutboundTransport());
@@ -206,22 +225,24 @@ class AgentStore {
       this._agent = newAgent;
     });
 
-    console.log('staring to listen for messages');
+    console.log("staring to listen for messages");
     newAgent.events.on(
       BasicMessageEventTypes.BasicMessageStateChanged,
-      (e: BasicMessageStateChangedEvent) => this._processAgentMessage(e),
+      (e: BasicMessageStateChangedEvent) => this._processAgentMessage(e)
     );
-  }
+  };
 
   public startAgent = async () => {
     console.debug("AGENT_STORE: initializing agent");
 
     if (!this._agent) {
-      throw new Error('Agent has not been created');
+      throw new Error("Agent has not been created");
     }
 
     if (!this._agent.isInitialized) {
-      console.debug("AGENT_STORE: Wallet is not initialized. call agent.initialize()");
+      console.debug(
+        "AGENT_STORE: Wallet is not initialized. call agent.initialize()"
+      );
       await this._agent.initialize();
     }
 
@@ -231,51 +252,53 @@ class AgentStore {
     } else {
       console.debug("AGENT_STORE: Wallet is initialized");
     }
-  }
+  };
 
   private _processAgentMessage = async (ev: BasicMessageStateChangedEvent) => {
     if (ev.payload.basicMessageRecord.role === BasicMessageRole.Receiver) {
-
       let emailContent = ev.payload.basicMessageRecord.content;
       try {
-        emailContent = Buffer.from(emailContent, 'base64').toString();
+        emailContent = Buffer.from(emailContent, "base64").toString();
       } catch (e: any) {
-        console.error('Error decoding base64', e);
+        console.error("Error decoding base64", e);
         warningToast("Email content is not base64 encoded");
       }
 
       try {
         let parser = new MimeParser(emailContent);
         const val = (header: string[] | null) => {
-          return header && header[0] || '';
-        }
-        const messageIdHeader = parser.getGlobalHeaderValue('message-id');
+          return (header && header[0]) || "";
+        };
+
+        const svdxBaseUrlHeader = parser.getGlobalHeaderValue("x-svdx-hostname");
+        const svdxBaseUrl = `https://${val(svdxBaseUrlHeader)}`
+        const messageIdHeader = parser.getGlobalHeaderValue("message-id");
         const messageId = val(messageIdHeader);
 
-        const svdxIdHeader = parser.getGlobalHeaderValue('x-message-id');
+        const svdxIdHeader = parser.getGlobalHeaderValue("x-message-id");
         const svdxId = val(svdxIdHeader);
 
         const receivedDate = new Date();
 
-        const createdAtHeader = parser.getGlobalHeaderValue('date');
+        const createdAtHeader = parser.getGlobalHeaderValue("date");
         let createdAt = receivedDate;
         if (createdAtHeader) {
           createdAt = new Date(val(createdAtHeader) as string);
         }
 
-        const fromHeader = parser.getGlobalHeaderValue('from');
+        const fromHeader = parser.getGlobalHeaderValue("from");
         const from = val(fromHeader);
 
-        const toHeader = parser.getGlobalHeaderValue('to');
-        const to = toHeader && toHeader.length ? toHeader.join(', ') : '';
+        const toHeader = parser.getGlobalHeaderValue("to");
+        const to = toHeader && toHeader.length ? toHeader.join(", ") : "";
 
-        const ccHeader = parser.getGlobalHeaderValue('cc');
-        const cc = ccHeader && ccHeader.length ? ccHeader.join(', ') : '';
+        const ccHeader = parser.getGlobalHeaderValue("cc");
+        const cc = ccHeader && ccHeader.length ? ccHeader.join(", ") : "";
 
-        const bccHeader = parser.getGlobalHeaderValue('bcc');
-        const bcc = bccHeader && bccHeader.length ? bccHeader.join(', ') : '';
+        const bccHeader = parser.getGlobalHeaderValue("bcc");
+        const bcc = bccHeader && bccHeader.length ? bccHeader.join(", ") : "";
 
-        const subjectHeader = parser.getGlobalHeaderValue('subject');
+        const subjectHeader = parser.getGlobalHeaderValue("subject");
         const subject = val(subjectHeader);
 
         const realmRecordId = new Realm.BSON.ObjectId();
@@ -287,7 +310,7 @@ class AgentStore {
             createdAt: createdAt,
             receivedDate: receivedDate,
 
-            type: 'svdx-mail',
+            type: "svdx-mail",
 
             from: from,
             to: to,
@@ -298,16 +321,17 @@ class AgentStore {
 
             svdxMime: emailContent,
             svdxImapSaved: false,
+            svdxBaseUrl: svdxBaseUrl,
             svdxMessageId: svdxId,
 
-            sealUrl: null
-          }
-          this._realm.create('Email', newEmail);
+            sealUrl: null,
+          };
+          this._realm.create("Email", newEmail);
         });
 
         infoToast("Received new message");
 
-        await this._saveEmail(svdxId, realmRecordId, emailContent);
+        await this._saveEmail(svdxBaseUrl,svdxId, realmRecordId, emailContent);
 
         this._displayNewEmailReceived(from, subject, realmRecordId.toString());
       } catch (e) {
@@ -315,104 +339,121 @@ class AgentStore {
         return;
       }
     }
-  }
+  };
 
-  private _saveEmail = async (svdxMessageId: string, realmId: Realm.BSON.ObjectId, mime: string) => {
+  private _saveEmail = async (
+    svdxBaseUrl: string,
+    svdxMessageId: string,
+    realmId: Realm.BSON.ObjectId,
+    mime: string
+  ) => {
     try {
       const config = await getImapConfig();
       if (config) {
-        if (!(await this._checkCanSaveEmail(svdxMessageId))) return;
-
-        VereignImapModule.saveMessage(config!.host, config!.username, config!.password, mime, (success: boolean, error: any) => {
-          if (success) {
-            successToast("Email is saved");
-            const email = this._realm.objectForPrimaryKey('Email', realmId);
-
-            if (email) {
-              this._realm.write(() => {
-                email.svdxImapSaved = true;
-              });
-              this._notifySVDXServer(svdxMessageId);
+        if (!(await this._checkCanSaveEmail(svdxBaseUrl,svdxMessageId))) return;
+
+        VereignImapModule.saveMessage(
+          config!.host,
+          config!.username,
+          config!.password,
+          mime,
+          (success: boolean, error: any) => {
+            if (success) {
+              successToast("Email is saved");
+              const email = this._realm.objectForPrimaryKey("Email", realmId);
+
+              if (email) {
+                this._realm.write(() => {
+                  email.svdxImapSaved = true;
+                });
+                this._notifySVDXServer(svdxBaseUrl,svdxMessageId);
+              }
+            }
+            if (error) {
+              warningToast("Something went wrong " + error);
             }
           }
-          if (error) {
-            warningToast("Something went wrong " + error);
-          }
-        });
+        );
       }
     } catch (e: any) {
       warningToast(e.message);
     }
-  }
+  };
 
-  private _checkCanSaveEmail = async (svdxMessageId: string) => {
+  private _checkCanSaveEmail = async (svdxBaseUrl: string,svdxMessageId: string) => {
     try {
       const response = await axios({
-        url: `${Config.SVDX_BASE_URL}/v1/message/status`,
-        method: 'POST',
+        url: `${svdxBaseUrl}/v1/message/status`,
+        method: "POST",
         headers: {
-          'Content-Type': 'application/json',
+          "Content-Type": "application/json",
         },
         data: {
-          messageId: svdxMessageId
+          messageId: svdxMessageId,
         },
       });
 
       // Check for HTTP 200 status
       if (response.status === 200) {
-        console.log('Message has not been delivered. All is ok');
+        console.log("Message has not been delivered. All is ok");
         return true;
       }
-      return false
+      return false;
     } catch (error: any) {
       if (error.response && error.response.status === 404) {
         // Handle the case where the message has been delivered already in another way
-        console.log('Message has been delivered already in another way');
+        console.log("Message has been delivered already in another way");
       } else {
         // Handle other errors
-        console.error('An error occurred:', error.message);
+        console.error("An error occurred:", error.message);
       }
     }
     return false;
-  }
+  };
 
-  private _notifySVDXServer = async (svdxMessageId: string) => {
+  private _notifySVDXServer = async (svdxBaseUrl: string,svdxMessageId: string) => {
     try {
       await axios({
-        url: `${Config.SVDX_BASE_URL}/v1/message/read`,
-        method: 'POST',
+        url: `${svdxBaseUrl}/v1/message/read`,
+        method: "POST",
         headers: {
-          'Content-Type': 'application/json',
+          "Content-Type": "application/json",
         },
         data: {
-          messageId: svdxMessageId
+          messageId: svdxMessageId,
         },
       });
-      console.log('Message has been marked as read');
+      console.log("Message has been marked as read");
     } catch (e: any) {
-      console.error('Something wen wrong during notifying SVDX server about read message', e.message);
+      console.error(
+        "Something wen wrong during notifying SVDX server about read message",
+        e.message
+      );
     }
+  };
 
-  }
-
-  private _displayNewEmailReceived = async (from: string, subject: string, realmId: string) => {
-    const authResult = await notifee.requestPermission()
+  private _displayNewEmailReceived = async (
+    from: string,
+    subject: string,
+    realmId: string
+  ) => {
+    const authResult = await notifee.requestPermission();
     if (authResult.authorizationStatus !== AuthorizationStatus.AUTHORIZED) {
       return;
     }
 
     const channelId = await notifee.createChannel({
-      id: 'default',
-      name: 'Default Channel',
+      id: "default",
+      name: "Default Channel",
       importance: AndroidImportance.HIGH,
     });
 
     // Display a notification
     await notifee.displayNotification({
       title: `New Email from ${from}`,
-      body: `Subject: ${subject || '[No subject]'}`,
+      body: `Subject: ${subject || "[No subject]"}`,
       data: {
-        type: 'new-email-received',
+        type: "new-email-received",
         realmId: realmId,
       },
       android: {
@@ -420,35 +461,52 @@ class AgentStore {
         // smallIcon: 'ic_launcher', // optional, defaults to 'ic_launcher'.
         // pressAction is needed if you want the notification to open the app when pressed
         pressAction: {
-          id: 'default',
+          id: "default",
         },
       },
     });
-  }
+  };
 
   public checkNotSavedEmailMessages = async () => {
     // get all today's not saved messages
     const today = new Date();
-    const emails = this._realm.objects<Email>('Email')
-      .filtered('type == $0 && svdxImapSaved == false AND receivedDate > $1', 'svdx-mail', addHours(today, -6));
+    const emails = this._realm
+      .objects<Email>("Email")
+      .filtered(
+        "type == $0 && svdxImapSaved == false AND receivedDate > $1",
+        "svdx-mail",
+        addHours(today, -6)
+      );
 
     for (let i = 0; i < emails.length; i++) {
       const mailRow = emails[i];
-      await this._saveEmail(mailRow.svdxMessageId!, mailRow._id!, mailRow.svdxMime!);
+      await this._saveEmail(
+        mailRow.svdxBaseUrl,
+        mailRow.svdxMessageId!,
+        mailRow._id!,
+        mailRow.svdxMime!
+      );
     }
-  }
+  };
 
   public stopAgent = async () => {
-    console.debug('Stop agent');
+    console.debug("Stop agent");
 
     // TODO
-    console.warn('As soon as closing pool is not implemented here:')
-    console.warn('https://github.com/hyperledger/aries-framework-javascript/blob/main/packages/indy-vdr/src/pool/IndyVdrPool.ts#L83')
-    console.warn('Closing agent breaking initializing after shutdown and is disabled')
+    console.warn("As soon as closing pool is not implemented here:");
+    console.warn(
+      "https://github.com/hyperledger/aries-framework-javascript/blob/main/packages/indy-vdr/src/pool/IndyVdrPool.ts#L83"
+    );
+    console.warn(
+      "Closing agent breaking initializing after shutdown and is disabled"
+    );
     // await this._agent?.shutdown();
-  }
+  };
 
-  public importWallet = async (mnemonic: string, walletBackupFilePath: string) => {
+  public importWallet = async (
+    mnemonic: string,
+    walletBackupFilePath: string
+  ) => {
     await this.createAgent();
 
     const { encodedHash } = await argon2(mnemonic, salt, {
@@ -456,7 +514,7 @@ class AgentStore {
       memory: 16 * 1024,
       parallelism: 2,
       hashLength: 20,
-      mode: 'argon2i',
+      mode: "argon2i",
     });
 
     const walletConfig = this.agent.wallet.walletConfig as WalletConfig;
@@ -471,11 +529,11 @@ class AgentStore {
     await this.agent.initialize();
     await setPassphrase(mnemonic);
     this._rootStore.setAuthenticated(true);
-  }
+  };
 
   public exportWallet = async (toPath: string) => {
     if (!this._agent) {
-      throw new Error('Agent has not been created');
+      throw new Error("Agent has not been created");
     }
 
     const passphrase = getPassphrase();
@@ -485,7 +543,7 @@ class AgentStore {
       memory: 16 * 1024,
       parallelism: 2,
       hashLength: 20,
-      mode: 'argon2i',
+      mode: "argon2i",
     });
 
     const { encodedHash } = result;
@@ -495,11 +553,11 @@ class AgentStore {
       path: toPath,
     };
     await this._agent.wallet.export(exportConfig);
-  }
+  };
 
   public changePin = async (newPin: string) => {
     if (!this._agent) {
-      throw new Error('Agent has not been created');
+      throw new Error("Agent has not been created");
     }
     const guid = await getGuid();
     const oldPasscode = await getPasscode();
@@ -512,7 +570,7 @@ class AgentStore {
     });
     await this._agent.initialize();
     await setPasscode(newPin);
-  }
+  };
 
   public deleteWalletData = async () => {
     if (!this._agent) return;
@@ -520,7 +578,7 @@ class AgentStore {
     await this._agent.wallet.delete();
     await this._agent.shutdown();
     this._agent = null;
-  }
+  };
 }
 
 export type { AgentStore };
diff --git a/yarn.lock b/yarn.lock
index a3b919058377ccbfaf42b493a4a2f7e654e49f10..ab7fca562af66a25f0660b5c6a239941e1887c41 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
 # yarn lockfile v1
 
 
+"@aashutoshrathi/word-wrap@^1.2.3":
+  version "1.2.6"
+  resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
+  integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
+
 "@ampproject/remapping@^2.2.0":
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
@@ -34,45 +39,45 @@
     shallowequal "^1.1.0"
     utility-types "^3.10.0"
 
-"@aries-framework/anoncreds-rs@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds-rs/-/anoncreds-rs-0.4.1-alpha.24.tgz#54ea0507611c1221b58591b5c58e93bf5db4d3c9"
-  integrity sha512-LWR6O2HQ0UyBJvf0kENpYSM8xY1Iw5TWr5NO9YtdDCGaMwpIoOldLzm4Zj3iYw4mBCakbhf5MKR6QZaaInP4bQ==
+"@aries-framework/anoncreds-rs@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds-rs/-/anoncreds-rs-0.4.2.tgz#accce59154083dadc91d6a9c8333af8cb10f2188"
+  integrity sha512-S2QGDlVLJUaqjOj/b+lD+Xq8x4j88IyfJ3vwXaVwkrTlhpCiy/L+xoTaZq8UIcYIWfsrJ9CR6wl+gbCestGnFg==
   dependencies:
-    "@aries-framework/anoncreds" "0.4.1-alpha.24+4856b8f6"
-    "@aries-framework/core" "0.4.1-alpha.24+4856b8f6"
+    "@aries-framework/anoncreds" "0.4.2"
+    "@aries-framework/core" "0.4.2"
     class-transformer "^0.5.1"
     class-validator "0.14.0"
     rxjs "^7.2.0"
-    tsyringe "^4.7.0"
+    tsyringe "^4.8.0"
 
-"@aries-framework/anoncreds@0.4.1-alpha.24+4856b8f6", "@aries-framework/anoncreds@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds/-/anoncreds-0.4.1-alpha.24.tgz#6a6d99aa307559328f682596934594e3a5f1f097"
-  integrity sha512-r4vnn75cszyYqqooXExs/683C++fg4zg9EYKg7citDL1xDXmeL3qQr4lU7JtJAXFR8gZKa4R5LxFIaewik8l5A==
+"@aries-framework/anoncreds@0.4.2", "@aries-framework/anoncreds@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds/-/anoncreds-0.4.2.tgz#0d2bc7a40c8fac777c18325199939866d03c9ea3"
+  integrity sha512-Jwn9TfzgOhuW6nxOs0DyzU1W/XL1XvyOt8zjhgz0ETDuwVJMtSTyN+1f4y5B0R7fuBYJ6KbdAwfeCRQT8BLa6g==
   dependencies:
-    "@aries-framework/core" "0.4.1-alpha.24+4856b8f6"
+    "@aries-framework/core" "0.4.2"
     bn.js "^5.2.1"
     class-transformer "0.5.1"
     class-validator "0.14.0"
     reflect-metadata "^0.1.13"
 
-"@aries-framework/askar@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/askar/-/askar-0.4.1-alpha.24.tgz#e122cad7a805ab40dd6d53fff2c6b7b306819ea3"
-  integrity sha512-MOqPXY4lKCuGtU8BtDPKDnZHOh4kKhGe/6sjtPd+p0IjHV9f3NCOSB35GbKMfh3qtCKS2pFyv8TkZwWoid39iA==
+"@aries-framework/askar@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/askar/-/askar-0.4.2.tgz#b05051e0a5bbdf95d3c1339aa19b2680ed6d21f0"
+  integrity sha512-eQuLsXCjVxRRhUCd8yXqP0PD2S3QX3OPV2eUBb7PqkTxdo1ZCbiA8Q1pCP65l9s/zVIGT/2E1ys/n1sZZm1wmQ==
   dependencies:
-    "@aries-framework/core" "0.4.1-alpha.24+4856b8f6"
+    "@aries-framework/core" "0.4.2"
     bn.js "^5.2.1"
     class-transformer "0.5.1"
     class-validator "0.14.0"
     rxjs "^7.2.0"
-    tsyringe "^4.7.0"
+    tsyringe "^4.8.0"
 
-"@aries-framework/core@0.4.0":
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/@aries-framework/core/-/core-0.4.0.tgz#6af11446174d8f690aa1bf4abf6f61ad47a05b52"
-  integrity sha512-Z/rTgpJMKTl9iQQd8GnNEV5wCZKdV+kkd+Y4e/KS+j+6yMOxrgaVGcAKlcFIPcHUc6l1iOetJFeVLSwftXW2Kg==
+"@aries-framework/core@0.4.2", "@aries-framework/core@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/core/-/core-0.4.2.tgz#f2118c732d6aff8d6557a15de14381e8782b54a1"
+  integrity sha512-2qmDRkxD5vnPlcMjVTqu/Wxog9bUVU+tSr+7mgANgJ9q170FuoSuChU7WA5VCKEdmbRIM4BmvsnTlU8Y+iQ07A==
   dependencies:
     "@digitalcredentials/jsonld" "^5.2.1"
     "@digitalcredentials/jsonld-signatures" "^9.3.1"
@@ -81,6 +86,7 @@
     "@stablelib/ed25519" "^1.0.2"
     "@stablelib/random" "^1.0.1"
     "@stablelib/sha256" "^1.0.1"
+    "@types/node-fetch" "2.6.2"
     "@types/ws" "^8.5.4"
     abort-controller "^3.0.0"
     big-integer "^1.6.51"
@@ -92,63 +98,29 @@
     lru_map "^0.4.1"
     luxon "^3.3.0"
     make-error "^1.3.6"
-    node-fetch "^2.6.1"
     object-inspect "^1.10.3"
     query-string "^7.0.1"
     reflect-metadata "^0.1.13"
     rxjs "^7.2.0"
-    tsyringe "^4.7.0"
+    tsyringe "^4.8.0"
     uuid "^9.0.0"
     varint "^6.0.0"
     web-did-resolver "^2.0.21"
 
-"@aries-framework/core@0.4.1-alpha.24+4856b8f6", "@aries-framework/core@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/core/-/core-0.4.1-alpha.24.tgz#c35ed03933884f2df05e0d28a87aac876db9ac9b"
-  integrity sha512-T9Df2ONq6NLWzj92MM4UbkqKShEu98eRkSCR+14/B1rK24XynJZcFyzM8Z3oH6ljlqSS/2jxVC2NADQmmWlfeg==
+"@aries-framework/indy-vdr@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/indy-vdr/-/indy-vdr-0.4.2.tgz#69acee0a268a044ec7c11d3e647230c397580e7a"
+  integrity sha512-hFZlxWSbwXBY2sTbnCpgWbQAHZM2aeAs5Jj/Id+VJhwVsfwLvlQshBXmVpf6hIswCQsRFl3Q2lSn4MOh4pADYQ==
   dependencies:
-    "@digitalcredentials/jsonld" "^5.2.1"
-    "@digitalcredentials/jsonld-signatures" "^9.3.1"
-    "@digitalcredentials/vc" "^1.1.2"
-    "@multiformats/base-x" "^4.0.1"
-    "@stablelib/ed25519" "^1.0.2"
-    "@stablelib/random" "^1.0.1"
-    "@stablelib/sha256" "^1.0.1"
-    "@types/ws" "^8.5.4"
-    abort-controller "^3.0.0"
-    big-integer "^1.6.51"
-    borc "^3.0.0"
-    buffer "^6.0.3"
-    class-transformer "0.5.1"
-    class-validator "0.14.0"
-    did-resolver "^4.1.0"
-    lru_map "^0.4.1"
-    luxon "^3.3.0"
-    make-error "^1.3.6"
-    node-fetch "^2.6.1"
-    object-inspect "^1.10.3"
-    query-string "^7.0.1"
-    reflect-metadata "^0.1.13"
-    rxjs "^7.2.0"
-    tsyringe "^4.7.0"
-    uuid "^9.0.0"
-    varint "^6.0.0"
-    web-did-resolver "^2.0.21"
-
-"@aries-framework/indy-vdr@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/indy-vdr/-/indy-vdr-0.4.1-alpha.24.tgz#072ed2f8e3f551dd8a0cf74dde55d3decb24c74c"
-  integrity sha512-o1ltXcdn4UT5x4QPXRsn8PDkBub60rk29XGu46l0pp38thTEnvL/exJLHxZgwTJrEd9Z49D+ypyplycXmI7Xtw==
-  dependencies:
-    "@aries-framework/anoncreds" "0.4.1-alpha.24+4856b8f6"
-    "@aries-framework/core" "0.4.1-alpha.24+4856b8f6"
+    "@aries-framework/anoncreds" "0.4.2"
+    "@aries-framework/core" "0.4.2"
 
 "@aries-framework/question-answer@^0.4.0":
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/@aries-framework/question-answer/-/question-answer-0.4.0.tgz#f7e81f76b48a9d79710dd499b7acd0450a0a5422"
-  integrity sha512-r2Lwuj+RI7jVK8hQppa9qJb98L6A+QdjLfUsp5pHzia86yuSTpz5TrkXgJFvNMgkyQjagMflrCU4LSf94NFd9w==
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/question-answer/-/question-answer-0.4.2.tgz#f5d29f77d1545e2823d2296cf9a8e6d2a190ed2c"
+  integrity sha512-rk1ODjPjOjDsjUuEJ/A8vkiW3MPpCoQk1SaVrUVKvtyPFN52oPWvzANImGHFce0E/S440yBxYIr152JlRELb0w==
   dependencies:
-    "@aries-framework/core" "0.4.0"
+    "@aries-framework/core" "0.4.2"
     class-transformer "0.5.1"
     class-validator "0.14.0"
     rxjs "^7.2.0"
@@ -162,12 +134,12 @@
     "@types/node-fetch" "^2"
     rxjs "^7.2.0"
 
-"@aries-framework/react-native@^0.4.1-alpha.24":
-  version "0.4.1-alpha.24"
-  resolved "https://registry.yarnpkg.com/@aries-framework/react-native/-/react-native-0.4.1-alpha.24.tgz#cabb9159ba6b6101b494bf09bf8a531aab61a7be"
-  integrity sha512-cY3MO69XIGmZ8HJfr3eApXE+dm9hmlHyyPgp4GxG1YQh+pJBVZBopEPPdnMDd5AzFmckCE6YSXTFcJJxuoAHQA==
+"@aries-framework/react-native@^0.4.2":
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/@aries-framework/react-native/-/react-native-0.4.2.tgz#c13b17f2086dd7691f78897fdb04e4945ef624fc"
+  integrity sha512-Sllg/iL4sFamT/IJmMv0KhFrhdspnCNtAjOi7othwiHmCxWb14HZplUQ6copVI+JT6S1RVX9rUbhUfpv9DhfEA==
   dependencies:
-    "@aries-framework/core" "0.4.1-alpha.24+4856b8f6"
+    "@aries-framework/core" "0.4.2"
     "@azure/core-asynciterator-polyfill" "^1.0.2"
     events "^3.3.0"
 
@@ -176,14 +148,7 @@
   resolved "https://registry.yarnpkg.com/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.2.tgz#0dd3849fb8d97f062a39db0e5cadc9ffaf861fec"
   integrity sha512-3rkP4LnnlWawl0LZptJOdXNrT/fHp2eQMadoasa6afspXdpGrtPZuAQc2PD0cpgyuoXtUWyC3tv7xfntjGS5Dw==
 
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
-  integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
-  dependencies:
-    "@babel/highlight" "^7.18.6"
-
-"@babel/code-frame@^7.22.13":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13":
   version "7.22.13"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
   integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
@@ -191,58 +156,51 @@
     "@babel/highlight" "^7.22.13"
     chalk "^2.4.2"
 
-"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.0", "@babel/compat-data@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.3.tgz#cd502a6a0b6e37d7ad72ce7e71a7160a3ae36f7e"
-  integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==
+"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc"
+  integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==
 
-"@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.19.6", "@babel/core@^7.20.0":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd"
-  integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==
+"@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0", "@babel/core@^7.21.3":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94"
+  integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==
   dependencies:
     "@ampproject/remapping" "^2.2.0"
-    "@babel/code-frame" "^7.21.4"
-    "@babel/generator" "^7.22.0"
-    "@babel/helper-compilation-targets" "^7.22.1"
-    "@babel/helper-module-transforms" "^7.22.1"
-    "@babel/helpers" "^7.22.0"
-    "@babel/parser" "^7.22.0"
-    "@babel/template" "^7.21.9"
-    "@babel/traverse" "^7.22.1"
-    "@babel/types" "^7.22.0"
-    convert-source-map "^1.7.0"
+    "@babel/code-frame" "^7.22.13"
+    "@babel/generator" "^7.23.0"
+    "@babel/helper-compilation-targets" "^7.22.15"
+    "@babel/helper-module-transforms" "^7.23.0"
+    "@babel/helpers" "^7.23.2"
+    "@babel/parser" "^7.23.0"
+    "@babel/template" "^7.22.15"
+    "@babel/traverse" "^7.23.2"
+    "@babel/types" "^7.23.0"
+    convert-source-map "^2.0.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
-    json5 "^2.2.2"
-    semver "^6.3.0"
+    json5 "^2.2.3"
+    semver "^6.3.1"
 
 "@babel/eslint-parser@^7.18.2":
-  version "7.21.8"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz#59fb6fc4f3b017ab86987c076226ceef7b2b2ef2"
-  integrity sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34"
+  integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==
   dependencies:
     "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
     eslint-visitor-keys "^2.1.0"
-    semver "^6.3.0"
+    semver "^6.3.1"
 
-"@babel/generator@^7.20.0", "@babel/generator@^7.22.0", "@babel/generator@^7.22.3", "@babel/generator@^7.7.2":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.3.tgz#0ff675d2edb93d7596c5f6728b52615cfc0df01e"
-  integrity sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==
+"@babel/generator@^7.20.0", "@babel/generator@^7.23.0", "@babel/generator@^7.7.2":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
+  integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
   dependencies:
-    "@babel/types" "^7.22.3"
+    "@babel/types" "^7.23.0"
     "@jridgewell/gen-mapping" "^0.3.2"
     "@jridgewell/trace-mapping" "^0.3.17"
     jsesc "^2.5.1"
 
-"@babel/helper-annotate-as-pure@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
-  integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
-  dependencies:
-    "@babel/types" "^7.18.6"
-
 "@babel/helper-annotate-as-pure@^7.22.5":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
@@ -250,79 +208,65 @@
   dependencies:
     "@babel/types" "^7.22.5"
 
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz#c9b83d1ba74e163e023f008a3d3204588a7ceb60"
-  integrity sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956"
+  integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==
   dependencies:
-    "@babel/types" "^7.22.3"
+    "@babel/types" "^7.22.15"
 
-"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz#bfcd6b7321ffebe33290d68550e2c9d7eb7c7a58"
-  integrity sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==
+"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52"
+  integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==
   dependencies:
-    "@babel/compat-data" "^7.22.0"
-    "@babel/helper-validator-option" "^7.21.0"
-    browserslist "^4.21.3"
+    "@babel/compat-data" "^7.22.9"
+    "@babel/helper-validator-option" "^7.22.15"
+    browserslist "^4.21.9"
     lru-cache "^5.1.1"
-    semver "^6.3.0"
+    semver "^6.3.1"
 
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz#ae3de70586cc757082ae3eba57240d42f468c41b"
-  integrity sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-environment-visitor" "^7.22.1"
-    "@babel/helper-function-name" "^7.21.0"
-    "@babel/helper-member-expression-to-functions" "^7.22.0"
-    "@babel/helper-optimise-call-expression" "^7.18.6"
-    "@babel/helper-replace-supers" "^7.22.1"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
-    "@babel/helper-split-export-declaration" "^7.18.6"
-    semver "^6.3.0"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz#a7ed9a8488b45b467fca353cd1a44dc5f0cf5c70"
-  integrity sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4"
+  integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-annotate-as-pure" "^7.22.5"
+    "@babel/helper-environment-visitor" "^7.22.5"
+    "@babel/helper-function-name" "^7.22.5"
+    "@babel/helper-member-expression-to-functions" "^7.22.15"
+    "@babel/helper-optimise-call-expression" "^7.22.5"
+    "@babel/helper-replace-supers" "^7.22.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
+    "@babel/helper-split-export-declaration" "^7.22.6"
+    semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1"
+  integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.22.5"
     regexpu-core "^5.3.1"
-    semver "^6.3.0"
+    semver "^6.3.1"
 
-"@babel/helper-define-polyfill-provider@^0.4.0":
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz#487053f103110f25b9755c5980e031e93ced24d8"
-  integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==
+"@babel/helper-define-polyfill-provider@^0.4.3":
+  version "0.4.3"
+  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba"
+  integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.17.7"
-    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-compilation-targets" "^7.22.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
     debug "^4.1.1"
     lodash.debounce "^4.0.8"
     resolve "^1.14.2"
-    semver "^6.1.2"
-
-"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8"
-  integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==
 
-"@babel/helper-environment-visitor@^7.22.20":
+"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5":
   version "7.22.20"
   resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
   integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
 
-"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
-  integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
-  dependencies:
-    "@babel/template" "^7.20.7"
-    "@babel/types" "^7.21.0"
-
-"@babel/helper-function-name@^7.22.5":
+"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0":
   version "7.23.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
   integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
@@ -330,76 +274,51 @@
     "@babel/template" "^7.22.15"
     "@babel/types" "^7.23.0"
 
-"@babel/helper-hoist-variables@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
-  integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
-  dependencies:
-    "@babel/types" "^7.18.6"
-
-"@babel/helper-member-expression-to-functions@^7.22.0":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz#4b77a12c1b4b8e9e28736ed47d8b91f00976911f"
-  integrity sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==
+"@babel/helper-hoist-variables@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
+  integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
   dependencies:
-    "@babel/types" "^7.22.3"
+    "@babel/types" "^7.22.5"
 
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
-  integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==
+"@babel/helper-member-expression-to-functions@^7.22.15":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
+  integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
   dependencies:
-    "@babel/types" "^7.21.4"
+    "@babel/types" "^7.23.0"
 
-"@babel/helper-module-imports@^7.22.5":
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5":
   version "7.22.15"
   resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
   integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
   dependencies:
     "@babel/types" "^7.22.15"
 
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5", "@babel/helper-module-transforms@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz#e0cad47fedcf3cae83c11021696376e2d5a50c63"
-  integrity sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.1"
-    "@babel/helper-module-imports" "^7.21.4"
-    "@babel/helper-simple-access" "^7.21.5"
-    "@babel/helper-split-export-declaration" "^7.18.6"
-    "@babel/helper-validator-identifier" "^7.19.1"
-    "@babel/template" "^7.21.9"
-    "@babel/traverse" "^7.22.1"
-    "@babel/types" "^7.22.0"
-
-"@babel/helper-optimise-call-expression@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
-  integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
+"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e"
+  integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==
   dependencies:
-    "@babel/types" "^7.18.6"
+    "@babel/helper-environment-visitor" "^7.22.20"
+    "@babel/helper-module-imports" "^7.22.15"
+    "@babel/helper-simple-access" "^7.22.5"
+    "@babel/helper-split-export-declaration" "^7.22.6"
+    "@babel/helper-validator-identifier" "^7.22.20"
 
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
-  integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
+"@babel/helper-optimise-call-expression@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
+  integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
+  dependencies:
+    "@babel/types" "^7.22.5"
 
-"@babel/helper-plugin-utils@^7.22.5":
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
   integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
 
-"@babel/helper-remap-async-to-generator@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
-  integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-environment-visitor" "^7.18.9"
-    "@babel/helper-wrap-function" "^7.18.9"
-    "@babel/types" "^7.18.9"
-
-"@babel/helper-remap-async-to-generator@^7.22.5":
+"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5":
   version "7.22.20"
   resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0"
   integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==
@@ -408,73 +327,50 @@
     "@babel/helper-environment-visitor" "^7.22.20"
     "@babel/helper-wrap-function" "^7.22.20"
 
-"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz#38cf6e56f7dc614af63a21b45565dd623f0fdc95"
-  integrity sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==
+"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9":
+  version "7.22.20"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
+  integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.1"
-    "@babel/helper-member-expression-to-functions" "^7.22.0"
-    "@babel/helper-optimise-call-expression" "^7.18.6"
-    "@babel/template" "^7.21.9"
-    "@babel/traverse" "^7.22.1"
-    "@babel/types" "^7.22.0"
+    "@babel/helper-environment-visitor" "^7.22.20"
+    "@babel/helper-member-expression-to-functions" "^7.22.15"
+    "@babel/helper-optimise-call-expression" "^7.22.5"
 
-"@babel/helper-simple-access@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee"
-  integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==
+"@babel/helper-simple-access@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
+  integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
   dependencies:
-    "@babel/types" "^7.21.5"
+    "@babel/types" "^7.22.5"
 
-"@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
-  version "7.20.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684"
-  integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==
+"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
+  integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
   dependencies:
-    "@babel/types" "^7.20.0"
+    "@babel/types" "^7.22.5"
 
-"@babel/helper-split-export-declaration@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
-  integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
+"@babel/helper-split-export-declaration@^7.22.6":
+  version "7.22.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
+  integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
   dependencies:
-    "@babel/types" "^7.18.6"
-
-"@babel/helper-string-parser@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
-  integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
+    "@babel/types" "^7.22.5"
 
 "@babel/helper-string-parser@^7.22.5":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
   integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
 
-"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
-  version "7.19.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
-  integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
-
 "@babel/helper-validator-identifier@^7.22.20":
   version "7.22.20"
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
   integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
 
-"@babel/helper-validator-option@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
-  integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
-
-"@babel/helper-wrap-function@^7.18.9":
-  version "7.20.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
-  integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==
-  dependencies:
-    "@babel/helper-function-name" "^7.19.0"
-    "@babel/template" "^7.18.10"
-    "@babel/traverse" "^7.20.5"
-    "@babel/types" "^7.20.5"
+"@babel/helper-validator-option@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040"
+  integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==
 
 "@babel/helper-wrap-function@^7.22.20":
   version "7.22.20"
@@ -485,23 +381,14 @@
     "@babel/template" "^7.22.15"
     "@babel/types" "^7.22.19"
 
-"@babel/helpers@^7.22.0":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.3.tgz#53b74351da9684ea2f694bf0877998da26dd830e"
-  integrity sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==
-  dependencies:
-    "@babel/template" "^7.21.9"
-    "@babel/traverse" "^7.22.1"
-    "@babel/types" "^7.22.3"
-
-"@babel/highlight@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
-  integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
+"@babel/helpers@^7.23.2":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767"
+  integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.18.6"
-    chalk "^2.0.0"
-    js-tokens "^4.0.0"
+    "@babel/template" "^7.22.15"
+    "@babel/traverse" "^7.23.2"
+    "@babel/types" "^7.23.0"
 
 "@babel/highlight@^7.22.13":
   version "7.22.20"
@@ -512,31 +399,26 @@
     chalk "^2.4.2"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4":
-  version "7.22.4"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32"
-  integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==
-
-"@babel/parser@^7.22.15":
+"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
   version "7.23.0"
   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
   integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
 
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
-  integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962"
+  integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz#a75be1365c0c3188c51399a662168c1c98108659"
-  integrity sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f"
+  integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
-    "@babel/plugin-transform-optional-chaining" "^7.22.3"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
+    "@babel/plugin-transform-optional-chaining" "^7.22.15"
 
 "@babel/plugin-proposal-async-generator-functions@^7.0.0":
   version "7.20.7"
@@ -557,12 +439,12 @@
     "@babel/helper-plugin-utils" "^7.18.6"
 
 "@babel/plugin-proposal-export-default-from@^7.0.0":
-  version "7.18.10"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.10.tgz#091f4794dbce4027c03cf4ebc64d3fb96b75c206"
-  integrity sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==
+  version "7.22.17"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz#91b60cd338f501cccdf549af2308768911ec5fbb"
+  integrity sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.9"
-    "@babel/plugin-syntax-export-default-from" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/plugin-syntax-export-default-from" "^7.22.5"
 
 "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0":
   version "7.18.6"
@@ -608,23 +490,10 @@
     "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
-"@babel/plugin-proposal-private-property-in-object@^7.21.0":
-  version "7.21.11"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c"
-  integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-create-class-features-plugin" "^7.21.0"
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
-  integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+  version "7.21.0-placeholder-for-preset-env.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
+  integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -661,12 +530,12 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz#8df076711a4818c4ce4f23e61d622b0ba2ff84bc"
-  integrity sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==
+"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz#ac3a24b362a04415a017ab96b9b4483d0e2a6e44"
+  integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-syntax-export-namespace-from@^7.8.3":
   version "7.8.3"
@@ -675,33 +544,26 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.3"
 
-"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.18.6":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107"
-  integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.22.5":
+"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859"
   integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==
   dependencies:
     "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-syntax-import-assertions@^7.20.0":
-  version "7.20.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4"
-  integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==
+"@babel/plugin-syntax-import-assertions@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98"
+  integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.19.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-syntax-import-attributes@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.3.tgz#d7168f22b9b49a6cc1792cec78e06a18ad2e7b4b"
-  integrity sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA==
+"@babel/plugin-syntax-import-attributes@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb"
+  integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3":
   version "7.10.4"
@@ -717,12 +579,12 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.21.4", "@babel/plugin-syntax-jsx@^7.7.2":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2"
-  integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==
+"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918"
+  integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
   version "7.10.4"
@@ -780,12 +642,12 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.14.5"
 
-"@babel/plugin-syntax-typescript@^7.21.4", "@babel/plugin-syntax-typescript@^7.7.2":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8"
-  integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==
+"@babel/plugin-syntax-typescript@^7.22.5", "@babel/plugin-syntax-typescript@^7.7.2":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272"
+  integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
   version "7.18.6"
@@ -795,33 +657,24 @@
     "@babel/helper-create-regexp-features-plugin" "^7.18.6"
     "@babel/helper-plugin-utils" "^7.18.6"
 
-"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929"
-  integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958"
+  integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-async-generator-functions@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.3.tgz#3ed99924c354fb9e80dabb2cc8d002c702e94527"
-  integrity sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA==
+"@babel/plugin-transform-async-generator-functions@^7.23.2":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb"
+  integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-remap-async-to-generator" "^7.18.9"
+    "@babel/helper-environment-visitor" "^7.22.20"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-remap-async-to-generator" "^7.22.20"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
 
-"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.7":
-  version "7.20.7"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354"
-  integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==
-  dependencies:
-    "@babel/helper-module-imports" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/helper-remap-async-to-generator" "^7.18.9"
-
-"@babel/plugin-transform-async-to-generator@^7.20.0":
+"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.22.5":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775"
   integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==
@@ -830,122 +683,107 @@
     "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/helper-remap-async-to-generator" "^7.22.5"
 
-"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8"
-  integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==
+"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024"
+  integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02"
-  integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==
+"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022"
+  integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-class-properties@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.3.tgz#3407145e513830df77f0cef828b8b231c166fe4c"
-  integrity sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw==
+"@babel/plugin-transform-class-properties@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77"
+  integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-class-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-class-static-block@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.3.tgz#e352cf33567385c731a8f21192efeba760358773"
-  integrity sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw==
+"@babel/plugin-transform-class-static-block@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974"
+  integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-class-features-plugin" "^7.22.11"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
 
-"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665"
-  integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==
+"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b"
+  integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-compilation-targets" "^7.20.7"
-    "@babel/helper-environment-visitor" "^7.18.9"
-    "@babel/helper-function-name" "^7.21.0"
-    "@babel/helper-optimise-call-expression" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/helper-replace-supers" "^7.20.7"
-    "@babel/helper-split-export-declaration" "^7.18.6"
+    "@babel/helper-annotate-as-pure" "^7.22.5"
+    "@babel/helper-compilation-targets" "^7.22.15"
+    "@babel/helper-environment-visitor" "^7.22.5"
+    "@babel/helper-function-name" "^7.22.5"
+    "@babel/helper-optimise-call-expression" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-replace-supers" "^7.22.9"
+    "@babel/helper-split-export-declaration" "^7.22.6"
     globals "^11.1.0"
 
-"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44"
-  integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/template" "^7.20.7"
-
-"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.21.3":
-  version "7.21.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401"
-  integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==
+"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869"
+  integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/template" "^7.22.5"
 
-"@babel/plugin-transform-destructuring@^7.20.0":
+"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.0":
   version "7.23.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c"
   integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==
   dependencies:
     "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8"
-  integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==
+"@babel/plugin-transform-dotall-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165"
+  integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-duplicate-keys@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e"
-  integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==
+"@babel/plugin-transform-duplicate-keys@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285"
+  integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-dynamic-import@^7.22.1":
-  version "7.22.1"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.1.tgz#6c56afaf896a07026330cf39714532abed8d9ed1"
-  integrity sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ==
+"@babel/plugin-transform-dynamic-import@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa"
+  integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
 
-"@babel/plugin-transform-exponentiation-operator@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd"
-  integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==
+"@babel/plugin-transform-exponentiation-operator@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a"
+  integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==
   dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-export-namespace-from@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.3.tgz#9b8700aa495007d3bebac8358d1c562434b680b9"
-  integrity sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g==
+"@babel/plugin-transform-export-namespace-from@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c"
+  integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
 
-"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.21.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5"
-  integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/plugin-syntax-flow" "^7.18.6"
-
-"@babel/plugin-transform-flow-strip-types@^7.20.0":
+"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.22.5":
   version "7.22.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2"
   integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==
@@ -953,348 +791,348 @@
     "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-flow" "^7.22.5"
 
-"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc"
-  integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==
+"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29"
+  integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0"
-  integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==
+"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143"
+  integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.18.9"
-    "@babel/helper-function-name" "^7.18.9"
-    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/helper-compilation-targets" "^7.22.5"
+    "@babel/helper-function-name" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-json-strings@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.3.tgz#a181b8679cf7c93e9d0e3baa5b1776d65be601a9"
-  integrity sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw==
+"@babel/plugin-transform-json-strings@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835"
+  integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-json-strings" "^7.8.3"
 
-"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc"
-  integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==
+"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920"
+  integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-logical-assignment-operators@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.3.tgz#9e021455810f33b0baccb82fb759b194f5dc36f0"
-  integrity sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA==
+"@babel/plugin-transform-logical-assignment-operators@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c"
+  integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
 
-"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e"
-  integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==
+"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def"
+  integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-modules-amd@^7.20.11":
-  version "7.20.11"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a"
-  integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==
+"@babel/plugin-transform-modules-amd@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88"
+  integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==
   dependencies:
-    "@babel/helper-module-transforms" "^7.20.11"
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-module-transforms" "^7.23.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc"
-  integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==
+"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481"
+  integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==
   dependencies:
-    "@babel/helper-module-transforms" "^7.21.5"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-simple-access" "^7.21.5"
+    "@babel/helper-module-transforms" "^7.23.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-simple-access" "^7.22.5"
 
-"@babel/plugin-transform-modules-systemjs@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz#cc507e03e88d87b016feaeb5dae941e6ef50d91e"
-  integrity sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==
+"@babel/plugin-transform-modules-systemjs@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160"
+  integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==
   dependencies:
-    "@babel/helper-hoist-variables" "^7.18.6"
-    "@babel/helper-module-transforms" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-validator-identifier" "^7.19.1"
+    "@babel/helper-hoist-variables" "^7.22.5"
+    "@babel/helper-module-transforms" "^7.23.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-validator-identifier" "^7.22.20"
 
-"@babel/plugin-transform-modules-umd@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9"
-  integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==
+"@babel/plugin-transform-modules-umd@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98"
+  integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==
   dependencies:
-    "@babel/helper-module-transforms" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-module-transforms" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz#db6fb77e6b3b53ec3b8d370246f0b7cf67d35ab4"
-  integrity sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f"
+  integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-new-target@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz#deb0377d741cbee2f45305868b9026dcd6dd96e2"
-  integrity sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==
+"@babel/plugin-transform-new-target@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d"
+  integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-nullish-coalescing-operator@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.3.tgz#8c519f8bf5af94a9ca6f65cf422a9d3396e542b9"
-  integrity sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc"
+  integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
 
-"@babel/plugin-transform-numeric-separator@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.3.tgz#02493070ca6685884b0eee705363ee4da2132ab0"
-  integrity sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ==
+"@babel/plugin-transform-numeric-separator@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd"
+  integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-numeric-separator" "^7.10.4"
 
 "@babel/plugin-transform-object-assign@^7.16.7":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz#7830b4b6f83e1374a5afb9f6111bcfaea872cdd2"
-  integrity sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A==
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz#290c1b9555dcea48bb2c29ad94237777600d04f9"
+  integrity sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-object-rest-spread@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.3.tgz#da6fba693effb8c203d8c3bdf7bf4e2567e802e9"
-  integrity sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw==
+"@babel/plugin-transform-object-rest-spread@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f"
+  integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==
   dependencies:
-    "@babel/compat-data" "^7.22.3"
-    "@babel/helper-compilation-targets" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/compat-data" "^7.22.9"
+    "@babel/helper-compilation-targets" "^7.22.15"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-transform-parameters" "^7.22.3"
+    "@babel/plugin-transform-parameters" "^7.22.15"
 
-"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
-  integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==
+"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c"
+  integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
-    "@babel/helper-replace-supers" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-replace-supers" "^7.22.5"
 
-"@babel/plugin-transform-optional-catch-binding@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.3.tgz#e971a083fc7d209d9cd18253853af1db6d8dc42f"
-  integrity sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g==
+"@babel/plugin-transform-optional-catch-binding@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0"
+  integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
 
-"@babel/plugin-transform-optional-chaining@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz#5fd24a4a7843b76da6aeec23c7f551da5d365290"
-  integrity sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==
+"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0":
+  version "7.23.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158"
+  integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
-"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz#24477acfd2fd2bc901df906c9bf17fbcfeee900d"
-  integrity sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114"
+  integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-private-methods@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.3.tgz#adac38020bab5047482d3297107c1f58e9c574f6"
-  integrity sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug==
+"@babel/plugin-transform-private-methods@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722"
+  integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-class-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-private-property-in-object@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.3.tgz#031621b02c7b7d95389de1a3dba2fe9e8c548e56"
-  integrity sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw==
+"@babel/plugin-transform-private-property-in-object@^7.22.11":
+  version "7.22.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1"
+  integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-create-class-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-annotate-as-pure" "^7.22.5"
+    "@babel/helper-create-class-features-plugin" "^7.22.11"
+    "@babel/helper-plugin-utils" "^7.22.5"
     "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
 
-"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3"
-  integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==
+"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766"
+  integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-transform-react-display-name@^7.0.0":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415"
-  integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b"
+  integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-transform-react-jsx-self@^7.0.0":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54"
-  integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e"
+  integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-transform-react-jsx-source@^7.0.0":
-  version "7.19.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86"
-  integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c"
+  integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.19.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-transform-react-jsx@^7.0.0":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.3.tgz#5a1f380df3703ba92eb1a930a539c6d88836f690"
-  integrity sha512-JEulRWG2f04a7L8VWaOngWiK6p+JOSpB+DAtwfJgOaej1qdbNxqtK7MwTBHjUA10NeFcszlFNqCdbRcirzh2uQ==
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6"
+  integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-module-imports" "^7.21.4"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/plugin-syntax-jsx" "^7.21.4"
-    "@babel/types" "^7.22.3"
+    "@babel/helper-annotate-as-pure" "^7.22.5"
+    "@babel/helper-module-imports" "^7.22.15"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/plugin-syntax-jsx" "^7.22.5"
+    "@babel/types" "^7.22.15"
 
-"@babel/plugin-transform-regenerator@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e"
-  integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==
+"@babel/plugin-transform-regenerator@^7.22.10":
+  version "7.22.10"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca"
+  integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
-    regenerator-transform "^0.15.1"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    regenerator-transform "^0.15.2"
 
-"@babel/plugin-transform-reserved-words@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a"
-  integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==
+"@babel/plugin-transform-reserved-words@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb"
+  integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/plugin-transform-runtime@^7.0.0":
-  version "7.22.4"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.4.tgz#f8353f313f18c3ce1315688631ec48657b97af42"
-  integrity sha512-Urkiz1m4zqiRo17klj+l3nXgiRTFQng91Bc1eiLF7BMQu1e7wE5Gcq9xSv062IF068NHjcutSbIMev60gXxAvA==
-  dependencies:
-    "@babel/helper-module-imports" "^7.21.4"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    babel-plugin-polyfill-corejs2 "^0.4.3"
-    babel-plugin-polyfill-corejs3 "^0.8.1"
-    babel-plugin-polyfill-regenerator "^0.5.0"
-    semver "^6.3.0"
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990"
+  integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==
+  dependencies:
+    "@babel/helper-module-imports" "^7.22.15"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    babel-plugin-polyfill-corejs2 "^0.4.6"
+    babel-plugin-polyfill-corejs3 "^0.8.5"
+    babel-plugin-polyfill-regenerator "^0.5.3"
+    semver "^6.3.1"
 
-"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
-  integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624"
+  integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.20.7":
-  version "7.20.7"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e"
-  integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==
+"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b"
+  integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
 
-"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc"
-  integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==
+"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa"
+  integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e"
-  integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==
+"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff"
+  integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-typeof-symbol@^7.18.9":
-  version "7.18.9"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0"
-  integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==
+"@babel/plugin-transform-typeof-symbol@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34"
+  integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-typescript@^7.21.3", "@babel/plugin-transform-typescript@^7.5.0":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz#8f662cec8ba88c873f1c7663c0c94e3f68592f09"
-  integrity sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==
+"@babel/plugin-transform-typescript@^7.22.15", "@babel/plugin-transform-typescript@^7.5.0":
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127"
+  integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.18.6"
-    "@babel/helper-create-class-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/plugin-syntax-typescript" "^7.21.4"
+    "@babel/helper-annotate-as-pure" "^7.22.5"
+    "@babel/helper-create-class-features-plugin" "^7.22.15"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/plugin-syntax-typescript" "^7.22.5"
 
-"@babel/plugin-transform-unicode-escapes@^7.21.5":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2"
-  integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==
+"@babel/plugin-transform-unicode-escapes@^7.22.10":
+  version "7.22.10"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9"
+  integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-unicode-property-regex@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.3.tgz#597b6a614dc93eaae605ee293e674d79d32eb380"
-  integrity sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg==
+"@babel/plugin-transform-unicode-property-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81"
+  integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
-  integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==
+"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183"
+  integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-unicode-sets-regex@^7.22.3":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.3.tgz#7c14ee33fa69782b0101d0f7143d3fc73ce00700"
-  integrity sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw==
+"@babel/plugin-transform-unicode-sets-regex@^7.22.5":
+  version "7.22.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91"
+  integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.22.5"
 
 "@babel/preset-env@^7.20.0":
-  version "7.22.4"
-  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.4.tgz#c86a82630f0e8c61d9bb9327b7b896732028cbed"
-  integrity sha512-c3lHOjbwBv0TkhYCr+XCR6wKcSZ1QbQTVdSkZUaVpLv8CVWotBMArWUi5UAJrcrQaEnleVkkvaV8F/pmc/STZQ==
-  dependencies:
-    "@babel/compat-data" "^7.22.3"
-    "@babel/helper-compilation-targets" "^7.22.1"
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-validator-option" "^7.21.0"
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.3"
-    "@babel/plugin-proposal-private-property-in-object" "^7.21.0"
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059"
+  integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==
+  dependencies:
+    "@babel/compat-data" "^7.23.2"
+    "@babel/helper-compilation-targets" "^7.22.15"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-validator-option" "^7.22.15"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15"
+    "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
     "@babel/plugin-syntax-class-properties" "^7.12.13"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
     "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-    "@babel/plugin-syntax-import-assertions" "^7.20.0"
-    "@babel/plugin-syntax-import-attributes" "^7.22.3"
+    "@babel/plugin-syntax-import-assertions" "^7.22.5"
+    "@babel/plugin-syntax-import-attributes" "^7.22.5"
     "@babel/plugin-syntax-import-meta" "^7.10.4"
     "@babel/plugin-syntax-json-strings" "^7.8.3"
     "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
@@ -1306,97 +1144,95 @@
     "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
     "@babel/plugin-syntax-top-level-await" "^7.14.5"
     "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
-    "@babel/plugin-transform-arrow-functions" "^7.21.5"
-    "@babel/plugin-transform-async-generator-functions" "^7.22.3"
-    "@babel/plugin-transform-async-to-generator" "^7.20.7"
-    "@babel/plugin-transform-block-scoped-functions" "^7.18.6"
-    "@babel/plugin-transform-block-scoping" "^7.21.0"
-    "@babel/plugin-transform-class-properties" "^7.22.3"
-    "@babel/plugin-transform-class-static-block" "^7.22.3"
-    "@babel/plugin-transform-classes" "^7.21.0"
-    "@babel/plugin-transform-computed-properties" "^7.21.5"
-    "@babel/plugin-transform-destructuring" "^7.21.3"
-    "@babel/plugin-transform-dotall-regex" "^7.18.6"
-    "@babel/plugin-transform-duplicate-keys" "^7.18.9"
-    "@babel/plugin-transform-dynamic-import" "^7.22.1"
-    "@babel/plugin-transform-exponentiation-operator" "^7.18.6"
-    "@babel/plugin-transform-export-namespace-from" "^7.22.3"
-    "@babel/plugin-transform-for-of" "^7.21.5"
-    "@babel/plugin-transform-function-name" "^7.18.9"
-    "@babel/plugin-transform-json-strings" "^7.22.3"
-    "@babel/plugin-transform-literals" "^7.18.9"
-    "@babel/plugin-transform-logical-assignment-operators" "^7.22.3"
-    "@babel/plugin-transform-member-expression-literals" "^7.18.6"
-    "@babel/plugin-transform-modules-amd" "^7.20.11"
-    "@babel/plugin-transform-modules-commonjs" "^7.21.5"
-    "@babel/plugin-transform-modules-systemjs" "^7.22.3"
-    "@babel/plugin-transform-modules-umd" "^7.18.6"
-    "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.3"
-    "@babel/plugin-transform-new-target" "^7.22.3"
-    "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.3"
-    "@babel/plugin-transform-numeric-separator" "^7.22.3"
-    "@babel/plugin-transform-object-rest-spread" "^7.22.3"
-    "@babel/plugin-transform-object-super" "^7.18.6"
-    "@babel/plugin-transform-optional-catch-binding" "^7.22.3"
-    "@babel/plugin-transform-optional-chaining" "^7.22.3"
-    "@babel/plugin-transform-parameters" "^7.22.3"
-    "@babel/plugin-transform-private-methods" "^7.22.3"
-    "@babel/plugin-transform-private-property-in-object" "^7.22.3"
-    "@babel/plugin-transform-property-literals" "^7.18.6"
-    "@babel/plugin-transform-regenerator" "^7.21.5"
-    "@babel/plugin-transform-reserved-words" "^7.18.6"
-    "@babel/plugin-transform-shorthand-properties" "^7.18.6"
-    "@babel/plugin-transform-spread" "^7.20.7"
-    "@babel/plugin-transform-sticky-regex" "^7.18.6"
-    "@babel/plugin-transform-template-literals" "^7.18.9"
-    "@babel/plugin-transform-typeof-symbol" "^7.18.9"
-    "@babel/plugin-transform-unicode-escapes" "^7.21.5"
-    "@babel/plugin-transform-unicode-property-regex" "^7.22.3"
-    "@babel/plugin-transform-unicode-regex" "^7.18.6"
-    "@babel/plugin-transform-unicode-sets-regex" "^7.22.3"
-    "@babel/preset-modules" "^0.1.5"
-    "@babel/types" "^7.22.4"
-    babel-plugin-polyfill-corejs2 "^0.4.3"
-    babel-plugin-polyfill-corejs3 "^0.8.1"
-    babel-plugin-polyfill-regenerator "^0.5.0"
-    core-js-compat "^3.30.2"
-    semver "^6.3.0"
+    "@babel/plugin-transform-arrow-functions" "^7.22.5"
+    "@babel/plugin-transform-async-generator-functions" "^7.23.2"
+    "@babel/plugin-transform-async-to-generator" "^7.22.5"
+    "@babel/plugin-transform-block-scoped-functions" "^7.22.5"
+    "@babel/plugin-transform-block-scoping" "^7.23.0"
+    "@babel/plugin-transform-class-properties" "^7.22.5"
+    "@babel/plugin-transform-class-static-block" "^7.22.11"
+    "@babel/plugin-transform-classes" "^7.22.15"
+    "@babel/plugin-transform-computed-properties" "^7.22.5"
+    "@babel/plugin-transform-destructuring" "^7.23.0"
+    "@babel/plugin-transform-dotall-regex" "^7.22.5"
+    "@babel/plugin-transform-duplicate-keys" "^7.22.5"
+    "@babel/plugin-transform-dynamic-import" "^7.22.11"
+    "@babel/plugin-transform-exponentiation-operator" "^7.22.5"
+    "@babel/plugin-transform-export-namespace-from" "^7.22.11"
+    "@babel/plugin-transform-for-of" "^7.22.15"
+    "@babel/plugin-transform-function-name" "^7.22.5"
+    "@babel/plugin-transform-json-strings" "^7.22.11"
+    "@babel/plugin-transform-literals" "^7.22.5"
+    "@babel/plugin-transform-logical-assignment-operators" "^7.22.11"
+    "@babel/plugin-transform-member-expression-literals" "^7.22.5"
+    "@babel/plugin-transform-modules-amd" "^7.23.0"
+    "@babel/plugin-transform-modules-commonjs" "^7.23.0"
+    "@babel/plugin-transform-modules-systemjs" "^7.23.0"
+    "@babel/plugin-transform-modules-umd" "^7.22.5"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
+    "@babel/plugin-transform-new-target" "^7.22.5"
+    "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11"
+    "@babel/plugin-transform-numeric-separator" "^7.22.11"
+    "@babel/plugin-transform-object-rest-spread" "^7.22.15"
+    "@babel/plugin-transform-object-super" "^7.22.5"
+    "@babel/plugin-transform-optional-catch-binding" "^7.22.11"
+    "@babel/plugin-transform-optional-chaining" "^7.23.0"
+    "@babel/plugin-transform-parameters" "^7.22.15"
+    "@babel/plugin-transform-private-methods" "^7.22.5"
+    "@babel/plugin-transform-private-property-in-object" "^7.22.11"
+    "@babel/plugin-transform-property-literals" "^7.22.5"
+    "@babel/plugin-transform-regenerator" "^7.22.10"
+    "@babel/plugin-transform-reserved-words" "^7.22.5"
+    "@babel/plugin-transform-shorthand-properties" "^7.22.5"
+    "@babel/plugin-transform-spread" "^7.22.5"
+    "@babel/plugin-transform-sticky-regex" "^7.22.5"
+    "@babel/plugin-transform-template-literals" "^7.22.5"
+    "@babel/plugin-transform-typeof-symbol" "^7.22.5"
+    "@babel/plugin-transform-unicode-escapes" "^7.22.10"
+    "@babel/plugin-transform-unicode-property-regex" "^7.22.5"
+    "@babel/plugin-transform-unicode-regex" "^7.22.5"
+    "@babel/plugin-transform-unicode-sets-regex" "^7.22.5"
+    "@babel/preset-modules" "0.1.6-no-external-plugins"
+    "@babel/types" "^7.23.0"
+    babel-plugin-polyfill-corejs2 "^0.4.6"
+    babel-plugin-polyfill-corejs3 "^0.8.5"
+    babel-plugin-polyfill-regenerator "^0.5.3"
+    core-js-compat "^3.31.0"
+    semver "^6.3.1"
 
 "@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.13.13":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.21.4.tgz#a5de2a1cafa61f0e0b3af9b30ff0295d38d3608f"
-  integrity sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA==
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.15.tgz#30318deb9b3ebd9f5738e96da03a531e0cd3165d"
+  integrity sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.20.2"
-    "@babel/helper-validator-option" "^7.21.0"
-    "@babel/plugin-transform-flow-strip-types" "^7.21.0"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-validator-option" "^7.22.15"
+    "@babel/plugin-transform-flow-strip-types" "^7.22.5"
 
-"@babel/preset-modules@^0.1.5":
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
-  integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
+"@babel/preset-modules@0.1.6-no-external-plugins":
+  version "0.1.6-no-external-plugins"
+  resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
+  integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.0.0"
-    "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
-    "@babel/plugin-transform-dotall-regex" "^7.4.4"
     "@babel/types" "^7.4.4"
     esutils "^2.0.2"
 
 "@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7":
-  version "7.21.5"
-  resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f"
-  integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4"
+  integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.21.5"
-    "@babel/helper-validator-option" "^7.21.0"
-    "@babel/plugin-syntax-jsx" "^7.21.4"
-    "@babel/plugin-transform-modules-commonjs" "^7.21.5"
-    "@babel/plugin-transform-typescript" "^7.21.3"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-validator-option" "^7.22.15"
+    "@babel/plugin-syntax-jsx" "^7.22.5"
+    "@babel/plugin-transform-modules-commonjs" "^7.23.0"
+    "@babel/plugin-transform-typescript" "^7.22.15"
 
 "@babel/register@^7.0.0", "@babel/register@^7.13.16":
-  version "7.21.0"
-  resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.21.0.tgz#c97bf56c2472e063774f31d344c592ebdcefa132"
-  integrity sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==
+  version "7.22.15"
+  resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.15.tgz#c2c294a361d59f5fa7bcc8b97ef7319c32ecaec7"
+  integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==
   dependencies:
     clone-deep "^4.0.1"
     find-cache-dir "^2.0.0"
@@ -1409,30 +1245,14 @@
   resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
   integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
 
-"@babel/runtime@>=7":
-  version "7.23.1"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d"
-  integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==
+"@babel/runtime@>=7", "@babel/runtime@^7.0.0", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
+  integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
   dependencies:
     regenerator-runtime "^0.14.0"
 
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4":
-  version "7.22.3"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.3.tgz#0a7fce51d43adbf0f7b517a71f4c3aaca92ebcbb"
-  integrity sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==
-  dependencies:
-    regenerator-runtime "^0.13.11"
-
-"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.21.9", "@babel/template@^7.3.3":
-  version "7.21.9"
-  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb"
-  integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==
-  dependencies:
-    "@babel/code-frame" "^7.21.4"
-    "@babel/parser" "^7.21.9"
-    "@babel/types" "^7.21.5"
-
-"@babel/template@^7.22.15":
+"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3":
   version "7.22.15"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
   integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
@@ -1441,32 +1261,23 @@
     "@babel/parser" "^7.22.15"
     "@babel/types" "^7.22.15"
 
-"@babel/traverse@^7.20.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.22.1", "@babel/traverse@^7.7.2", "@babel/traverse@^7.7.4":
-  version "7.22.4"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.4.tgz#c3cf96c5c290bd13b55e29d025274057727664c0"
-  integrity sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==
-  dependencies:
-    "@babel/code-frame" "^7.21.4"
-    "@babel/generator" "^7.22.3"
-    "@babel/helper-environment-visitor" "^7.22.1"
-    "@babel/helper-function-name" "^7.21.0"
-    "@babel/helper-hoist-variables" "^7.18.6"
-    "@babel/helper-split-export-declaration" "^7.18.6"
-    "@babel/parser" "^7.22.4"
-    "@babel/types" "^7.22.4"
+"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2":
+  version "7.23.2"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
+  integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+  dependencies:
+    "@babel/code-frame" "^7.22.13"
+    "@babel/generator" "^7.23.0"
+    "@babel/helper-environment-visitor" "^7.22.20"
+    "@babel/helper-function-name" "^7.23.0"
+    "@babel/helper-hoist-variables" "^7.22.5"
+    "@babel/helper-split-export-declaration" "^7.22.6"
+    "@babel/parser" "^7.23.0"
+    "@babel/types" "^7.23.0"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
-  version "7.22.4"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.4.tgz#56a2653ae7e7591365dabf20b76295410684c071"
-  integrity sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==
-  dependencies:
-    "@babel/helper-string-parser" "^7.21.5"
-    "@babel/helper-validator-identifier" "^7.19.1"
-    to-fast-properties "^2.0.0"
-
-"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
+"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
   version "7.23.0"
   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
   integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
@@ -1486,9 +1297,9 @@
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
 "@digitalbazaar/security-context@^1.0.0":
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/@digitalbazaar/security-context/-/security-context-1.0.0.tgz#23624692cfadc6d97e1eb787ad38a19635d89297"
-  integrity sha512-mlj+UmodxTAdMCHGxnGVTRLHcSLyiEOVRiz3J6yiRliJWyrgeXs34wlWjBorDIEMDIjK2JwZrDuFEKO9bS5nKQ==
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@digitalbazaar/security-context/-/security-context-1.0.1.tgz#badc4b8da03411a32d4e7321ce7c4b355776b410"
+  integrity sha512-0WZa6tPiTZZF8leBtQgYAfXQePFQp2z5ivpCEN/iZguYYZ0TB9qRmWtan5XH6mNFuusHtMcyIzAcReyE6rZPhA==
 
 "@digitalcredentials/http-client@^1.0.0":
   version "1.2.2"
@@ -1499,20 +1310,30 @@
     ky-universal "^0.8.2"
 
 "@digitalcredentials/jsonld-signatures@^9.3.1":
-  version "9.3.1"
-  resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld-signatures/-/jsonld-signatures-9.3.1.tgz#e00175ab4199c580c9b308effade021da805c695"
-  integrity sha512-YMh1e1GpTeHDqq2a2Kd+pLcHsMiPeKyE2Zs17NSwqckij7UMRVDQ54S5VQhHvoXZ1mlkpVaI2xtj5M5N6rzylw==
+  version "9.3.2"
+  resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld-signatures/-/jsonld-signatures-9.3.2.tgz#2c8141e7dfec2228b54ebd1f94d925df250351bb"
+  integrity sha512-auubZrr3D7et5O6zCdqoXsLhI8/F26HqneE94gIoZYVuxNHBNaFoDQ1Z71RfddRqwJonHkfkWgeZSzqjv6aUmg==
   dependencies:
     "@digitalbazaar/security-context" "^1.0.0"
-    "@digitalcredentials/jsonld" "^5.2.1"
+    "@digitalcredentials/jsonld" "^6.0.0"
     fast-text-encoding "^1.0.3"
     isomorphic-webcrypto "^2.3.8"
     serialize-error "^8.0.1"
 
 "@digitalcredentials/jsonld@^5.2.1":
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld/-/jsonld-5.2.1.tgz#60acf587bec8331e86324819fd19692939118775"
-  integrity sha512-pDiO1liw8xs+J/43qnMZsxyz0VOWOb7Q2yUlBt/tyjq6SlT9xPo+3716tJPbjGPnou2lQRw3H5/I++z+6oQ07w==
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld/-/jsonld-5.2.2.tgz#d2bdefe25788ece77e900a9491c64c2187e3344c"
+  integrity sha512-hz7YR3kv6+8UUdgMyTGl1o8NjVKKwnMry/Rh/rWeAvwL+NqgoUHorWzI3rM+PW+MPFyDC0ieXStClt9n9D9SGA==
+  dependencies:
+    "@digitalcredentials/http-client" "^1.0.0"
+    "@digitalcredentials/rdf-canonize" "^1.0.0"
+    canonicalize "^1.0.1"
+    lru-cache "^6.0.0"
+
+"@digitalcredentials/jsonld@^6.0.0":
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld/-/jsonld-6.0.0.tgz#05d34cb1d81c4bbdfacf61f8958bbaede33be598"
+  integrity sha512-5tTakj0/GsqAJi8beQFVMQ97wUJZnuxViW9xRuAATL6eOBIefGBwHkVryAgEq2I4J/xKgb/nEyw1ZXX0G8wQJQ==
   dependencies:
     "@digitalcredentials/http-client" "^1.0.0"
     "@digitalcredentials/rdf-canonize" "^1.0.0"
@@ -1550,19 +1371,19 @@
   dependencies:
     eslint-visitor-keys "^3.3.0"
 
-"@eslint-community/regexpp@^4.4.0":
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
-  integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
+"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1":
+  version "4.9.1"
+  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4"
+  integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==
 
-"@eslint/eslintrc@^2.0.3":
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
-  integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
+"@eslint/eslintrc@^2.1.2":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
+  integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==
   dependencies:
     ajv "^6.12.4"
     debug "^4.3.2"
-    espree "^9.5.2"
+    espree "^9.6.0"
     globals "^13.19.0"
     ignore "^5.2.0"
     import-fresh "^3.2.1"
@@ -1570,10 +1391,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.42.0":
-  version "8.42.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6"
-  integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==
+"@eslint/js@8.51.0":
+  version "8.51.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa"
+  integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==
 
 "@hapi/hoek@^9.0.0":
   version "9.3.0"
@@ -1587,10 +1408,10 @@
   dependencies:
     "@hapi/hoek" "^9.0.0"
 
-"@humanwhocodes/config-array@^0.11.10":
-  version "0.11.10"
-  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
-  integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
+"@humanwhocodes/config-array@^0.11.11":
+  version "0.11.11"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844"
+  integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==
   dependencies:
     "@humanwhocodes/object-schema" "^1.2.1"
     debug "^4.1.1"
@@ -1663,117 +1484,117 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
-"@jest/console@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.5.0.tgz#593a6c5c0d3f75689835f1b3b4688c4f8544cb57"
-  integrity sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==
+"@jest/console@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc"
+  integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     chalk "^4.0.0"
-    jest-message-util "^29.5.0"
-    jest-util "^29.5.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
     slash "^3.0.0"
 
-"@jest/core@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.5.0.tgz#76674b96904484e8214614d17261cc491e5f1f03"
-  integrity sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==
+"@jest/core@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f"
+  integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==
   dependencies:
-    "@jest/console" "^29.5.0"
-    "@jest/reporters" "^29.5.0"
-    "@jest/test-result" "^29.5.0"
-    "@jest/transform" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/console" "^29.7.0"
+    "@jest/reporters" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     ci-info "^3.2.0"
     exit "^0.1.2"
     graceful-fs "^4.2.9"
-    jest-changed-files "^29.5.0"
-    jest-config "^29.5.0"
-    jest-haste-map "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-regex-util "^29.4.3"
-    jest-resolve "^29.5.0"
-    jest-resolve-dependencies "^29.5.0"
-    jest-runner "^29.5.0"
-    jest-runtime "^29.5.0"
-    jest-snapshot "^29.5.0"
-    jest-util "^29.5.0"
-    jest-validate "^29.5.0"
-    jest-watcher "^29.5.0"
+    jest-changed-files "^29.7.0"
+    jest-config "^29.7.0"
+    jest-haste-map "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-resolve-dependencies "^29.7.0"
+    jest-runner "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
+    jest-watcher "^29.7.0"
     micromatch "^4.0.4"
-    pretty-format "^29.5.0"
+    pretty-format "^29.7.0"
     slash "^3.0.0"
     strip-ansi "^6.0.0"
 
 "@jest/create-cache-key-function@^29.2.1":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz#24e019d03e634be4affe8bcee787d75a36ae57a2"
-  integrity sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0"
+  integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
 
-"@jest/environment@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.5.0.tgz#9152d56317c1fdb1af389c46640ba74ef0bb4c65"
-  integrity sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==
+"@jest/environment@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7"
+  integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
   dependencies:
-    "@jest/fake-timers" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
-    jest-mock "^29.5.0"
+    jest-mock "^29.7.0"
 
-"@jest/expect-utils@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036"
-  integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==
+"@jest/expect-utils@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6"
+  integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==
   dependencies:
-    jest-get-type "^29.4.3"
+    jest-get-type "^29.6.3"
 
-"@jest/expect@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.5.0.tgz#80952f5316b23c483fbca4363ce822af79c38fba"
-  integrity sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==
+"@jest/expect@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2"
+  integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
   dependencies:
-    expect "^29.5.0"
-    jest-snapshot "^29.5.0"
+    expect "^29.7.0"
+    jest-snapshot "^29.7.0"
 
-"@jest/fake-timers@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.5.0.tgz#d4d09ec3286b3d90c60bdcd66ed28d35f1b4dc2c"
-  integrity sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==
+"@jest/fake-timers@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565"
+  integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@sinonjs/fake-timers" "^10.0.2"
     "@types/node" "*"
-    jest-message-util "^29.5.0"
-    jest-mock "^29.5.0"
-    jest-util "^29.5.0"
+    jest-message-util "^29.7.0"
+    jest-mock "^29.7.0"
+    jest-util "^29.7.0"
 
-"@jest/globals@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.5.0.tgz#6166c0bfc374c58268677539d0c181f9c1833298"
-  integrity sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==
+"@jest/globals@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d"
+  integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
   dependencies:
-    "@jest/environment" "^29.5.0"
-    "@jest/expect" "^29.5.0"
-    "@jest/types" "^29.5.0"
-    jest-mock "^29.5.0"
+    "@jest/environment" "^29.7.0"
+    "@jest/expect" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    jest-mock "^29.7.0"
 
-"@jest/reporters@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.5.0.tgz#985dfd91290cd78ddae4914ba7921bcbabe8ac9b"
-  integrity sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==
+"@jest/reporters@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7"
+  integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==
   dependencies:
     "@bcoe/v8-coverage" "^0.2.3"
-    "@jest/console" "^29.5.0"
-    "@jest/test-result" "^29.5.0"
-    "@jest/transform" "^29.5.0"
-    "@jest/types" "^29.5.0"
-    "@jridgewell/trace-mapping" "^0.3.15"
+    "@jest/console" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@jridgewell/trace-mapping" "^0.3.18"
     "@types/node" "*"
     chalk "^4.0.0"
     collect-v8-coverage "^1.0.0"
@@ -1781,25 +1602,18 @@
     glob "^7.1.3"
     graceful-fs "^4.2.9"
     istanbul-lib-coverage "^3.0.0"
-    istanbul-lib-instrument "^5.1.0"
+    istanbul-lib-instrument "^6.0.0"
     istanbul-lib-report "^3.0.0"
     istanbul-lib-source-maps "^4.0.0"
     istanbul-reports "^3.1.3"
-    jest-message-util "^29.5.0"
-    jest-util "^29.5.0"
-    jest-worker "^29.5.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
+    jest-worker "^29.7.0"
     slash "^3.0.0"
     string-length "^4.0.1"
     strip-ansi "^6.0.0"
     v8-to-istanbul "^9.0.1"
 
-"@jest/schemas@^29.4.3":
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
-  integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
-  dependencies:
-    "@sinclair/typebox" "^0.25.16"
-
 "@jest/schemas@^29.6.3":
   version "29.6.3"
   resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
@@ -1807,51 +1621,51 @@
   dependencies:
     "@sinclair/typebox" "^0.27.8"
 
-"@jest/source-map@^29.4.3":
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20"
-  integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==
+"@jest/source-map@^29.6.3":
+  version "29.6.3"
+  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4"
+  integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
   dependencies:
-    "@jridgewell/trace-mapping" "^0.3.15"
+    "@jridgewell/trace-mapping" "^0.3.18"
     callsites "^3.0.0"
     graceful-fs "^4.2.9"
 
-"@jest/test-result@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.5.0.tgz#7c856a6ca84f45cc36926a4e9c6b57f1973f1408"
-  integrity sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==
+"@jest/test-result@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c"
+  integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
   dependencies:
-    "@jest/console" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/console" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/istanbul-lib-coverage" "^2.0.0"
     collect-v8-coverage "^1.0.0"
 
-"@jest/test-sequencer@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz#34d7d82d3081abd523dbddc038a3ddcb9f6d3cc4"
-  integrity sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==
+"@jest/test-sequencer@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce"
+  integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
   dependencies:
-    "@jest/test-result" "^29.5.0"
+    "@jest/test-result" "^29.7.0"
     graceful-fs "^4.2.9"
-    jest-haste-map "^29.5.0"
+    jest-haste-map "^29.7.0"
     slash "^3.0.0"
 
-"@jest/transform@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9"
-  integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==
+"@jest/transform@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c"
+  integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
   dependencies:
     "@babel/core" "^7.11.6"
-    "@jest/types" "^29.5.0"
-    "@jridgewell/trace-mapping" "^0.3.15"
+    "@jest/types" "^29.6.3"
+    "@jridgewell/trace-mapping" "^0.3.18"
     babel-plugin-istanbul "^6.1.1"
     chalk "^4.0.0"
     convert-source-map "^2.0.0"
     fast-json-stable-stringify "^2.1.0"
     graceful-fs "^4.2.9"
-    jest-haste-map "^29.5.0"
-    jest-regex-util "^29.4.3"
-    jest-util "^29.5.0"
+    jest-haste-map "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-util "^29.7.0"
     micromatch "^4.0.4"
     pirates "^4.0.4"
     slash "^3.0.0"
@@ -1879,18 +1693,6 @@
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
 
-"@jest/types@^29.5.0":
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593"
-  integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
-  dependencies:
-    "@jest/schemas" "^29.4.3"
-    "@types/istanbul-lib-coverage" "^2.0.0"
-    "@types/istanbul-reports" "^3.0.0"
-    "@types/node" "*"
-    "@types/yargs" "^17.0.8"
-    chalk "^4.0.0"
-
 "@jest/types@^29.6.3":
   version "29.6.3"
   resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59"
@@ -1912,10 +1714,10 @@
     "@jridgewell/sourcemap-codec" "^1.4.10"
     "@jridgewell/trace-mapping" "^0.3.9"
 
-"@jridgewell/resolve-uri@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
-  integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+"@jridgewell/resolve-uri@^3.1.0":
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
+  integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
 
 "@jridgewell/set-array@^1.0.1":
   version "1.1.2"
@@ -1923,30 +1725,25 @@
   integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
 
 "@jridgewell/source-map@^0.3.3":
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda"
-  integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==
+  version "0.3.5"
+  resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91"
+  integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==
   dependencies:
     "@jridgewell/gen-mapping" "^0.3.0"
     "@jridgewell/trace-mapping" "^0.3.9"
 
-"@jridgewell/sourcemap-codec@1.4.14":
-  version "1.4.14"
-  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
-  integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
-"@jridgewell/sourcemap-codec@^1.4.10":
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
   version "1.4.15"
   resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
   integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
 
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
-  version "0.3.18"
-  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
-  integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
+  version "0.3.19"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811"
+  integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==
   dependencies:
-    "@jridgewell/resolve-uri" "3.1.0"
-    "@jridgewell/sourcemap-codec" "1.4.14"
+    "@jridgewell/resolve-uri" "^3.1.0"
+    "@jridgewell/sourcemap-codec" "^1.4.14"
 
 "@jsamr/counter-style@^2.0.1":
   version "2.0.2"
@@ -1959,9 +1756,9 @@
   integrity sha512-Qbo4NEj48SQ4k8FZJHFE2fgZDKTWaUGmVxcIQh3msg5JezLdTMMHuRRDYctfdHI6L0FZGObmEv3haWbIvmol8w==
 
 "@mapbox/node-pre-gyp@^1.0.0", "@mapbox/node-pre-gyp@^1.0.10":
-  version "1.0.10"
-  resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c"
-  integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa"
+  integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==
   dependencies:
     detect-libc "^2.0.0"
     https-proxy-agent "^5.0.0"
@@ -2114,16 +1911,16 @@
   integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
 
 "@react-native-async-storage/async-storage@^1.18.2":
-  version "1.18.2"
-  resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.18.2.tgz#ec8fd487a0b6c9500b43ece4b8779d1561f12e91"
-  integrity sha512-dM8AfdoeIxlh+zqgr0o5+vCTPQ0Ru1mrPzONZMsr7ufp5h+6WgNxQNza7t0r5qQ6b04AJqTlBNixTWZxqP649Q==
+  version "1.19.3"
+  resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.19.3.tgz#ad5fe3ed0a82d4624aa4500321c1e09c02daeb46"
+  integrity sha512-CwGfoHCWdPOTPS+2fW6YRE1fFBpT9++ahLEroX5hkgwyoQ+TkmjOaUxixdEIoVua9Pz5EF2pGOIJzqOTMWfBlA==
   dependencies:
     merge-options "^3.0.4"
 
 "@react-native-clipboard/clipboard@^1.11.2":
-  version "1.11.2"
-  resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz#e826d0336b34e67294aaffa6878308900bc7d197"
-  integrity sha512-bHyZVW62TuleiZsXNHS1Pv16fWc0fh8O9WvBzl4h2fykqZRW9a+Pv/RGTH56E3X2PqzHP38K5go8zmCZUoIsoQ==
+  version "1.12.1"
+  resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.12.1.tgz#a23f9defb732077afa860d0598baa95f5ee9f54b"
+  integrity sha512-+PNk8kflpGte0W1Nz61/Dp8gHTxyuRjkVyRYBawymSIGTDHCC/zOJSbig6kGIkD8MeaGHC2vGYQJyUyCrgVPBQ==
 
 "@react-native-community/cli-clean@11.3.7":
   version "11.3.7"
@@ -2135,16 +1932,6 @@
     execa "^5.0.0"
     prompts "^2.4.0"
 
-"@react-native-community/cli-clean@^10.1.1":
-  version "10.1.1"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz#4c73ce93a63a24d70c0089d4025daac8184ff504"
-  integrity sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==
-  dependencies:
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    execa "^1.0.0"
-    prompts "^2.4.0"
-
 "@react-native-community/cli-config@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-11.3.7.tgz#4ce95548252ecb094b576369abebf9867c95d277"
@@ -2157,18 +1944,6 @@
     glob "^7.1.3"
     joi "^17.2.1"
 
-"@react-native-community/cli-config@^10.1.1":
-  version "10.1.1"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-10.1.1.tgz#08dcc5d7ca1915647dc06507ed853fe0c1488395"
-  integrity sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==
-  dependencies:
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    cosmiconfig "^5.1.0"
-    deepmerge "^3.2.0"
-    glob "^7.1.3"
-    joi "^17.2.1"
-
 "@react-native-community/cli-debugger-ui@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz#2147b73313af8de3c9b396406d5d344b904cf2bb"
@@ -2176,13 +1951,6 @@
   dependencies:
     serve-static "^1.13.1"
 
-"@react-native-community/cli-debugger-ui@^10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz#4bb6d41c7e46449714dc7ba5d9f5b41ef0ea7c57"
-  integrity sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==
-  dependencies:
-    serve-static "^1.13.1"
-
 "@react-native-community/cli-doctor@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz#7d5f5b1aea78134bba713fa97795986345ff1344"
@@ -2207,28 +1975,6 @@
     wcwidth "^1.0.1"
     yaml "^2.2.1"
 
-"@react-native-community/cli-doctor@^10.2.2":
-  version "10.2.2"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.2.tgz#b1893604fa9fc8971064e7c00042350f96868bfe"
-  integrity sha512-49Ep2aQOF0PkbAR/TcyMjOm9XwBa8VQr+/Zzf4SJeYwiYLCT1NZRAVAVjYRXl0xqvq5S5mAGZZShS4AQl4WsZw==
-  dependencies:
-    "@react-native-community/cli-config" "^10.1.1"
-    "@react-native-community/cli-platform-ios" "^10.2.1"
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    command-exists "^1.2.8"
-    envinfo "^7.7.2"
-    execa "^1.0.0"
-    hermes-profile-transformer "^0.0.6"
-    ip "^1.1.5"
-    node-stream-zip "^1.9.1"
-    ora "^5.4.1"
-    prompts "^2.4.0"
-    semver "^6.3.0"
-    strip-ansi "^5.2.0"
-    sudo-prompt "^9.0.0"
-    wcwidth "^1.0.1"
-
 "@react-native-community/cli-hermes@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz#091e730a1f8bace6c3729e8744bad6141002e0e8"
@@ -2240,28 +1986,6 @@
     hermes-profile-transformer "^0.0.6"
     ip "^1.1.5"
 
-"@react-native-community/cli-hermes@^10.2.0":
-  version "10.2.0"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz#cc252f435b149f74260bc918ce22fdf58033a87e"
-  integrity sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ==
-  dependencies:
-    "@react-native-community/cli-platform-android" "^10.2.0"
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    hermes-profile-transformer "^0.0.6"
-    ip "^1.1.5"
-
-"@react-native-community/cli-platform-android@10.2.0", "@react-native-community/cli-platform-android@^10.2.0":
-  version "10.2.0"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz#0bc689270a5f1d9aaf9e723181d43ca4dbfffdef"
-  integrity sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==
-  dependencies:
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    execa "^1.0.0"
-    glob "^7.1.3"
-    logkitty "^0.7.1"
-
 "@react-native-community/cli-platform-android@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz#7845bc48258b6bb55df208a23b3690647f113995"
@@ -2273,18 +1997,6 @@
     glob "^7.1.3"
     logkitty "^0.7.1"
 
-"@react-native-community/cli-platform-ios@10.2.1", "@react-native-community/cli-platform-ios@^10.2.1":
-  version "10.2.1"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz#2e6bd2cb6d48cbb8720d7b7265bb1bab80745f72"
-  integrity sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg==
-  dependencies:
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    execa "^1.0.0"
-    fast-xml-parser "^4.0.12"
-    glob "^7.1.3"
-    ora "^5.4.1"
-
 "@react-native-community/cli-platform-ios@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz#87478f907634713b7236c77870446a5ca1f35ff1"
@@ -2314,48 +2026,16 @@
     metro-runtime "0.76.8"
     readline "^1.3.0"
 
-"@react-native-community/cli-plugin-metro@^10.2.2":
-  version "10.2.2"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.2.tgz#766914e3c8007dfe52b253544c4f6cd8549919ac"
-  integrity sha512-sTGjZlD3OGqbF9v1ajwUIXhGmjw9NyJ/14Lo0sg7xH8Pv4qUd5ZvQ6+DWYrQn3IKFUMfGFWYyL81ovLuPylrpw==
-  dependencies:
-    "@react-native-community/cli-server-api" "^10.1.1"
-    "@react-native-community/cli-tools" "^10.1.1"
-    chalk "^4.1.2"
-    execa "^1.0.0"
-    metro "0.73.9"
-    metro-config "0.73.9"
-    metro-core "0.73.9"
-    metro-react-native-babel-transformer "0.73.9"
-    metro-resolver "0.73.9"
-    metro-runtime "0.73.9"
-    readline "^1.3.0"
-
-"@react-native-community/cli-server-api@11.3.7":
-  version "11.3.7"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz#2cce54b3331c9c51b9067129c297ab2e9a142216"
-  integrity sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==
-  dependencies:
-    "@react-native-community/cli-debugger-ui" "11.3.7"
-    "@react-native-community/cli-tools" "11.3.7"
-    compression "^1.7.1"
-    connect "^3.6.5"
-    errorhandler "^1.5.1"
-    nocache "^3.0.1"
-    pretty-format "^26.6.2"
-    serve-static "^1.13.1"
-    ws "^7.5.1"
-
-"@react-native-community/cli-server-api@^10.1.1":
-  version "10.1.1"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz#e382269de281bb380c2e685431364fbbb8c1cb3a"
-  integrity sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==
+"@react-native-community/cli-server-api@11.3.7":
+  version "11.3.7"
+  resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz#2cce54b3331c9c51b9067129c297ab2e9a142216"
+  integrity sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==
   dependencies:
-    "@react-native-community/cli-debugger-ui" "^10.0.0"
-    "@react-native-community/cli-tools" "^10.1.1"
+    "@react-native-community/cli-debugger-ui" "11.3.7"
+    "@react-native-community/cli-tools" "11.3.7"
     compression "^1.7.1"
     connect "^3.6.5"
-    errorhandler "^1.5.0"
+    errorhandler "^1.5.1"
     nocache "^3.0.1"
     pretty-format "^26.6.2"
     serve-static "^1.13.1"
@@ -2376,21 +2056,6 @@
     semver "^7.5.2"
     shell-quote "^1.7.3"
 
-"@react-native-community/cli-tools@^10.1.1":
-  version "10.1.1"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz#fa66e509c0d3faa31f7bb87ed7d42ad63f368ddd"
-  integrity sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==
-  dependencies:
-    appdirsjs "^1.2.4"
-    chalk "^4.1.2"
-    find-up "^5.0.0"
-    mime "^2.4.1"
-    node-fetch "^2.6.0"
-    open "^6.2.0"
-    ora "^5.4.1"
-    semver "^6.3.0"
-    shell-quote "^1.7.3"
-
 "@react-native-community/cli-types@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-11.3.7.tgz#12fe7cff3da08bd27e11116531b2e001939854b9"
@@ -2398,36 +2063,6 @@
   dependencies:
     joi "^17.2.1"
 
-"@react-native-community/cli-types@^10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-10.0.0.tgz#046470c75ec18f8b3bd906e54e43a6f678e01a45"
-  integrity sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==
-  dependencies:
-    joi "^17.2.1"
-
-"@react-native-community/cli@10.2.2":
-  version "10.2.2"
-  resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-10.2.2.tgz#3fa438ba7f19f83e07bc337765fc1cabdcf2cac2"
-  integrity sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q==
-  dependencies:
-    "@react-native-community/cli-clean" "^10.1.1"
-    "@react-native-community/cli-config" "^10.1.1"
-    "@react-native-community/cli-debugger-ui" "^10.0.0"
-    "@react-native-community/cli-doctor" "^10.2.2"
-    "@react-native-community/cli-hermes" "^10.2.0"
-    "@react-native-community/cli-plugin-metro" "^10.2.2"
-    "@react-native-community/cli-server-api" "^10.1.1"
-    "@react-native-community/cli-tools" "^10.1.1"
-    "@react-native-community/cli-types" "^10.0.0"
-    chalk "^4.1.2"
-    commander "^9.4.1"
-    execa "^1.0.0"
-    find-up "^4.1.0"
-    fs-extra "^8.1.0"
-    graceful-fs "^4.1.3"
-    prompts "^2.4.0"
-    semver "^6.3.0"
-
 "@react-native-community/cli@11.3.7":
   version "11.3.7"
   resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-11.3.7.tgz#564c0054269d8385fa9d301750b2e56dbb5c0cc9"
@@ -2480,11 +2115,6 @@
   resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.72.0.tgz#c82a76a1d86ec0c3907be76f7faf97a32bbed05d"
   integrity sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==
 
-"@react-native/assets@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
-  integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
-
 "@react-native/codegen@^0.72.7":
   version "0.72.7"
   resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.72.7.tgz#b6832ce631ac63143024ea094a6b5480a780e589"
@@ -2505,35 +2135,17 @@
   resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz#905343ef0c51256f128256330fccbdb35b922291"
   integrity sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==
 
-"@react-native/normalize-color@*", "@react-native/normalize-color@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91"
-  integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==
-
 "@react-native/normalize-colors@*":
-  version "0.73.1"
-  resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.1.tgz#5c1d28ec825b053142c435e0b52bf2e2f2a03d8d"
-  integrity sha512-PxbovgSN1lxBtS81D7sG96JBK+QcxUMXq4BKhESI0WjEi4dAVbhEHq39uDlhfdcVpeID6gMiBKBLFurD2F6RNQ==
+  version "0.74.1"
+  resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.1.tgz#6e8ccf99954728dcd3cfe0d56e758ee5050a7bea"
+  integrity sha512-r+bTRs6pImqE3fx4h7bPzH2sOWSrnSHF/RJ7d00pNUj2P6ws3DdhS7WV+/7YosZkloYQfkiIkK3pIHvcYn665w==
 
 "@react-native/normalize-colors@^0.72.0":
   version "0.72.0"
   resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz#14294b7ed3c1d92176d2a00df48456e8d7d62212"
   integrity sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==
 
-"@react-native/polyfills@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa"
-  integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==
-
-"@react-native/virtualized-lists@^0.72.4":
-  version "0.72.5"
-  resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.72.5.tgz#a7b261357ec7e0e5aa97a24d4acab1d903811e09"
-  integrity sha512-AtKE3dez3lf89O87wC2ZglV5aPsifopQgn/UmFhXAwi18Yp1BJfEGh3sUqOPNgZNByYPAGxFANeZq44VATXeJA==
-  dependencies:
-    invariant "^2.2.4"
-    nullthrows "^1.1.1"
-
-"@react-native/virtualized-lists@^0.72.8":
+"@react-native/virtualized-lists@^0.72.4", "@react-native/virtualized-lists@^0.72.8":
   version "0.72.8"
   resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz#a2c6a91ea0f1d40eb5a122fb063daedb92ed1dc3"
   integrity sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==
@@ -2542,61 +2154,61 @@
     nullthrows "^1.1.1"
 
 "@react-navigation/bottom-tabs@^6.5.7":
-  version "6.5.7"
-  resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.7.tgz#08470c96e0d11481422214bb98f0ff034038856c"
-  integrity sha512-9oZYyRu2z7+1pr2dX5V54rHFPmlj4ztwQxFe85zwpnGcPtGIsXj7VCIdlHnjRHJBBFCszvJGQpYY6/G2+DfD+A==
+  version "6.5.9"
+  resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.9.tgz#d132e787b58b23dedfeb19b586f9467613a0c6bf"
+  integrity sha512-366D4pwq41qKqzsrEk3OPW9atTQJrfrLHPJhX3NLOinRIuDrxal1jJwN3vzNZoEg7gIEKaPYckuqUKg0zRFdog==
   dependencies:
-    "@react-navigation/elements" "^1.3.17"
+    "@react-navigation/elements" "^1.3.19"
     color "^4.2.3"
     warn-once "^0.1.0"
 
-"@react-navigation/core@^6.4.8":
-  version "6.4.8"
-  resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.8.tgz#a18e106d3c59cdcfc4ce53f7344e219ed35c88ed"
-  integrity sha512-klZ9Mcf/P2j+5cHMoGyIeurEzyBM2Uq9+NoSFrF6sdV5iCWHLFhrCXuhbBiQ5wVLCKf4lavlkd/DDs47PXs9RQ==
+"@react-navigation/core@^6.4.9":
+  version "6.4.9"
+  resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.9.tgz#aa09ce534f5393427cb993cf242abdbd848fb2c7"
+  integrity sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==
   dependencies:
-    "@react-navigation/routers" "^6.1.8"
+    "@react-navigation/routers" "^6.1.9"
     escape-string-regexp "^4.0.0"
     nanoid "^3.1.23"
     query-string "^7.1.3"
     react-is "^16.13.0"
     use-latest-callback "^0.1.5"
 
-"@react-navigation/elements@^1.3.17":
-  version "1.3.17"
-  resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.17.tgz#9cb95765940f2841916fc71686598c22a3e4067e"
-  integrity sha512-sui8AzHm6TxeEvWT/NEXlz3egYvCUog4tlXA4Xlb2Vxvy3purVXDq/XsM56lJl344U5Aj/jDzkVanOTMWyk4UA==
+"@react-navigation/elements@^1.3.19":
+  version "1.3.19"
+  resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.19.tgz#18a4a754836af19c20d987e8ffc4f8b0ee2cbece"
+  integrity sha512-7hLvSYKPuDS070pza5gd43WDX7QgfuEmuTWNbCJhKdWlLudYmq3qzxGCBwCfO2dEI6+p8tla5wruaWiGKAbTYw==
 
 "@react-navigation/native@^6.1.6":
-  version "6.1.6"
-  resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.6.tgz#84ff5cf85b91f660470fa9407c06c8ee393d5792"
-  integrity sha512-14PmSy4JR8HHEk04QkxQ0ZLuqtiQfb4BV9kkMXD2/jI4TZ+yc43OnO6fQ2o9wm+Bq8pY3DxyerC2AjNUz+oH7Q==
+  version "6.1.8"
+  resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.8.tgz#2a451fc8e2eff667007feb25d75e1d2b87e5460d"
+  integrity sha512-0alti852nV+8oCVm9H80G6kZvrHoy51+rXBvVCRUs2rNDDozC/xPZs8tyeCJkqdw3cpxZDK8ndXF22uWq28+0Q==
   dependencies:
-    "@react-navigation/core" "^6.4.8"
+    "@react-navigation/core" "^6.4.9"
     escape-string-regexp "^4.0.0"
     fast-deep-equal "^3.1.3"
     nanoid "^3.1.23"
 
-"@react-navigation/routers@^6.1.8":
-  version "6.1.8"
-  resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.8.tgz#ae56b2678dbb5abca5bd7c95d6a8d1abc767cba2"
-  integrity sha512-CEge+ZLhb1HBrSvv4RwOol7EKLW1QoqVIQlE9TN5MpxS/+VoQvP+cLbuz0Op53/iJfYhtXRFd1ZAd3RTRqto9w==
+"@react-navigation/routers@^6.1.9":
+  version "6.1.9"
+  resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.9.tgz#73f5481a15a38e36592a0afa13c3c064b9f90bed"
+  integrity sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==
   dependencies:
     nanoid "^3.1.23"
 
 "@react-navigation/stack@^6.3.16":
-  version "6.3.16"
-  resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.16.tgz#cf94e3c8c1587455515743e91d328beef722e0ab"
-  integrity sha512-KTOn9cNuZ6p154Htbl2DiR95Wl+c7niLPRiGs7gjOkyVDGiaGQF9ODNQTYBDE1OxZGHe/EyYc6T2CbmiItLWDg==
+  version "6.3.18"
+  resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.18.tgz#4e27bcec6d4edc2275cbb6164089db0d95888053"
+  integrity sha512-jAXneaLAs57xvyMFkebEyGCZDyz90KnaN7fM9f5Bu+Gx3KnoppdNfT4drpmN/f5f32L0eXS4aRAvuDrFT1mFfw==
   dependencies:
-    "@react-navigation/elements" "^1.3.17"
+    "@react-navigation/elements" "^1.3.19"
     color "^4.2.3"
     warn-once "^0.1.0"
 
 "@realm/react@^0.6.0":
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/@realm/react/-/react-0.6.0.tgz#64a62725a777b17d88c8c35cf617484503bdbf08"
-  integrity sha512-gggNChqj3J2ImgIf3Q6I++DEAo2KW+52Dh0ndv7QWhek0CLCHKIGiWYXBikDmW1bqGsj8gbLVr7mxbOshnRkKg==
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/@realm/react/-/react-0.6.1.tgz#f12ca86281d9eebaf0ae3d0bb4db97108160a23e"
+  integrity sha512-+W16jgjqXpNzLsQvOW294yqffZw36uvk3257tuk4A9a9JyO4RdX1kEYxondleV8jDAqpeyYf5ajyZuZeDiYErw==
   dependencies:
     lodash "^4.17.21"
   optionalDependencies:
@@ -2620,11 +2232,6 @@
   resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
   integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
 
-"@sinclair/typebox@^0.25.16":
-  version "0.25.24"
-  resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
-  integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
-
 "@sinclair/typebox@^0.27.8":
   version "0.27.8"
   resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
@@ -2638,9 +2245,9 @@
     type-detect "4.0.8"
 
 "@sinonjs/fake-timers@^10.0.2":
-  version "10.2.0"
-  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz#b3e322a34c5f26e3184e7f6115695f299c1b1194"
-  integrity sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==
+  version "10.3.0"
+  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66"
+  integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==
   dependencies:
     "@sinonjs/commons" "^3.0.0"
 
@@ -2706,104 +2313,106 @@
   resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36"
   integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==
 
-"@svgr/babel-plugin-add-jsx-attribute@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba"
-  integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==
+"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
+  integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
 
-"@svgr/babel-plugin-remove-jsx-attribute@*":
+"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
   version "8.0.0"
   resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186"
   integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
 
-"@svgr/babel-plugin-remove-jsx-empty-expression@*":
+"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
   version "8.0.0"
   resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44"
   integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
 
-"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60"
-  integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==
-
-"@svgr/babel-plugin-svg-dynamic-title@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4"
-  integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==
-
-"@svgr/babel-plugin-svg-em-dimensions@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217"
-  integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==
-
-"@svgr/babel-plugin-transform-react-native-svg@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305"
-  integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==
-
-"@svgr/babel-plugin-transform-svg-component@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250"
-  integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==
-
-"@svgr/babel-preset@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828"
-  integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==
-  dependencies:
-    "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1"
-    "@svgr/babel-plugin-remove-jsx-attribute" "*"
-    "@svgr/babel-plugin-remove-jsx-empty-expression" "*"
-    "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1"
-    "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1"
-    "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1"
-    "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1"
-    "@svgr/babel-plugin-transform-svg-component" "^6.5.1"
-
-"@svgr/core@^6.1.2":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a"
-  integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==
-  dependencies:
-    "@babel/core" "^7.19.6"
-    "@svgr/babel-preset" "^6.5.1"
-    "@svgr/plugin-jsx" "^6.5.1"
+"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27"
+  integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
+
+"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0"
+  integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
+
+"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501"
+  integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
+
+"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754"
+  integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
+
+"@svgr/babel-plugin-transform-svg-component@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e"
+  integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
+
+"@svgr/babel-preset@8.1.0":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece"
+  integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
+  dependencies:
+    "@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
+    "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
+    "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
+    "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
+    "@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
+    "@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
+    "@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
+    "@svgr/babel-plugin-transform-svg-component" "8.0.0"
+
+"@svgr/core@^8.0.0":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88"
+  integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
+  dependencies:
+    "@babel/core" "^7.21.3"
+    "@svgr/babel-preset" "8.1.0"
     camelcase "^6.2.0"
-    cosmiconfig "^7.0.1"
+    cosmiconfig "^8.1.3"
+    snake-case "^3.0.4"
 
-"@svgr/hast-util-to-babel-ast@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2"
-  integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==
+"@svgr/hast-util-to-babel-ast@8.0.0":
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4"
+  integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
   dependencies:
-    "@babel/types" "^7.20.0"
+    "@babel/types" "^7.21.3"
     entities "^4.4.0"
 
-"@svgr/plugin-jsx@^6.5.1":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072"
-  integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==
+"@svgr/plugin-jsx@^8.0.1":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928"
+  integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
   dependencies:
-    "@babel/core" "^7.19.6"
-    "@svgr/babel-preset" "^6.5.1"
-    "@svgr/hast-util-to-babel-ast" "^6.5.1"
+    "@babel/core" "^7.21.3"
+    "@svgr/babel-preset" "8.1.0"
+    "@svgr/hast-util-to-babel-ast" "8.0.0"
     svg-parser "^2.0.4"
 
-"@svgr/plugin-svgo@^6.1.2":
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84"
-  integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==
+"@svgr/plugin-svgo@^8.0.1":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00"
+  integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
   dependencies:
-    cosmiconfig "^7.0.1"
-    deepmerge "^4.2.2"
-    svgo "^2.8.0"
+    cosmiconfig "^8.1.3"
+    deepmerge "^4.3.1"
+    svgo "^3.0.2"
 
 "@testing-library/react-native@^12.1.2":
-  version "12.1.2"
-  resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.1.2.tgz#1935affe1106aeddf0087dff31a6d7414917c098"
-  integrity sha512-5rQMQpbSQAuJc4TxjTt1IoeT1a5eVXaa61hf/YcjV2QtGqCoyhuW8DvhTowrL7y2Ds4NzuYBmbVxjNPR6GIblw==
+  version "12.3.0"
+  resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.3.0.tgz#ebf04dddb7e1c34c869b97b187ecd061211c9466"
+  integrity sha512-E2Prl8D/ey9sRgzLyfCPPmqvsevJW5tVUy4E/pBbO7nOP6OzI/jn2P3vctn/kFdkPY2aE/udlU5ZeNAben9U2A==
   dependencies:
-    pretty-format "^29.0.0"
+    jest-matcher-utils "^29.6.2"
+    pretty-format "^29.6.2"
+    redent "^3.0.0"
 
 "@tootallnate/once@2":
   version "2.0.0"
@@ -2821,9 +2430,9 @@
   integrity sha512-jE58snEKBd9DXfyR4+ssZmYJ/W2mOSnNrvljR0aLyQJL9JKX6vlWELHkRjb3HBbcM9Uy0hZGijXbqEAjOERW2A==
 
 "@types/babel__core@^7.1.14":
-  version "7.20.1"
-  resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b"
-  integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==
+  version "7.20.2"
+  resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.2.tgz#215db4f4a35d710256579784a548907237728756"
+  integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==
   dependencies:
     "@babel/parser" "^7.20.7"
     "@babel/types" "^7.20.7"
@@ -2832,38 +2441,38 @@
     "@types/babel__traverse" "*"
 
 "@types/babel__generator@*":
-  version "7.6.4"
-  resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
-  integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
+  version "7.6.5"
+  resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95"
+  integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==
   dependencies:
     "@babel/types" "^7.0.0"
 
 "@types/babel__template@*":
-  version "7.4.1"
-  resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
-  integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
+  version "7.4.2"
+  resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b"
+  integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==
   dependencies:
     "@babel/parser" "^7.1.0"
     "@babel/types" "^7.0.0"
 
 "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
-  version "7.20.1"
-  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.1.tgz#dd6f1d2411ae677dcb2db008c962598be31d6acf"
-  integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==
+  version "7.20.2"
+  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d"
+  integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==
   dependencies:
     "@babel/types" "^7.20.7"
 
 "@types/graceful-fs@^4.1.3":
-  version "4.1.6"
-  resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae"
-  integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==
+  version "4.1.7"
+  resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.7.tgz#30443a2e64fd51113bc3e2ba0914d47109695e2a"
+  integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==
   dependencies:
     "@types/node" "*"
 
 "@types/hammerjs@^2.0.36":
-  version "2.0.41"
-  resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.41.tgz#f6ecf57d1b12d2befcce00e928a6a097c22980aa"
-  integrity sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA==
+  version "2.0.42"
+  resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.42.tgz#d7a53edbc51b2c13a9a759c45d7b5e61243d7dba"
+  integrity sha512-Xxk14BrwHnGi0xlURPRb+Y0UNn2w3cTkeFm7pKMsYOaNgH/kabbJLhcBoNIodwsbTz7Z8KcWjtDvlGH0nc0U9w==
 
 "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
   version "2.0.4"
@@ -2871,31 +2480,31 @@
   integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
 
 "@types/istanbul-lib-report@*":
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
-  integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#412e0725ef41cde73bfa03e0e833eaff41e0fd63"
+  integrity sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==
   dependencies:
     "@types/istanbul-lib-coverage" "*"
 
 "@types/istanbul-reports@^3.0.0":
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
-  integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz#edc8e421991a3b4df875036d381fc0a5a982f549"
+  integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==
   dependencies:
     "@types/istanbul-lib-report" "*"
 
 "@types/jest@^29.2.1":
-  version "29.5.2"
-  resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b"
-  integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==
+  version "29.5.5"
+  resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a"
+  integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==
   dependencies:
     expect "^29.0.0"
     pretty-format "^29.0.0"
 
 "@types/json-schema@^7.0.9":
-  version "7.0.12"
-  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
-  integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
+  version "7.0.13"
+  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85"
+  integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==
 
 "@types/long@^4.0.1":
   version "4.0.2"
@@ -2903,37 +2512,37 @@
   integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==
 
 "@types/md5@^2.3.2":
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.2.tgz#529bb3f8a7e9e9f621094eb76a443f585d882528"
-  integrity sha512-v+JFDu96+UYJ3/UWzB0mEglIS//MZXgRaJ4ubUPwOM0gvLc/kcQ3TWNYwENEK7/EcXGQVrW8h/XqednSjBd/Og==
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.3.tgz#1f03ce6a9b1462981a1283777b30aaa30e319e22"
+  integrity sha512-4K40FjTW0tiIx9NfV+/DHJ56ih3fcdkDqBYz5CffKwJVWYho1FxzjkddGcgEEIs+fP2DqmQ3lujC5c4bUOESTQ==
 
-"@types/node-fetch@^2":
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660"
-  integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==
+"@types/node-fetch@2.6.2":
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da"
+  integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==
   dependencies:
     "@types/node" "*"
     form-data "^3.0.0"
 
-"@types/node@*", "@types/node@>=13.7.0":
-  version "20.2.5"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.5.tgz#26d295f3570323b2837d322180dfbf1ba156fefb"
-  integrity sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==
-
-"@types/parse-json@^4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
-  integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+"@types/node-fetch@^2":
+  version "2.6.6"
+  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.6.tgz#b72f3f4bc0c0afee1c0bc9cff68e041d01e3e779"
+  integrity sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==
+  dependencies:
+    "@types/node" "*"
+    form-data "^4.0.0"
 
-"@types/prettier@^2.1.5":
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f"
-  integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==
+"@types/node@*", "@types/node@>=13.7.0":
+  version "20.8.6"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.6.tgz#0dbd4ebcc82ad0128df05d0e6f57e05359ee47fa"
+  integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==
+  dependencies:
+    undici-types "~5.25.1"
 
 "@types/prop-types@*":
-  version "15.7.5"
-  resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
-  integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
+  version "15.7.8"
+  resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3"
+  integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==
 
 "@types/ramda@^0.27.40", "@types/ramda@^0.27.44":
   version "0.27.66"
@@ -2943,58 +2552,58 @@
     ts-toolbelt "^6.15.1"
 
 "@types/react-native-vector-icons@^6.4.13":
-  version "6.4.13"
-  resolved "https://registry.yarnpkg.com/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.13.tgz#28b34d15094e040718beefb67cb3eff0c4994cb6"
-  integrity sha512-1PqFoKuXTSzMHwGMAr+REdYJBQAbe9xrww3ecZR0FsHcD1K+vGS/rxuAriL4rsI6+p69sZQjDzpEVAbDQcjSwA==
+  version "6.4.15"
+  resolved "https://registry.yarnpkg.com/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.15.tgz#93cad672b6e5d4de2f8d48d8ace695586effede1"
+  integrity sha512-gmyVIANMFQXzpzejg4uMpYZ6KffrItkeb2F9LgcLnZz8RVrtbF8I3wbkRafHJoDJ2U0p8QiRui+BghD11ae8Gg==
   dependencies:
     "@types/react" "*"
     "@types/react-native" "^0.70"
 
 "@types/react-native@^0.70":
-  version "0.70.14"
-  resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.14.tgz#8619b8c94296f6456c5362d74a3d1b4fad3f54ab"
-  integrity sha512-Kwc+BYBrnDqvacNxKp1UtcZJnJJnTih2NYmi/ieAKlHdxEPN6sYMwmIwgHdoLHggvml6bf3DYRaH2jt+gzaLjw==
+  version "0.70.15"
+  resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.15.tgz#82900eae7fe7100329e2b7a61d9c000805e564ae"
+  integrity sha512-wHrMQd65odOFbejFSDF7riocwLGEjkoJCF3GhH2a1vKqWbCExH361AZa/1GMG8gijAP86hkjF9gHZFHepEXaZA==
   dependencies:
     "@types/react" "*"
 
 "@types/react-native@^0.72.2":
-  version "0.72.2"
-  resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.72.2.tgz#27c931a899c555b28e20cdd12e570b017808de96"
-  integrity sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg==
+  version "0.72.3"
+  resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.72.3.tgz#eb5726eb3ec6b79a10db7a295cc0346eb5e9331a"
+  integrity sha512-9+g+DBJIY3bG7+ZlYzKPr9kxTQxUuZQgLWZhYK4RlIcrsm3qaJhL2PU2e/K4CjnzznWCo2Islgec94x2z1pG4Q==
   dependencies:
     "@react-native/virtualized-lists" "^0.72.4"
     "@types/react" "*"
 
 "@types/react-test-renderer@^18.0.0":
-  version "18.0.0"
-  resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz#7b7f69ca98821ea5501b21ba24ea7b6139da2243"
-  integrity sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==
+  version "18.0.3"
+  resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.3.tgz#67922bf5e5f0096581b1efd67dcdeabdd400cfea"
+  integrity sha512-4wcNLnY6nIT+L6g94CpzL4CXX2P18JvKPU9CDlaHr3DnbP3GiaQLhDotJqjWlVqOcE4UhLRjp0MtxqwuNKONnA==
   dependencies:
     "@types/react" "*"
 
 "@types/react@*", "@types/react@^18.0.24":
-  version "18.2.9"
-  resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.9.tgz#9207f8571afdc59a9c9c30df50e8ad2591ecefaf"
-  integrity sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==
+  version "18.2.28"
+  resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.28.tgz#86877465c0fcf751659a36c769ecedfcfacee332"
+  integrity sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==
   dependencies:
     "@types/prop-types" "*"
     "@types/scheduler" "*"
     csstype "^3.0.2"
 
 "@types/scheduler@*":
-  version "0.16.3"
-  resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
-  integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
+  version "0.16.4"
+  resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf"
+  integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==
 
 "@types/semver@^7.3.12":
-  version "7.5.0"
-  resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
-  integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
+  version "7.5.3"
+  resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04"
+  integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==
 
 "@types/shallowequal@^1.1.1":
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/@types/shallowequal/-/shallowequal-1.1.1.tgz#aad262bb3f2b1257d94c71d545268d592575c9b1"
-  integrity sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@types/shallowequal/-/shallowequal-1.1.2.tgz#e5bb9ae5960469d2853fe1a14fa9d20e2ea8b264"
+  integrity sha512-9/oFil1kG0dG66IMAASqeFPdmAXJxn/79ucHDFe3Ps77bBGImhDdzMHp+GIUBd+l763hj828CGD3fjjiIgGo9w==
 
 "@types/stack-utils@^2.0.0":
   version "2.0.1"
@@ -3002,135 +2611,135 @@
   integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
 
 "@types/urijs@^1.19.15":
-  version "1.19.19"
-  resolved "https://registry.yarnpkg.com/@types/urijs/-/urijs-1.19.19.tgz#2789369799907fc11e2bc6e3a00f6478c2281b95"
-  integrity sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg==
+  version "1.19.20"
+  resolved "https://registry.yarnpkg.com/@types/urijs/-/urijs-1.19.20.tgz#7ea4254f4c2cdbd7d34e47d483e76fa1b81e19a4"
+  integrity sha512-77Mq/2BeHU894J364dUv9tSwxxyCLtcX228Pc8TwZpP5bvOoMns+gZoftp3LYl3FBH8vChpWbuagKGiMki2c1A==
 
 "@types/url-parse@^1.4.8":
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/@types/url-parse/-/url-parse-1.4.8.tgz#c3825047efbca1295b7f1646f38203d9145130d6"
-  integrity sha512-zqqcGKyNWgTLFBxmaexGUKQyWqeG7HjXj20EuQJSJWwXe54BjX0ihIo5cJB9yAQzH8dNugJ9GvkBYMjPXs/PJw==
+  version "1.4.9"
+  resolved "https://registry.yarnpkg.com/@types/url-parse/-/url-parse-1.4.9.tgz#443c0d8a4ed3208924fa9134d8f17f79fe9774d0"
+  integrity sha512-pFvFO5NSAVwp8vDSENcAF13eyAcBIv/OXKvMU466CEwu/+5tyUwW05mVzhmcxaU9j9iTSYOypQqbTrYUa1emFw==
 
 "@types/validator@^13.7.10":
-  version "13.7.17"
-  resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.7.17.tgz#0a6d1510395065171e3378a4afc587a3aefa7cc1"
-  integrity sha512-aqayTNmeWrZcvnG2MG9eGYI6b7S5fl+yKgPs6bAjOTwPS316R5SxBGKvtSExfyoJU7pIeHJfsHI0Ji41RVMkvQ==
+  version "13.11.3"
+  resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.3.tgz#6afba392782b44dd6cfeb390cc06c45833066ad9"
+  integrity sha512-jxjhh33aTYDHnrV1vZ3AvWQHfrGx2f5UxKjaP13l5q04fG+/hCKKm0MfodIoCqxevhbcfBb6ZjynyHuQ/jueGQ==
 
 "@types/ws@^8.5.4":
-  version "8.5.5"
-  resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb"
-  integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==
+  version "8.5.7"
+  resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.7.tgz#1ca585074fe5d2c81dec7a3d451f244a2a6d83cb"
+  integrity sha512-6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==
   dependencies:
     "@types/node" "*"
 
 "@types/yargs-parser@*":
-  version "21.0.0"
-  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
-  integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
+  version "21.0.1"
+  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b"
+  integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==
 
 "@types/yargs@^15.0.0":
-  version "15.0.15"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158"
-  integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==
+  version "15.0.16"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.16.tgz#258009dc52907e8f03041eb64ffdac297ba4b208"
+  integrity sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==
   dependencies:
     "@types/yargs-parser" "*"
 
 "@types/yargs@^16.0.0":
-  version "16.0.5"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3"
-  integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==
+  version "16.0.6"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.6.tgz#cc0c63684d68d23498cf0b5f32aa4c3fb437c638"
+  integrity sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==
   dependencies:
     "@types/yargs-parser" "*"
 
 "@types/yargs@^17.0.8":
-  version "17.0.24"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
-  integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
+  version "17.0.28"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.28.tgz#d106e4301fbacde3d1796ab27374dd16588ec851"
+  integrity sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==
   dependencies:
     "@types/yargs-parser" "*"
 
 "@typescript-eslint/eslint-plugin@^5.30.5":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15"
-  integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db"
+  integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==
   dependencies:
     "@eslint-community/regexpp" "^4.4.0"
-    "@typescript-eslint/scope-manager" "5.59.9"
-    "@typescript-eslint/type-utils" "5.59.9"
-    "@typescript-eslint/utils" "5.59.9"
+    "@typescript-eslint/scope-manager" "5.62.0"
+    "@typescript-eslint/type-utils" "5.62.0"
+    "@typescript-eslint/utils" "5.62.0"
     debug "^4.3.4"
-    grapheme-splitter "^1.0.4"
+    graphemer "^1.4.0"
     ignore "^5.2.0"
     natural-compare-lite "^1.4.0"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
 "@typescript-eslint/parser@^5.30.5":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa"
-  integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
+  integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
   dependencies:
-    "@typescript-eslint/scope-manager" "5.59.9"
-    "@typescript-eslint/types" "5.59.9"
-    "@typescript-eslint/typescript-estree" "5.59.9"
+    "@typescript-eslint/scope-manager" "5.62.0"
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/typescript-estree" "5.62.0"
     debug "^4.3.4"
 
-"@typescript-eslint/scope-manager@5.59.9":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4"
-  integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==
+"@typescript-eslint/scope-manager@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
+  integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
   dependencies:
-    "@typescript-eslint/types" "5.59.9"
-    "@typescript-eslint/visitor-keys" "5.59.9"
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/visitor-keys" "5.62.0"
 
-"@typescript-eslint/type-utils@5.59.9":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2"
-  integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==
+"@typescript-eslint/type-utils@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a"
+  integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==
   dependencies:
-    "@typescript-eslint/typescript-estree" "5.59.9"
-    "@typescript-eslint/utils" "5.59.9"
+    "@typescript-eslint/typescript-estree" "5.62.0"
+    "@typescript-eslint/utils" "5.62.0"
     debug "^4.3.4"
     tsutils "^3.21.0"
 
-"@typescript-eslint/types@5.59.9":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52"
-  integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==
+"@typescript-eslint/types@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
+  integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
 
-"@typescript-eslint/typescript-estree@5.59.9":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b"
-  integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==
+"@typescript-eslint/typescript-estree@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
+  integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
   dependencies:
-    "@typescript-eslint/types" "5.59.9"
-    "@typescript-eslint/visitor-keys" "5.59.9"
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/visitor-keys" "5.62.0"
     debug "^4.3.4"
     globby "^11.1.0"
     is-glob "^4.0.3"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/utils@5.59.9", "@typescript-eslint/utils@^5.10.0":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4"
-  integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==
+"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.10.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
+  integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@types/json-schema" "^7.0.9"
     "@types/semver" "^7.3.12"
-    "@typescript-eslint/scope-manager" "5.59.9"
-    "@typescript-eslint/types" "5.59.9"
-    "@typescript-eslint/typescript-estree" "5.59.9"
+    "@typescript-eslint/scope-manager" "5.62.0"
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/typescript-estree" "5.62.0"
     eslint-scope "^5.1.1"
     semver "^7.3.7"
 
-"@typescript-eslint/visitor-keys@5.59.9":
-  version "5.59.9"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d"
-  integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==
+"@typescript-eslint/visitor-keys@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
+  integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
   dependencies:
-    "@typescript-eslint/types" "5.59.9"
+    "@typescript-eslint/types" "5.62.0"
     eslint-visitor-keys "^3.3.0"
 
 "@unimodules/core@*":
@@ -3192,11 +2801,6 @@ abort-controller@^3.0.0:
   dependencies:
     event-target-shim "^5.0.0"
 
-absolute-path@^0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7"
-  integrity sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==
-
 accepts@^1.3.7, accepts@~1.3.5, accepts@~1.3.7:
   version "1.3.8"
   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@@ -3228,10 +2832,10 @@ acorn@^7.1.1:
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
-acorn@^8.5.0, acorn@^8.8.0, acorn@^8.8.2:
-  version "8.8.2"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
-  integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
+acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0:
+  version "8.10.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+  integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
 
 add-dom-event-listener@^1.1.0:
   version "1.1.0"
@@ -3247,7 +2851,7 @@ agent-base@6:
   dependencies:
     debug "4"
 
-ajv@^6.10.0, ajv@^6.12.4:
+ajv@^6.12.4:
   version "6.12.6"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
   integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -3368,15 +2972,15 @@ array-buffer-byte-length@^1.0.0:
     call-bind "^1.0.2"
     is-array-buffer "^3.0.1"
 
-array-includes@^3.1.5, array-includes@^3.1.6:
-  version "3.1.6"
-  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
-  integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
+array-includes@^3.1.6:
+  version "3.1.7"
+  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda"
+  integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
-    get-intrinsic "^1.1.3"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
     is-string "^1.0.7"
 
 array-tree-filter@~2.1.0:
@@ -3394,26 +2998,49 @@ array-unique@^0.3.2:
   resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
   integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
 
+array.prototype.flat@^1.3.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18"
+  integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    es-shim-unscopables "^1.0.0"
+
 array.prototype.flatmap@^1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
-  integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527"
+  integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
     es-shim-unscopables "^1.0.0"
 
 array.prototype.tosorted@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532"
-  integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd"
+  integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
     es-shim-unscopables "^1.0.0"
-    get-intrinsic "^1.1.3"
+    get-intrinsic "^1.2.1"
+
+arraybuffer.prototype.slice@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12"
+  integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==
+  dependencies:
+    array-buffer-byte-length "^1.0.0"
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    is-array-buffer "^3.0.2"
+    is-shared-array-buffer "^1.0.2"
 
 asap@~2.0.6:
   version "2.0.6"
@@ -3468,6 +3095,13 @@ async@^3.2.2:
   resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
   integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
 
+asynciterator.prototype@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62"
+  integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==
+  dependencies:
+    has-symbols "^1.0.3"
+
 asynckit@^0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -3514,23 +3148,23 @@ babel-core@^7.0.0-bridge.0:
   resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
   integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
 
-babel-jest@^29.2.1, babel-jest@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5"
-  integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==
+babel-jest@^29.2.1, babel-jest@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5"
+  integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
   dependencies:
-    "@jest/transform" "^29.5.0"
+    "@jest/transform" "^29.7.0"
     "@types/babel__core" "^7.1.14"
     babel-plugin-istanbul "^6.1.1"
-    babel-preset-jest "^29.5.0"
+    babel-preset-jest "^29.6.3"
     chalk "^4.0.0"
     graceful-fs "^4.2.9"
     slash "^3.0.0"
 
 babel-plugin-import@^1.13.6:
-  version "1.13.6"
-  resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.6.tgz#4ff2aa3b9759e6a4458ce59890da3684fe3dda9d"
-  integrity sha512-N7FYnGh0DFsvDRkAPsvFq/metVfVD7P2h1rokOPpEH4cZbdRHCW+2jbXt0nnuqowkm/xhh2ww1anIdEpfYa7ZA==
+  version "1.13.8"
+  resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.8.tgz#782c517f6bbf2de3b1f75aaafd6d20a491c4878c"
+  integrity sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==
   dependencies:
     "@babel/helper-module-imports" "^7.0.0"
 
@@ -3545,10 +3179,10 @@ babel-plugin-istanbul@^6.1.1:
     istanbul-lib-instrument "^5.0.4"
     test-exclude "^6.0.0"
 
-babel-plugin-jest-hoist@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a"
-  integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==
+babel-plugin-jest-hoist@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626"
+  integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
   dependencies:
     "@babel/template" "^7.3.3"
     "@babel/types" "^7.3.3"
@@ -3566,29 +3200,29 @@ babel-plugin-module-resolver@^5.0.0:
     reselect "^4.1.7"
     resolve "^1.22.1"
 
-babel-plugin-polyfill-corejs2@^0.4.3:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz#75044d90ba5043a5fb559ac98496f62f3eb668fd"
-  integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==
+babel-plugin-polyfill-corejs2@^0.4.6:
+  version "0.4.6"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313"
+  integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==
   dependencies:
-    "@babel/compat-data" "^7.17.7"
-    "@babel/helper-define-polyfill-provider" "^0.4.0"
-    semver "^6.1.1"
+    "@babel/compat-data" "^7.22.6"
+    "@babel/helper-define-polyfill-provider" "^0.4.3"
+    semver "^6.3.1"
 
-babel-plugin-polyfill-corejs3@^0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz#39248263c38191f0d226f928d666e6db1b4b3a8a"
-  integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==
+babel-plugin-polyfill-corejs3@^0.8.5:
+  version "0.8.5"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz#a75fa1b0c3fc5bd6837f9ec465c0f48031b8cab1"
+  integrity sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.4.0"
-    core-js-compat "^3.30.1"
+    "@babel/helper-define-polyfill-provider" "^0.4.3"
+    core-js-compat "^3.32.2"
 
-babel-plugin-polyfill-regenerator@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz#e7344d88d9ef18a3c47ded99362ae4a757609380"
-  integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==
+babel-plugin-polyfill-regenerator@^0.5.3:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5"
+  integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.4.0"
+    "@babel/helper-define-polyfill-provider" "^0.4.3"
 
 babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
   version "7.0.0-beta.0"
@@ -3653,12 +3287,12 @@ babel-preset-fbjs@^3.4.0:
     "@babel/plugin-transform-template-literals" "^7.0.0"
     babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
 
-babel-preset-jest@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2"
-  integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==
+babel-preset-jest@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c"
+  integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
   dependencies:
-    babel-plugin-jest-hoist "^29.5.0"
+    babel-plugin-jest-hoist "^29.6.3"
     babel-preset-current-node-syntax "^1.0.0"
 
 babel-runtime@^6.x:
@@ -3703,9 +3337,9 @@ big-integer@^1.6.51:
   integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
 
 bignumber.js@^9.0.0:
-  version "9.1.1"
-  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6"
-  integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==
+  version "9.1.2"
+  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c"
+  integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==
 
 bl@^4.0.3, bl@^4.1.0:
   version "4.1.0"
@@ -3782,15 +3416,15 @@ browser-process-hrtime@^1.0.0:
   resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
   integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
 
-browserslist@^4.21.3, browserslist@^4.21.5:
-  version "4.21.7"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.7.tgz#e2b420947e5fb0a58e8f4668ae6e23488127e551"
-  integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==
+browserslist@^4.21.9, browserslist@^4.22.1:
+  version "4.22.1"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619"
+  integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==
   dependencies:
-    caniuse-lite "^1.0.30001489"
-    electron-to-chromium "^1.4.411"
-    node-releases "^2.0.12"
-    update-browserslist-db "^1.0.11"
+    caniuse-lite "^1.0.30001541"
+    electron-to-chromium "^1.4.535"
+    node-releases "^2.0.13"
+    update-browserslist-db "^1.0.13"
 
 bser@2.1.1:
   version "2.1.1"
@@ -3819,7 +3453,7 @@ buffer@^5.5.0, buffer@^5.6.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-buffer@^6.0.2, buffer@^6.0.3:
+buffer@^6.0.3:
   version "6.0.3"
   resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
   integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
@@ -3884,7 +3518,7 @@ camelcase@^5.0.0, camelcase@^5.3.1:
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
-camelcase@^6.0.0, camelcase@^6.2.0:
+camelcase@^6.2.0:
   version "6.3.0"
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
   integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
@@ -3894,10 +3528,10 @@ camelize@^1.0.0:
   resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3"
   integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
 
-caniuse-lite@^1.0.30001489:
-  version "1.0.30001495"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001495.tgz#64a0ccef1911a9dcff647115b4430f8eff1ef2d9"
-  integrity sha512-F6x5IEuigtUfU5ZMQK2jsy5JqUUlEFRVZq8bO2a+ysq5K7jD6PPc9YXZj78xDNS3uNchesp1Jw47YXEqr+Viyg==
+caniuse-lite@^1.0.30001541:
+  version "1.0.30001549"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz#7d1a3dce7ea78c06ed72c32c2743ea364b3615aa"
+  integrity sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==
 
 canonicalize@^1.0.1:
   version "1.0.8"
@@ -3913,7 +3547,7 @@ canvas@^2.8.0:
     nan "^2.17.0"
     simple-get "^3.0.3"
 
-chalk@^2.0.0, chalk@^2.4.2:
+chalk@^2.4.2:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3966,14 +3600,14 @@ ci-info@^2.0.0:
   integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
 
 ci-info@^3.2.0:
-  version "3.8.0"
-  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
-  integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
+  version "3.9.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
+  integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
 
 cjs-module-lexer@^1.0.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
-  integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+  integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
 
 class-transformer@0.5.1, class-transformer@^0.5.1:
   version "0.5.1"
@@ -4012,9 +3646,9 @@ cli-cursor@^3.1.0:
     restore-cursor "^3.1.0"
 
 cli-spinners@^2.5.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db"
-  integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==
+  version "2.9.1"
+  resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35"
+  integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==
 
 cliui@^6.0.0:
   version "6.0.0"
@@ -4063,9 +3697,9 @@ co@^4.6.0:
   integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
 
 collect-v8-coverage@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
-  integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9"
+  integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==
 
 collection-visit@^1.0.0:
   version "1.0.0"
@@ -4222,11 +3856,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0:
   resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
   integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
 
-convert-source-map@^1.6.0, convert-source-map@^1.7.0:
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
-  integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
-
 convert-source-map@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
@@ -4237,12 +3866,12 @@ copy-descriptor@^0.1.0:
   resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
   integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
 
-core-js-compat@^3.30.1, core-js-compat@^3.30.2:
-  version "3.30.2"
-  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b"
-  integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==
+core-js-compat@^3.31.0, core-js-compat@^3.32.2:
+  version "3.33.0"
+  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966"
+  integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==
   dependencies:
-    browserslist "^4.21.5"
+    browserslist "^4.22.1"
 
 core-js@^2.4.0:
   version "2.6.12"
@@ -4264,39 +3893,40 @@ cosmiconfig@^5.0.5, cosmiconfig@^5.1.0:
     js-yaml "^3.13.1"
     parse-json "^4.0.0"
 
-cosmiconfig@^7.0.1:
-  version "7.1.0"
-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
-  integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+cosmiconfig@^8.1.3:
+  version "8.3.6"
+  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
+  integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
   dependencies:
-    "@types/parse-json" "^4.0.0"
-    import-fresh "^3.2.1"
-    parse-json "^5.0.0"
+    import-fresh "^3.3.0"
+    js-yaml "^4.1.0"
+    parse-json "^5.2.0"
     path-type "^4.0.0"
-    yaml "^1.10.0"
+
+create-jest@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320"
+  integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    chalk "^4.0.0"
+    exit "^0.1.2"
+    graceful-fs "^4.2.9"
+    jest-config "^29.7.0"
+    jest-util "^29.7.0"
+    prompts "^2.0.1"
 
 credentials-context@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/credentials-context/-/credentials-context-2.0.0.tgz#68a9a1a88850c398d3bba4976c8490530af093e8"
   integrity sha512-/mFKax6FK26KjgV2KW2D4YqKgoJ5DVJpNt87X2Jc9IxT2HBMy7nEIlc+n7pEi+YFFe721XqrvZPd+jbyyBjsvQ==
 
-cross-fetch@^3.1.5:
-  version "3.1.6"
-  resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c"
-  integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==
-  dependencies:
-    node-fetch "^2.6.11"
-
-cross-spawn@^6.0.0:
-  version "6.0.5"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
-  integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+cross-fetch@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983"
+  integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==
   dependencies:
-    nice-try "^1.0.4"
-    path-key "^2.0.1"
-    semver "^5.5.0"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
+    node-fetch "^2.6.12"
 
 cross-spawn@^7.0.2, cross-spawn@^7.0.3:
   version "7.0.3"
@@ -4356,6 +3986,22 @@ css-tree@^1.1.2, css-tree@^1.1.3:
     mdn-data "2.0.14"
     source-map "^0.6.1"
 
+css-tree@^2.2.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
+  integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+  dependencies:
+    mdn-data "2.0.30"
+    source-map-js "^1.0.1"
+
+css-tree@~2.2.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
+  integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
+  dependencies:
+    mdn-data "2.0.28"
+    source-map-js "^1.0.1"
+
 css-what@^6.0.1, css-what@^6.1.0:
   version "6.1.0"
   resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
@@ -4368,6 +4014,13 @@ csso@^4.2.0:
   dependencies:
     css-tree "^1.1.2"
 
+csso@^5.0.5:
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6"
+  integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
+  dependencies:
+    css-tree "~2.2.0"
+
 cssom@^0.5.0:
   version "0.5.0"
   resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
@@ -4412,9 +4065,9 @@ date-fns@^2.30.0:
     "@babel/runtime" "^7.21.0"
 
 dayjs@^1.8.15:
-  version "1.11.8"
-  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea"
-  integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==
+  version "1.11.10"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
+  integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
 
 debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
   version "2.6.9"
@@ -4464,27 +4117,22 @@ decompress-response@^6.0.0:
   dependencies:
     mimic-response "^3.1.0"
 
-dedent@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
-  integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+dedent@^1.0.0:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff"
+  integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==
 
 deep-extend@^0.6.0:
   version "0.6.0"
   resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
   integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
 
-deep-is@^0.1.3, deep-is@~0.1.3:
+deep-is@^0.1.3:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
   integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
 
-deepmerge@^3.2.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7"
-  integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==
-
-deepmerge@^4.2.2, deepmerge@^4.3.0:
+deepmerge@^4.2.2, deepmerge@^4.3.0, deepmerge@^4.3.1:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
   integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
@@ -4496,11 +4144,21 @@ defaults@^1.0.3:
   dependencies:
     clone "^1.0.2"
 
-define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
-  integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
+define-data-property@^1.0.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
+  integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==
+  dependencies:
+    get-intrinsic "^1.2.1"
+    gopd "^1.0.1"
+    has-property-descriptors "^1.0.0"
+
+define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
+  integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
   dependencies:
+    define-data-property "^1.0.1"
     has-property-descriptors "^1.0.0"
     object-keys "^1.1.1"
 
@@ -4555,24 +4213,15 @@ deprecated-react-native-prop-types@4.1.0:
     invariant "*"
     prop-types "*"
 
-deprecated-react-native-prop-types@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz#a275f84cd8519cd1665e8df3c99e9067d57a23ec"
-  integrity sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ==
-  dependencies:
-    "@react-native/normalize-color" "*"
-    invariant "*"
-    prop-types "*"
-
 destroy@1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
   integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
 
 detect-libc@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
-  integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d"
+  integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==
 
 detect-newline@^3.0.0:
   version "3.1.0"
@@ -4584,10 +4233,10 @@ did-resolver@^4.0.0, did-resolver@^4.1.0:
   resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-4.1.0.tgz#740852083c4fd5bf9729d528eca5d105aff45eb6"
   integrity sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA==
 
-diff-sequences@^29.4.3:
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2"
-  integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==
+diff-sequences@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921"
+  integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
 
 dijkstrajs@^1.0.1:
   version "1.0.3"
@@ -4677,6 +4326,14 @@ domutils@^3.0.1:
     domelementtype "^2.3.0"
     domhandler "^5.0.3"
 
+dot-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+  integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
 easyqrcodejs-nodejs@^4.4.2:
   version "4.4.5"
   resolved "https://registry.yarnpkg.com/easyqrcodejs-nodejs/-/easyqrcodejs-nodejs-4.4.5.tgz#ffd97d1554e0cf899c83faa11e655bad7e0bd47d"
@@ -4687,19 +4344,19 @@ easyqrcodejs-nodejs@^4.4.2:
     svgo "^2.8.0"
 
 easyqrcodejs@^4.3.1:
-  version "4.4.13"
-  resolved "https://registry.yarnpkg.com/easyqrcodejs/-/easyqrcodejs-4.4.13.tgz#466c5e807751ae41d5f65cab08e4359f27c28b8e"
-  integrity sha512-NulfMl+bhx/gAjZcBjgNd99jqPE5wEho1Z3nZwnKNISu0STnVq0xFQ28SVhcnOwt+47BJ80dULVNzpGIwYi66A==
+  version "4.5.0"
+  resolved "https://registry.yarnpkg.com/easyqrcodejs/-/easyqrcodejs-4.5.0.tgz#364a65acf70f7f48bfff2eac98ec8b38fbc2183d"
+  integrity sha512-V9z6vst9I5hGYw4fx+ofQARDFQlbwpltka+TJ41W+bCtDnQkhw+b/ChsqRv0xFLvpOIW/dv4Lh01ONr6EmXdzQ==
 
 ee-first@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
   integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
 
-electron-to-chromium@^1.4.411:
-  version "1.4.425"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.425.tgz#399df13091b836d28283a545c25c8e4d9da86da8"
-  integrity sha512-wv1NufHxu11zfDbY4fglYQApMswleE9FL/DSeyOyauVXDZ+Kco96JK/tPfBUaDqfRarYp2WH2hJ/5UnVywp9Jg==
+electron-to-chromium@^1.4.535:
+  version "1.4.554"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.554.tgz#04e09c2ee31dc0f1546174033809b54cc372740b"
+  integrity sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==
 
 emittery@^0.13.1:
   version "0.13.1"
@@ -4744,9 +4401,9 @@ entities@^4.2.0, entities@^4.4.0:
   integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
 
 envinfo@^7.7.2:
-  version "7.8.1"
-  resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
-  integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
+  version "7.10.0"
+  resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13"
+  integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==
 
 error-ex@^1.3.1:
   version "1.3.2"
@@ -4762,7 +4419,7 @@ error-stack-parser@^2.0.6:
   dependencies:
     stackframe "^1.3.4"
 
-errorhandler@^1.5.0, errorhandler@^1.5.1:
+errorhandler@^1.5.1:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91"
   integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==
@@ -4770,18 +4427,19 @@ errorhandler@^1.5.0, errorhandler@^1.5.1:
     accepts "~1.3.7"
     escape-html "~1.0.3"
 
-es-abstract@^1.19.0, es-abstract@^1.20.4:
-  version "1.21.2"
-  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff"
-  integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==
+es-abstract@^1.22.1:
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.2.tgz#90f7282d91d0ad577f505e423e52d4c1d93c1b8a"
+  integrity sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==
   dependencies:
     array-buffer-byte-length "^1.0.0"
+    arraybuffer.prototype.slice "^1.0.2"
     available-typed-arrays "^1.0.5"
     call-bind "^1.0.2"
     es-set-tostringtag "^2.0.1"
     es-to-primitive "^1.2.1"
-    function.prototype.name "^1.1.5"
-    get-intrinsic "^1.2.0"
+    function.prototype.name "^1.1.6"
+    get-intrinsic "^1.2.1"
     get-symbol-description "^1.0.0"
     globalthis "^1.0.3"
     gopd "^1.0.1"
@@ -4796,19 +4454,43 @@ es-abstract@^1.19.0, es-abstract@^1.20.4:
     is-regex "^1.1.4"
     is-shared-array-buffer "^1.0.2"
     is-string "^1.0.7"
-    is-typed-array "^1.1.10"
+    is-typed-array "^1.1.12"
     is-weakref "^1.0.2"
     object-inspect "^1.12.3"
     object-keys "^1.1.1"
     object.assign "^4.1.4"
-    regexp.prototype.flags "^1.4.3"
+    regexp.prototype.flags "^1.5.1"
+    safe-array-concat "^1.0.1"
     safe-regex-test "^1.0.0"
-    string.prototype.trim "^1.2.7"
-    string.prototype.trimend "^1.0.6"
-    string.prototype.trimstart "^1.0.6"
+    string.prototype.trim "^1.2.8"
+    string.prototype.trimend "^1.0.7"
+    string.prototype.trimstart "^1.0.7"
+    typed-array-buffer "^1.0.0"
+    typed-array-byte-length "^1.0.0"
+    typed-array-byte-offset "^1.0.0"
     typed-array-length "^1.0.4"
     unbox-primitive "^1.0.2"
-    which-typed-array "^1.1.9"
+    which-typed-array "^1.1.11"
+
+es-iterator-helpers@^1.0.12:
+  version "1.0.15"
+  resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40"
+  integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==
+  dependencies:
+    asynciterator.prototype "^1.0.0"
+    call-bind "^1.0.2"
+    define-properties "^1.2.1"
+    es-abstract "^1.22.1"
+    es-set-tostringtag "^2.0.1"
+    function-bind "^1.1.1"
+    get-intrinsic "^1.2.1"
+    globalthis "^1.0.3"
+    has-property-descriptors "^1.0.0"
+    has-proto "^1.0.1"
+    has-symbols "^1.0.3"
+    internal-slot "^1.0.5"
+    iterator.prototype "^1.1.2"
+    safe-array-concat "^1.0.1"
 
 es-set-tostringtag@^2.0.1:
   version "2.0.1"
@@ -4861,21 +4543,20 @@ escape-string-regexp@^4.0.0:
   integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
 
 escodegen@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
-  integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17"
+  integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==
   dependencies:
     esprima "^4.0.1"
     estraverse "^5.2.0"
     esutils "^2.0.2"
-    optionator "^0.8.1"
   optionalDependencies:
     source-map "~0.6.1"
 
 eslint-config-prettier@^8.5.0:
-  version "8.8.0"
-  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
-  integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
+  version "8.10.0"
+  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11"
+  integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==
 
 eslint-plugin-eslint-comments@^3.2.0:
   version "3.2.0"
@@ -4918,22 +4599,22 @@ eslint-plugin-react-native-globals@^0.1.1:
   integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==
 
 eslint-plugin-react-native@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz#eec41984abe4970bdd7c6082dff7a98a5e34d0bb"
-  integrity sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz#5343acd3b2246bc1b857ac38be708f070d18809f"
+  integrity sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==
   dependencies:
-    "@babel/traverse" "^7.7.4"
     eslint-plugin-react-native-globals "^0.1.1"
 
 eslint-plugin-react@^7.30.1:
-  version "7.32.2"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10"
-  integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==
+  version "7.33.2"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608"
+  integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==
   dependencies:
     array-includes "^3.1.6"
     array.prototype.flatmap "^1.3.1"
     array.prototype.tosorted "^1.1.1"
     doctrine "^2.1.0"
+    es-iterator-helpers "^1.0.12"
     estraverse "^5.3.0"
     jsx-ast-utils "^2.4.1 || ^3.0.0"
     minimatch "^3.1.2"
@@ -4943,7 +4624,7 @@ eslint-plugin-react@^7.30.1:
     object.values "^1.1.6"
     prop-types "^15.8.1"
     resolve "^2.0.0-next.4"
-    semver "^6.3.0"
+    semver "^6.3.1"
     string.prototype.matchall "^4.0.8"
 
 eslint-scope@5.1.1, eslint-scope@^5.1.1:
@@ -4954,10 +4635,10 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1:
     esrecurse "^4.3.0"
     estraverse "^4.1.1"
 
-eslint-scope@^7.2.0:
-  version "7.2.0"
-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
-  integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
+eslint-scope@^7.2.2:
+  version "7.2.2"
+  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
+  integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
   dependencies:
     esrecurse "^4.3.0"
     estraverse "^5.2.0"
@@ -4967,32 +4648,32 @@ eslint-visitor-keys@^2.1.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
 
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
-  integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
+eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
+  version "3.4.3"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+  integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
 eslint@^8.19.0:
-  version "8.42.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291"
-  integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==
+  version "8.51.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
+  integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
-    "@eslint-community/regexpp" "^4.4.0"
-    "@eslint/eslintrc" "^2.0.3"
-    "@eslint/js" "8.42.0"
-    "@humanwhocodes/config-array" "^0.11.10"
+    "@eslint-community/regexpp" "^4.6.1"
+    "@eslint/eslintrc" "^2.1.2"
+    "@eslint/js" "8.51.0"
+    "@humanwhocodes/config-array" "^0.11.11"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
-    ajv "^6.10.0"
+    ajv "^6.12.4"
     chalk "^4.0.0"
     cross-spawn "^7.0.2"
     debug "^4.3.2"
     doctrine "^3.0.0"
     escape-string-regexp "^4.0.0"
-    eslint-scope "^7.2.0"
-    eslint-visitor-keys "^3.4.1"
-    espree "^9.5.2"
+    eslint-scope "^7.2.2"
+    eslint-visitor-keys "^3.4.3"
+    espree "^9.6.1"
     esquery "^1.4.2"
     esutils "^2.0.2"
     fast-deep-equal "^3.1.3"
@@ -5002,7 +4683,6 @@ eslint@^8.19.0:
     globals "^13.19.0"
     graphemer "^1.4.0"
     ignore "^5.2.0"
-    import-fresh "^3.0.0"
     imurmurhash "^0.1.4"
     is-glob "^4.0.0"
     is-path-inside "^3.0.3"
@@ -5012,17 +4692,16 @@ eslint@^8.19.0:
     lodash.merge "^4.6.2"
     minimatch "^3.1.2"
     natural-compare "^1.4.0"
-    optionator "^0.9.1"
+    optionator "^0.9.3"
     strip-ansi "^6.0.1"
-    strip-json-comments "^3.1.0"
     text-table "^0.2.0"
 
-espree@^9.5.2:
-  version "9.5.2"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
-  integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
+espree@^9.6.0, espree@^9.6.1:
+  version "9.6.1"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+  integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
   dependencies:
-    acorn "^8.8.0"
+    acorn "^8.9.0"
     acorn-jsx "^5.3.2"
     eslint-visitor-keys "^3.4.1"
 
@@ -5080,19 +4759,6 @@ events@^3.3.0:
   resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
   integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
 
-execa@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
-  integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
-  dependencies:
-    cross-spawn "^6.0.0"
-    get-stream "^4.0.0"
-    is-stream "^1.1.0"
-    npm-run-path "^2.0.0"
-    p-finally "^1.0.0"
-    signal-exit "^3.0.0"
-    strip-eof "^1.0.0"
-
 execa@^5.0.0:
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
@@ -5131,16 +4797,16 @@ expand-template@^2.0.3:
   resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
   integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
 
-expect@^29.0.0, expect@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7"
-  integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==
+expect@^29.0.0, expect@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc"
+  integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
   dependencies:
-    "@jest/expect-utils" "^29.5.0"
-    jest-get-type "^29.4.3"
-    jest-matcher-utils "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-util "^29.5.0"
+    "@jest/expect-utils" "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
 
 expo-modules-autolinking@^0.0.3:
   version "0.0.3"
@@ -5154,9 +4820,9 @@ expo-modules-autolinking@^0.0.3:
     fs-extra "^9.1.0"
 
 expo-random@*:
-  version "13.1.1"
-  resolved "https://registry.yarnpkg.com/expo-random/-/expo-random-13.1.1.tgz#15e781911d5db4fbcee75e26ac109bc2523fe00c"
-  integrity sha512-+KkhGp7xW45GvMRzlcSOzvDwzTgyXo6C84GaG4GI43rOdECBQ2lGUJ12st39OtfZm1lORNskpi66DjnuJ73g9w==
+  version "13.4.0"
+  resolved "https://registry.yarnpkg.com/expo-random/-/expo-random-13.4.0.tgz#b07967778c036c43fb5488e7f73d2d1e15c1786f"
+  integrity sha512-Z/Bbd+1MbkK8/4ukspgA3oMlcu0q3YTCu//7q2xHwy35huN6WCv4/Uw2OGyCiOQjAbU02zwq6swA+VgVmJRCEw==
   dependencies:
     base64-js "^1.3.0"
 
@@ -5205,9 +4871,9 @@ fast-diff@^1.1.2:
   integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
 
 fast-glob@^3.2.5, fast-glob@^3.2.9:
-  version "3.2.12"
-  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
-  integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+  version "3.3.1"
+  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
+  integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
   dependencies:
     "@nodelib/fs.stat" "^2.0.2"
     "@nodelib/fs.walk" "^1.2.3"
@@ -5220,7 +4886,7 @@ fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
   resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
   integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 
-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
+fast-levenshtein@^2.0.6:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
   integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
@@ -5231,9 +4897,9 @@ fast-text-encoding@^1.0.3:
   integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==
 
 fast-xml-parser@^4.0.12:
-  version "4.2.4"
-  resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz#6e846ede1e56ad9e5ef07d8720809edf0ed07e9b"
-  integrity sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz#761e641260706d6e13251c4ef8e3f5694d4b0d79"
+  integrity sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==
   dependencies:
     strnum "^1.0.5"
 
@@ -5349,17 +5015,18 @@ find-up@^5.0.0, find-up@~5.0.0:
     path-exists "^4.0.0"
 
 flat-cache@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
-  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b"
+  integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==
   dependencies:
-    flatted "^3.1.0"
+    flatted "^3.2.9"
+    keyv "^4.5.3"
     rimraf "^3.0.2"
 
-flatted@^3.1.0:
-  version "3.2.7"
-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
-  integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
+flatted@^3.2.9:
+  version "3.2.9"
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
+  integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
 
 flow-enums-runtime@^0.0.5:
   version "0.0.5"
@@ -5367,29 +5034,24 @@ flow-enums-runtime@^0.0.5:
   integrity sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==
 
 flow-parser@0.*:
-  version "0.207.0"
-  resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.207.0.tgz#376975f6b88991bf0ef9496fa3bffd5eb3120046"
-  integrity sha512-s90OlXqzWj1xc4yUtqD1Gr8pGVx0/5rk9gsqPrOYF1kBAPMH4opkmzdWgQ8aNe3Pckqtwr8DlYGbfE2GnW+zsg==
+  version "0.218.1"
+  resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.218.1.tgz#a4a5d14c2cfd40dc76649b23f48fb4facd9156f9"
+  integrity sha512-46xpXyI4Bh3K2ej+NF3V5+pAsDlB5P0DWpgIIy/0/R7ujK0syfI/xfKDCOlq2sxtfUyPrr4rxfS2Da7yWdTdwg==
 
 flow-parser@^0.121.0:
   version "0.121.0"
   resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.121.0.tgz#9f9898eaec91a9f7c323e9e992d81ab5c58e618f"
   integrity sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==
 
-flow-parser@^0.185.0:
-  version "0.185.2"
-  resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.185.2.tgz#cb7ee57f77377d6c5d69a469e980f6332a15e492"
-  integrity sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==
-
 flow-parser@^0.206.0:
   version "0.206.0"
   resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef"
   integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==
 
 follow-redirects@^1.10.0:
-  version "1.15.2"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
-  integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+  version "1.15.3"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
+  integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
 
 for-each@^0.3.3:
   version "0.3.3"
@@ -5470,26 +5132,26 @@ fs.realpath@^1.0.0:
   integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
 
 fsevents@^2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
-  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
 
 function-bind@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+  integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
 
-function.prototype.name@^1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
-  integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
+function.prototype.name@^1.1.5, function.prototype.name@^1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd"
+  integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.3"
-    es-abstract "^1.19.0"
-    functions-have-names "^1.2.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    functions-have-names "^1.2.3"
 
-functions-have-names@^1.2.2, functions-have-names@^1.2.3:
+functions-have-names@^1.2.3:
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
   integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
@@ -5519,7 +5181,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
   resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
   integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
   integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
@@ -5534,13 +5196,6 @@ get-package-type@^0.1.0:
   resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
   integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
 
-get-stream@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
-  integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
-  dependencies:
-    pump "^3.0.0"
-
 get-stream@^6.0.0:
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -5619,9 +5274,9 @@ globals@^11.1.0:
   integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 
 globals@^13.19.0:
-  version "13.20.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
-  integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
+  version "13.23.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02"
+  integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==
   dependencies:
     type-fest "^0.20.2"
 
@@ -5661,11 +5316,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0,
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
   integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
 
-grapheme-splitter@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
-  integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
-
 graphemer@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
@@ -5747,22 +5397,15 @@ has-values@^1.0.0:
     kind-of "^4.0.0"
 
 has@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
-  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
-  dependencies:
-    function-bind "^1.1.1"
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6"
+  integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==
 
 hermes-estree@0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.12.0.tgz#8a289f9aee854854422345e6995a48613bac2ca8"
   integrity sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==
 
-hermes-estree@0.8.0:
-  version "0.8.0"
-  resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0"
-  integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==
-
 hermes-parser@0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.12.0.tgz#114dc26697cfb41a6302c215b859b74224383773"
@@ -5770,13 +5413,6 @@ hermes-parser@0.12.0:
   dependencies:
     hermes-estree "0.12.0"
 
-hermes-parser@0.8.0:
-  version "0.8.0"
-  resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257"
-  integrity sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==
-  dependencies:
-    hermes-estree "0.8.0"
-
 hermes-profile-transformer@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b"
@@ -5877,11 +5513,6 @@ ignore@^5.0.5, ignore@^5.2.0:
   resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
   integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
 
-image-size@^0.6.0:
-  version "0.6.3"
-  resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2"
-  integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==
-
 image-size@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486"
@@ -5897,7 +5528,7 @@ import-fresh@^2.0.0:
     caller-path "^2.0.0"
     resolve-from "^3.0.0"
 
-import-fresh@^3.0.0, import-fresh@^3.2.1:
+import-fresh@^3.2.1, import-fresh@^3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
   integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
@@ -5918,12 +5549,10 @@ imurmurhash@^0.1.4:
   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
   integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
 
-indy-sdk-react-native@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/indy-sdk-react-native/-/indy-sdk-react-native-0.3.1.tgz#6cea23d05d6f24aaba6596d2f0d7f2ae4160ce34"
-  integrity sha512-BSG/9QHKL0hjAsARxB+PEtlZomntBkG2DsUvCTItETwTOT2ns49BeUjZUHdm2GSyHT5NcOmjyXivNEWWjDaRLw==
-  dependencies:
-    buffer "^6.0.2"
+indent-string@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+  integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
 
 inflight@^1.0.4:
   version "1.0.6"
@@ -5943,7 +5572,7 @@ ini@~1.3.0:
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
 
-internal-slot@^1.0.3, internal-slot@^1.0.5:
+internal-slot@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
   integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
@@ -5953,9 +5582,9 @@ internal-slot@^1.0.3, internal-slot@^1.0.5:
     side-channel "^1.0.4"
 
 intl-pluralrules@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/intl-pluralrules/-/intl-pluralrules-2.0.0.tgz#38b8d7df5dd7c8d3bcd7579c2d518ae3bdf29cec"
-  integrity sha512-YlHi/pve75R2kyvGFyDvmL+zECVrEONSbdeGwXtDXHulvNgcmT1rhwyfMCX/BPzBRuW7b2Uu4oQqnYs7ti8WIA==
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/intl-pluralrules/-/intl-pluralrules-2.0.1.tgz#de16c3df1e09437635829725e88ea70c9ad79569"
+  integrity sha512-astxTLzIdXPeN0K9Rumi6LfMpm3rvNO0iJE+h/k8Kr/is+wPbRe4ikyDjlLr6VTh/mEfNv8RjN+gu3KwDiuhqg==
 
 invariant@*, invariant@^2.2.4:
   version "2.2.4"
@@ -6002,6 +5631,13 @@ is-arrayish@^0.3.1:
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
   integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
 
+is-async-function@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
+  integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
 is-bigint@^1.0.1:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
@@ -6027,10 +5663,10 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
   integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
 
-is-core-module@^2.11.0, is-core-module@^2.9.0:
-  version "2.12.1"
-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
-  integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
+is-core-module@^2.13.0:
+  version "2.13.0"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+  integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
   dependencies:
     has "^1.0.3"
 
@@ -6048,7 +5684,7 @@ is-data-descriptor@^1.0.0:
   dependencies:
     kind-of "^6.0.0"
 
-is-date-object@^1.0.1:
+is-date-object@^1.0.1, is-date-object@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
   integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
@@ -6095,6 +5731,13 @@ is-extglob@^2.1.1:
   resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
   integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
 
+is-finalizationregistry@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6"
+  integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==
+  dependencies:
+    call-bind "^1.0.2"
+
 is-fullwidth-code-point@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
@@ -6110,6 +5753,13 @@ is-generator-fn@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
   integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
 
+is-generator-function@^1.0.10:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
+  integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
 is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
   version "4.0.3"
   resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
@@ -6122,6 +5772,11 @@ is-interactive@^1.0.0:
   resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
   integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
 
+is-map@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
+  integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
+
 is-negative-zero@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
@@ -6176,6 +5831,11 @@ is-regex@^1.1.4:
     call-bind "^1.0.2"
     has-tostringtag "^1.0.0"
 
+is-set@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
+  integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
+
 is-shared-array-buffer@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
@@ -6183,11 +5843,6 @@ is-shared-array-buffer@^1.0.2:
   dependencies:
     call-bind "^1.0.2"
 
-is-stream@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-  integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
-
 is-stream@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -6207,22 +5862,23 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
   dependencies:
     has-symbols "^1.0.2"
 
-is-typed-array@^1.1.10, is-typed-array@^1.1.9:
-  version "1.1.10"
-  resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
-  integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
+is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9:
+  version "1.1.12"
+  resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
+  integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
   dependencies:
-    available-typed-arrays "^1.0.5"
-    call-bind "^1.0.2"
-    for-each "^0.3.3"
-    gopd "^1.0.1"
-    has-tostringtag "^1.0.0"
+    which-typed-array "^1.1.11"
 
 is-unicode-supported@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
   integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
 
+is-weakmap@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
+  integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
+
 is-weakref@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -6230,6 +5886,14 @@ is-weakref@^1.0.2:
   dependencies:
     call-bind "^1.0.2"
 
+is-weakset@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d"
+  integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.1"
+
 is-windows@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -6245,6 +5909,11 @@ isarray@1.0.0, isarray@~1.0.0:
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
 
+isarray@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+  integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
 isexe@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -6290,7 +5959,7 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
   resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
   integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
 
-istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
+istanbul-lib-instrument@^5.0.4:
   version "5.2.1"
   resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d"
   integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
@@ -6301,13 +5970,24 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
     istanbul-lib-coverage "^3.2.0"
     semver "^6.3.0"
 
+istanbul-lib-instrument@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf"
+  integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==
+  dependencies:
+    "@babel/core" "^7.12.3"
+    "@babel/parser" "^7.14.7"
+    "@istanbuljs/schema" "^0.1.2"
+    istanbul-lib-coverage "^3.2.0"
+    semver "^7.5.4"
+
 istanbul-lib-report@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
-  integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d"
+  integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
   dependencies:
     istanbul-lib-coverage "^3.0.0"
-    make-dir "^3.0.0"
+    make-dir "^4.0.0"
     supports-color "^7.1.0"
 
 istanbul-lib-source-maps@^4.0.0:
@@ -6320,208 +6000,209 @@ istanbul-lib-source-maps@^4.0.0:
     source-map "^0.6.1"
 
 istanbul-reports@^3.1.3:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
-  integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
+  version "3.1.6"
+  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a"
+  integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==
   dependencies:
     html-escaper "^2.0.0"
     istanbul-lib-report "^3.0.0"
 
-jest-changed-files@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e"
-  integrity sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==
+iterator.prototype@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0"
+  integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==
+  dependencies:
+    define-properties "^1.2.1"
+    get-intrinsic "^1.2.1"
+    has-symbols "^1.0.3"
+    reflect.getprototypeof "^1.0.4"
+    set-function-name "^2.0.1"
+
+jest-changed-files@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a"
+  integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==
   dependencies:
     execa "^5.0.0"
+    jest-util "^29.7.0"
     p-limit "^3.1.0"
 
-jest-circus@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.5.0.tgz#b5926989449e75bff0d59944bae083c9d7fb7317"
-  integrity sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==
+jest-circus@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a"
+  integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
   dependencies:
-    "@jest/environment" "^29.5.0"
-    "@jest/expect" "^29.5.0"
-    "@jest/test-result" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/environment" "^29.7.0"
+    "@jest/expect" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
-    dedent "^0.7.0"
+    dedent "^1.0.0"
     is-generator-fn "^2.0.0"
-    jest-each "^29.5.0"
-    jest-matcher-utils "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-runtime "^29.5.0"
-    jest-snapshot "^29.5.0"
-    jest-util "^29.5.0"
+    jest-each "^29.7.0"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
     p-limit "^3.1.0"
-    pretty-format "^29.5.0"
+    pretty-format "^29.7.0"
     pure-rand "^6.0.0"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-cli@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.5.0.tgz#b34c20a6d35968f3ee47a7437ff8e53e086b4a67"
-  integrity sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==
+jest-cli@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995"
+  integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==
   dependencies:
-    "@jest/core" "^29.5.0"
-    "@jest/test-result" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/core" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
     chalk "^4.0.0"
+    create-jest "^29.7.0"
     exit "^0.1.2"
-    graceful-fs "^4.2.9"
     import-local "^3.0.2"
-    jest-config "^29.5.0"
-    jest-util "^29.5.0"
-    jest-validate "^29.5.0"
-    prompts "^2.0.1"
+    jest-config "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
     yargs "^17.3.1"
 
-jest-config@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.5.0.tgz#3cc972faec8c8aaea9ae158c694541b79f3748da"
-  integrity sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==
+jest-config@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f"
+  integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
   dependencies:
     "@babel/core" "^7.11.6"
-    "@jest/test-sequencer" "^29.5.0"
-    "@jest/types" "^29.5.0"
-    babel-jest "^29.5.0"
+    "@jest/test-sequencer" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    babel-jest "^29.7.0"
     chalk "^4.0.0"
     ci-info "^3.2.0"
     deepmerge "^4.2.2"
     glob "^7.1.3"
     graceful-fs "^4.2.9"
-    jest-circus "^29.5.0"
-    jest-environment-node "^29.5.0"
-    jest-get-type "^29.4.3"
-    jest-regex-util "^29.4.3"
-    jest-resolve "^29.5.0"
-    jest-runner "^29.5.0"
-    jest-util "^29.5.0"
-    jest-validate "^29.5.0"
+    jest-circus "^29.7.0"
+    jest-environment-node "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-runner "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
     micromatch "^4.0.4"
     parse-json "^5.2.0"
-    pretty-format "^29.5.0"
+    pretty-format "^29.7.0"
     slash "^3.0.0"
     strip-json-comments "^3.1.1"
 
-jest-diff@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63"
-  integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==
+jest-diff@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a"
+  integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
   dependencies:
     chalk "^4.0.0"
-    diff-sequences "^29.4.3"
-    jest-get-type "^29.4.3"
-    pretty-format "^29.5.0"
+    diff-sequences "^29.6.3"
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
 
-jest-docblock@^29.4.3:
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8"
-  integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==
+jest-docblock@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a"
+  integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
   dependencies:
     detect-newline "^3.0.0"
 
-jest-each@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.5.0.tgz#fc6e7014f83eac68e22b7195598de8554c2e5c06"
-  integrity sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==
+jest-each@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1"
+  integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     chalk "^4.0.0"
-    jest-get-type "^29.4.3"
-    jest-util "^29.5.0"
-    pretty-format "^29.5.0"
-
-jest-environment-node@^29.2.1, jest-environment-node@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.5.0.tgz#f17219d0f0cc0e68e0727c58b792c040e332c967"
-  integrity sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==
-  dependencies:
-    "@jest/environment" "^29.5.0"
-    "@jest/fake-timers" "^29.5.0"
-    "@jest/types" "^29.5.0"
-    "@types/node" "*"
-    jest-mock "^29.5.0"
-    jest-util "^29.5.0"
-
-jest-get-type@^26.3.0:
-  version "26.3.0"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
-  integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
+    jest-get-type "^29.6.3"
+    jest-util "^29.7.0"
+    pretty-format "^29.7.0"
 
-jest-get-type@^29.4.3:
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5"
-  integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==
+jest-environment-node@^29.2.1, jest-environment-node@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376"
+  integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    jest-mock "^29.7.0"
+    jest-util "^29.7.0"
 
 jest-get-type@^29.6.3:
   version "29.6.3"
   resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1"
   integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
 
-jest-haste-map@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de"
-  integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==
+jest-haste-map@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104"
+  integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@types/graceful-fs" "^4.1.3"
     "@types/node" "*"
     anymatch "^3.0.3"
     fb-watchman "^2.0.0"
     graceful-fs "^4.2.9"
-    jest-regex-util "^29.4.3"
-    jest-util "^29.5.0"
-    jest-worker "^29.5.0"
+    jest-regex-util "^29.6.3"
+    jest-util "^29.7.0"
+    jest-worker "^29.7.0"
     micromatch "^4.0.4"
     walker "^1.0.8"
   optionalDependencies:
     fsevents "^2.3.2"
 
-jest-leak-detector@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c"
-  integrity sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==
+jest-leak-detector@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728"
+  integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
   dependencies:
-    jest-get-type "^29.4.3"
-    pretty-format "^29.5.0"
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
 
-jest-matcher-utils@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5"
-  integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==
+jest-matcher-utils@^29.6.2, jest-matcher-utils@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12"
+  integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==
   dependencies:
     chalk "^4.0.0"
-    jest-diff "^29.5.0"
-    jest-get-type "^29.4.3"
-    pretty-format "^29.5.0"
+    jest-diff "^29.7.0"
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
 
-jest-message-util@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e"
-  integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==
+jest-message-util@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3"
+  integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==
   dependencies:
     "@babel/code-frame" "^7.12.13"
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@types/stack-utils" "^2.0.0"
     chalk "^4.0.0"
     graceful-fs "^4.2.9"
     micromatch "^4.0.4"
-    pretty-format "^29.5.0"
+    pretty-format "^29.7.0"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-mock@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.5.0.tgz#26e2172bcc71d8b0195081ff1f146ac7e1518aed"
-  integrity sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==
+jest-mock@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347"
+  integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
-    jest-util "^29.5.0"
+    jest-util "^29.7.0"
 
 jest-pnp-resolver@^1.2.2:
   version "1.2.3"
@@ -6533,125 +6214,114 @@ jest-regex-util@^27.0.6:
   resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
   integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
 
-jest-regex-util@^29.4.3:
-  version "29.4.3"
-  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8"
-  integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==
+jest-regex-util@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52"
+  integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
 
-jest-resolve-dependencies@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz#f0ea29955996f49788bf70996052aa98e7befee4"
-  integrity sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==
+jest-resolve-dependencies@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428"
+  integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==
   dependencies:
-    jest-regex-util "^29.4.3"
-    jest-snapshot "^29.5.0"
+    jest-regex-util "^29.6.3"
+    jest-snapshot "^29.7.0"
 
-jest-resolve@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.5.0.tgz#b053cc95ad1d5f6327f0ac8aae9f98795475ecdc"
-  integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==
+jest-resolve@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30"
+  integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
   dependencies:
     chalk "^4.0.0"
     graceful-fs "^4.2.9"
-    jest-haste-map "^29.5.0"
+    jest-haste-map "^29.7.0"
     jest-pnp-resolver "^1.2.2"
-    jest-util "^29.5.0"
-    jest-validate "^29.5.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
     resolve "^1.20.0"
     resolve.exports "^2.0.0"
     slash "^3.0.0"
 
-jest-runner@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.5.0.tgz#6a57c282eb0ef749778d444c1d758c6a7693b6f8"
-  integrity sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==
+jest-runner@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e"
+  integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
   dependencies:
-    "@jest/console" "^29.5.0"
-    "@jest/environment" "^29.5.0"
-    "@jest/test-result" "^29.5.0"
-    "@jest/transform" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/console" "^29.7.0"
+    "@jest/environment" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     chalk "^4.0.0"
     emittery "^0.13.1"
     graceful-fs "^4.2.9"
-    jest-docblock "^29.4.3"
-    jest-environment-node "^29.5.0"
-    jest-haste-map "^29.5.0"
-    jest-leak-detector "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-resolve "^29.5.0"
-    jest-runtime "^29.5.0"
-    jest-util "^29.5.0"
-    jest-watcher "^29.5.0"
-    jest-worker "^29.5.0"
+    jest-docblock "^29.7.0"
+    jest-environment-node "^29.7.0"
+    jest-haste-map "^29.7.0"
+    jest-leak-detector "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-resolve "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-util "^29.7.0"
+    jest-watcher "^29.7.0"
+    jest-worker "^29.7.0"
     p-limit "^3.1.0"
     source-map-support "0.5.13"
 
-jest-runtime@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.5.0.tgz#c83f943ee0c1da7eb91fa181b0811ebd59b03420"
-  integrity sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==
-  dependencies:
-    "@jest/environment" "^29.5.0"
-    "@jest/fake-timers" "^29.5.0"
-    "@jest/globals" "^29.5.0"
-    "@jest/source-map" "^29.4.3"
-    "@jest/test-result" "^29.5.0"
-    "@jest/transform" "^29.5.0"
-    "@jest/types" "^29.5.0"
+jest-runtime@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817"
+  integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/globals" "^29.7.0"
+    "@jest/source-map" "^29.6.3"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     chalk "^4.0.0"
     cjs-module-lexer "^1.0.0"
     collect-v8-coverage "^1.0.0"
     glob "^7.1.3"
     graceful-fs "^4.2.9"
-    jest-haste-map "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-mock "^29.5.0"
-    jest-regex-util "^29.4.3"
-    jest-resolve "^29.5.0"
-    jest-snapshot "^29.5.0"
-    jest-util "^29.5.0"
+    jest-haste-map "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-mock "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
     slash "^3.0.0"
     strip-bom "^4.0.0"
 
-jest-serializer@^27.0.6:
-  version "27.5.1"
-  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64"
-  integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==
-  dependencies:
-    "@types/node" "*"
-    graceful-fs "^4.2.9"
-
-jest-snapshot@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.5.0.tgz#c9c1ce0331e5b63cd444e2f95a55a73b84b1e8ce"
-  integrity sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==
+jest-snapshot@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5"
+  integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
   dependencies:
     "@babel/core" "^7.11.6"
     "@babel/generator" "^7.7.2"
     "@babel/plugin-syntax-jsx" "^7.7.2"
     "@babel/plugin-syntax-typescript" "^7.7.2"
-    "@babel/traverse" "^7.7.2"
     "@babel/types" "^7.3.3"
-    "@jest/expect-utils" "^29.5.0"
-    "@jest/transform" "^29.5.0"
-    "@jest/types" "^29.5.0"
-    "@types/babel__traverse" "^7.0.6"
-    "@types/prettier" "^2.1.5"
+    "@jest/expect-utils" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
     babel-preset-current-node-syntax "^1.0.0"
     chalk "^4.0.0"
-    expect "^29.5.0"
+    expect "^29.7.0"
     graceful-fs "^4.2.9"
-    jest-diff "^29.5.0"
-    jest-get-type "^29.4.3"
-    jest-matcher-utils "^29.5.0"
-    jest-message-util "^29.5.0"
-    jest-util "^29.5.0"
+    jest-diff "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
     natural-compare "^1.4.0"
-    pretty-format "^29.5.0"
-    semver "^7.3.5"
+    pretty-format "^29.7.0"
+    semver "^7.5.3"
 
 jest-util@^27.2.0:
   version "27.5.1"
@@ -6665,31 +6335,19 @@ jest-util@^27.2.0:
     graceful-fs "^4.2.9"
     picomatch "^2.2.3"
 
-jest-util@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f"
-  integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==
+jest-util@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc"
+  integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
   dependencies:
-    "@jest/types" "^29.5.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     chalk "^4.0.0"
     ci-info "^3.2.0"
     graceful-fs "^4.2.9"
     picomatch "^2.2.3"
 
-jest-validate@^26.5.2:
-  version "26.6.2"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec"
-  integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==
-  dependencies:
-    "@jest/types" "^26.6.2"
-    camelcase "^6.0.0"
-    chalk "^4.0.0"
-    jest-get-type "^26.3.0"
-    leven "^3.1.0"
-    pretty-format "^26.6.2"
-
-jest-validate@^29.2.1:
+jest-validate@^29.2.1, jest-validate@^29.7.0:
   version "29.7.0"
   resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c"
   integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
@@ -6701,30 +6359,18 @@ jest-validate@^29.2.1:
     leven "^3.1.0"
     pretty-format "^29.7.0"
 
-jest-validate@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.5.0.tgz#8e5a8f36178d40e47138dc00866a5f3bd9916ffc"
-  integrity sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==
-  dependencies:
-    "@jest/types" "^29.5.0"
-    camelcase "^6.2.0"
-    chalk "^4.0.0"
-    jest-get-type "^29.4.3"
-    leven "^3.1.0"
-    pretty-format "^29.5.0"
-
-jest-watcher@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.5.0.tgz#cf7f0f949828ba65ddbbb45c743a382a4d911363"
-  integrity sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==
+jest-watcher@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2"
+  integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
   dependencies:
-    "@jest/test-result" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     emittery "^0.13.1"
-    jest-util "^29.5.0"
+    jest-util "^29.7.0"
     string-length "^4.0.1"
 
 jest-worker@^27.2.0:
@@ -6736,30 +6382,30 @@ jest-worker@^27.2.0:
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-jest-worker@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d"
-  integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==
+jest-worker@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a"
+  integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
   dependencies:
     "@types/node" "*"
-    jest-util "^29.5.0"
+    jest-util "^29.7.0"
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
 jest@^29.2.1:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/jest/-/jest-29.5.0.tgz#f75157622f5ce7ad53028f2f8888ab53e1f1f24e"
-  integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==
+  version "29.7.0"
+  resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613"
+  integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
   dependencies:
-    "@jest/core" "^29.5.0"
-    "@jest/types" "^29.5.0"
+    "@jest/core" "^29.7.0"
+    "@jest/types" "^29.6.3"
     import-local "^3.0.2"
-    jest-cli "^29.5.0"
+    jest-cli "^29.7.0"
 
 joi@^17.2.1:
-  version "17.9.2"
-  resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690"
-  integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==
+  version "17.11.0"
+  resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a"
+  integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==
   dependencies:
     "@hapi/hoek" "^9.0.0"
     "@hapi/topo" "^5.0.0"
@@ -6832,31 +6478,6 @@ jscodeshift@^0.11.0:
     temp "^0.8.1"
     write-file-atomic "^2.3.0"
 
-jscodeshift@^0.13.1:
-  version "0.13.1"
-  resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef"
-  integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==
-  dependencies:
-    "@babel/core" "^7.13.16"
-    "@babel/parser" "^7.13.16"
-    "@babel/plugin-proposal-class-properties" "^7.13.0"
-    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
-    "@babel/plugin-proposal-optional-chaining" "^7.13.12"
-    "@babel/plugin-transform-modules-commonjs" "^7.13.8"
-    "@babel/preset-flow" "^7.13.13"
-    "@babel/preset-typescript" "^7.13.0"
-    "@babel/register" "^7.13.16"
-    babel-core "^7.0.0-bridge.0"
-    chalk "^4.1.2"
-    flow-parser "0.*"
-    graceful-fs "^4.2.4"
-    micromatch "^3.1.10"
-    neo-async "^2.5.0"
-    node-dir "^0.1.17"
-    recast "^0.20.4"
-    temp "^0.8.4"
-    write-file-atomic "^2.3.0"
-
 jscodeshift@^0.14.0:
   version "0.14.0"
   resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881"
@@ -6925,6 +6546,11 @@ jsesc@~0.5.0:
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
   integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
 
+json-buffer@3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+  integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
 json-parse-better-errors@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -6952,7 +6578,7 @@ json-text-sequence@~0.3.0:
   dependencies:
     "@sovpro/delimited-stream" "^1.1.0"
 
-json5@^2.1.1, json5@^2.2.2:
+json5@^2.1.1, json5@^2.2.3:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -6974,12 +6600,21 @@ jsonfile@^6.0.1:
     graceful-fs "^4.1.6"
 
 "jsx-ast-utils@^2.4.1 || ^3.0.0":
-  version "3.3.3"
-  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
-  integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
+  version "3.3.5"
+  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
+  integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
+  dependencies:
+    array-includes "^3.1.6"
+    array.prototype.flat "^1.3.1"
+    object.assign "^4.1.4"
+    object.values "^1.1.6"
+
+keyv@^4.5.3:
+  version "4.5.4"
+  resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
+  integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
   dependencies:
-    array-includes "^3.1.5"
-    object.assign "^4.1.3"
+    json-buffer "3.0.1"
 
 kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
   version "3.2.2"
@@ -7036,18 +6671,10 @@ levn@^0.4.1:
     prelude-ls "^1.2.1"
     type-check "~0.4.0"
 
-levn@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
-  integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==
-  dependencies:
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-
 libphonenumber-js@^1.10.14:
-  version "1.10.34"
-  resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.34.tgz#63374bb988688ac28b03ed6c4b344d412199d56c"
-  integrity sha512-p6g4NaQH4gK1gre32+kV14Mk6GPo2EDcPDvjbi+D2ycsPFsN4gVWNbs0itdHLZqByg6YEK8mE7OeP200I/ScTQ==
+  version "1.10.47"
+  resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.47.tgz#1efdf08306960a222703e575e78eb76458944012"
+  integrity sha512-b4t7VQDV29xx/ni+58yl9KWPGjnDLDXCeCTLrD4V8vDpObXZRZBrg7uX/HWZ7YXiJKqdBDGgc+barUUTNB6Slw==
 
 lines-and-columns@^1.1.6:
   version "1.2.4"
@@ -7081,11 +6708,6 @@ lodash.debounce@^4.0.8:
   resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
   integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
 
-lodash.isequal@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
-  integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
-
 lodash.merge@^4.6.2:
   version "4.6.2"
   resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -7130,6 +6752,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
   dependencies:
     js-tokens "^3.0.0 || ^4.0.0"
 
+lower-case@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+  integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+  dependencies:
+    tslib "^2.0.3"
+
 lru-cache@^5.1.1:
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -7150,9 +6779,9 @@ lru_map@^0.4.1:
   integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==
 
 luxon@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.3.0.tgz#d73ab5b5d2b49a461c47cedbc7e73309b4805b48"
-  integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==
+  version "3.4.3"
+  resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.3.tgz#8ddf0358a9492267ffec6a13675fbaab5551315d"
+  integrity sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==
 
 make-dir@^2.0.0, make-dir@^2.1.0:
   version "2.1.0"
@@ -7162,13 +6791,20 @@ make-dir@^2.0.0, make-dir@^2.1.0:
     pify "^4.0.1"
     semver "^5.6.0"
 
-make-dir@^3.0.0, make-dir@^3.1.0:
+make-dir@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
   integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
   dependencies:
     semver "^6.0.0"
 
+make-dir@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
+  integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
+  dependencies:
+    semver "^7.5.3"
+
 make-error@^1.3.6:
   version "1.3.6"
   resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
@@ -7207,6 +6843,16 @@ mdn-data@2.0.14:
   resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
   integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
 
+mdn-data@2.0.28:
+  version "2.0.28"
+  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
+  integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
+
+mdn-data@2.0.30:
+  version "2.0.30"
+  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
+  integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
 memoize-one@^5.0.0:
   version "5.2.1"
   resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e"
@@ -7229,16 +6875,6 @@ merge2@^1.3.0, merge2@^1.4.1:
   resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
   integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
 
-metro-babel-transformer@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz#bec8aaaf1bbdc2e469fde586fde455f8b2a83073"
-  integrity sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA==
-  dependencies:
-    "@babel/core" "^7.20.0"
-    hermes-parser "0.8.0"
-    metro-source-map "0.73.9"
-    nullthrows "^1.1.1"
-
 metro-babel-transformer@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz#5efd1027353b36b73706164ef09c290dceac096a"
@@ -7248,24 +6884,11 @@ metro-babel-transformer@0.76.8:
     hermes-parser "0.12.0"
     nullthrows "^1.1.1"
 
-metro-cache-key@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.73.9.tgz#7d8c441a3b7150f7b201273087ef3cf7d3435d9f"
-  integrity sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ==
-
 metro-cache-key@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.76.8.tgz#8a0a5e991c06f56fcc584acadacb313c312bdc16"
   integrity sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==
 
-metro-cache@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.73.9.tgz#773c2df6ba53434e58ccbe421b0c54e6da8d2890"
-  integrity sha512-upiRxY8rrQkUWj7ieACD6tna7xXuXdu2ZqrheksT79ePI0aN/t0memf6WcyUtJUMHZetke3j+ppELNvlmp3tOw==
-  dependencies:
-    metro-core "0.73.9"
-    rimraf "^3.0.2"
-
 metro-cache@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.76.8.tgz#296c1c189db2053b89735a8f33dbe82575f53661"
@@ -7274,18 +6897,6 @@ metro-cache@0.76.8:
     metro-core "0.76.8"
     rimraf "^3.0.2"
 
-metro-config@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.73.9.tgz#6b43c70681bdd6b00f44400fc76dddbe53374500"
-  integrity sha512-NiWl1nkYtjqecDmw77tbRbXnzIAwdO6DXGZTuKSkH+H/c1NKq1eizO8Fe+NQyFtwR9YLqn8Q0WN1nmkwM1j8CA==
-  dependencies:
-    cosmiconfig "^5.0.5"
-    jest-validate "^26.5.2"
-    metro "0.73.9"
-    metro-cache "0.73.9"
-    metro-core "0.73.9"
-    metro-runtime "0.73.9"
-
 metro-config@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.76.8.tgz#20bd5397fcc6096f98d2a813a7cecb38b8af062d"
@@ -7299,14 +6910,6 @@ metro-config@0.76.8:
     metro-core "0.76.8"
     metro-runtime "0.76.8"
 
-metro-core@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.73.9.tgz#410c5c0aeae840536c10039f68098fdab3da568e"
-  integrity sha512-1NTs0IErlKcFTfYyRT3ljdgrISWpl1nys+gaHkXapzTSpvtX9F1NQNn5cgAuE+XIuTJhbsCdfIJiM2JXbrJQaQ==
-  dependencies:
-    lodash.throttle "^4.1.1"
-    metro-resolver "0.73.9"
-
 metro-core@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.76.8.tgz#917c8157c63406cb223522835abb8e7c6291dcad"
@@ -7315,27 +6918,6 @@ metro-core@0.76.8:
     lodash.throttle "^4.1.1"
     metro-resolver "0.76.8"
 
-metro-file-map@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.73.9.tgz#09c04a8e8ef1eaa6ecb2b9cb8cb53bb0fa0167ec"
-  integrity sha512-R/Wg3HYeQhYY3ehWtfedw8V0ne4lpufG7a21L3GWer8tafnC9pmjoCKEbJz9XZkVj9i1FtxE7UTbrtZNeIILxQ==
-  dependencies:
-    abort-controller "^3.0.0"
-    anymatch "^3.0.3"
-    debug "^2.2.0"
-    fb-watchman "^2.0.0"
-    graceful-fs "^4.2.4"
-    invariant "^2.2.4"
-    jest-regex-util "^27.0.6"
-    jest-serializer "^27.0.6"
-    jest-util "^27.2.0"
-    jest-worker "^27.2.0"
-    micromatch "^4.0.4"
-    nullthrows "^1.1.1"
-    walker "^1.0.7"
-  optionalDependencies:
-    fsevents "^2.3.2"
-
 metro-file-map@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.76.8.tgz#a1db1185b6c316904ba6b53d628e5d1323991d79"
@@ -7356,21 +6938,6 @@ metro-file-map@0.76.8:
   optionalDependencies:
     fsevents "^2.3.2"
 
-metro-hermes-compiler@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.73.9.tgz#6f473e67e8f76066066f00e2e0ecce865f7d445d"
-  integrity sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg==
-
-metro-inspector-proxy@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.73.9.tgz#8e11cd300adf3f904f1f5afe28b198312cdcd8c2"
-  integrity sha512-B3WrWZnlYhtTrv0IaX3aUAhi2qVILPAZQzb5paO1e+xrz4YZHk9c7dXv7qe7B/IQ132e3w46y3AL7rFo90qVjA==
-  dependencies:
-    connect "^3.6.5"
-    debug "^2.2.0"
-    ws "^7.5.1"
-    yargs "^17.5.1"
-
 metro-inspector-proxy@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz#6b8678a7461b0b42f913a7881cc9319b4d3cddff"
@@ -7382,13 +6949,6 @@ metro-inspector-proxy@0.76.8:
     ws "^7.5.1"
     yargs "^17.6.2"
 
-metro-minify-terser@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.73.9.tgz#301aef2e106b0802f7a14ef0f2b4883b20c80018"
-  integrity sha512-MTGPu2qV5qtzPJ2SqH6s58awHDtZ4jd7lmmLR+7TXDwtZDjIBA0YVfI0Zak2Haby2SqoNKrhhUns/b4dPAQAVg==
-  dependencies:
-    terser "^5.15.0"
-
 metro-minify-terser@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz#915ab4d1419257fc6a0b9fa15827b83fe69814bf"
@@ -7396,13 +6956,6 @@ metro-minify-terser@0.76.8:
   dependencies:
     terser "^5.15.0"
 
-metro-minify-uglify@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.73.9.tgz#cf4f8c19b688deea103905689ec736c2f2acd733"
-  integrity sha512-gzxD/7WjYcnCNGiFJaA26z34rjOp+c/Ft++194Wg91lYep3TeWQ0CnH8t2HRS7AYDHU81SGWgvD3U7WV0g4LGA==
-  dependencies:
-    uglify-es "^3.1.9"
-
 metro-minify-uglify@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz#74745045ea2dd29f8783db483b2fce58385ba695"
@@ -7499,19 +7052,6 @@ metro-react-native-babel-preset@0.76.8:
     babel-plugin-transform-flow-enums "^0.0.2"
     react-refresh "^0.4.0"
 
-metro-react-native-babel-transformer@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz#4f4f0cfa5119bab8b53e722fabaf90687d0cbff0"
-  integrity sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ==
-  dependencies:
-    "@babel/core" "^7.20.0"
-    babel-preset-fbjs "^3.4.0"
-    hermes-parser "0.8.0"
-    metro-babel-transformer "0.73.9"
-    metro-react-native-babel-preset "0.73.9"
-    metro-source-map "0.73.9"
-    nullthrows "^1.1.1"
-
 metro-react-native-babel-transformer@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz#c3a98e1f4cd5faf1e21eba8e004b94a90c4db69b"
@@ -7523,26 +7063,11 @@ metro-react-native-babel-transformer@0.76.8:
     metro-react-native-babel-preset "0.76.8"
     nullthrows "^1.1.1"
 
-metro-resolver@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.73.9.tgz#f3cf77e6c7606a34aa81bad40edb856aad671cf3"
-  integrity sha512-Ej3wAPOeNRPDnJmkK0zk7vJ33iU07n+oPhpcf5L0NFkWneMmSM2bflMPibI86UjzZGmRfn0AhGhs8yGeBwQ/Xg==
-  dependencies:
-    absolute-path "^0.0.0"
-
 metro-resolver@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.8.tgz#0862755b9b84e26853978322464fb37c6fdad76d"
   integrity sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==
 
-metro-runtime@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.73.9.tgz#0b24c0b066b8629ee855a6e5035b65061fef60d5"
-  integrity sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg==
-  dependencies:
-    "@babel/runtime" "^7.0.0"
-    react-refresh "^0.4.0"
-
 metro-runtime@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.76.8.tgz#74b2d301a2be5f3bbde91b8f1312106f8ffe50c3"
@@ -7551,20 +7076,6 @@ metro-runtime@0.76.8:
     "@babel/runtime" "^7.0.0"
     react-refresh "^0.4.0"
 
-metro-source-map@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.73.9.tgz#89ca41f6346aeb12f7f23496fa363e520adafebe"
-  integrity sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ==
-  dependencies:
-    "@babel/traverse" "^7.20.0"
-    "@babel/types" "^7.20.0"
-    invariant "^2.2.4"
-    metro-symbolicate "0.73.9"
-    nullthrows "^1.1.1"
-    ob1 "0.73.9"
-    source-map "^0.5.6"
-    vlq "^1.0.0"
-
 metro-source-map@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.76.8.tgz#f085800152a6ba0b41ca26833874d31ec36c5a53"
@@ -7579,18 +7090,6 @@ metro-source-map@0.76.8:
     source-map "^0.5.6"
     vlq "^1.0.0"
 
-metro-symbolicate@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz#cb452299a36e5b86b2826e7426d51221635c48bf"
-  integrity sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw==
-  dependencies:
-    invariant "^2.2.4"
-    metro-source-map "0.73.9"
-    nullthrows "^1.1.1"
-    source-map "^0.5.6"
-    through2 "^2.0.1"
-    vlq "^1.0.0"
-
 metro-symbolicate@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz#f102ac1a306d51597ecc8fdf961c0a88bddbca03"
@@ -7603,45 +7102,15 @@ metro-symbolicate@0.76.8:
     through2 "^2.0.1"
     vlq "^1.0.0"
 
-metro-transform-plugins@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.73.9.tgz#9fffbe1b24269e3d114286fa681abc570072d9b8"
-  integrity sha512-r9NeiqMngmooX2VOKLJVQrMuV7PAydbqst5bFhdVBPcFpZkxxqyzjzo+kzrszGy2UpSQBZr2P1L6OMjLHwQwfQ==
-  dependencies:
-    "@babel/core" "^7.20.0"
-    "@babel/generator" "^7.20.0"
-    "@babel/template" "^7.0.0"
-    "@babel/traverse" "^7.20.0"
-    nullthrows "^1.1.1"
-
 metro-transform-plugins@0.76.8:
-  version "0.76.8"
-  resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz#d77c28a6547a8e3b72250f740fcfbd7f5408f8ba"
-  integrity sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==
-  dependencies:
-    "@babel/core" "^7.20.0"
-    "@babel/generator" "^7.20.0"
-    "@babel/template" "^7.0.0"
-    "@babel/traverse" "^7.20.0"
-    nullthrows "^1.1.1"
-
-metro-transform-worker@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.73.9.tgz#30384cef2d5e35a4abe91b15bf1a8344f5720441"
-  integrity sha512-Rq4b489sIaTUENA+WCvtu9yvlT/C6zFMWhU4sq+97W29Zj0mPBjdk+qGT5n1ZBgtBIJzZWt1KxeYuc17f4aYtQ==
+  version "0.76.8"
+  resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz#d77c28a6547a8e3b72250f740fcfbd7f5408f8ba"
+  integrity sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==
   dependencies:
     "@babel/core" "^7.20.0"
     "@babel/generator" "^7.20.0"
-    "@babel/parser" "^7.20.0"
-    "@babel/types" "^7.20.0"
-    babel-preset-fbjs "^3.4.0"
-    metro "0.73.9"
-    metro-babel-transformer "0.73.9"
-    metro-cache "0.73.9"
-    metro-cache-key "0.73.9"
-    metro-hermes-compiler "0.73.9"
-    metro-source-map "0.73.9"
-    metro-transform-plugins "0.73.9"
+    "@babel/template" "^7.0.0"
+    "@babel/traverse" "^7.20.0"
     nullthrows "^1.1.1"
 
 metro-transform-worker@0.76.8:
@@ -7662,62 +7131,6 @@ metro-transform-worker@0.76.8:
     metro-transform-plugins "0.76.8"
     nullthrows "^1.1.1"
 
-metro@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/metro/-/metro-0.73.9.tgz#150e69a6735fab0bcb4f6ee97fd1efc65b3ec36f"
-  integrity sha512-BlYbPmTF60hpetyNdKhdvi57dSqutb+/oK0u3ni4emIh78PiI0axGo7RfdsZ/mn3saASXc94tDbpC5yn7+NpEg==
-  dependencies:
-    "@babel/code-frame" "^7.0.0"
-    "@babel/core" "^7.20.0"
-    "@babel/generator" "^7.20.0"
-    "@babel/parser" "^7.20.0"
-    "@babel/template" "^7.0.0"
-    "@babel/traverse" "^7.20.0"
-    "@babel/types" "^7.20.0"
-    absolute-path "^0.0.0"
-    accepts "^1.3.7"
-    async "^3.2.2"
-    chalk "^4.0.0"
-    ci-info "^2.0.0"
-    connect "^3.6.5"
-    debug "^2.2.0"
-    denodeify "^1.2.1"
-    error-stack-parser "^2.0.6"
-    graceful-fs "^4.2.4"
-    hermes-parser "0.8.0"
-    image-size "^0.6.0"
-    invariant "^2.2.4"
-    jest-worker "^27.2.0"
-    lodash.throttle "^4.1.1"
-    metro-babel-transformer "0.73.9"
-    metro-cache "0.73.9"
-    metro-cache-key "0.73.9"
-    metro-config "0.73.9"
-    metro-core "0.73.9"
-    metro-file-map "0.73.9"
-    metro-hermes-compiler "0.73.9"
-    metro-inspector-proxy "0.73.9"
-    metro-minify-terser "0.73.9"
-    metro-minify-uglify "0.73.9"
-    metro-react-native-babel-preset "0.73.9"
-    metro-resolver "0.73.9"
-    metro-runtime "0.73.9"
-    metro-source-map "0.73.9"
-    metro-symbolicate "0.73.9"
-    metro-transform-plugins "0.73.9"
-    metro-transform-worker "0.73.9"
-    mime-types "^2.1.27"
-    node-fetch "^2.2.0"
-    nullthrows "^1.1.1"
-    rimraf "^3.0.2"
-    serialize-error "^2.1.0"
-    source-map "^0.5.6"
-    strip-ansi "^6.0.0"
-    temp "0.8.3"
-    throat "^5.0.0"
-    ws "^7.5.1"
-    yargs "^17.5.1"
-
 metro@0.76.8:
   version "0.76.8"
   resolved "https://registry.yarnpkg.com/metro/-/metro-0.76.8.tgz#ba526808b99977ca3f9ac5a7432fd02a340d13a6"
@@ -7836,6 +7249,11 @@ mimic-response@^3.1.0:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
   integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
 
+min-indent@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
+  integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
 minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -7913,9 +7331,9 @@ mobx-react@^7.6.0:
     mobx-react-lite "^3.4.0"
 
 mobx@^6.9.0:
-  version "6.9.0"
-  resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.9.0.tgz#8a894c26417c05bed2cf7499322e589ee9787397"
-  integrity sha512-HdKewQEREEJgsWnErClfbFoVebze6rGazxFLU/XUyrII8dORfVszN1V0BMRnQSzcgsNNtkX8DHj3nC6cdWE9YQ==
+  version "6.10.2"
+  resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.10.2.tgz#96e123deef140750360ca9a5b02a8b91fbffd4d9"
+  integrity sha512-B1UGC3ieK3boCjnMEcZSwxqRDMdzX65H/8zOHbuTY8ZhvrIjTUoLRR2TP2bPqIgYRfb3+dUigu8yMZufNjn0LQ==
 
 ms@2.0.0:
   version "2.0.0"
@@ -7938,9 +7356,9 @@ msrcrypto@^1.5.6:
   integrity sha512-ujZ0TRuozHKKm6eGbKHfXef7f+esIhEckmThVnz7RNyiOJd7a6MXj2JGBoL9cnPDW+JMG16MoTUh5X+XXjI66Q==
 
 nan@^2.17.0:
-  version "2.17.0"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
-  integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
+  version "2.18.0"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
+  integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
 
 nanoid@^3.1.23:
   version "3.3.6"
@@ -7989,10 +7407,13 @@ neo-async@^2.5.0:
   resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
 
-nice-try@^1.0.4:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
-  integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+no-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+  integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+  dependencies:
+    lower-case "^2.0.2"
+    tslib "^2.0.3"
 
 nocache@^3.0.1:
   version "3.0.4"
@@ -8000,9 +7421,9 @@ nocache@^3.0.1:
   integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==
 
 node-abi@^3.3.0:
-  version "3.47.0"
-  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8"
-  integrity sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==
+  version "3.50.0"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.50.0.tgz#bbee6943c8812d20e241539854d7b8003404d917"
+  integrity sha512-2Gxu7Eq7vnBIRfYSmqPruEllMM14FjOQFJSoqdGWthVn+tmwEXzmdPpya6cvvwf0uZA3F5N1fMFr9mijZBplFA==
   dependencies:
     semver "^7.3.5"
 
@@ -8026,14 +7447,7 @@ node-fetch@3.0.0-beta.9:
     data-uri-to-buffer "^3.0.1"
     fetch-blob "^2.1.1"
 
-node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.11, node-fetch@^2.6.7:
-  version "2.6.11"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25"
-  integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==
-  dependencies:
-    whatwg-url "^5.0.0"
-
-node-fetch@^2.6.9:
+node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.6.9:
   version "2.7.0"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
   integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
@@ -8050,10 +7464,10 @@ node-machine-id@^1.1.12:
   resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267"
   integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==
 
-node-releases@^2.0.12:
-  version "2.0.12"
-  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039"
-  integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==
+node-releases@^2.0.13:
+  version "2.0.13"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
+  integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
 
 node-stream-zip@^1.9.1:
   version "1.15.0"
@@ -8077,13 +7491,6 @@ normalize-path@^3.0.0:
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
   integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
 
-npm-run-path@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
-  integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
-  dependencies:
-    path-key "^2.0.0"
-
 npm-run-path@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
@@ -8114,14 +7521,9 @@ nullthrows@^1.1.1:
   integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
 
 nwsapi@^2.2.0:
-  version "2.2.5"
-  resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.5.tgz#a52744c61b3889dd44b0a158687add39b8d935e2"
-  integrity sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==
-
-ob1@0.73.9:
-  version "0.73.9"
-  resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.73.9.tgz#d5677a0dd3e2f16ad84231278d79424436c38c59"
-  integrity sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==
+  version "2.2.7"
+  resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
+  integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
 
 ob1@0.76.8:
   version "0.76.8"
@@ -8143,9 +7545,9 @@ object-copy@^0.1.0:
     kind-of "^3.0.3"
 
 object-inspect@^1.10.3, object-inspect@^1.12.3, object-inspect@^1.9.0:
-  version "1.12.3"
-  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
-  integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
+  version "1.13.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.0.tgz#42695d3879e1cd5bda6df5062164d80c996e23e2"
+  integrity sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==
 
 object-keys@^1.1.1:
   version "1.1.1"
@@ -8159,7 +7561,7 @@ object-visit@^1.0.0:
   dependencies:
     isobject "^3.0.0"
 
-object.assign@^4.1.3, object.assign@^4.1.4:
+object.assign@^4.1.4:
   version "4.1.4"
   resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
   integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
@@ -8170,30 +7572,30 @@ object.assign@^4.1.3, object.assign@^4.1.4:
     object-keys "^1.1.1"
 
 object.entries@^1.1.6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23"
-  integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131"
+  integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
 object.fromentries@^2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
-  integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616"
+  integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
 object.hasown@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92"
-  integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae"
+  integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==
   dependencies:
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
 object.pick@^1.3.0:
   version "1.3.0"
@@ -8203,13 +7605,13 @@ object.pick@^1.3.0:
     isobject "^3.0.1"
 
 object.values@^1.1.6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
-  integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a"
+  integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
 on-finished@2.4.1:
   version "2.4.1"
@@ -8251,29 +7653,17 @@ open@^6.2.0:
   dependencies:
     is-wsl "^1.1.0"
 
-optionator@^0.8.1:
-  version "0.8.3"
-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
-  integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
-  dependencies:
-    deep-is "~0.1.3"
-    fast-levenshtein "~2.0.6"
-    levn "~0.3.0"
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-    word-wrap "~1.2.3"
-
-optionator@^0.9.1:
-  version "0.9.1"
-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
-  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+optionator@^0.9.3:
+  version "0.9.3"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
+  integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
   dependencies:
+    "@aashutoshrathi/word-wrap" "^1.2.3"
     deep-is "^0.1.3"
     fast-levenshtein "^2.0.6"
     levn "^0.4.1"
     prelude-ls "^1.2.1"
     type-check "^0.4.0"
-    word-wrap "^1.2.3"
 
 ora@^5.4.1:
   version "5.4.1"
@@ -8290,16 +7680,6 @@ ora@^5.4.1:
     strip-ansi "^6.0.0"
     wcwidth "^1.0.1"
 
-os-tmpdir@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-  integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
-
-p-finally@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
-  integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
-
 p-limit@^2.0.0, p-limit@^2.2.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -8355,7 +7735,7 @@ parse-json@^4.0.0:
     error-ex "^1.3.1"
     json-parse-better-errors "^1.0.1"
 
-parse-json@^5.0.0, parse-json@^5.2.0:
+parse-json@^5.2.0:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
   integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -8400,11 +7780,6 @@ path-is-absolute@^1.0.0:
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
   integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
 
-path-key@^2.0.0, path-key@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-  integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
-
 path-key@^3.0.0, path-key@^3.1.0:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
@@ -8441,9 +7816,9 @@ pify@^4.0.1:
   integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
 
 pirates@^4.0.4, pirates@^4.0.5:
-  version "4.0.5"
-  resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
-  integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
+  version "4.0.6"
+  resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
+  integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
 
 pkg-dir@^3.0.0:
   version "3.0.0"
@@ -8504,11 +7879,6 @@ prelude-ls@^1.2.1:
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
   integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
 
-prelude-ls@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-  integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-
 prettier-linter-helpers@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
@@ -8531,16 +7901,7 @@ pretty-format@^26.5.2, pretty-format@^26.6.2:
     ansi-styles "^4.0.0"
     react-is "^17.0.1"
 
-pretty-format@^29.0.0, pretty-format@^29.5.0:
-  version "29.5.0"
-  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a"
-  integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==
-  dependencies:
-    "@jest/schemas" "^29.4.3"
-    ansi-styles "^5.0.0"
-    react-is "^18.0.0"
-
-pretty-format@^29.7.0:
+pretty-format@^29.0.0, pretty-format@^29.6.2, pretty-format@^29.7.0:
   version "29.7.0"
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812"
   integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
@@ -8569,7 +7930,7 @@ prompts@^2.0.1, prompts@^2.4.0:
     kleur "^3.0.3"
     sisteransi "^1.0.5"
 
-prop-types@*, prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.7.2, prop-types@^15.8.0, prop-types@^15.8.1:
+prop-types@*, prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.0, prop-types@^15.8.1:
   version "15.8.1"
   resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
   integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -8579,9 +7940,9 @@ prop-types@*, prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.7.2, prop-
     react-is "^16.13.1"
 
 protobufjs@^6.10.1:
-  version "6.11.3"
-  resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74"
-  integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==
+  version "6.11.4"
+  resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa"
+  integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==
   dependencies:
     "@protobufjs/aspromise" "^1.1.2"
     "@protobufjs/base64" "^1.1.2"
@@ -8616,16 +7977,16 @@ punycode@^2.1.0, punycode@^2.1.1:
   integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
 
 pure-rand@^6.0.0:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306"
-  integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==
+  version "6.0.4"
+  resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7"
+  integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==
 
 pvtsutils@^1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.2.tgz#9f8570d132cdd3c27ab7d51a2799239bf8d8d5de"
-  integrity sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==
+  version "1.3.5"
+  resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910"
+  integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==
   dependencies:
-    tslib "^2.4.0"
+    tslib "^2.6.1"
 
 pvutils@^1.1.3:
   version "1.1.3"
@@ -8709,18 +8070,10 @@ rc@^1.2.7:
     minimist "^1.2.0"
     strip-json-comments "~2.0.1"
 
-react-devtools-core@^4.26.1:
-  version "4.27.8"
-  resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.27.8.tgz#b7b387b079c14ae9a214d4846a402da2b6efd164"
-  integrity sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==
-  dependencies:
-    shell-quote "^1.6.1"
-    ws "^7"
-
 react-devtools-core@^4.27.2:
-  version "4.28.0"
-  resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.0.tgz#3fa18709b24414adddadac33b6b9cea96db60f2f"
-  integrity sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==
+  version "4.28.4"
+  resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.4.tgz#fb8183eada77093f4c2f9830e664bf22255abe27"
+  integrity sha512-IUZKLv3CimeM07G3vX4H4loxVpByrzq3HvfTX7v9migalwvLs9ZY5D3S3pKR33U+GguYfBBdMMZyToFhsSE/iQ==
   dependencies:
     shell-quote "^1.6.1"
     ws "^7"
@@ -8773,6 +8126,13 @@ react-native-biometrics@^3.0.1:
   resolved "https://registry.yarnpkg.com/react-native-biometrics/-/react-native-biometrics-3.0.1.tgz#23c5a0bdbae1fcb1e08b22936223fe0fc4af846e"
   integrity sha512-Ru80gXRa9KG04sl5AB9HyjLjVbduhqZVjA+AiOSGqr+fNqCDmCu9y5WEksnjbnniNLmq1yGcw+qcLXmR1ddLDQ==
 
+react-native-camera@^3.31.1:
+  version "3.44.3"
+  resolved "https://registry.yarnpkg.com/react-native-camera/-/react-native-camera-3.44.3.tgz#f8f35f2484e508b0694dee54a8801a1e0833d851"
+  integrity sha512-Efb5aKhFsE7qnqvTnbSEwFAom79L5BT4jMn+B2wYVUnZeRgWh45gNSG7Ou3MQ6zU2DpUHBPlBFKGVS5yOSfSZQ==
+  dependencies:
+    prop-types "^15.6.2"
+
 react-native-codegen@^0.0.7:
   version "0.0.7"
   resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.7.tgz#86651c5c5fec67a8077ef7f4e36f7ed459043e14"
@@ -8782,16 +8142,6 @@ react-native-codegen@^0.0.7:
     jscodeshift "^0.11.0"
     nullthrows "^1.1.1"
 
-react-native-codegen@^0.71.5:
-  version "0.71.5"
-  resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.71.5.tgz#454a42a891cd4ca5fc436440d301044dc1349c14"
-  integrity sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==
-  dependencies:
-    "@babel/parser" "^7.14.0"
-    flow-parser "^0.185.0"
-    jscodeshift "^0.13.1"
-    nullthrows "^1.1.1"
-
 react-native-collapsible@^1.6.0:
   version "1.6.1"
   resolved "https://registry.yarnpkg.com/react-native-collapsible/-/react-native-collapsible-1.6.1.tgz#27e289831a6955aebde98abff2424a7710f36f02"
@@ -8803,9 +8153,9 @@ react-native-config@^1.5.1:
   integrity sha512-g1xNgt1tV95FCX+iWz6YJonxXkQX0GdD3fB8xQtR1GUBEqweB9zMROW77gi2TygmYmUkBI7LU4pES+zcTyK4HA==
 
 react-native-device-info@^10.6.0:
-  version "10.6.0"
-  resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-10.6.0.tgz#51f1b2ec98abc32747149b0a5b7fb662b44d50e4"
-  integrity sha512-/MmINdojWdw2/9rwYpH/dX+1gFP0o78p8yYPjwxiPhoySSL2rZaNi+Mq9VwC+zFi/yQmJUvHntkKSw2KUc7rFw==
+  version "10.11.0"
+  resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-10.11.0.tgz#2c9f378f1c3c5eb9aafa803d015b84325991a9aa"
+  integrity sha512-qRzhuYOm5ZXQi5dhfJFjDq157oipxcEW/fo0QyMm5+TI6V6/+P/tju+Hif6z0rpLCf7MV7iDVRv2Kqha4D/yvQ==
 
 react-native-document-picker@^9.0.1:
   version "9.0.1"
@@ -8828,9 +8178,9 @@ react-native-fs@^2.20.0:
     utf8 "^3.0.0"
 
 react-native-gesture-handler@^2.11.0:
-  version "2.11.0"
-  resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.11.0.tgz#cc325430369030ec420d3d455eb2ea2e3fe2c27a"
-  integrity sha512-qiGS2HFnuxxA067kcC4PHfp5hzB8pn6K9UqI5kdkM48DLkzv3vUJptdPlffRSvUJggsfwIyAMYVM+xM4sxg2/A==
+  version "2.13.2"
+  resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.13.2.tgz#06813c250922db258ce4ee255f757e7ef32a3ae0"
+  integrity sha512-EADHg1cFunvu47lyzlqCJQluQxUIGZwDpdq2GEBXxFmH8AWTI2ofurio5doWnFR+dLVEjaLAzI/dU2xQjP0/pA==
   dependencies:
     "@egjs/hammerjs" "^2.0.17"
     hoist-non-react-statics "^3.3.0"
@@ -8851,14 +8201,14 @@ react-native-gradle-plugin@^0.71.19:
   integrity sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==
 
 react-native-keychain@^8.1.1:
-  version "8.1.1"
-  resolved "https://registry.yarnpkg.com/react-native-keychain/-/react-native-keychain-8.1.1.tgz#3bb5e37946b964a7bcf7df2fe470dd244e01a340"
-  integrity sha512-8fxgeHKwGcL657eAYpdBTkDIxNhbIHI+kyyO0Yac2dgVAN184JoIwQcW2z6snahwDaCObQOu0biLFHnsH+4KSg==
+  version "8.1.2"
+  resolved "https://registry.yarnpkg.com/react-native-keychain/-/react-native-keychain-8.1.2.tgz#34291ae472878e5124d081211af5ede7d810e64f"
+  integrity sha512-bhHEui+yMp3Us41NMoRGtnWEJiBE0g8tw5VFpq4mpmXAx6XJYahuM6K3WN5CsUeUl83hYysSL9oFZNKSTPSvYw==
 
 react-native-localize@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/react-native-localize/-/react-native-localize-3.0.0.tgz#41536e8aca8a148fd96d495d3d5cf710e25b2855"
-  integrity sha512-B8taYRLuLIYDzBTKIglA3K6ntjaEwbk6mwQ72ogZYl5ovM00NnpbiZ3sRq8KRVe/V1NGczxT33uVqG6BUWGWhg==
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/react-native-localize/-/react-native-localize-3.0.2.tgz#43fa75c0097dbdb24a54ff320b3c8ad732407365"
+  integrity sha512-/l/oE1LVNgIRRhLbhmfFMHiWV0xhUn0A0iz1ytLVRYywL7FTp8Rx2vkJS/q/RpExDvV7yLw2493XZBYIM1dnLQ==
 
 react-native-modal-popover@^2.0.1:
   version "2.1.3"
@@ -8876,17 +8226,15 @@ react-native-qrcode-svg@^6.2.0:
     prop-types "^15.8.0"
     qrcode "^1.5.1"
 
-react-native-reanimated@^2.17.0:
-  version "2.17.0"
-  resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.17.0.tgz#eae2308235961cdd79810e01dfdd7e88b1ae5b5c"
-  integrity sha512-bVy+FUEaHXq4i+aPPqzGeor1rG4scgVNBbBz21ohvC7iMpB9IIgvGsmy1FAoodZhZ5sa3EPF67Rcec76F1PXlQ==
+react-native-reanimated@^3.5.4:
+  version "3.5.4"
+  resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.5.4.tgz#a6c2b0c43b6dad246f5d276213974afedb8e3fc7"
+  integrity sha512-8we9LLDO1o4Oj9/DICeEJ2K1tjfqkJagqQUglxeUAkol/HcEJ6PGxIrpBcNryLqCDYEcu6FZWld/FzizBIw6bg==
   dependencies:
     "@babel/plugin-transform-object-assign" "^7.16.7"
     "@babel/preset-typescript" "^7.16.7"
+    convert-source-map "^2.0.0"
     invariant "^2.2.4"
-    lodash.isequal "^4.5.0"
-    setimmediate "^1.0.5"
-    string-hash-64 "^1.0.3"
 
 react-native-render-html@^6.3.4:
   version "6.3.4"
@@ -8909,14 +8257,14 @@ react-native-rsa-native@^2.0.5:
   integrity sha512-gwwvFSwGW5WKrpDyBQ/eTf1UrVABeAvMcT4YWemzPSUo6aHZs1kbBm2rXmwN5okhUzJsry5zjjz/qdx5GXRugQ==
 
 react-native-safe-area-context@^4.5.3:
-  version "4.5.3"
-  resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.5.3.tgz#e98eb1a73a6b3846d296545fe74760754dbaaa69"
-  integrity sha512-ihYeGDEBSkYH+1aWnadNhVtclhppVgd/c0tm4mj0+HV11FoiWJ8N6ocnnZnRLvM5Fxc+hUqxR9bm5AXU3rXiyA==
+  version "4.7.2"
+  resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.7.2.tgz#1673aa99b6a9235e7faaf5a248e69795d6e54e07"
+  integrity sha512-5fy/hRNJ7bI/U2SliOeKf0D80J4lXPc1NsRiNS7Xaz8YTnqlzWib1ViItkwKPfufe54YKzVBMmM32RpdzvO2gg==
 
 react-native-screens@^3.20.0:
-  version "3.20.0"
-  resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.20.0.tgz#4d154177395e5541387d9a05bc2e12e54d2fb5b1"
-  integrity sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg==
+  version "3.25.0"
+  resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.25.0.tgz#cf45e271ce733c9cf782fef8c9b3eb9e53faf01d"
+  integrity sha512-TSC2Ad0hh763I8QT6XxMsPXAagQ+RawDSdFtKRvIz9fCYr96AjRwwaqmYivbqlDywOgcRBkIVynkFtp0ThmlYw==
   dependencies:
     react-freeze "^1.0.0"
     warn-once "^0.1.0"
@@ -8946,18 +8294,19 @@ react-native-splash-screen@^3.3.0:
   integrity sha512-rGjt6HkoSXxMqH4SQUJ1gnPQlPJV8+J47+4yhgTIan4bVvAwJhEeJH7wWt9hXSdH4+VfwTS0GTaflj1Tw83IhA==
 
 react-native-svg-transformer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/react-native-svg-transformer/-/react-native-svg-transformer-1.0.0.tgz#7a707e5e95d20321b5f3dcfd0c3c8762ebd0221b"
-  integrity sha512-ALHU5VvLLyKM/BvyEG7VYJmqglvaXtU7mGRCxrEwwpJO/GBf1ZMUzc4AeJAjSodj7yYtlDYRxNSt9ySWpaa6JQ==
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/react-native-svg-transformer/-/react-native-svg-transformer-1.1.0.tgz#2032bc766e20533af8aec81df49c218f08d4dbbd"
+  integrity sha512-I/yIxryg7FH5DKAvKHL0VsOfARHPkXdgIl0AUhndWpQzUYgpFs+kJcCP7XoZR+gn0t36JE+q9f4x3p/arZFx5g==
   dependencies:
-    "@svgr/core" "^6.1.2"
-    "@svgr/plugin-svgo" "^6.1.2"
+    "@svgr/core" "^8.0.0"
+    "@svgr/plugin-jsx" "^8.0.1"
+    "@svgr/plugin-svgo" "^8.0.1"
     path-dirname "^1.0.2"
 
 react-native-svg@^13.9.0:
-  version "13.9.0"
-  resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-13.9.0.tgz#8df8a690dd00362601f074dec5d3a86dd0f99c7f"
-  integrity sha512-Ey18POH0dA0ob/QiwCBVrxIiwflhYuw0P0hBlOHeY4J5cdbs8ngdKHeWC/Kt9+ryP6fNoEQ1PUgPYw2Bs/rp5Q==
+  version "13.14.0"
+  resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-13.14.0.tgz#879930cfe10e877e51ebb77dfcc2cd65fc6b0d21"
+  integrity sha512-27ZnxUkHgWICimhuj6MuqBkISN53lVvgWJB7pIypjXysAyM+nqgQBPh4vXg+7MbqLBoYvR4PiBgKfwwGAqVxHg==
   dependencies:
     css-select "^5.1.0"
     css-tree "^1.1.3"
@@ -8987,55 +8336,52 @@ react-native-vector-icons@^9.2.0:
     prop-types "^15.7.2"
     yargs "^16.1.1"
 
-react-native-vision-camera@^2.15.4:
-  version "2.15.4"
-  resolved "https://registry.yarnpkg.com/react-native-vision-camera/-/react-native-vision-camera-2.15.4.tgz#821f0505fc8c63b87c1ae4697d2bb4f670333576"
-  integrity sha512-SJXSWH1pu4V3Kj4UuX/vSgOxc9d5wb5+nHqBHd+5iUtVyVLEp0F6Jbbaha7tDoU+kUBwonhlwr2o8oV6NZ7Ibg==
-
-react-native@0.71.10:
-  version "0.71.10"
-  resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.71.10.tgz#4294d289b4226a3f35bd627bb157fc1f18395d58"
-  integrity sha512-O+sWH9ln7euxhHdooVL8is2FiVc7CfAp2zsKgIRhbq/8lGbJr5ZyT6QkCQK0M8Sx1zNe9puebr+BE8uBFsartg==
+react-native@0.72.5:
+  version "0.72.5"
+  resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.72.5.tgz#2c343fa6f3ead362cf07376634a33a4078864357"
+  integrity sha512-oIewslu5DBwOmo7x5rdzZlZXCqDIna0R4dUwVpfmVteORYLr4yaZo5wQnMeR+H7x54GaMhmgeqp0ZpULtulJFg==
   dependencies:
     "@jest/create-cache-key-function" "^29.2.1"
-    "@react-native-community/cli" "10.2.2"
-    "@react-native-community/cli-platform-android" "10.2.0"
-    "@react-native-community/cli-platform-ios" "10.2.1"
-    "@react-native/assets" "1.0.0"
-    "@react-native/normalize-color" "2.1.0"
-    "@react-native/polyfills" "2.0.0"
+    "@react-native-community/cli" "11.3.7"
+    "@react-native-community/cli-platform-android" "11.3.7"
+    "@react-native-community/cli-platform-ios" "11.3.7"
+    "@react-native/assets-registry" "^0.72.0"
+    "@react-native/codegen" "^0.72.7"
+    "@react-native/gradle-plugin" "^0.72.11"
+    "@react-native/js-polyfills" "^0.72.1"
+    "@react-native/normalize-colors" "^0.72.0"
+    "@react-native/virtualized-lists" "^0.72.8"
     abort-controller "^3.0.0"
     anser "^1.4.9"
     base64-js "^1.1.2"
-    deprecated-react-native-prop-types "^3.0.1"
+    deprecated-react-native-prop-types "4.1.0"
     event-target-shim "^5.0.1"
+    flow-enums-runtime "^0.0.5"
     invariant "^2.2.4"
     jest-environment-node "^29.2.1"
     jsc-android "^250231.0.0"
     memoize-one "^5.0.0"
-    metro-react-native-babel-transformer "0.73.9"
-    metro-runtime "0.73.9"
-    metro-source-map "0.73.9"
+    metro-runtime "0.76.8"
+    metro-source-map "0.76.8"
     mkdirp "^0.5.1"
     nullthrows "^1.1.1"
     pretty-format "^26.5.2"
     promise "^8.3.0"
-    react-devtools-core "^4.26.1"
-    react-native-codegen "^0.71.5"
-    react-native-gradle-plugin "^0.71.19"
+    react-devtools-core "^4.27.2"
     react-refresh "^0.4.0"
     react-shallow-renderer "^16.15.0"
     regenerator-runtime "^0.13.2"
-    scheduler "^0.23.0"
-    stacktrace-parser "^0.1.3"
+    scheduler "0.24.0-canary-efb381bbf-20230505"
+    stacktrace-parser "^0.1.10"
     use-sync-external-store "^1.0.0"
     whatwg-fetch "^3.0.0"
     ws "^6.2.2"
+    yargs "^17.6.2"
 
 react-native@>=0.68:
-  version "0.72.5"
-  resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.72.5.tgz#2c343fa6f3ead362cf07376634a33a4078864357"
-  integrity sha512-oIewslu5DBwOmo7x5rdzZlZXCqDIna0R4dUwVpfmVteORYLr4yaZo5wQnMeR+H7x54GaMhmgeqp0ZpULtulJFg==
+  version "0.72.6"
+  resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.72.6.tgz#9f8d090694907e2f83af22e115cc0e4a3d5fa626"
+  integrity sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A==
   dependencies:
     "@jest/create-cache-key-function" "^29.2.1"
     "@react-native-community/cli" "11.3.7"
@@ -9131,9 +8477,9 @@ readline@^1.3.0:
   integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==
 
 realm@^12.2.0:
-  version "12.2.0"
-  resolved "https://registry.yarnpkg.com/realm/-/realm-12.2.0.tgz#a1758b5051bb6996bce90492cf94b6030ca7950d"
-  integrity sha512-4MFmWWl5eARaU0toMGX6cjgSX53/4jLNoHyc3UN30bXoTPKw3JVAsL070GM+Ywuhl4D5ubFZOU4y+x+r9vDgew==
+  version "12.2.1"
+  resolved "https://registry.yarnpkg.com/realm/-/realm-12.2.1.tgz#1a87bd36b38704223df6db5953898f7f0941cf83"
+  integrity sha512-r9lB5S3FiqS2QZmxRvwt8cRLAx/g8KGotz5neV/ky1AhG9b7FtqTwLyJwhVLjkstnV8j40GaY0xMjuAbURINDg==
   dependencies:
     bson "^4.7.2"
     debug "^4.3.4"
@@ -9141,7 +8487,7 @@ realm@^12.2.0:
     node-machine-id "^1.1.12"
     prebuild-install "^7.1.1"
 
-recast@^0.20.3, recast@^0.20.4:
+recast@^0.20.3:
   version "0.20.5"
   resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae"
   integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==
@@ -9161,15 +8507,35 @@ recast@^0.21.0:
     source-map "~0.6.1"
     tslib "^2.0.1"
 
+redent@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+  integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+  dependencies:
+    indent-string "^4.0.0"
+    strip-indent "^3.0.0"
+
 reflect-metadata@^0.1.13:
   version "0.1.13"
   resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
   integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
 
+reflect.getprototypeof@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3"
+  integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    globalthis "^1.0.3"
+    which-builtin-type "^1.1.3"
+
 regenerate-unicode-properties@^10.1.0:
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c"
-  integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==
+  version "10.1.1"
+  resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480"
+  integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==
   dependencies:
     regenerate "^1.4.2"
 
@@ -9183,7 +8549,7 @@ regenerator-runtime@^0.11.0:
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
   integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
 
-regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.2:
+regenerator-runtime@^0.13.2:
   version "0.13.11"
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
   integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
@@ -9193,10 +8559,10 @@ regenerator-runtime@^0.14.0:
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
   integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
 
-regenerator-transform@^0.15.1:
-  version "0.15.1"
-  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
-  integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==
+regenerator-transform@^0.15.2:
+  version "0.15.2"
+  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4"
+  integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
   dependencies:
     "@babel/runtime" "^7.8.4"
 
@@ -9208,14 +8574,14 @@ regex-not@^1.0.0, regex-not@^1.0.2:
     extend-shallow "^3.0.2"
     safe-regex "^1.1.0"
 
-regexp.prototype.flags@^1.4.3:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
-  integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
+regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e"
+  integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==
   dependencies:
     call-bind "^1.0.2"
     define-properties "^1.2.0"
-    functions-have-names "^1.2.3"
+    set-function-name "^2.0.0"
 
 regexpu-core@^5.3.1:
   version "5.3.2"
@@ -9299,20 +8665,20 @@ resolve.exports@^2.0.0:
   integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==
 
 resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1:
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
-  integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
+  version "1.22.8"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
+  integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
   dependencies:
-    is-core-module "^2.11.0"
+    is-core-module "^2.13.0"
     path-parse "^1.0.7"
     supports-preserve-symlinks-flag "^1.0.0"
 
 resolve@^2.0.0-next.4:
-  version "2.0.0-next.4"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
-  integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
+  version "2.0.0-next.5"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c"
+  integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
   dependencies:
-    is-core-module "^2.9.0"
+    is-core-module "^2.13.0"
     path-parse "^1.0.7"
     supports-preserve-symlinks-flag "^1.0.0"
 
@@ -9341,11 +8707,6 @@ rimraf@^3.0.2:
   dependencies:
     glob "^7.1.3"
 
-rimraf@~2.2.6:
-  version "2.2.8"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
-  integrity sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==
-
 rimraf@~2.6.2:
   version "2.6.3"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -9375,6 +8736,16 @@ rxjs@^7.2.0:
   dependencies:
     tslib "^2.1.0"
 
+safe-array-concat@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c"
+  integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.2.1"
+    has-symbols "^1.0.3"
+    isarray "^2.0.5"
+
 safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -9427,24 +8798,17 @@ scheduler@^0.23.0:
   dependencies:
     loose-envify "^1.1.0"
 
-semver@^5.5.0, semver@^5.6.0:
-  version "5.7.1"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
-  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
-  version "6.3.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
-  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+semver@^5.6.0:
+  version "5.7.2"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
+  integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
 
-semver@^7.3.5, semver@^7.3.7:
-  version "7.5.1"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec"
-  integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==
-  dependencies:
-    lru-cache "^6.0.0"
+semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
+  version "6.3.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+  integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
 
-semver@^7.5.2:
+semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4:
   version "7.5.4"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
   integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -9497,6 +8861,15 @@ set-blocking@^2.0.0:
   resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
   integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
 
+set-function-name@^2.0.0, set-function-name@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a"
+  integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==
+  dependencies:
+    define-data-property "^1.0.1"
+    functions-have-names "^1.2.3"
+    has-property-descriptors "^1.0.0"
+
 set-value@^2.0.0, set-value@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
@@ -9507,11 +8880,6 @@ set-value@^2.0.0, set-value@^2.0.1:
     is-plain-object "^2.0.3"
     split-string "^3.0.1"
 
-setimmediate@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-  integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-
 setprototypeof@1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
@@ -9529,13 +8897,6 @@ shallowequal@^1.1.0:
   resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
   integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
 
-shebang-command@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-  integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
-  dependencies:
-    shebang-regex "^1.0.0"
-
 shebang-command@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -9543,11 +8904,6 @@ shebang-command@^2.0.0:
   dependencies:
     shebang-regex "^3.0.0"
 
-shebang-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-  integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
-
 shebang-regex@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
@@ -9621,6 +8977,14 @@ slice-ansi@^2.0.0:
     astral-regex "^1.0.0"
     is-fullwidth-code-point "^2.0.0"
 
+snake-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
+  integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+  dependencies:
+    dot-case "^3.0.4"
+    tslib "^2.0.3"
+
 snapdragon-node@^2.0.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -9651,6 +9015,11 @@ snapdragon@^0.8.1:
     source-map-resolve "^0.5.0"
     use "^3.1.0"
 
+source-map-js@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
 source-map-resolve@^0.5.0:
   version "0.5.3"
   resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -9737,7 +9106,7 @@ stackframe@^1.3.4:
   resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
   integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
 
-stacktrace-parser@^0.1.10, stacktrace-parser@^0.1.3:
+stacktrace-parser@^0.1.10:
   version "0.1.10"
   resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
   integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
@@ -9772,11 +9141,6 @@ strict-uri-encode@^2.0.0:
   resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
   integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
 
-string-hash-64@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/string-hash-64/-/string-hash-64-1.0.3.tgz#0deb56df58678640db5c479ccbbb597aaa0de322"
-  integrity sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw==
-
 string-length@^4.0.1:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@@ -9800,45 +9164,46 @@ string-natural-compare@^3.0.1:
     strip-ansi "^6.0.1"
 
 string.prototype.matchall@^4.0.8:
-  version "4.0.8"
-  resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
-  integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==
+  version "4.0.10"
+  resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100"
+  integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
-    get-intrinsic "^1.1.3"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
     has-symbols "^1.0.3"
-    internal-slot "^1.0.3"
-    regexp.prototype.flags "^1.4.3"
+    internal-slot "^1.0.5"
+    regexp.prototype.flags "^1.5.0"
+    set-function-name "^2.0.0"
     side-channel "^1.0.4"
 
-string.prototype.trim@^1.2.7:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
-  integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
+string.prototype.trim@^1.2.8:
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
+  integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
-string.prototype.trimend@^1.0.6:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
-  integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
+string.prototype.trimend@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e"
+  integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
-string.prototype.trimstart@^1.0.6:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
-  integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
+string.prototype.trimstart@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298"
+  integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.4"
-    es-abstract "^1.20.4"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
 
 string_decoder@^1.1.1:
   version "1.3.0"
@@ -9882,17 +9247,19 @@ strip-bom@^4.0.0:
   resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
   integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
 
-strip-eof@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-  integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
-
 strip-final-newline@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
   integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
 
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+strip-indent@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+  integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+  dependencies:
+    min-indent "^1.0.0"
+
+strip-json-comments@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
   integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@@ -9956,6 +9323,18 @@ svgo@^2.8.0:
     picocolors "^1.0.0"
     stable "^0.1.8"
 
+svgo@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.0.2.tgz#5e99eeea42c68ee0dc46aa16da093838c262fe0a"
+  integrity sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==
+  dependencies:
+    "@trysound/sax" "0.2.0"
+    commander "^7.2.0"
+    css-select "^5.1.0"
+    css-tree "^2.2.1"
+    csso "^5.0.5"
+    picocolors "^1.0.0"
+
 symbol-tree@^3.2.4:
   version "3.2.4"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
@@ -9983,9 +9362,9 @@ tar-stream@^2.1.4:
     readable-stream "^3.1.1"
 
 tar@^6.1.11:
-  version "6.1.15"
-  resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69"
-  integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73"
+  integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
   dependencies:
     chownr "^2.0.0"
     fs-minipass "^2.0.0"
@@ -9994,14 +9373,6 @@ tar@^6.1.11:
     mkdirp "^1.0.3"
     yallist "^4.0.0"
 
-temp@0.8.3:
-  version "0.8.3"
-  resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
-  integrity sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==
-  dependencies:
-    os-tmpdir "^1.0.0"
-    rimraf "~2.2.6"
-
 temp@^0.8.1, temp@^0.8.4:
   version "0.8.4"
   resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2"
@@ -10010,9 +9381,9 @@ temp@^0.8.1, temp@^0.8.4:
     rimraf "~2.6.2"
 
 terser@^5.15.0:
-  version "5.17.7"
-  resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.7.tgz#2a8b134826fe179b711969fd9d9a0c2479b2a8c3"
-  integrity sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==
+  version "5.22.0"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d"
+  integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==
   dependencies:
     "@jridgewell/source-map" "^0.3.3"
     acorn "^8.8.2"
@@ -10125,10 +9496,10 @@ tslib@^1.8.1, tslib@^1.9.3:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
 
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0:
-  version "2.5.3"
-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913"
-  integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.1:
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
+  integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
 
 tsutils@^3.21.0:
   version "3.21.0"
@@ -10137,10 +9508,10 @@ tsutils@^3.21.0:
   dependencies:
     tslib "^1.8.1"
 
-tsyringe@^4.7.0:
-  version "4.7.0"
-  resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.7.0.tgz#aea0a9d565385deebb6def60cda342b15016f283"
-  integrity sha512-ncFDM1jTLsok4ejMvSW5jN1VGPQD48y2tfAR0pdptWRKYX4bkbqPt92k7KJ5RFJ1KV36JEs/+TMh7I6OUgj74g==
+tsyringe@^4.8.0:
+  version "4.8.0"
+  resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.8.0.tgz#d599651b36793ba872870fee4f845bd484a5cac1"
+  integrity sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==
   dependencies:
     tslib "^1.9.3"
 
@@ -10158,13 +9529,6 @@ type-check@^0.4.0, type-check@~0.4.0:
   dependencies:
     prelude-ls "^1.2.1"
 
-type-check@~0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
-  integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==
-  dependencies:
-    prelude-ls "~1.1.2"
-
 type-detect@4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
@@ -10185,6 +9549,36 @@ type-fest@^0.7.1:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
   integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
 
+typed-array-buffer@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
+  integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.2.1"
+    is-typed-array "^1.1.10"
+
+typed-array-byte-length@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
+  integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
+  dependencies:
+    call-bind "^1.0.2"
+    for-each "^0.3.3"
+    has-proto "^1.0.1"
+    is-typed-array "^1.1.10"
+
+typed-array-byte-offset@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
+  integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
+  dependencies:
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.2"
+    for-each "^0.3.3"
+    has-proto "^1.0.1"
+    is-typed-array "^1.1.10"
+
 typed-array-length@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -10217,6 +9611,11 @@ unbox-primitive@^1.0.2:
     has-symbols "^1.0.3"
     which-boxed-primitive "^1.0.2"
 
+undici-types@~5.25.1:
+  version "5.25.3"
+  resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3"
+  integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==
+
 unicode-canonical-property-names-ecmascript@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@@ -10278,10 +9677,10 @@ unset-value@^1.0.0:
     has-value "^0.3.1"
     isobject "^3.0.0"
 
-update-browserslist-db@^1.0.11:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
-  integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
+update-browserslist-db@^1.0.13:
+  version "1.0.13"
+  resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
+  integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
   dependencies:
     escalade "^3.1.1"
     picocolors "^1.0.0"
@@ -10352,23 +9751,23 @@ utils-merge@1.0.1:
   integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
 
 uuid@^9.0.0:
-  version "9.0.0"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
-  integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
+  version "9.0.1"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
+  integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
 
 v8-to-istanbul@^9.0.1:
-  version "9.1.0"
-  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265"
-  integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==
+  version "9.1.3"
+  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b"
+  integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==
   dependencies:
     "@jridgewell/trace-mapping" "^0.3.12"
     "@types/istanbul-lib-coverage" "^2.0.1"
-    convert-source-map "^1.6.0"
+    convert-source-map "^2.0.0"
 
 validator@^13.7.0:
-  version "13.9.0"
-  resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855"
-  integrity sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==
+  version "13.11.0"
+  resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b"
+  integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==
 
 varint@^6.0.0:
   version "6.0.0"
@@ -10380,11 +9779,6 @@ vary@~1.1.2:
   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
   integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
 
-vision-camera-code-scanner@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/vision-camera-code-scanner/-/vision-camera-code-scanner-0.2.0.tgz#8adc0694319a17f6a95f6dfacc02ab7ac29b4742"
-  integrity sha512-H5hVkXfbIcGdg9YlhuS8Y/xDX5e32Vo6eK5FyDQsE9AGVjlqEHMmSLHZg7BX8UUm4ADmiAZc8wzc4n8TUqGr0g==
-
 vlq@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468"
@@ -10429,11 +9823,11 @@ wcwidth@^1.0.1:
     defaults "^1.0.3"
 
 web-did-resolver@^2.0.21:
-  version "2.0.24"
-  resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.24.tgz#557aae25d5c88ea662c23115fbebd46885d958db"
-  integrity sha512-tJfOfMeXyucV42D3tU7wcPcsvY92CiuaqeF5JRIE6GP7G9z07X6LhNQMFMHUL5D9Jqb7Twk19oKZGE2ivKeC1w==
+  version "2.0.27"
+  resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.27.tgz#21884a41d64c2042c307acb2d6e2061244e09806"
+  integrity sha512-YxQlNdeYBXLhVpMW62+TPlc6sSOiWyBYq7DNvY6FXmXOD9g0zLeShpq2uCKFFQV/WlSrBi/yebK/W5lMTDxMUQ==
   dependencies:
-    cross-fetch "^3.1.5"
+    cross-fetch "^4.0.0"
     did-resolver "^4.0.0"
 
 webcrypto-core@^1.7.7:
@@ -10470,9 +9864,9 @@ whatwg-encoding@^2.0.0:
     iconv-lite "0.6.3"
 
 whatwg-fetch@^3.0.0:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
-  integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
+  version "3.6.19"
+  resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz#caefd92ae630b91c07345537e67f8354db470973"
+  integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==
 
 whatwg-mimetype@^3.0.0:
   version "3.0.0"
@@ -10514,29 +9908,49 @@ which-boxed-primitive@^1.0.2:
     is-string "^1.0.5"
     is-symbol "^1.0.3"
 
+which-builtin-type@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b"
+  integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==
+  dependencies:
+    function.prototype.name "^1.1.5"
+    has-tostringtag "^1.0.0"
+    is-async-function "^2.0.0"
+    is-date-object "^1.0.5"
+    is-finalizationregistry "^1.0.2"
+    is-generator-function "^1.0.10"
+    is-regex "^1.1.4"
+    is-weakref "^1.0.2"
+    isarray "^2.0.5"
+    which-boxed-primitive "^1.0.2"
+    which-collection "^1.0.1"
+    which-typed-array "^1.1.9"
+
+which-collection@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
+  integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
+  dependencies:
+    is-map "^2.0.1"
+    is-set "^2.0.1"
+    is-weakmap "^2.0.1"
+    is-weakset "^2.0.1"
+
 which-module@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
   integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
 
-which-typed-array@^1.1.9:
-  version "1.1.9"
-  resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
-  integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
+which-typed-array@^1.1.11, which-typed-array@^1.1.9:
+  version "1.1.11"
+  resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a"
+  integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==
   dependencies:
     available-typed-arrays "^1.0.5"
     call-bind "^1.0.2"
     for-each "^0.3.3"
     gopd "^1.0.1"
     has-tostringtag "^1.0.0"
-    is-typed-array "^1.1.10"
-
-which@^1.2.9:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
-  integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
-  dependencies:
-    isexe "^2.0.0"
 
 which@^2.0.1:
   version "2.0.2"
@@ -10552,11 +9966,6 @@ wide-align@^1.1.2:
   dependencies:
     string-width "^1.0.2 || 2 || 3 || 4"
 
-word-wrap@^1.2.3, word-wrap@~1.2.3:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
-  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-
 wrap-ansi@^6.2.0:
   version "6.2.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
@@ -10610,9 +10019,9 @@ ws@^7, ws@^7.5.1:
   integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
 
 ws@^8.2.3:
-  version "8.13.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
-  integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
+  version "8.14.2"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f"
+  integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==
 
 xml-name-validator@^4.0.0:
   version "4.0.0"
@@ -10649,15 +10058,10 @@ yallist@^4.0.0:
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
-yaml@^1.10.0:
-  version "1.10.2"
-  resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
-  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-
 yaml@^2.2.1:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144"
-  integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9"
+  integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==
 
 yargs-parser@^18.1.2:
   version "18.1.3"
@@ -10707,7 +10111,7 @@ yargs@^16.1.1:
     y18n "^5.0.5"
     yargs-parser "^20.2.2"
 
-yargs@^17.3.1, yargs@^17.5.1, yargs@^17.6.2:
+yargs@^17.3.1, yargs@^17.6.2:
   version "17.7.2"
   resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
   integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==