diff --git a/build/ios/Debug-iphoneos/.last_build_id b/build/ios/Debug-iphoneos/.last_build_id
new file mode 100644
index 0000000..d5fdedb
--- /dev/null
+++ b/build/ios/Debug-iphoneos/.last_build_id
@@ -0,0 +1 @@
+fc94a990d9abd8bd2698bba2b84538d7
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/App.framework/App b/build/ios/Debug-iphoneos/App.framework/App
new file mode 100755
index 0000000..d5ba45a
Binary files /dev/null and b/build/ios/Debug-iphoneos/App.framework/App differ
diff --git a/build/ios/Debug-iphoneos/App.framework/Info.plist b/build/ios/Debug-iphoneos/App.framework/Info.plist
new file mode 100644
index 0000000..7c56964
--- /dev/null
+++ b/build/ios/Debug-iphoneos/App.framework/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ App
+ CFBundleIdentifier
+ io.flutter.flutter.app
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ App
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 12.0
+
+
diff --git a/build/ios/Debug-iphoneos/App.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/App.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..e688d71
--- /dev/null
+++ b/build/ios/Debug-iphoneos/App.framework/_CodeSignature/CodeResources
@@ -0,0 +1,234 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ h5OB7aKzS5WR9SemvZAyN6FEkJs=
+
+ flutter_assets/AssetManifest.bin
+
+ nppY/SgfJlLHZzmbow3RnZMXeVI=
+
+ flutter_assets/AssetManifest.json
+
+ SrA+dnnv0cgCjtutFqnacYn9E/M=
+
+ flutter_assets/FontManifest.json
+
+ vKJkVIcw+LGHFnKJGwrQwCREv68=
+
+ flutter_assets/NOTICES.Z
+
+ QCDACWf11cA4QfYwAwI/1JnWBaw=
+
+ flutter_assets/assets/appbar_background.png
+
+ JkgEiNZSVRa0lrDwrdeN4N1j56k=
+
+ flutter_assets/assets/logo.png
+
+ Kp3Vqz9/+Q7JHvx/0dcelGsVQ0Y=
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ /CUoTuPQqqdexfyOT9lpJhV+2MQ=
+
+ flutter_assets/isolate_snapshot_data
+
+ cU5igDxcIVzLQT2ishbNSdUocVk=
+
+ flutter_assets/kernel_blob.bin
+
+ 2S861NjVoBUyLZO/rAR+4BdQj3A=
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ Bvk+P1ykE1PGRdktwgwDyz6AOqM=
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hBZgIGdEvhX+IvXd5bjkjJVu6+s=
+
+ flutter_assets/vm_snapshot_data
+
+ ap40xllbguuMfkV4mJkKh/NQWg4=
+
+
+ files2
+
+ flutter_assets/AssetManifest.bin
+
+ hash2
+
+ q8Ie4Ld3/fiNviXBIo+2I1C35qbB9odFDYKbahX2XZY=
+
+
+ flutter_assets/AssetManifest.json
+
+ hash2
+
+ Bmf/DHmOo0s6mgjvOjLEVTky39BPm3x3AhVDJwMtcmw=
+
+
+ flutter_assets/FontManifest.json
+
+ hash2
+
+ zX4DZFvESy3Ue3y2JvUcTsv1Whl6t3JBYotHrBZfviE=
+
+
+ flutter_assets/NOTICES.Z
+
+ hash2
+
+ uxaMPyJTnaE0nTnvDYOClHo7+tK7avIaA0XpeSqftdE=
+
+
+ flutter_assets/assets/appbar_background.png
+
+ hash2
+
+ EhS8+djmZXDI2ucxttToNMvFcA3W1ezHx112CQRIqpw=
+
+
+ flutter_assets/assets/logo.png
+
+ hash2
+
+ QQd+B8xc2yWOncyL/vSm9aFtpY4LhK/gaxHds158yCc=
+
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ hash2
+
+ 2YZbZxoJ1oPROoYwidiCXg9ho3aWzl19RIvIAjqmJFM=
+
+
+ flutter_assets/isolate_snapshot_data
+
+ hash2
+
+ 2xhrt3e9Akh13HCD0k45mouHg3CpgXDn1AwXioeg1PY=
+
+
+ flutter_assets/kernel_blob.bin
+
+ hash2
+
+ GQB/lHoxNUJcA5CBiQBdyBuX3jr7Tfbc7Ubr79pH6iM=
+
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ hash2
+
+ Z8RP6Rg7AC553ef2l34piGYcmj5KPF/OloeH79vtgjw=
+
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hash2
+
+ 0T+w183eMSTh5phjUfkXjg4ZpPYnVqkH4Gv3Ge4QCh8=
+
+
+ flutter_assets/vm_snapshot_data
+
+ hash2
+
+ 6eubeZZqyUNzwtBtT1r66GIIirzwERUZET0Gp6oe/CI=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.bin b/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.bin
new file mode 100644
index 0000000..80ea2b2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.bin
@@ -0,0 +1 @@
+
assets/appbar_background.png
assetassets/appbar_background.pngassets/logo.png
assetassets/logo.png2packages/cupertino_icons/assets/CupertinoIcons.ttf
asset2packages/cupertino_icons/assets/CupertinoIcons.ttf
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.json b/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.json
new file mode 100644
index 0000000..7704b16
--- /dev/null
+++ b/build/ios/Debug-iphoneos/App.framework/flutter_assets/AssetManifest.json
@@ -0,0 +1 @@
+{"assets/appbar_background.png":["assets/appbar_background.png"],"assets/logo.png":["assets/logo.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/FontManifest.json b/build/ios/Debug-iphoneos/App.framework/flutter_assets/FontManifest.json
new file mode 100644
index 0000000..464ab58
--- /dev/null
+++ b/build/ios/Debug-iphoneos/App.framework/flutter_assets/FontManifest.json
@@ -0,0 +1 @@
+[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/NOTICES.Z b/build/ios/Debug-iphoneos/App.framework/flutter_assets/NOTICES.Z
new file mode 100644
index 0000000..cbb9f46
Binary files /dev/null and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/NOTICES.Z differ
diff --git a/build/unit_test_assets/assets/appbar_background.png b/build/ios/Debug-iphoneos/App.framework/flutter_assets/assets/appbar_background.png
similarity index 100%
rename from build/unit_test_assets/assets/appbar_background.png
rename to build/ios/Debug-iphoneos/App.framework/flutter_assets/assets/appbar_background.png
diff --git a/build/unit_test_assets/assets/logo.png b/build/ios/Debug-iphoneos/App.framework/flutter_assets/assets/logo.png
similarity index 100%
rename from build/unit_test_assets/assets/logo.png
rename to build/ios/Debug-iphoneos/App.framework/flutter_assets/assets/logo.png
diff --git a/build/unit_test_assets/fonts/MaterialIcons-Regular.otf b/build/ios/Debug-iphoneos/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
similarity index 100%
rename from build/unit_test_assets/fonts/MaterialIcons-Regular.otf
rename to build/ios/Debug-iphoneos/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/isolate_snapshot_data b/build/ios/Debug-iphoneos/App.framework/flutter_assets/isolate_snapshot_data
new file mode 100644
index 0000000..dd5c896
Binary files /dev/null and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/isolate_snapshot_data differ
diff --git a/build/test_cache/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill b/build/ios/Debug-iphoneos/App.framework/flutter_assets/kernel_blob.bin
similarity index 77%
rename from build/test_cache/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill
rename to build/ios/Debug-iphoneos/App.framework/flutter_assets/kernel_blob.bin
index 014543b..d6f6e9a 100644
Binary files a/build/test_cache/build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/kernel_blob.bin differ
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/build/ios/Debug-iphoneos/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
new file mode 100644
index 0000000..d580ce7
Binary files /dev/null and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ
diff --git a/build/unit_test_assets/shaders/ink_sparkle.frag b/build/ios/Debug-iphoneos/App.framework/flutter_assets/shaders/ink_sparkle.frag
similarity index 57%
rename from build/unit_test_assets/shaders/ink_sparkle.frag
rename to build/ios/Debug-iphoneos/App.framework/flutter_assets/shaders/ink_sparkle.frag
index b49cd0e..6aa6625 100644
Binary files a/build/unit_test_assets/shaders/ink_sparkle.frag and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/shaders/ink_sparkle.frag differ
diff --git a/build/ios/Debug-iphoneos/App.framework/flutter_assets/vm_snapshot_data b/build/ios/Debug-iphoneos/App.framework/flutter_assets/vm_snapshot_data
new file mode 100644
index 0000000..0fa016c
Binary files /dev/null and b/build/ios/Debug-iphoneos/App.framework/flutter_assets/vm_snapshot_data differ
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Flutter b/build/ios/Debug-iphoneos/Flutter.framework/Flutter
new file mode 100755
index 0000000..a331058
Binary files /dev/null and b/build/ios/Debug-iphoneos/Flutter.framework/Flutter differ
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/Flutter.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/Flutter.h
new file mode 100644
index 0000000..705dfcb
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/Flutter.h
@@ -0,0 +1,24 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+
+#import "FlutterAppDelegate.h"
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCallbackCache.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterEngineGroup.h"
+#import "FlutterHeadlessDartRunner.h"
+#import "FlutterMacros.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterPlugin.h"
+#import "FlutterPluginAppLifeCycleDelegate.h"
+#import "FlutterTexture.h"
+#import "FlutterViewController.h"
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterAppDelegate.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterAppDelegate.h
new file mode 100644
index 0000000..0c427c2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterAppDelegate.h
@@ -0,0 +1,34 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+
+#import
+
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+
+/**
+ * `UIApplicationDelegate` subclass for simple apps that want default behavior.
+ *
+ * This class implements the following behaviors:
+ * * Status bar touches are forwarded to the key window's root view
+ * `FlutterViewController`, in order to trigger scroll to top.
+ * * Keeps the Flutter connection open in debug mode when the phone screen
+ * locks.
+ *
+ * App delegates for Flutter applications are *not* required to inherit from
+ * this class. Developers of custom app delegate classes should copy and paste
+ * code as necessary from FlutterAppDelegate.mm.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterAppDelegate
+ : UIResponder
+
+@property(strong, nonatomic) UIWindow* window;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterBinaryMessenger.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterBinaryMessenger.h
new file mode 100644
index 0000000..eb0186f
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterBinaryMessenger.h
@@ -0,0 +1,106 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
+ * in for handling a binary message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
+
+/**
+ * A strategy for handling incoming binary messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param reply A callback for submitting an asynchronous reply to the sender.
+ */
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
+
+typedef int64_t FlutterBinaryMessengerConnection;
+
+@protocol FlutterTaskQueue
+@end
+
+/**
+ * A facility for communicating with the Flutter side using asynchronous message
+ * passing with binary messages.
+ *
+ * Implementated by:
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
+ * messages.
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
+ * method calls.
+ * - `FlutterEventChannel`, which supports commuication using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterBinaryMessenger
+/// TODO(gaaclarke): Remove optional when macos supports Background Platform Channels.
+@optional
+- (NSObject*)makeBackgroundTaskQueue;
+
+- (FlutterBinaryMessengerConnection)
+ setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:(FlutterBinaryMessageHandler _Nullable)handler
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+@required
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * no reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ */
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
+
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * an asynchronous reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ * @param callback A callback for receiving a reply.
+ */
+- (void)sendOnChannel:(NSString*)channel
+ message:(NSData* _Nullable)message
+ binaryReply:(FlutterBinaryReply _Nullable)callback;
+
+/**
+ * Registers a message handler for incoming binary messages from the Flutter side
+ * on the specified channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param channel The channel name.
+ * @param handler The message handler.
+ * @return An identifier that represents the connection that was just created to the channel.
+ */
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:
+ (FlutterBinaryMessageHandler _Nullable)handler;
+
+/**
+ * Clears out a channel's message handler if that handler is still the one that
+ * was created as a result of
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ *
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ */
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
+@end
+NS_ASSUME_NONNULL_END
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCallbackCache.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCallbackCache.h
new file mode 100644
index 0000000..b6e331d
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCallbackCache.h
@@ -0,0 +1,54 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+/**
+ * An object containing the result of `FlutterCallbackCache`'s `lookupCallbackInformation`
+ * method.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterCallbackInformation : NSObject
+/**
+ * The name of the callback.
+ */
+@property(copy) NSString* callbackName;
+/**
+ * The class name of the callback.
+ */
+@property(copy) NSString* callbackClassName;
+/**
+ * The library path of the callback.
+ */
+@property(copy) NSString* callbackLibraryPath;
+@end
+
+/**
+ * The cache containing callback information for spawning a
+ * `FlutterHeadlessDartRunner`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterCallbackCache : NSObject
+/**
+ * Returns the callback information for the given callback handle.
+ * This callback information can be used when spawning a
+ * `FlutterHeadlessDartRunner`.
+ *
+ * @param handle The handle for a callback, provided by the
+ * Dart method `PluginUtilities.getCallbackHandle`.
+ * @return A `FlutterCallbackInformation` object which contains the name of the
+ * callback, the name of the class in which the callback is defined, and the
+ * path of the library which contains the callback. If the provided handle is
+ * invalid, nil is returned.
+ */
++ (FlutterCallbackInformation*)lookupCallbackInformation:(int64_t)handle;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterChannels.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterChannels.h
new file mode 100644
index 0000000..b88b78a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterChannels.h
@@ -0,0 +1,487 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCodecs.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a reply back to a Flutter message sender. Also used in
+ * the dual capacity for handling a message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterReply)(id _Nullable reply);
+
+/**
+ * A strategy for handling incoming messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param callback A callback for submitting a reply to the sender which can be invoked from any
+ * thread.
+ */
+typedef void (^FlutterMessageHandler)(id _Nullable message, FlutterReply callback);
+
+/**
+ * A channel for communicating with the Flutter side using basic, asynchronous
+ * message passing.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBasicMessageChannel : NSObject
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name and binary
+ * messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMessageCodec` to encode and decode messages.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+/**
+ * Sends the specified message to the Flutter side, ignoring any reply.
+ *
+ * @param message The message. Must be supported by the codec of this
+ * channel.
+ */
+- (void)sendMessage:(id _Nullable)message;
+
+/**
+ * Sends the specified message to the Flutter side, expecting an asynchronous
+ * reply.
+ *
+ * @param message The message. Must be supported by the codec of this channel.
+ * @param callback A callback to be invoked with the message reply from Flutter.
+ */
+- (void)sendMessage:(id _Nullable)message reply:(FlutterReply _Nullable)callback;
+
+/**
+ * Registers a message handler with this channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The message handler.
+ */
+- (void)setMessageHandler:(FlutterMessageHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param newSize The number of messages that will get buffered.
+ */
++ (void)resizeChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ size:(NSInteger)newSize;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ *
+ * @param newSize The number of messages that will get buffered.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+/**
+ * Defines whether the channel should show warning messages when discarding messages
+ * due to overflow.
+ *
+ * @param warns When false, the channel is expected to overflow and warning messages
+ * will not be shown.
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (void)setWarnsOnOverflow:(BOOL)warns
+ forChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Defines whether the channel should show warning messages when discarding messages
+ * due to overflow.
+ *
+ * @param warns When false, the channel is expected to overflow and warning messages
+ * will not be shown.
+ */
+- (void)setWarnsOnOverflow:(BOOL)warns;
+
+@end
+
+/**
+ * A method call result callback.
+ *
+ * Used for submitting a method call result back to a Flutter caller. Also used in
+ * the dual capacity for handling a method call result received from Flutter.
+ *
+ * @param result The result.
+ */
+typedef void (^FlutterResult)(id _Nullable result);
+
+/**
+ * A strategy for handling method calls.
+ *
+ * @param call The incoming method call.
+ * @param result A callback to asynchronously submit the result of the call.
+ * Invoke the callback with a `FlutterError` to indicate that the call failed.
+ * Invoke the callback with `FlutterMethodNotImplemented` to indicate that the
+ * method was unknown. Any other values, including `nil`, are interpreted as
+ * successful results. This can be invoked from any thread.
+ */
+typedef void (^FlutterMethodCallHandler)(FlutterMethodCall* call, FlutterResult result);
+
+/**
+ * A constant used with `FlutterMethodCallHandler` to respond to the call of an
+ * unknown method.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterMethodNotImplemented;
+
+/**
+ * A channel for communicating with the Flutter side using invocation of
+ * asynchronous methods.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodChannel : NSObject
+/**
+ * Creates a `FlutterMethodChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to encode and decode method calls
+ * and result envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterMethodChannel` with the specified name, binary messenger, and
+ * method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * method codec, and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+// clang-format off
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * no results.
+ *
+ * @see [MethodChannel.setMethodCallHandler](https://api.flutter.dev/flutter/services/MethodChannel/setMethodCallHandler.html)
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ * channel.
+ */
+// clang-format on
+- (void)invokeMethod:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * an asynchronous result.
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ * channel.
+ * @param callback A callback that will be invoked with the asynchronous result.
+ * The result will be a `FlutterError` instance, if the method call resulted
+ * in an error on the Flutter side. Will be `FlutterMethodNotImplemented`, if
+ * the method called was not implemented on the Flutter side. Any other value,
+ * including `nil`, should be interpreted as successful results.
+ */
+- (void)invokeMethod:(NSString*)method
+ arguments:(id _Nullable)arguments
+ result:(FlutterResult _Nullable)callback;
+/**
+ * Registers a handler for method calls from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The method call handler.
+ */
+- (void)setMethodCallHandler:(FlutterMethodCallHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+@end
+
+/**
+ * An event sink callback.
+ *
+ * @param event The event.
+ */
+typedef void (^FlutterEventSink)(id _Nullable event);
+
+/**
+ * A strategy for exposing an event stream to the Flutter side.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterStreamHandler
+/**
+ * Sets up an event stream and begin emitting events.
+ *
+ * Invoked when the first listener is registered with the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * @param arguments Arguments for the stream.
+ * @param events A callback to asynchronously emit events. Invoke the
+ * callback with a `FlutterError` to emit an error event. Invoke the
+ * callback with `FlutterEndOfEventStream` to indicate that no more
+ * events will be emitted. Any other value, including `nil` are emitted as
+ * successful events.
+ * @return A FlutterError instance, if setup fails.
+ */
+- (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments
+ eventSink:(FlutterEventSink)events;
+
+/**
+ * Tears down an event stream.
+ *
+ * Invoked when the last listener is deregistered from the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * The channel implementation may call this method with `nil` arguments
+ * to separate a pair of two consecutive set up requests. Such request pairs
+ * may occur during Flutter hot restart.
+ *
+ * @param arguments Arguments for the stream.
+ * @return A FlutterError instance, if teardown fails.
+ */
+- (FlutterError* _Nullable)onCancelWithArguments:(id _Nullable)arguments;
+@end
+
+/**
+ * A constant used with `FlutterEventChannel` to indicate end of stream.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterEndOfEventStream;
+
+/**
+ * A channel for communicating with the Flutter side using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEventChannel : NSObject
+/**
+ * Creates a `FlutterEventChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to decode stream setup and
+ * teardown requests, and to encode event envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * method codec and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+/**
+ * Registers a handler for stream setup requests from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The stream handler.
+ */
+- (void)setStreamHandler:(NSObject* _Nullable)handler;
+@end
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCodecs.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCodecs.h
new file mode 100644
index 0000000..93e1d32
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterCodecs.h
@@ -0,0 +1,478 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A message encoding/decoding mechanism.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMessageCodec
+/**
+ * Returns a shared instance of this `FlutterMessageCodec`.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified message into binary.
+ *
+ * @param message The message.
+ * @return The binary encoding, or `nil`, if `message` was `nil`.
+ */
+- (NSData* _Nullable)encode:(id _Nullable)message;
+
+/**
+ * Decodes the specified message from binary.
+ *
+ * @param message The message.
+ * @return The decoded message, or `nil`, if `message` was `nil`.
+ */
+- (id _Nullable)decode:(NSData* _Nullable)message;
+@end
+
+/**
+ * A `FlutterMessageCodec` using unencoded binary messages, represented as
+ * `NSData` instances.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [BinaryCodec](https://api.flutter.dev/flutter/services/BinaryCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * On the Dart side, messages are represented using `ByteData`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBinaryCodec : NSObject
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded `NSString` messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StringCodec](https://api.flutter.dev/flutter/services/StringCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStringCodec : NSObject
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded JSON messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMessageCodec](https://api.flutter.dev/flutter/services/JSONMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supports values accepted by `NSJSONSerialization` plus top-level
+ * `nil`, `NSNumber`, and `NSString`.
+ *
+ * On the Dart side, JSON messages are handled by the JSON facilities of the
+ * [`dart:convert`](https://api.dartlang.org/stable/dart-convert/JSON-constant.html)
+ * package.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMessageCodec : NSObject
+@end
+
+/**
+ * A writer of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `writeValue`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardWriter : NSObject
+/**
+ * Create a `FlutterStandardWriter` who will write to \p data.
+ */
+- (instancetype)initWithData:(NSMutableData*)data;
+/** Write a 8-bit byte. */
+- (void)writeByte:(UInt8)value;
+/** Write an array of \p bytes of size \p length. */
+- (void)writeBytes:(const void*)bytes length:(NSUInteger)length;
+/** Write an array of bytes contained in \p data. */
+- (void)writeData:(NSData*)data;
+/** Write 32-bit unsigned integer that represents a \p size of a collection. */
+- (void)writeSize:(UInt32)size;
+/** Write zero padding until data is aligned with \p alignment. */
+- (void)writeAlignment:(UInt8)alignment;
+/** Write a string with UTF-8 encoding. */
+- (void)writeUTF8:(NSString*)value;
+/** Introspects into an object and writes its representation.
+ *
+ * Supported Data Types:
+ * - NSNull
+ * - NSNumber
+ * - NSString (as UTF-8)
+ * - FlutterStandardTypedData
+ * - NSArray of supported types
+ * - NSDictionary of supporte types
+ *
+ * NSAsserts on failure.
+ */
+- (void)writeValue:(id)value;
+@end
+
+/**
+ * A reader of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `readValueOfType`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReader : NSObject
+/**
+ * Create a new `FlutterStandardReader` who reads from \p data.
+ */
+- (instancetype)initWithData:(NSData*)data;
+/** Returns YES when the reader hasn't reached the end of its data. */
+- (BOOL)hasMore;
+/** Reads a byte value and increments the position. */
+- (UInt8)readByte;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (void)readBytes:(void*)destination length:(NSUInteger)length;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (NSData*)readData:(NSUInteger)length;
+/** Reads a 32-bit unsigned integer representing a collection size and increments the position.*/
+- (UInt32)readSize;
+/** Advances the read position until it is aligned with \p alignment. */
+- (void)readAlignment:(UInt8)alignment;
+/** Read a null terminated string encoded with UTF-8/ */
+- (NSString*)readUTF8;
+/**
+ * Reads a byte for `FlutterStandardField` the decodes a value matching that type.
+ *
+ * See also: -[FlutterStandardWriter writeValue]
+ */
+- (nullable id)readValue;
+/**
+ * Decodes a value matching the \p type specified.
+ *
+ * See also:
+ * - `FlutterStandardField`
+ * - `-[FlutterStandardWriter writeValue]`
+ */
+- (nullable id)readValueOfType:(UInt8)type;
+@end
+
+/**
+ * A factory of compatible reader/writer instances using the Flutter standard
+ * binary encoding or extensions thereof.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReaderWriter : NSObject
+/**
+ * Create a new `FlutterStandardWriter` for writing to \p data.
+ */
+- (FlutterStandardWriter*)writerWithData:(NSMutableData*)data;
+/**
+ * Create a new `FlutterStandardReader` for reading from \p data.
+ */
+- (FlutterStandardReader*)readerWithData:(NSData*)data;
+@end
+
+/**
+ * A `FlutterMessageCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMessageCodec](https://api.flutter.dev/flutter/services/StandardMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supported messages are acyclic values of these forms:
+ *
+ * - `nil` or `NSNull`
+ * - `NSNumber` (including their representation of Boolean values)
+ * - `NSString`
+ * - `FlutterStandardTypedData`
+ * - `NSArray` of supported values
+ * - `NSDictionary` with supported keys and values
+ *
+ * On the Dart side, these values are represented as follows:
+ *
+ * - `nil` or `NSNull`: null
+ * - `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
+ * - `NSString`: `String`
+ * - `FlutterStandardTypedData`: `Uint8List`, `Int32List`, `Int64List`, or `Float64List`
+ * - `NSArray`: `List`
+ * - `NSDictionary`: `Map`
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMessageCodec : NSObject
+/**
+ * Create a `FlutterStandardMessageCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+/**
+ * Command object representing a method call on a `FlutterMethodChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodCall : NSObject
+/**
+ * Creates a method call for invoking the specified named method with the
+ * specified arguments.
+ *
+ * @param method the name of the method to call.
+ * @param arguments the arguments value.
+ */
++ (instancetype)methodCallWithMethodName:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * The method name.
+ */
+@property(readonly, nonatomic) NSString* method;
+
+/**
+ * The arguments.
+ */
+@property(readonly, nonatomic, nullable) id arguments;
+@end
+
+/**
+ * Error object representing an unsuccessful outcome of invoking a method
+ * on a `FlutterMethodChannel`, or an error event on a `FlutterEventChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterError : NSObject
+/**
+ * Creates a `FlutterError` with the specified error code, message, and details.
+ *
+ * @param code An error code string for programmatic use.
+ * @param message A human-readable error message.
+ * @param details Custom error details.
+ */
++ (instancetype)errorWithCode:(NSString*)code
+ message:(NSString* _Nullable)message
+ details:(id _Nullable)details;
+/**
+ The error code.
+ */
+@property(readonly, nonatomic) NSString* code;
+
+/**
+ The error message.
+ */
+@property(readonly, nonatomic, nullable) NSString* message;
+
+/**
+ The error details.
+ */
+@property(readonly, nonatomic, nullable) id details;
+@end
+
+/**
+ * Type of numeric data items encoded in a `FlutterStandardDataType`.
+ *
+ * - FlutterStandardDataTypeUInt8: plain bytes
+ * - FlutterStandardDataTypeInt32: 32-bit signed integers
+ * - FlutterStandardDataTypeInt64: 64-bit signed integers
+ * - FlutterStandardDataTypeFloat64: 64-bit floats
+ */
+typedef NS_ENUM(NSInteger, FlutterStandardDataType) {
+ // NOLINTBEGIN(readability-identifier-naming)
+ FlutterStandardDataTypeUInt8,
+ FlutterStandardDataTypeInt32,
+ FlutterStandardDataTypeInt64,
+ FlutterStandardDataTypeFloat32,
+ FlutterStandardDataTypeFloat64,
+ // NOLINTEND(readability-identifier-naming)
+};
+
+/**
+ * A byte buffer holding `UInt8`, `SInt32`, `SInt64`, or `Float64` values, used
+ * with `FlutterStandardMessageCodec` and `FlutterStandardMethodCodec`.
+ *
+ * Two's complement encoding is used for signed integers. IEEE754
+ * double-precision representation is used for floats. The platform's native
+ * endianness is assumed.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardTypedData : NSObject
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as plain bytes.
+ *
+ * @param data the byte data.
+ */
++ (instancetype)typedDataWithBytes:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 4.
+ */
++ (instancetype)typedDataWithInt32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithInt64:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat64:(NSData*)data;
+
+/**
+ * The raw underlying data buffer.
+ */
+@property(readonly, nonatomic) NSData* data;
+
+/**
+ * The type of the encoded values.
+ */
+@property(readonly, nonatomic, assign) FlutterStandardDataType type;
+
+/**
+ * The number of value items encoded.
+ */
+@property(readonly, nonatomic, assign) UInt32 elementCount;
+
+/**
+ * The number of bytes used by the encoding of a single value item.
+ */
+@property(readonly, nonatomic, assign) UInt8 elementSize;
+@end
+
+/**
+ * An arbitrarily large integer value, used with `FlutterStandardMessageCodec`
+ * and `FlutterStandardMethodCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+FLUTTER_UNAVAILABLE("Unavailable on 2018-08-31. Deprecated on 2018-01-09. "
+ "FlutterStandardBigInteger was needed because the Dart 1.0 int type had no "
+ "size limit. With Dart 2.0, the int type is a fixed-size, 64-bit signed "
+ "integer. If you need to communicate larger integers, use NSString encoding "
+ "instead.")
+@interface FlutterStandardBigInteger : NSObject
+@end
+
+/**
+ * A codec for method calls and enveloped results.
+ *
+ * Method calls are encoded as binary messages with enough structure that the
+ * codec can extract a method name `NSString` and an arguments `NSObject`,
+ * possibly `nil`. These data items are used to populate a `FlutterMethodCall`.
+ *
+ * Result envelopes are encoded as binary messages with enough structure that
+ * the codec can determine whether the result was successful or an error. In
+ * the former case, the codec can extract the result `NSObject`, possibly `nil`.
+ * In the latter case, the codec can extract an error code `NSString`, a
+ * human-readable `NSString` error message (possibly `nil`), and a custom
+ * error details `NSObject`, possibly `nil`. These data items are used to
+ * populate a `FlutterError`.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMethodCodec
+/**
+ * Provides access to a shared instance this codec.
+ *
+ * @return The shared instance.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified method call into binary.
+ *
+ * @param methodCall The method call. The arguments value
+ * must be supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeMethodCall:(FlutterMethodCall*)methodCall;
+
+/**
+ * Decodes the specified method call from binary.
+ *
+ * @param methodCall The method call to decode.
+ * @return The decoded method call.
+ */
+- (FlutterMethodCall*)decodeMethodCall:(NSData*)methodCall;
+
+/**
+ * Encodes the specified successful result into binary.
+ *
+ * @param result The result. Must be a value supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeSuccessEnvelope:(id _Nullable)result;
+
+/**
+ * Encodes the specified error result into binary.
+ *
+ * @param error The error object. The error details value must be supported
+ * by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeErrorEnvelope:(FlutterError*)error;
+
+/**
+ * Deccodes the specified result envelope from binary.
+ *
+ * @param envelope The error object.
+ * @return The result value, if the envelope represented a successful result,
+ * or a `FlutterError` instance, if not.
+ */
+- (id _Nullable)decodeEnvelope:(NSData*)envelope;
+@end
+
+/**
+ * A `FlutterMethodCodec` using UTF-8 encoded JSON method calls and result
+ * envelopes.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMethodCodec](https://api.flutter.dev/flutter/services/JSONMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as methods arguments and result payloads are
+ * those supported as top-level or leaf values by `FlutterJSONMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMethodCodec : NSObject
+@end
+
+/**
+ * A `FlutterMethodCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMethodCodec](https://api.flutter.dev/flutter/services/StandardMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as method arguments and result payloads are those supported by
+ * `FlutterStandardMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMethodCodec : NSObject
+/**
+ * Create a `FlutterStandardMethodCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterDartProject.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterDartProject.h
new file mode 100644
index 0000000..5e03cb8
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterDartProject.h
@@ -0,0 +1,103 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
+
+#import
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A set of Flutter and Dart assets used by a `FlutterEngine` to initialize execution.
+ *
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterDartProject : NSObject
+
+/**
+ * Initializes a Flutter Dart project from a bundle.
+ *
+ * The bundle must either contain a flutter_assets resource directory, or set the Info.plist key
+ * FLTAssetsPath to override that name (if you are doing a custom build using a different name).
+ *
+ * @param bundle The bundle containing the Flutter assets directory. If nil, the App framework
+ * created by Flutter will be used.
+ */
+- (instancetype)initWithPrecompiledDartBundle:(nullable NSBundle*)bundle NS_DESIGNATED_INITIALIZER;
+/**
+ * Unavailable - use `init` instead.
+ */
+- (instancetype)initFromDefaultSourceForConfiguration API_UNAVAILABLE(macos)
+ FLUTTER_UNAVAILABLE("Use -init instead.");
+
+/**
+ * Returns the default identifier for the bundle where we expect to find the Flutter Dart
+ * application.
+ */
++ (NSString*)defaultBundleIdentifier;
+
+/**
+ * An NSArray of NSStrings to be passed as command line arguments to the Dart entrypoint.
+ *
+ * If this is not explicitly set, this will default to the contents of
+ * [NSProcessInfo arguments], without the binary name.
+ *
+ * Set this to nil to pass no arguments to the Dart entrypoint.
+ */
+@property(nonatomic, nullable, copy)
+ NSArray* dartEntrypointArguments API_UNAVAILABLE(ios);
+
+/**
+ * Returns the file name for the given asset. If the bundle with the identifier
+ * "io.flutter.flutter.app" exists, it will try use that bundle; otherwise, it
+ * will use the main bundle. To specify a different bundle, use
+ * `+lookupKeyForAsset:fromBundle`.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the supplied bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param bundle The `NSBundle` to use for looking up the asset.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromBundle:(nullable NSBundle*)bundle;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the specified bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @param bundle The bundle to use when doing the lookup.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset
+ fromPackage:(NSString*)package
+ fromBundle:(nullable NSBundle*)bundle;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngine.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngine.h
new file mode 100644
index 0000000..931c8de
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngine.h
@@ -0,0 +1,462 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
+
+#import
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+#import "FlutterTexture.h"
+
+@class FlutterViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The dart entrypoint that is associated with `main()`. This is to be used as an argument to the
+ * `runWithEntrypoint*` methods.
+ */
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSString* const FlutterDefaultDartEntrypoint;
+
+/**
+ * The default Flutter initial route ("/").
+ */
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSString* const FlutterDefaultInitialRoute;
+
+/**
+ * The FlutterEngine class coordinates a single instance of execution for a
+ * `FlutterDartProject`. It may have zero or one `FlutterViewController` at a
+ * time, which can be specified via `-setViewController:`.
+ * `FlutterViewController`'s `initWithEngine` initializer will automatically call
+ * `-setViewController:` for itself.
+ *
+ * A FlutterEngine can be created independently of a `FlutterViewController` for
+ * headless execution. It can also persist across the lifespan of multiple
+ * `FlutterViewController` instances to maintain state and/or asynchronous tasks
+ * (such as downloading a large file).
+ *
+ * A FlutterEngine can also be used to prewarm the Dart execution environment and reduce the
+ * latency of showing the Flutter screen when a `FlutterViewController` is created and presented.
+ * See http://flutter.dev/docs/development/add-to-app/performance for more details on loading
+ * performance.
+ *
+ * Alternatively, you can simply create a new `FlutterViewController` with only a
+ * `FlutterDartProject`. That `FlutterViewController` will internally manage its
+ * own instance of a FlutterEngine, but will not guarantee survival of the engine
+ * beyond the life of the ViewController.
+ *
+ * A newly initialized FlutterEngine will not actually run a Dart Isolate until
+ * either `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is invoked.
+ * One of these methods must be invoked before calling `-setViewController:`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngine : NSObject
+
+/**
+ * Default initializer for a FlutterEngine.
+ *
+ * Threads created by this FlutterEngine will appear as "FlutterEngine #" in
+ * Instruments. The prefix can be customized using `initWithName`.
+ *
+ * The engine will execute the project located in the bundle with the identifier
+ * "io.flutter.flutter.app" (the default for Flutter projects).
+ *
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
+ * `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ */
+- (instancetype)init;
+
+/**
+ * Initialize this FlutterEngine.
+ *
+ * The engine will execute the project located in the bundle with the identifier
+ * "io.flutter.flutter.app" (the default for Flutter projects).
+ *
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
+ * `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix project:(nullable FlutterDartProject*)project;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
+ * running after passing a nil `FlutterViewController` to `-setViewController:`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(nullable FlutterDartProject*)project
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
+ * running after passing a nil `FlutterViewController` to `-setViewController:`.
+ * @param restorationEnabled Whether state restoration is enabled. When true, the framework will
+ * wait for the attached view controller to provide restoration data.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(nullable FlutterDartProject*)project
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution
+ restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`), using `main()` as the entrypoint (the default for Flutter projects),
+ * and using "/" (the default route) as the initial route.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)run;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`), using "/" (the default route) as the initial route.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from the same Dart
+ * library that contains the app's main() function. If this is FlutterDefaultDartEntrypoint (or
+ * nil) it will default to `main()`. If it is not the app's main() function, that function must
+ * be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
+ * compiler.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`).
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from the same Dart
+ * library that contains the app's main() function. If this is FlutterDefaultDartEntrypoint (or
+ * nil), it will default to `main()`. If it is not the app's main() function, that function must
+ * be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
+ * compiler.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param uri The URI of the Dart library which contains the entrypoint method
+ * (example "package:foo_package/main.dart"). If nil, this will default to
+ * the same library as the `main()` function in the Dart program.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint libraryURI:(nullable NSString*)uri;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint
+ * method (example "package:foo_package/main.dart"). If nil, this will
+ * default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint
+ * method (example "package:foo_package/main.dart"). If nil, this will
+ * default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @param entrypointArgs Arguments passed as a list of string to Dart's entrypoint function.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute
+ entrypointArgs:(nullable NSArray*)entrypointArgs;
+
+/**
+ * Destroy running context for an engine.
+ *
+ * This method can be used to force the FlutterEngine object to release all resources.
+ * After sending this message, the object will be in an unusable state until it is deallocated.
+ * Accessing properties or sending messages to it will result in undefined behavior or runtime
+ * errors.
+ */
+- (void)destroyContext;
+
+/**
+ * Ensures that Flutter will generate a semantics tree.
+ *
+ * This is enabled by default if certain accessibility services are turned on by
+ * the user, or when using a Simulator. This method allows a user to turn
+ * semantics on when they would not ordinarily be generated and the performance
+ * overhead is not a concern, e.g. for UI testing. Note that semantics should
+ * never be programmatically turned off, as it would potentially disable
+ * accessibility services an end user has requested.
+ *
+ * This method must only be called after launching the engine via
+ * `-runWithEntrypoint:` or `-runWithEntryPoint:libraryURI`.
+ *
+ * Although this method returns synchronously, it does not guarantee that a
+ * semantics tree is actually available when the method returns. It
+ * synchronously ensures that the next frame the Flutter framework creates will
+ * have a semantics tree.
+ *
+ * You can subscribe to semantics updates via `NSNotificationCenter` by adding
+ * an observer for the name `FlutterSemanticsUpdateNotification`. The `object`
+ * parameter will be the `FlutterViewController` associated with the semantics
+ * update. This will asynchronously fire after a semantics tree has actually
+ * built (which may be some time after the frame has been rendered).
+ */
+- (void)ensureSemanticsEnabled;
+
+/**
+ * Sets the `FlutterViewController` for this instance. The FlutterEngine must be
+ * running (e.g. a successful call to `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI`)
+ * before calling this method. Callers may pass nil to remove the viewController
+ * and have the engine run headless in the current process.
+ *
+ * A FlutterEngine can only have one `FlutterViewController` at a time. If there is
+ * already a `FlutterViewController` associated with this instance, this method will replace
+ * the engine's current viewController with the newly specified one.
+ *
+ * Setting the viewController will signal the engine to start animations and drawing, and unsetting
+ * it will signal the engine to stop animations and drawing. However, neither will impact the state
+ * of the Dart program's execution.
+ */
+@property(nonatomic, weak) FlutterViewController* viewController;
+
+/**
+ * The `FlutterMethodChannel` used for localization related platform messages, such as
+ * setting the locale.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly, nullable) FlutterMethodChannel* localizationChannel;
+/**
+ * The `FlutterMethodChannel` used for navigation related platform messages.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Navigation
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/navigation-constant.html)
+ * @see [Navigator Widget](https://api.flutter.dev/flutter/widgets/Navigator-class.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* navigationChannel;
+
+/**
+ * The `FlutterMethodChannel` used for restoration related platform messages.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Restoration
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/restoration-constant.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* restorationChannel;
+
+/**
+ * The `FlutterMethodChannel` used for core platform messages, such as
+ * information about the screen orientation.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* platformChannel;
+
+/**
+ * The `FlutterMethodChannel` used to communicate text input events to the
+ * Dart Isolate.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Text Input
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/textInput-constant.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* textInputChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used to communicate app lifecycle events
+ * to the Dart Isolate.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Lifecycle
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/lifecycle-constant.html)
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* lifecycleChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating system events, such as
+ * memory pressure events.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [System
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/system-constant.html)
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* systemChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating user settings such as
+ * clock format and text scale.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* settingsChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating key events
+ * from physical keyboards
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* keyEventChannel;
+
+/**
+ * The depcreated `NSURL` of the Dart VM Service for the service isolate.
+ *
+ * This is only set in debug and profile runtime modes, and only after the
+ * Dart VM Service is ready. In release mode or before the Dart VM Service has
+ * started, it returns `nil`.
+ */
+@property(nonatomic, readonly, nullable)
+ NSURL* observatoryUrl FLUTTER_DEPRECATED("Use vmServiceUrl instead");
+
+/**
+ * The `NSURL` of the Dart VM Service for the service isolate.
+ *
+ * This is only set in debug and profile runtime modes, and only after the
+ * Dart VM Service is ready. In release mode or before the Dart VM Service has
+ * started, it returns `nil`.
+ */
+@property(nonatomic, readonly, nullable) NSURL* vmServiceUrl;
+
+/**
+ * The `FlutterBinaryMessenger` associated with this FlutterEngine (used for communicating with
+ * channels).
+ */
+@property(nonatomic, readonly) NSObject* binaryMessenger;
+
+/**
+ * The `FlutterTextureRegistry` associated with this FlutterEngine (used to register textures).
+ */
+@property(nonatomic, readonly) NSObject* textureRegistry;
+
+/**
+ * The UI Isolate ID of the engine.
+ *
+ * This property will be nil if the engine is not running.
+ */
+@property(nonatomic, readonly, copy, nullable) NSString* isolateId;
+
+/**
+ * Whether or not GPU calls are allowed.
+ *
+ * Typically this is set when the app is backgrounded and foregrounded.
+ */
+@property(nonatomic, assign) BOOL isGpuDisabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngineGroup.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngineGroup.h
new file mode 100644
index 0000000..097ffd6
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterEngineGroup.h
@@ -0,0 +1,110 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import
+
+#import "FlutterEngine.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Options that control how a FlutterEngine should be created. */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngineGroupOptions : NSObject
+
+/**
+ * The name of a top-level function from a Dart library. If this is FlutterDefaultDartEntrypoint
+ * (or nil); this will default to `main()`. If it is not the app's main() function, that function
+ * must be decorated with `@pragma(vm:entry-point)` to ensure themethod is not tree-shaken by the
+ * Dart compiler.
+ */
+@property(nonatomic, copy, nullable) NSString* entrypoint;
+
+/**
+ * The URI of the Dart library which contains the entrypoint method. If nil, this will default to
+ * the same library as the `main()` function in the Dart program.
+ */
+@property(nonatomic, copy, nullable) NSString* libraryURI;
+
+/**
+ * The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ */
+@property(nonatomic, copy, nullable) NSString* initialRoute;
+
+/**
+ * Arguments passed as a list of string to Dart's entrypoint function.
+ */
+@property(nonatomic, retain, nullable) NSArray* entrypointArgs;
+@end
+
+/**
+ * Represents a collection of FlutterEngines who share resources which allows
+ * them to be created with less time const and occupy less memory than just
+ * creating multiple FlutterEngines.
+ *
+ * Deleting a FlutterEngineGroup doesn't invalidate existing FlutterEngines, but
+ * it eliminates the possibility to create more FlutterEngines in that group.
+ *
+ * @warning This class is a work-in-progress and may change.
+ * @see https://github.com/flutter/flutter/issues/72009
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngineGroup : NSObject
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Initialize a new FlutterEngineGroup.
+ *
+ * @param name The name that will present in the threads shared across the
+ * engines in this group.
+ * @param project The `FlutterDartProject` that all FlutterEngines in this group
+ * will be executing.
+ */
+- (instancetype)initWithName:(NSString*)name
+ project:(nullable FlutterDartProject*)project NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method. IF nil,
+ * this will default to the same library as the `main()` function in the Dart program.
+ *
+ * @see FlutterEngineGroup
+ */
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method. IF nil,
+ * this will default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ *
+ * @see FlutterEngineGroup
+ */
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param options Options that control how a FlutterEngine should be created.
+ *
+ * @see FlutterEngineGroupOptions
+ */
+- (FlutterEngine*)makeEngineWithOptions:(nullable FlutterEngineGroupOptions*)options;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterHeadlessDartRunner.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
new file mode 100644
index 0000000..08069ab
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
@@ -0,0 +1,97 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
+
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+
+/**
+ * A callback for when FlutterHeadlessDartRunner has attempted to start a Dart
+ * Isolate in the background.
+ *
+ * @param success YES if the Isolate was started and run successfully, NO
+ * otherwise.
+ */
+typedef void (^FlutterHeadlessDartRunnerCallback)(BOOL success);
+
+/**
+ * The deprecated FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer,
+ * and no native drawing surface. It is appropriate for use in running Dart
+ * code e.g. in the background from a plugin.
+ *
+ * Most callers should prefer using `FlutterEngine` directly; this interface exists
+ * for legacy support.
+ */
+FLUTTER_DARWIN_EXPORT
+FLUTTER_DEPRECATED("FlutterEngine should be used rather than FlutterHeadlessDartRunner")
+@interface FlutterHeadlessDartRunner : FlutterEngine
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil;
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Must be set to `YES`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(FlutterDartProject*)projectOrNil
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution;
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Must be set to `YES`.
+ * @param restorationEnabled Must be set to `NO`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(FlutterDartProject*)projectOrNil
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution
+ restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Not recommended for use - will initialize with a default label ("io.flutter.headless")
+ * and the default FlutterDartProject.
+ */
+- (instancetype)init;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterMacros.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterMacros.h
new file mode 100644
index 0000000..7f53b41
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterMacros.h
@@ -0,0 +1,48 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
+
+#if defined(FLUTTER_FRAMEWORK)
+
+#define FLUTTER_DARWIN_EXPORT __attribute__((visibility("default")))
+
+#else // defined(FLUTTER_SDK)
+
+#define FLUTTER_DARWIN_EXPORT
+
+#endif // defined(FLUTTER_SDK)
+
+#ifndef NS_ASSUME_NONNULL_BEGIN
+#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
+#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
+#endif // defined(NS_ASSUME_NONNULL_BEGIN)
+
+/**
+ * Indicates that the API has been deprecated for the specified reason. Code
+ * that uses the deprecated API will continue to work as before. However, the
+ * API will soon become unavailable and users are encouraged to immediately take
+ * the appropriate action mentioned in the deprecation message and the BREAKING
+ * CHANGES section present in the Flutter.h umbrella header.
+ */
+#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
+
+/**
+ * Indicates that the previously deprecated API is now unavailable. Code that
+ * uses the API will not work and the declaration of the API is only a stub
+ * meant to display the given message detailing the actions for the user to take
+ * immediately.
+ */
+#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
+
+#if __has_feature(objc_arc)
+#define FLUTTER_ASSERT_ARC
+#define FLUTTER_ASSERT_NOT_ARC #error ARC must be disabled !
+#else
+#define FLUTTER_ASSERT_ARC #error ARC must be enabled !
+#define FLUTTER_ASSERT_NOT_ARC
+#endif
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlatformViews.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlatformViews.h
new file mode 100644
index 0000000..59ba4af
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlatformViews.h
@@ -0,0 +1,56 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
+
+#import
+
+#import "FlutterCodecs.h"
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Wraps a `UIView` for embedding in the Flutter hierarchy
+ */
+@protocol FlutterPlatformView
+/**
+ * Returns a reference to the `UIView` that is wrapped by this `FlutterPlatformView`.
+ */
+- (UIView*)view;
+@end
+
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterPlatformViewFactory
+/**
+ * Create a `FlutterPlatformView`.
+ *
+ * Implemented by iOS code that expose a `UIView` for embedding in a Flutter app.
+ *
+ * The implementation of this method should create a new `UIView` and return it.
+ *
+ * @param frame The rectangle for the newly created `UIView` measured in points.
+ * @param viewId A unique identifier for this `UIView`.
+ * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app.
+ * If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart
+ * code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by
+ * `createArgsCodec`.
+ */
+- (NSObject*)createWithFrame:(CGRect)frame
+ viewIdentifier:(int64_t)viewId
+ arguments:(id _Nullable)args;
+
+/**
+ * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`.
+ *
+ * Only needs to be implemented if `createWithFrame` needs an arguments parameter.
+ */
+@optional
+- (NSObject*)createArgsCodec;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlugin.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlugin.h
new file mode 100644
index 0000000..8ab46cf
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPlugin.h
@@ -0,0 +1,448 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
+
+#import
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterTexture.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@protocol FlutterPluginRegistrar;
+@protocol FlutterPluginRegistry;
+
+#pragma mark -
+/**
+ * Protocol for listener of events from the UIApplication, typically a FlutterPlugin.
+ */
+@protocol FlutterApplicationLifeCycleDelegate
+
+@optional
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if this vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if this vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationDidBecomeActive:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillResignActive:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationDidEnterBackground:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillEnterForeground:(UIApplication*)application;
+
+/**
+ Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillTerminate:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
+ ios(8.0, 10.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ didReceiveRemoteNotification:(NSDictionary*)userInfo
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveLocalNotification:(UILocalNotification*)notification
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
+ ios(4.0, 10.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ options:(NSDictionary*)options;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ sourceApplication:(NSString*)sourceApplication
+ annotation:(id)annotation;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
+ completionHandler:(void (^)(BOOL succeeded))completionHandler
+ API_AVAILABLE(ios(9.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
+ completionHandler:(nonnull void (^)(void))completionHandler;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ continueUserActivity:(NSUserActivity*)userActivity
+ restorationHandler:(void (^)(NSArray*))restorationHandler;
+@end
+
+#pragma mark -
+/**
+ * A plugin registration callback.
+ *
+ * Used for registering plugins with additional instances of
+ * `FlutterPluginRegistry`.
+ *
+ * @param registry The registry to register plugins with.
+ */
+typedef void (*FlutterPluginRegistrantCallback)(NSObject* registry);
+
+#pragma mark -
+/**
+ * Implemented by the iOS part of a Flutter plugin.
+ *
+ * Defines a set of optional callback methods and a method to set up the plugin
+ * and register it to be called by other application components.
+ */
+@protocol FlutterPlugin
+@required
+/**
+ * Registers this plugin using the context information and callback registration
+ * methods exposed by the given registrar.
+ *
+ * The registrar is obtained from a `FlutterPluginRegistry` which keeps track of
+ * the identity of registered plugins and provides basic support for cross-plugin
+ * coordination.
+ *
+ * The caller of this method, a plugin registrant, is usually autogenerated by
+ * Flutter tooling based on declared plugin dependencies. The generated registrant
+ * asks the registry for a registrar for each plugin, and calls this method to
+ * allow the plugin to initialize itself and register callbacks with application
+ * objects available through the registrar protocol.
+ *
+ * @param registrar A helper providing application context and methods for
+ * registering callbacks.
+ */
++ (void)registerWithRegistrar:(NSObject*)registrar;
+@optional
+/**
+ * Set a callback for registering plugins to an additional `FlutterPluginRegistry`,
+ * including headless `FlutterEngine` instances.
+ *
+ * This method is typically called from within an application's `AppDelegate` at
+ * startup to allow for plugins which create additional `FlutterEngine` instances
+ * to register the application's plugins.
+ *
+ * @param callback A callback for registering some set of plugins with a
+ * `FlutterPluginRegistry`.
+ */
++ (void)setPluginRegistrantCallback:(FlutterPluginRegistrantCallback)callback;
+@optional
+/**
+ * Called if this plugin has been registered to receive `FlutterMethodCall`s.
+ *
+ * @param call The method call command object.
+ * @param result A callback for submitting the result of the call.
+ */
+- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result;
+@optional
+/**
+ * Called when a plugin is being removed from a `FlutterEngine`, which is
+ * usually the result of the `FlutterEngine` being deallocated. This method
+ * provides the opportunity to do necessary cleanup.
+ *
+ * You will only receive this method if you registered your plugin instance with
+ * the `FlutterEngine` via `-[FlutterPluginRegistry publish:]`.
+ *
+ * @param registrar The registrar that was used to publish the plugin.
+ *
+ */
+- (void)detachFromEngineForRegistrar:(NSObject*)registrar;
+@end
+
+#pragma mark -
+/**
+ * How the UIGestureRecognizers of a platform view are blocked.
+ *
+ * UIGestureRecognizers of platform views can be blocked based on decisions made by the
+ * Flutter Framework (e.g. When an interact-able widget is covering the platform view).
+ */
+typedef enum {
+ // NOLINTBEGIN(readability-identifier-naming)
+ /**
+ * Flutter blocks all the UIGestureRecognizers on the platform view as soon as it
+ * decides they should be blocked.
+ *
+ * With this policy, only the `touchesBegan` method for all the UIGestureRecognizers is guaranteed
+ * to be called.
+ */
+ FlutterPlatformViewGestureRecognizersBlockingPolicyEager,
+ /**
+ * Flutter blocks the platform view's UIGestureRecognizers from recognizing only after
+ * touchesEnded was invoked.
+ *
+ * This results in the platform view's UIGestureRecognizers seeing the entire touch sequence,
+ * but never recognizing the gesture (and never invoking actions).
+ */
+ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded,
+ // NOLINTEND(readability-identifier-naming)
+} FlutterPlatformViewGestureRecognizersBlockingPolicy;
+
+#pragma mark -
+/**
+ * Registration context for a single `FlutterPlugin`, providing a one stop shop
+ * for the plugin to access contextual information and register callbacks for
+ * various application events.
+ *
+ * Registrars are obtained from a `FlutterPluginRegistry` which keeps track of
+ * the identity of registered plugins and provides basic support for cross-plugin
+ * coordination.
+ */
+@protocol FlutterPluginRegistrar
+/**
+ * Returns a `FlutterBinaryMessenger` for creating Dart/iOS communication
+ * channels to be used by the plugin.
+ *
+ * @return The messenger.
+ */
+- (NSObject*)messenger;
+
+/**
+ * Returns a `FlutterTextureRegistry` for registering textures
+ * provided by the plugin.
+ *
+ * @return The texture registry.
+ */
+- (NSObject*)textures;
+
+/**
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
+ *
+ * Plugins expose `UIView` for embedding in Flutter apps by registering a view factory.
+ *
+ * @param factory The view factory that will be registered.
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
+ * this identifier to request creation of a `UIView` by the registered factory.
+ */
+- (void)registerViewFactory:(NSObject*)factory
+ withId:(NSString*)factoryId;
+
+/**
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
+ *
+ * Plugins can expose a `UIView` for embedding in Flutter apps by registering a view factory.
+ *
+ * @param factory The view factory that will be registered.
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
+ * this identifier to request creation of a `UIView` by the registered factory.
+ * @param gestureRecognizersBlockingPolicy How UIGestureRecognizers on the platform views are
+ * blocked.
+ *
+ */
+- (void)registerViewFactory:(NSObject*)factory
+ withId:(NSString*)factoryId
+ gestureRecognizersBlockingPolicy:
+ (FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy;
+
+/**
+ * Publishes a value for external use of the plugin.
+ *
+ * Plugins may publish a single value, such as an instance of the
+ * plugin's main class, for situations where external control or
+ * interaction is needed.
+ *
+ * The published value will be available from the `FlutterPluginRegistry`.
+ * Repeated calls overwrite any previous publication.
+ *
+ * @param value The value to be published.
+ */
+- (void)publish:(NSObject*)value;
+
+/**
+ * Registers the plugin as a receiver of incoming method calls from the Dart side
+ * on the specified `FlutterMethodChannel`.
+ *
+ * @param delegate The receiving object, such as the plugin's main class.
+ * @param channel The channel
+ */
+- (void)addMethodCallDelegate:(NSObject*)delegate
+ channel:(FlutterMethodChannel*)channel;
+
+/**
+ * Registers the plugin as a receiver of `UIApplicationDelegate` calls.
+ *
+ * @param delegate The receiving object, such as the plugin's main class.
+ */
+- (void)addApplicationDelegate:(NSObject*)delegate
+ NS_EXTENSION_UNAVAILABLE_IOS("Disallowed in plugins used in app extensions");
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return the file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return the file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+@end
+
+#pragma mark -
+/**
+ * A registry of Flutter iOS plugins.
+ *
+ * Plugins are identified by unique string keys, typically the name of the
+ * plugin's main class. The registry tracks plugins by this key, mapping it to
+ * a value published by the plugin during registration, if any. This provides a
+ * very basic means of cross-plugin coordination with loose coupling between
+ * unrelated plugins.
+ *
+ * Plugins typically need contextual information and the ability to register
+ * callbacks for various application events. To keep the API of the registry
+ * focused, these facilities are not provided directly by the registry, but by
+ * a `FlutterPluginRegistrar`, created by the registry in exchange for the unique
+ * key of the plugin.
+ *
+ * There is no implied connection between the registry and the registrar.
+ * Specifically, callbacks registered by the plugin via the registrar may be
+ * relayed directly to the underlying iOS application objects.
+ */
+@protocol FlutterPluginRegistry
+/**
+ * Returns a registrar for registering a plugin.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ */
+- (nullable NSObject*)registrarForPlugin:(NSString*)pluginKey;
+/**
+ * Returns whether the specified plugin has been registered.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ * @return `YES` if `registrarForPlugin` has been called with `pluginKey`.
+ */
+- (BOOL)hasPlugin:(NSString*)pluginKey;
+
+/**
+ * Returns a value published by the specified plugin.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ * @return An object published by the plugin, if any. Will be `NSNull` if
+ * nothing has been published. Will be `nil` if the plugin has not been
+ * registered.
+ */
+- (nullable NSObject*)valuePublishedByPlugin:(NSString*)pluginKey;
+@end
+
+#pragma mark -
+/**
+ * Implement this in the `UIAppDelegate` of your app to enable Flutter plugins to register
+ * themselves to the application life cycle events.
+ *
+ * For plugins to receive events from `UNUserNotificationCenter`, register this as the
+ * `UNUserNotificationCenterDelegate`.
+ */
+@protocol FlutterAppLifeCycleProvider
+
+/**
+ * Called when registering a new `FlutterApplicaitonLifeCycleDelegate`.
+ *
+ * See also: `-[FlutterAppDelegate addApplicationLifeCycleDelegate:]`
+ */
+- (void)addApplicationLifeCycleDelegate:(NSObject*)delegate;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
new file mode 100644
index 0000000..95d1e61
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
@@ -0,0 +1,148 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
+
+#import "FlutterPlugin.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Propagates `UIAppDelegate` callbacks to registered plugins.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterPluginAppLifeCycleDelegate : NSObject
+
+/**
+ * Registers `delegate` to receive life cycle callbacks via this FlutterPluginAppLifeCycleDelegate
+ * as long as it is alive.
+ *
+ * `delegate` will only be referenced weakly.
+ */
+- (void)addDelegate:(NSObject*)delegate;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if any plugin vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if any plugin vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this plugin has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
+ ios(8.0, 10.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveRemoteNotification:(NSDictionary*)userInfo
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveLocalNotification:(UILocalNotification*)notification
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
+ ios(4.0, 10.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ options:(NSDictionary*)options;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ sourceApplication:(NSString*)sourceApplication
+ annotation:(id)annotation;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
+ completionHandler:(void (^)(BOOL succeeded))completionHandler
+ API_AVAILABLE(ios(9.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
+ completionHandler:(nonnull void (^)(void))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @returns `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ continueUserActivity:(NSUserActivity*)userActivity
+ restorationHandler:(void (^)(NSArray*))restorationHandler;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterTexture.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterTexture.h
new file mode 100644
index 0000000..003b865
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterTexture.h
@@ -0,0 +1,62 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
+
+#import
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * Represents a texture that can be shared with Flutter.
+ *
+ * See also: https://github.com/flutter/plugins/tree/master/packages/camera
+ */
+@protocol FlutterTexture
+/** Copy the contents of the texture into a `CVPixelBuffer`. */
+- (CVPixelBufferRef _Nullable)copyPixelBuffer;
+
+/**
+ * Called when the texture is unregistered.
+ *
+ * Called on the raster thread.
+ */
+@optional
+- (void)onTextureUnregistered:(NSObject*)texture;
+@end
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * A collection of registered `FlutterTexture`'s.
+ */
+@protocol FlutterTextureRegistry
+/**
+ * Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
+ * that texture when calling into Flutter with channels. Textures must be registered on the
+ * platform thread. On success returns the pointer to the registered texture, else returns 0.
+ */
+- (int64_t)registerTexture:(NSObject*)texture;
+/**
+ * Notifies Flutter that the content of the previously registered texture has been updated.
+ *
+ * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
+ */
+- (void)textureFrameAvailable:(int64_t)textureId;
+/**
+ * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
+ * must be unregistered on the platform thread.
+ *
+ * @param textureId The result that was previously returned from `registerTexture:`.
+ */
+- (void)unregisterTexture:(int64_t)textureId;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterViewController.h b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterViewController.h
new file mode 100644
index 0000000..a218fd3
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Headers/FlutterViewController.h
@@ -0,0 +1,260 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
+
+#import
+#include
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+#import "FlutterTexture.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class FlutterEngine;
+
+/**
+ * The name used for semantic update notifications via `NSNotificationCenter`.
+ *
+ * The object passed as the sender is the `FlutterViewController` associated
+ * with the update.
+ */
+FLUTTER_DARWIN_EXPORT
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSNotificationName const FlutterSemanticsUpdateNotification;
+
+/**
+ * A `UIViewController` implementation for Flutter views.
+ *
+ * Dart execution, channel communication, texture registration, and plugin registration are all
+ * handled by `FlutterEngine`. Calls on this class to those members all proxy through to the
+ * `FlutterEngine` attached FlutterViewController.
+ *
+ * A FlutterViewController can be initialized either with an already-running `FlutterEngine` via the
+ * `initWithEngine:` initializer, or it can be initialized with a `FlutterDartProject` that will be
+ * used to implicitly spin up a new `FlutterEngine`. Creating a `FlutterEngine` before showing a
+ * FlutterViewController can be used to pre-initialize the Dart VM and to prepare the isolate in
+ * order to reduce the latency to the first rendered frame. See
+ * https://flutter.dev/docs/development/add-to-app/performance for more details on loading
+ * latency.
+ *
+ * Holding a `FlutterEngine` independently of FlutterViewControllers can also be used to not to lose
+ * Dart-related state and asynchronous tasks when navigating back and forth between a
+ * FlutterViewController and other `UIViewController`s.
+ */
+FLUTTER_DARWIN_EXPORT
+#ifdef __IPHONE_13_4
+@interface FlutterViewController
+ : UIViewController
+#else
+@interface FlutterViewController : UIViewController
+#endif
+
+/**
+ * Initializes this FlutterViewController with the specified `FlutterEngine`.
+ *
+ * The initialized viewcontroller will attach itself to the engine as part of this process.
+ *
+ * @param engine The `FlutterEngine` instance to attach to. Cannot be nil.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithEngine:(FlutterEngine*)engine
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
+ * `FlutterDartProject`.
+ *
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
+ * after initialization.
+ *
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
+ * `FlutterDartProject` and `initialRoute`.
+ *
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
+ * after initialization.
+ *
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
+ * @param initialRoute The initial `Navigator` route to load.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
+ initialRoute:(nullable NSString*)initialRoute
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializer that is called from loading a FlutterViewController from a XIB.
+ *
+ * See also:
+ * https://developer.apple.com/documentation/foundation/nscoding/1416145-initwithcoder?language=objc
+ */
+- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Registers a callback that will be invoked when the Flutter view has been rendered.
+ * The callback will be fired only once.
+ *
+ * Replaces an existing callback. Use a `nil` callback to unregister the existing one.
+ */
+- (void)setFlutterViewDidRenderCallback:(void (^)(void))callback;
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the application's
+ * main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return The file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset which originates from the specified
+ * package.
+ * The returned file name can be used to access the asset in the application's
+ * main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return The file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+
+/**
+ * Deprecated API to set initial route.
+ *
+ * Attempts to set the first route that the Flutter app shows if the Flutter
+ * runtime hasn't yet started. The default is "/".
+ *
+ * This method must be called immediately after `initWithProject` and has no
+ * effect when using `initWithEngine` if the `FlutterEngine` has already been
+ * run.
+ *
+ * Setting this after the Flutter started running has no effect. See `pushRoute`
+ * and `popRoute` to change the route after Flutter started running.
+ *
+ * This is deprecated because it needs to be called at the time of initialization
+ * and thus should just be in the `initWithProject` initializer. If using
+ * `initWithEngine`, the initial route should be set on the engine's
+ * initializer.
+ *
+ * @param route The name of the first route to show.
+ */
+- (void)setInitialRoute:(NSString*)route
+ FLUTTER_DEPRECATED("Use FlutterViewController initializer to specify initial route");
+
+/**
+ * Instructs the Flutter Navigator (if any) to go back.
+ */
+- (void)popRoute;
+
+/**
+ * Instructs the Flutter Navigator (if any) to push a route on to the navigation
+ * stack.
+ *
+ * @param route The name of the route to push to the navigation stack.
+ */
+- (void)pushRoute:(NSString*)route;
+
+/**
+ * The `FlutterPluginRegistry` used by this FlutterViewController.
+ */
+- (id)pluginRegistry;
+
+/**
+ * A wrapper around UIAccessibilityIsVoiceOverRunning().
+ *
+ * As a C function, UIAccessibilityIsVoiceOverRunning() cannot be mocked in testing. Mock
+ * this class method to testing features depends on UIAccessibilityIsVoiceOverRunning().
+ */
++ (BOOL)isUIAccessibilityIsVoiceOverRunning;
+
+/**
+ * True if at least one frame has rendered and the ViewController has appeared.
+ *
+ * This property is reset to false when the ViewController disappears. It is
+ * guaranteed to only alternate between true and false for observers.
+ */
+@property(nonatomic, readonly, getter=isDisplayingFlutterUI) BOOL displayingFlutterUI;
+
+/**
+ * Specifies the view to use as a splash screen. Flutter's rendering is asynchronous, so the first
+ * frame rendered by the Flutter application might not immediately appear when the Flutter view is
+ * initially placed in the view hierarchy. The splash screen view will be used as
+ * a replacement until the first frame is rendered.
+ *
+ * The view used should be appropriate for multiple sizes; an autoresizing mask to
+ * have a flexible width and height will be applied automatically.
+ *
+ * Set to nil to remove the splash screen view.
+ */
+@property(strong, nonatomic, nullable) UIView* splashScreenView;
+
+/**
+ * Attempts to set the `splashScreenView` property from the `UILaunchStoryboardName` from the
+ * main bundle's `Info.plist` file. This method will not change the value of `splashScreenView`
+ * if it cannot find a default one from a storyboard or nib.
+ *
+ * @return `YES` if successful, `NO` otherwise.
+ */
+- (BOOL)loadDefaultSplashScreenView;
+
+/**
+ * Controls whether the created view will be opaque or not.
+ *
+ * Default is `YES`. Note that setting this to `NO` may negatively impact performance
+ * when using hardware acceleration, and toggling this will trigger a re-layout of the
+ * view.
+ */
+@property(nonatomic, getter=isViewOpaque) BOOL viewOpaque;
+
+/**
+ * The `FlutterEngine` instance for this view controller. This could be the engine this
+ * `FlutterViewController` is initialized with or a new `FlutterEngine` implicitly created if
+ * no engine was supplied during initialization.
+ */
+@property(weak, nonatomic, readonly) FlutterEngine* engine;
+
+/**
+ * The `FlutterBinaryMessenger` associated with this FlutterViewController (used for communicating
+ * with channels).
+ *
+ * This is just a convenient way to get the |FlutterEngine|'s binary messenger.
+ */
+@property(nonatomic, readonly) NSObject* binaryMessenger;
+
+/**
+ * If the `FlutterViewController` creates a `FlutterEngine`, this property
+ * determines if that `FlutterEngine` has `allowHeadlessExecution` set.
+ *
+ * The intention is that this is used with the XIB. Otherwise, a
+ * `FlutterEngine` can just be sent to the init methods.
+ *
+ * See also: `-[FlutterEngine initWithName:project:allowHeadlessExecution:]`
+ */
+@property(nonatomic, readonly) BOOL engineAllowHeadlessExecution;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Info.plist b/build/ios/Debug-iphoneos/Flutter.framework/Info.plist
new file mode 100644
index 0000000..da29070
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Info.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ Flutter
+ CFBundleIdentifier
+ io.flutter.flutter
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ Flutter
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 11.0
+ FlutterEngine
+ e76c956498841e1ab458577d3892003e553e4f3c
+ ClangVersion
+ b'Fuchsia clang version 18.0.0 (https://llvm.googlesource.com/llvm-project 725656bdd885483c39f482a01ea25d67acf39c46)'
+
+
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/Modules/module.modulemap b/build/ios/Debug-iphoneos/Flutter.framework/Modules/module.modulemap
new file mode 100644
index 0000000..bf81c8a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module Flutter {
+ umbrella header "Flutter.h"
+
+ export *
+ module * { export * }
+}
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/Flutter.framework/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..d4bc7fc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/PrivacyInfo.xcprivacy
@@ -0,0 +1,32 @@
+
+
+
+
+ NSPrivacyTracking
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ 0A2A.1
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Flutter.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..9cdf80a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Flutter.framework/_CodeSignature/CodeResources
@@ -0,0 +1,311 @@
+
+
+
+
+ files
+
+ Headers/Flutter.h
+
+ wTPJHICwW6wxY3b87ek7ITN5kJk=
+
+ Headers/FlutterAppDelegate.h
+
+ zbvYFr9dywry0lMMrHuNOOaNgkY=
+
+ Headers/FlutterBinaryMessenger.h
+
+ ksjIMu5IPw+Q3rw2YkAx0KjxkdM=
+
+ Headers/FlutterCallbackCache.h
+
+ V/wkSSsyYdMoexF6wPrC3KgkL4g=
+
+ Headers/FlutterChannels.h
+
+ vFsZXNqjflvqKqAzsIptQaTSJho=
+
+ Headers/FlutterCodecs.h
+
+ sUgX1PJzkvyinL5i7nS1ro/Kd5o=
+
+ Headers/FlutterDartProject.h
+
+ 1Ii7W6lYWZUeB6C6rtn269jAxgA=
+
+ Headers/FlutterEngine.h
+
+ AqVvCbPmgWMQKrRnib05Okrjbp0=
+
+ Headers/FlutterEngineGroup.h
+
+ nZcTgHGDD30QzPLlQfP8gP+S06o=
+
+ Headers/FlutterHeadlessDartRunner.h
+
+ UqnnVWwQEYYX56eu7lt6dpR3LIc=
+
+ Headers/FlutterMacros.h
+
+ crQ9782ULebLQfIR+MbBkjB7d+k=
+
+ Headers/FlutterPlatformViews.h
+
+ ocQVSiAiUMYfVtZIn48LpYTJA5w=
+
+ Headers/FlutterPlugin.h
+
+ EARXud6pHb7ZYP8eXPDnluMqcXk=
+
+ Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ qWHw5VIWEa0NmJ1PMhD16nlfRKk=
+
+ Headers/FlutterTexture.h
+
+ 7nFruy6bmD9XHvbzEwfdTXE4Rkk=
+
+ Headers/FlutterViewController.h
+
+ n0oqDKaGwBHcAUY4+7F+z78onKc=
+
+ Info.plist
+
+ 4h4j8sv5dl7Tn/xCcbUeqZHdBTo=
+
+ Modules/module.modulemap
+
+ wJV5dCKEGl+FAtDc8wJJh/fvKXs=
+
+ PrivacyInfo.xcprivacy
+
+ D+cqXttvC7E/uziGjFdqFabWd7A=
+
+ icudtl.dat
+
+ Ubat0LvE4LUgCwHeyl0Anx2vnzk=
+
+
+ files2
+
+ Headers/Flutter.h
+
+ hash2
+
+ auaf7wPxiASCYD2ACy1dfbMJvmONwFvSz1BWYAQrrSw=
+
+
+ Headers/FlutterAppDelegate.h
+
+ hash2
+
+ o0iigVsmgwmtZfSv3X7hReDNYP5rXblslDnqq2s6UQc=
+
+
+ Headers/FlutterBinaryMessenger.h
+
+ hash2
+
+ EXDk4t+7qCpyQkar+q9WHqY9bcK8eyohCwGVtBJhMy8=
+
+
+ Headers/FlutterCallbackCache.h
+
+ hash2
+
+ 0h9+vK5K+r8moTsiGBfs6+TM9Qog089afHAy3gbcwDU=
+
+
+ Headers/FlutterChannels.h
+
+ hash2
+
+ kg195C3vZLiOn8KeFQUy7DoVuA9VZDpqoBLVn64uGaI=
+
+
+ Headers/FlutterCodecs.h
+
+ hash2
+
+ ZyqlHYuZbpFevVeny9Wdl0rVFgS7szIyssSiCyaaeFM=
+
+
+ Headers/FlutterDartProject.h
+
+ hash2
+
+ Y5PEW7Tws4XpVmn15X/fdaU0d76hSeF803JlgrI20qE=
+
+
+ Headers/FlutterEngine.h
+
+ hash2
+
+ RAOC6nDhZdghbAzsIZgVeq6qPt+MUNTfm/vkUnhmZO4=
+
+
+ Headers/FlutterEngineGroup.h
+
+ hash2
+
+ I+878Ez9ZpVdAR2GOzKJKjaZ5m807AeAF++2pSMQss4=
+
+
+ Headers/FlutterHeadlessDartRunner.h
+
+ hash2
+
+ nmZjZpvFCXrygf4U9aPkNi8VcI7cL5AtA+CY5uUWIL0=
+
+
+ Headers/FlutterMacros.h
+
+ hash2
+
+ ebBVHSZcUnAbN4hRcYq3ttt6++z1Ybc8KVSYhVToD5k=
+
+
+ Headers/FlutterPlatformViews.h
+
+ hash2
+
+ 4hl+kRU4PNNKdAHvYrliObXzSjRzow9Z18oOMRZIa0o=
+
+
+ Headers/FlutterPlugin.h
+
+ hash2
+
+ HqbvCHqKWTzs5GjLAwupqEIYVi9yf5CrMdMe31EOwUA=
+
+
+ Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ hash2
+
+ +PMn+5SDj2Vd6RU8CQIt/JYl3T+8Dhp7HImqAzocoNk=
+
+
+ Headers/FlutterTexture.h
+
+ hash2
+
+ 4kb25KahvBulQiElAYv/ZSbdkhkb5F/AKRZv4IjLsOw=
+
+
+ Headers/FlutterViewController.h
+
+ hash2
+
+ phm49xhui2KkRomlqtmASHuU7lmd/s3qNCQpYxC0IMc=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ 0VjriRpZ7AZZaP/0mMAPMJPhi6LoMB4MhXzL5j24tGs=
+
+
+ PrivacyInfo.xcprivacy
+
+ hash2
+
+ n5XX54YqS1a2btkmvW1iLSplRagn0ZhHJ4tDjVcdQhI=
+
+
+ icudtl.dat
+
+ hash2
+
+ ZepykIMSjfzhwAcmupMrkaqvXkhza1ZE3TdHjl8odaw=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Flutter.framework/icudtl.dat b/build/ios/Debug-iphoneos/Flutter.framework/icudtl.dat
new file mode 100644
index 0000000..466abd8
Binary files /dev/null and b/build/ios/Debug-iphoneos/Flutter.framework/icudtl.dat differ
diff --git a/build/ios/Debug-iphoneos/Pods_Runner.framework/Headers/Pods-Runner-umbrella.h b/build/ios/Debug-iphoneos/Pods_Runner.framework/Headers/Pods-Runner-umbrella.h
new file mode 100644
index 0000000..5bf0aab
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Pods_Runner.framework/Headers/Pods-Runner-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double Pods_RunnerVersionNumber;
+FOUNDATION_EXPORT const unsigned char Pods_RunnerVersionString[];
+
diff --git a/build/ios/Debug-iphoneos/Pods_Runner.framework/Info.plist b/build/ios/Debug-iphoneos/Pods_Runner.framework/Info.plist
new file mode 100644
index 0000000..12afe00
Binary files /dev/null and b/build/ios/Debug-iphoneos/Pods_Runner.framework/Info.plist differ
diff --git a/build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/1d25fcc22f15e5a23b7835736aaf8c47 b/build/ios/Debug-iphoneos/Pods_Runner.framework/Modules/module.modulemap
similarity index 100%
rename from build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/1d25fcc22f15e5a23b7835736aaf8c47
rename to build/ios/Debug-iphoneos/Pods_Runner.framework/Modules/module.modulemap
diff --git a/build/ios/Debug-iphoneos/Pods_Runner.framework/Pods_Runner b/build/ios/Debug-iphoneos/Pods_Runner.framework/Pods_Runner
new file mode 100644
index 0000000..6dac155
Binary files /dev/null and b/build/ios/Debug-iphoneos/Pods_Runner.framework/Pods_Runner differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/AppFrameworkInfo.plist b/build/ios/Debug-iphoneos/Runner.app/AppFrameworkInfo.plist
new file mode 100644
index 0000000..230d38e
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/AppFrameworkInfo.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/AppIcon60x60@2x.png b/build/ios/Debug-iphoneos/Runner.app/AppIcon60x60@2x.png
new file mode 100644
index 0000000..4e0b9b8
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/AppIcon60x60@2x.png differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/AppIcon76x76@2x~ipad.png b/build/ios/Debug-iphoneos/Runner.app/AppIcon76x76@2x~ipad.png
new file mode 100644
index 0000000..c6baaf0
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/AppIcon76x76@2x~ipad.png differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Assets.car b/build/ios/Debug-iphoneos/Runner.app/Assets.car
new file mode 100644
index 0000000..f25c32e
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Assets.car differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
new file mode 100644
index 0000000..623fb36
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
new file mode 100644
index 0000000..32288e8
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
new file mode 100644
index 0000000..29c6297
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
new file mode 100644
index 0000000..5368f93
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist
new file mode 100644
index 0000000..9a41f2c
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
new file mode 100644
index 0000000..789545e
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App
new file mode 100755
index 0000000..d5ba45a
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/Info.plist
new file mode 100644
index 0000000..7c56964
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ App
+ CFBundleIdentifier
+ io.flutter.flutter.app
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ App
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 12.0
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..e688d71
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources
@@ -0,0 +1,234 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ h5OB7aKzS5WR9SemvZAyN6FEkJs=
+
+ flutter_assets/AssetManifest.bin
+
+ nppY/SgfJlLHZzmbow3RnZMXeVI=
+
+ flutter_assets/AssetManifest.json
+
+ SrA+dnnv0cgCjtutFqnacYn9E/M=
+
+ flutter_assets/FontManifest.json
+
+ vKJkVIcw+LGHFnKJGwrQwCREv68=
+
+ flutter_assets/NOTICES.Z
+
+ QCDACWf11cA4QfYwAwI/1JnWBaw=
+
+ flutter_assets/assets/appbar_background.png
+
+ JkgEiNZSVRa0lrDwrdeN4N1j56k=
+
+ flutter_assets/assets/logo.png
+
+ Kp3Vqz9/+Q7JHvx/0dcelGsVQ0Y=
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ /CUoTuPQqqdexfyOT9lpJhV+2MQ=
+
+ flutter_assets/isolate_snapshot_data
+
+ cU5igDxcIVzLQT2ishbNSdUocVk=
+
+ flutter_assets/kernel_blob.bin
+
+ 2S861NjVoBUyLZO/rAR+4BdQj3A=
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ Bvk+P1ykE1PGRdktwgwDyz6AOqM=
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hBZgIGdEvhX+IvXd5bjkjJVu6+s=
+
+ flutter_assets/vm_snapshot_data
+
+ ap40xllbguuMfkV4mJkKh/NQWg4=
+
+
+ files2
+
+ flutter_assets/AssetManifest.bin
+
+ hash2
+
+ q8Ie4Ld3/fiNviXBIo+2I1C35qbB9odFDYKbahX2XZY=
+
+
+ flutter_assets/AssetManifest.json
+
+ hash2
+
+ Bmf/DHmOo0s6mgjvOjLEVTky39BPm3x3AhVDJwMtcmw=
+
+
+ flutter_assets/FontManifest.json
+
+ hash2
+
+ zX4DZFvESy3Ue3y2JvUcTsv1Whl6t3JBYotHrBZfviE=
+
+
+ flutter_assets/NOTICES.Z
+
+ hash2
+
+ uxaMPyJTnaE0nTnvDYOClHo7+tK7avIaA0XpeSqftdE=
+
+
+ flutter_assets/assets/appbar_background.png
+
+ hash2
+
+ EhS8+djmZXDI2ucxttToNMvFcA3W1ezHx112CQRIqpw=
+
+
+ flutter_assets/assets/logo.png
+
+ hash2
+
+ QQd+B8xc2yWOncyL/vSm9aFtpY4LhK/gaxHds158yCc=
+
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ hash2
+
+ 2YZbZxoJ1oPROoYwidiCXg9ho3aWzl19RIvIAjqmJFM=
+
+
+ flutter_assets/isolate_snapshot_data
+
+ hash2
+
+ 2xhrt3e9Akh13HCD0k45mouHg3CpgXDn1AwXioeg1PY=
+
+
+ flutter_assets/kernel_blob.bin
+
+ hash2
+
+ GQB/lHoxNUJcA5CBiQBdyBuX3jr7Tfbc7Ubr79pH6iM=
+
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ hash2
+
+ Z8RP6Rg7AC553ef2l34piGYcmj5KPF/OloeH79vtgjw=
+
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hash2
+
+ 0T+w183eMSTh5phjUfkXjg4ZpPYnVqkH4Gv3Ge4QCh8=
+
+
+ flutter_assets/vm_snapshot_data
+
+ hash2
+
+ 6eubeZZqyUNzwtBtT1r66GIIirzwERUZET0Gp6oe/CI=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin
new file mode 100644
index 0000000..80ea2b2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin
@@ -0,0 +1 @@
+
assets/appbar_background.png
assetassets/appbar_background.pngassets/logo.png
assetassets/logo.png2packages/cupertino_icons/assets/CupertinoIcons.ttf
asset2packages/cupertino_icons/assets/CupertinoIcons.ttf
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json
new file mode 100644
index 0000000..7704b16
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json
@@ -0,0 +1 @@
+{"assets/appbar_background.png":["assets/appbar_background.png"],"assets/logo.png":["assets/logo.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json
new file mode 100644
index 0000000..464ab58
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json
@@ -0,0 +1 @@
+[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z
new file mode 100644
index 0000000..cbb9f46
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png
new file mode 100644
index 0000000..8d1da9a
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png
new file mode 100644
index 0000000..36017a2
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
new file mode 100644
index 0000000..8c99266
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data
new file mode 100644
index 0000000..dd5c896
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin
new file mode 100644
index 0000000..d6f6e9a
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
new file mode 100644
index 0000000..d580ce7
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag
new file mode 100644
index 0000000..6aa6625
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data
new file mode 100644
index 0000000..0fa016c
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter
new file mode 100755
index 0000000..a331058
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h
new file mode 100644
index 0000000..705dfcb
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h
@@ -0,0 +1,24 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+
+#import "FlutterAppDelegate.h"
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCallbackCache.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterEngineGroup.h"
+#import "FlutterHeadlessDartRunner.h"
+#import "FlutterMacros.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterPlugin.h"
+#import "FlutterPluginAppLifeCycleDelegate.h"
+#import "FlutterTexture.h"
+#import "FlutterViewController.h"
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
new file mode 100644
index 0000000..0c427c2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
@@ -0,0 +1,34 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+
+#import
+
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+
+/**
+ * `UIApplicationDelegate` subclass for simple apps that want default behavior.
+ *
+ * This class implements the following behaviors:
+ * * Status bar touches are forwarded to the key window's root view
+ * `FlutterViewController`, in order to trigger scroll to top.
+ * * Keeps the Flutter connection open in debug mode when the phone screen
+ * locks.
+ *
+ * App delegates for Flutter applications are *not* required to inherit from
+ * this class. Developers of custom app delegate classes should copy and paste
+ * code as necessary from FlutterAppDelegate.mm.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterAppDelegate
+ : UIResponder
+
+@property(strong, nonatomic) UIWindow* window;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
new file mode 100644
index 0000000..eb0186f
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
@@ -0,0 +1,106 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
+ * in for handling a binary message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
+
+/**
+ * A strategy for handling incoming binary messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param reply A callback for submitting an asynchronous reply to the sender.
+ */
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
+
+typedef int64_t FlutterBinaryMessengerConnection;
+
+@protocol FlutterTaskQueue
+@end
+
+/**
+ * A facility for communicating with the Flutter side using asynchronous message
+ * passing with binary messages.
+ *
+ * Implementated by:
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
+ * messages.
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
+ * method calls.
+ * - `FlutterEventChannel`, which supports commuication using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterBinaryMessenger
+/// TODO(gaaclarke): Remove optional when macos supports Background Platform Channels.
+@optional
+- (NSObject*)makeBackgroundTaskQueue;
+
+- (FlutterBinaryMessengerConnection)
+ setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:(FlutterBinaryMessageHandler _Nullable)handler
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+@required
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * no reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ */
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
+
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * an asynchronous reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ * @param callback A callback for receiving a reply.
+ */
+- (void)sendOnChannel:(NSString*)channel
+ message:(NSData* _Nullable)message
+ binaryReply:(FlutterBinaryReply _Nullable)callback;
+
+/**
+ * Registers a message handler for incoming binary messages from the Flutter side
+ * on the specified channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param channel The channel name.
+ * @param handler The message handler.
+ * @return An identifier that represents the connection that was just created to the channel.
+ */
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:
+ (FlutterBinaryMessageHandler _Nullable)handler;
+
+/**
+ * Clears out a channel's message handler if that handler is still the one that
+ * was created as a result of
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ *
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ */
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
+@end
+NS_ASSUME_NONNULL_END
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
new file mode 100644
index 0000000..b6e331d
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
@@ -0,0 +1,54 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+/**
+ * An object containing the result of `FlutterCallbackCache`'s `lookupCallbackInformation`
+ * method.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterCallbackInformation : NSObject
+/**
+ * The name of the callback.
+ */
+@property(copy) NSString* callbackName;
+/**
+ * The class name of the callback.
+ */
+@property(copy) NSString* callbackClassName;
+/**
+ * The library path of the callback.
+ */
+@property(copy) NSString* callbackLibraryPath;
+@end
+
+/**
+ * The cache containing callback information for spawning a
+ * `FlutterHeadlessDartRunner`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterCallbackCache : NSObject
+/**
+ * Returns the callback information for the given callback handle.
+ * This callback information can be used when spawning a
+ * `FlutterHeadlessDartRunner`.
+ *
+ * @param handle The handle for a callback, provided by the
+ * Dart method `PluginUtilities.getCallbackHandle`.
+ * @return A `FlutterCallbackInformation` object which contains the name of the
+ * callback, the name of the class in which the callback is defined, and the
+ * path of the library which contains the callback. If the provided handle is
+ * invalid, nil is returned.
+ */
++ (FlutterCallbackInformation*)lookupCallbackInformation:(int64_t)handle;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterChannels.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterChannels.h
new file mode 100644
index 0000000..b88b78a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterChannels.h
@@ -0,0 +1,487 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCodecs.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a reply back to a Flutter message sender. Also used in
+ * the dual capacity for handling a message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterReply)(id _Nullable reply);
+
+/**
+ * A strategy for handling incoming messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param callback A callback for submitting a reply to the sender which can be invoked from any
+ * thread.
+ */
+typedef void (^FlutterMessageHandler)(id _Nullable message, FlutterReply callback);
+
+/**
+ * A channel for communicating with the Flutter side using basic, asynchronous
+ * message passing.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBasicMessageChannel : NSObject
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name and binary
+ * messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMessageCodec` to encode and decode messages.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+/**
+ * Sends the specified message to the Flutter side, ignoring any reply.
+ *
+ * @param message The message. Must be supported by the codec of this
+ * channel.
+ */
+- (void)sendMessage:(id _Nullable)message;
+
+/**
+ * Sends the specified message to the Flutter side, expecting an asynchronous
+ * reply.
+ *
+ * @param message The message. Must be supported by the codec of this channel.
+ * @param callback A callback to be invoked with the message reply from Flutter.
+ */
+- (void)sendMessage:(id _Nullable)message reply:(FlutterReply _Nullable)callback;
+
+/**
+ * Registers a message handler with this channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The message handler.
+ */
+- (void)setMessageHandler:(FlutterMessageHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param newSize The number of messages that will get buffered.
+ */
++ (void)resizeChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ size:(NSInteger)newSize;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ *
+ * @param newSize The number of messages that will get buffered.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+/**
+ * Defines whether the channel should show warning messages when discarding messages
+ * due to overflow.
+ *
+ * @param warns When false, the channel is expected to overflow and warning messages
+ * will not be shown.
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (void)setWarnsOnOverflow:(BOOL)warns
+ forChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Defines whether the channel should show warning messages when discarding messages
+ * due to overflow.
+ *
+ * @param warns When false, the channel is expected to overflow and warning messages
+ * will not be shown.
+ */
+- (void)setWarnsOnOverflow:(BOOL)warns;
+
+@end
+
+/**
+ * A method call result callback.
+ *
+ * Used for submitting a method call result back to a Flutter caller. Also used in
+ * the dual capacity for handling a method call result received from Flutter.
+ *
+ * @param result The result.
+ */
+typedef void (^FlutterResult)(id _Nullable result);
+
+/**
+ * A strategy for handling method calls.
+ *
+ * @param call The incoming method call.
+ * @param result A callback to asynchronously submit the result of the call.
+ * Invoke the callback with a `FlutterError` to indicate that the call failed.
+ * Invoke the callback with `FlutterMethodNotImplemented` to indicate that the
+ * method was unknown. Any other values, including `nil`, are interpreted as
+ * successful results. This can be invoked from any thread.
+ */
+typedef void (^FlutterMethodCallHandler)(FlutterMethodCall* call, FlutterResult result);
+
+/**
+ * A constant used with `FlutterMethodCallHandler` to respond to the call of an
+ * unknown method.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterMethodNotImplemented;
+
+/**
+ * A channel for communicating with the Flutter side using invocation of
+ * asynchronous methods.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodChannel : NSObject
+/**
+ * Creates a `FlutterMethodChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to encode and decode method calls
+ * and result envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterMethodChannel` with the specified name, binary messenger, and
+ * method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * method codec, and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+// clang-format off
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * no results.
+ *
+ * @see [MethodChannel.setMethodCallHandler](https://api.flutter.dev/flutter/services/MethodChannel/setMethodCallHandler.html)
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ * channel.
+ */
+// clang-format on
+- (void)invokeMethod:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * an asynchronous result.
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ * channel.
+ * @param callback A callback that will be invoked with the asynchronous result.
+ * The result will be a `FlutterError` instance, if the method call resulted
+ * in an error on the Flutter side. Will be `FlutterMethodNotImplemented`, if
+ * the method called was not implemented on the Flutter side. Any other value,
+ * including `nil`, should be interpreted as successful results.
+ */
+- (void)invokeMethod:(NSString*)method
+ arguments:(id _Nullable)arguments
+ result:(FlutterResult _Nullable)callback;
+/**
+ * Registers a handler for method calls from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The method call handler.
+ */
+- (void)setMethodCallHandler:(FlutterMethodCallHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet. For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+@end
+
+/**
+ * An event sink callback.
+ *
+ * @param event The event.
+ */
+typedef void (^FlutterEventSink)(id _Nullable event);
+
+/**
+ * A strategy for exposing an event stream to the Flutter side.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterStreamHandler
+/**
+ * Sets up an event stream and begin emitting events.
+ *
+ * Invoked when the first listener is registered with the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * @param arguments Arguments for the stream.
+ * @param events A callback to asynchronously emit events. Invoke the
+ * callback with a `FlutterError` to emit an error event. Invoke the
+ * callback with `FlutterEndOfEventStream` to indicate that no more
+ * events will be emitted. Any other value, including `nil` are emitted as
+ * successful events.
+ * @return A FlutterError instance, if setup fails.
+ */
+- (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments
+ eventSink:(FlutterEventSink)events;
+
+/**
+ * Tears down an event stream.
+ *
+ * Invoked when the last listener is deregistered from the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * The channel implementation may call this method with `nil` arguments
+ * to separate a pair of two consecutive set up requests. Such request pairs
+ * may occur during Flutter hot restart.
+ *
+ * @param arguments Arguments for the stream.
+ * @return A FlutterError instance, if teardown fails.
+ */
+- (FlutterError* _Nullable)onCancelWithArguments:(id _Nullable)arguments;
+@end
+
+/**
+ * A constant used with `FlutterEventChannel` to indicate end of stream.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterEndOfEventStream;
+
+/**
+ * A channel for communicating with the Flutter side using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEventChannel : NSObject
+/**
+ * Creates a `FlutterEventChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to decode stream setup and
+ * teardown requests, and to encode event envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger;
+
+/**
+ * Creates a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * method codec and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+ -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+ binaryMessenger:(NSObject*)messenger
+ codec:(NSObject*)codec
+ taskQueue:(NSObject* _Nullable)taskQueue;
+/**
+ * Registers a handler for stream setup requests from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The stream handler.
+ */
+- (void)setStreamHandler:(NSObject* _Nullable)handler;
+@end
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCHANNELS_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCodecs.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCodecs.h
new file mode 100644
index 0000000..93e1d32
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCodecs.h
@@ -0,0 +1,478 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A message encoding/decoding mechanism.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMessageCodec
+/**
+ * Returns a shared instance of this `FlutterMessageCodec`.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified message into binary.
+ *
+ * @param message The message.
+ * @return The binary encoding, or `nil`, if `message` was `nil`.
+ */
+- (NSData* _Nullable)encode:(id _Nullable)message;
+
+/**
+ * Decodes the specified message from binary.
+ *
+ * @param message The message.
+ * @return The decoded message, or `nil`, if `message` was `nil`.
+ */
+- (id _Nullable)decode:(NSData* _Nullable)message;
+@end
+
+/**
+ * A `FlutterMessageCodec` using unencoded binary messages, represented as
+ * `NSData` instances.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [BinaryCodec](https://api.flutter.dev/flutter/services/BinaryCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * On the Dart side, messages are represented using `ByteData`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBinaryCodec : NSObject
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded `NSString` messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StringCodec](https://api.flutter.dev/flutter/services/StringCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStringCodec : NSObject
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded JSON messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMessageCodec](https://api.flutter.dev/flutter/services/JSONMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supports values accepted by `NSJSONSerialization` plus top-level
+ * `nil`, `NSNumber`, and `NSString`.
+ *
+ * On the Dart side, JSON messages are handled by the JSON facilities of the
+ * [`dart:convert`](https://api.dartlang.org/stable/dart-convert/JSON-constant.html)
+ * package.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMessageCodec : NSObject
+@end
+
+/**
+ * A writer of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `writeValue`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardWriter : NSObject
+/**
+ * Create a `FlutterStandardWriter` who will write to \p data.
+ */
+- (instancetype)initWithData:(NSMutableData*)data;
+/** Write a 8-bit byte. */
+- (void)writeByte:(UInt8)value;
+/** Write an array of \p bytes of size \p length. */
+- (void)writeBytes:(const void*)bytes length:(NSUInteger)length;
+/** Write an array of bytes contained in \p data. */
+- (void)writeData:(NSData*)data;
+/** Write 32-bit unsigned integer that represents a \p size of a collection. */
+- (void)writeSize:(UInt32)size;
+/** Write zero padding until data is aligned with \p alignment. */
+- (void)writeAlignment:(UInt8)alignment;
+/** Write a string with UTF-8 encoding. */
+- (void)writeUTF8:(NSString*)value;
+/** Introspects into an object and writes its representation.
+ *
+ * Supported Data Types:
+ * - NSNull
+ * - NSNumber
+ * - NSString (as UTF-8)
+ * - FlutterStandardTypedData
+ * - NSArray of supported types
+ * - NSDictionary of supporte types
+ *
+ * NSAsserts on failure.
+ */
+- (void)writeValue:(id)value;
+@end
+
+/**
+ * A reader of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `readValueOfType`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReader : NSObject
+/**
+ * Create a new `FlutterStandardReader` who reads from \p data.
+ */
+- (instancetype)initWithData:(NSData*)data;
+/** Returns YES when the reader hasn't reached the end of its data. */
+- (BOOL)hasMore;
+/** Reads a byte value and increments the position. */
+- (UInt8)readByte;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (void)readBytes:(void*)destination length:(NSUInteger)length;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (NSData*)readData:(NSUInteger)length;
+/** Reads a 32-bit unsigned integer representing a collection size and increments the position.*/
+- (UInt32)readSize;
+/** Advances the read position until it is aligned with \p alignment. */
+- (void)readAlignment:(UInt8)alignment;
+/** Read a null terminated string encoded with UTF-8/ */
+- (NSString*)readUTF8;
+/**
+ * Reads a byte for `FlutterStandardField` the decodes a value matching that type.
+ *
+ * See also: -[FlutterStandardWriter writeValue]
+ */
+- (nullable id)readValue;
+/**
+ * Decodes a value matching the \p type specified.
+ *
+ * See also:
+ * - `FlutterStandardField`
+ * - `-[FlutterStandardWriter writeValue]`
+ */
+- (nullable id)readValueOfType:(UInt8)type;
+@end
+
+/**
+ * A factory of compatible reader/writer instances using the Flutter standard
+ * binary encoding or extensions thereof.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReaderWriter : NSObject
+/**
+ * Create a new `FlutterStandardWriter` for writing to \p data.
+ */
+- (FlutterStandardWriter*)writerWithData:(NSMutableData*)data;
+/**
+ * Create a new `FlutterStandardReader` for reading from \p data.
+ */
+- (FlutterStandardReader*)readerWithData:(NSData*)data;
+@end
+
+/**
+ * A `FlutterMessageCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMessageCodec](https://api.flutter.dev/flutter/services/StandardMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supported messages are acyclic values of these forms:
+ *
+ * - `nil` or `NSNull`
+ * - `NSNumber` (including their representation of Boolean values)
+ * - `NSString`
+ * - `FlutterStandardTypedData`
+ * - `NSArray` of supported values
+ * - `NSDictionary` with supported keys and values
+ *
+ * On the Dart side, these values are represented as follows:
+ *
+ * - `nil` or `NSNull`: null
+ * - `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
+ * - `NSString`: `String`
+ * - `FlutterStandardTypedData`: `Uint8List`, `Int32List`, `Int64List`, or `Float64List`
+ * - `NSArray`: `List`
+ * - `NSDictionary`: `Map`
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMessageCodec : NSObject
+/**
+ * Create a `FlutterStandardMessageCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+/**
+ * Command object representing a method call on a `FlutterMethodChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodCall : NSObject
+/**
+ * Creates a method call for invoking the specified named method with the
+ * specified arguments.
+ *
+ * @param method the name of the method to call.
+ * @param arguments the arguments value.
+ */
++ (instancetype)methodCallWithMethodName:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * The method name.
+ */
+@property(readonly, nonatomic) NSString* method;
+
+/**
+ * The arguments.
+ */
+@property(readonly, nonatomic, nullable) id arguments;
+@end
+
+/**
+ * Error object representing an unsuccessful outcome of invoking a method
+ * on a `FlutterMethodChannel`, or an error event on a `FlutterEventChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterError : NSObject
+/**
+ * Creates a `FlutterError` with the specified error code, message, and details.
+ *
+ * @param code An error code string for programmatic use.
+ * @param message A human-readable error message.
+ * @param details Custom error details.
+ */
++ (instancetype)errorWithCode:(NSString*)code
+ message:(NSString* _Nullable)message
+ details:(id _Nullable)details;
+/**
+ The error code.
+ */
+@property(readonly, nonatomic) NSString* code;
+
+/**
+ The error message.
+ */
+@property(readonly, nonatomic, nullable) NSString* message;
+
+/**
+ The error details.
+ */
+@property(readonly, nonatomic, nullable) id details;
+@end
+
+/**
+ * Type of numeric data items encoded in a `FlutterStandardDataType`.
+ *
+ * - FlutterStandardDataTypeUInt8: plain bytes
+ * - FlutterStandardDataTypeInt32: 32-bit signed integers
+ * - FlutterStandardDataTypeInt64: 64-bit signed integers
+ * - FlutterStandardDataTypeFloat64: 64-bit floats
+ */
+typedef NS_ENUM(NSInteger, FlutterStandardDataType) {
+ // NOLINTBEGIN(readability-identifier-naming)
+ FlutterStandardDataTypeUInt8,
+ FlutterStandardDataTypeInt32,
+ FlutterStandardDataTypeInt64,
+ FlutterStandardDataTypeFloat32,
+ FlutterStandardDataTypeFloat64,
+ // NOLINTEND(readability-identifier-naming)
+};
+
+/**
+ * A byte buffer holding `UInt8`, `SInt32`, `SInt64`, or `Float64` values, used
+ * with `FlutterStandardMessageCodec` and `FlutterStandardMethodCodec`.
+ *
+ * Two's complement encoding is used for signed integers. IEEE754
+ * double-precision representation is used for floats. The platform's native
+ * endianness is assumed.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardTypedData : NSObject
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as plain bytes.
+ *
+ * @param data the byte data.
+ */
++ (instancetype)typedDataWithBytes:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 4.
+ */
++ (instancetype)typedDataWithInt32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithInt64:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat64:(NSData*)data;
+
+/**
+ * The raw underlying data buffer.
+ */
+@property(readonly, nonatomic) NSData* data;
+
+/**
+ * The type of the encoded values.
+ */
+@property(readonly, nonatomic, assign) FlutterStandardDataType type;
+
+/**
+ * The number of value items encoded.
+ */
+@property(readonly, nonatomic, assign) UInt32 elementCount;
+
+/**
+ * The number of bytes used by the encoding of a single value item.
+ */
+@property(readonly, nonatomic, assign) UInt8 elementSize;
+@end
+
+/**
+ * An arbitrarily large integer value, used with `FlutterStandardMessageCodec`
+ * and `FlutterStandardMethodCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+FLUTTER_UNAVAILABLE("Unavailable on 2018-08-31. Deprecated on 2018-01-09. "
+ "FlutterStandardBigInteger was needed because the Dart 1.0 int type had no "
+ "size limit. With Dart 2.0, the int type is a fixed-size, 64-bit signed "
+ "integer. If you need to communicate larger integers, use NSString encoding "
+ "instead.")
+@interface FlutterStandardBigInteger : NSObject
+@end
+
+/**
+ * A codec for method calls and enveloped results.
+ *
+ * Method calls are encoded as binary messages with enough structure that the
+ * codec can extract a method name `NSString` and an arguments `NSObject`,
+ * possibly `nil`. These data items are used to populate a `FlutterMethodCall`.
+ *
+ * Result envelopes are encoded as binary messages with enough structure that
+ * the codec can determine whether the result was successful or an error. In
+ * the former case, the codec can extract the result `NSObject`, possibly `nil`.
+ * In the latter case, the codec can extract an error code `NSString`, a
+ * human-readable `NSString` error message (possibly `nil`), and a custom
+ * error details `NSObject`, possibly `nil`. These data items are used to
+ * populate a `FlutterError`.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMethodCodec
+/**
+ * Provides access to a shared instance this codec.
+ *
+ * @return The shared instance.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified method call into binary.
+ *
+ * @param methodCall The method call. The arguments value
+ * must be supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeMethodCall:(FlutterMethodCall*)methodCall;
+
+/**
+ * Decodes the specified method call from binary.
+ *
+ * @param methodCall The method call to decode.
+ * @return The decoded method call.
+ */
+- (FlutterMethodCall*)decodeMethodCall:(NSData*)methodCall;
+
+/**
+ * Encodes the specified successful result into binary.
+ *
+ * @param result The result. Must be a value supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeSuccessEnvelope:(id _Nullable)result;
+
+/**
+ * Encodes the specified error result into binary.
+ *
+ * @param error The error object. The error details value must be supported
+ * by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeErrorEnvelope:(FlutterError*)error;
+
+/**
+ * Deccodes the specified result envelope from binary.
+ *
+ * @param envelope The error object.
+ * @return The result value, if the envelope represented a successful result,
+ * or a `FlutterError` instance, if not.
+ */
+- (id _Nullable)decodeEnvelope:(NSData*)envelope;
+@end
+
+/**
+ * A `FlutterMethodCodec` using UTF-8 encoded JSON method calls and result
+ * envelopes.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMethodCodec](https://api.flutter.dev/flutter/services/JSONMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as methods arguments and result payloads are
+ * those supported as top-level or leaf values by `FlutterJSONMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMethodCodec : NSObject
+@end
+
+/**
+ * A `FlutterMethodCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMethodCodec](https://api.flutter.dev/flutter/services/StandardMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as method arguments and result payloads are those supported by
+ * `FlutterStandardMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMethodCodec : NSObject
+/**
+ * Create a `FlutterStandardMethodCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERCODECS_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterDartProject.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterDartProject.h
new file mode 100644
index 0000000..5e03cb8
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterDartProject.h
@@ -0,0 +1,103 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
+
+#import
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A set of Flutter and Dart assets used by a `FlutterEngine` to initialize execution.
+ *
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterDartProject : NSObject
+
+/**
+ * Initializes a Flutter Dart project from a bundle.
+ *
+ * The bundle must either contain a flutter_assets resource directory, or set the Info.plist key
+ * FLTAssetsPath to override that name (if you are doing a custom build using a different name).
+ *
+ * @param bundle The bundle containing the Flutter assets directory. If nil, the App framework
+ * created by Flutter will be used.
+ */
+- (instancetype)initWithPrecompiledDartBundle:(nullable NSBundle*)bundle NS_DESIGNATED_INITIALIZER;
+/**
+ * Unavailable - use `init` instead.
+ */
+- (instancetype)initFromDefaultSourceForConfiguration API_UNAVAILABLE(macos)
+ FLUTTER_UNAVAILABLE("Use -init instead.");
+
+/**
+ * Returns the default identifier for the bundle where we expect to find the Flutter Dart
+ * application.
+ */
++ (NSString*)defaultBundleIdentifier;
+
+/**
+ * An NSArray of NSStrings to be passed as command line arguments to the Dart entrypoint.
+ *
+ * If this is not explicitly set, this will default to the contents of
+ * [NSProcessInfo arguments], without the binary name.
+ *
+ * Set this to nil to pass no arguments to the Dart entrypoint.
+ */
+@property(nonatomic, nullable, copy)
+ NSArray* dartEntrypointArguments API_UNAVAILABLE(ios);
+
+/**
+ * Returns the file name for the given asset. If the bundle with the identifier
+ * "io.flutter.flutter.app" exists, it will try use that bundle; otherwise, it
+ * will use the main bundle. To specify a different bundle, use
+ * `+lookupKeyForAsset:fromBundle`.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the supplied bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param bundle The `NSBundle` to use for looking up the asset.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromBundle:(nullable NSBundle*)bundle;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the specified bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @param bundle The bundle to use when doing the lookup.
+ * @return the file name to be used for lookup in the main bundle.
+ */
++ (NSString*)lookupKeyForAsset:(NSString*)asset
+ fromPackage:(NSString*)package
+ fromBundle:(nullable NSBundle*)bundle;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERDARTPROJECT_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngine.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngine.h
new file mode 100644
index 0000000..931c8de
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngine.h
@@ -0,0 +1,462 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
+
+#import
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+#import "FlutterTexture.h"
+
+@class FlutterViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The dart entrypoint that is associated with `main()`. This is to be used as an argument to the
+ * `runWithEntrypoint*` methods.
+ */
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSString* const FlutterDefaultDartEntrypoint;
+
+/**
+ * The default Flutter initial route ("/").
+ */
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSString* const FlutterDefaultInitialRoute;
+
+/**
+ * The FlutterEngine class coordinates a single instance of execution for a
+ * `FlutterDartProject`. It may have zero or one `FlutterViewController` at a
+ * time, which can be specified via `-setViewController:`.
+ * `FlutterViewController`'s `initWithEngine` initializer will automatically call
+ * `-setViewController:` for itself.
+ *
+ * A FlutterEngine can be created independently of a `FlutterViewController` for
+ * headless execution. It can also persist across the lifespan of multiple
+ * `FlutterViewController` instances to maintain state and/or asynchronous tasks
+ * (such as downloading a large file).
+ *
+ * A FlutterEngine can also be used to prewarm the Dart execution environment and reduce the
+ * latency of showing the Flutter screen when a `FlutterViewController` is created and presented.
+ * See http://flutter.dev/docs/development/add-to-app/performance for more details on loading
+ * performance.
+ *
+ * Alternatively, you can simply create a new `FlutterViewController` with only a
+ * `FlutterDartProject`. That `FlutterViewController` will internally manage its
+ * own instance of a FlutterEngine, but will not guarantee survival of the engine
+ * beyond the life of the ViewController.
+ *
+ * A newly initialized FlutterEngine will not actually run a Dart Isolate until
+ * either `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is invoked.
+ * One of these methods must be invoked before calling `-setViewController:`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngine : NSObject
+
+/**
+ * Default initializer for a FlutterEngine.
+ *
+ * Threads created by this FlutterEngine will appear as "FlutterEngine #" in
+ * Instruments. The prefix can be customized using `initWithName`.
+ *
+ * The engine will execute the project located in the bundle with the identifier
+ * "io.flutter.flutter.app" (the default for Flutter projects).
+ *
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
+ * `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ */
+- (instancetype)init;
+
+/**
+ * Initialize this FlutterEngine.
+ *
+ * The engine will execute the project located in the bundle with the identifier
+ * "io.flutter.flutter.app" (the default for Flutter projects).
+ *
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
+ * `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix project:(nullable FlutterDartProject*)project;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
+ * running after passing a nil `FlutterViewController` to `-setViewController:`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(nullable FlutterDartProject*)project
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution;
+
+/**
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
+ * the project in a default location (the flutter_assets folder in the iOS application
+ * bundle).
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances, and is used in instrumentation to label
+ * the threads used by this FlutterEngine.
+ * @param project The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
+ * running after passing a nil `FlutterViewController` to `-setViewController:`.
+ * @param restorationEnabled Whether state restoration is enabled. When true, the framework will
+ * wait for the attached view controller to provide restoration data.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(nullable FlutterDartProject*)project
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution
+ restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`), using `main()` as the entrypoint (the default for Flutter projects),
+ * and using "/" (the default route) as the initial route.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)run;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`), using "/" (the default route) as the initial route.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from the same Dart
+ * library that contains the app's main() function. If this is FlutterDefaultDartEntrypoint (or
+ * nil) it will default to `main()`. If it is not the app's main() function, that function must
+ * be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
+ * compiler.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`).
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from the same Dart
+ * library that contains the app's main() function. If this is FlutterDefaultDartEntrypoint (or
+ * nil), it will default to `main()`. If it is not the app's main() function, that function must
+ * be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
+ * compiler.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param uri The URI of the Dart library which contains the entrypoint method
+ * (example "package:foo_package/main.dart"). If nil, this will default to
+ * the same library as the `main()` function in the Dart program.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint libraryURI:(nullable NSString*)uri;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint
+ * method (example "package:foo_package/main.dart"). If nil, this will
+ * default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
+ * which may not be the same as the library containing the Dart program's `main()` function.
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately and have no effect.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint
+ * method (example "package:foo_package/main.dart"). If nil, this will
+ * default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ * @param entrypointArgs Arguments passed as a list of string to Dart's entrypoint function.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute
+ entrypointArgs:(nullable NSArray*)entrypointArgs;
+
+/**
+ * Destroy running context for an engine.
+ *
+ * This method can be used to force the FlutterEngine object to release all resources.
+ * After sending this message, the object will be in an unusable state until it is deallocated.
+ * Accessing properties or sending messages to it will result in undefined behavior or runtime
+ * errors.
+ */
+- (void)destroyContext;
+
+/**
+ * Ensures that Flutter will generate a semantics tree.
+ *
+ * This is enabled by default if certain accessibility services are turned on by
+ * the user, or when using a Simulator. This method allows a user to turn
+ * semantics on when they would not ordinarily be generated and the performance
+ * overhead is not a concern, e.g. for UI testing. Note that semantics should
+ * never be programmatically turned off, as it would potentially disable
+ * accessibility services an end user has requested.
+ *
+ * This method must only be called after launching the engine via
+ * `-runWithEntrypoint:` or `-runWithEntryPoint:libraryURI`.
+ *
+ * Although this method returns synchronously, it does not guarantee that a
+ * semantics tree is actually available when the method returns. It
+ * synchronously ensures that the next frame the Flutter framework creates will
+ * have a semantics tree.
+ *
+ * You can subscribe to semantics updates via `NSNotificationCenter` by adding
+ * an observer for the name `FlutterSemanticsUpdateNotification`. The `object`
+ * parameter will be the `FlutterViewController` associated with the semantics
+ * update. This will asynchronously fire after a semantics tree has actually
+ * built (which may be some time after the frame has been rendered).
+ */
+- (void)ensureSemanticsEnabled;
+
+/**
+ * Sets the `FlutterViewController` for this instance. The FlutterEngine must be
+ * running (e.g. a successful call to `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI`)
+ * before calling this method. Callers may pass nil to remove the viewController
+ * and have the engine run headless in the current process.
+ *
+ * A FlutterEngine can only have one `FlutterViewController` at a time. If there is
+ * already a `FlutterViewController` associated with this instance, this method will replace
+ * the engine's current viewController with the newly specified one.
+ *
+ * Setting the viewController will signal the engine to start animations and drawing, and unsetting
+ * it will signal the engine to stop animations and drawing. However, neither will impact the state
+ * of the Dart program's execution.
+ */
+@property(nonatomic, weak) FlutterViewController* viewController;
+
+/**
+ * The `FlutterMethodChannel` used for localization related platform messages, such as
+ * setting the locale.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly, nullable) FlutterMethodChannel* localizationChannel;
+/**
+ * The `FlutterMethodChannel` used for navigation related platform messages.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Navigation
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/navigation-constant.html)
+ * @see [Navigator Widget](https://api.flutter.dev/flutter/widgets/Navigator-class.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* navigationChannel;
+
+/**
+ * The `FlutterMethodChannel` used for restoration related platform messages.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Restoration
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/restoration-constant.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* restorationChannel;
+
+/**
+ * The `FlutterMethodChannel` used for core platform messages, such as
+ * information about the screen orientation.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* platformChannel;
+
+/**
+ * The `FlutterMethodChannel` used to communicate text input events to the
+ * Dart Isolate.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Text Input
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/textInput-constant.html)
+ */
+@property(nonatomic, readonly) FlutterMethodChannel* textInputChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used to communicate app lifecycle events
+ * to the Dart Isolate.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [Lifecycle
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/lifecycle-constant.html)
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* lifecycleChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating system events, such as
+ * memory pressure events.
+ *
+ * Can be nil after `destroyContext` is called.
+ *
+ * @see [System
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/system-constant.html)
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* systemChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating user settings such as
+ * clock format and text scale.
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* settingsChannel;
+
+/**
+ * The `FlutterBasicMessageChannel` used for communicating key events
+ * from physical keyboards
+ *
+ * Can be nil after `destroyContext` is called.
+ */
+@property(nonatomic, readonly) FlutterBasicMessageChannel* keyEventChannel;
+
+/**
+ * The depcreated `NSURL` of the Dart VM Service for the service isolate.
+ *
+ * This is only set in debug and profile runtime modes, and only after the
+ * Dart VM Service is ready. In release mode or before the Dart VM Service has
+ * started, it returns `nil`.
+ */
+@property(nonatomic, readonly, nullable)
+ NSURL* observatoryUrl FLUTTER_DEPRECATED("Use vmServiceUrl instead");
+
+/**
+ * The `NSURL` of the Dart VM Service for the service isolate.
+ *
+ * This is only set in debug and profile runtime modes, and only after the
+ * Dart VM Service is ready. In release mode or before the Dart VM Service has
+ * started, it returns `nil`.
+ */
+@property(nonatomic, readonly, nullable) NSURL* vmServiceUrl;
+
+/**
+ * The `FlutterBinaryMessenger` associated with this FlutterEngine (used for communicating with
+ * channels).
+ */
+@property(nonatomic, readonly) NSObject* binaryMessenger;
+
+/**
+ * The `FlutterTextureRegistry` associated with this FlutterEngine (used to register textures).
+ */
+@property(nonatomic, readonly) NSObject* textureRegistry;
+
+/**
+ * The UI Isolate ID of the engine.
+ *
+ * This property will be nil if the engine is not running.
+ */
+@property(nonatomic, readonly, copy, nullable) NSString* isolateId;
+
+/**
+ * Whether or not GPU calls are allowed.
+ *
+ * Typically this is set when the app is backgrounded and foregrounded.
+ */
+@property(nonatomic, assign) BOOL isGpuDisabled;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERENGINE_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngineGroup.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngineGroup.h
new file mode 100644
index 0000000..097ffd6
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterEngineGroup.h
@@ -0,0 +1,110 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import
+
+#import "FlutterEngine.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Options that control how a FlutterEngine should be created. */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngineGroupOptions : NSObject
+
+/**
+ * The name of a top-level function from a Dart library. If this is FlutterDefaultDartEntrypoint
+ * (or nil); this will default to `main()`. If it is not the app's main() function, that function
+ * must be decorated with `@pragma(vm:entry-point)` to ensure themethod is not tree-shaken by the
+ * Dart compiler.
+ */
+@property(nonatomic, copy, nullable) NSString* entrypoint;
+
+/**
+ * The URI of the Dart library which contains the entrypoint method. If nil, this will default to
+ * the same library as the `main()` function in the Dart program.
+ */
+@property(nonatomic, copy, nullable) NSString* libraryURI;
+
+/**
+ * The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ */
+@property(nonatomic, copy, nullable) NSString* initialRoute;
+
+/**
+ * Arguments passed as a list of string to Dart's entrypoint function.
+ */
+@property(nonatomic, retain, nullable) NSArray* entrypointArgs;
+@end
+
+/**
+ * Represents a collection of FlutterEngines who share resources which allows
+ * them to be created with less time const and occupy less memory than just
+ * creating multiple FlutterEngines.
+ *
+ * Deleting a FlutterEngineGroup doesn't invalidate existing FlutterEngines, but
+ * it eliminates the possibility to create more FlutterEngines in that group.
+ *
+ * @warning This class is a work-in-progress and may change.
+ * @see https://github.com/flutter/flutter/issues/72009
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngineGroup : NSObject
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Initialize a new FlutterEngineGroup.
+ *
+ * @param name The name that will present in the threads shared across the
+ * engines in this group.
+ * @param project The `FlutterDartProject` that all FlutterEngines in this group
+ * will be executing.
+ */
+- (instancetype)initWithName:(NSString*)name
+ project:(nullable FlutterDartProject*)project NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method. IF nil,
+ * this will default to the same library as the `main()` function in the Dart program.
+ *
+ * @see FlutterEngineGroup
+ */
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param entrypoint The name of a top-level function from a Dart library. If this is
+ * FlutterDefaultDartEntrypoint (or nil); this will default to `main()`. If it is not the app's
+ * main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
+ * method is not tree-shaken by the Dart compiler.
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method. IF nil,
+ * this will default to the same library as the `main()` function in the Dart program.
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
+ *
+ * @see FlutterEngineGroup
+ */
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
+ libraryURI:(nullable NSString*)libraryURI
+ initialRoute:(nullable NSString*)initialRoute;
+
+/**
+ * Creates a running `FlutterEngine` that shares components with this group.
+ *
+ * @param options Options that control how a FlutterEngine should be created.
+ *
+ * @see FlutterEngineGroupOptions
+ */
+- (FlutterEngine*)makeEngineWithOptions:(nullable FlutterEngineGroupOptions*)options;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterHeadlessDartRunner.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
new file mode 100644
index 0000000..08069ab
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
@@ -0,0 +1,97 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
+
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+
+/**
+ * A callback for when FlutterHeadlessDartRunner has attempted to start a Dart
+ * Isolate in the background.
+ *
+ * @param success YES if the Isolate was started and run successfully, NO
+ * otherwise.
+ */
+typedef void (^FlutterHeadlessDartRunnerCallback)(BOOL success);
+
+/**
+ * The deprecated FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer,
+ * and no native drawing surface. It is appropriate for use in running Dart
+ * code e.g. in the background from a plugin.
+ *
+ * Most callers should prefer using `FlutterEngine` directly; this interface exists
+ * for legacy support.
+ */
+FLUTTER_DARWIN_EXPORT
+FLUTTER_DEPRECATED("FlutterEngine should be used rather than FlutterHeadlessDartRunner")
+@interface FlutterHeadlessDartRunner : FlutterEngine
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil;
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Must be set to `YES`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(FlutterDartProject*)projectOrNil
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution;
+
+/**
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
+ *
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
+ * the project in a default location.
+ *
+ * A newly initialized engine will not run the `FlutterDartProject` until either
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
+ *
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
+ * be unique across FlutterEngine instances
+ * @param projectOrNil The `FlutterDartProject` to run.
+ * @param allowHeadlessExecution Must be set to `YES`.
+ * @param restorationEnabled Must be set to `NO`.
+ */
+- (instancetype)initWithName:(NSString*)labelPrefix
+ project:(FlutterDartProject*)projectOrNil
+ allowHeadlessExecution:(BOOL)allowHeadlessExecution
+ restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Not recommended for use - will initialize with a default label ("io.flutter.headless")
+ * and the default FlutterDartProject.
+ */
+- (instancetype)init;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERHEADLESSDARTRUNNER_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterMacros.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterMacros.h
new file mode 100644
index 0000000..7f53b41
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterMacros.h
@@ -0,0 +1,48 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
+
+#if defined(FLUTTER_FRAMEWORK)
+
+#define FLUTTER_DARWIN_EXPORT __attribute__((visibility("default")))
+
+#else // defined(FLUTTER_SDK)
+
+#define FLUTTER_DARWIN_EXPORT
+
+#endif // defined(FLUTTER_SDK)
+
+#ifndef NS_ASSUME_NONNULL_BEGIN
+#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
+#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
+#endif // defined(NS_ASSUME_NONNULL_BEGIN)
+
+/**
+ * Indicates that the API has been deprecated for the specified reason. Code
+ * that uses the deprecated API will continue to work as before. However, the
+ * API will soon become unavailable and users are encouraged to immediately take
+ * the appropriate action mentioned in the deprecation message and the BREAKING
+ * CHANGES section present in the Flutter.h umbrella header.
+ */
+#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
+
+/**
+ * Indicates that the previously deprecated API is now unavailable. Code that
+ * uses the API will not work and the declaration of the API is only a stub
+ * meant to display the given message detailing the actions for the user to take
+ * immediately.
+ */
+#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
+
+#if __has_feature(objc_arc)
+#define FLUTTER_ASSERT_ARC
+#define FLUTTER_ASSERT_NOT_ARC #error ARC must be disabled !
+#else
+#define FLUTTER_ASSERT_ARC #error ARC must be enabled !
+#define FLUTTER_ASSERT_NOT_ARC
+#endif
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERMACROS_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlatformViews.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlatformViews.h
new file mode 100644
index 0000000..59ba4af
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlatformViews.h
@@ -0,0 +1,56 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
+
+#import
+
+#import "FlutterCodecs.h"
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Wraps a `UIView` for embedding in the Flutter hierarchy
+ */
+@protocol FlutterPlatformView
+/**
+ * Returns a reference to the `UIView` that is wrapped by this `FlutterPlatformView`.
+ */
+- (UIView*)view;
+@end
+
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterPlatformViewFactory
+/**
+ * Create a `FlutterPlatformView`.
+ *
+ * Implemented by iOS code that expose a `UIView` for embedding in a Flutter app.
+ *
+ * The implementation of this method should create a new `UIView` and return it.
+ *
+ * @param frame The rectangle for the newly created `UIView` measured in points.
+ * @param viewId A unique identifier for this `UIView`.
+ * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app.
+ * If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart
+ * code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by
+ * `createArgsCodec`.
+ */
+- (NSObject*)createWithFrame:(CGRect)frame
+ viewIdentifier:(int64_t)viewId
+ arguments:(id _Nullable)args;
+
+/**
+ * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`.
+ *
+ * Only needs to be implemented if `createWithFrame` needs an arguments parameter.
+ */
+@optional
+- (NSObject*)createArgsCodec;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLATFORMVIEWS_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlugin.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlugin.h
new file mode 100644
index 0000000..8ab46cf
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPlugin.h
@@ -0,0 +1,448 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
+
+#import
+#import
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterTexture.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@protocol FlutterPluginRegistrar;
+@protocol FlutterPluginRegistry;
+
+#pragma mark -
+/**
+ * Protocol for listener of events from the UIApplication, typically a FlutterPlugin.
+ */
+@protocol FlutterApplicationLifeCycleDelegate
+
+@optional
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if this vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if this vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationDidBecomeActive:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillResignActive:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationDidEnterBackground:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillEnterForeground:(UIApplication*)application;
+
+/**
+ Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)applicationWillTerminate:(UIApplication*)application;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
+ ios(8.0, 10.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ didReceiveRemoteNotification:(NSDictionary*)userInfo
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveLocalNotification:(UILocalNotification*)notification
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
+ ios(4.0, 10.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ options:(NSDictionary*)options;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ sourceApplication:(NSString*)sourceApplication
+ annotation:(id)annotation;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
+ completionHandler:(void (^)(BOOL succeeded))completionHandler
+ API_AVAILABLE(ios(9.0));
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
+ completionHandler:(nonnull void (^)(void))completionHandler;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `YES` if this handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ continueUserActivity:(NSUserActivity*)userActivity
+ restorationHandler:(void (^)(NSArray*))restorationHandler;
+@end
+
+#pragma mark -
+/**
+ * A plugin registration callback.
+ *
+ * Used for registering plugins with additional instances of
+ * `FlutterPluginRegistry`.
+ *
+ * @param registry The registry to register plugins with.
+ */
+typedef void (*FlutterPluginRegistrantCallback)(NSObject* registry);
+
+#pragma mark -
+/**
+ * Implemented by the iOS part of a Flutter plugin.
+ *
+ * Defines a set of optional callback methods and a method to set up the plugin
+ * and register it to be called by other application components.
+ */
+@protocol FlutterPlugin
+@required
+/**
+ * Registers this plugin using the context information and callback registration
+ * methods exposed by the given registrar.
+ *
+ * The registrar is obtained from a `FlutterPluginRegistry` which keeps track of
+ * the identity of registered plugins and provides basic support for cross-plugin
+ * coordination.
+ *
+ * The caller of this method, a plugin registrant, is usually autogenerated by
+ * Flutter tooling based on declared plugin dependencies. The generated registrant
+ * asks the registry for a registrar for each plugin, and calls this method to
+ * allow the plugin to initialize itself and register callbacks with application
+ * objects available through the registrar protocol.
+ *
+ * @param registrar A helper providing application context and methods for
+ * registering callbacks.
+ */
++ (void)registerWithRegistrar:(NSObject*)registrar;
+@optional
+/**
+ * Set a callback for registering plugins to an additional `FlutterPluginRegistry`,
+ * including headless `FlutterEngine` instances.
+ *
+ * This method is typically called from within an application's `AppDelegate` at
+ * startup to allow for plugins which create additional `FlutterEngine` instances
+ * to register the application's plugins.
+ *
+ * @param callback A callback for registering some set of plugins with a
+ * `FlutterPluginRegistry`.
+ */
++ (void)setPluginRegistrantCallback:(FlutterPluginRegistrantCallback)callback;
+@optional
+/**
+ * Called if this plugin has been registered to receive `FlutterMethodCall`s.
+ *
+ * @param call The method call command object.
+ * @param result A callback for submitting the result of the call.
+ */
+- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result;
+@optional
+/**
+ * Called when a plugin is being removed from a `FlutterEngine`, which is
+ * usually the result of the `FlutterEngine` being deallocated. This method
+ * provides the opportunity to do necessary cleanup.
+ *
+ * You will only receive this method if you registered your plugin instance with
+ * the `FlutterEngine` via `-[FlutterPluginRegistry publish:]`.
+ *
+ * @param registrar The registrar that was used to publish the plugin.
+ *
+ */
+- (void)detachFromEngineForRegistrar:(NSObject*)registrar;
+@end
+
+#pragma mark -
+/**
+ * How the UIGestureRecognizers of a platform view are blocked.
+ *
+ * UIGestureRecognizers of platform views can be blocked based on decisions made by the
+ * Flutter Framework (e.g. When an interact-able widget is covering the platform view).
+ */
+typedef enum {
+ // NOLINTBEGIN(readability-identifier-naming)
+ /**
+ * Flutter blocks all the UIGestureRecognizers on the platform view as soon as it
+ * decides they should be blocked.
+ *
+ * With this policy, only the `touchesBegan` method for all the UIGestureRecognizers is guaranteed
+ * to be called.
+ */
+ FlutterPlatformViewGestureRecognizersBlockingPolicyEager,
+ /**
+ * Flutter blocks the platform view's UIGestureRecognizers from recognizing only after
+ * touchesEnded was invoked.
+ *
+ * This results in the platform view's UIGestureRecognizers seeing the entire touch sequence,
+ * but never recognizing the gesture (and never invoking actions).
+ */
+ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded,
+ // NOLINTEND(readability-identifier-naming)
+} FlutterPlatformViewGestureRecognizersBlockingPolicy;
+
+#pragma mark -
+/**
+ * Registration context for a single `FlutterPlugin`, providing a one stop shop
+ * for the plugin to access contextual information and register callbacks for
+ * various application events.
+ *
+ * Registrars are obtained from a `FlutterPluginRegistry` which keeps track of
+ * the identity of registered plugins and provides basic support for cross-plugin
+ * coordination.
+ */
+@protocol FlutterPluginRegistrar
+/**
+ * Returns a `FlutterBinaryMessenger` for creating Dart/iOS communication
+ * channels to be used by the plugin.
+ *
+ * @return The messenger.
+ */
+- (NSObject*)messenger;
+
+/**
+ * Returns a `FlutterTextureRegistry` for registering textures
+ * provided by the plugin.
+ *
+ * @return The texture registry.
+ */
+- (NSObject*)textures;
+
+/**
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
+ *
+ * Plugins expose `UIView` for embedding in Flutter apps by registering a view factory.
+ *
+ * @param factory The view factory that will be registered.
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
+ * this identifier to request creation of a `UIView` by the registered factory.
+ */
+- (void)registerViewFactory:(NSObject*)factory
+ withId:(NSString*)factoryId;
+
+/**
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
+ *
+ * Plugins can expose a `UIView` for embedding in Flutter apps by registering a view factory.
+ *
+ * @param factory The view factory that will be registered.
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
+ * this identifier to request creation of a `UIView` by the registered factory.
+ * @param gestureRecognizersBlockingPolicy How UIGestureRecognizers on the platform views are
+ * blocked.
+ *
+ */
+- (void)registerViewFactory:(NSObject*)factory
+ withId:(NSString*)factoryId
+ gestureRecognizersBlockingPolicy:
+ (FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy;
+
+/**
+ * Publishes a value for external use of the plugin.
+ *
+ * Plugins may publish a single value, such as an instance of the
+ * plugin's main class, for situations where external control or
+ * interaction is needed.
+ *
+ * The published value will be available from the `FlutterPluginRegistry`.
+ * Repeated calls overwrite any previous publication.
+ *
+ * @param value The value to be published.
+ */
+- (void)publish:(NSObject*)value;
+
+/**
+ * Registers the plugin as a receiver of incoming method calls from the Dart side
+ * on the specified `FlutterMethodChannel`.
+ *
+ * @param delegate The receiving object, such as the plugin's main class.
+ * @param channel The channel
+ */
+- (void)addMethodCallDelegate:(NSObject*)delegate
+ channel:(FlutterMethodChannel*)channel;
+
+/**
+ * Registers the plugin as a receiver of `UIApplicationDelegate` calls.
+ *
+ * @param delegate The receiving object, such as the plugin's main class.
+ */
+- (void)addApplicationDelegate:(NSObject*)delegate
+ NS_EXTENSION_UNAVAILABLE_IOS("Disallowed in plugins used in app extensions");
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return the file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset which originates from the specified package.
+ * The returned file name can be used to access the asset in the application's main bundle.
+ *
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return the file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+@end
+
+#pragma mark -
+/**
+ * A registry of Flutter iOS plugins.
+ *
+ * Plugins are identified by unique string keys, typically the name of the
+ * plugin's main class. The registry tracks plugins by this key, mapping it to
+ * a value published by the plugin during registration, if any. This provides a
+ * very basic means of cross-plugin coordination with loose coupling between
+ * unrelated plugins.
+ *
+ * Plugins typically need contextual information and the ability to register
+ * callbacks for various application events. To keep the API of the registry
+ * focused, these facilities are not provided directly by the registry, but by
+ * a `FlutterPluginRegistrar`, created by the registry in exchange for the unique
+ * key of the plugin.
+ *
+ * There is no implied connection between the registry and the registrar.
+ * Specifically, callbacks registered by the plugin via the registrar may be
+ * relayed directly to the underlying iOS application objects.
+ */
+@protocol FlutterPluginRegistry
+/**
+ * Returns a registrar for registering a plugin.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ */
+- (nullable NSObject*)registrarForPlugin:(NSString*)pluginKey;
+/**
+ * Returns whether the specified plugin has been registered.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ * @return `YES` if `registrarForPlugin` has been called with `pluginKey`.
+ */
+- (BOOL)hasPlugin:(NSString*)pluginKey;
+
+/**
+ * Returns a value published by the specified plugin.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ * @return An object published by the plugin, if any. Will be `NSNull` if
+ * nothing has been published. Will be `nil` if the plugin has not been
+ * registered.
+ */
+- (nullable NSObject*)valuePublishedByPlugin:(NSString*)pluginKey;
+@end
+
+#pragma mark -
+/**
+ * Implement this in the `UIAppDelegate` of your app to enable Flutter plugins to register
+ * themselves to the application life cycle events.
+ *
+ * For plugins to receive events from `UNUserNotificationCenter`, register this as the
+ * `UNUserNotificationCenterDelegate`.
+ */
+@protocol FlutterAppLifeCycleProvider
+
+/**
+ * Called when registering a new `FlutterApplicaitonLifeCycleDelegate`.
+ *
+ * See also: `-[FlutterAppDelegate addApplicationLifeCycleDelegate:]`
+ */
+- (void)addApplicationLifeCycleDelegate:(NSObject*)delegate;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGIN_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
new file mode 100644
index 0000000..95d1e61
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
@@ -0,0 +1,148 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
+
+#import "FlutterPlugin.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Propagates `UIAppDelegate` callbacks to registered plugins.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterPluginAppLifeCycleDelegate : NSObject
+
+/**
+ * Registers `delegate` to receive life cycle callbacks via this FlutterPluginAppLifeCycleDelegate
+ * as long as it is alive.
+ *
+ * `delegate` will only be referenced weakly.
+ */
+- (void)addDelegate:(NSObject*)delegate;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if any plugin vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ *
+ * @return `NO` if any plugin vetos application launch.
+ */
+- (BOOL)application:(UIApplication*)application
+ willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
+
+/**
+ * Called if this plugin has been registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
+ ios(8.0, 10.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveRemoteNotification:(NSDictionary*)userInfo
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ didReceiveLocalNotification:(UILocalNotification*)notification
+ API_DEPRECATED(
+ "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
+ ios(4.0, 10.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ options:(NSDictionary*)options;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ openURL:(NSURL*)url
+ sourceApplication:(NSString*)sourceApplication
+ annotation:(id)annotation;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
+ */
+- (void)application:(UIApplication*)application
+ performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
+ completionHandler:(void (^)(BOOL succeeded))completionHandler
+ API_AVAILABLE(ios(9.0));
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
+ completionHandler:(nonnull void (^)(void))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @returns `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
+
+/**
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
+ * some plugin handles the request.
+ *
+ * @return `YES` if any plugin handles the request.
+ */
+- (BOOL)application:(UIApplication*)application
+ continueUserActivity:(NSUserActivity*)userActivity
+ restorationHandler:(void (^)(NSArray*))restorationHandler;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterTexture.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterTexture.h
new file mode 100644
index 0000000..003b865
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterTexture.h
@@ -0,0 +1,62 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
+
+#import
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * Represents a texture that can be shared with Flutter.
+ *
+ * See also: https://github.com/flutter/plugins/tree/master/packages/camera
+ */
+@protocol FlutterTexture
+/** Copy the contents of the texture into a `CVPixelBuffer`. */
+- (CVPixelBufferRef _Nullable)copyPixelBuffer;
+
+/**
+ * Called when the texture is unregistered.
+ *
+ * Called on the raster thread.
+ */
+@optional
+- (void)onTextureUnregistered:(NSObject*)texture;
+@end
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * A collection of registered `FlutterTexture`'s.
+ */
+@protocol FlutterTextureRegistry
+/**
+ * Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
+ * that texture when calling into Flutter with channels. Textures must be registered on the
+ * platform thread. On success returns the pointer to the registered texture, else returns 0.
+ */
+- (int64_t)registerTexture:(NSObject*)texture;
+/**
+ * Notifies Flutter that the content of the previously registered texture has been updated.
+ *
+ * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
+ */
+- (void)textureFrameAvailable:(int64_t)textureId;
+/**
+ * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
+ * must be unregistered on the platform thread.
+ *
+ * @param textureId The result that was previously returned from `registerTexture:`.
+ */
+- (void)unregisterTexture:(int64_t)textureId;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterViewController.h b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterViewController.h
new file mode 100644
index 0000000..a218fd3
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterViewController.h
@@ -0,0 +1,260 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
+
+#import
+#include
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+#import "FlutterTexture.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class FlutterEngine;
+
+/**
+ * The name used for semantic update notifications via `NSNotificationCenter`.
+ *
+ * The object passed as the sender is the `FlutterViewController` associated
+ * with the update.
+ */
+FLUTTER_DARWIN_EXPORT
+// NOLINTNEXTLINE(readability-identifier-naming)
+extern NSNotificationName const FlutterSemanticsUpdateNotification;
+
+/**
+ * A `UIViewController` implementation for Flutter views.
+ *
+ * Dart execution, channel communication, texture registration, and plugin registration are all
+ * handled by `FlutterEngine`. Calls on this class to those members all proxy through to the
+ * `FlutterEngine` attached FlutterViewController.
+ *
+ * A FlutterViewController can be initialized either with an already-running `FlutterEngine` via the
+ * `initWithEngine:` initializer, or it can be initialized with a `FlutterDartProject` that will be
+ * used to implicitly spin up a new `FlutterEngine`. Creating a `FlutterEngine` before showing a
+ * FlutterViewController can be used to pre-initialize the Dart VM and to prepare the isolate in
+ * order to reduce the latency to the first rendered frame. See
+ * https://flutter.dev/docs/development/add-to-app/performance for more details on loading
+ * latency.
+ *
+ * Holding a `FlutterEngine` independently of FlutterViewControllers can also be used to not to lose
+ * Dart-related state and asynchronous tasks when navigating back and forth between a
+ * FlutterViewController and other `UIViewController`s.
+ */
+FLUTTER_DARWIN_EXPORT
+#ifdef __IPHONE_13_4
+@interface FlutterViewController
+ : UIViewController
+#else
+@interface FlutterViewController : UIViewController
+#endif
+
+/**
+ * Initializes this FlutterViewController with the specified `FlutterEngine`.
+ *
+ * The initialized viewcontroller will attach itself to the engine as part of this process.
+ *
+ * @param engine The `FlutterEngine` instance to attach to. Cannot be nil.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithEngine:(FlutterEngine*)engine
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
+ * `FlutterDartProject`.
+ *
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
+ * after initialization.
+ *
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
+ * `FlutterDartProject` and `initialRoute`.
+ *
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
+ * after initialization.
+ *
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
+ * @param initialRoute The initial `Navigator` route to load.
+ * @param nibName The NIB name to initialize this UIViewController with.
+ * @param nibBundle The NIB bundle.
+ */
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
+ initialRoute:(nullable NSString*)initialRoute
+ nibName:(nullable NSString*)nibName
+ bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializer that is called from loading a FlutterViewController from a XIB.
+ *
+ * See also:
+ * https://developer.apple.com/documentation/foundation/nscoding/1416145-initwithcoder?language=objc
+ */
+- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Registers a callback that will be invoked when the Flutter view has been rendered.
+ * The callback will be fired only once.
+ *
+ * Replaces an existing callback. Use a `nil` callback to unregister the existing one.
+ */
+- (void)setFlutterViewDidRenderCallback:(void (^)(void))callback;
+
+/**
+ * Returns the file name for the given asset.
+ * The returned file name can be used to access the asset in the application's
+ * main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @return The file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
+
+/**
+ * Returns the file name for the given asset which originates from the specified
+ * package.
+ * The returned file name can be used to access the asset in the application's
+ * main bundle.
+ *
+ * @param asset The name of the asset. The name can be hierarchical.
+ * @param package The name of the package from which the asset originates.
+ * @return The file name to be used for lookup in the main bundle.
+ */
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
+
+/**
+ * Deprecated API to set initial route.
+ *
+ * Attempts to set the first route that the Flutter app shows if the Flutter
+ * runtime hasn't yet started. The default is "/".
+ *
+ * This method must be called immediately after `initWithProject` and has no
+ * effect when using `initWithEngine` if the `FlutterEngine` has already been
+ * run.
+ *
+ * Setting this after the Flutter started running has no effect. See `pushRoute`
+ * and `popRoute` to change the route after Flutter started running.
+ *
+ * This is deprecated because it needs to be called at the time of initialization
+ * and thus should just be in the `initWithProject` initializer. If using
+ * `initWithEngine`, the initial route should be set on the engine's
+ * initializer.
+ *
+ * @param route The name of the first route to show.
+ */
+- (void)setInitialRoute:(NSString*)route
+ FLUTTER_DEPRECATED("Use FlutterViewController initializer to specify initial route");
+
+/**
+ * Instructs the Flutter Navigator (if any) to go back.
+ */
+- (void)popRoute;
+
+/**
+ * Instructs the Flutter Navigator (if any) to push a route on to the navigation
+ * stack.
+ *
+ * @param route The name of the route to push to the navigation stack.
+ */
+- (void)pushRoute:(NSString*)route;
+
+/**
+ * The `FlutterPluginRegistry` used by this FlutterViewController.
+ */
+- (id)pluginRegistry;
+
+/**
+ * A wrapper around UIAccessibilityIsVoiceOverRunning().
+ *
+ * As a C function, UIAccessibilityIsVoiceOverRunning() cannot be mocked in testing. Mock
+ * this class method to testing features depends on UIAccessibilityIsVoiceOverRunning().
+ */
++ (BOOL)isUIAccessibilityIsVoiceOverRunning;
+
+/**
+ * True if at least one frame has rendered and the ViewController has appeared.
+ *
+ * This property is reset to false when the ViewController disappears. It is
+ * guaranteed to only alternate between true and false for observers.
+ */
+@property(nonatomic, readonly, getter=isDisplayingFlutterUI) BOOL displayingFlutterUI;
+
+/**
+ * Specifies the view to use as a splash screen. Flutter's rendering is asynchronous, so the first
+ * frame rendered by the Flutter application might not immediately appear when the Flutter view is
+ * initially placed in the view hierarchy. The splash screen view will be used as
+ * a replacement until the first frame is rendered.
+ *
+ * The view used should be appropriate for multiple sizes; an autoresizing mask to
+ * have a flexible width and height will be applied automatically.
+ *
+ * Set to nil to remove the splash screen view.
+ */
+@property(strong, nonatomic, nullable) UIView* splashScreenView;
+
+/**
+ * Attempts to set the `splashScreenView` property from the `UILaunchStoryboardName` from the
+ * main bundle's `Info.plist` file. This method will not change the value of `splashScreenView`
+ * if it cannot find a default one from a storyboard or nib.
+ *
+ * @return `YES` if successful, `NO` otherwise.
+ */
+- (BOOL)loadDefaultSplashScreenView;
+
+/**
+ * Controls whether the created view will be opaque or not.
+ *
+ * Default is `YES`. Note that setting this to `NO` may negatively impact performance
+ * when using hardware acceleration, and toggling this will trigger a re-layout of the
+ * view.
+ */
+@property(nonatomic, getter=isViewOpaque) BOOL viewOpaque;
+
+/**
+ * The `FlutterEngine` instance for this view controller. This could be the engine this
+ * `FlutterViewController` is initialized with or a new `FlutterEngine` implicitly created if
+ * no engine was supplied during initialization.
+ */
+@property(weak, nonatomic, readonly) FlutterEngine* engine;
+
+/**
+ * The `FlutterBinaryMessenger` associated with this FlutterViewController (used for communicating
+ * with channels).
+ *
+ * This is just a convenient way to get the |FlutterEngine|'s binary messenger.
+ */
+@property(nonatomic, readonly) NSObject* binaryMessenger;
+
+/**
+ * If the `FlutterViewController` creates a `FlutterEngine`, this property
+ * determines if that `FlutterEngine` has `allowHeadlessExecution` set.
+ *
+ * The intention is that this is used with the XIB. Otherwise, a
+ * `FlutterEngine` can just be sent to the init methods.
+ *
+ * See also: `-[FlutterEngine initWithName:project:allowHeadlessExecution:]`
+ */
+@property(nonatomic, readonly) BOOL engineAllowHeadlessExecution;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERVIEWCONTROLLER_H_
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Info.plist
new file mode 100644
index 0000000..da29070
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Info.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ Flutter
+ CFBundleIdentifier
+ io.flutter.flutter
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ Flutter
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 11.0
+ FlutterEngine
+ e76c956498841e1ab458577d3892003e553e4f3c
+ ClangVersion
+ b'Fuchsia clang version 18.0.0 (https://llvm.googlesource.com/llvm-project 725656bdd885483c39f482a01ea25d67acf39c46)'
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Modules/module.modulemap b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Modules/module.modulemap
new file mode 100644
index 0000000..bf81c8a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module Flutter {
+ umbrella header "Flutter.h"
+
+ export *
+ module * { export * }
+}
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..d4bc7fc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/PrivacyInfo.xcprivacy
@@ -0,0 +1,32 @@
+
+
+
+
+ NSPrivacyTracking
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ 0A2A.1
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..9cdf80a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources
@@ -0,0 +1,311 @@
+
+
+
+
+ files
+
+ Headers/Flutter.h
+
+ wTPJHICwW6wxY3b87ek7ITN5kJk=
+
+ Headers/FlutterAppDelegate.h
+
+ zbvYFr9dywry0lMMrHuNOOaNgkY=
+
+ Headers/FlutterBinaryMessenger.h
+
+ ksjIMu5IPw+Q3rw2YkAx0KjxkdM=
+
+ Headers/FlutterCallbackCache.h
+
+ V/wkSSsyYdMoexF6wPrC3KgkL4g=
+
+ Headers/FlutterChannels.h
+
+ vFsZXNqjflvqKqAzsIptQaTSJho=
+
+ Headers/FlutterCodecs.h
+
+ sUgX1PJzkvyinL5i7nS1ro/Kd5o=
+
+ Headers/FlutterDartProject.h
+
+ 1Ii7W6lYWZUeB6C6rtn269jAxgA=
+
+ Headers/FlutterEngine.h
+
+ AqVvCbPmgWMQKrRnib05Okrjbp0=
+
+ Headers/FlutterEngineGroup.h
+
+ nZcTgHGDD30QzPLlQfP8gP+S06o=
+
+ Headers/FlutterHeadlessDartRunner.h
+
+ UqnnVWwQEYYX56eu7lt6dpR3LIc=
+
+ Headers/FlutterMacros.h
+
+ crQ9782ULebLQfIR+MbBkjB7d+k=
+
+ Headers/FlutterPlatformViews.h
+
+ ocQVSiAiUMYfVtZIn48LpYTJA5w=
+
+ Headers/FlutterPlugin.h
+
+ EARXud6pHb7ZYP8eXPDnluMqcXk=
+
+ Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ qWHw5VIWEa0NmJ1PMhD16nlfRKk=
+
+ Headers/FlutterTexture.h
+
+ 7nFruy6bmD9XHvbzEwfdTXE4Rkk=
+
+ Headers/FlutterViewController.h
+
+ n0oqDKaGwBHcAUY4+7F+z78onKc=
+
+ Info.plist
+
+ 4h4j8sv5dl7Tn/xCcbUeqZHdBTo=
+
+ Modules/module.modulemap
+
+ wJV5dCKEGl+FAtDc8wJJh/fvKXs=
+
+ PrivacyInfo.xcprivacy
+
+ D+cqXttvC7E/uziGjFdqFabWd7A=
+
+ icudtl.dat
+
+ Ubat0LvE4LUgCwHeyl0Anx2vnzk=
+
+
+ files2
+
+ Headers/Flutter.h
+
+ hash2
+
+ auaf7wPxiASCYD2ACy1dfbMJvmONwFvSz1BWYAQrrSw=
+
+
+ Headers/FlutterAppDelegate.h
+
+ hash2
+
+ o0iigVsmgwmtZfSv3X7hReDNYP5rXblslDnqq2s6UQc=
+
+
+ Headers/FlutterBinaryMessenger.h
+
+ hash2
+
+ EXDk4t+7qCpyQkar+q9WHqY9bcK8eyohCwGVtBJhMy8=
+
+
+ Headers/FlutterCallbackCache.h
+
+ hash2
+
+ 0h9+vK5K+r8moTsiGBfs6+TM9Qog089afHAy3gbcwDU=
+
+
+ Headers/FlutterChannels.h
+
+ hash2
+
+ kg195C3vZLiOn8KeFQUy7DoVuA9VZDpqoBLVn64uGaI=
+
+
+ Headers/FlutterCodecs.h
+
+ hash2
+
+ ZyqlHYuZbpFevVeny9Wdl0rVFgS7szIyssSiCyaaeFM=
+
+
+ Headers/FlutterDartProject.h
+
+ hash2
+
+ Y5PEW7Tws4XpVmn15X/fdaU0d76hSeF803JlgrI20qE=
+
+
+ Headers/FlutterEngine.h
+
+ hash2
+
+ RAOC6nDhZdghbAzsIZgVeq6qPt+MUNTfm/vkUnhmZO4=
+
+
+ Headers/FlutterEngineGroup.h
+
+ hash2
+
+ I+878Ez9ZpVdAR2GOzKJKjaZ5m807AeAF++2pSMQss4=
+
+
+ Headers/FlutterHeadlessDartRunner.h
+
+ hash2
+
+ nmZjZpvFCXrygf4U9aPkNi8VcI7cL5AtA+CY5uUWIL0=
+
+
+ Headers/FlutterMacros.h
+
+ hash2
+
+ ebBVHSZcUnAbN4hRcYq3ttt6++z1Ybc8KVSYhVToD5k=
+
+
+ Headers/FlutterPlatformViews.h
+
+ hash2
+
+ 4hl+kRU4PNNKdAHvYrliObXzSjRzow9Z18oOMRZIa0o=
+
+
+ Headers/FlutterPlugin.h
+
+ hash2
+
+ HqbvCHqKWTzs5GjLAwupqEIYVi9yf5CrMdMe31EOwUA=
+
+
+ Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ hash2
+
+ +PMn+5SDj2Vd6RU8CQIt/JYl3T+8Dhp7HImqAzocoNk=
+
+
+ Headers/FlutterTexture.h
+
+ hash2
+
+ 4kb25KahvBulQiElAYv/ZSbdkhkb5F/AKRZv4IjLsOw=
+
+
+ Headers/FlutterViewController.h
+
+ hash2
+
+ phm49xhui2KkRomlqtmASHuU7lmd/s3qNCQpYxC0IMc=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ 0VjriRpZ7AZZaP/0mMAPMJPhi6LoMB4MhXzL5j24tGs=
+
+
+ PrivacyInfo.xcprivacy
+
+ hash2
+
+ n5XX54YqS1a2btkmvW1iLSplRagn0ZhHJ4tDjVcdQhI=
+
+
+ icudtl.dat
+
+ hash2
+
+ ZepykIMSjfzhwAcmupMrkaqvXkhza1ZE3TdHjl8odaw=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/icudtl.dat b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/icudtl.dat
new file mode 100644
index 0000000..466abd8
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/Flutter.framework/icudtl.dat differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/Info.plist
new file mode 100644
index 0000000..d856e8b
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..814a808
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/_CodeSignature/CodeResources
@@ -0,0 +1,101 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ v1M1+LmR8V3iPab3/MTIKVCK9K8=
+
+
+ files2
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/integration_test b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/integration_test
new file mode 100755
index 0000000..c62adc7
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/integration_test.framework/integration_test differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/Info.plist
new file mode 100644
index 0000000..e0122de
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..8b52103
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/_CodeSignature/CodeResources
@@ -0,0 +1,124 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ XmhHhW0qg+jpG7GrZmBfDxrOeCg=
+
+ path_provider_foundation_privacy.bundle/Info.plist
+
+ DSLEsxByUPMw7FRBswUujQst/zg=
+
+ path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
+
+ /LX0ZlwxwIAIhjZaDB8EiH5KpXA=
+
+
+ files2
+
+ path_provider_foundation_privacy.bundle/Info.plist
+
+ hash2
+
+ gCczwjUYM1pwEC5P1ufuX7wdMJmW4UlQAG08tMHay3k=
+
+
+ path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
+
+ hash2
+
+ bS2g2NkwIn1CjB2TY7CtbjoS4sm2jFzilxWKdBL8jDE=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation
new file mode 100755
index 0000000..74ee734
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist
new file mode 100644
index 0000000..f08a926
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..a34b7e2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/Info.plist
new file mode 100644
index 0000000..96cebb1
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..af3f004
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/_CodeSignature/CodeResources
@@ -0,0 +1,124 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ GTO3hvWAbTYScDBmtBoma33t9Ac=
+
+ sqflite_darwin_privacy.bundle/Info.plist
+
+ jpm8MATkKK8msOMpO+8c2o03UpI=
+
+ sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
+
+ YIiJ5tHvqBeSpBm2mcfVZdaGz3E=
+
+
+ files2
+
+ sqflite_darwin_privacy.bundle/Info.plist
+
+ hash2
+
+ tUpO4vn0k7ZIkRQS+R3EOZYBvdCMYDCfUzPJZu5hCno=
+
+
+ sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
+
+ hash2
+
+ RyJqKWCN8gatChEOav61p3/1dawd+cdr/bLW37P6/tE=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite
new file mode 100755
index 0000000..c4303f8
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist
new file mode 100644
index 0000000..e052baf
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..0eca193
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.app/Info.plist b/build/ios/Debug-iphoneos/Runner.app/Info.plist
new file mode 100644
index 0000000..a5eb6d1
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/PkgInfo b/build/ios/Debug-iphoneos/Runner.app/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.app/Runner b/build/ios/Debug-iphoneos/Runner.app/Runner
new file mode 100755
index 0000000..b55b4f0
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/Runner differ
diff --git a/build/ios/Debug-iphoneos/Runner.app/_CodeSignature/CodeResources b/build/ios/Debug-iphoneos/Runner.app/_CodeSignature/CodeResources
new file mode 100644
index 0000000..6fcf45f
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.app/_CodeSignature/CodeResources
@@ -0,0 +1,777 @@
+
+
+
+
+ files
+
+ AppFrameworkInfo.plist
+
+ mnLbgBhrpRwdlXh4UKzYj73lYuA=
+
+ AppIcon60x60@2x.png
+
+ e4aOk9L8jyG7F/dbzomBZk/NoeM=
+
+ AppIcon76x76@2x~ipad.png
+
+ xjMKY2yINgIyP75WUzIKn6v+TFQ=
+
+ Assets.car
+
+ 1kDKIey0pPQVl1CHnYQ1aSJqAB8=
+
+ Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+
+ 28xWMBQ91UzszfdXY91SqhC7ecg=
+
+ Base.lproj/LaunchScreen.storyboardc/Info.plist
+
+ n2t8gsDpfE6XkhG31p7IQJRxTxU=
+
+ Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+
+ ZVgM1+KwZcZnwhgaI0F7Bt1ba2c=
+
+ Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+
+ hMnf/VIyTGR2nRcoLS3JCfeGmDs=
+
+ Base.lproj/Main.storyboardc/Info.plist
+
+ MDrKFvFWroTb0+KEbQShBcoBvo4=
+
+ Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
+
+ nFC1waP0YzYOchnqa85lPwrC73s=
+
+ Frameworks/App.framework/App
+
+ 9XNFqnPdiBk2ejrex0PPpge+mLk=
+
+ Frameworks/App.framework/Info.plist
+
+ h5OB7aKzS5WR9SemvZAyN6FEkJs=
+
+ Frameworks/App.framework/_CodeSignature/CodeResources
+
+ 69I16z/NqgsrwZW2rduFh4nGN3Y=
+
+ Frameworks/App.framework/flutter_assets/AssetManifest.bin
+
+ nppY/SgfJlLHZzmbow3RnZMXeVI=
+
+ Frameworks/App.framework/flutter_assets/AssetManifest.json
+
+ SrA+dnnv0cgCjtutFqnacYn9E/M=
+
+ Frameworks/App.framework/flutter_assets/FontManifest.json
+
+ vKJkVIcw+LGHFnKJGwrQwCREv68=
+
+ Frameworks/App.framework/flutter_assets/NOTICES.Z
+
+ QCDACWf11cA4QfYwAwI/1JnWBaw=
+
+ Frameworks/App.framework/flutter_assets/assets/appbar_background.png
+
+ JkgEiNZSVRa0lrDwrdeN4N1j56k=
+
+ Frameworks/App.framework/flutter_assets/assets/logo.png
+
+ Kp3Vqz9/+Q7JHvx/0dcelGsVQ0Y=
+
+ Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ /CUoTuPQqqdexfyOT9lpJhV+2MQ=
+
+ Frameworks/App.framework/flutter_assets/isolate_snapshot_data
+
+ cU5igDxcIVzLQT2ishbNSdUocVk=
+
+ Frameworks/App.framework/flutter_assets/kernel_blob.bin
+
+ 2S861NjVoBUyLZO/rAR+4BdQj3A=
+
+ Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ Bvk+P1ykE1PGRdktwgwDyz6AOqM=
+
+ Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag
+
+ hBZgIGdEvhX+IvXd5bjkjJVu6+s=
+
+ Frameworks/App.framework/flutter_assets/vm_snapshot_data
+
+ ap40xllbguuMfkV4mJkKh/NQWg4=
+
+ Frameworks/Flutter.framework/Flutter
+
+ N4lkmlh+D9ZKIrAMxmOV5sfnFcI=
+
+ Frameworks/Flutter.framework/Headers/Flutter.h
+
+ wTPJHICwW6wxY3b87ek7ITN5kJk=
+
+ Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
+
+ zbvYFr9dywry0lMMrHuNOOaNgkY=
+
+ Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
+
+ ksjIMu5IPw+Q3rw2YkAx0KjxkdM=
+
+ Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
+
+ V/wkSSsyYdMoexF6wPrC3KgkL4g=
+
+ Frameworks/Flutter.framework/Headers/FlutterChannels.h
+
+ vFsZXNqjflvqKqAzsIptQaTSJho=
+
+ Frameworks/Flutter.framework/Headers/FlutterCodecs.h
+
+ sUgX1PJzkvyinL5i7nS1ro/Kd5o=
+
+ Frameworks/Flutter.framework/Headers/FlutterDartProject.h
+
+ 1Ii7W6lYWZUeB6C6rtn269jAxgA=
+
+ Frameworks/Flutter.framework/Headers/FlutterEngine.h
+
+ AqVvCbPmgWMQKrRnib05Okrjbp0=
+
+ Frameworks/Flutter.framework/Headers/FlutterEngineGroup.h
+
+ nZcTgHGDD30QzPLlQfP8gP+S06o=
+
+ Frameworks/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
+
+ UqnnVWwQEYYX56eu7lt6dpR3LIc=
+
+ Frameworks/Flutter.framework/Headers/FlutterMacros.h
+
+ crQ9782ULebLQfIR+MbBkjB7d+k=
+
+ Frameworks/Flutter.framework/Headers/FlutterPlatformViews.h
+
+ ocQVSiAiUMYfVtZIn48LpYTJA5w=
+
+ Frameworks/Flutter.framework/Headers/FlutterPlugin.h
+
+ EARXud6pHb7ZYP8eXPDnluMqcXk=
+
+ Frameworks/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ qWHw5VIWEa0NmJ1PMhD16nlfRKk=
+
+ Frameworks/Flutter.framework/Headers/FlutterTexture.h
+
+ 7nFruy6bmD9XHvbzEwfdTXE4Rkk=
+
+ Frameworks/Flutter.framework/Headers/FlutterViewController.h
+
+ n0oqDKaGwBHcAUY4+7F+z78onKc=
+
+ Frameworks/Flutter.framework/Info.plist
+
+ 4h4j8sv5dl7Tn/xCcbUeqZHdBTo=
+
+ Frameworks/Flutter.framework/Modules/module.modulemap
+
+ wJV5dCKEGl+FAtDc8wJJh/fvKXs=
+
+ Frameworks/Flutter.framework/PrivacyInfo.xcprivacy
+
+ D+cqXttvC7E/uziGjFdqFabWd7A=
+
+ Frameworks/Flutter.framework/_CodeSignature/CodeResources
+
+ h1lK/Nfuz0skToW7cU+7hPrLy9k=
+
+ Frameworks/Flutter.framework/icudtl.dat
+
+ Ubat0LvE4LUgCwHeyl0Anx2vnzk=
+
+ Frameworks/integration_test.framework/Info.plist
+
+ v1M1+LmR8V3iPab3/MTIKVCK9K8=
+
+ Frameworks/integration_test.framework/_CodeSignature/CodeResources
+
+ /XKXlrhIddWYtVAlLDrtGgVheG0=
+
+ Frameworks/integration_test.framework/integration_test
+
+ ggIpz5FIlGqdTdKppiU2d+KTZBs=
+
+ Frameworks/path_provider_foundation.framework/Info.plist
+
+ XmhHhW0qg+jpG7GrZmBfDxrOeCg=
+
+ Frameworks/path_provider_foundation.framework/_CodeSignature/CodeResources
+
+ hagpZGny0XriLqpfHv5gUajI6q8=
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation
+
+ ZmXl15Fm5VvdqnDGkcj6ulrHLQ0=
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist
+
+ DSLEsxByUPMw7FRBswUujQst/zg=
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
+
+ /LX0ZlwxwIAIhjZaDB8EiH5KpXA=
+
+ Frameworks/sqflite.framework/Info.plist
+
+ GTO3hvWAbTYScDBmtBoma33t9Ac=
+
+ Frameworks/sqflite.framework/_CodeSignature/CodeResources
+
+ ZB6xfK6Lg8febbxiW1P9A34WpJE=
+
+ Frameworks/sqflite.framework/sqflite
+
+ D2k/+A6P6Itl7Keyi3HG4xDSXdY=
+
+ Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist
+
+ jpm8MATkKK8msOMpO+8c2o03UpI=
+
+ Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
+
+ YIiJ5tHvqBeSpBm2mcfVZdaGz3E=
+
+ Info.plist
+
+ m8N0E/f4rmdJx0J5XDpPOwgVAlM=
+
+ PkgInfo
+
+ n57qDP4tZfLD1rCS43W0B4LQjzE=
+
+ embedded.mobileprovision
+
+ 9TB20l2IBjMCI6A9UY7yknvalwc=
+
+
+ files2
+
+ AppFrameworkInfo.plist
+
+ hash2
+
+ Zb9VR5aeuJMnm/RgXM3cr4LUNi9UZgxKD7xAgkid0NI=
+
+
+ AppIcon60x60@2x.png
+
+ hash2
+
+ Hm7S3Qle9UMNAM3S9w8ihT8oOvso2fhJt0YPD5E4tCA=
+
+
+ AppIcon76x76@2x~ipad.png
+
+ hash2
+
+ H64iIuM+W123jp1TEt99wHDMeP9CBzUTtgdyUrYwckE=
+
+
+ Assets.car
+
+ hash2
+
+ EL5jZwJtx1Zf9X+Rx/XzRnRBiQvMKg34t1Yd3ATbFCI=
+
+
+ Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+
+ hash2
+
+ by6WshwXWgbEYiAy2bvh0UtjSVa3EwySkNFc1FazGdY=
+
+
+ Base.lproj/LaunchScreen.storyboardc/Info.plist
+
+ hash2
+
+ HyVdXMU7Ux4/KalAao30mpWOK/lEPT4gvYN09wf31cg=
+
+
+ Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+
+ hash2
+
+ VPNjf2cf66XxnoLsT0p/tEi7PPwPsYDwiapXH8jwU+I=
+
+
+ Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+
+ hash2
+
+ BY/hOMO0FcCl8mCMQqjVbFeb8Q97c1G9lHscfspHFNk=
+
+
+ Base.lproj/Main.storyboardc/Info.plist
+
+ hash2
+
+ PpvapAjR62rl6Ym4E6hkTgpKmBICxTaQXeUqcpHmmqQ=
+
+
+ Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
+
+ hash2
+
+ y90o2JQjssm+7ysnziyWCNMNbGqdLnZ595pTgURE5T8=
+
+
+ Frameworks/App.framework/App
+
+ hash2
+
+ IfE/iif1YwNafZOfmopRVR8xLWt3uxW4ZorkaY6UNBk=
+
+
+ Frameworks/App.framework/Info.plist
+
+ hash2
+
+ SES+IrctFtb2ATzloiQHKMcw7x/vnPQ6XFUZixhhSAI=
+
+
+ Frameworks/App.framework/_CodeSignature/CodeResources
+
+ hash2
+
+ 69WIhdxOBxlGYpBbGuYb0qb2ZGF9ejfeM4i+N7/rUSA=
+
+
+ Frameworks/App.framework/flutter_assets/AssetManifest.bin
+
+ hash2
+
+ q8Ie4Ld3/fiNviXBIo+2I1C35qbB9odFDYKbahX2XZY=
+
+
+ Frameworks/App.framework/flutter_assets/AssetManifest.json
+
+ hash2
+
+ Bmf/DHmOo0s6mgjvOjLEVTky39BPm3x3AhVDJwMtcmw=
+
+
+ Frameworks/App.framework/flutter_assets/FontManifest.json
+
+ hash2
+
+ zX4DZFvESy3Ue3y2JvUcTsv1Whl6t3JBYotHrBZfviE=
+
+
+ Frameworks/App.framework/flutter_assets/NOTICES.Z
+
+ hash2
+
+ uxaMPyJTnaE0nTnvDYOClHo7+tK7avIaA0XpeSqftdE=
+
+
+ Frameworks/App.framework/flutter_assets/assets/appbar_background.png
+
+ hash2
+
+ EhS8+djmZXDI2ucxttToNMvFcA3W1ezHx112CQRIqpw=
+
+
+ Frameworks/App.framework/flutter_assets/assets/logo.png
+
+ hash2
+
+ QQd+B8xc2yWOncyL/vSm9aFtpY4LhK/gaxHds158yCc=
+
+
+ Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ hash2
+
+ 2YZbZxoJ1oPROoYwidiCXg9ho3aWzl19RIvIAjqmJFM=
+
+
+ Frameworks/App.framework/flutter_assets/isolate_snapshot_data
+
+ hash2
+
+ 2xhrt3e9Akh13HCD0k45mouHg3CpgXDn1AwXioeg1PY=
+
+
+ Frameworks/App.framework/flutter_assets/kernel_blob.bin
+
+ hash2
+
+ GQB/lHoxNUJcA5CBiQBdyBuX3jr7Tfbc7Ubr79pH6iM=
+
+
+ Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ hash2
+
+ Z8RP6Rg7AC553ef2l34piGYcmj5KPF/OloeH79vtgjw=
+
+
+ Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag
+
+ hash2
+
+ 0T+w183eMSTh5phjUfkXjg4ZpPYnVqkH4Gv3Ge4QCh8=
+
+
+ Frameworks/App.framework/flutter_assets/vm_snapshot_data
+
+ hash2
+
+ 6eubeZZqyUNzwtBtT1r66GIIirzwERUZET0Gp6oe/CI=
+
+
+ Frameworks/Flutter.framework/Flutter
+
+ hash2
+
+ YQIa87EySm9jwuGw4lxKHCxeLTqTI2EcTtXmuQNFa5Q=
+
+
+ Frameworks/Flutter.framework/Headers/Flutter.h
+
+ hash2
+
+ auaf7wPxiASCYD2ACy1dfbMJvmONwFvSz1BWYAQrrSw=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
+
+ hash2
+
+ o0iigVsmgwmtZfSv3X7hReDNYP5rXblslDnqq2s6UQc=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
+
+ hash2
+
+ EXDk4t+7qCpyQkar+q9WHqY9bcK8eyohCwGVtBJhMy8=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
+
+ hash2
+
+ 0h9+vK5K+r8moTsiGBfs6+TM9Qog089afHAy3gbcwDU=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterChannels.h
+
+ hash2
+
+ kg195C3vZLiOn8KeFQUy7DoVuA9VZDpqoBLVn64uGaI=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterCodecs.h
+
+ hash2
+
+ ZyqlHYuZbpFevVeny9Wdl0rVFgS7szIyssSiCyaaeFM=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterDartProject.h
+
+ hash2
+
+ Y5PEW7Tws4XpVmn15X/fdaU0d76hSeF803JlgrI20qE=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterEngine.h
+
+ hash2
+
+ RAOC6nDhZdghbAzsIZgVeq6qPt+MUNTfm/vkUnhmZO4=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterEngineGroup.h
+
+ hash2
+
+ I+878Ez9ZpVdAR2GOzKJKjaZ5m807AeAF++2pSMQss4=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
+
+ hash2
+
+ nmZjZpvFCXrygf4U9aPkNi8VcI7cL5AtA+CY5uUWIL0=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterMacros.h
+
+ hash2
+
+ ebBVHSZcUnAbN4hRcYq3ttt6++z1Ybc8KVSYhVToD5k=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterPlatformViews.h
+
+ hash2
+
+ 4hl+kRU4PNNKdAHvYrliObXzSjRzow9Z18oOMRZIa0o=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterPlugin.h
+
+ hash2
+
+ HqbvCHqKWTzs5GjLAwupqEIYVi9yf5CrMdMe31EOwUA=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
+
+ hash2
+
+ +PMn+5SDj2Vd6RU8CQIt/JYl3T+8Dhp7HImqAzocoNk=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterTexture.h
+
+ hash2
+
+ 4kb25KahvBulQiElAYv/ZSbdkhkb5F/AKRZv4IjLsOw=
+
+
+ Frameworks/Flutter.framework/Headers/FlutterViewController.h
+
+ hash2
+
+ phm49xhui2KkRomlqtmASHuU7lmd/s3qNCQpYxC0IMc=
+
+
+ Frameworks/Flutter.framework/Info.plist
+
+ hash2
+
+ IGR0U5ZZZ4amdYIzGzavTpW63AHuOqPblokedZRG3bg=
+
+
+ Frameworks/Flutter.framework/Modules/module.modulemap
+
+ hash2
+
+ 0VjriRpZ7AZZaP/0mMAPMJPhi6LoMB4MhXzL5j24tGs=
+
+
+ Frameworks/Flutter.framework/PrivacyInfo.xcprivacy
+
+ hash2
+
+ n5XX54YqS1a2btkmvW1iLSplRagn0ZhHJ4tDjVcdQhI=
+
+
+ Frameworks/Flutter.framework/_CodeSignature/CodeResources
+
+ hash2
+
+ DjFLAkQqfbP1qyGnvhqQE8WLB5V6/2d9+TJi30EKqhY=
+
+
+ Frameworks/Flutter.framework/icudtl.dat
+
+ hash2
+
+ ZepykIMSjfzhwAcmupMrkaqvXkhza1ZE3TdHjl8odaw=
+
+
+ Frameworks/integration_test.framework/Info.plist
+
+ hash2
+
+ 0fnnXDAdqcNWd5JHr2g1HlK44tlq9au9tqcsp4/9BWI=
+
+
+ Frameworks/integration_test.framework/_CodeSignature/CodeResources
+
+ hash2
+
+ ykTF8GVSvwJZ+yaaOA24d4wI5upD62nT4cUWNrBcJO8=
+
+
+ Frameworks/integration_test.framework/integration_test
+
+ hash2
+
+ x7qWxD3BxLzfo7rwlu5bR3KiYvvfzRT4dGBQpiG/iA8=
+
+
+ Frameworks/path_provider_foundation.framework/Info.plist
+
+ hash2
+
+ tueVTL6m+9ggqNY+lL2Nq7NadYmd2oa7DcFZRsgU0fQ=
+
+
+ Frameworks/path_provider_foundation.framework/_CodeSignature/CodeResources
+
+ hash2
+
+ ArDg7sg6Ftd7LnlFZNeeBy+eDxPkZ1iMYcSUfMwbcIg=
+
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation
+
+ hash2
+
+ 6VTkipwV39T0tqiDuQzl/yvJi9wLKyRluhNvYW51gJY=
+
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist
+
+ hash2
+
+ gCczwjUYM1pwEC5P1ufuX7wdMJmW4UlQAG08tMHay3k=
+
+
+ Frameworks/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
+
+ hash2
+
+ bS2g2NkwIn1CjB2TY7CtbjoS4sm2jFzilxWKdBL8jDE=
+
+
+ Frameworks/sqflite.framework/Info.plist
+
+ hash2
+
+ 3NbgNyacE74XbqLDPbq6D7vekZtduntTpAjWrr+bWzw=
+
+
+ Frameworks/sqflite.framework/_CodeSignature/CodeResources
+
+ hash2
+
+ gqpafP0tyDE3rlu6zEmWOvUjxLWY6ocv1XbCd9Pg4kI=
+
+
+ Frameworks/sqflite.framework/sqflite
+
+ hash2
+
+ QB6/Tt5Rl6JUqm0cRUY1FUlheQ9QqAgYFoKOpsE9AHQ=
+
+
+ Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist
+
+ hash2
+
+ tUpO4vn0k7ZIkRQS+R3EOZYBvdCMYDCfUzPJZu5hCno=
+
+
+ Frameworks/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
+
+ hash2
+
+ RyJqKWCN8gatChEOav61p3/1dawd+cdr/bLW37P6/tE=
+
+
+ embedded.mobileprovision
+
+ hash2
+
+ YhlpSe2uFbY8+YMtvKw2TaOWV3zaRvF7B3Gm8MbXQGQ=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/Debug-iphoneos/Runner.app/embedded.mobileprovision b/build/ios/Debug-iphoneos/Runner.app/embedded.mobileprovision
new file mode 100644
index 0000000..a94c2ee
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.app/embedded.mobileprovision differ
diff --git a/build/ios/Debug-iphoneos/Runner.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/build/ios/Debug-iphoneos/Runner.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 0000000..5cc89de
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.abi.json b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644
index 0000000..dc109fc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.abi.json
@@ -0,0 +1,9 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "json_format_version": 8
+ },
+ "ConstValues": []
+}
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftdoc b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 0000000..c6c6149
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftmodule b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftmodule
new file mode 100644
index 0000000..efc3567
Binary files /dev/null and b/build/ios/Debug-iphoneos/Runner.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/FLTIntegrationTestRunner.h b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/FLTIntegrationTestRunner.h
new file mode 100644
index 0000000..65568fc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/FLTIntegrationTestRunner.h
@@ -0,0 +1,36 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+@import Foundation;
+
+@class UIImage;
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void (^FLTIntegrationTestResults)(SEL nativeTestSelector, BOOL success, NSString *_Nullable failureMessage);
+
+@interface FLTIntegrationTestRunner : NSObject
+
+/**
+ * Any screenshots captured by the plugin.
+ */
+@property (copy, readonly) NSDictionary *capturedScreenshotsByName;
+
+/**
+ * Starts dart tests and waits for results.
+ *
+ * @param testResult Will be called once per every completed dart test.
+ */
+- (void)testIntegrationTestWithResults:(NS_NOESCAPE FLTIntegrationTestResults)testResult;
+
+/**
+ * An appropriate XCTest method name based on the dart test name.
+ *
+ * Example: dart test "verify widget-ABC123" becomes "testVerifyWidgetABC123"
+ */
++ (NSString *)testCaseNameFromDartTestName:(NSString *)dartTestName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestIosTest.h b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestIosTest.h
new file mode 100644
index 0000000..33aaea5
--- /dev/null
+++ b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestIosTest.h
@@ -0,0 +1,68 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+@import Foundation;
+@import ObjectiveC.runtime;
+
+NS_ASSUME_NONNULL_BEGIN
+
+DEPRECATED_MSG_ATTRIBUTE("Use FLTIntegrationTestRunner instead.")
+@interface IntegrationTestIosTest : NSObject
+
+/**
+ * Initiate dart tests and wait for results. @c testResult will be set to a string describing the results.
+ *
+ * @return @c YES if all tests succeeded.
+ */
+- (BOOL)testIntegrationTest:(NSString *_Nullable *_Nullable)testResult;
+
+@end
+
+// For every Flutter dart test, dynamically generate an Objective-C method mirroring the test results
+// so it is reported as a native XCTest run result.
+// If the Flutter dart tests have captured screenshots, add them to the XCTest bundle.
+#define INTEGRATION_TEST_IOS_RUNNER(__test_class) \
+ @interface __test_class : XCTestCase \
+ @end \
+ \
+ @implementation __test_class \
+ \
+ + (NSArray *)testInvocations { \
+ FLTIntegrationTestRunner *integrationTestRunner = [[FLTIntegrationTestRunner alloc] init]; \
+ NSMutableArray *testInvocations = [[NSMutableArray alloc] init]; \
+ [integrationTestRunner testIntegrationTestWithResults:^(SEL testSelector, BOOL success, NSString *failureMessage) { \
+ IMP assertImplementation = imp_implementationWithBlock(^(id _self) { \
+ XCTAssertTrue(success, @"%@", failureMessage); \
+ }); \
+ class_addMethod(self, testSelector, assertImplementation, "v@:"); \
+ NSMethodSignature *signature = [self instanceMethodSignatureForSelector:testSelector]; \
+ NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; \
+ invocation.selector = testSelector; \
+ [testInvocations addObject:invocation]; \
+ }]; \
+ NSDictionary *capturedScreenshotsByName = integrationTestRunner.capturedScreenshotsByName; \
+ if (capturedScreenshotsByName.count > 0) { \
+ IMP screenshotImplementation = imp_implementationWithBlock(^(id _self) { \
+ [capturedScreenshotsByName enumerateKeysAndObjectsUsingBlock:^(NSString *name, UIImage *screenshot, BOOL *stop) { \
+ XCTAttachment *attachment = [XCTAttachment attachmentWithImage:screenshot]; \
+ attachment.lifetime = XCTAttachmentLifetimeKeepAlways; \
+ if (name != nil) { \
+ attachment.name = name; \
+ } \
+ [_self addAttachment:attachment]; \
+ }]; \
+ }); \
+ SEL attachmentSelector = NSSelectorFromString(@"screenshotPlaceholder"); \
+ class_addMethod(self, attachmentSelector, screenshotImplementation, "v@:"); \
+ NSMethodSignature *attachmentSignature = [self instanceMethodSignatureForSelector:attachmentSelector]; \
+ NSInvocation *attachmentInvocation = [NSInvocation invocationWithMethodSignature:attachmentSignature]; \
+ attachmentInvocation.selector = attachmentSelector; \
+ [testInvocations addObject:attachmentInvocation]; \
+ } \
+ return testInvocations; \
+ } \
+ \
+ @end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestPlugin.h b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestPlugin.h
new file mode 100644
index 0000000..e9cbd66
--- /dev/null
+++ b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/IntegrationTestPlugin.h
@@ -0,0 +1,31 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A Flutter plugin that's responsible for communicating the test results back
+ * to iOS XCTest. */
+@interface IntegrationTestPlugin : NSObject
+
+/**
+ * Test results that are sent from Dart when integration test completes. Before the
+ * completion, it is @c nil.
+ */
+@property(nonatomic, readonly, nullable) NSDictionary *testResults;
+
+/**
+ * Mapping of screenshot images by suggested names, captured by the dart tests.
+ */
+@property (copy, readonly) NSDictionary *capturedScreenshotsByName;
+
+/** Fetches the singleton instance of the plugin. */
++ (instancetype)instance;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/integration_test-umbrella.h b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/integration_test-umbrella.h
new file mode 100644
index 0000000..c5727e1
--- /dev/null
+++ b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Headers/integration_test-umbrella.h
@@ -0,0 +1,19 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "FLTIntegrationTestRunner.h"
+#import "IntegrationTestIosTest.h"
+#import "IntegrationTestPlugin.h"
+
+FOUNDATION_EXPORT double integration_testVersionNumber;
+FOUNDATION_EXPORT const unsigned char integration_testVersionString[];
+
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Info.plist b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Info.plist
new file mode 100644
index 0000000..d856e8b
Binary files /dev/null and b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Modules/module.modulemap b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Modules/module.modulemap
new file mode 100644
index 0000000..3aaae61
--- /dev/null
+++ b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module integration_test {
+ umbrella header "integration_test-umbrella.h"
+
+ export *
+ module * { export * }
+}
diff --git a/build/ios/Debug-iphoneos/integration_test/integration_test.framework/integration_test b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/integration_test
new file mode 100755
index 0000000..9c237eb
Binary files /dev/null and b/build/ios/Debug-iphoneos/integration_test/integration_test.framework/integration_test differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-Swift.h b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-Swift.h
new file mode 100644
index 0000000..1dbf1df
--- /dev/null
+++ b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-Swift.h
@@ -0,0 +1,321 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+#ifndef PATH_PROVIDER_FOUNDATION_SWIFT_H
+#define PATH_PROVIDER_FOUNDATION_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include()
+# include
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include
+#endif
+#if defined(__cplusplus)
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#else
+#include
+#include
+#include
+#include
+#endif
+#if defined(__cplusplus)
+#if defined(__arm64e__) && __has_include()
+# include
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+# define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+# define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include()
+# include
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+# define SWIFT_RUNTIME_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+# define SWIFT_COMPILE_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+# define SWIFT_METHOD_FAMILY(X)
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+# define SWIFT_NOESCAPE
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+# define SWIFT_RELEASES_ARGUMENT
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+# define SWIFT_WARN_UNUSED_RESULT
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+# else
+# define SWIFT_NORETURN
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+# define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+# define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+@import Flutter;
+@import ObjectiveC;
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="path_provider_foundation",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+@protocol FlutterPluginRegistrar;
+
+SWIFT_CLASS("_TtC24path_provider_foundation18PathProviderPlugin")
+@interface PathProviderPlugin : NSObject
++ (void)registerWithRegistrar:(id _Nonnull)registrar;
+- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
+@end
+
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-umbrella.h b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-umbrella.h
new file mode 100644
index 0000000..f62757e
--- /dev/null
+++ b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Headers/path_provider_foundation-umbrella.h
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double path_provider_foundationVersionNumber;
+FOUNDATION_EXPORT const unsigned char path_provider_foundationVersionString[];
+
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Info.plist b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Info.plist
new file mode 100644
index 0000000..e0122de
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Info.plist differ
diff --git a/build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/c392bc393771e63cec9460e38cb222ce b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/module.modulemap
similarity index 100%
rename from build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/c392bc393771e63cec9460e38cb222ce
rename to build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/module.modulemap
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644
index 0000000..5fd0877
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.abi.json b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644
index 0000000..dc109fc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.abi.json
@@ -0,0 +1,9 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "json_format_version": 8
+ },
+ "ConstValues": []
+}
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftdoc b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 0000000..0f77368
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftmodule b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftmodule
new file mode 100644
index 0000000..fd7ae6a
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/Modules/path_provider_foundation.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation
new file mode 100755
index 0000000..e1860d8
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist
new file mode 100644
index 0000000..f08a926
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..a34b7e2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation.framework/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/Info.plist
new file mode 100644
index 0000000..f08a926
Binary files /dev/null and b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..a34b7e2
--- /dev/null
+++ b/build/ios/Debug-iphoneos/path_provider_foundation/path_provider_foundation_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteCursor.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteCursor.h
new file mode 100644
index 0000000..e1e9d09
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteCursor.h
@@ -0,0 +1,20 @@
+//
+// SqfliteCursor.h
+// sqflite
+//
+// Created by Alexandre Roux on 24/10/2022.
+//
+#ifndef SqfliteCursor_h
+#define SqfliteCursor_h
+
+// Cursor information
+@class SqfliteDarwinResultSet;
+@interface SqfliteCursor : NSObject
+
+@property (atomic, retain) NSNumber* cursorId;
+@property (atomic, retain) NSNumber* pageSize;
+@property (atomic, retain) SqfliteDarwinResultSet *resultSet;
+
+@end
+
+#endif // SqfliteCursor_h
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDB.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDB.h
new file mode 100644
index 0000000..d872fe4
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDB.h
@@ -0,0 +1,9 @@
+#import
+
+FOUNDATION_EXPORT double SqfliteDarwinDBVersionNumber;
+FOUNDATION_EXPORT const unsigned char SqfliteDarwinDBVersionString[];
+
+#import "SqfliteDarwinDatabase.h"
+#import "SqfliteDarwinResultSet.h"
+#import "SqfliteDarwinDatabaseAdditions.h"
+#import "SqfliteDarwinDatabaseQueue.h"
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabase.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabase.h
new file mode 100644
index 0000000..08684dc
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabase.h
@@ -0,0 +1,1493 @@
+#import
+#import "SqfliteDarwinResultSet.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+#if ! __has_feature(objc_arc)
+ #define SqfliteDarwinDBAutorelease(__v) ([__v autorelease]);
+ #define SqfliteDarwinDBReturnAutoreleased SqfliteDarwinDBAutorelease
+
+ #define SqfliteDarwinDBRetain(__v) ([__v retain]);
+ #define SqfliteDarwinDBReturnRetained SqfliteDarwinDBRetain
+
+ #define SqfliteDarwinDBRelease(__v) ([__v release]);
+
+ #define SqfliteDarwinDBDispatchQueueRelease(__v) (dispatch_release(__v));
+#else
+ // -fobjc-arc
+ #define SqfliteDarwinDBAutorelease(__v)
+ #define SqfliteDarwinDBReturnAutoreleased(__v) (__v)
+
+ #define SqfliteDarwinDBRetain(__v)
+ #define SqfliteDarwinDBReturnRetained(__v) (__v)
+
+ #define SqfliteDarwinDBRelease(__v)
+
+// If OS_OBJECT_USE_OBJC=1, then the dispatch objects will be treated like ObjC objects
+// and will participate in ARC.
+// See the section on "Dispatch Queues and Automatic Reference Counting" in "Grand Central Dispatch (GCD) Reference" for details.
+ #if OS_OBJECT_USE_OBJC
+ #define SqfliteDarwinDBDispatchQueueRelease(__v)
+ #else
+ #define SqfliteDarwinDBDispatchQueueRelease(__v) (dispatch_release(__v));
+ #endif
+#endif
+
+#if !__has_feature(objc_instancetype)
+ #define instancetype id
+#endif
+
+/**
+ Callback block used by @c executeStatements:withResultBlock:
+ */
+typedef int(^SqfliteDarwinDBExecuteStatementsCallbackBlock)(NSDictionary *resultsDictionary);
+
+/**
+ Enumeration used in checkpoint methods.
+ */
+typedef NS_ENUM(int, SqfliteDarwinDBCheckpointMode) {
+ SqfliteDarwinDBCheckpointModePassive = 0, // SQLITE_CHECKPOINT_PASSIVE,
+ SqfliteDarwinDBCheckpointModeFull = 1, // SQLITE_CHECKPOINT_FULL,
+ SqfliteDarwinDBCheckpointModeRestart = 2, // SQLITE_CHECKPOINT_RESTART,
+ SqfliteDarwinDBCheckpointModeTruncate = 3 // SQLITE_CHECKPOINT_TRUNCATE
+};
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wobjc-interface-ivars"
+
+/** A SQLite ([https://sqlite.org/](https://sqlite.org/)) Objective-C wrapper.
+
+ Usage
+
+ The three main classes in SqfliteDarwinDB are:
+
+ - @c SqfliteDarwinDatabase - Represents a single SQLite database. Used for executing SQL statements.
+
+ - @c SqfliteDarwinResultSet - Represents the results of executing a query on an @c SqfliteDarwinDatabase .
+
+ - @c SqfliteDarwinDatabaseQueue - If you want to perform queries and updates on multiple threads, you'll want to use this class.
+
+ See also
+
+ - @c SqfliteDarwinDatabasePool - A pool of @c SqfliteDarwinDatabase objects
+
+ - @c SqfliteDarwinStatement - A wrapper for @c sqlite_stmt
+
+ External links
+
+ - [SqfliteDarwinDB on GitHub](https://github.com/ccgus/fmdb) including introductory documentation
+ - [SQLite web site](https://sqlite.org/)
+ - [SqfliteDarwinDB mailing list](http://groups.google.com/group/fmdb)
+ - [SQLite FAQ](https://sqlite.org/faq.html)
+
+ @warning Do not instantiate a single @c SqfliteDarwinDatabase object and use it across multiple threads. Instead, use @c SqfliteDarwinDatabaseQueue .
+
+ */
+
+@interface SqfliteDarwinDatabase : NSObject
+
+///-----------------
+/// @name Properties
+///-----------------
+
+/** Whether should trace execution */
+
+@property (atomic, assign) BOOL traceExecution;
+
+/** Whether checked out or not */
+
+@property (atomic, assign) BOOL checkedOut;
+
+/** Crash on errors */
+
+@property (atomic, assign) BOOL crashOnErrors;
+
+/** Logs errors */
+
+@property (atomic, assign) BOOL logsErrors;
+
+/** Dictionary of cached statements */
+
+@property (atomic, retain, nullable) NSMutableDictionary *cachedStatements;
+
+///---------------------
+/// @name Initialization
+///---------------------
+
+/** Create a @c SqfliteDarwinDatabase object.
+
+ An @c SqfliteDarwinDatabase is created with a path to a SQLite database file. This path can be one of these three:
+
+ 1. A file system path. The file does not have to exist on disk. If it does not exist, it is created for you.
+
+ 2. An zero-length string. An empty database is created at a temporary location. This database is deleted with the @c SqfliteDarwinDatabase connection is closed.
+
+ 3. @c nil . An in-memory database is created. This database will be destroyed with the @c SqfliteDarwinDatabase connection is closed.
+
+ For example, to open a database in the app's “Application Support” directory:
+
+@code
+NSURL *folder = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:true error:&error];
+NSURL *fileURL = [folder URLByAppendingPathComponent:@"test.db"];
+SqfliteDarwinDatabase *db = [SqfliteDarwinDatabase databaseWithPath:fileURL.path];
+@endcode
+
+ (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [https://sqlite.org/inmemorydb.html](https://sqlite.org/inmemorydb.html))
+
+ @param inPath Path of database file
+
+ @return @c SqfliteDarwinDatabase object if successful; @c nil if failure.
+
+ */
+
++ (instancetype)databaseWithPath:(NSString * _Nullable)inPath;
+
+/** Create a @c SqfliteDarwinDatabase object.
+
+ An @c SqfliteDarwinDatabase is created with a path to a SQLite database file. This path can be one of these three:
+
+ 1. A file system URL. The file does not have to exist on disk. If it does not exist, it is created for you.
+
+ 2. @c nil . An in-memory database is created. This database will be destroyed with the @c SqfliteDarwinDatabase connection is closed.
+
+ For example, to open a database in the app's “Application Support” directory:
+
+@code
+NSURL *folder = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:true error:&error];
+NSURL *fileURL = [folder URLByAppendingPathComponent:@"test.db"];
+SqfliteDarwinDatabase *db = [SqfliteDarwinDatabase databaseWithURL:fileURL];
+@endcode
+
+ (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [https://sqlite.org/inmemorydb.html](https://sqlite.org/inmemorydb.html))
+
+ @param url The local file URL (not remote URL) of database file
+
+ @return @c SqfliteDarwinDatabase object if successful; @c nil if failure.
+
+ */
+
++ (instancetype)databaseWithURL:(NSURL * _Nullable)url;
+
+/** Initialize a @c SqfliteDarwinDatabase object.
+
+ An @c SqfliteDarwinDatabase is created with a path to a SQLite database file. This path can be one of these three:
+
+ 1. A file system path. The file does not have to exist on disk. If it does not exist, it is created for you.
+
+ 2. A zero-length string. An empty database is created at a temporary location. This database is deleted with the @c SqfliteDarwinDatabase connection is closed.
+
+ 3. @c nil . An in-memory database is created. This database will be destroyed with the @c SqfliteDarwinDatabase connection is closed.
+
+ For example, to open a database in the app's “Application Support” directory:
+
+ @code
+ NSURL *folder = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:true error:&error];
+ NSURL *fileURL = [folder URLByAppendingPathComponent:@"test.db"];
+ SqfliteDarwinDatabase *db = [[SqfliteDarwinDatabase alloc] initWithPath:fileURL.path];
+ @endcode
+
+
+ (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [https://sqlite.org/inmemorydb.html](https://sqlite.org/inmemorydb.html))
+
+ @param path Path of database file.
+
+ @return @c SqfliteDarwinDatabase object if successful; @c nil if failure.
+
+ */
+
+- (instancetype)initWithPath:(NSString * _Nullable)path;
+
+/** Initialize a @c SqfliteDarwinDatabase object.
+
+ An @c SqfliteDarwinDatabase is created with a local file URL to a SQLite database file. This path can be one of these three:
+
+ 1. A file system URL. The file does not have to exist on disk. If it does not exist, it is created for you.
+
+ 2. @c nil . An in-memory database is created. This database will be destroyed with the @c SqfliteDarwinDatabase connection is closed.
+
+ For example, to open a database in the app's “Application Support” directory:
+
+ @code
+ NSURL *folder = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:true error:&error];
+ NSURL *fileURL = [folder URLByAppendingPathComponent:@"test.db"];
+ SqfliteDarwinDatabase *db = [[SqfliteDarwinDatabase alloc] initWithURL:fileURL];
+ @endcode
+
+ (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [https://sqlite.org/inmemorydb.html](https://sqlite.org/inmemorydb.html))
+
+ @param url The file @c NSURL of database file.
+
+ @return @c SqfliteDarwinDatabase object if successful; @c nil if failure.
+
+ */
+
+- (instancetype)initWithURL:(NSURL * _Nullable)url;
+
+///-----------------------------------
+/// @name Opening and closing database
+///-----------------------------------
+
+/// Is the database open or not?
+
+@property (nonatomic) BOOL isOpen;
+
+/** Opening a new database connection
+
+ The database is opened for reading and writing, and is created if it does not already exist.
+
+ @return @c YES if successful, @c NO on error.
+
+ @see [sqlite3_open()](https://sqlite.org/c3ref/open.html)
+ @see openWithFlags:
+ @see close
+ */
+
+- (BOOL)open;
+
+/** Opening a new database connection with flags and an optional virtual file system (VFS)
+
+ @param flags One of the following three values, optionally combined with the @c SQLITE_OPEN_NOMUTEX , @c SQLITE_OPEN_FULLMUTEX , @c SQLITE_OPEN_SHAREDCACHE , @c SQLITE_OPEN_PRIVATECACHE , and/or @c SQLITE_OPEN_URI flags:
+
+@code
+SQLITE_OPEN_READONLY
+@endcode
+
+ The database is opened in read-only mode. If the database does not already exist, an error is returned.
+
+@code
+SQLITE_OPEN_READWRITE
+@endcode
+
+ The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned.
+
+@code
+SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE
+@endcode
+
+ The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for @c open method.
+
+ @return @c YES if successful, @c NO on error.
+
+ @see [sqlite3_open_v2()](https://sqlite.org/c3ref/open.html)
+ @see open
+ @see close
+ */
+
+- (BOOL)openWithFlags:(int)flags;
+
+/** Opening a new database connection with flags and an optional virtual file system (VFS)
+
+ @param flags One of the following three values, optionally combined with the @c SQLITE_OPEN_NOMUTEX , `SQLITE_OPEN_FULLMUTEX`, `SQLITE_OPEN_SHAREDCACHE`, @c SQLITE_OPEN_PRIVATECACHE , and/or @c SQLITE_OPEN_URI flags:
+
+@code
+SQLITE_OPEN_READONLY
+@endcode
+
+ The database is opened in read-only mode. If the database does not already exist, an error is returned.
+
+@code
+SQLITE_OPEN_READWRITE
+@endcode
+
+ The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned.
+
+@code
+SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE
+@endcode
+
+ The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for @c open method.
+
+ @param vfsName If vfs is given the value is passed to the vfs parameter of sqlite3_open_v2.
+
+ @return @c YES if successful, @c NO on error.
+
+ @see [sqlite3_open_v2()](https://sqlite.org/c3ref/open.html)
+ @see open
+ @see close
+ */
+
+- (BOOL)openWithFlags:(int)flags vfs:(NSString * _Nullable)vfsName;
+
+/** Closing a database connection
+
+ @return @c YES if success, @c NO on error.
+
+ @see [sqlite3_close()](https://sqlite.org/c3ref/close.html)
+ @see open
+ @see openWithFlags:
+ */
+
+- (BOOL)close;
+
+/** Test to see if we have a good connection to the database.
+
+ This will confirm whether:
+
+ - is database open
+
+ - if open, it will try a simple @c SELECT statement and confirm that it succeeds.
+
+ @return @c YES if everything succeeds, @c NO on failure.
+ */
+
+@property (nonatomic, readonly) BOOL goodConnection;
+
+
+///----------------------
+/// @name Perform updates
+///----------------------
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html), [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html) to bind values to `?` placeholders in the SQL with the optional list of parameters, and [`sqlite_step`](https://sqlite.org/c3ref/step.html) to perform the update.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SQL to be performed, with optional `?` placeholders. This can be followed by iptional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. @c NSString , @c NSNumber , etc.), not fundamental C data types (e.g. @c int , etc.).
+
+ @param outErr A reference to the @c NSError pointer to be updated with an auto released @c NSError object if an error if an error occurs. If @c nil , no @c NSError object will be returned.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+ @see [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html)
+ */
+
+- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ...;
+
+/** Execute single update statement
+
+ @see executeUpdate:withErrorAndBindings:
+
+ @warning **Deprecated**: Please use `` instead.
+ */
+
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ... __deprecated_msg("Use executeUpdate:withErrorAndBindings: instead");;
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html), [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html) to bind values to `?` placeholders in the SQL with the optional list of parameters, and [`sqlite_step`](https://sqlite.org/c3ref/step.html) to perform the update.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SQL to be performed, with optional `?` placeholders, followed by optional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. @c NSString , @c NSNumber , etc.), not fundamental C data types (e.g. @c int , etc.).
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+ @see [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html)
+
+ @note This technique supports the use of `?` placeholders in the SQL, automatically binding any supplied value parameters to those placeholders. This approach is more robust than techniques that entail using @c stringWithFormat to manually build SQL statements, which can be problematic if the values happened to include any characters that needed to be quoted.
+
+ @note You cannot use this method from Swift due to incompatibilities between Swift and Objective-C variadic implementations. Consider using `` instead.
+ */
+
+- (BOOL)executeUpdate:(NSString*)sql, ...;
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](https://sqlite.org/c3ref/step.html) to perform the update. Unlike the other @c executeUpdate methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL. Do not use `?` placeholders in the SQL if you use this method.
+
+ @param format The SQL to be performed, with `printf`-style escape sequences, followed by optional parameters to bind to use in conjunction with the `printf`-style escape sequences in the SQL statement.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see executeUpdate:
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+
+ @note This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite `?` placeholder, and then bind values to that placeholder. Thus the following command
+
+@code
+[db executeUpdateWithFormat:@"INSERT INTO test (name) VALUES (%@)", @"Gus"];
+@endcode
+
+ is actually replacing the `%@` with `?` placeholder, and then performing something equivalent to ``
+
+@code
+[db executeUpdate:@"INSERT INTO test (name) VALUES (?)", @"Gus"];
+@endcode
+
+ There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite `?` placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with `pragma` statements and the like. Second, note the lack of quotation marks in the SQL. The `VALUES` clause was _not_ `VALUES ('%@')` (like you might have to do if you built a SQL statement using @c NSString method @c stringWithFormat ), but rather simply `VALUES (%@)`.
+ */
+
+- (BOOL)executeUpdateWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html) and [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html) binding any `?` placeholders in the SQL with the optional list of parameters.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SQL to be performed, with optional `?` placeholders.
+
+ @param arguments A @c NSArray of objects to be used when binding values to the `?` placeholders in the SQL statement.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see executeUpdate:values:error:
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+ */
+
+- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html) and [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html) binding any `?` placeholders in the SQL with the optional list of parameters.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ This is similar to @c executeUpdate:withArgumentsInArray: , except that this also accepts a pointer to a @c NSError pointer, so that errors can be returned.
+
+ In Swift, this throws errors, as if it were defined as follows:
+
+@code
+func executeUpdate(sql: String, values: [Any]?) throws -> Bool { }
+@endcode
+
+ @param sql The SQL to be performed, with optional `?` placeholders.
+
+ @param values A @c NSArray of objects to be used when binding values to the `?` placeholders in the SQL statement.
+
+ @param error A @c NSError object to receive any error object (if any).
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+
+ */
+
+- (BOOL)executeUpdate:(NSString*)sql values:(NSArray * _Nullable)values error:(NSError * _Nullable __autoreleasing *)error;
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](https://sqlite.org/c3ref/step.html) to perform the update. Unlike the other @c executeUpdate methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SQL to be performed, with optional `?` placeholders.
+
+ @param arguments A @c NSDictionary of objects keyed by column names that will be used when binding values to the `?` placeholders in the SQL statement.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+*/
+
+- (BOOL)executeUpdate:(NSString*)sql withParameterDictionary:(NSDictionary *)arguments;
+
+
+/** Execute single update statement
+
+ This method executes a single SQL update statement (i.e. any SQL that does not return results, such as @c UPDATE , @c INSERT , or @c DELETE . This method employs [`sqlite3_prepare_v2`](https://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](https://sqlite.org/c3ref/step.html) to perform the update. Unlike the other @c executeUpdate methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL.
+
+ The optional values provided to this method should be objects (e.g. @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects), not fundamental data types (e.g. @c int , @c long , @c NSInteger , etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SQL to be performed, with optional `?` placeholders.
+
+ @param args A `va_list` of arguments.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+ */
+
+- (BOOL)executeUpdate:(NSString*)sql withVAList: (va_list)args;
+
+/** Execute multiple SQL statements
+
+ This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the `sqlite3` command line `.dump` command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses @c sqlite3_exec .
+
+ @param sql The SQL to be performed
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see executeStatements:withResultBlock:
+ @see [sqlite3_exec()](https://sqlite.org/c3ref/exec.html)
+
+ */
+
+- (BOOL)executeStatements:(NSString *)sql;
+
+/** Execute multiple SQL statements with callback handler
+
+ This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the `sqlite3` command line `.dump` command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses `sqlite3_exec`.
+
+ @param sql The SQL to be performed.
+ @param block A block that will be called for any result sets returned by any SQL statements.
+ Note, if you supply this block, it must return integer value, zero upon success (this would be a good opportunity to use @c SQLITE_OK ),
+ non-zero value upon failure (which will stop the bulk execution of the SQL). If a statement returns values, the block will be called with the results from the query in NSDictionary *resultsDictionary.
+ This may be @c nil if you don't care to receive any results.
+
+ @return @c YES upon success; @c NO upon failure. If failed, you can call @c lastError ,
+ @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see executeStatements:
+ @see [sqlite3_exec()](https://sqlite.org/c3ref/exec.html)
+
+ */
+
+- (BOOL)executeStatements:(NSString *)sql withResultBlock:(__attribute__((noescape)) SqfliteDarwinDBExecuteStatementsCallbackBlock _Nullable)block;
+
+/** Last insert rowid
+
+ Each entry in an SQLite table has a unique 64-bit signed integer key called the "rowid". The rowid is always available as an undeclared column named `ROWID`, `OID`, or `_ROWID_` as long as those names are not also used by explicitly declared columns. If the table has a column of type `INTEGER PRIMARY KEY` then that column is another alias for the rowid.
+
+ This routine returns the rowid of the most recent successful @c INSERT into the database from the database connection in the first argument. As of SQLite version 3.7.7, this routines records the last insert rowid of both ordinary tables and virtual tables. If no successful @c INSERT statements have ever occurred on that database connection, zero is returned.
+
+ @return The rowid of the last inserted row.
+
+ @see [sqlite3_last_insert_rowid()](https://sqlite.org/c3ref/last_insert_rowid.html)
+
+ */
+
+@property (nonatomic, readonly) int64_t lastInsertRowId;
+
+/** The number of rows changed by prior SQL statement.
+
+ This function returns the number of database rows that were changed or inserted or deleted by the most recently completed SQL statement on the database connection specified by the first parameter. Only changes that are directly specified by the @c INSERT , @c UPDATE , or @c DELETE statement are counted.
+
+ @return The number of rows changed by prior SQL statement.
+
+ @see [sqlite3_changes()](https://sqlite.org/c3ref/changes.html)
+
+ */
+
+@property (nonatomic, readonly) int changes;
+
+
+///-------------------------
+/// @name Retrieving results
+///-------------------------
+
+/** Execute select statement
+
+ Executing queries returns an @c SqfliteDarwinResultSet object if successful, and @c nil upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the @c lastErrorMessage and @c lastErrorMessage methods to determine why a query failed.
+
+ In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[SqfliteDarwinResultSet next]>`) from one record to the other.
+
+ This method employs [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html) for any optional value parameters. This properly escapes any characters that need escape sequences (e.g. quotation marks), which eliminates simple SQL errors as well as protects against SQL injection attacks. This method natively handles @c NSString , @c NSNumber , @c NSNull , @c NSDate , and @c NSData objects. All other object types will be interpreted as text values using the object's @c description method.
+
+ @param sql The SELECT statement to be performed, with optional `?` placeholders, followed by optional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. @c NSString , @c NSNumber , etc.), not fundamental C data types (e.g. @c int , etc.).
+
+ @return A @c SqfliteDarwinResultSet for the result set upon success; @c nil upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see SqfliteDarwinResultSet
+ @see [`SqfliteDarwinResultSet next`](<[SqfliteDarwinResultSet next]>)
+ @see [`sqlite3_bind`](https://sqlite.org/c3ref/bind_blob.html)
+
+ @note You cannot use this method from Swift due to incompatibilities between Swift and Objective-C variadic implementations. Consider using `` instead.
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)executeQuery:(NSString*)sql, ...;
+
+/** Execute select statement
+
+ Executing queries returns an @c SqfliteDarwinResultSet object if successful, and @c nil upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the @c lastErrorMessage and @c lastErrorMessage methods to determine why a query failed.
+
+ In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[SqfliteDarwinResultSet next]>`) from one record to the other.
+
+ @param format The SQL to be performed, with `printf`-style escape sequences, followed by ptional parameters to bind to use in conjunction with the `printf`-style escape sequences in the SQL statement.
+
+ @return A @c SqfliteDarwinResultSet for the result set upon success; @c nil upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see executeQuery:
+ @see SqfliteDarwinResultSet
+ @see [`SqfliteDarwinResultSet next`](<[SqfliteDarwinResultSet next]>)
+
+ @note This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite `?` placeholder, and then bind values to that placeholder. Thus the following command
+
+@code
+[db executeQueryWithFormat:@"SELECT * FROM test WHERE name=%@", @"Gus"];
+@endcode
+
+ is actually replacing the `%@` with `?` placeholder, and then performing something equivalent to ``
+
+@code
+[db executeQuery:@"SELECT * FROM test WHERE name=?", @"Gus"];
+@endcode
+
+ There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite `?` placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with `pragma` statements and the like. Second, note the lack of quotation marks in the SQL. The @c WHERE clause was _not_ `WHERE name='%@'` (like you might have to do if you built a SQL statement using @c NSString method @c stringWithFormat ), but rather simply `WHERE name=%@`.
+
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)executeQueryWithFormat:(NSString*)format, ... NS_FORMAT_FUNCTION(1,2);
+
+/** Execute select statement
+
+ Executing queries returns an @c SqfliteDarwinResultSet object if successful, and @c nil upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the @c lastErrorMessage and @c lastErrorMessage methods to determine why a query failed.
+
+ In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[SqfliteDarwinResultSet next]>`) from one record to the other.
+
+ @param sql The SELECT statement to be performed, with optional `?` placeholders.
+
+ @param arguments A @c NSArray of objects to be used when binding values to the `?` placeholders in the SQL statement.
+
+ @return A @c SqfliteDarwinResultSet for the result set upon success; @c nil upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see -executeQuery:values:error:
+ @see SqfliteDarwinResultSet
+ @see [`SqfliteDarwinResultSet next`](<[SqfliteDarwinResultSet next]>)
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments;
+
+/** Execute select statement
+
+ Executing queries returns an @c SqfliteDarwinResultSet object if successful, and @c nil upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the @c lastErrorMessage and @c lastErrorMessage methods to determine why a query failed.
+
+ In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[SqfliteDarwinResultSet next]>`) from one record to the other.
+
+ This is similar to ``, except that this also accepts a pointer to a @c NSError pointer, so that errors can be returned.
+
+ In Swift, this throws errors, as if it were defined as follows:
+
+ `func executeQuery(sql: String, values: [Any]?) throws -> SqfliteDarwinResultSet!`
+
+ @param sql The SELECT statement to be performed, with optional `?` placeholders.
+
+ @param values A @c NSArray of objects to be used when binding values to the `?` placeholders in the SQL statement.
+
+ @param error A @c NSError object to receive any error object (if any).
+
+ @return A @c SqfliteDarwinResultSet for the result set upon success; @c nil upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see SqfliteDarwinResultSet
+ @see [`SqfliteDarwinResultSet next`](<[SqfliteDarwinResultSet next]>)
+
+ @note When called from Swift, only use the first two parameters, `sql` and `values`. This but throws the error.
+
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)executeQuery:(NSString *)sql values:(NSArray * _Nullable)values error:(NSError * _Nullable __autoreleasing *)error;
+
+/** Execute select statement
+
+ Executing queries returns an @c SqfliteDarwinResultSet object if successful, and @c nil upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the @c lastErrorMessage and @c lastErrorMessage methods to determine why a query failed.
+
+ In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[SqfliteDarwinResultSet next]>`) from one record to the other.
+
+ @param sql The SELECT statement to be performed, with optional `?` placeholders.
+
+ @param arguments A @c NSDictionary of objects keyed by column names that will be used when binding values to the `?` placeholders in the SQL statement.
+
+ @return A @c SqfliteDarwinResultSet for the result set upon success; @c nil upon failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see SqfliteDarwinResultSet
+ @see [`SqfliteDarwinResultSet next`](<[SqfliteDarwinResultSet next]>)
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)executeQuery:(NSString *)sql withParameterDictionary:(NSDictionary * _Nullable)arguments;
+
+
+// Documentation forthcoming.
+- (SqfliteDarwinResultSet * _Nullable)executeQuery:(NSString *)sql withVAList:(va_list)args;
+
+/// Prepare SQL statement.
+///
+/// @param sql SQL statement to prepare, generally with `?` placeholders.
+
+- (SqfliteDarwinResultSet *)prepare:(NSString *)sql;
+
+///-------------------
+/// @name Transactions
+///-------------------
+
+/** Begin a transaction
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see commit
+ @see rollback
+ @see beginDeferredTransaction
+ @see isInTransaction
+
+ @warning Unlike SQLite's `BEGIN TRANSACTION`, this method currently performs
+ an exclusive transaction, not a deferred transaction. This behavior
+ is likely to change in future versions of SqfliteDarwinDB, whereby this method
+ will likely eventually adopt standard SQLite behavior and perform
+ deferred transactions. If you really need exclusive tranaction, it is
+ recommended that you use @c beginExclusiveTransaction, instead, not
+ only to make your intent explicit, but also to future-proof your code.
+
+ */
+
+- (BOOL)beginTransaction;
+
+/** Begin a deferred transaction
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see commit
+ @see rollback
+ @see beginTransaction
+ @see isInTransaction
+ */
+
+- (BOOL)beginDeferredTransaction;
+
+/** Begin an immediate transaction
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see commit
+ @see rollback
+ @see beginTransaction
+ @see isInTransaction
+ */
+
+- (BOOL)beginImmediateTransaction;
+
+/** Begin an exclusive transaction
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see commit
+ @see rollback
+ @see beginTransaction
+ @see isInTransaction
+ */
+
+- (BOOL)beginExclusiveTransaction;
+
+/** Commit a transaction
+
+ Commit a transaction that was initiated with either `` or with ``.
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see beginTransaction
+ @see beginDeferredTransaction
+ @see rollback
+ @see isInTransaction
+ */
+
+- (BOOL)commit;
+
+/** Rollback a transaction
+
+ Rollback a transaction that was initiated with either `` or with ``.
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see beginTransaction
+ @see beginDeferredTransaction
+ @see commit
+ @see isInTransaction
+ */
+
+- (BOOL)rollback;
+
+/** Identify whether currently in a transaction or not
+
+ @see beginTransaction
+ @see beginDeferredTransaction
+ @see commit
+ @see rollback
+ */
+
+@property (nonatomic, readonly) BOOL isInTransaction;
+
+- (BOOL)inTransaction __deprecated_msg("Use isInTransaction property instead");
+
+
+///----------------------------------------
+/// @name Cached statements and result sets
+///----------------------------------------
+
+/** Clear cached statements */
+
+- (void)clearCachedStatements;
+
+/** Close all open result sets */
+
+- (void)closeOpenResultSets;
+
+/** Whether database has any open result sets
+
+ @return @c YES if there are open result sets; @c NO if not.
+ */
+
+@property (nonatomic, readonly) BOOL hasOpenResultSets;
+
+/** Whether should cache statements or not
+ */
+
+@property (nonatomic) BOOL shouldCacheStatements;
+
+/** Interupt pending database operation
+
+ This method causes any pending database operation to abort and return at its earliest opportunity
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ */
+
+- (BOOL)interrupt;
+
+///-------------------------
+/// @name Encryption methods
+///-------------------------
+
+/** Set encryption key.
+
+ @param key The key to be used.
+
+ @return @c YES if success, @c NO on error.
+
+ @see https://www.zetetic.net/sqlcipher/
+
+ @warning You need to have purchased the sqlite encryption extensions for this method to work.
+ */
+
+- (BOOL)setKey:(NSString*)key;
+
+/** Reset encryption key
+
+ @param key The key to be used.
+
+ @return @c YES if success, @c NO on error.
+
+ @see https://www.zetetic.net/sqlcipher/
+
+ @warning You need to have purchased the sqlite encryption extensions for this method to work.
+ */
+
+- (BOOL)rekey:(NSString*)key;
+
+/** Set encryption key using `keyData`.
+
+ @param keyData The @c NSData to be used.
+
+ @return @c YES if success, @c NO on error.
+
+ @see https://www.zetetic.net/sqlcipher/
+
+ @warning You need to have purchased the sqlite encryption extensions for this method to work.
+ */
+
+- (BOOL)setKeyWithData:(NSData *)keyData;
+
+/** Reset encryption key using `keyData`.
+
+ @param keyData The @c NSData to be used.
+
+ @return @c YES if success, @c NO on error.
+
+ @see https://www.zetetic.net/sqlcipher/
+
+ @warning You need to have purchased the sqlite encryption extensions for this method to work.
+ */
+
+- (BOOL)rekeyWithData:(NSData *)keyData;
+
+
+///------------------------------
+/// @name General inquiry methods
+///------------------------------
+
+/** The path of the database file.
+ */
+
+@property (nonatomic, readonly, nullable) NSString *databasePath;
+
+/** The file URL of the database file.
+ */
+
+@property (nonatomic, readonly, nullable) NSURL *databaseURL;
+
+/** The underlying SQLite handle .
+
+ @return The `sqlite3` pointer.
+
+ */
+
+@property (nonatomic, readonly) void *sqliteHandle;
+
+
+///-----------------------------
+/// @name Retrieving error codes
+///-----------------------------
+
+/** Last error message
+
+ Returns the English-language text that describes the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined.
+
+ @return @c NSString of the last error message.
+
+ @see [sqlite3_errmsg()](https://sqlite.org/c3ref/errcode.html)
+ @see lastErrorCode
+ @see lastError
+
+ */
+
+- (NSString*)lastErrorMessage;
+
+/** Last error code
+
+ Returns the numeric result code or extended result code for the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined.
+
+ @return Integer value of the last error code.
+
+ @see [sqlite3_errcode()](https://sqlite.org/c3ref/errcode.html)
+ @see lastErrorMessage
+ @see lastError
+
+ */
+
+- (int)lastErrorCode;
+
+/** Last extended error code
+
+ Returns the numeric extended result code for the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined.
+
+ @return Integer value of the last extended error code.
+
+ @see [sqlite3_errcode()](https://sqlite.org/c3ref/errcode.html)
+ @see [2. Primary Result Codes versus Extended Result Codes](https://sqlite.org/rescode.html#primary_result_codes_versus_extended_result_codes)
+ @see [5. Extended Result Code List](https://sqlite.org/rescode.html#extrc)
+ @see lastErrorMessage
+ @see lastError
+
+ */
+
+- (int)lastExtendedErrorCode;
+
+/** Had error
+
+ @return @c YES if there was an error, @c NO if no error.
+
+ @see lastError
+ @see lastErrorCode
+ @see lastErrorMessage
+
+ */
+
+- (BOOL)hadError;
+
+/** Last error
+
+ @return @c NSError representing the last error.
+
+ @see lastErrorCode
+ @see lastErrorMessage
+
+ */
+
+- (NSError *)lastError;
+
+
+// description forthcoming
+@property (nonatomic) NSTimeInterval maxBusyRetryTimeInterval;
+
+
+///------------------
+/// @name Save points
+///------------------
+
+/** Start save point
+
+ @param name Name of save point.
+
+ @param outErr A @c NSError object to receive any error object (if any).
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see releaseSavePointWithName:error:
+ @see rollbackToSavePointWithName:error:
+ */
+
+- (BOOL)startSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
+
+/** Release save point
+
+ @param name Name of save point.
+
+ @param outErr A @c NSError object to receive any error object (if any).
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see startSavePointWithName:error:
+ @see rollbackToSavePointWithName:error:
+
+ */
+
+- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
+
+/** Roll back to save point
+
+ @param name Name of save point.
+ @param outErr A @c NSError object to receive any error object (if any).
+
+ @return @c YES on success; @c NO on failure. If failed, you can call @c lastError , @c lastErrorCode , or @c lastErrorMessage for diagnostic information regarding the failure.
+
+ @see startSavePointWithName:error:
+ @see releaseSavePointWithName:error:
+
+ */
+
+- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
+
+/** Start save point
+
+ @param block Block of code to perform from within save point.
+
+ @return The NSError corresponding to the error, if any. If no error, returns @c nil .
+
+ @see startSavePointWithName:error:
+ @see releaseSavePointWithName:error:
+ @see rollbackToSavePointWithName:error:
+
+ */
+
+- (NSError * _Nullable)inSavePoint:(__attribute__((noescape)) void (^)(BOOL *rollback))block;
+
+
+///-----------------
+/// @name Checkpoint
+///-----------------
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for @c sqlite3_wal_checkpoint_v2
+ @param error The @c NSError corresponding to the error, if any.
+ @return @c YES on success, otherwise @c NO .
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode error:(NSError * _Nullable *)error;
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for @c sqlite3_wal_checkpoint_v2
+ @param name The db name for @c sqlite3_wal_checkpoint_v2
+ @param error The @c NSError corresponding to the error, if any.
+ @return @c YES on success, otherwise @c NO .
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode name:(NSString * _Nullable)name error:(NSError * _Nullable *)error;
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for sqlite3_wal_checkpoint_v2
+ @param name The db name for sqlite3_wal_checkpoint_v2
+ @param error The NSError corresponding to the error, if any.
+ @param logFrameCount If not @c NULL , then this is set to the total number of frames in the log file or to -1 if the checkpoint could not run because of an error or because the database is not in WAL mode.
+ @param checkpointCount If not @c NULL , then this is set to the total number of checkpointed frames in the log file (including any that were already checkpointed before the function was called) or to -1 if the checkpoint could not run due to an error or because the database is not in WAL mode.
+ @return @c YES on success, otherwise @c NO .
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode name:(NSString * _Nullable)name logFrameCount:(int * _Nullable)logFrameCount checkpointCount:(int * _Nullable)checkpointCount error:(NSError * _Nullable *)error;
+
+///----------------------------
+/// @name SQLite library status
+///----------------------------
+
+/** Test to see if the library is threadsafe
+
+ @return @c NO if and only if SQLite was compiled with mutexing code omitted due to the @c SQLITE_THREADSAFE compile-time option being set to 0.
+
+ @see [sqlite3_threadsafe()](https://sqlite.org/c3ref/threadsafe.html)
+ */
+
++ (BOOL)isSQLiteThreadSafe;
+
+/** Examine/set limits
+
+ @param type The type of limit. See https://sqlite.org/c3ref/c_limit_attached.html
+ @param newLimit The new limit value. Use -1 if you don't want to change the limit, but rather only want to check it.
+
+ @return Regardless, returns previous value.
+
+ @see [sqlite3_limit()](https://sqlite.org/c3ref/limit.html)
+*/
+
+- (int)limitFor:(int)type value:(int)newLimit;
+
+/** Run-time library version numbers
+
+ @return The sqlite library version string.
+
+ @see [sqlite3_libversion()](https://sqlite.org/c3ref/libversion.html)
+ */
+
++ (NSString*)sqliteLibVersion;
+
+/// The SqfliteDarwinDB version number as a string in the form of @c "2.7.8" .
+///
+/// If you want to compare version number strings, you can use NSNumericSearch option:
+///
+/// @code
+/// NSComparisonResult result = [[SqfliteDarwinDatabase SqfliteDarwinDBUserVersion] compare:@"2.11.0" options:NSNumericSearch];
+/// @endcode
+///
+/// @returns The version number string.
+
++ (NSString*)SqfliteDarwinDBUserVersion;
+
+/** The SqfliteDarwinDB version
+
+ This returns the SqfliteDarwinDB as hexadecimal value, e.g., @c 0x0243 for version 2.4.3.
+
+ @warning This routine will not work if any component of the version number exceeds 15.
+ For example, if it is version @c 2.17.3 , this will max out at @c 0x2f3.
+ For this reason, we would recommend using @c SqfliteDarwinDBUserVersion and with @c NSNumericSearch option, e.g.
+
+ @code
+ NSComparisonResult result = [[SqfliteDarwinDatabase SqfliteDarwinDBUserVersion] compare:@"2.11.0" options:NSNumericSearch];
+ @endcode
+
+ @returns The version number in hexadecimal, e.g., @c 0x0243 for version 2.4.3. If any component exceeds what can be
+ can be represented in four bits, we'll max it out at @c 0xf .
+ */
+
++ (SInt32)SqfliteDarwinDBVersion __deprecated_msg("Use SqfliteDarwinDBUserVersion instead");
+
+///------------------------
+/// @name Make SQL function
+///------------------------
+
+/** Adds SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates.
+
+ For example:
+
+@code
+[db makeFunctionNamed:@"RemoveDiacritics" arguments:1 block:^(void *context, int argc, void **argv) {
+ SqliteValueType type = [self.db valueType:argv[0]];
+ if (type == SqliteValueTypeNull) {
+ [self.db resultNullInContext:context];
+ return;
+ }
+ if (type != SqliteValueTypeText) {
+ [self.db resultError:@"Expected text" context:context];
+ return;
+ }
+ NSString *string = [self.db valueString:argv[0]];
+ NSString *result = [string stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:nil];
+ [self.db resultString:result context:context];
+}];
+
+SqfliteDarwinResultSet *rs = [db executeQuery:@"SELECT * FROM employees WHERE RemoveDiacritics(first_name) LIKE 'jose'"];
+NSAssert(rs, @"Error %@", [db lastErrorMessage]);
+@endcode
+
+ @param name Name of function.
+
+ @param arguments Maximum number of parameters.
+
+ @param block The block of code for the function.
+
+ @see [sqlite3_create_function()](https://sqlite.org/c3ref/create_function.html)
+ */
+
+- (void)makeFunctionNamed:(NSString *)name arguments:(int)arguments block:(void (^)(void *context, int argc, void * _Nonnull * _Nonnull argv))block;
+
+- (void)makeFunctionNamed:(NSString *)name maximumArguments:(int)count withBlock:(void (^)(void *context, int argc, void * _Nonnull * _Nonnull argv))block __deprecated_msg("Use makeFunctionNamed:arguments:block:");
+
+- (SqliteValueType)valueType:(void *)argv;
+
+/**
+ Get integer value of parameter in custom function.
+
+ @param value The argument whose value to return.
+ @return The integer value.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (int)valueInt:(void *)value;
+
+/**
+ Get long value of parameter in custom function.
+
+ @param value The argument whose value to return.
+ @return The long value.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (long long)valueLong:(void *)value;
+
+/**
+ Get double value of parameter in custom function.
+
+ @param value The argument whose value to return.
+ @return The double value.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (double)valueDouble:(void *)value;
+
+/**
+ Get @c NSData value of parameter in custom function.
+
+ @param value The argument whose value to return.
+ @return The data object.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (NSData * _Nullable)valueData:(void *)value;
+
+/**
+ Get string value of parameter in custom function.
+
+ @param value The argument whose value to return.
+ @return The string value.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (NSString * _Nullable)valueString:(void *)value;
+
+/**
+ Return null value from custom function.
+
+ @param context The context to which the null value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultNullInContext:(void *)context NS_SWIFT_NAME(resultNull(context:));
+
+/**
+ Return integer value from custom function.
+
+ @param value The integer value to be returned.
+ @param context The context to which the value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultInt:(int) value context:(void *)context;
+
+/**
+ Return long value from custom function.
+
+ @param value The long value to be returned.
+ @param context The context to which the value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultLong:(long long)value context:(void *)context;
+
+/**
+ Return double value from custom function.
+
+ @param value The double value to be returned.
+ @param context The context to which the value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultDouble:(double)value context:(void *)context;
+
+/**
+ Return @c NSData object from custom function.
+
+ @param data The @c NSData object to be returned.
+ @param context The context to which the value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultData:(NSData *)data context:(void *)context;
+
+/**
+ Return string value from custom function.
+
+ @param value The string value to be returned.
+ @param context The context to which the value will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultString:(NSString *)value context:(void *)context;
+
+/**
+ Return error string from custom function.
+
+ @param error The error string to be returned.
+ @param context The context to which the error will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultError:(NSString *)error context:(void *)context;
+
+/**
+ Return error code from custom function.
+
+ @param errorCode The integer error code to be returned.
+ @param context The context to which the error will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultErrorCode:(int)errorCode context:(void *)context;
+
+/**
+ Report memory error in custom function.
+
+ @param context The context to which the error will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultErrorNoMemoryInContext:(void *)context NS_SWIFT_NAME(resultErrorNoMemory(context:));
+
+/**
+ Report that string or BLOB is too long to represent in custom function.
+
+ @param context The context to which the error will be returned.
+
+ @see makeFunctionNamed:arguments:block:
+ */
+- (void)resultErrorTooBigInContext:(void *)context NS_SWIFT_NAME(resultErrorTooBig(context:));
+
+///---------------------
+/// @name Date formatter
+///---------------------
+
+/** Generate an @c NSDateFormatter that won't be broken by permutations of timezones or locales.
+
+ Use this method to generate values to set the dateFormat property.
+
+ Example:
+
+@code
+myDB.dateFormat = [SqfliteDarwinDatabase storeableDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+@endcode
+
+ @param format A valid NSDateFormatter format string.
+
+ @return A @c NSDateFormatter that can be used for converting dates to strings and vice versa.
+
+ @see hasDateFormatter
+ @see setDateFormat:
+ @see dateFromString:
+ @see stringFromDate:
+ @see storeableDateFormat:
+
+ @warning Note that @c NSDateFormatter is not thread-safe, so the formatter generated by this method should be assigned to only one SqfliteDarwinDB instance and should not be used for other purposes.
+
+ */
+
++ (NSDateFormatter *)storeableDateFormat:(NSString *)format;
+
+/** Test whether the database has a date formatter assigned.
+
+ @return @c YES if there is a date formatter; @c NO if not.
+
+ @see hasDateFormatter
+ @see setDateFormat:
+ @see dateFromString:
+ @see stringFromDate:
+ @see storeableDateFormat:
+ */
+
+- (BOOL)hasDateFormatter;
+
+/** Set to a date formatter to use string dates with sqlite instead of the default UNIX timestamps.
+
+ @param format Set to nil to use UNIX timestamps. Defaults to nil. Should be set using a formatter generated using @c SqfliteDarwinDatabase:storeableDateFormat .
+
+ @see hasDateFormatter
+ @see setDateFormat:
+ @see dateFromString:
+ @see stringFromDate:
+ @see storeableDateFormat:
+
+ @warning Note there is no direct getter for the @c NSDateFormatter , and you should not use the formatter you pass to SqfliteDarwinDB for other purposes, as @c NSDateFormatter is not thread-safe.
+ */
+
+- (void)setDateFormat:(NSDateFormatter * _Nullable)format;
+
+/** Convert the supplied NSString to NSDate, using the current database formatter.
+
+ @param s @c NSString to convert to @c NSDate .
+
+ @return The @c NSDate object; or @c nil if no formatter is set.
+
+ @see hasDateFormatter
+ @see setDateFormat:
+ @see dateFromString:
+ @see stringFromDate:
+ @see storeableDateFormat:
+ */
+
+- (NSDate * _Nullable)dateFromString:(NSString *)s;
+
+/** Convert the supplied NSDate to NSString, using the current database formatter.
+
+ @param date @c NSDate of date to convert to @c NSString .
+
+ @return The @c NSString representation of the date; @c nil if no formatter is set.
+
+ @see hasDateFormatter
+ @see setDateFormat:
+ @see dateFromString:
+ @see stringFromDate:
+ @see storeableDateFormat:
+ */
+
+- (NSString * _Nullable)stringFromDate:(NSDate *)date;
+
+@end
+
+
+/** Objective-C wrapper for @c sqlite3_stmt
+
+ This is a wrapper for a SQLite @c sqlite3_stmt . Generally when using SqfliteDarwinDB you will not need to interact directly with `SqfliteDarwinStatement`, but rather with @c SqfliteDarwinDatabase and @c SqfliteDarwinResultSet only.
+
+ See also
+
+ - @c SqfliteDarwinDatabase
+ - @c SqfliteDarwinResultSet
+ - [@c sqlite3_stmt ](https://sqlite.org/c3ref/stmt.html)
+ */
+
+@interface SqfliteDarwinStatement : NSObject {
+ void *_statement;
+ NSString *_query;
+ long _useCount;
+ BOOL _inUse;
+}
+
+///-----------------
+/// @name Properties
+///-----------------
+
+/** Usage count */
+
+@property (atomic, assign) long useCount;
+
+/** SQL statement */
+
+@property (atomic, retain) NSString *query;
+
+/** SQLite sqlite3_stmt
+
+ @see [@c sqlite3_stmt ](https://sqlite.org/c3ref/stmt.html)
+ */
+
+@property (atomic, assign) void *statement;
+
+/** Indication of whether the statement is in use */
+
+@property (atomic, assign) BOOL inUse;
+
+///----------------------------
+/// @name Closing and Resetting
+///----------------------------
+
+/** Close statement */
+
+- (void)close;
+
+/** Reset statement */
+
+- (void)reset;
+
+@end
+
+#pragma clang diagnostic pop
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseAdditions.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseAdditions.h
new file mode 100644
index 0000000..87871a9
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseAdditions.h
@@ -0,0 +1,243 @@
+//
+// SqfliteDarwinDatabaseAdditions.h
+// fmdb
+//
+// Created by August Mueller on 10/30/05.
+// Copyright 2005 Flying Meat Inc.. All rights reserved.
+//
+
+#import
+#import "SqfliteDarwinDatabase.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Category of additions for @c SqfliteDarwinDatabase class.
+
+ See also
+
+ - @c SqfliteDarwinDatabase
+ */
+
+@interface SqfliteDarwinDatabase (SqfliteDarwinDatabaseAdditions)
+
+///----------------------------------------
+/// @name Return results of SQL to variable
+///----------------------------------------
+
+/** Return @c int value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return @c int value.
+
+ @note This is not available from Swift.
+ */
+
+- (int)intForQuery:(NSString*)query, ...;
+
+/** Return @c long value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return @c long value.
+
+ @note This is not available from Swift.
+ */
+
+- (long)longForQuery:(NSString*)query, ...;
+
+/** Return `BOOL` value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return `BOOL` value.
+
+ @note This is not available from Swift.
+ */
+
+- (BOOL)boolForQuery:(NSString*)query, ...;
+
+/** Return `double` value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return `double` value.
+
+ @note This is not available from Swift.
+ */
+
+- (double)doubleForQuery:(NSString*)query, ...;
+
+/** Return @c NSString value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return @c NSString value.
+
+ @note This is not available from Swift.
+ */
+
+- (NSString * _Nullable)stringForQuery:(NSString*)query, ...;
+
+/** Return @c NSData value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return @c NSData value.
+
+ @note This is not available from Swift.
+ */
+
+- (NSData * _Nullable)dataForQuery:(NSString*)query, ...;
+
+/** Return @c NSDate value for query
+
+ @param query The SQL query to be performed, followed by a list of parameters that will be bound to the `?` placeholders in the SQL query.
+
+ @return @c NSDate value.
+
+ @note This is not available from Swift.
+ */
+
+- (NSDate * _Nullable)dateForQuery:(NSString*)query, ...;
+
+
+// Notice that there's no dataNoCopyForQuery:.
+// That would be a bad idea, because we close out the result set, and then what
+// happens to the data that we just didn't copy? Who knows, not I.
+
+
+///--------------------------------
+/// @name Schema related operations
+///--------------------------------
+
+/** Does table exist in database?
+
+ @param tableName The name of the table being looked for.
+
+ @return @c YES if table found; @c NO if not found.
+ */
+
+- (BOOL)tableExists:(NSString*)tableName;
+
+/** The schema of the database.
+
+ This will be the schema for the entire database. For each entity, each row of the result set will include the following fields:
+
+ - `type` - The type of entity (e.g. table, index, view, or trigger)
+ - `name` - The name of the object
+ - `tbl_name` - The name of the table to which the object references
+ - `rootpage` - The page number of the root b-tree page for tables and indices
+ - `sql` - The SQL that created the entity
+
+ @return `SqfliteDarwinResultSet` of schema; @c nil on error.
+
+ @see [SQLite File Format](https://sqlite.org/fileformat.html)
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)getSchema;
+
+/** The schema of the database.
+
+ This will be the schema for a particular table as report by SQLite `PRAGMA`, for example:
+
+ PRAGMA table_info('employees')
+
+ This will report:
+
+ - `cid` - The column ID number
+ - `name` - The name of the column
+ - `type` - The data type specified for the column
+ - `notnull` - whether the field is defined as NOT NULL (i.e. values required)
+ - `dflt_value` - The default value for the column
+ - `pk` - Whether the field is part of the primary key of the table
+
+ @param tableName The name of the table for whom the schema will be returned.
+
+ @return `SqfliteDarwinResultSet` of schema; @c nil on error.
+
+ @see [table_info](https://sqlite.org/pragma.html#pragma_table_info)
+ */
+
+- (SqfliteDarwinResultSet * _Nullable)getTableSchema:(NSString*)tableName;
+
+/** Test to see if particular column exists for particular table in database
+
+ @param columnName The name of the column.
+
+ @param tableName The name of the table.
+
+ @return @c YES if column exists in table in question; @c NO otherwise.
+ */
+
+- (BOOL)columnExists:(NSString*)columnName inTableWithName:(NSString*)tableName;
+
+/** Test to see if particular column exists for particular table in database
+
+ @param columnName The name of the column.
+
+ @param tableName The name of the table.
+
+ @return @c YES if column exists in table in question; @c NO otherwise.
+
+ @see columnExists:inTableWithName:
+
+ @warning Deprecated - use `` instead.
+ */
+
+- (BOOL)columnExists:(NSString*)tableName columnName:(NSString*)columnName __deprecated_msg("Use columnExists:inTableWithName: instead");
+
+
+/** Validate SQL statement
+
+ This validates SQL statement by performing `sqlite3_prepare_v2`, but not returning the results, but instead immediately calling `sqlite3_finalize`.
+
+ @param sql The SQL statement being validated.
+
+ @param error This is a pointer to a @c NSError object that will receive the autoreleased @c NSError object if there was any error. If this is @c nil , no @c NSError result will be returned.
+
+ @return @c YES if validation succeeded without incident; @c NO otherwise.
+
+ */
+
+- (BOOL)validateSQL:(NSString*)sql error:(NSError * _Nullable __autoreleasing *)error;
+
+
+///-----------------------------------
+/// @name Application identifier tasks
+///-----------------------------------
+
+/** Retrieve application ID
+
+ @return The `uint32_t` numeric value of the application ID.
+
+ @see setApplicationID:
+ */
+
+@property (nonatomic) uint32_t applicationID;
+
+#if TARGET_OS_MAC && !TARGET_OS_IPHONE
+
+/** Retrieve application ID string
+
+ @see setApplicationIDString:
+ */
+
+@property (nonatomic, retain) NSString *applicationIDString;
+
+#endif
+
+///-----------------------------------
+/// @name user version identifier tasks
+///-----------------------------------
+
+/** Retrieve user version
+
+ @see setUserVersion:
+ */
+
+@property (nonatomic) uint32_t userVersion;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseQueue.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseQueue.h
new file mode 100755
index 0000000..1ee249a
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinDatabaseQueue.h
@@ -0,0 +1,295 @@
+//
+// SqfliteDarwinDatabaseQueue.h
+// fmdb
+//
+// Created by August Mueller on 6/22/11.
+// Copyright 2011 Flying Meat Inc. All rights reserved.
+//
+
+#import
+#import "SqfliteDarwinDatabase.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** To perform queries and updates on multiple threads, you'll want to use @c SqfliteDarwinDatabaseQueue .
+
+ Using a single instance of @c SqfliteDarwinDatabase from multiple threads at once is a bad idea. It has always been OK to make a @c SqfliteDarwinDatabase object *per thread*. Just don't share a single instance across threads, and definitely not across multiple threads at the same time.
+
+ Instead, use @c SqfliteDarwinDatabaseQueue . Here's how to use it:
+
+ First, make your queue.
+
+@code
+SqfliteDarwinDatabaseQueue *queue = [SqfliteDarwinDatabaseQueue databaseQueueWithPath:aPath];
+@endcode
+
+ Then use it like so:
+
+@code
+[queue inDatabase:^(SqfliteDarwinDatabase *db) {
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];
+
+ SqfliteDarwinResultSet *rs = [db executeQuery:@"select * from foo"];
+ while ([rs next]) {
+ //…
+ }
+}];
+@endcode
+
+ An easy way to wrap things up in a transaction can be done like this:
+
+@code
+[queue inTransaction:^(SqfliteDarwinDatabase *db, BOOL *rollback) {
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];
+
+ // if (whoopsSomethingWrongHappened) {
+ // *rollback = YES;
+ // return;
+ // }
+
+ // etc…
+ [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:4]];
+}];
+@endcode
+
+ @c SqfliteDarwinDatabaseQueue will run the blocks on a serialized queue (hence the name of the class). So if you call @c SqfliteDarwinDatabaseQueue 's methods from multiple threads at the same time, they will be executed in the order they are received. This way queries and updates won't step on each other's toes, and every one is happy.
+
+ @warning Do not instantiate a single @c SqfliteDarwinDatabase object and use it across multiple threads. Use @c SqfliteDarwinDatabaseQueue instead.
+
+ @warning The calls to @c SqfliteDarwinDatabaseQueue 's methods are blocking. So even though you are passing along blocks, they will **not** be run on another thread.
+
+ @sa SqfliteDarwinDatabase
+
+ */
+
+@interface SqfliteDarwinDatabaseQueue : NSObject
+
+/** Path of database */
+
+@property (atomic, retain, nullable) NSString *path;
+
+/** Open flags */
+
+@property (atomic, readonly) int openFlags;
+
+/** Custom virtual file system name */
+
+@property (atomic, copy, nullable) NSString *vfsName;
+
+///----------------------------------------------------
+/// @name Initialization, opening, and closing of queue
+///----------------------------------------------------
+
+/** Create queue using path.
+
+ @param aPath The file path of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
++ (nullable instancetype)databaseQueueWithPath:(NSString * _Nullable)aPath;
+
+/** Create queue using file URL.
+
+ @param url The file @c NSURL of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
++ (nullable instancetype)databaseQueueWithURL:(NSURL * _Nullable)url;
+
+/** Create queue using path and specified flags.
+
+ @param aPath The file path of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
++ (nullable instancetype)databaseQueueWithPath:(NSString * _Nullable)aPath flags:(int)openFlags;
+
+/** Create queue using file URL and specified flags.
+
+ @param url The file @c NSURL of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
++ (nullable instancetype)databaseQueueWithURL:(NSURL * _Nullable)url flags:(int)openFlags;
+
+/** Create queue using path.
+
+ @param aPath The file path of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithPath:(NSString * _Nullable)aPath;
+
+/** Create queue using file URL.
+
+ @param url The file `NSURL of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithURL:(NSURL * _Nullable)url;
+
+/** Create queue using path and specified flags.
+
+ @param aPath The file path of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithPath:(NSString * _Nullable)aPath flags:(int)openFlags;
+
+/** Create queue using file URL and specified flags.
+
+ @param url The file path of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database.
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithURL:(NSURL * _Nullable)url flags:(int)openFlags;
+
+/** Create queue using path and specified flags.
+
+ @param aPath The file path of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database
+ @param vfsName The name of a custom virtual file system
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithPath:(NSString * _Nullable)aPath flags:(int)openFlags vfs:(NSString * _Nullable)vfsName;
+
+/** Create queue using file URL and specified flags.
+
+ @param url The file `NSURL of the database.
+ @param openFlags Flags passed to the openWithFlags method of the database
+ @param vfsName The name of a custom virtual file system
+
+ @return The @c SqfliteDarwinDatabaseQueue object. @c nil on error.
+ */
+
+- (nullable instancetype)initWithURL:(NSURL * _Nullable)url flags:(int)openFlags vfs:(NSString * _Nullable)vfsName;
+
+/** Returns the Class of 'SqfliteDarwinDatabase' subclass, that will be used to instantiate database object.
+
+ Subclasses can override this method to return specified Class of 'SqfliteDarwinDatabase' subclass.
+
+ @return The Class of 'SqfliteDarwinDatabase' subclass, that will be used to instantiate database object.
+ */
+
++ (Class)databaseClass;
+
+/** Close database used by queue. */
+
+- (void)close;
+
+/** Interupt pending database operation. */
+
+- (void)interrupt;
+
+///-----------------------------------------------
+/// @name Dispatching database operations to queue
+///-----------------------------------------------
+
+/** Synchronously perform database operations on queue.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+ */
+
+- (void)inDatabase:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db))block;
+
+/** Synchronously perform database operations on queue, using transactions.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+
+ @warning Unlike SQLite's `BEGIN TRANSACTION`, this method currently performs
+ an exclusive transaction, not a deferred transaction. This behavior
+ is likely to change in future versions of SqfliteDarwinDB, whereby this method
+ will likely eventually adopt standard SQLite behavior and perform
+ deferred transactions. If you really need exclusive tranaction, it is
+ recommended that you use `inExclusiveTransaction`, instead, not only
+ to make your intent explicit, but also to future-proof your code.
+
+ */
+
+- (void)inTransaction:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db, BOOL *rollback))block;
+
+/** Synchronously perform database operations on queue, using deferred transactions.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+ */
+
+- (void)inDeferredTransaction:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db, BOOL *rollback))block;
+
+/** Synchronously perform database operations on queue, using exclusive transactions.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+ */
+
+- (void)inExclusiveTransaction:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db, BOOL *rollback))block;
+
+/** Synchronously perform database operations on queue, using immediate transactions.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+ */
+
+- (void)inImmediateTransaction:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db, BOOL *rollback))block;
+
+///-----------------------------------------------
+/// @name Dispatching database operations to queue
+///-----------------------------------------------
+
+/** Synchronously perform database operations using save point.
+
+ @param block The code to be run on the queue of @c SqfliteDarwinDatabaseQueue
+ */
+
+// NOTE: you can not nest these, since calling it will pull another database out of the pool and you'll get a deadlock.
+// If you need to nest, use SqfliteDarwinDatabase's startSavePointWithName:error: instead.
+- (NSError * _Nullable)inSavePoint:(__attribute__((noescape)) void (^)(SqfliteDarwinDatabase *db, BOOL *rollback))block;
+
+///-----------------
+/// @name Checkpoint
+///-----------------
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for sqlite3_wal_checkpoint_v2
+ @param error The NSError corresponding to the error, if any.
+ @return YES on success, otherwise NO.
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode error:(NSError * _Nullable *)error;
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for sqlite3_wal_checkpoint_v2
+ @param name The db name for sqlite3_wal_checkpoint_v2
+ @param error The NSError corresponding to the error, if any.
+ @return YES on success, otherwise NO.
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode name:(NSString * _Nullable)name error:(NSError * _Nullable *)error;
+
+/** Performs a WAL checkpoint
+
+ @param checkpointMode The checkpoint mode for sqlite3_wal_checkpoint_v2
+ @param name The db name for sqlite3_wal_checkpoint_v2
+ @param error The NSError corresponding to the error, if any.
+ @param logFrameCount If not NULL, then this is set to the total number of frames in the log file or to -1 if the checkpoint could not run because of an error or because the database is not in WAL mode.
+ @param checkpointCount If not NULL, then this is set to the total number of checkpointed frames in the log file (including any that were already checkpointed before the function was called) or to -1 if the checkpoint could not run due to an error or because the database is not in WAL mode.
+ @return YES on success, otherwise NO.
+ */
+- (BOOL)checkpoint:(SqfliteDarwinDBCheckpointMode)checkpointMode name:(NSString * _Nullable)name logFrameCount:(int * _Nullable)logFrameCount checkpointCount:(int * _Nullable)checkpointCount error:(NSError * _Nullable *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinImport.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinImport.h
new file mode 100644
index 0000000..355175e
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinImport.h
@@ -0,0 +1,14 @@
+//
+// SqfliteDarwinImport.h
+// Shared import for SqfliteDarwinDB
+//
+// Not a header file as XCode might complain.
+//
+// Created by Alexandre Roux on 03/12/2022.
+//
+#ifndef SqfliteDarwinImport_h
+#define SqfliteDarwinImport_h
+
+#import "SqfliteDarwinDB.h"
+
+#endif /* SqfliteDarwinImport_h */
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinResultSet.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinResultSet.h
new file mode 100644
index 0000000..d0a5175
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDarwinResultSet.h
@@ -0,0 +1,538 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+#ifndef __has_feature // Optional.
+#define __has_feature(x) 0 // Compatibility with non-clang compilers.
+#endif
+
+#ifndef NS_RETURNS_NOT_RETAINED
+#if __has_feature(attribute_ns_returns_not_retained)
+#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
+#else
+#define NS_RETURNS_NOT_RETAINED
+#endif
+#endif
+
+@class SqfliteDarwinDatabase;
+@class SqfliteDarwinStatement;
+
+/** Types for columns in a result set.
+ */
+typedef NS_ENUM(int, SqliteValueType) {
+ SqliteValueTypeInteger = 1,
+ SqliteValueTypeFloat = 2,
+ SqliteValueTypeText = 3,
+ SqliteValueTypeBlob = 4,
+ SqliteValueTypeNull = 5
+};
+
+/** Represents the results of executing a query on an @c SqfliteDarwinDatabase .
+
+ See also
+
+ - @c SqfliteDarwinDatabase
+ */
+
+@interface SqfliteDarwinResultSet : NSObject
+
+@property (nonatomic, retain, nullable) SqfliteDarwinDatabase *parentDB;
+
+///-----------------
+/// @name Properties
+///-----------------
+
+/** Executed query */
+
+@property (atomic, retain, nullable) NSString *query;
+
+/** `NSMutableDictionary` mapping column names to numeric index */
+
+@property (readonly) NSMutableDictionary *columnNameToIndexMap;
+
+/** `SqfliteDarwinStatement` used by result set. */
+
+@property (atomic, retain, nullable) SqfliteDarwinStatement *statement;
+
+///------------------------------------
+/// @name Creating and closing a result set
+///------------------------------------
+
+/** Close result set */
+
+- (void)close;
+
+///---------------------------------------
+/// @name Iterating through the result set
+///---------------------------------------
+
+/** Retrieve next row for result set.
+
+ You must always invoke `next` or `nextWithError` before attempting to access the values returned in a query, even if you're only expecting one.
+
+ @return @c YES if row successfully retrieved; @c NO if end of result set reached
+
+ @see hasAnotherRow
+ */
+
+- (BOOL)next;
+
+/** Retrieve next row for result set.
+
+ You must always invoke `next` or `nextWithError` before attempting to access the values returned in a query, even if you're only expecting one.
+
+ @param outErr A 'NSError' object to receive any error object (if any).
+
+ @return 'YES' if row successfully retrieved; 'NO' if end of result set reached
+
+ @see hasAnotherRow
+ */
+
+- (BOOL)nextWithError:(NSError * _Nullable __autoreleasing *)outErr;
+
+/** Perform SQL statement.
+
+ @return 'YES' if successful; 'NO' if not.
+
+ @see hasAnotherRow
+*/
+
+- (BOOL)step;
+
+/** Perform SQL statement.
+
+ @param outErr A 'NSError' object to receive any error object (if any).
+
+ @return 'YES' if successful; 'NO' if not.
+
+ @see hasAnotherRow
+*/
+
+- (BOOL)stepWithError:(NSError * _Nullable __autoreleasing *)outErr;
+
+/** Did the last call to `` succeed in retrieving another row?
+
+ @return 'YES' if there is another row; 'NO' if not.
+
+ @see next
+
+ @warning The `hasAnotherRow` method must follow a call to ``. If the previous database interaction was something other than a call to `next`, then this method may return @c NO, whether there is another row of data or not.
+ */
+
+- (BOOL)hasAnotherRow;
+
+///---------------------------------------------
+/// @name Retrieving information from result set
+///---------------------------------------------
+
+/** How many columns in result set
+
+ @return Integer value of the number of columns.
+ */
+
+@property (nonatomic, readonly) int columnCount;
+
+/** Column index for column name
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return Zero-based index for column.
+ */
+
+- (int)columnIndexForName:(NSString*)columnName;
+
+/** Column name for column index
+
+ @param columnIdx Zero-based index for column.
+
+ @return columnName @c NSString value of the name of the column.
+ */
+
+- (NSString * _Nullable)columnNameForIndex:(int)columnIdx;
+
+/** Result set integer value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return @c int value of the result set's column.
+ */
+
+- (int)intForColumn:(NSString*)columnName;
+
+/** Result set integer value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return @c int value of the result set's column.
+ */
+
+- (int)intForColumnIndex:(int)columnIdx;
+
+/** Result set @c long value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return @c long value of the result set's column.
+ */
+
+- (long)longForColumn:(NSString*)columnName;
+
+/** Result set long value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return @c long value of the result set's column.
+ */
+
+- (long)longForColumnIndex:(int)columnIdx;
+
+/** Result set `long long int` value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return `long long int` value of the result set's column.
+ */
+
+- (long long int)longLongIntForColumn:(NSString*)columnName;
+
+/** Result set `long long int` value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return `long long int` value of the result set's column.
+ */
+
+- (long long int)longLongIntForColumnIndex:(int)columnIdx;
+
+/** Result set `unsigned long long int` value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return `unsigned long long int` value of the result set's column.
+ */
+
+- (unsigned long long int)unsignedLongLongIntForColumn:(NSString*)columnName;
+
+/** Result set `unsigned long long int` value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return `unsigned long long int` value of the result set's column.
+ */
+
+- (unsigned long long int)unsignedLongLongIntForColumnIndex:(int)columnIdx;
+
+/** Result set `BOOL` value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return `BOOL` value of the result set's column.
+ */
+
+- (BOOL)boolForColumn:(NSString*)columnName;
+
+/** Result set `BOOL` value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return `BOOL` value of the result set's column.
+ */
+
+- (BOOL)boolForColumnIndex:(int)columnIdx;
+
+/** Result set `double` value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return `double` value of the result set's column.
+
+ */
+
+- (double)doubleForColumn:(NSString*)columnName;
+
+/** Result set `double` value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return `double` value of the result set's column.
+
+ */
+
+- (double)doubleForColumnIndex:(int)columnIdx;
+
+/** Result set @c NSString value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return String value of the result set's column.
+
+ */
+
+- (NSString * _Nullable)stringForColumn:(NSString*)columnName;
+
+/** Result set @c NSString value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return String value of the result set's column.
+ */
+
+- (NSString * _Nullable)stringForColumnIndex:(int)columnIdx;
+
+/** Result set @c NSDate value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return Date value of the result set's column.
+ */
+
+- (NSDate * _Nullable)dateForColumn:(NSString*)columnName;
+
+/** Result set @c NSDate value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return Date value of the result set's column.
+
+ */
+
+- (NSDate * _Nullable)dateForColumnIndex:(int)columnIdx;
+
+/** Result set @c NSData value for column.
+
+ This is useful when storing binary data in table (such as image or the like).
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return Data value of the result set's column.
+
+ */
+
+- (NSData * _Nullable)dataForColumn:(NSString*)columnName;
+
+/** Result set @c NSData value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @warning For zero length BLOBs, this will return `nil`. Use `typeForColumn` to determine whether this was really a zero
+ length BLOB or `NULL`.
+
+ @return Data value of the result set's column.
+ */
+
+- (NSData * _Nullable)dataForColumnIndex:(int)columnIdx;
+
+/** Result set `(const unsigned char *)` value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @warning For zero length BLOBs, this will return `nil`. Use `typeForColumnIndex` to determine whether this was really a zero
+ length BLOB or `NULL`.
+
+ @return `(const unsigned char *)` value of the result set's column.
+ */
+
+- (const unsigned char * _Nullable)UTF8StringForColumn:(NSString*)columnName;
+
+- (const unsigned char * _Nullable)UTF8StringForColumnName:(NSString*)columnName __deprecated_msg("Use UTF8StringForColumn instead");
+
+/** Result set `(const unsigned char *)` value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return `(const unsigned char *)` value of the result set's column.
+ */
+
+- (const unsigned char * _Nullable)UTF8StringForColumnIndex:(int)columnIdx;
+
+/** Result set object for column.
+
+ @param columnName Name of the column.
+
+ @return Either @c NSNumber , @c NSString , @c NSData , or @c NSNull . If the column was @c NULL , this returns `[NSNull null]` object.
+
+ @see objectForKeyedSubscript:
+ */
+
+- (id _Nullable)objectForColumn:(NSString*)columnName;
+
+- (id _Nullable)objectForColumnName:(NSString*)columnName __deprecated_msg("Use objectForColumn instead");
+
+/** Column type by column name.
+
+ @param columnName Name of the column.
+
+ @return The `SqliteValueType` of the value in this column.
+ */
+
+- (SqliteValueType)typeForColumn:(NSString*)columnName;
+
+/** Column type by column index.
+
+ @param columnIdx Index of the column.
+
+ @return The `SqliteValueType` of the value in this column.
+ */
+
+- (SqliteValueType)typeForColumnIndex:(int)columnIdx;
+
+
+/** Result set object for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return Either @c NSNumber , @c NSString , @c NSData , or @c NSNull . If the column was @c NULL , this returns `[NSNull null]` object.
+
+ @see objectAtIndexedSubscript:
+ */
+
+- (id _Nullable)objectForColumnIndex:(int)columnIdx;
+
+/** Result set object for column.
+
+ This method allows the use of the "boxed" syntax supported in Modern Objective-C. For example, by defining this method, the following syntax is now supported:
+
+@code
+id result = rs[@"employee_name"];
+@endcode
+
+ This simplified syntax is equivalent to calling:
+
+@code
+id result = [rs objectForKeyedSubscript:@"employee_name"];
+@endcode
+
+ which is, it turns out, equivalent to calling:
+
+@code
+id result = [rs objectForColumnName:@"employee_name"];
+@endcode
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return Either @c NSNumber , @c NSString , @c NSData , or @c NSNull . If the column was @c NULL , this returns `[NSNull null]` object.
+ */
+
+- (id _Nullable)objectForKeyedSubscript:(NSString *)columnName;
+
+/** Result set object for column.
+
+ This method allows the use of the "boxed" syntax supported in Modern Objective-C. For example, by defining this method, the following syntax is now supported:
+
+@code
+id result = rs[0];
+@endcode
+
+ This simplified syntax is equivalent to calling:
+
+@code
+id result = [rs objectForKeyedSubscript:0];
+@endcode
+
+ which is, it turns out, equivalent to calling:
+
+@code
+id result = [rs objectForColumnName:0];
+@endcode
+
+ @param columnIdx Zero-based index for column.
+
+ @return Either @c NSNumber , @c NSString , @c NSData , or @c NSNull . If the column was @c NULL , this returns `[NSNull null]` object.
+ */
+
+- (id _Nullable)objectAtIndexedSubscript:(int)columnIdx;
+
+/** Result set @c NSData value for column.
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return Data value of the result set's column.
+
+ @warning If you are going to use this data after you iterate over the next row, or after you close the
+result set, make sure to make a copy of the data first (or just use ``/``)
+If you don't, you're going to be in a world of hurt when you try and use the data.
+
+ */
+
+- (NSData * _Nullable)dataNoCopyForColumn:(NSString *)columnName NS_RETURNS_NOT_RETAINED;
+
+/** Result set @c NSData value for column.
+
+ @param columnIdx Zero-based index for column.
+
+ @return Data value of the result set's column.
+
+ @warning If you are going to use this data after you iterate over the next row, or after you close the
+ result set, make sure to make a copy of the data first (or just use ``/``)
+ If you don't, you're going to be in a world of hurt when you try and use the data.
+
+ */
+
+- (NSData * _Nullable)dataNoCopyForColumnIndex:(int)columnIdx NS_RETURNS_NOT_RETAINED;
+
+/** Is the column @c NULL ?
+
+ @param columnIdx Zero-based index for column.
+
+ @return @c YES if column is @c NULL ; @c NO if not @c NULL .
+ */
+
+- (BOOL)columnIndexIsNull:(int)columnIdx;
+
+/** Is the column @c NULL ?
+
+ @param columnName @c NSString value of the name of the column.
+
+ @return @c YES if column is @c NULL ; @c NO if not @c NULL .
+ */
+
+- (BOOL)columnIsNull:(NSString*)columnName;
+
+
+/** Returns a dictionary of the row results mapped to case sensitive keys of the column names.
+
+ @warning The keys to the dictionary are case sensitive of the column names.
+ */
+
+@property (nonatomic, readonly, nullable) NSDictionary *resultDictionary;
+
+/** Returns a dictionary of the row results
+
+ @see resultDictionary
+
+ @warning **Deprecated**: Please use `` instead. Also, beware that `` is case sensitive!
+ */
+
+- (NSDictionary * _Nullable)resultDict __deprecated_msg("Use resultDictionary instead");
+
+///-----------------------------
+/// @name Key value coding magic
+///-----------------------------
+
+/** Performs `setValue` to yield support for key value observing.
+
+ @param object The object for which the values will be set. This is the key-value-coding compliant object that you might, for example, observe.
+
+ */
+
+- (void)kvcMagic:(id)object;
+
+///-----------------------------
+/// @name Binding values
+///-----------------------------
+
+/// Bind array of values to prepared statement.
+///
+/// @param array Array of values to bind to SQL statement.
+
+- (BOOL)bindWithArray:(NSArray*)array;
+
+/// Bind dictionary of values to prepared statement.
+///
+/// @param dictionary Dictionary of values to bind to SQL statement.
+
+- (BOOL)bindWithDictionary:(NSDictionary *)dictionary;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDatabase.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDatabase.h
new file mode 100644
index 0000000..f998590
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteDatabase.h
@@ -0,0 +1,41 @@
+//
+// SqfliteDatabase.h
+// sqflite
+//
+// Created by Alexandre Roux on 24/10/2022.
+//
+#ifndef SqfliteDatabase_h
+#define SqfliteDatabase_h
+
+#import "SqfliteCursor.h"
+#import "SqfliteOperation.h"
+
+@class SqfliteDarwinDatabaseQueue,SqfliteDarwinDatabase;
+@interface SqfliteDatabase : NSObject
+
+@property (atomic, retain) SqfliteDarwinDatabaseQueue *fmDatabaseQueue;
+@property (atomic, retain) NSNumber *databaseId;
+@property (atomic, retain) NSString* path;
+@property (nonatomic) bool singleInstance;
+@property (nonatomic) bool inTransaction;
+@property (nonatomic) int logLevel;
+// Curosr support
+@property (nonatomic) int lastCursorId;
+@property (atomic, retain) NSMutableDictionary* cursorMap;
+// Transaction v2
+@property (nonatomic) int lastTransactionId;
+@property (atomic, retain) NSNumber *currentTransactionId;
+@property (atomic, retain) NSMutableArray* noTransactionOperationQueue;
+
+- (void)closeCursorById:(NSNumber*)cursorId;
+- (void)closeCursor:(SqfliteCursor*)cursor;
+- (void)inDatabase:(void (^)(SqfliteDarwinDatabase *db))block;
+- (void)dbBatch:(SqfliteDarwinDatabase*)db operation:(SqfliteMethodCallOperation*)mainOperation;
+- (void)dbExecute:(SqfliteDarwinDatabase*)db operation:(SqfliteOperation*)operation;
+- (void)dbInsert:(SqfliteDarwinDatabase*)db operation:(SqfliteOperation*)operation;
+- (void)dbUpdate:(SqfliteDarwinDatabase*)db operation:(SqfliteOperation*)operation;
+- (void)dbQuery:(SqfliteDarwinDatabase*)db operation:(SqfliteOperation*)operation;
+- (void)dbQueryCursorNext:(SqfliteDarwinDatabase*)db operation:(SqfliteOperation*)operation;
+@end
+
+#endif // SqfliteDatabase_h
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteImport.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteImport.h
new file mode 100644
index 0000000..44f7757
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteImport.h
@@ -0,0 +1,16 @@
+//
+// SqfliteImport.h
+// sqflite
+//
+// Created by Alexandre Roux on 24/10/2022.
+//
+#ifndef SqfliteImport_h
+#define SqfliteImport_h
+
+#if TARGET_OS_IPHONE
+#import
+#else
+#import
+#endif
+
+#endif // SqfliteImport_h
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteOperation.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteOperation.h
new file mode 100644
index 0000000..d35180e
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqfliteOperation.h
@@ -0,0 +1,62 @@
+//
+// Operation.h
+// sqflite
+//
+// Created by Alexandre Roux on 09/01/2018.
+//
+#ifndef SqfliteOperation_h
+#define SqfliteOperation_h
+
+#import "SqfliteImport.h"
+
+@class SqfliteDarwinDatabase;
+@interface SqfliteOperation : NSObject
+
+- (NSString*)getMethod;
+- (NSString*)getSql;
+- (NSArray*)getSqlArguments;
+- (NSNumber*)getInTransactionChange;
+- (void)success:(NSObject*)results;
+- (void)error:(FlutterError*)error;
+- (bool)getNoResult;
+- (bool)getContinueOnError;
+- (bool)hasNullTransactionId;
+- (NSNumber*)getTransactionId;
+// Generic way to get any argument
+- (id)getArgument:(NSString*)key;
+- (bool)hasArgument:(NSString*)key;
+
+@end
+
+@interface SqfliteBatchOperation : SqfliteOperation
+
+@property (atomic, retain) NSDictionary* dictionary;
+@property (atomic, retain) NSObject* results;
+@property (atomic, retain) FlutterError* error;
+@property (atomic, assign) bool noResult;
+@property (atomic, assign) bool continueOnError;
+
+- (void)handleSuccess:(NSMutableArray*)results;
+- (void)handleErrorContinue:(NSMutableArray*)results;
+- (void)handleError:(FlutterResult)result;
+
+@end
+
+@interface SqfliteMethodCallOperation : SqfliteOperation
+
+@property (atomic, retain) FlutterMethodCall* flutterMethodCall;
+@property (atomic, copy) FlutterResult flutterResult;
+
++ (SqfliteMethodCallOperation*)newWithCall:(FlutterMethodCall*)flutterMethodCall result:(FlutterResult)flutterResult;
+
+@end
+
+typedef void(^SqfliteOperationHandler)(SqfliteDarwinDatabase* db, SqfliteOperation* operation);
+@interface SqfliteQueuedOperation : NSObject
+
+@property (atomic, retain) SqfliteOperation* operation;
+@property (atomic, copy) SqfliteOperationHandler handler;
+
+@end
+
+#endif // SqfliteOperation_h
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqflitePlugin.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqflitePlugin.h
new file mode 100644
index 0000000..45ea9ae
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/SqflitePlugin.h
@@ -0,0 +1,51 @@
+//
+// SqflitePlugin.h
+// sqflite
+//
+// Created by Alexandre Roux on 24/10/2022.
+//
+#ifndef SqflitePlugin_h
+#define SqflitePlugin_h
+
+#import "SqfliteImport.h"
+
+@class SqfliteDarwinResultSet;
+@interface SqflitePlugin : NSObject
+
++ (NSArray*)toSqlArguments:(NSArray*)rawArguments;
++ (bool)arrayIsEmpy:(NSArray*)array;
++ (NSMutableDictionary*)resultSetToResults:(SqfliteDarwinResultSet*)resultSet cursorPageSize:(NSNumber*)cursorPageSize;
+
+@end
+
+extern NSString *const SqfliteMethodExecute;;
+extern NSString *const SqfliteMethodInsert;
+extern NSString *const SqfliteMethodUpdate;
+extern NSString *const SqfliteMethodQuery;
+
+extern NSString *const SqfliteErrorBadParam;
+extern NSString *const SqliteErrorCode;
+
+extern NSString *const SqfliteParamMethod;
+extern NSString *const SqfliteParamSql;
+extern NSString *const SqfliteParamSqlArguments;
+extern NSString *const SqfliteParamInTransactionChange;
+extern NSString *const SqfliteParamNoResult;
+extern NSString *const SqfliteParamContinueOnError;
+extern NSString *const SqfliteParamResult;
+extern NSString *const SqfliteParamError;
+extern NSString *const SqfliteParamErrorCode;
+extern NSString *const SqfliteParamErrorMessage;
+extern NSString *const SqfliteParamErrorData;
+extern NSString *const SqfliteParamTransactionId;
+
+// Static helpers
+static const int sqfliteLogLevelNone = 0;
+static const int sqfliteLogLevelSql = 1;
+static const int sqfliteLogLevelVerbose = 2;
+
+extern bool sqfliteHasSqlLogLevel(int logLevel);
+// True for verbose debugging
+extern bool sqfliteHasVerboseLogLevel(int logLevel);
+
+#endif // SqflitePlugin_h
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/sqflite-umbrella.h b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/sqflite-umbrella.h
new file mode 100644
index 0000000..546ba91
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Headers/sqflite-umbrella.h
@@ -0,0 +1,27 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "SqfliteCursor.h"
+#import "SqfliteDarwinDatabase.h"
+#import "SqfliteDarwinDatabaseAdditions.h"
+#import "SqfliteDarwinDatabaseQueue.h"
+#import "SqfliteDarwinDB.h"
+#import "SqfliteDarwinImport.h"
+#import "SqfliteDarwinResultSet.h"
+#import "SqfliteDatabase.h"
+#import "SqfliteImport.h"
+#import "SqfliteOperation.h"
+#import "SqflitePlugin.h"
+
+FOUNDATION_EXPORT double sqfliteVersionNumber;
+FOUNDATION_EXPORT const unsigned char sqfliteVersionString[];
+
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Info.plist b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Info.plist
new file mode 100644
index 0000000..96cebb1
Binary files /dev/null and b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Info.plist differ
diff --git a/build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/93129087eb07e738a3ca8659f38c47e2 b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/Modules/module.modulemap
similarity index 100%
rename from build/macos/Build/Intermediates.noindex/XCBuildData/2c058dbbcb3f249cbe3e5b7cea323b88.xcbuilddata/attachments/93129087eb07e738a3ca8659f38c47e2
rename to build/ios/Debug-iphoneos/sqflite/sqflite.framework/Modules/module.modulemap
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite
new file mode 100755
index 0000000..a73ea4d
Binary files /dev/null and b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite differ
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist
new file mode 100644
index 0000000..e052baf
Binary files /dev/null and b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..0eca193
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite.framework/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
\ No newline at end of file
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/Info.plist b/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/Info.plist
new file mode 100644
index 0000000..e052baf
Binary files /dev/null and b/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/Info.plist differ
diff --git a/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy b/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..0eca193
--- /dev/null
+++ b/build/ios/Debug-iphoneos/sqflite/sqflite_darwin_privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
\ No newline at end of file
diff --git a/build/ios/iphoneos/Runner.app/AppFrameworkInfo.plist b/build/ios/iphoneos/Runner.app/AppFrameworkInfo.plist
new file mode 100644
index 0000000..230d38e
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/AppFrameworkInfo.plist differ
diff --git a/build/ios/iphoneos/Runner.app/AppIcon60x60@2x.png b/build/ios/iphoneos/Runner.app/AppIcon60x60@2x.png
new file mode 100644
index 0000000..4e0b9b8
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/AppIcon60x60@2x.png differ
diff --git a/build/ios/iphoneos/Runner.app/AppIcon76x76@2x~ipad.png b/build/ios/iphoneos/Runner.app/AppIcon76x76@2x~ipad.png
new file mode 100644
index 0000000..c6baaf0
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/AppIcon76x76@2x~ipad.png differ
diff --git a/build/ios/iphoneos/Runner.app/Assets.car b/build/ios/iphoneos/Runner.app/Assets.car
new file mode 100644
index 0000000..f25c32e
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Assets.car differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
new file mode 100644
index 0000000..623fb36
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
new file mode 100644
index 0000000..32288e8
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
new file mode 100644
index 0000000..29c6297
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
new file mode 100644
index 0000000..5368f93
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist
new file mode 100644
index 0000000..9a41f2c
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/Info.plist differ
diff --git a/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
new file mode 100644
index 0000000..789545e
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App
new file mode 100755
index 0000000..d5ba45a
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/Info.plist b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/Info.plist
new file mode 100644
index 0000000..7c56964
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ App
+ CFBundleIdentifier
+ io.flutter.flutter.app
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ App
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0
+ MinimumOSVersion
+ 12.0
+
+
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..e688d71
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources
@@ -0,0 +1,234 @@
+
+
+
+
+ files
+
+ Info.plist
+
+ h5OB7aKzS5WR9SemvZAyN6FEkJs=
+
+ flutter_assets/AssetManifest.bin
+
+ nppY/SgfJlLHZzmbow3RnZMXeVI=
+
+ flutter_assets/AssetManifest.json
+
+ SrA+dnnv0cgCjtutFqnacYn9E/M=
+
+ flutter_assets/FontManifest.json
+
+ vKJkVIcw+LGHFnKJGwrQwCREv68=
+
+ flutter_assets/NOTICES.Z
+
+ QCDACWf11cA4QfYwAwI/1JnWBaw=
+
+ flutter_assets/assets/appbar_background.png
+
+ JkgEiNZSVRa0lrDwrdeN4N1j56k=
+
+ flutter_assets/assets/logo.png
+
+ Kp3Vqz9/+Q7JHvx/0dcelGsVQ0Y=
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ /CUoTuPQqqdexfyOT9lpJhV+2MQ=
+
+ flutter_assets/isolate_snapshot_data
+
+ cU5igDxcIVzLQT2ishbNSdUocVk=
+
+ flutter_assets/kernel_blob.bin
+
+ 2S861NjVoBUyLZO/rAR+4BdQj3A=
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ Bvk+P1ykE1PGRdktwgwDyz6AOqM=
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hBZgIGdEvhX+IvXd5bjkjJVu6+s=
+
+ flutter_assets/vm_snapshot_data
+
+ ap40xllbguuMfkV4mJkKh/NQWg4=
+
+
+ files2
+
+ flutter_assets/AssetManifest.bin
+
+ hash2
+
+ q8Ie4Ld3/fiNviXBIo+2I1C35qbB9odFDYKbahX2XZY=
+
+
+ flutter_assets/AssetManifest.json
+
+ hash2
+
+ Bmf/DHmOo0s6mgjvOjLEVTky39BPm3x3AhVDJwMtcmw=
+
+
+ flutter_assets/FontManifest.json
+
+ hash2
+
+ zX4DZFvESy3Ue3y2JvUcTsv1Whl6t3JBYotHrBZfviE=
+
+
+ flutter_assets/NOTICES.Z
+
+ hash2
+
+ uxaMPyJTnaE0nTnvDYOClHo7+tK7avIaA0XpeSqftdE=
+
+
+ flutter_assets/assets/appbar_background.png
+
+ hash2
+
+ EhS8+djmZXDI2ucxttToNMvFcA3W1ezHx112CQRIqpw=
+
+
+ flutter_assets/assets/logo.png
+
+ hash2
+
+ QQd+B8xc2yWOncyL/vSm9aFtpY4LhK/gaxHds158yCc=
+
+
+ flutter_assets/fonts/MaterialIcons-Regular.otf
+
+ hash2
+
+ 2YZbZxoJ1oPROoYwidiCXg9ho3aWzl19RIvIAjqmJFM=
+
+
+ flutter_assets/isolate_snapshot_data
+
+ hash2
+
+ 2xhrt3e9Akh13HCD0k45mouHg3CpgXDn1AwXioeg1PY=
+
+
+ flutter_assets/kernel_blob.bin
+
+ hash2
+
+ GQB/lHoxNUJcA5CBiQBdyBuX3jr7Tfbc7Ubr79pH6iM=
+
+
+ flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
+
+ hash2
+
+ Z8RP6Rg7AC553ef2l34piGYcmj5KPF/OloeH79vtgjw=
+
+
+ flutter_assets/shaders/ink_sparkle.frag
+
+ hash2
+
+ 0T+w183eMSTh5phjUfkXjg4ZpPYnVqkH4Gv3Ge4QCh8=
+
+
+ flutter_assets/vm_snapshot_data
+
+ hash2
+
+ 6eubeZZqyUNzwtBtT1r66GIIirzwERUZET0Gp6oe/CI=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin
new file mode 100644
index 0000000..80ea2b2
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.bin
@@ -0,0 +1 @@
+
assets/appbar_background.png
assetassets/appbar_background.pngassets/logo.png
assetassets/logo.png2packages/cupertino_icons/assets/CupertinoIcons.ttf
asset2packages/cupertino_icons/assets/CupertinoIcons.ttf
\ No newline at end of file
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json
new file mode 100644
index 0000000..7704b16
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/AssetManifest.json
@@ -0,0 +1 @@
+{"assets/appbar_background.png":["assets/appbar_background.png"],"assets/logo.png":["assets/logo.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}
\ No newline at end of file
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json
new file mode 100644
index 0000000..464ab58
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/FontManifest.json
@@ -0,0 +1 @@
+[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z
new file mode 100644
index 0000000..cbb9f46
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/NOTICES.Z differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png
new file mode 100644
index 0000000..8d1da9a
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/appbar_background.png differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png
new file mode 100644
index 0000000..36017a2
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/assets/logo.png differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf
new file mode 100644
index 0000000..8c99266
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/fonts/MaterialIcons-Regular.otf differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data
new file mode 100644
index 0000000..dd5c896
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/isolate_snapshot_data differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin
new file mode 100644
index 0000000..d6f6e9a
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
new file mode 100644
index 0000000..d580ce7
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag
new file mode 100644
index 0000000..6aa6625
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/shaders/ink_sparkle.frag differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data
new file mode 100644
index 0000000..0fa016c
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/App.framework/flutter_assets/vm_snapshot_data differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter
new file mode 100755
index 0000000..a331058
Binary files /dev/null and b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Flutter differ
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h
new file mode 100644
index 0000000..705dfcb
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/Flutter.h
@@ -0,0 +1,24 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
+
+#import "FlutterAppDelegate.h"
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCallbackCache.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterEngineGroup.h"
+#import "FlutterHeadlessDartRunner.h"
+#import "FlutterMacros.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterPlugin.h"
+#import "FlutterPluginAppLifeCycleDelegate.h"
+#import "FlutterTexture.h"
+#import "FlutterViewController.h"
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTER_H_
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
new file mode 100644
index 0000000..0c427c2
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterAppDelegate.h
@@ -0,0 +1,34 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
+
+#import
+
+#import "FlutterMacros.h"
+#import "FlutterPlugin.h"
+
+/**
+ * `UIApplicationDelegate` subclass for simple apps that want default behavior.
+ *
+ * This class implements the following behaviors:
+ * * Status bar touches are forwarded to the key window's root view
+ * `FlutterViewController`, in order to trigger scroll to top.
+ * * Keeps the Flutter connection open in debug mode when the phone screen
+ * locks.
+ *
+ * App delegates for Flutter applications are *not* required to inherit from
+ * this class. Developers of custom app delegate classes should copy and paste
+ * code as necessary from FlutterAppDelegate.mm.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterAppDelegate
+ : UIResponder
+
+@property(strong, nonatomic) UIWindow* window;
+
+@end
+
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
new file mode 100644
index 0000000..eb0186f
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterBinaryMessenger.h
@@ -0,0 +1,106 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
+
+#import
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
+ * in for handling a binary message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
+
+/**
+ * A strategy for handling incoming binary messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param reply A callback for submitting an asynchronous reply to the sender.
+ */
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
+
+typedef int64_t FlutterBinaryMessengerConnection;
+
+@protocol FlutterTaskQueue
+@end
+
+/**
+ * A facility for communicating with the Flutter side using asynchronous message
+ * passing with binary messages.
+ *
+ * Implementated by:
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
+ * messages.
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
+ * method calls.
+ * - `FlutterEventChannel`, which supports commuication using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterBinaryMessenger
+/// TODO(gaaclarke): Remove optional when macos supports Background Platform Channels.
+@optional
+- (NSObject*)makeBackgroundTaskQueue;
+
+- (FlutterBinaryMessengerConnection)
+ setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:(FlutterBinaryMessageHandler _Nullable)handler
+ taskQueue:(NSObject* _Nullable)taskQueue;
+
+@required
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * no reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ */
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
+
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * an asynchronous reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ * @param callback A callback for receiving a reply.
+ */
+- (void)sendOnChannel:(NSString*)channel
+ message:(NSData* _Nullable)message
+ binaryReply:(FlutterBinaryReply _Nullable)callback;
+
+/**
+ * Registers a message handler for incoming binary messages from the Flutter side
+ * on the specified channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param channel The channel name.
+ * @param handler The message handler.
+ * @return An identifier that represents the connection that was just created to the channel.
+ */
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
+ binaryMessageHandler:
+ (FlutterBinaryMessageHandler _Nullable)handler;
+
+/**
+ * Clears out a channel's message handler if that handler is still the one that
+ * was created as a result of
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ *
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ */
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
+@end
+NS_ASSUME_NONNULL_END
+#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERBINARYMESSENGER_H_
diff --git a/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
new file mode 100644
index 0000000..b6e331d
--- /dev/null
+++ b/build/ios/iphoneos/Runner.app/Frameworks/Flutter.framework/Headers/FlutterCallbackCache.h
@@ -0,0 +1,54 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERCALLBACKCACHE_H_
+
+#import