From 0b591288c15a1a566d5c69c4c794555647ae95fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Sat, 24 Jul 2021 20:27:02 +0200
Subject: [PATCH] Add minimal empty application

---
 .gitignore                                    |  46 ++
 .gitlab-ci.yml                                | 124 +++++
 .metadata                                     |  10 +
 README.md                                     |   3 +-
 android/.gitignore                            |  11 +
 android/app/build.gradle                      |  70 +++
 android/app/src/debug/AndroidManifest.xml     |   7 +
 android/app/src/main/AndroidManifest.xml      |  41 ++
 .../benoitharrault/plotter/MainActivity.java  |   6 +
 .../res/drawable-v21/launch_background.xml    |  12 +
 .../main/res/drawable/launch_background.xml   |  12 +
 .../src/main/res/mipmap-hdpi/ic_launcher.png  | Bin 0 -> 2626 bytes
 .../src/main/res/mipmap-mdpi/ic_launcher.png  | Bin 0 -> 1536 bytes
 .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3502 bytes
 .../main/res/mipmap-xxhdpi/ic_launcher.png    | Bin 0 -> 5721 bytes
 .../main/res/mipmap-xxxhdpi/ic_launcher.png   | Bin 0 -> 7943 bytes
 .../app/src/main/res/values-night/styles.xml  |  18 +
 android/app/src/main/res/values/styles.xml    |  18 +
 android/app/src/profile/AndroidManifest.xml   |   7 +
 android/build.gradle                          |  29 ++
 android/gradle.properties                     |   5 +
 .../gradle/wrapper/gradle-wrapper.properties  |   6 +
 android/settings.gradle                       |  11 +
 assets/icons/application.png                  | Bin 0 -> 7943 bytes
 .../metadata/android/en-US/changelogs/1.txt   |   1 +
 .../android/en-US/full_description.txt        |   1 +
 .../metadata/android/en-US/images/icon.png    | Bin 0 -> 23892 bytes
 .../android/en-US/short_description.txt       |   1 +
 fastlane/metadata/android/en-US/title.txt     |   1 +
 .../metadata/android/fr-FR/changelogs/1.txt   |   1 +
 .../android/fr-FR/full_description.txt        |   1 +
 .../android/fr-FR/short_description.txt       |   1 +
 fastlane/metadata/android/fr-FR/title.txt     |   1 +
 icons/build_application_icons.sh              |  47 ++
 icons/build_repository_icons.sh               |  48 ++
 icons/icon.svg                                |  98 ++++
 ios/.gitignore                                |  33 ++
 ios/Flutter/AppFrameworkInfo.plist            |  26 +
 ios/Flutter/Debug.xcconfig                    |   1 +
 ios/Flutter/Release.xcconfig                  |   1 +
 ios/Runner.xcodeproj/project.pbxproj          | 472 ++++++++++++++++++
 .../contents.xcworkspacedata                  |   7 +
 .../xcshareddata/IDEWorkspaceChecks.plist     |   8 +
 .../xcshareddata/WorkspaceSettings.xcsettings |   8 +
 .../xcshareddata/xcschemes/Runner.xcscheme    |  91 ++++
 .../contents.xcworkspacedata                  |   7 +
 .../xcshareddata/IDEWorkspaceChecks.plist     |   8 +
 .../xcshareddata/WorkspaceSettings.xcsettings |   8 +
 ios/Runner/AppDelegate.h                      |   6 +
 ios/Runner/AppDelegate.m                      |  13 +
 .../AppIcon.appiconset/Contents.json          | 122 +++++
 .../Icon-App-1024x1024@1x.png                 | Bin 0 -> 10932 bytes
 .../AppIcon.appiconset/Icon-App-20x20@1x.png  | Bin 0 -> 564 bytes
 .../AppIcon.appiconset/Icon-App-20x20@2x.png  | Bin 0 -> 1283 bytes
 .../AppIcon.appiconset/Icon-App-20x20@3x.png  | Bin 0 -> 1588 bytes
 .../AppIcon.appiconset/Icon-App-29x29@1x.png  | Bin 0 -> 1025 bytes
 .../AppIcon.appiconset/Icon-App-29x29@2x.png  | Bin 0 -> 1716 bytes
 .../AppIcon.appiconset/Icon-App-29x29@3x.png  | Bin 0 -> 1920 bytes
 .../AppIcon.appiconset/Icon-App-40x40@1x.png  | Bin 0 -> 1283 bytes
 .../AppIcon.appiconset/Icon-App-40x40@2x.png  | Bin 0 -> 1895 bytes
 .../AppIcon.appiconset/Icon-App-40x40@3x.png  | Bin 0 -> 2665 bytes
 .../AppIcon.appiconset/Icon-App-60x60@2x.png  | Bin 0 -> 2665 bytes
 .../AppIcon.appiconset/Icon-App-60x60@3x.png  | Bin 0 -> 3831 bytes
 .../AppIcon.appiconset/Icon-App-76x76@1x.png  | Bin 0 -> 1888 bytes
 .../AppIcon.appiconset/Icon-App-76x76@2x.png  | Bin 0 -> 3294 bytes
 .../Icon-App-83.5x83.5@2x.png                 | Bin 0 -> 3612 bytes
 .../LaunchImage.imageset/Contents.json        |  23 +
 .../LaunchImage.imageset/LaunchImage.png      | Bin 0 -> 68 bytes
 .../LaunchImage.imageset/LaunchImage@2x.png   | Bin 0 -> 68 bytes
 .../LaunchImage.imageset/LaunchImage@3x.png   | Bin 0 -> 68 bytes
 .../LaunchImage.imageset/README.md            |   5 +
 ios/Runner/Base.lproj/LaunchScreen.storyboard |  37 ++
 ios/Runner/Base.lproj/Main.storyboard         |  26 +
 ios/Runner/Info.plist                         |  45 ++
 ios/Runner/main.m                             |   9 +
 lib/main.dart                                 |  34 ++
 lib/provider/data.dart                        |   5 +
 lib/screens/home.dart                         |  32 ++
 pubspec.lock                                  | 161 ++++++
 pubspec.yaml                                  |  21 +
 test/widget_test.dart                         |  14 +
 81 files changed, 1858 insertions(+), 2 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 .gitlab-ci.yml
 create mode 100644 .metadata
 create mode 100644 android/.gitignore
 create mode 100644 android/app/build.gradle
 create mode 100644 android/app/src/debug/AndroidManifest.xml
 create mode 100644 android/app/src/main/AndroidManifest.xml
 create mode 100644 android/app/src/main/java/org/benoitharrault/plotter/MainActivity.java
 create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml
 create mode 100644 android/app/src/main/res/drawable/launch_background.xml
 create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/values-night/styles.xml
 create mode 100644 android/app/src/main/res/values/styles.xml
 create mode 100644 android/app/src/profile/AndroidManifest.xml
 create mode 100644 android/build.gradle
 create mode 100644 android/gradle.properties
 create mode 100644 android/gradle/wrapper/gradle-wrapper.properties
 create mode 100644 android/settings.gradle
 create mode 100644 assets/icons/application.png
 create mode 100644 fastlane/metadata/android/en-US/changelogs/1.txt
 create mode 100644 fastlane/metadata/android/en-US/full_description.txt
 create mode 100644 fastlane/metadata/android/en-US/images/icon.png
 create mode 100644 fastlane/metadata/android/en-US/short_description.txt
 create mode 100644 fastlane/metadata/android/en-US/title.txt
 create mode 100644 fastlane/metadata/android/fr-FR/changelogs/1.txt
 create mode 100644 fastlane/metadata/android/fr-FR/full_description.txt
 create mode 100644 fastlane/metadata/android/fr-FR/short_description.txt
 create mode 100644 fastlane/metadata/android/fr-FR/title.txt
 create mode 100755 icons/build_application_icons.sh
 create mode 100755 icons/build_repository_icons.sh
 create mode 100644 icons/icon.svg
 create mode 100644 ios/.gitignore
 create mode 100644 ios/Flutter/AppFrameworkInfo.plist
 create mode 100644 ios/Flutter/Debug.xcconfig
 create mode 100644 ios/Flutter/Release.xcconfig
 create mode 100644 ios/Runner.xcodeproj/project.pbxproj
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
 create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
 create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata
 create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
 create mode 100644 ios/Runner/AppDelegate.h
 create mode 100644 ios/Runner/AppDelegate.m
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
 create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard
 create mode 100644 ios/Runner/Base.lproj/Main.storyboard
 create mode 100644 ios/Runner/Info.plist
 create mode 100644 ios/Runner/main.m
 create mode 100644 lib/main.dart
 create mode 100644 lib/provider/data.dart
 create mode 100644 lib/screens/home.dart
 create mode 100644 pubspec.lock
 create mode 100644 pubspec.yaml
 create mode 100644 test/widget_test.dart

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0fa6b67
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
+
+# The .vscode folder contains launch configuration and tasks you configure in
+# VS Code which you may wish to be included in version control, so this line
+# is commented out by default.
+#.vscode/
+
+# Flutter/Dart/Pub related
+**/doc/api/
+**/ios/Flutter/.last_build_id
+.dart_tool/
+.flutter-plugins
+.flutter-plugins-dependencies
+.packages
+.pub-cache/
+.pub/
+/build/
+
+# Web related
+lib/generated_plugin_registrant.dart
+
+# Symbolication related
+app.*.symbols
+
+# Obfuscation related
+app.*.map.json
+
+# Android Studio will place build artifacts here
+/android/app/debug
+/android/app/profile
+/android/app/release
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..9d0e11e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,124 @@
+image: cirrusci/flutter:latest
+
+stages:
+  - update
+  - build-debug
+  - build-release
+  - release
+  - deploy
+
+update:
+  stage: update
+  except:
+    - tags
+  script:
+    - flutter packages get
+    - flutter packages upgrade
+  interruptible: true
+
+android:build-debug:
+  stage: build-debug
+  except:
+    - tags
+  script:
+    # Flutter local configuration
+    - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
+    - echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties
+    - echo flutter.buildMode=debug >> android/local.properties
+    # Android signing
+    - echo "$ANDROID_DEBUG_KEYSTORE_FILE" | base64 -d > android/app/my.keystore
+    - echo storeFile=my.keystore > android/key.properties
+    - echo storePassword=$ANDROID_DEBUG_KEYSTORE_PASSWORD >> android/key.properties
+    - echo keyAlias=$ANDROID_DEBUG_KEY_ALIAS >> android/key.properties
+    - echo keyPassword=$ANDROID_DEBUG_KEY_PASSWORD >> android/key.properties
+    # build flutter app
+    - flutter packages get
+    - flutter clean
+    - flutter build apk --debug
+    # prepare artifact
+    - find . -name "*.apk" # where is my apk?
+  artifacts:
+    paths:
+      - build/app/outputs/apk/debug
+    expire_in: 1 week
+  interruptible: true
+
+android:build-release:
+  stage: build-release
+  only:
+    - master
+  except:
+    - tags
+  dependencies:
+    - android:build-debug
+  script:
+    # Flutter local configuration
+    - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
+    - echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties
+    - echo flutter.buildMode=release >> android/local.properties
+    # Android signing
+    - echo "$ANDROID_KEYSTORE_FILE" | base64 -d > android/app/my.keystore
+    - echo storeFile=my.keystore > android/key.properties
+    - echo storePassword=$ANDROID_KEYSTORE_PASSWORD >> android/key.properties
+    - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
+    - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
+    # build flutter app
+    - VERSION_FILE="$(find . -name 'gradle.properties' | head -n1)"
+    - VERSION_NAME="$(grep '^app.versionName=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - VERSION_CODE="$(grep '^app.versionCode=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - TAG_NAME="Release_${VERSION_NAME}_${VERSION_CODE}"
+    - echo "${TAG_NAME}"
+    - >
+      if [ $(git tag -l "${TAG_NAME}") ]; then
+        echo "Tag ${TAG_NAME} already exists. Skipping build release."
+      else
+        flutter packages get
+        flutter clean
+        flutter build apk --release
+      fi
+    # prepare artifact
+    - find . -name "*.apk" # where is my apk?
+  artifacts:
+    paths:
+      - build/app/outputs/apk/release
+    expire_in: 1 week
+  interruptible: true
+
+application:release:
+  stage: release
+  image:
+    name: alpine/git
+    entrypoint: [""]
+  only:
+    - master
+  except:
+    - tags
+  dependencies:
+    - android:build-release
+  script:
+    - apk --no-cache add curl
+    - git config user.email "${GITLAB_USER_EMAIL}"
+    - git config user.name "${GITLAB_USER_NAME}"
+    - git remote set-url origin https://oauth2:${GITLAB_ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}
+    - VERSION_FILE="$(find . -name 'gradle.properties' | head -n1)"
+    - VERSION_NAME="$(grep '^app.versionName=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - VERSION_CODE="$(grep '^app.versionCode=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - TAG_NAME="Release_${VERSION_NAME}_${VERSION_CODE}"
+    - echo "${TAG_NAME}"
+    - >
+      if [ $(git tag -l "${TAG_NAME}") ]; then
+        echo "Tag ${TAG_NAME} already exists. Skipping release and tag creation."
+      else
+        git tag -a "${TAG_NAME}" -m "Release ${VERSION_NAME} (${VERSION_CODE})"
+        git push origin "${TAG_NAME}"
+        curl --silent -d "{\"token\": \"${JABBER_NOTIFICATION_TOKEN}\", \"message\": \"New tag for ${CI_PROJECT_PATH}: ${TAG_NAME}\"}" -H "Content-Type: application/json" -X POST ${JABBER_NOTIFICATION_URL}
+      fi
+
+android:deploy:
+  stage: deploy
+  only:
+    - tags
+  dependencies:
+    - application:release
+  script:
+    - curl "${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}"
diff --git a/.metadata b/.metadata
new file mode 100644
index 0000000..b2896b2
--- /dev/null
+++ b/.metadata
@@ -0,0 +1,10 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+  revision: 5bedb7b1d5698ce2c1c67aaf9afae7b3948b172a
+  channel: beta
+
+project_type: app
diff --git a/README.md b/README.md
index 8f39903..fece612 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1 @@
-# org.benoitharrault.plotter
-
+# Plotter application
diff --git a/android/.gitignore b/android/.gitignore
new file mode 100644
index 0000000..0a741cb
--- /dev/null
+++ b/android/.gitignore
@@ -0,0 +1,11 @@
+gradle-wrapper.jar
+/.gradle
+/captures/
+/gradlew
+/gradlew.bat
+/local.properties
+GeneratedPluginRegistrant.java
+
+# Remember to never publicly share your keystore.
+# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+key.properties
diff --git a/android/app/build.gradle b/android/app/build.gradle
new file mode 100644
index 0000000..4b0ecf5
--- /dev/null
+++ b/android/app/build.gradle
@@ -0,0 +1,70 @@
+def localProperties = new Properties()
+def localPropertiesFile = rootProject.file('local.properties')
+if (localPropertiesFile.exists()) {
+    localPropertiesFile.withReader('UTF-8') { reader ->
+        localProperties.load(reader)
+    }
+}
+
+def gradleProperties = new Properties()
+def gradlePropertiesFile = rootProject.file('gradle.properties')
+if (gradlePropertiesFile.exists()) {
+    gradlePropertiesFile.withReader('UTF-8') { reader ->
+        gradleProperties.load(reader)
+    }
+}
+
+def flutterRoot = localProperties.getProperty('flutter.sdk')
+if (flutterRoot == null) {
+    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
+}
+
+def appVersionCode = gradleProperties.getProperty('app.versionCode')
+if (appVersionCode == null) {
+    appVersionCode = '1'
+}
+
+def appVersionName = gradleProperties.getProperty('app.versionName')
+if (appVersionName == null) {
+    appVersionName = '1.0'
+}
+
+apply plugin: 'com.android.application'
+apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
+
+def keystoreProperties = new Properties()
+def keystorePropertiesFile = rootProject.file('key.properties')
+if (keystorePropertiesFile.exists()) {
+    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
+}
+
+android {
+    compileSdkVersion 30
+
+    defaultConfig {
+        applicationId "org.benoitharrault.plotter"
+        minSdkVersion 16
+        targetSdkVersion 30
+        versionCode appVersionCode.toInteger()
+        versionName appVersionName
+        archivesBaseName = "$applicationId" + "_" + "$versionCode"
+    }
+
+    signingConfigs {
+        release {
+            keyAlias keystoreProperties['keyAlias']
+            keyPassword keystoreProperties['keyPassword']
+            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
+            storePassword keystoreProperties['storePassword']
+        }
+    }
+    buildTypes {
+        release {
+            signingConfig signingConfigs.release
+        }
+    }
+}
+
+flutter {
+    source '../..'
+}
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000..55f3ee3
--- /dev/null
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.benoitharrault.plotter">
+    <!-- Flutter needs it to communicate with the running application
+         to allow setting breakpoints, to provide hot reload, etc.
+    -->
+    <uses-permission android:name="android.permission.INTERNET"/>
+</manifest>
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..eeaf6a1
--- /dev/null
+++ b/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,41 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.benoitharrault.plotter">
+   <application
+        android:label="plotter"
+        android:icon="@mipmap/ic_launcher">
+        <activity
+            android:name=".MainActivity"
+            android:launchMode="singleTop"
+            android:theme="@style/LaunchTheme"
+            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
+            android:hardwareAccelerated="true"
+            android:windowSoftInputMode="adjustResize">
+            <!-- Specifies an Android theme to apply to this Activity as soon as
+                 the Android process has started. This theme is visible to the user
+                 while the Flutter UI initializes. After that, this theme continues
+                 to determine the Window background behind the Flutter UI. -->
+            <meta-data
+              android:name="io.flutter.embedding.android.NormalTheme"
+              android:resource="@style/NormalTheme"
+              />
+            <!-- Displays an Android View that continues showing the launch screen
+                 Drawable until Flutter paints its first frame, then this splash
+                 screen fades out. A splash screen is useful to avoid any visual
+                 gap between the end of Android's launch screen and the painting of
+                 Flutter's first frame. -->
+            <meta-data
+              android:name="io.flutter.embedding.android.SplashScreenDrawable"
+              android:resource="@drawable/launch_background"
+              />
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+        </activity>
+        <!-- Don't delete the meta-data below.
+             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
+        <meta-data
+            android:name="flutterEmbedding"
+            android:value="2" />
+    </application>
+</manifest>
diff --git a/android/app/src/main/java/org/benoitharrault/plotter/MainActivity.java b/android/app/src/main/java/org/benoitharrault/plotter/MainActivity.java
new file mode 100644
index 0000000..9a7aa31
--- /dev/null
+++ b/android/app/src/main/java/org/benoitharrault/plotter/MainActivity.java
@@ -0,0 +1,6 @@
+package org.benoitharrault.plotter;
+
+import io.flutter.embedding.android.FlutterActivity;
+
+public class MainActivity extends FlutterActivity {
+}
diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml
new file mode 100644
index 0000000..f74085f
--- /dev/null
+++ b/android/app/src/main/res/drawable-v21/launch_background.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Modify this file to customize your launch splash screen -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="?android:colorBackground" />
+
+    <!-- You can insert your own image assets here -->
+    <!-- <item>
+        <bitmap
+            android:gravity="center"
+            android:src="@mipmap/launch_image" />
+    </item> -->
+</layer-list>
diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml
new file mode 100644
index 0000000..304732f
--- /dev/null
+++ b/android/app/src/main/res/drawable/launch_background.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Modify this file to customize your launch splash screen -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@android:color/white" />
+
+    <!-- You can insert your own image assets here -->
+    <!-- <item>
+        <bitmap
+            android:gravity="center"
+            android:src="@mipmap/launch_image" />
+    </item> -->
+</layer-list>
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..226c97602255b41275fc87cf8bdcbf9fb904b2d5
GIT binary patch
literal 2626
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
MPgg&ebxsLQ0LbwHbpQYW

literal 0
HcmV?d00001

diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..04b256bbfd67d480c76702b01964e398b4a680fa
GIT binary patch
literal 1536
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
WANf8n$vq!b9(%g_xvX<aXaWG1-2vbL

literal 0
HcmV?d00001

diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..4bd8d46ce51a051eb7d9288c1811a957aff1d77b
GIT binary patch
literal 3502
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

literal 0
HcmV?d00001

diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6b4331382d93d62bdb3ba9494e0341d85e23e59
GIT binary patch
literal 5721
zcmeAS@N?(olHy`uVBq!ia0y~yV3+{H9Bd2>4A0#j?O<SF;4JWnEM{Qv`~t#^yYk+D
zXJBBEEOCt}3C>R|DNig)WhgH%*UQYyE>2D?NY%?PN}v7CMv8$!^qHrNV@SoVw{t5)
zri4#BaCD}eapbbgGvE0gUy>W5w6T*VSjq9M<)5q1fBer_X1x6JGIit2n-dn5sb@|-
zs@l2R?Wk#B!ExP3Lf>trzOxE{uRY9q)Ahj9+3&yat4a+F2ym!%4XwOy`F%l1;GXw;
z<-gx8e_#83YlfolER)PjOFSp5!5Ghiy9GYZ=8#chip+hmWsT-brEQ+Mk7cbCuCgo-
zU%%gZ(xgfM;#4*)I)0Da!;!CF+JvwDvAUt5;r|8~SJ$nZmMrhMe^e^k_F7N1>5Qx<
zktqy2A6z`(qNZy5)hp?dz0z9QzU61xtF6q;zDWxH=X!kV$E%HLcT5B11XyJqu0FUZ
z)y|&rwnbG<?d8oE@9xg;_VW0#yo~R-zv~;pW8#T>B+HM@ue>0oDWSM3^z(&GIfjgi
z4SsX0{^+O~er&zItL*P{KEC7UC$2b`|KI6|{i5SjKBmr*%s)2wW4fG)%fS_$N|Pq5
zZ<DepJlC+LXU*T2!OulzBz3UNU*daG%je{YJLVS3#SZiBUiz~(2g-gtIsNkOC240)
zE^XGFY~1UwUX%K#^bXHNg(?2~|3sY?ES_qm`a0wP!_9SfW1|0XtgQ@Me#X+Q;E~Sb
z{q6OcUpyssg_sV-7^XW+nKS3ksqXa}hrX??I<@4?{+gt$Ip2eipE%Mo!yx@k?5QVf
z{!R0Jay4EgarXS@`NHY4KZ0i+5MFiY4(}X`>U`h&Kwf3*L-p3Wcb=ZR8+L!9WUG<j
zLfw<fYWEAji)YUG^RlAn!?Wi<6JG4ln%Qz;8h=~Q>Ym=eca3i`cDmobZ?`z=;lt^B
z=UYWFa8*WUlq@ZCcvMqz<3Yumhbk;`bAr>@Sr!CLKe%{xfy1Mko}TXNd+f)PA8+y3
zU;eGLXN%1l0d0m>b_ZG6{QXzHeQgnE<m5LiUhSmtEav*6Rw>4Ssw(gDx5Bb_|L!z<
zrZ3cRh<QO-pIolho{2w-d}{uzZ_qH(ds#Wn_}Q(ct!rWyv*{;a&5`HPSzFt&lfxl#
zQ_Iog+p}-)yq({`;d`X$m`pOi;d3zuFK$ylh3lV|UOT!ZJyM(V!C%AFE44FQ3@$hn
za;|5ZnCY|q<%@znEn<f@T-zp4e1G-C(-Ec(I#Z{8(RrQn`$pb=5s))p=-pj>d;d&{
zuTgiRCuS%<6BBmT<gRCYlK20}5tV%x%oHEGGHTc`RDC_W-D+F);_UVpH`e7YP7;nw
zl)TJf_}rIm#Vp3$yw4HJhC5gmd|=R6ReUIa@$Qn&G|6mv`Twu4&n*)uUdx-w=yAl_
z;p0a`on+ZZ)fx>mqHi-?vNmAUn8WaD9Ya@9Nwz*irwP{rzP=;ZSrh~rPw@RbzficR
z=grh(&-S+WzGW}&wOnl`RqLJ>QhmN*<K^C5_C6{0I-A^X8N14BJIb{0->7^s!!YUE
zq6eObgd1K>lk~nWQQqa%b83~A^LBQAIVo4w)MIUT*<*z(UmTHC4tV=+FPHNBZ?ejz
zUdtFn&U`o%z4@kw_WtE+Yro{}EZn`}#*WJ67c_Kqjpb~Odb&<&vGTqDoAZq6@vF19
zkM&x!ZaeYzkdpAD-)^2aW5efnovq`UX%^1F<@WRR4N13&mX0QB`9FFp*IobBJ1=d{
zzLKjecKtt~VZQa?m!+$jZ*AxNJYBj~HSB)gOo#u~zakhlZloMPn4Hzr&>_rWHStgL
zm%=c$c|T3{_dD!mzpZlNue4?L#K5F1*DVjO99_+_AYt<BWxbBpb?+txzxD~8#j)Vn
z+1O_>kIZIz-&78ko-(WL+m8d^KTf-Py!p64x5GiT8&)P|VSnmxO}cvQa6A8M-y1h9
zy{EDzSTb&K`2O+6Ozu_o&(}ZWbU3J{<Gsar`udgs|G$4exySo@zSMTEu9&vhn|!UO
zvS}HZPKdj8!DY|(g`d*<o2R~Ce(nBo<>lvA+QpgtR%KwFx#oVY!@<Cqs_P!JXN5lg
z`u}&*rd#)-g)0u<`lSE+nudm+;X4zjA3J5)i|2mx-S+c;Q1aJ4Tc&^&OjB%>oNt<$
zOw*Xt{@*ZVkI|C-KdKfQEnr-;WzQXnsWaEsrG4$&>sIO7dMnR7B!bI7e$Ohq_SDI3
zy~+%&5)PlQ=a`ADy}jz6ZQ()lQ}3NtuUHe}pm>YF*_q$>>Ap8SbM4NvWED22K3S7<
zE@I{Rn{^7;nO<yT5D8*<$ivb%X;abT#~+Qaes4QJXZ@aiHU8!`_B!!1Ev0i_wljz<
zVvw~g4fEyr#{N<N`}Ir9&KRbxkI2tjq3acW<K-UV1}A|9|E0_v8=Y_ef4nm7Z8w8R
z6T?}ft=>~J&j@`!)c5h5-J(Y~91o|R$u4Us@}D36es|I1Z46iL6j{EXHj785<K8{z
zuO>`0Tpp)CU$ebX)AqTr!>yYq_14|IWX-bRcw_Lkr<T#>)wS|J9b6t>bjbPq_QmN3
zCpY&d6+i#};2?AI<$2Df`^tYldml1?^}GAwyWJUA%uKnfcRJIf@4WlsWff~rOpOm&
z^Y4*=+>WI1rQA>7E_*62roDU3zWE1(^CbVNp4zF&z`D<-bC%An$n+bF%p~W|T>HoF
zsp!;WEtRKpHXXhex&N?8QvSX_Jnz`{Jmr_SGvYI8|M-6iv&#*J`{(zb(o#+i?7RN`
zZ^1RLm`DGA2G9Dx{e#Fll_d`)WmLbXzu!3dl-{K##q*z*nu?tBDVltPfoHy9JVRDr
zhgm{~e?e^YpWNU5w=VVHb*~GFVu|i4+Et@peb;R1#H?(IPdepSG?(1p&fOLBu)pEj
z+?q*@MeNDnCq9n5KYeRavr$N-*1u<SV(L#V@SOIr=Dx`s^LLgJ$<tlsJ(piSG$}eW
z%SY%`kkOhwFFqDemt49`O?BC{y>+u0L^u>3xFnA34l>@fC;wyqolRHo7k#|NJN@CC
zc{7&vmgOja{~r8B+PBr#EURqW>)#UJrFJx2y<0blQHgWjwD9)*uK6F|&o(=D=j!Y~
z_t@u5TUzcby=Kv=8T(3nw_cax5@0Kxc-g<TSB2rGhEG!wmt9SU&dm*r`*i=+h2L5w
zTYq(q@#R~`FI!yy#y@j{!$YCZ|G#vuf5)JhKKJ&o)#jgB6|7Sq&vVvWzQFuHXY`-j
z=XC#Fy!`y_#|G=^?md;~uN$m-ogH7ld0Sg?;O|xzh1)gu`z%@Q|7R^U^11n}Sn5jO
zz9&zkJ3r3;e(j6ZbZb+A36qmnKTWG^+;o>C@kNT6Zt$jXt=^;OD{hB!IrvU7jO?y0
z;(C;S@%f>elYx16PIlF-SJy5%wZ>eU<MI64#dqS9Ew8n0iLI@B#Q5vs8`tX!lNIJ~
z%vk#I>Zh&G;@@k1tuJa6n8ujXyY>Ft&1?0gf`U?{`2u!!&E2{Gn4!w8-Y7eNhEMIs
zzi;kb7n43sZO`^!JNV*H7P76`bDK4*GhxxM{+Vgf^=i6j4Bv%@t=hLC#VmyRq4TBt
z%jdhE6J8ztU0$%^&4e>^zGiv*1v7>eD=~DPe58HOY2W(Wt=Z-|Z~15T-s<jgd^>Mi
zpuEFTIflfJ*Xf7;Dlptsm@K|7;C8uM?%BS*r#7F-<c@o+eSF6LyF2~&^7+WfZQ1QV
zS?p=V#~oc-$q#R>?Pbb1wCAZ;^(3}K8*@Io+}_jkQ)ub;r?vkk35)AR=dl+5yy6%X
z&%jji#&mArgKVh|h9}RB6MS4YKe@a^tInrX*5JzVC8Z_%>>8e}yR|~5C&SQWqRV6E
zY3zIb-iA$io9xFHf0OrY%)V_i6=sF$%HIxexU}q?;iqmdrrjmBFZ*1!ou8w$G%@7!
z_3HnPTcscWo-&oYLw+fr<_dm=*_)VI7F4CYE&m;Qi`g@RCFmpL#17X*Hph$&)wW&J
z-d=nE48v3|hl6YaQw_GrceLolh90(ce{t(<O*qFw%k|3NSr_=TE;t~5Hsz#Nk#x<u
z1Dm;}-kUg_<UQnh+;U^jn>h+>D|}>4g&LT4)x0e}y8TO8Y_^Kp8DsJEtKV#yCNO-7
z*mrZ&X<f^EpMGsh2@MHddARkK^%~wAyNX(y5;=dnFl>7NkfWz4>EPWyMcrl(8>7m^
zzSA2${5ICfA2XR)RhAa={6kM!wcm=^MW&0*8@gB&su`6u=ia#ReP_S$vy;DehX%Yb
znq>RArfueK!&oPA`H9szT+y9(CI3x#I5Mk-(PR2T!G@e2^Bnveo==p$<WRa-z9)6k
zt&hJ0o;rz7dGtCxUUx+u*Oy6C^|}iGKK=8Qk(DFEFLuwObDg$qD|{F>y*_C1?$Ac@
zw;C~9_wMpff7B$J)pSSseVEsA<<#n)?;a+Honzj#bcbD+tg>cMVhx|qBiO*iaAC^P
z)l<@EN(ffk@sxQTdn0A1IHz^`r@U2Hg8n#Z`zZgew`p4Oqb<*(yG!`(vO*`52@Efv
zRP*ueVm`8;RUw*7?alUglMS}A?H1iT#q^8*w51a!^HnTA>FmZ7Iya6X%dMd#OZ~K9
z+org>86xrP*%Yp~N!cD~7JGcgYHCF3Etk#AAxaE4*#hQ$Ud5ER>mq0P(Q~JRZ_L}A
zQ`mISIHZxk<4Vw~`pmOOCnirb-}XEH+<!O8i#~eZ3B}n98dBx#G8tZ`=s1bIYcqW*
z^~5TAY4z$WDjV;HA5ZnUQK0b3Xy3KGH8G-g7j|1TP0ujy`+Xzw*||>>reEb25Wmam
zP$$;q^75d1?$y7hP0P8j=LIh8xwQM~*6@7+&sUu~llwcg_`B)$W9OM=cblGfuKnj{
z`7xDKxFM%vh5o*6d(KWR{gGV~Sm0MAXIJU>v%+uA{+u^PThE?(dS9ycwMOFd)oD35
z%T*E>9tMVYey`lVirK`C;nQ#Dv(bA`mRcR;Q~unvc^2FBbF54XS*nxPdI-s|Zgfl6
z3p<??tNN2=ff`5DlaDXY7;dZGcenj}olSM1>aE?@Je&-#c@IsUy?wU$yaHB_?2ccj
zo|uI_voe)wxE0CE^LEktyEf%dcm0w(UbkaA^W%N%s;)5w2sf|T5;I#XD??ga;PwmA
z=yJ{IKAYS;50<DcLZ>4GuH4`=Z@8f<YLUxcRR2a|3%`5RZX2%RzLQZ&zfXqBx+w}b
z+>KwjsdgEcLm9&nLvfjgGXHhoj9HZ)^7JmR4L<Vi)$R^IhODLuo12&KIPt97XRD(0
zitb304J^f91K+g0d&Qz4-|}J?-<(^!oUO_)KArxtvQpN_FZ6<g_oMxpCw$Ml&;6cm
zlJ?x(EPG`U=bCNG`>pRV?5a|}zx35z@5fmW>w@ExBUENy{U*s_dF7Wt(%sYjqT!GC
zNKRf+Jag@B{?k(q_A?7VPmTR+Rrzq!=2`!~vh|<*?%sbp+}!XE!>;ha$aG)FGXH%c
z#o?V_{gU^r`*z`uP~~bHe>VnE<2%kOPoiGG%6NA&XGtf6sA|-gwHMwMy*MH{Rbu<+
zfW!Uzud^5CXod>sF=XCmk-yNCzx~RD!s6Qf&zoMwZ>?o>V${mtx_G1cxwxI{%6z7(
zNi3<WDgVKqd}~su)?Bl@EG^YRI~fc8-*GOz=ym5&(UBJ(vW4uOOUyR0|GU%C+*c#U
zdwdB)NdJr9_uhVDtekezx?FYrvFvG^*L#Vce4>?q{_^^*p1-bGY9)A8PG>)7{L6xS
zV=YIr$<p-<U7I#9E!)EIq`sj<euc%g8Mj=Y<cnK41})^d9HunmRb_v+^Bt*I9g}3m
zH*z@qWA_lR&g$y#SlXqqs#I{^)GNo%O{%t*+N5e<_is{mc-CpxgG>|Z885jnHJtEw
zqW+eY$9-9B=6peK_IPrKU*QzmkWjv{=h4BqJ$1W(G&;F5PjvG>?2vcry#mwuF!>4(
z*@NsX4!3F>a+{|qJ)f<Wy@PSbygAD5DrX)BxE9adRp2Vqxsc_8-e>*z_{A4)wCI1D
z@x_!oMC<ViL4krdvs8ncm&6K(ZM|u<wfXX`t}VBlkDtF0y)lmAlf8q(;>!jrJ{cB$
zd&Jf%bHd?@=1z$N^Q-4fcv@km?tNoka!#_s>uS@8O$_3_sn@^qFikkipm@XH>baCW
z|M6w%I?=(|7mJFzc5G^J?wxa6zud~XF{8%T)%YX-L~)bKz`j*G_)UVAUgc+4cx|KW
z8=+d!$>t4ftSzUlxO=|#d1lz^4WToC-CJwjdTLpsrBm{hJGC(nWO|tj&elD9?a9({
zX0OAxU+Wr^toM~X_6y!DvQux}XR)M<-u?<*v$-AOTB<Ck>{b=X+MZ)S;r4=RlMfon
zyC=Lj*2(uM>dCj1b$1r<8Jiso)L>}6)zHb|pu{wxgF%I%RoLNT>@Ih976rR0{NfFV
zI2M>c@@?4VQr^*@&+f2ZU1iUU@P;1`vlx!5?7ML7k1A8Z42CO~54S&Cb&0XzjOeqe
z+t$x!IC_IMpyc~=tI}5=jq5rYMC2Iu{(2TId;6&B9x2(|TXREl4r#wl-u-t|ujO$=
zL(lVWYO1zR3oPm`r8N8yu<PMxRe<Qq{JlK+dEWlccX#%dhCJV1FDN<v%bxoTSr6F)
za&q1nzm@5mUshmImshsHOHJ_$W7hw)B#~S0(ihI?7N3c6cm0}k^v?DSCI`Vk25nnD
zAD)+{-ZoK{p|z9E=%Ha_X7jhi)Pw&L`=X7n2L`U4@mow+#6hr^S;KbkEkB=?+ji`D
z&bq+BaFOp}$%+lxg%=mp&PdL6h-O&2J;%l&uWZ6Kr-&C!0Tm1)nR?MTY!5UiB`i+K
zoWD#r-t>*a+SWO3S1;Gg*myB;6&gO@AXIRpbYW#f`_8RqK7MZ}-?Mld?95&1^rgK~
znPq{%^zUqaD~{Y_l<7&Ew)TXFdBv*i`EHC)L>JZnu85fE<CJlFcfD-Xfuf}c45u==
z8K0hJ|FDpKg_O(QU%Yl7?k$*TB)D)@EnBZaRlP}t{5C!=$L7bZ^VAqagq4D;_$7=M
ze0SGeCMDA0#6NH1f#f~b2`AdGnw(26_`~JDR^jU#%Z;J$>oj-nwUbF%btthdWAO!s
z<1yQKp1qk{x6*ym<jK*M4$0CMTbr(|zQ164HNVH%w^z#-H2(3v@AxcyVuDC^9^0z=
z{l*G!KUDv1+y91DD*E6`M!{Jx_~rTE|Ni~&W%d1+^P|43|9hEd;sfDl&%Xb?{B7Uw
zj~DjU{`yjR>Sb)6WJX3-<he`H+X`;q%l0=tx3aHqd%V)IPoS|8mNy;0CRsT!^y^p%
z{^xjna);5r9^=PncNqVBcQEj6Y~Dqd_nTw|b~3Gt_@c$}yl1*#bfBS_Tw6wd&h>3t
z?~l}YK!)**&h>29-ZnMk=(a0+zI^E~zsaWi<%a!|$Eg)&AB$GCcl7_C>Lsdh|45C+
zlDUiBr3L?Y$ORvpUYNE=vi$wVwZ~Z9b6HmG5<6tMR8gtEgWYlJr+^gWRePcZ_k+d=
zjm|AeDJg1GpV4lW6n&O2ptoXX8^@#M<ofSCjp1@Fr8_2{D)Fvyd>Y#QBm7KZYK>&N
z==GqN$EQ8J_~FVUl^j7GhO1nHZl+&0|NCUXQ7A6wcjUZKE@QL7y|r^4FIqj|lxo=H
zbYzxyjqBl-58{eR{Vxnb?)om^YH&E%dxi2{)=6!i-2AFZ{X6=LzwQXDa@c$3UxUV@
zjngknCKpbQQ>qg`Z&+3=Vm5pE&3J`M22~-2P7c!oDW=ID4_puftn#=2Gk=M{T>8w|
SHJO2dfx*+&&t;ucLK6V;F7}}S

literal 0
HcmV?d00001

diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..76722141910214eaac836f25b17cba4bf4b89e39
GIT binary patch
literal 7943
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

literal 0
HcmV?d00001

diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml
new file mode 100644
index 0000000..449a9f9
--- /dev/null
+++ b/android/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
+    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
+        <!-- Show a splash screen on the activity. Automatically removed when
+             Flutter draws its first frame -->
+        <item name="android:windowBackground">@drawable/launch_background</item>
+    </style>
+    <!-- Theme applied to the Android Window as soon as the process has started.
+         This theme determines the color of the Android Window while your
+         Flutter UI initializes, as well as behind your Flutter UI while its
+         running.
+         
+         This Theme is only used starting with V2 of Flutter's Android embedding. -->
+    <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
+        <item name="android:windowBackground">?android:colorBackground</item>
+    </style>
+</resources>
diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..d74aa35
--- /dev/null
+++ b/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
+    <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
+        <!-- Show a splash screen on the activity. Automatically removed when
+             Flutter draws its first frame -->
+        <item name="android:windowBackground">@drawable/launch_background</item>
+    </style>
+    <!-- Theme applied to the Android Window as soon as the process has started.
+         This theme determines the color of the Android Window while your
+         Flutter UI initializes, as well as behind your Flutter UI while its
+         running.
+         
+         This Theme is only used starting with V2 of Flutter's Android embedding. -->
+    <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
+        <item name="android:windowBackground">?android:colorBackground</item>
+    </style>
+</resources>
diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml
new file mode 100644
index 0000000..55f3ee3
--- /dev/null
+++ b/android/app/src/profile/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.benoitharrault.plotter">
+    <!-- Flutter needs it to communicate with the running application
+         to allow setting breakpoints, to provide hot reload, etc.
+    -->
+    <uses-permission android:name="android.permission.INTERNET"/>
+</manifest>
diff --git a/android/build.gradle b/android/build.gradle
new file mode 100644
index 0000000..c9e3db0
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,29 @@
+buildscript {
+    repositories {
+        google()
+        jcenter()
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:4.1.0'
+    }
+}
+
+allprojects {
+    repositories {
+        google()
+        jcenter()
+    }
+}
+
+rootProject.buildDir = '../build'
+subprojects {
+    project.buildDir = "${rootProject.buildDir}/${project.name}"
+}
+subprojects {
+    project.evaluationDependsOn(':app')
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
diff --git a/android/gradle.properties b/android/gradle.properties
new file mode 100644
index 0000000..bc2d95e
--- /dev/null
+++ b/android/gradle.properties
@@ -0,0 +1,5 @@
+org.gradle.jvmargs=-Xmx1536M
+android.useAndroidX=true
+android.enableJetifier=true
+app.versionName=0.0.1
+app.versionCode=1
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..bc6a58a
--- /dev/null
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Fri Jun 23 08:50:38 CEST 2017
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/android/settings.gradle b/android/settings.gradle
new file mode 100644
index 0000000..44e62bc
--- /dev/null
+++ b/android/settings.gradle
@@ -0,0 +1,11 @@
+include ':app'
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/assets/icons/application.png b/assets/icons/application.png
new file mode 100644
index 0000000000000000000000000000000000000000..76722141910214eaac836f25b17cba4bf4b89e39
GIT binary patch
literal 7943
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

literal 0
HcmV?d00001

diff --git a/fastlane/metadata/android/en-US/changelogs/1.txt b/fastlane/metadata/android/en-US/changelogs/1.txt
new file mode 100644
index 0000000..777d1a0
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/1.txt
@@ -0,0 +1 @@
+Add initial empty app
diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt
new file mode 100644
index 0000000..9c64328
--- /dev/null
+++ b/fastlane/metadata/android/en-US/full_description.txt
@@ -0,0 +1 @@
+Stepper plotter helper application
diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ffbd56a352b113e8b4ea1f3f4e26fb612df2cb2
GIT binary patch
literal 23892
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

literal 0
HcmV?d00001

diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt
new file mode 100644
index 0000000..9c64328
--- /dev/null
+++ b/fastlane/metadata/android/en-US/short_description.txt
@@ -0,0 +1 @@
+Stepper plotter helper application
diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt
new file mode 100644
index 0000000..9c64328
--- /dev/null
+++ b/fastlane/metadata/android/en-US/title.txt
@@ -0,0 +1 @@
+Stepper plotter helper application
diff --git a/fastlane/metadata/android/fr-FR/changelogs/1.txt b/fastlane/metadata/android/fr-FR/changelogs/1.txt
new file mode 100644
index 0000000..9246663
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/1.txt
@@ -0,0 +1 @@
+Création de l'application minimale, vide.
diff --git a/fastlane/metadata/android/fr-FR/full_description.txt b/fastlane/metadata/android/fr-FR/full_description.txt
new file mode 100644
index 0000000..5a563b8
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/full_description.txt
@@ -0,0 +1 @@
+Application assistante du traceur pas à pas
diff --git a/fastlane/metadata/android/fr-FR/short_description.txt b/fastlane/metadata/android/fr-FR/short_description.txt
new file mode 100644
index 0000000..5a563b8
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/short_description.txt
@@ -0,0 +1 @@
+Application assistante du traceur pas à pas
diff --git a/fastlane/metadata/android/fr-FR/title.txt b/fastlane/metadata/android/fr-FR/title.txt
new file mode 100644
index 0000000..5a563b8
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/title.txt
@@ -0,0 +1 @@
+Application assistante du traceur pas à pas
diff --git a/icons/build_application_icons.sh b/icons/build_application_icons.sh
new file mode 100755
index 0000000..92aadae
--- /dev/null
+++ b/icons/build_application_icons.sh
@@ -0,0 +1,47 @@
+#! /bin/bash
+
+# Check dependencies
+command -v inkscape >/dev/null 2>&1 || { echo >&2 "I require inkscape but it's not installed. Aborting."; exit 1; }
+command -v scour >/dev/null 2>&1 || { echo >&2 "I require scour but it's not installed. Aborting."; exit 1; }
+command -v optipng >/dev/null 2>&1 || { echo >&2 "I require optipng but it's not installed. Aborting."; exit 1; }
+
+CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+BASE_DIR="$(dirname "${CURRENT_DIR}")"
+
+OPTIPNG_OPTIONS="-preserve -quiet -o7"
+
+# optimize svg
+function optimize_svg() {
+  SOURCE="$1"
+
+  cp ${SOURCE} ${SOURCE}.tmp
+  scour \
+      --remove-descriptive-elements \
+      --enable-id-stripping \
+      --enable-viewboxing \
+      --enable-comment-stripping \
+      --nindent=4 \
+      -i ${SOURCE}.tmp \
+      -o ${SOURCE}
+  rm ${SOURCE}.tmp
+}
+
+# build icons
+function build_asset_image() {
+  ICON_SIZE=192
+  SOURCE="$1"
+  TARGET="$2"
+
+  optimize_svg "${SOURCE}"
+
+  inkscape \
+      --export-width=${ICON_SIZE} \
+      --export-height=${ICON_SIZE} \
+      --export-filename=${TARGET} \
+      ${SOURCE}
+
+  optipng ${OPTIPNG_OPTIONS} ${TARGET}
+}
+
+# Icons
+build_asset_image ${CURRENT_DIR}/icon.svg ${BASE_DIR}/assets/icons/application.png
diff --git a/icons/build_repository_icons.sh b/icons/build_repository_icons.sh
new file mode 100755
index 0000000..569a16a
--- /dev/null
+++ b/icons/build_repository_icons.sh
@@ -0,0 +1,48 @@
+#! /bin/bash
+
+# Check dependencies
+command -v inkscape >/dev/null 2>&1 || { echo >&2 "I require inkscape but it's not installed. Aborting."; exit 1; }
+command -v scour >/dev/null 2>&1 || { echo >&2 "I require scour but it's not installed. Aborting."; exit 1; }
+command -v optipng >/dev/null 2>&1 || { echo >&2 "I require optipng but it's not installed. Aborting."; exit 1; }
+
+CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+BASE_DIR="$(dirname "${CURRENT_DIR}")"
+
+SOURCE="${CURRENT_DIR}/icon.svg"
+OPTIPNG_OPTIONS="-preserve -quiet -o7"
+
+# optimize svg
+cp ${SOURCE} ${SOURCE}.tmp
+scour \
+    --remove-descriptive-elements \
+    --enable-id-stripping \
+    --enable-viewboxing \
+    --enable-comment-stripping \
+    --nindent=4 \
+    -i ${SOURCE}.tmp \
+    -o ${SOURCE}
+rm ${SOURCE}.tmp
+
+# build icons
+function build_icon() {
+  ICON_SIZE="$1"
+  TARGET="$2"
+
+  TARGET_PNG="${TARGET}.png"
+
+  inkscape \
+      --export-width=${ICON_SIZE} \
+      --export-height=${ICON_SIZE} \
+      --export-filename=${TARGET_PNG} \
+      ${SOURCE}
+
+  optipng ${OPTIPNG_OPTIONS} ${TARGET_PNG}
+}
+
+
+build_icon  72 ${BASE_DIR}/android/app/src/main/res/mipmap-hdpi/ic_launcher
+build_icon  48 ${BASE_DIR}/android/app/src/main/res/mipmap-mdpi/ic_launcher
+build_icon  96 ${BASE_DIR}/android/app/src/main/res/mipmap-xhdpi/ic_launcher
+build_icon 144 ${BASE_DIR}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher
+build_icon 192 ${BASE_DIR}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher
+build_icon 512 ${BASE_DIR}/fastlane/metadata/android/en-US/images/icon
diff --git a/icons/icon.svg b/icons/icon.svg
new file mode 100644
index 0000000..e0a3729
--- /dev/null
+++ b/icons/icon.svg
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#263238" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#607d8b"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#263238" opacity=".2"/>
+    </g>
+    <g transform="matrix(.14457 0 0 .14457 7.1593 7.1448)" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003">
+        <circle cx="33.5" cy="7.8" r="1.6"/>
+        <circle cx="20.2" cy="53.9" r="1.6"/>
+        <path d="m2.2 84.6h-0.2c-0.6-0.1-1-0.7-0.9-1.3l3.9-25.7c0.1-0.5 0.5-0.9 1.1-1 0.5 0 1 0.3 1.2 0.8 1.6 5.9 7 10 13.1 10s11.5-4.1 13.1-10c0.1-0.5 0.6-0.8 1.2-0.8 0.5 0 1 0.4 1.1 1l3.9 25.7c0.1 0.6-0.3 1.2-0.9 1.3s-1.2-0.3-1.3-0.9l-3.3-21.7c-2.8 4.8-7.9 7.8-13.6 7.8s-10.8-3.1-13.6-7.8l-3.7 21.6c-0.1 0.6-0.6 1-1.1 1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m20.2 61.7c-4.3 0-7.8-3.5-7.8-7.8s3.5-7.8 7.8-7.8 7.8 3.5 7.8 7.8-3.5 7.8-7.8 7.8zm0-13.3c-3.1 0-5.5 2.5-5.5 5.5 0 3.1 2.5 5.5 5.5 5.5 3.1 0 5.5-2.5 5.5-5.5s-2.5-5.5-5.5-5.5z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m33.5 15.6c-4.3 0-7.8-3.5-7.8-7.8s3.5-7.8 7.8-7.8 7.8 3.5 7.8 7.8-3.5 7.8-7.8 7.8zm0-13.3c-3.1 0-5.5 2.5-5.5 5.5 0 3.1 2.5 5.5 5.5 5.5 3.1 0 5.5-2.5 5.5-5.5 0-3.1-2.4-5.5-5.5-5.5z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m64.7 12.6h-19.6c-0.6 0-1.1-0.5-1.1-1.1s0.5-1.1 1.1-1.1h19.6c0.6 0 1.1 0.5 1.1 1.1s-0.5 1.1-1.1 1.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m77 2.3h-33.3c-0.6 0-1.1-0.5-1.1-1.1-0.1-0.7 0.4-1.2 1.1-1.2h33.3c0.6 0 1.1 0.5 1.1 1.1 0 0.7-0.5 1.2-1.1 1.2z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m13.5 42.8c-0.3 0-0.5-0.1-0.7-0.3-0.4-0.3-0.5-0.8-0.3-1.2l10.1-26.8c0.2-0.6 0.9-0.9 1.5-0.7s0.9 0.9 0.7 1.5l-9.2 24.3c3.5-1.1 7.4-0.9 10.7 0.5l7.7-20.7c0.2-0.6 0.9-0.9 1.5-0.7s0.9 0.9 0.7 1.5l-8.3 21.8c-0.1 0.3-0.4 0.5-0.7 0.7-0.3 0.1-0.6 0.1-0.9-0.1-3.7-2-8.5-2-12.2 0-0.2 0.1-0.4 0.2-0.6 0.2z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m83.8 21.8c-0.6 0-1.1-0.5-1.1-1.1v-12.8c0-3.1-2.6-5.7-5.7-5.7-0.6 0-1.1-0.5-1.1-1.1s0.5-1.1 1.1-1.1c4.4 0 7.9 3.6 7.9 7.9v12.8c0 0.6-0.5 1.1-1.1 1.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m66.7 45.8c-0.4 0-0.7-0.2-1-0.5l-2.2-3.5c-2.4-3.7-2.4-8.3-0.1-12.1l5.6-9.3v-8.9c0-0.6 0.5-1.1 1.1-1.1s1.1 0.5 1.1 1.1v9.2c0 0.2-0.1 0.4-0.2 0.6l-5.8 9.6c-1.8 3-1.8 6.8 0.1 9.7l2.2 3.5c0.3 0.5 0.2 1.2-0.3 1.6 0 0.1-0.3 0.1-0.5 0.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m86.7 46.7c-0.2 0-0.4-0.1-0.6-0.2-0.5-0.3-0.7-1-0.3-1.6l2.8-4.4c1.9-3 1.9-6.7 0.1-9.7l-5.8-9.6c-0.3-0.5-0.2-1.2 0.4-1.5 0.5-0.3 1.2-0.2 1.5 0.4l5.8 9.6c2.3 3.8 2.2 8.4-0.1 12.1l-2.8 4.4c-0.2 0.3-0.6 0.5-1 0.5z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m82.9 35h-11.7v-5.8c0-0.8 0.3-1.5 0.9-2.1s1.3-0.9 2.1-0.9h5.8c1.6 0 2.9 1.3 2.9 2.9zm-9.5-2.2h7.2v-3.5c0-0.4-0.3-0.7-0.7-0.7h-5.8c-0.2 0-0.4 0.1-0.5 0.2s-0.2 0.3-0.2 0.5z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m77.1 80.6c-0.4 0-0.8-0.2-1-0.5l-4.8-7.9c-0.1-0.2-0.2-0.4-0.2-0.6l0.1-37.7c0-0.6 0.5-1.1 1.1-1.1h9.4c0.3 0 0.6 0.1 0.8 0.3s0.3 0.5 0.3 0.8l-0.1 37.7c0 0.2-0.1 0.4-0.2 0.6l-4.5 7.8c-0.2 0.4-0.5 0.6-0.9 0.6zm-3.7-9.3 3.7 6 3.5-6v-36.3h-7.2z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m77 71.2c-0.6 0-1.1-0.5-1.1-1.1v-9.9c0-0.6 0.5-1.1 1.1-1.1s1.1 0.5 1.1 1.1v9.9c0 0.6-0.5 1.1-1.1 1.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m38.2 100h-36c-0.7 0-1.2-0.5-1.2-1.1v-15.4c0-0.6 0.5-1.1 1.1-1.1h9.4c0.6 0 1.1 0.5 1.1 1.1s-0.5 1.1-1.1 1.1h-8.2v13.1h33.8v-14.2c0-0.6 0.5-1.1 1.1-1.1s1.1 0.5 1.1 1.1v15.4c0 0.6-0.5 1.1-1.1 1.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m38.2 84.6h-10.3c-0.6 0-1.1-0.5-1.1-1.1s0.5-1.1 1.1-1.1h10.3c0.6 0 1.1 0.5 1.1 1.1s-0.5 1.1-1.1 1.1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m59.9 100c-4.7 0-8.4-1.2-11.1-3.6-1.8-1.6-3.2-5-2.3-8.3 0.5-1.8 2.1-4.9 7.5-5.8 8.4-1.4 15.2 2.6 21.2 6.1 0.2 0.1 0.4 0.2 0.5 0.3 5.9 3.5 11.1 6.3 16.7 3.3 3.5-1.9 4.2-5.4 4.2-10.1 0-0.6 0.5-1.1 1.1-1.1s1.1 0.5 1.1 1.1c0 4.7-0.7 9.5-5.4 12.1-6.4 3.5-12 0.7-17.9-2.7-3.8 7.6-11.3 8.7-15.6 8.7zm-2.5-15.7c-1 0-2 0.1-3 0.2-3.1 0.5-5.1 1.9-5.7 4.2-0.7 2.3 0.3 4.9 1.6 6 2.4 2 5.5 3 9.7 3 4.6 0 10.5-1.3 13.8-7.5-5.1-2.9-10.3-5.9-16.4-5.9z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+        <path d="m76.8 84.6h-0.1c-0.6-0.1-1.1-0.6-1-1.3 0.1-1.2 0.2-2.5 0.2-3.9 0-0.6 0.5-1.1 1.1-1.1s1.1 0.5 1.1 1.1c0 1.4-0.1 2.8-0.2 4.2 0 0.6-0.5 1-1.1 1z" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="1.003"/>
+    </g>
+</svg>
diff --git a/ios/.gitignore b/ios/.gitignore
new file mode 100644
index 0000000..151026b
--- /dev/null
+++ b/ios/.gitignore
@@ -0,0 +1,33 @@
+*.mode1v3
+*.mode2v3
+*.moved-aside
+*.pbxuser
+*.perspectivev3
+**/*sync/
+.sconsign.dblite
+.tags*
+**/.vagrant/
+**/DerivedData/
+Icon?
+**/Pods/
+**/.symlinks/
+profile
+xcuserdata
+**/.generated/
+Flutter/App.framework
+Flutter/Flutter.framework
+Flutter/Flutter.podspec
+Flutter/Generated.xcconfig
+Flutter/ephemeral/
+Flutter/app.flx
+Flutter/app.zip
+Flutter/flutter_assets/
+Flutter/flutter_export_environment.sh
+ServiceDefinitions.json
+Runner/GeneratedPluginRegistrant.*
+
+# Exceptions to above rules.
+!default.mode1v3
+!default.mode2v3
+!default.pbxuser
+!default.perspectivev3
diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist
new file mode 100644
index 0000000..9367d48
--- /dev/null
+++ b/ios/Flutter/AppFrameworkInfo.plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleDevelopmentRegion</key>
+  <string>en</string>
+  <key>CFBundleExecutable</key>
+  <string>App</string>
+  <key>CFBundleIdentifier</key>
+  <string>io.flutter.flutter.app</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>App</string>
+  <key>CFBundlePackageType</key>
+  <string>FMWK</string>
+  <key>CFBundleShortVersionString</key>
+  <string>1.0</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>CFBundleVersion</key>
+  <string>1.0</string>
+  <key>MinimumOSVersion</key>
+  <string>8.0</string>
+</dict>
+</plist>
diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig
new file mode 100644
index 0000000..592ceee
--- /dev/null
+++ b/ios/Flutter/Debug.xcconfig
@@ -0,0 +1 @@
+#include "Generated.xcconfig"
diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig
new file mode 100644
index 0000000..592ceee
--- /dev/null
+++ b/ios/Flutter/Release.xcconfig
@@ -0,0 +1 @@
+#include "Generated.xcconfig"
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..0d97589
--- /dev/null
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -0,0 +1,472 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
+		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+		978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
+		97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
+		97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
+		97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
+		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		9705A1C41CF9048500538489 /* Embed Frameworks */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+			);
+			name = "Embed Frameworks";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
+		1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
+		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
+		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
+		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
+		9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
+		97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		97C146EB1CF9000F007C117D /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		9740EEB11CF90186004384FC /* Flutter */ = {
+			isa = PBXGroup;
+			children = (
+				3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
+				9740EEB21CF90195004384FC /* Debug.xcconfig */,
+				7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
+				9740EEB31CF90195004384FC /* Generated.xcconfig */,
+			);
+			name = Flutter;
+			sourceTree = "<group>";
+		};
+		97C146E51CF9000F007C117D = {
+			isa = PBXGroup;
+			children = (
+				9740EEB11CF90186004384FC /* Flutter */,
+				97C146F01CF9000F007C117D /* Runner */,
+				97C146EF1CF9000F007C117D /* Products */,
+				CF3B75C9A7D2FA2A4C99F110 /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		97C146EF1CF9000F007C117D /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				97C146EE1CF9000F007C117D /* Runner.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		97C146F01CF9000F007C117D /* Runner */ = {
+			isa = PBXGroup;
+			children = (
+				7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
+				7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
+				97C146FA1CF9000F007C117D /* Main.storyboard */,
+				97C146FD1CF9000F007C117D /* Assets.xcassets */,
+				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
+				97C147021CF9000F007C117D /* Info.plist */,
+				97C146F11CF9000F007C117D /* Supporting Files */,
+				1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
+				1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
+			);
+			path = Runner;
+			sourceTree = "<group>";
+		};
+		97C146F11CF9000F007C117D /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				97C146F21CF9000F007C117D /* main.m */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		97C146ED1CF9000F007C117D /* Runner */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
+			buildPhases = (
+				9740EEB61CF901F6004384FC /* Run Script */,
+				97C146EA1CF9000F007C117D /* Sources */,
+				97C146EB1CF9000F007C117D /* Frameworks */,
+				97C146EC1CF9000F007C117D /* Resources */,
+				9705A1C41CF9048500538489 /* Embed Frameworks */,
+				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = Runner;
+			productName = Runner;
+			productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		97C146E61CF9000F007C117D /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 1020;
+				ORGANIZATIONNAME = "";
+				TargetAttributes = {
+					97C146ED1CF9000F007C117D = {
+						CreatedOnToolsVersion = 7.3.1;
+					};
+				};
+			};
+			buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
+			compatibilityVersion = "Xcode 9.3";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 97C146E51CF9000F007C117D;
+			productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				97C146ED1CF9000F007C117D /* Runner */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		97C146EC1CF9000F007C117D /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
+				3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
+				97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
+				97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Thin Binary";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
+		};
+		9740EEB61CF901F6004384FC /* Run Script */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Run Script";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		97C146EA1CF9000F007C117D /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
+				97C146F31CF9000F007C117D /* main.m in Sources */,
+				1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		97C146FA1CF9000F007C117D /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				97C146FB1CF9000F007C117D /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+		97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				97C147001CF9000F007C117D /* Base */,
+			);
+			name = LaunchScreen.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		249021D3217E4FDB00AE95B9 /* Profile */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				SUPPORTED_PLATFORMS = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Profile;
+		};
+		249021D4217E4FDB00AE95B9 /* Profile */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = org.benoitharrault.plotter;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Profile;
+		};
+		97C147031CF9000F007C117D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MTL_ENABLE_DEBUG_INFO = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		97C147041CF9000F007C117D /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				SUPPORTED_PLATFORMS = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		97C147061CF9000F007C117D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = org.benoitharrault.plotter;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Debug;
+		};
+		97C147071CF9000F007C117D /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = org.benoitharrault.plotter;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				97C147031CF9000F007C117D /* Debug */,
+				97C147041CF9000F007C117D /* Release */,
+				249021D3217E4FDB00AE95B9 /* Profile */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				97C147061CF9000F007C117D /* Debug */,
+				97C147071CF9000F007C117D /* Release */,
+				249021D4217E4FDB00AE95B9 /* Profile */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 97C146E61CF9000F007C117D /* Project object */;
+}
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:">
+   </FileRef>
+</Workspace>
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreviewsEnabled</key>
+	<false/>
+</dict>
+</plist>
diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
new file mode 100644
index 0000000..a28140c
--- /dev/null
+++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1020"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+               BuildableName = "Runner.app"
+               BlueprintName = "Runner"
+               ReferencedContainer = "container:Runner.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Profile"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..1d526a1
--- /dev/null
+++ b/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:Runner.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreviewsEnabled</key>
+	<false/>
+</dict>
+</plist>
diff --git a/ios/Runner/AppDelegate.h b/ios/Runner/AppDelegate.h
new file mode 100644
index 0000000..36e21bb
--- /dev/null
+++ b/ios/Runner/AppDelegate.h
@@ -0,0 +1,6 @@
+#import <Flutter/Flutter.h>
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : FlutterAppDelegate
+
+@end
diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m
new file mode 100644
index 0000000..70e8393
--- /dev/null
+++ b/ios/Runner/AppDelegate.m
@@ -0,0 +1,13 @@
+#import "AppDelegate.h"
+#import "GeneratedPluginRegistrant.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application
+    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+  [GeneratedPluginRegistrant registerWithRegistry:self];
+  // Override point for customization after application launch.
+  return [super application:application didFinishLaunchingWithOptions:launchOptions];
+}
+
+@end
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..d36b1fa
--- /dev/null
+++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,122 @@
+{
+  "images" : [
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-20x20@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-20x20@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-40x40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-40x40@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-60x60@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-60x60@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-20x20@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-20x20@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-29x29@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-29x29@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-40x40@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-40x40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-76x76@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-76x76@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-83.5x83.5@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "Icon-App-1024x1024@1x.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332
GIT binary patch
literal 10932
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
QlAxuUp00i_>zopr0K8b=b^rhX

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
new file mode 100644
index 0000000000000000000000000000000000000000..28c6bf03016f6c994b70f38d1b7346e5831b531f
GIT binary patch
literal 564
zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqpR#^NA%Cx&(BWL`2bFuwD2
zaSX8#TsvjAw@jeOvGY5>_q|>h+1u6fBdexi<)tM8-3iJOH-6e{csS^|t`^`h%M4z^
zvrUsp%yCUni-1dr!HteCeu1-6sf(@4&z-gOX8TrnJhnM~hPD2_`!&xEoBNpM46ZP5
z>RM6Fs4Du%wQt&V4?nF#Au;N4dCxlR<XldO9-6?g%eZUVFOxLhq?If5795yX*H)3r
zcr-L!Dsz*&v#QSl(?&xbdB=-h`NEg}1Tfsq{4(uywXxqq5w)$a&)ne^j#c_lpTP8G
z*_&ovJMIUWi|u_Gk1ED$Xa95SQ_5@D^>EhFOs+Q*8UNIXwA$#oIyO8|+tqV&R#9*$
zUnSd|Hw&5HJe<YZ<N71*xK-Ib1>-|^3yuFWnr2?uxcNuK(*U^*-n;k6AAGamV&=3x
zQTjVJM+cmBEL?H-jDy2s*;QO>QThRLANE|lxz@Sy?+%4F#V^}4%*``0mhkR1xTsnd
zsl4K{bVpgeu!#g~y%YEC?D&;me>Lr&{KSK$>&ee#llSpUG=!hMOnEB&rtbEo$NBpo
ze0#XwfU{CPz~%7UQ+uQ}ChR*S%%W*wac<_u>)Jc^mA`9MySCxd!B^Kd#zy?>WBq3t
zA?<j7a@z02UrV#jFFU2SH1ENFaf?TqF86c<HRj3ddVAgxk5KwL|Js^`@zZL)>x*4_
W$LnK$#EXG}fx*+&&t;ucLK6TGg!*^@

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ccbfd967d9697cd4b83225558af2911e9571c9b
GIT binary patch
literal 1283
zcmeAS@N?(olHy`uVBq!ia0y~yV9)?z4mJh`hMs>rav2y{PI<aGhE&WsI>R?dBvs;g
z{d;TUyFpPJ%eF4Kv7n|^zp=ULn1t;EM$XP7lUeld*i<WYMHn1eEM+Rk!LA?E!ztJy
zD8yIC>OAGhrAO=?vmAmpT<U+jYxid3dVb^0cemaCn{#@yPnp^KJ?}ry{%?H#%xAl{
z8!DE^W+>R*XMV$8#$?-Y`cDL-1XCS@pJejB8Rvppy6eq7etCUAujg?q<WvaP_dQE4
z{y3yycZjut%lnV#r5Q_NT~$>j6J!e{Uv#AAYb{|~a_aH522J@Q@fi&BOpfuWHHbGp
zf5x@0=W&%z;t#%xYZ_i1#tsY?XV=JR1*ru$Xe%q8GYMi`*I43cb15zIa$ef*g)OP`
zxn+8uo27Eb>{9r}R#PV@sJksCu`zk^$I#qqi)ZJWE@$GC^4#7iY9ct-)8d8n31bVb
zX;lK#VjdrPy!sZ;@og0)Rhw5$KOp&F-NcXuofoDxM?Z25Q1Tbd+xYNCT0eV~Php(s
z<cV5Oqt_M$Mm(3`W4LW2^O=pEcVCd0)6OHW!U}d3U4JIHF7H4Q=S9Q*f&ljpaicX$
z!zMRzPZfB&W>r(KmiUp+T6+&?C9dbVk>SLWbgX<w;Owuib8E8IxITQlYSWzjwe_o?
zU#jS)hV?5lUU-G>@7~0v#&fvx<GF_OUrTZeT5o(*zs?;a!Ie>}_S)%a@u$R+v$Lgb
zcLiOYf4R$3h^y$~8P-z=e?C;X^D^2|@K|_BOOua4qui|r8!K13nyLg|73lx<s9^v3
zvz!;@UdMXwyu6)h+Ey2blZUP~$h(=BrA$6PZRxgW&$lFPoN%IEU%xNr>rZXr*ju;F
zgx|erIDfsIxhjhHXMvIP?8enx7P6mu>*fc1c=y;ahGSjp;lGuBcQh{SzH#ApT49dK
z`Ang8Y6pT&Jlr#3(Hn0W*>~S9f3}}*)^yfuapkkQmiJL7h52FRWrLWr4F+59@QKX*
z&iiA|j)#}$b~)uf+UVL>vE{JpQwhGc<u`8Kl#sa+s53)ilYsTF7rV~0@BgWj-}_+F
z>;jIHlKqXlCF80s&R_HEmS6Euygc@5k7ASXhVP2g(|73{u6(F=?yx`%zx0!xh0k=>
z@2~H(ejI6YT%e^_^d0ZiKSyPK{bY7bNiOgy*`?Sx*{Rj0zP_&O%zjCcZ5wK1&7b$b
zS-4u+Re)>xxmODx+IoKSah(vkF4bmQOJ?4@n*L71#9h^eYmdsG-&9-ce|Um#?yRl}
zHz)kP-&6SUG5^IIEML~BMqVrRQjA}+dhu305AQAA`6pzU9W{1E>(0+>-l`ogtQT#4
zv{I4dqgB+-Pp<{^Wvq|eKaP}%{%owt&7)o~)wHF}A<4B|UA%w)kz-Te{&=aQJFhvL
zcU`h$Qee7tc-{WP?;gh+O*;8F!nyT<D)aZAC7TcAEpl@>Ed4_zXS=)6n^)GSALu(@
zFj_mOP`4*Na%-LC^ZU2XzIy6y&|qkMNLIl0d(*@(Mjs@LFW7h~w7dO(eCMgX;W}ey
z)$1FVT(;b{_T{serM4|X+iVsv?@3bGd0_hizGsX6s!a`EBIo^}j%A+F$3@YdzmBZj
z*|cUF%e7fvr+yyrOFrYjRQJK&Nt+6#ztwGP_&n*`Q6J-9SNuJG)iEwe+w485%%@SC
z)0^p~ht+}=x9!*b3^nYjoiqK*szo(3n7-R@emEuiR&Q1|0|Nttr>mdKI;Vst04OMA
Ap8x;=

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
new file mode 100644
index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c
GIT binary patch
literal 1588
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
KKbLh*2~7ZftovC2

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cde12118dda48d71e01fcb589a74d069c5d7cb5
GIT binary patch
literal 1025
zcmeAS@N?(olHy`uVBq!ia0y~yV2}l24mJh`hOo)${0t1tCp=voLn`KMo$i|v6Do4N
z{`<b~Ml(xh`LD=b>FK#DR4OpQeBF{oZd^@ytAg%E#Qb2~b^X?|T}6qm0$PzPyj`7G
zy_Gu?Tvy63oEqf4uq)x$(ur!5kEj^Gzq`Ntx7tjVxiiC8v%gDvxBLB{bJyoo%T4N0
zVODtQ=;^K!J27NZ$iBu<udg*~FCT{NPxs`yB%kkH^y~kVxl@EEL=|Y%PVng3d}#8q
z<uOzJJgdYHcvLY+uqG)m@JPD6bPRpZxu$Va^MN0sr8bOC2?so^*lbvKh};Sgs%$+h
z%z0c-{RwkH(}6=il6kTD6)&fCJPV0F<;TF?Bk39J5G@vA`r&eC%fk5NqHDVarDk-x
z#vd$NV4viCPRBKQ>KQ4|sNM5<Z%F-|(6+L@mi2H#y-Rk8FvrT>|D|4BlJT3qaC^dy
z`Al<PiMy#~=q4m2sI}#?9&Y^C@l7N{dP<V>i+Wy`_(SF_GH?1bcJn2~W`yzIR&v&n
zHwq7(^p$5v+Sf3x^?C*FF4e(q*QF|>HkSQxN`4T-liuBTV8bK*O%EQdEA!sxwmOn=
z?UScxwmjbZIdxYN+ghe~{*9XrWo&{UU72!%^|WrmE}d^*TJBs<%zjqs`ZenD!Q0Wg
z)z!{jsrNI}RyWA{w*5T9?C;-wPVEGH0LQ{N4|eXGuy?QG!nJd+n?Brnto>zY-v1XL
z^bO0mMaTI!UQYe^r=s(u>x)yB0SOPXB<H>3tXO586LHe?cEZ!6=k?X@+|Imt;Z5WD
zy7))8PqyglPMaOg!<eMimcFg+%}dVdtM<*i@^<glqlSk1ah8#fj-)uHpW86uz%GZJ
zw`Vq2PrkAD=<^FRj+H0h?MwOaQ24{w`J9WV3-2mw+thra!*cfH?eczx7q&g<onjPw
zjQ4gzN^Pp$O<AJ~_apM$N(OAR^An%#UT;yE(la-|=fm|kN{yx}>(U-fn|rcqYiLo;
zi<r*s=eT9%pIz!-&S{>jtaq;Xd#<$P&F$UmocfM*F7Q)L-FK^}@kZzL?dBhoKEIE#
zDxCIWncWkao!4w0KVN51@IfQ|xfjc|2d{o4sfadyjXc04r0&GMzV4H7e%%jVlkmGw
zj<WvBzklLH_U;>ZE<P&GxmID5uF}h7ebPdivmo=ww_2NX?D2nmX7ukdOgxZNIPZ5^
z&a=hh@6uz7I}T1L(l)+SsQgm!fyQ-9UMtRQp6;h9NB3=Q+b^CRHOpyHfoAp9%MTXU
zxm(RSx3th|dD^5SsnY$cpWR!?W#DoBcVyz#M|0+{2w$IlV#1PuNwNR-ePFXu%k;VA
q^R|5R?a8lx23>mWT{!KG{qOgR*SIgbw=gg;FnGH9xvX<aXaWFyM)8~g

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658
GIT binary patch
literal 1716
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
V&a^duV_;xl@O1TaS?83{1OVHl_EP`=

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
new file mode 100644
index 0000000000000000000000000000000000000000..dcdc2306c28505ebc0b6c3a359c4d252bf626b9f
GIT binary patch
literal 1920
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

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ccbfd967d9697cd4b83225558af2911e9571c9b
GIT binary patch
literal 1283
zcmeAS@N?(olHy`uVBq!ia0y~yV9)?z4mJh`hMs>rav2y{PI<aGhE&WsI>R?dBvs;g
z{d;TUyFpPJ%eF4Kv7n|^zp=ULn1t;EM$XP7lUeld*i<WYMHn1eEM+Rk!LA?E!ztJy
zD8yIC>OAGhrAO=?vmAmpT<U+jYxid3dVb^0cemaCn{#@yPnp^KJ?}ry{%?H#%xAl{
z8!DE^W+>R*XMV$8#$?-Y`cDL-1XCS@pJejB8Rvppy6eq7etCUAujg?q<WvaP_dQE4
z{y3yycZjut%lnV#r5Q_NT~$>j6J!e{Uv#AAYb{|~a_aH522J@Q@fi&BOpfuWHHbGp
zf5x@0=W&%z;t#%xYZ_i1#tsY?XV=JR1*ru$Xe%q8GYMi`*I43cb15zIa$ef*g)OP`
zxn+8uo27Eb>{9r}R#PV@sJksCu`zk^$I#qqi)ZJWE@$GC^4#7iY9ct-)8d8n31bVb
zX;lK#VjdrPy!sZ;@og0)Rhw5$KOp&F-NcXuofoDxM?Z25Q1Tbd+xYNCT0eV~Php(s
z<cV5Oqt_M$Mm(3`W4LW2^O=pEcVCd0)6OHW!U}d3U4JIHF7H4Q=S9Q*f&ljpaicX$
z!zMRzPZfB&W>r(KmiUp+T6+&?C9dbVk>SLWbgX<w;Owuib8E8IxITQlYSWzjwe_o?
zU#jS)hV?5lUU-G>@7~0v#&fvx<GF_OUrTZeT5o(*zs?;a!Ie>}_S)%a@u$R+v$Lgb
zcLiOYf4R$3h^y$~8P-z=e?C;X^D^2|@K|_BOOua4qui|r8!K13nyLg|73lx<s9^v3
zvz!;@UdMXwyu6)h+Ey2blZUP~$h(=BrA$6PZRxgW&$lFPoN%IEU%xNr>rZXr*ju;F
zgx|erIDfsIxhjhHXMvIP?8enx7P6mu>*fc1c=y;ahGSjp;lGuBcQh{SzH#ApT49dK
z`Ang8Y6pT&Jlr#3(Hn0W*>~S9f3}}*)^yfuapkkQmiJL7h52FRWrLWr4F+59@QKX*
z&iiA|j)#}$b~)uf+UVL>vE{JpQwhGc<u`8Kl#sa+s53)ilYsTF7rV~0@BgWj-}_+F
z>;jIHlKqXlCF80s&R_HEmS6Euygc@5k7ASXhVP2g(|73{u6(F=?yx`%zx0!xh0k=>
z@2~H(ejI6YT%e^_^d0ZiKSyPK{bY7bNiOgy*`?Sx*{Rj0zP_&O%zjCcZ5wK1&7b$b
zS-4u+Re)>xxmODx+IoKSah(vkF4bmQOJ?4@n*L71#9h^eYmdsG-&9-ce|Um#?yRl}
zHz)kP-&6SUG5^IIEML~BMqVrRQjA}+dhu305AQAA`6pzU9W{1E>(0+>-l`ogtQT#4
zv{I4dqgB+-Pp<{^Wvq|eKaP}%{%owt&7)o~)wHF}A<4B|UA%w)kz-Te{&=aQJFhvL
zcU`h$Qee7tc-{WP?;gh+O*;8F!nyT<D)aZAC7TcAEpl@>Ed4_zXS=)6n^)GSALu(@
zFj_mOP`4*Na%-LC^ZU2XzIy6y&|qkMNLIl0d(*@(Mjs@LFW7h~w7dO(eCMgX;W}ey
z)$1FVT(;b{_T{serM4|X+iVsv?@3bGd0_hizGsX6s!a`EBIo^}j%A+F$3@YdzmBZj
z*|cUF%e7fvr+yyrOFrYjRQJK&Nt+6#ztwGP_&n*`Q6J-9SNuJG)iEwe+w485%%@SC
z)0^p~ht+}=x9!*b3^nYjoiqK*szo(3n7-R@emEuiR&Q1|0|Nttr>mdKI;Vst04OMA
Ap8x;=

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2
GIT binary patch
literal 1895
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
OVDNPHb6Mw<&;$VbO<Vi`

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22
GIT binary patch
literal 2665
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

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22
GIT binary patch
literal 2665
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

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
new file mode 100644
index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680
GIT binary patch
literal 3831
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
U*#tT>FfcH9y85}Sb4q9e0QKHA1^@s6

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d
GIT binary patch
literal 1888
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
O7(8A5T-G@yGywok=Zg*i

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a84f41e14e27f4b11f16f9ee39279ac98f8d5ac
GIT binary patch
literal 3294
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

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0e1f58536026aebc4f1f70e481f6993c9ff088d
GIT binary patch
literal 3612
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

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
new file mode 100644
index 0000000..0bedcf2
--- /dev/null
+++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
new file mode 100644
index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838
GIT binary patch
literal 68
zcmeAS@N?(olHy`uVBq!ia0y~yU|<Ac4i*LmhOII@ObiSR+@3CuAr*6yf1PJwU}9%v
Vnk8dc$iTqB;OXk;vd$@?2>@r242}Q*

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838
GIT binary patch
literal 68
zcmeAS@N?(olHy`uVBq!ia0y~yU|<Ac4i*LmhOII@ObiSR+@3CuAr*6yf1PJwU}9%v
Vnk8dc$iTqB;OXk;vd$@?2>@r242}Q*

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
new file mode 100644
index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838
GIT binary patch
literal 68
zcmeAS@N?(olHy`uVBq!ia0y~yU|<Ac4i*LmhOII@ObiSR+@3CuAr*6yf1PJwU}9%v
Vnk8dc$iTqB;OXk;vd$@?2>@r242}Q*

literal 0
HcmV?d00001

diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
new file mode 100644
index 0000000..89c2725
--- /dev/null
+++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
@@ -0,0 +1,5 @@
+# Launch Screen Assets
+
+You can customize the launch screen with your own desired assets by replacing the image files in this directory.
+
+You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000..f2e259c
--- /dev/null
+++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="EHf-IW-A2E">
+            <objects>
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
+                        <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
+                            </imageView>
+                        </subviews>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="53" y="375"/>
+        </scene>
+    </scenes>
+    <resources>
+        <image name="LaunchImage" width="168" height="185"/>
+    </resources>
+</document>
diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard
new file mode 100644
index 0000000..f3c2851
--- /dev/null
+++ b/ios/Runner/Base.lproj/Main.storyboard
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
+    </dependencies>
+    <scenes>
+        <!--Flutter View Controller-->
+        <scene sceneID="tne-QT-ifu">
+            <objects>
+                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+            </objects>
+        </scene>
+    </scenes>
+</document>
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
new file mode 100644
index 0000000..57796a6
--- /dev/null
+++ b/ios/Runner/Info.plist
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>$(DEVELOPMENT_LANGUAGE)</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>plotter</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>$(FLUTTER_BUILD_NAME)</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>$(FLUTTER_BUILD_NUMBER)</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UILaunchStoryboardName</key>
+	<string>LaunchScreen</string>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+	<key>UIViewControllerBasedStatusBarAppearance</key>
+	<false/>
+</dict>
+</plist>
diff --git a/ios/Runner/main.m b/ios/Runner/main.m
new file mode 100644
index 0000000..dff6597
--- /dev/null
+++ b/ios/Runner/main.m
@@ -0,0 +1,9 @@
+#import <Flutter/Flutter.h>
+#import <UIKit/UIKit.h>
+#import "AppDelegate.h"
+
+int main(int argc, char* argv[]) {
+  @autoreleasepool {
+    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+  }
+}
diff --git a/lib/main.dart b/lib/main.dart
new file mode 100644
index 0000000..dd1afff
--- /dev/null
+++ b/lib/main.dart
@@ -0,0 +1,34 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:provider/provider.dart';
+
+import 'provider/data.dart';
+import 'screens/home.dart';
+
+void main() {
+  WidgetsFlutterBinding.ensureInitialized();
+  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
+      .then((value) => runApp(MyApp()));
+}
+
+class MyApp extends StatelessWidget {
+  @override
+  Widget build(BuildContext context) {
+    return ChangeNotifierProvider(
+      create: (BuildContext context) => Data(),
+      child: Consumer<Data>(builder: (context, data, child) {
+        return MaterialApp(
+          debugShowCheckedModeBanner: false,
+          theme: ThemeData(
+            primaryColor: Colors.blue,
+            visualDensity: VisualDensity.adaptivePlatformDensity,
+          ),
+          home: Home(),
+          routes: {
+            Home.id: (context) => Home(),
+          },
+        );
+      }),
+    );
+  }
+}
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
new file mode 100644
index 0000000..26ba515
--- /dev/null
+++ b/lib/provider/data.dart
@@ -0,0 +1,5 @@
+import 'package:flutter/foundation.dart';
+
+class Data extends ChangeNotifier {
+
+}
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
new file mode 100644
index 0000000..fb41b31
--- /dev/null
+++ b/lib/screens/home.dart
@@ -0,0 +1,32 @@
+import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
+
+import '../provider/data.dart';
+
+class Home extends StatelessWidget {
+  static const String id = 'home';
+
+  @override
+  Widget build(BuildContext context) {
+    Data myProvider = Provider.of<Data>(context);
+
+    return Scaffold(
+      appBar: AppBar(
+        title: new Text('Stepper plotter assistant'),
+
+        actions: [
+        ],
+        
+        leading: IconButton(
+          icon: Image.asset('assets/icons/application.png'),
+          onPressed: () { },
+        ),
+      ),
+      body: SafeArea(
+        child: Center(
+          child: Text('🤖')
+        ),
+      )
+    );
+  }
+}
diff --git a/pubspec.lock b/pubspec.lock
new file mode 100644
index 0000000..b6eca0d
--- /dev/null
+++ b/pubspec.lock
@@ -0,0 +1,161 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+  async:
+    dependency: transitive
+    description:
+      name: async
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.7.0"
+  boolean_selector:
+    dependency: transitive
+    description:
+      name: boolean_selector
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  characters:
+    dependency: transitive
+    description:
+      name: characters
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  charcode:
+    dependency: transitive
+    description:
+      name: charcode
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.3.1"
+  clock:
+    dependency: transitive
+    description:
+      name: clock
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  collection:
+    dependency: transitive
+    description:
+      name: collection
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.15.0"
+  fake_async:
+    dependency: transitive
+    description:
+      name: fake_async
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.2.0"
+  flutter:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_test:
+    dependency: "direct dev"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  matcher:
+    dependency: transitive
+    description:
+      name: matcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.12.10"
+  meta:
+    dependency: transitive
+    description:
+      name: meta
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.7.0"
+  nested:
+    dependency: transitive
+    description:
+      name: nested
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.0"
+  path:
+    dependency: transitive
+    description:
+      name: path
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.8.0"
+  provider:
+    dependency: "direct main"
+    description:
+      name: provider
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "5.0.0"
+  sky_engine:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.99"
+  source_span:
+    dependency: transitive
+    description:
+      name: source_span
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.8.1"
+  stack_trace:
+    dependency: transitive
+    description:
+      name: stack_trace
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.10.0"
+  stream_channel:
+    dependency: transitive
+    description:
+      name: stream_channel
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  string_scanner:
+    dependency: transitive
+    description:
+      name: string_scanner
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  term_glyph:
+    dependency: transitive
+    description:
+      name: term_glyph
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.2.0"
+  test_api:
+    dependency: transitive
+    description:
+      name: test_api
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.1"
+  typed_data:
+    dependency: transitive
+    description:
+      name: typed_data
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.3.0"
+  vector_math:
+    dependency: transitive
+    description:
+      name: vector_math
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+sdks:
+  dart: ">=2.12.0 <3.0.0"
+  flutter: ">=1.16.0"
diff --git a/pubspec.yaml b/pubspec.yaml
new file mode 100644
index 0000000..8180345
--- /dev/null
+++ b/pubspec.yaml
@@ -0,0 +1,21 @@
+name: plotter
+description: A plotter helper application.
+publish_to: 'none'
+version: 1.0.0+1
+
+environment:
+  sdk: ">=2.7.0 <3.0.0"
+
+dependencies:
+  flutter:
+    sdk: flutter
+  provider: ^5.0.0
+
+dev_dependencies:
+  flutter_test:
+    sdk: flutter
+
+flutter:
+  uses-material-design: true
+  assets:
+    - assets/icons/
diff --git a/test/widget_test.dart b/test/widget_test.dart
new file mode 100644
index 0000000..edc6abb
--- /dev/null
+++ b/test/widget_test.dart
@@ -0,0 +1,14 @@
+// This is a basic Flutter widget test.
+//
+// To perform an interaction with a widget in your test, use the WidgetTester
+// utility that Flutter provides. For example, you can send tap and scroll
+// gestures. You can also use WidgetTester to find child widgets in the widget
+// tree, read text, and verify that the values of widget properties are correct.
+
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+import 'package:plotter/main.dart';
+
+void main() {
+}
-- 
GitLab