From 59b89207d68b8cd836172b7c0cc28390e1671de6 Mon Sep 17 00:00:00 2001
From: Erwin Tumbul <erwin.tumbul@student.tugraz.at>
Date: Fri, 27 May 2022 14:51:33 +0200
Subject: [PATCH] Implement basic android client. Implement basic
 NotificationListener service and log intercepted messages.

---
 client/android/.idea/.gitignore               |   3 +
 client/android/.idea/android.iml              |   9 +
 client/android/.idea/misc.xml                 |   6 +
 client/android/.idea/modules.xml              |   8 +
 client/android/.idea/vcs.xml                  |   6 +
 client/android/Notifier/.gitignore            |  15 ++
 client/android/Notifier/.idea/.gitignore      |   3 +
 client/android/Notifier/.idea/compiler.xml    |   6 +
 client/android/Notifier/.idea/gradle.xml      |  19 ++
 client/android/Notifier/.idea/misc.xml        |  18 ++
 client/android/Notifier/.idea/vcs.xml         |   6 +
 client/android/Notifier/app/.gitignore        |   1 +
 client/android/Notifier/app/build.gradle      |  39 ++++
 .../android/Notifier/app/proguard-rules.pro   |  21 ++
 .../notifier/ExampleInstrumentedTest.java     |  26 +++
 .../Notifier/app/src/main/AndroidManifest.xml |  46 +++++
 .../client/notifier/MainActivity.java         |  71 +++++++
 .../NotificationBroadcastReceiver.java        |  15 ++
 .../client/notifier/NotifierService.java      |  25 +++
 .../drawable-v24/ic_launcher_foreground.xml   |  30 +++
 .../res/drawable/ic_launcher_background.xml   | 170 ++++++++++++++++
 .../app/src/main/res/layout/activity_main.xml |  20 ++
 .../res/mipmap-anydpi-v26/ic_launcher.xml     |   5 +
 .../mipmap-anydpi-v26/ic_launcher_round.xml   |   5 +
 .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes
 .../res/mipmap-hdpi/ic_launcher_round.webp    | Bin 0 -> 2898 bytes
 .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes
 .../res/mipmap-mdpi/ic_launcher_round.webp    | Bin 0 -> 1772 bytes
 .../main/res/mipmap-xhdpi/ic_launcher.webp    | Bin 0 -> 1900 bytes
 .../res/mipmap-xhdpi/ic_launcher_round.webp   | Bin 0 -> 3918 bytes
 .../main/res/mipmap-xxhdpi/ic_launcher.webp   | Bin 0 -> 2884 bytes
 .../res/mipmap-xxhdpi/ic_launcher_round.webp  | Bin 0 -> 5914 bytes
 .../main/res/mipmap-xxxhdpi/ic_launcher.webp  | Bin 0 -> 3844 bytes
 .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes
 .../app/src/main/res/values-night/themes.xml  |  16 ++
 .../app/src/main/res/values/colors.xml        |  10 +
 .../app/src/main/res/values/strings.xml       |   3 +
 .../app/src/main/res/values/themes.xml        |  16 ++
 .../app/src/main/res/xml/backup_rules.xml     |  13 ++
 .../main/res/xml/data_extraction_rules.xml    |  19 ++
 .../client/notifier/ExampleUnitTest.java      |  17 ++
 client/android/Notifier/build.gradle          |   9 +
 client/android/Notifier/gradle.properties     |  21 ++
 .../gradle/wrapper/gradle-wrapper.jar         | Bin 0 -> 59203 bytes
 .../gradle/wrapper/gradle-wrapper.properties  |   6 +
 client/android/Notifier/gradlew               | 185 ++++++++++++++++++
 client/android/Notifier/gradlew.bat           |  89 +++++++++
 client/android/Notifier/settings.gradle       |  16 ++
 48 files changed, 993 insertions(+)
 create mode 100644 client/android/.idea/.gitignore
 create mode 100644 client/android/.idea/android.iml
 create mode 100644 client/android/.idea/misc.xml
 create mode 100644 client/android/.idea/modules.xml
 create mode 100644 client/android/.idea/vcs.xml
 create mode 100644 client/android/Notifier/.gitignore
 create mode 100644 client/android/Notifier/.idea/.gitignore
 create mode 100644 client/android/Notifier/.idea/compiler.xml
 create mode 100644 client/android/Notifier/.idea/gradle.xml
 create mode 100644 client/android/Notifier/.idea/misc.xml
 create mode 100644 client/android/Notifier/.idea/vcs.xml
 create mode 100644 client/android/Notifier/app/.gitignore
 create mode 100644 client/android/Notifier/app/build.gradle
 create mode 100644 client/android/Notifier/app/proguard-rules.pro
 create mode 100644 client/android/Notifier/app/src/androidTest/java/com/mobilesec/client/notifier/ExampleInstrumentedTest.java
 create mode 100644 client/android/Notifier/app/src/main/AndroidManifest.xml
 create mode 100644 client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/MainActivity.java
 create mode 100644 client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotificationBroadcastReceiver.java
 create mode 100644 client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotifierService.java
 create mode 100644 client/android/Notifier/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
 create mode 100644 client/android/Notifier/app/src/main/res/drawable/ic_launcher_background.xml
 create mode 100644 client/android/Notifier/app/src/main/res/layout/activity_main.xml
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
 create mode 100644 client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
 create mode 100644 client/android/Notifier/app/src/main/res/values-night/themes.xml
 create mode 100644 client/android/Notifier/app/src/main/res/values/colors.xml
 create mode 100644 client/android/Notifier/app/src/main/res/values/strings.xml
 create mode 100644 client/android/Notifier/app/src/main/res/values/themes.xml
 create mode 100644 client/android/Notifier/app/src/main/res/xml/backup_rules.xml
 create mode 100644 client/android/Notifier/app/src/main/res/xml/data_extraction_rules.xml
 create mode 100644 client/android/Notifier/app/src/test/java/com/mobilesec/client/notifier/ExampleUnitTest.java
 create mode 100644 client/android/Notifier/build.gradle
 create mode 100644 client/android/Notifier/gradle.properties
 create mode 100644 client/android/Notifier/gradle/wrapper/gradle-wrapper.jar
 create mode 100644 client/android/Notifier/gradle/wrapper/gradle-wrapper.properties
 create mode 100755 client/android/Notifier/gradlew
 create mode 100644 client/android/Notifier/gradlew.bat
 create mode 100644 client/android/Notifier/settings.gradle

diff --git a/client/android/.idea/.gitignore b/client/android/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/client/android/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/client/android/.idea/android.iml b/client/android/.idea/android.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/client/android/.idea/android.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/client/android/.idea/misc.xml b/client/android/.idea/misc.xml
new file mode 100644
index 0000000..639900d
--- /dev/null
+++ b/client/android/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/.idea/modules.xml b/client/android/.idea/modules.xml
new file mode 100644
index 0000000..9dddca5
--- /dev/null
+++ b/client/android/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/android.iml" filepath="$PROJECT_DIR$/.idea/android.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/.idea/vcs.xml b/client/android/.idea/vcs.xml
new file mode 100644
index 0000000..b2bdec2
--- /dev/null
+++ b/client/android/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/Notifier/.gitignore b/client/android/Notifier/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/client/android/Notifier/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/client/android/Notifier/.idea/.gitignore b/client/android/Notifier/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/client/android/Notifier/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/client/android/Notifier/.idea/compiler.xml b/client/android/Notifier/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/client/android/Notifier/.idea/compiler.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="11" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/Notifier/.idea/gradle.xml b/client/android/Notifier/.idea/gradle.xml
new file mode 100644
index 0000000..7394c74
--- /dev/null
+++ b/client/android/Notifier/.idea/gradle.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="GRADLE" />
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleHome" value="/usr/share/java/gradle" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/Notifier/.idea/misc.xml b/client/android/Notifier/.idea/misc.xml
new file mode 100644
index 0000000..46ed93a
--- /dev/null
+++ b/client/android/Notifier/.idea/misc.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DesignSurface">
+    <option name="filePathToZoomLevelMap">
+      <map>
+        <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.2015" />
+        <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.2015" />
+        <entry key="app/src/main/res/layout/activity_main.xml" value="0.35885416666666664" />
+      </map>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/Notifier/.idea/vcs.xml b/client/android/Notifier/.idea/vcs.xml
new file mode 100644
index 0000000..c2365ab
--- /dev/null
+++ b/client/android/Notifier/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/client/android/Notifier/app/.gitignore b/client/android/Notifier/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/client/android/Notifier/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/client/android/Notifier/app/build.gradle b/client/android/Notifier/app/build.gradle
new file mode 100644
index 0000000..292b1ab
--- /dev/null
+++ b/client/android/Notifier/app/build.gradle
@@ -0,0 +1,39 @@
+plugins {
+    id 'com.android.application'
+}
+
+android {
+    compileSdk 32
+
+    defaultConfig {
+        applicationId "com.mobilesec.client.notifier"
+        minSdk 26
+        targetSdk 32
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+}
+
+dependencies {
+
+    implementation "androidx.core:core:1.7.0"
+    implementation 'androidx.appcompat:appcompat:1.4.1'
+    implementation 'com.google.android.material:material:1.6.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+    testImplementation 'junit:junit:4.13.2'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+}
\ No newline at end of file
diff --git a/client/android/Notifier/app/proguard-rules.pro b/client/android/Notifier/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/client/android/Notifier/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/androidTest/java/com/mobilesec/client/notifier/ExampleInstrumentedTest.java b/client/android/Notifier/app/src/androidTest/java/com/mobilesec/client/notifier/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..df4063e
--- /dev/null
+++ b/client/android/Notifier/app/src/androidTest/java/com/mobilesec/client/notifier/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.mobilesec.client.notifier;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.mobilesec.client.notifier", appContext.getPackageName());
+    }
+}
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/AndroidManifest.xml b/client/android/Notifier/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..aa1a942
--- /dev/null
+++ b/client/android/Notifier/app/src/main/AndroidManifest.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    package="com.mobilesec.client.notifier">
+
+    <application
+        android:allowBackup="true"
+        android:dataExtractionRules="@xml/data_extraction_rules"
+        android:fullBackupContent="@xml/backup_rules"
+        android:icon="@mipmap/ic_launcher"
+        android:label="@string/app_name"
+        android:roundIcon="@mipmap/ic_launcher_round"
+        android:supportsRtl="true"
+        android:theme="@style/Theme.Notifier"
+        tools:targetApi="31">
+
+        <service
+            android:name=".NotifierService"
+            android:enabled="true"
+            android:exported="true"
+            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
+            <intent-filter>
+                <action android:name="android.service.notification.NotificationListenerService" />
+            </intent-filter>
+            <meta-data
+                android:name="android.service.notification.default_filter_types"
+                android:value="conversations|alerting">
+            </meta-data>
+            <meta-data
+                android:name="android.service.notification.disabled_filter_types"
+                android:value="ongoing|silent">
+            </meta-data>
+        </service>
+
+        <activity
+            android:name=".MainActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/MainActivity.java b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/MainActivity.java
new file mode 100644
index 0000000..ce5bffa
--- /dev/null
+++ b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/MainActivity.java
@@ -0,0 +1,71 @@
+package com.mobilesec.client.notifier;
+
+import static android.provider.Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.NotificationCompat;
+import androidx.core.app.NotificationManagerCompat;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Build;
+import android.os.Bundle;
+import android.view.View;
+
+
+// SEE https://developer.android.com/training/notify-user/build-notification
+public class MainActivity extends AppCompatActivity {
+
+    private String CHANNEL_ID = "NOTIFIER_CHANNEL";
+    private NotificationBroadcastReceiver br;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+
+        // Register notification receiver
+        br = new NotificationBroadcastReceiver();
+        IntentFilter intentFilter = new IntentFilter();
+        intentFilter.addAction("com.mobilesec.client.notifier");
+        registerReceiver(br,intentFilter);
+
+        createNotificationChannel();
+
+        startActivity(new Intent(ACTION_NOTIFICATION_LISTENER_SETTINGS));
+    }
+
+    private void createNotificationChannel() {
+        // Create the NotificationChannel, but only on API 26+ because
+        // the NotificationChannel class is new and not in the support library
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            // TODO: Better name and description; move to resources?
+            CharSequence name = "notifierChannel";//getString(R.string.channel_name);
+            String description = "Notification channel for Notifier app."; //getString(R.string.channel_description);
+            int importance = NotificationManager.IMPORTANCE_DEFAULT;
+            NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
+            channel.setDescription(description);
+            // Register the channel with the system; you can't change the importance
+            // or other notification behaviors after this
+            NotificationManager notificationManager = getSystemService(NotificationManager.class);
+            notificationManager.createNotificationChannel(channel);
+        }
+    }
+
+    // Send a test notification
+    public void sendTestNotification(View view) {
+        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
+                .setSmallIcon(android.R.drawable.sym_def_app_icon)
+                .setContentTitle("Test Notifier")
+                .setContentText("This is a test.")
+                .setPriority(NotificationCompat.PRIORITY_DEFAULT);
+
+        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
+
+        notificationManager.notify(1, builder.build());
+    }
+
+}
+
diff --git a/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotificationBroadcastReceiver.java b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotificationBroadcastReceiver.java
new file mode 100644
index 0000000..dbaefd0
--- /dev/null
+++ b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotificationBroadcastReceiver.java
@@ -0,0 +1,15 @@
+package com.mobilesec.client.notifier;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+public class NotificationBroadcastReceiver extends BroadcastReceiver {
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        Log.i("NOTIFIER[onReceive]", "Received notification.");
+        // TODO: Upload to server here
+    }
+}
diff --git a/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotifierService.java b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotifierService.java
new file mode 100644
index 0000000..4caadab
--- /dev/null
+++ b/client/android/Notifier/app/src/main/java/com/mobilesec/client/notifier/NotifierService.java
@@ -0,0 +1,25 @@
+package com.mobilesec.client.notifier;
+
+import android.app.Notification;
+import android.content.Intent;
+import android.os.Bundle;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+import android.util.Log;
+
+// SEE https://developer.android.com/training/notify-user/build-notification
+public class NotifierService extends NotificationListenerService {
+    public NotifierService() {
+    }
+
+    @Override
+    public void onNotificationPosted(StatusBarNotification sbn) {
+        Bundle b = sbn.getNotification().extras;
+
+        Log.i("NOTIFIER[NotificationListenerService.onNotificationPosted]",
+                "ID :" + sbn.getId() + "|" + b.getCharSequence(Notification.EXTRA_TITLE) + "|" + b.getCharSequence(Notification.EXTRA_TEXT) + "|" + sbn.getPackageName());
+        Intent intent = new  Intent("com.mobilesec.client.notifier.NotifierService");
+        intent.putExtra("Notification Code", sbn.getNotification().extras);
+        sendBroadcast(intent);
+    }
+}
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/client/android/Notifier/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportWidth="108"
+    android:viewportHeight="108">
+    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+        <aapt:attr name="android:fillColor">
+            <gradient
+                android:endX="85.84757"
+                android:endY="92.4963"
+                android:startX="42.9492"
+                android:startY="49.59793"
+                android:type="linear">
+                <item
+                    android:color="#44000000"
+                    android:offset="0.0" />
+                <item
+                    android:color="#00000000"
+                    android:offset="1.0" />
+            </gradient>
+        </aapt:attr>
+    </path>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="nonZero"
+        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/drawable/ic_launcher_background.xml b/client/android/Notifier/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportWidth="108"
+    android:viewportHeight="108">
+    <path
+        android:fillColor="#3DDC84"
+        android:pathData="M0,0h108v108h-108z" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M9,0L9,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,0L19,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M29,0L29,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M39,0L39,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M49,0L49,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M59,0L59,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M69,0L69,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M79,0L79,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M89,0L89,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M99,0L99,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,9L108,9"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,19L108,19"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,29L108,29"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,39L108,39"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,49L108,49"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,59L108,59"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,69L108,69"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,79L108,79"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,89L108,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,99L108,99"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,29L89,29"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,39L89,39"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,49L89,49"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,59L89,59"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,69L89,69"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,79L89,79"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M29,19L29,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M39,19L39,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M49,19L49,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M59,19L59,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M69,19L69,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M79,19L79,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+</vector>
diff --git a/client/android/Notifier/app/src/main/res/layout/activity_main.xml b/client/android/Notifier/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..b490433
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainActivity">
+
+    <Button
+        android:id="@+id/button"
+        android:layout_width="365dp"
+        android:layout_height="53dp"
+        android:layout_marginStart="20dp"
+        android:layout_marginEnd="20dp"
+        android:onClick="sendTestNotification"
+        android:text="Broadcast test notification"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        tools:layout_editor_absoluteY="45dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3
GIT binary patch
literal 1404
zcmWIYbaN|VWnc(*bqWXzu!!JdU|<knU|?_uBS)VAk24Gm42%uQx37JAvhVwG+k;De
zThARhrQ?-VwQPc!DBslGA&SWkYzr=Lyk4vSdVj>xt`5!v_jjvkEam13D%HG@k-IMc
zNLB6Ts|;5bzSwJe>ULbl1cvf&ZkhaCoSq2>@AZ5-D>jj1lIT2H&dag$gn7N+e4L{u
z^V=qU9`n4<|KGj+Jg1Vc;+*Ym8}@ms^PajGxhz`fUcGqB^ot%&0-<SfJ)cVVO>(G6
ztJqa}H}n3HU3Yip`SGVeoN_0jHpk{$^4G>a6%8p%x7&Z)J5^<uR?81>*02Bzg(emT
zh6~~ha~ZWf7(5v43`IJe7AY!<W#y$PFtcpsK500CiLZ-!>6)06s|5LTR<K{TcaF~9
zbD%{1-rO$?pSJ&<^26xwioZvHu>Z~a|9(#3-?A(9e&YZ4?>X2s?GW>o|33SDelz`B
z`+wn|Q;!w?=CKR)$n9qK&JB=|i?B8=Za(_yby{8ahEC_FQc?|fX6jq-S#{;T*P>@x
z_ZT?en<r*E&)Q;JKB4E;cJ1wRYNu{{*^tt*^3=nr*`E8uH=QV7{A%BvQe7LVstEhL
z)9e`-{%!Hx-!)q{rewylw;UDKPvpPmv`$aRS8lnh7y5OB{r=OhKQ$e>v#-TMm+56J
zYxbSv3`wunSg8L0QM8}=O*rp?-VOhM|NEg<)7%*xHvh-siA*kcCjMS>GB?P(>_@}3
z)Ft&xoDRNt&3eFh)jsaGt6V1Y-utsGX3D{BPrGiMe#bFC=cA;8J<F}-;yY&AH^|93
zCrz!gnSXZPK?{k_pd*dd+__gCp8gzgl&i=zzKg3>MEoLi`oHXxI)DE^oHMbkaEEw%
z-<J}7#n>9tK<CtSZ-vw0_vgQ7-+b$Q|C{P1hwC$nzb$F6)|~UHxaBgx|BXU@PDXLr
zqZ@R(GZJ(cB{0r)+~l-=)7MOuy^MbLO;;Z7Dp2EFpYgzpd;Za{sv*Z&GCkNMnEtW8
z=b76ta&SZF?JAzQQ{1aUJeuaN+PinrB3G%erJc1VS*xnwZ`oS=)7Ivd+5$bcGbVf*
z^E|V{+KRruUB5;5dv|P6zPupAECIn!6Q;gC@oK{s_X8>tyZ;ro&wXg4x@O8`m1O~q
z?MexGg12&nX4y|S@pnFV^V}u9giQ-GT$3$KnU6R18RkeC3%K&!v-YvBIofAmw>PFs
zIdS)#V<O-5-NYjnA2gdbg(IKyQ^k`L>Nole5AMDC;{Wfgucb?`mgwZOH*=)K)xFxh
zvAbsbOYcV^yis0yb^(2L-iLG^EU>@ZcYlA->$iWR*2l$qNu~2Y6n&DlA@j?-eeQ>s
z$tnK&Z05FhmCbjTD+dy9O%PYyrL7Vlbht#oNZ<Se^Ou*B9ib}5c7<z-C3U8+O8tKC
znEg{}pE|Zz^Jc86o1M4l(|N}|?N_fPc)#AqarE2d?(eC`{+{9pzIvoAN^ZOBuN|v1
z*aN-v<9YQz2Mde-44vV^cFo?LbLalH^o>2QS;AS<O>Z@?QSi@KIA`)Q{Plar-EBMn
zOue{8S#RsoI9{I8-1%wjYL3ra-WXN>myuB|k`TLaRw0(}Q{v*)neU%|Uf=%kE$@XZ
zhG9pKE&f~)a@RGze*OGS1~2BsylnCL*)X3i|99J|eC4QK#}-~?>BH&Aa<AIvOE>fd
zWjZOh{NVc@|Mx8WeQ&M$PqIskKh9jN|JQv<&;0)q`yZ~E&-DGzd;15MW#|73p4FDw
z7Oym+LiWGhsn`4Zdv7t_;1XiVJF+=y-{rn5k2YR9d}BwU-%Zx<ohM5ZPa2+me(H}y
z{i<&fN)MiDSw8&~@$8mYN#%@Lo__<lk1*{P+a&cpB=4O1=PqW?T{qb;mg<Cl<3FDp
b^?$ytcIEB|osUaSO)U92z0p9zfq?-4S(CQK

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/client/android/Notifier/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9
GIT binary patch
literal 2898
zcmWIYbaV6KW?%?+bqWXzu!!JdU|<knU|?_uBS)VAkG;$c42%o%Zf`U6yd@r=lJ=z|
zrPS5UO8NA*tJ`vKZ@c@KYg=yg`hab3SG~WpyS`=rZGHhk;f5&frQKSs4O2I=rAlRo
z2;9mNxyJiSPU3}JNV`*R>7^dl3uQO%=KtB6@_8OJ`?s99PuHc(Wv{Uvn57cQnzH^!
z4YT&W4>v_49d0g>;5}1QsqLw*bguIK-eRRko_V#EY72aobT&L-pQO|$YAra)UWXy)
z?H0HH>?%h$pNjLSyTHFTTZD1@o5kYirK&#Ospl5Bs^WBcdditu$Df4zc4P@8o+&!k
z$5~=Hz27y&v^)8mahg-|JA1KhUV`UTT02EQ$+(1e7MN)IY?yFdc~#TV8Gl98qIT3X
z<+w`qp4Rl)QQ*p5k{WN6_9(e-vDU^NGYy%0D%Eo$*=nm_Iu+cp7Fo9EyM*zH8S<-(
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca
GIT binary patch
literal 982
zcmWIYbaOk$%)k)t>J$(bU=hK^z`!8Dz`&pnMvguK9;+A_7#JI(Z(rN=;?q9<^78W4
zOhLCk^T{mJia8V*b8oxYO%_2z#)|1qo4Sv8EKs<}%(5dn@YxLM1=cLV#rqQHoBJ-P
ze!F;*?O9#M^PhhFJpHdShE;K$%BJ0q-%tGeeTTl|y;HfOn)Vxlmwf8K7&h_K-a~#9
zU+FfU_ytybXGvZo&)>z9l9eA$(>TAa{cmGw{f)Yiqp}kWBeOSLpX_$1_R`GUH)*mD
z6IZ5Aub3VdV4?7jiGkq)Kf_!`EdvGv20LA$Hm8LP`AoMn@GvGtGw6Ca@MSlLe+-`;
ze#LtKr2nUDCw-f7JN{AcugUL?&of?Ye8Kp%@=fJ$`<ITQb-S}de$M%&{4aio|EvC=
z@@M_t9Dimx>4W==$ltZ?P1l7gjK3~&UA6o}nD~qHWos?In)WT!`}J%WM{B$gv&7cr
z9t{6}uUyYksmO6E;}~}hpZb%x*-NJElJdTPV@q6u%I+_+UM1SU(>5(EUT@*rD7ER9
z!i-9Jp$n_!U%S@F1=rvCkXB^V`}>Fg+d9q<^Y^*jtQX#p|3Bc?>VF{}hf0%v7@hoQ
z7jWJ1lTgsqcM{d=yw%ZOQkUW{trmUN$(mIuyN508vZCzSJ@*uK&i|axyTxhpl!EE<
zU!KgkwY>7vLA9lgJNhhEdyC!_JY_C&lJ`oU_M-E@-Y&Q@XZMqxM`iOKJnj!)6aT2}
z<qGzsGpD~j>AE=0ka6Fpr<?+fosXUEmb^Z(_W1e#O7;4?FRbgWd|GF`D`WAuMcvMG
zXZ>Vae3f|#zmTubOVOLtZ&wu@K77-HXRq>!IX3ez%vm)<a2dbhY3HjP|9!>R&GJ*)
zB65nqE9~*Sf1lU=>FAXGvhl-=-AQk=ew>{B=b>4zH_zLO!^;zWI#Vv_&S=hFIw>YT
zYW<T#*8`4}t-5cs{>kfrsL6LkpRU-vVbkwrC70)2oYC3j)SZ-<s(Sp9>{m9Yo5yqn
zH>ff&&3ON_z$0Tld#k&{wfYYMZ~xvqF~z0o|Fbz^|K6$fn`y*~)=pfiz^nW2LBQF2
z;RlQ!$I3VT-G4G(`1>c#TjoFKd%y6P+R1sja{W24fB!XDH8qaz{BLU>d-UT5c46~?
zxn)r@h3o&z{I~t`TKD3s3D17#=if}2zdUBonLMqZZc(f&x0EUh7Cw8>?vR!=(XF;t
z##)$tR_v$8yXKhA&YNu%8Tc!XJ6I*2TgUn0V-<hd`a88BAG^xmkadvD?20XpGtZKJ
y^W||yc)O|Y&KmjoTTg`9>rFVlVx3UmpL<GwJ$w5fw=JIa!1m_ZGv6Du7#INMgYv=v

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/client/android/Notifier/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..62b611da081676d42f6c3f78a2c91e7bcedddedb
GIT binary patch
literal 1772
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
AkN^Mx

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0
GIT binary patch
literal 1900
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/client/android/Notifier/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f
GIT binary patch
literal 3918
zcmWIYbaQj#XJ80-bqWXzu!!JdU|<knU|@&`BS)VAkGZT242&OI|L=d9c6;03|ID7!
zTYS4x!n>~6<;Wk;yuB?Kgr4s#xv_2I?+sSR>i>utNuROYR&1%H*6^=BW$Bk?UWGYR
z3};zgIkqBV!?syM+{urNy}gScC$oB82`m1#B~j^=uFb>P`@g@tn!nxueBbYPH|rm}
z{{MGx_q+`gl$Fe^qTPfqURz%GcF*pMM|Yq9dn<Um&_uJF7iX>bb7cM-m(}IxD)p5f
z?JYjHxb(UIya=^RR?<<zzI)$uF?@()vf_JW%MkN%pQh5<%g5VR{5*QQaf2dbEdM6K
zhTHpZs2I&Lat`@<LAIfs(U$KVb9v1Qr<6-aroG6#&Tvk7>OIEmHgiuDWldRj>wE*R
zV^%8jkI3FFUY%-HM|>NcSIHJUR_-X#;<>oHvA1DLJMRNqA2rstFZ>McJXR0d+kDRJ
zO#RO%m=eVDUqa=!va|E@!>lPL7IOksFAF<Az5HN8V*BOx6JH!A|C5$6di#OjdslYX
zi{Ax`(FY&8`>cwdb&r+vM1{bf{*viBwmbqUaSg{OyzN?etGA$I!ExW)CrcV<)^oLM
zSpD%bEKhr}(xJndVV?6cW#8uTgUXZSuJ=rM*J01lpHWrQWPQ<OtGp2Z!MEHgw~YT-
zR=8YwoPB5B!p^-DW^jBvJ2}_=^KQkCRS%Tc+ztrY#bT!?H$B`lH|<BELx(rRyn|`N
zX<wBsT&_KwKFiWG@Nb$&4$F4G34WXYs3;s!V>tgbW>Q#uo5HT9_Zo8-oR}xN{4>{*
zXrA+T<(6AtyQyX?S9oai%`F*U%RD;#1!_Dpm6FWvx4F02*5%CX6nXkjaP@yt4?#`6
zx$>*KSFh<bxxTLVDsS(SXMP?%EW4)*Upe%4<F3aJQ#VwFuX$&u<GB9l>w>u(N~+hq
zv#`i4OJ7sAUNv_=pPieWxlgw9l8~=|B4T60XLVdXV4wVT|EeID9IyMmSI?hn>pUTL
zuUX)cFq2*2hAWr8mpD99KG6NUNLQ`=!aj?;bw1~|ZIHFq_7l(9ysGun)b+<-9-nHX
zI&~g*%MF$Xp-cCv+}&THtYX#_&G*LKbBg?L&6pgSy71GNm+f5moIz2KvEpce^sWng
zKtUI-BXTA!MB=xG$`KWgeFk9*%!--Y-?bcZ+3@>DV~usptzTPj)YNBp-d<Sq^hE50
z3XX4c0$wiOwsX(l%Y{EreKXqbzVp?mrv)27?09t`Yo67UPus#7gxDGH?Z|DgRt(Pl
zCuPScSDzEcTY9GTm*Vw9M-M#wrTj|uT~El;k2dTl=N;I)CGg@EUu(0!oDQ4R4m@9W
zT&HyE@7JI0n_F^N53Yayn)Myu%Enyn{|)?+Typ;-@0u-GaeLRL2zybx6!nTZg#n8f
zt$dy1rp{-@s}w1CaAvz-kJLN4jk2?C9?Wk@ac=l8V`G^%v+Cr|TUT!BGfZb?|5H`F
zYFhFu-RExV;dWaY^)rS0d(W@+>3cS#>TFp>(M#9sOnR|=JKinzo_u)P%I`Vs>SBHW
zWEJde;~MN`b{iO`%)E4B*N)`0ue{Tll@xg$S#~_~U2SaLHA{2ps`b}mZ2ov#H$GSz
z{)l<QXYF=<v+UZgOQ*NpnGsp}qCB7ZLCuS}4}1r5?^pjg<+C_v=A|>c@=J>HzADb&
z&%)s1;-v2A!or~U^U&e2=W6c1O@dF|6v+-Q)^6YTZM(TbV9n}|d{LFS|F^HpZ8I_t
z)s|YuqZPfz_l(ZkxgXl(=Wcetu<?!EbN76U#N5oZMPXaIj8^3&R{Xwl=hH34{<^oz
z>;K*Vyl!9W^?Q4F=k5Hp=l{Pqm)BQ*QOrJF9DKW-J1np*^11io-e+I_e0ufEv0b+M
z)MEMHH{9nJok?V0yI$|Szq$0{rF+s&S!hqz4|`>;wrrMh@#oLn+}xjwjnA&^l>O>u
zm@g765;-%bzHoz8(CX{2zuxjF-Ed>RahK+*GhUgwJ%&-*M}1bZGK2+KC^T_0Fl^9e
zn9Hb@z>vUTXDHI)v`A4=qH<e=0yE1thPdT>kFej{uVA}Q>;1L=jCC*SXS`}Kie2?@
z^}FVW?yKz$_%H8&zc=vDp?}BfF8$v3%j*ln-?Z0Ce-C_P_}lhn=ieDW%>J(ayZHzA
z-_HLRuQ484{WpBu{4e$s_O|{D{dQXO{R?}YeNJWKTg`u*{c7|0VD#(wcY9R73cg=I
zrCnnlgWW;<&i^I<<Nq>$N`I1Ux8AS*!FSGo-hZwCPX9jt?)i_g|MnOB?fxHi$6rKj
z^)io1C&OnSW(iz;Vci=?ubs_Xe)!ivnzHf9CY@DBTk|xouWS0HwmN9b$J5iE<?wcU
z|9={FD)y<ZOuO;=S;2{m+1u7<-YkBb*Dk^OT(2sBjn76$x!-Ozg$XlXIIUmL#4RfG
zT>sx8$5Y*39!=*^U38=Sxv&2!(a%3$eyuoRdic3-h=b+bH>*_j&v)vcnPX{uR=%mA
z<8x1_PRy*PxDEB;+@B1hF3A=xzq{z6t)i8Z%LN98fB)~a*Z=<{-x&XPWxCwqN0VP)
z|9*0=vD>OJtD>gkDoa1=|D5wP?&34EBPKf~EJZ6_Iv5Kd>TmwYp%mA%jxW__%3rRu
z966?`pX<1%nEa594i~*rTl;Nw&)Q@ErgqNh(%bs3E_!ZhlE)K%;o`cxUs*CAZ+>P}
z&wYfc<!av4v!{28G(NB7-*Dpoo48IXn-i-JF}2l}32AQ9TU;@})^z=r83msb<fpvd
zX|zV~&Y40tq1&p-H}5AEOwr*CIyYC-I{UbMS7%}PsW%Lo0y8!}e{f~>N;bXP?juvv
z4fBc?th%2c_V>|)F!OW5Z3V02OY48Rq$-#!mJLW{5ct+8G_zpFGIIf0k1V%3o4E=r
z=ji!p^M7*w@yGAqgJWd}lo!Xe91q$&>*?ePzs@gxe`K4w!u97f_Ias1Uu|{f+k;2G
z%UGXiGdz5CSRw0XRZNdO!(<hoR;RLQx7hVkZ)tr>yRgRpcaH5>*TP)Zf7;q#cAY%<
z-?czl@=(b!;ZtiG6SOXNOt@m!q-pW_lGV)vHn!UzhKQ7|D7^SDURmux-K(U<wf~DP
zA{Vu>g$p_JGwqQ+*80FCGG_nn3n@L0wx7a%jFeeJpS8HYPq6pTR1=VYXL<O>%s)oW
zQ(acf7FzUUN5!IhHg^~WXY~F}@M1W&$M}Q6{Ftw8|2r4WH3>Ypu-aBA?nj%Fp!f6%
zMSN?v*G>%LetqC-^Yp_3rPX)OUd-B;HGB6(#~t2MJ32~v;yzq>VRnDrr)i(tE=B#}
zTJb!KA>~xk55{YAx@*=y%>6fE_p7H7b~6f;7#4mxsTghlGVAC3i6`uoPkEI5NxLJE
zDxRcn`u9Cw(>|9E$@ALHbQKF%mH(`{&TwXCbJg_;#!dIlU!T76gy-dNr*#?S2Q=oN
z=-dC$yYtTab<@8sxh4H$Uigf+D*Hdgto(odk8rtW`N}oA|E2Wfjwa=I-Rj$=TL1kb
zYfUj{b*$Kt>t~J{WFKXg-v8i#qV3W<UqaPxpFLaEY0^?qrsKQg=*Fc_eV;CFk-Vx=
z==r7Te2qPe*n=$}EPIasFI|0c@zvaSNgs3=_|qnzf1G@4fpFU0-cP4B*1vkb;nmS7
z`&q|>G^Cz*Ea3XbG>7fb1irhkrtop^oPE*l$v)SJ&40b$v7hRAv#0O;b4%;zduQqF
zezJCjc!DA8?I*jM_-n6+amy_~Yi_yhy=v}l{my#{k88r;gv~hlF?e!j+g|6pJq2rC
z*Z2y~GGEHybI$IE<i-1Dk-cC46yLY@N<4My8FS3*;t%tkCitFS^K}|e_TfsIzkgnK
z<;?s3@l?z{jy1Xy9&+ZtOiu3IGdYpjzyENRf{3exu<b3aklBa16r5b`me!mv7M<^v
zGr_!5;c<)ZH%-R$Q<LjNd~Z)sxFJ6;S!dRCp4HRNsOj8g+%V_QB>U#hc&-;Q*;XO-
zaenPwtkahLtaIEi`*O#e|Mx%NiEMN#+`ZJ_ZE<?+veX>c+&{Oyx)wd1^w!p%aewH+
zWUb=a|NnP2pJen8zO>$QLT8=Fp~dAab)Uks8>X|Qgm-;#j}w&+7GE$;a#ehwzTItU
zE{$*7!>8#@_u2O(w8HWJ?%328^UT;8$~VLNK7F(QC^_S$%nMF+QAz)k>L$(0GNa$U
zUHyOmFA1rzlb&Zor*B*9cX7?Pz|$LrPduq^j99xjdgC9qlSf)a&oFQQygQE}!nfd2
z?d9h!Ya%ztC7%8MD2ws$jD$-j919)u?v%1TIp{JgQ7U^^cBE5?>iuK0O=HdU*Pp)2
zqP(uxId;i*#oWtP=eE|Ij<dY;HRhP)$KMjc$EVv&ciWe*7QOFeMc$<58z)ltzB1Tw
zc*=37PT#s`e^Lr|&R|lTtgcl1xNV93AC0+xUJ6(ps&vgX`v0rP^2X8W{08Oam-Hps
z&DsAuR~1)0Vo#WK>4nO%U)_&=Joc|Wad^R>KY#lKSMOC<h}(2?%j%0??V|ek@Vwvr
zW!kzVr@x(tW-`w;(7VW6yh)%j{9VOK2{GUAQad$&wwi5UcR#{(Tgb)EZ#SOvT}V>B
zpL|T7G5@`D$fDP8zumqXZ*?%N`Td8YH;N|t%FIu_!$0zKN@_gZzVvsW^r_vEQ+?-%
zxwEIfy?w8sQg+AP?EWii75Ce7_iL|cis(pBzVh|jS<4?BIdeq*%@KJP&*T1G&GmD&
zzPaQKXTF2=!N0v9AKZR+!q3K**q<L3Cro+xW<vhEeAh$U9`)s&mT=q_p?6-D)4VY9
z{qiSw&Zb|uurt1r>+e@5n^|k8ukOo=yv}>%n?=;CVkPA@`Uf-rILQ6|KJ#J5D<ReW
z{b5{1%AfAUe@U~uTc2@9Mg7M6UlsoZp2>&yBpO7{>M{EAZndjhLh+QA14)YyhSx29
zKiOUN|D_vS4yX$Et=YVAo<hPTb)y4Qmj_yBn{O|i?az4Q|Hq#DPOq$DBqTonbyG?{
z73OCd+&!W4@6^+8e@S0_>u4=_O<3Yon8w=+dRhi23{Cdk6PsJRu~zoI5}V##&m~GW
zJ-=)exQ?%V8S3BoaKX|g$6i~nS}YK?W#0zI|G`d2R!v+{CFZ$lpH!u8yu%e4-dP8)
z-0y$!{BZZ?r#3D-!*8to^Od`Br%BM}%3g=9DetWRNv#fTss7AoWfJs2A}s4tqVANH
zzS@UB94dY<X?<%$$N#IpjH4aT=U9JAZK&LSi2K-~j1rFtiq{Hfs|K+|cJl9DZn0p&
zj@>_^+Mg6pxWwwQ<I`J-6T1aJz7&+tYms|x-7noNIOlQ3zJH}}&6VbDc*ElUY3G+!
eMtn&U_A@Ux`8_<4IZbz#+KD}K|AdMd7#ILO0@8{A

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000000000000000000000000000000000..28d4b77f9f036a47549d47db79c16788749dca10
GIT binary patch
literal 2884
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/client/android/Notifier/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..9287f5083623b375139afb391af71cc533a7dd37
GIT binary patch
literal 5914
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000000000000000000000000000000000..aa7d6427e6fa1074b79ccd52ef67ac15c5637e85
GIT binary patch
literal 3844
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/client/android/Notifier/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000000000000000000000000000000000..9126ae37cbc3587421d6889eadd1d91fbf1994d4
GIT binary patch
literal 7778
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

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/app/src/main/res/values-night/themes.xml b/client/android/Notifier/app/src/main/res/values-night/themes.xml
new file mode 100644
index 0000000..d5df534
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/values-night/themes.xml
@@ -0,0 +1,16 @@
+<resources xmlns:tools="http://schemas.android.com/tools">
+    <!-- Base application theme. -->
+    <style name="Theme.Notifier" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
+        <!-- Primary brand color. -->
+        <item name="colorPrimary">@color/purple_200</item>
+        <item name="colorPrimaryVariant">@color/purple_700</item>
+        <item name="colorOnPrimary">@color/black</item>
+        <!-- Secondary brand color. -->
+        <item name="colorSecondary">@color/teal_200</item>
+        <item name="colorSecondaryVariant">@color/teal_200</item>
+        <item name="colorOnSecondary">@color/black</item>
+        <!-- Status bar color. -->
+        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
+        <!-- Customize your theme here. -->
+    </style>
+</resources>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/values/colors.xml b/client/android/Notifier/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f8c6127
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <color name="purple_200">#FFBB86FC</color>
+    <color name="purple_500">#FF6200EE</color>
+    <color name="purple_700">#FF3700B3</color>
+    <color name="teal_200">#FF03DAC5</color>
+    <color name="teal_700">#FF018786</color>
+    <color name="black">#FF000000</color>
+    <color name="white">#FFFFFFFF</color>
+</resources>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/values/strings.xml b/client/android/Notifier/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..c221d71
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+<resources>
+    <string name="app_name">Notifier</string>
+</resources>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/values/themes.xml b/client/android/Notifier/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..e6e6031
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/values/themes.xml
@@ -0,0 +1,16 @@
+<resources xmlns:tools="http://schemas.android.com/tools">
+    <!-- Base application theme. -->
+    <style name="Theme.Notifier" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
+        <!-- Primary brand color. -->
+        <item name="colorPrimary">@color/purple_500</item>
+        <item name="colorPrimaryVariant">@color/purple_700</item>
+        <item name="colorOnPrimary">@color/white</item>
+        <!-- Secondary brand color. -->
+        <item name="colorSecondary">@color/teal_200</item>
+        <item name="colorSecondaryVariant">@color/teal_700</item>
+        <item name="colorOnSecondary">@color/black</item>
+        <!-- Status bar color. -->
+        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
+        <!-- Customize your theme here. -->
+    </style>
+</resources>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/xml/backup_rules.xml b/client/android/Notifier/app/src/main/res/xml/backup_rules.xml
new file mode 100644
index 0000000..fa0f996
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/xml/backup_rules.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+   Sample backup rules file; uncomment and customize as necessary.
+   See https://developer.android.com/guide/topics/data/autobackup
+   for details.
+   Note: This file is ignored for devices older that API 31
+   See https://developer.android.com/about/versions/12/backup-restore
+-->
+<full-backup-content>
+    <!--
+   <include domain="sharedpref" path="."/>
+   <exclude domain="sharedpref" path="device.xml"/>
+-->
+</full-backup-content>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/main/res/xml/data_extraction_rules.xml b/client/android/Notifier/app/src/main/res/xml/data_extraction_rules.xml
new file mode 100644
index 0000000..9ee9997
--- /dev/null
+++ b/client/android/Notifier/app/src/main/res/xml/data_extraction_rules.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+   Sample data extraction rules file; uncomment and customize as necessary.
+   See https://developer.android.com/about/versions/12/backup-restore#xml-changes
+   for details.
+-->
+<data-extraction-rules>
+    <cloud-backup>
+        <!-- TODO: Use <include> and <exclude> to control what is backed up.
+        <include .../>
+        <exclude .../>
+        -->
+    </cloud-backup>
+    <!--
+    <device-transfer>
+        <include .../>
+        <exclude .../>
+    </device-transfer>
+    -->
+</data-extraction-rules>
\ No newline at end of file
diff --git a/client/android/Notifier/app/src/test/java/com/mobilesec/client/notifier/ExampleUnitTest.java b/client/android/Notifier/app/src/test/java/com/mobilesec/client/notifier/ExampleUnitTest.java
new file mode 100644
index 0000000..535e1b3
--- /dev/null
+++ b/client/android/Notifier/app/src/test/java/com/mobilesec/client/notifier/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.mobilesec.client.notifier;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+public class ExampleUnitTest {
+    @Test
+    public void addition_isCorrect() {
+        assertEquals(4, 2 + 2);
+    }
+}
\ No newline at end of file
diff --git a/client/android/Notifier/build.gradle b/client/android/Notifier/build.gradle
new file mode 100644
index 0000000..4e04c69
--- /dev/null
+++ b/client/android/Notifier/build.gradle
@@ -0,0 +1,9 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+    id 'com.android.application' version '7.2.0' apply false
+    id 'com.android.library' version '7.2.0' apply false
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
\ No newline at end of file
diff --git a/client/android/Notifier/gradle.properties b/client/android/Notifier/gradle.properties
new file mode 100644
index 0000000..dab7c28
--- /dev/null
+++ b/client/android/Notifier/gradle.properties
@@ -0,0 +1,21 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
\ No newline at end of file
diff --git a/client/android/Notifier/gradle/wrapper/gradle-wrapper.jar b/client/android/Notifier/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f
GIT binary patch
literal 59203
zcmWIWW@h1HVBp|jU|?`$00AZt!N9=4$-uzi>l)&y>*?pF&&+_TFn6P!tpfuCgFOQS
zg9x%hUq?SrH`m}0JzuxazGqJRc<bt2<n`9oI(O#$<{*PB#t)u;I-`5S^Q`Y#ZBHFW
zu2*d-)1EAe(%d1gy6njktrl@rF_9%=AB#Q~F{0TBauv*JEDQ_``9<j%u0mGB4ONp~
zl$er}idU&Hs?zeJ#Dap<A`C54RWC2w$;iMU$;`l@k6nvXett=DNl{{fZ(?R%a7kiO
zNotXbp<Z%MVsUYA(CNI(4kEUfca$0~Yx&|@ImIE~Gc)_3SqE$AL<c>cpwh-0K5rCf
zo|1Hb%=t$|+Du{N1LhwZM>Yy`a>SMx7Rwi(ySnrHx%2V&>lrG#_A-3lvAJV6<GY9Z
z`hDg3YfM<h=4CFvTih76x>oOj?DLgEJ0!Cg-|K0&O+BBYpS(=)dFPpPORuKd_*UgD
z;BNdd)$o*D`X&vL!^aEreh1z^WfFW*UE5tbb+LHmJFepoLb5KGUb0HvKEFi6L9J8D
zvT<!#jiUW2kLMS?=dL`ba%#y-_t^BUFUxPe*D$^smhduOW2%JZnvj3)LL9q(-cVcR
z!j%)F_GCrM#@E7=Qz{*=tt@J``TEh|h;mNrhm9H=>@r^(OirH6GsV{CR=xkSuN!5P
z*mpC%)i&1)_`mo|?t3TIIR|dt_npdnQAl?~`O#fD51Y+0ZA5=W8Ev*SzV_|Si&vYK
zg+H`k+Q?A8^VY5$-i$+!>mPmkvGZAlg}mGK7p_~H%If}0ADRBj^1<E!RsMpx<ra(=
z^ezS&zY6}ud2#EeJC4ckw6o@?zX){A_frV2dU@Aran<*YJyTa5$vPTy*lKP2?HdPp
zs~7|0jvmYpK*=JRj5@33Ss55qxEL68iBAR4G!S+>SU6nbzijc%4LTi$TAfWBoje(Y
z^|yv?2<z3jz^cobyXBVNNyRmJWiQhfU&wmDcCXF%#_j(&zp36Z+Io3<*|Pe{kH1*&
z_Vi5JbKuO)&G)~4k2U{q_xG=1!{Q&FZVbXkafews#hqtNF;GpGdVlJJ<5UCX#4tCW
z=_xVCs*Rpa5Iw%9M?fqk=3r>y9(gCffOV|}v4_}&f{c`QC??C8tJd7;jH^*`<W3B{
zajJW<0-s)@=dn6Qg|<a4scfmIOm@yS+)^}ix@6PxlHhVb;~zpNwR!&agg)T89eVf4
z=BbyIwm;wM+N_ay^;GsT(X-c%R`<RrpH{kQVu<eU8G5&(4nBCfd)u~6hu(g%JY95(
zZ||9mT{BBfZa@5H;k-a+9S?Ko>sPvO`=*(hY@Tt>YFnPzaoeuErTQ<}<jX&1lufjG
zlcRh_p;}LUtx)32ys)$vA9h@x<@@6Ew3i=3kMl-v-NK}vbmg+a&dG5zf~6yzcDk&H
z6*}C<c3;nPhu9y<cRJCmZ4u24XQ%VbE59VyuTpNVo|n6H-X4$DH-ir^_uSWAG<Co2
z;<Y=Hgi4CcHqLsk-Iq5rm2>+FEAL&A0b9Ff#y{I89bdmlwRG*tfF9jKuFT(G(^<b9
z{k+Tff^KzhOxoJ6xzC$CJF~)1Pcc}Kz|hR)_gMDSp)iYL(aRUT|J2{$5tdw?B=Tt4
z(<8j6+7CZIXVf2GqAjvMx!ZsK-0s(Db7L-?T)r<tQ0$R&^V5YQ&gZ91_U_)!v9{$l
z7ta(Hp--EiTdFQ)khbK~S>y2|qLKI1%Eb$sthwHGB{QrRx+YT7<S%;XaP29*t>vd)
zFAI^)KE<plwCI6xjo(_WsHULXL7}Yi54>69A7;N=Qgz9=E%e!<eO&tvCdkIDl``oL
z;bD9d&3gY~W7GSO4a?q$w&y(PXp;Y+eE5R4mcbXh_4S#bwngwheUmxYElS0ETI{8a
zP5x^0=3YJa@$0Lw{EN>z?_G5ZU(?u-tb4|H;(eD*g&E6_&3<haIyq$i#E{mH(@tHn
zRt|dNSGM-ehoH|@9xBo5CE2zUPNklGrgn7pn*2?>mOszvw2=B_wm+x1SLn{v^*0U$
z{I$LG<l17c52^1`Zs}}{c*Oe7if7mLZ8s8jU)gpuM`=sd$MbuZOqu8R$@R7VirM9B
zZtq#Dn`Qf9(zX>7SFETs)aPN3z83R4jq_9JEt%BslgoM+2J4&aY~yRLaEh$iKI`nv
zC{G=mk8{1Yy>XXWz+b`e=sdgHG`YF!FGtUs*E6s2A@7Fxmz#K<OW0zQL^!QP{TV!Y
zE>BKmS*+rE>J5v^FZOr+c89jzbpF4fTzFs1jraeV8|UPk{N^~w>rtPlG(|bc{apD9
zuAN<eNgAOgxeKb#{O7p6_@7qQqJJOyv<@XVW+?2LyhPbDz9M{E*WKiU851hS++Wn5
zzq;bT{+D&meZT6Rr#Loz+r1$8#gbxu$Gh!(Ulz`<v*=Oo<8fUd^vAqVK(%YH)5ZJB
zyn=U@h&$+76k5BK&8YT%Y``jYK&$V<S@&({F7hu*e&VZoO4`D2&+I3UedjD_*&FIT
z^|-a?9>Ya08{TsMQav*7QCrJ|mJXLPznwEA?=73}^5yNytB=wb{d`ebBfRlWLB)Hv
zZ!48UzpPDeko)`kh4jrM|L(9o3YD25`Byr2asS`_4pLubYfs4SS}K~^At(`GF*jtT
z#?`C|4$C>e88T@(^-aE`u&a<QUDKxMIUCm``DG0J!V-)&EZ<m;b6A{AxwFs0|0Q$E
zqxa>(t^d(#{EWbVwTl=S7%nj|Feo!XYJ6yI4y&SF^2_sb@)J{Fb!=^qFV`Uhf!6yO
zrdzej^qaV^v+ZrNf8Z2T(R8EjhR~!*A=T#MatE9{H6LA*e8$Va?|a<)<H84|oY{^U
zD5#`Y7tg#S9wl@v`nE)_>pq>Mu>xw=lQUm)FYep4@75ee#WQPyV=O0TpOjW#<z@Bn
zv~F0-#e)(r&7vywZ54A@?+|nQczNlRNZ%R%GCiIvlzf<*7r`RFP`s|C?t(>(kVICa
z$v-qNE@f8ov}R#oxWNu-eSsP^xV-3+nwD6aQv&mHKv8~rQEG9qPiApRYF=s)q=H!*
zdN)`)ROJ8N95e3IY(X9xQ?@m1GiC8w6}Dx`+T6yB42`J)0&A_NKQYVM{pL{`^Iz#-
z4}#-=E%Nt^uX)+SadqZ5-}GPNKfW$9wp#qSS^n|y9^<~}afjTOH(WNHIj8#joa%G$
z%k92BJ7_O|pZNpNJtM*6++Q;ea%!?IJuySY@7lvDotG;%GIGwDIBT=oxx^KWhb0Ur
zn0}blsS(#VXJ+HC87C4$x<0cV<B2gaI44lJrzr9Vk8I_6{pF|a^evV4KKb0r`f&N@
zQ!^4*Xmh$xsZ@~Y%PTLq5nUwPKV9!v+)eSRUia3q912}mEnc%Rqx$NpW0DWWTcr&)
z$UL0CCDz*FY=PZQ?#AOyZ)PTO@K>rnx;15cY~eyHd+k4-cCRNavwSbQ)A(p@wB7Y7
z4-?L<GbrKf*531q#o9G(Ly_KEXTJ3zES7U_^<H22zr$^*=aj5%P6wK^QZxE?rv@fv
zcs^VI$#q_t>x6wK6HoW_otncFr*)Enr<Z@W<RaJeOBXoC?Rc8dr)7OAVIBK)!Nn~B
zd(4iBXGyB7gqQCX-J`=5H!ZlSs)%>>)`+jQn`~|wzud!?U;XmVj}u=PMR4StR~5?*
zxtVlzp=RX~-=j;*%vs_N%q^X@(YNch*5(JHC)KmPr(OJN@mJ`=p}LqY7rOR}-MWyM
zC~u`B<7&V0mHCIRR!$KenPY<8_hzT_`b6z$(PX}S>66yfQt4Yfzo%SVcxk!%s=S2r
z-Mouk<`{mM)q1_~<{{}FIS+i>&isF2rMkD%+^#xQWTn;Ke#3h_Q9)%ZYL9Pkja#+#
zosrCH-bqf2KYrqV^mbK2x6<X!M+?H{PHUc6*%7DsA$Pk^^Y#;SS4r%5n(O~;o7Fm5
zh2=lW4t69LWw_7Tw)TqJ^O}55$&{?#*=>e;?M}0wUw_K;w5X_UOXcia*EV{ez2Le%
zQRaxa)U2mRE_}VN)82M%!W`+S!zuUsnN|2NUDkPN8ufUk=!TH@MougDrDka6N<Oqc
zwR&=jcFCmqli!Q4I6gh&NO;Q^(}#_9r{wQiELnGZ$D!0L^@+|~mfu|SaBn|HZR5dp
zzh=Kr@_*%=G5?@X>DIRJ1(Wwwat8*r%~F;>IAhu~f5FM#`jYP#=`o%33SPr^NZ}`M
z?6><u*UG2d{oeA0`PT<!zX$3^^<3w0<~H9|nCBF<QQCz+(mCt;>T_Q&#<h#}Z=Epf
z-g>F0?53w~&Y1b?O`K!xnUZI0Us~$8-8&*J7Vd9no>c4<-|D#~x&8ej#g>;LPRq6K
zxm{lHk8_dn+h1H#@9zgbV0O8%YUxLoS04X-T>rL8eb(-KXuj#cr+S?`TYUmc{mPI&
z;hk<u^Ow1lZkkc@Df8-#H*QstQ$>QUXHHo*X;rgX!MTR34wV;q15al+ZJKoNV}$4H
zeHSYacQ1Z<%X;;V&0Wv<&7$N3FaEo?@apmGj6$2`7o3j7RN3{bU$xhdwL1~q_G~|D
zGxy>yzc)I}3=9X@7#K_l6utpP`4yFpr6n1uc_o?2i6!~a!f0yf-C&_Wk^iwS;@4d}
z1A;#*n=*$4{JvxoY<S8^HQ@4_)K=L$hhn3qU8!G@{+e;_oR<ri=~utt&sz5Kj;N%I
zdvAO7Ios#u=l;&!{5+2DU)>*;1P*=IiVNzC=IP6Q30H1VxX$LnljL#0SCHvD=Z>cb
za`oPK?C4Hpcazz1{AwU$veLWcm=<pSidCG9!Awp(p~<V3&3eou8h2l)*>;J#Xxpxi
zRhq>+drgl<Ot^k2rO^FL%bd7Lyi?zEyY1e&F72ea>6f){PtMu7E@RoO3BGp|CZw78
z8aicK&JN`;7P#0OVvu^`<QAbjCQp3a44W?hS~l(4)0FQgSr+s7Y98$g`mroe#k*$J
zI>VC6+KJ(xqAgcwrhO<8NG(XKxTkEcf2hmzbd;8aId7=9;0Z^CVE-4HZCTv=XM}d_
zH_kiNd3|%yu~nf5Oq`d0KcmFvUdf&t&CK)mIfLYp9rKKZyds{~mdNd7nlrzJ&BUvs
z!<|Xad&WUwPJcl`1MNh<&pf?PLw%lJDG4%EarxL2#NL(a(UBPE5Oau0Ofri(m6x$x
z;N`dCD$NHwTT<5)Wa+DHS?qj3%lX0oeVWeBALkgkzn=Lwso<i{ktybus@@-3-}2-~
z-MklVC3O5!xx91G=iT~E$t!w}J)0gbQKdI)dy8uA)T0qCK1<h}aMD;=az5bj@jVtz
z^OXO5R9yQ=_u`B0uhss${M|&@n*6t~l%Lh%#hGQDttEYQ^UB-L%&t~0yfdZbhsXm~
z=h&xaN{O!)mfoCU!ZXw3#@>CQRnw*XEt5=-=trEET-?N0CI0$gz37II)hun=Tev4J
zDRf_2FTU;jk{cIXvZtp0=}G&rI)U**li8#)yC<y=^tWuD9P{mY;77)9<sB2kX1a%_
z$R9eTC$qOQWVdV7rxiDwO>TeZ-4`_d^M$AD?mFMSV;7@c`?oUYR%><pkC=NKUliHp
zeyL!NSA1lB=Le&F-6DB*j>qDUe&l}qB0Sw-&W<*}uA*e2*d>OCeqHpP)oZL9Qh0Y&
z$6v=gtgnvsIyow<<hJH*xV-yf0f)wuhqI>pJxHwMzTX`->FkjM&OGac9?S6+TfVrz
zQtn~rvU=3qr^0Zu?lC_DLxchYgChRi2dVehMsZe1A1|%zXW8goQ0XY7`l2OOR)qh;
zq|!;#awaZP@z~=sVTxwtr0@fiT3C}F9(59#Yti@iMCV(LvK;loIm_~9FUy;4F>wyZ
z6xZ8c{U_GmHG3)e-Q)HbkNz#b{@3?T+VG!8Ou@lv%jNaIT5irX&%amwxvxGgyy~%g
zc)ao=-9KyE!!EzCd?8W0T4wKdm(RZ!{bX+acfmRDm$KoHZ4Z7WPyKhqx!&u3;LGzO
zzl!-oFU429(0{pG?ibVFsTu#GHvH|)_;<~D_seRozjK}H-!HWK#m=w0@O|}*(_i|N
ze$99Jd|vBscYEBD`p_5mk9^L(_-A*<J;Af}6)(KM%$NJ6|11CEAAie`{|-y#t6sR9
zEH+qqM()-T)l`*#R|G-}G<Vy4an%dH`8KgN)Z;;sqh|Px#RaYH+b(Vox%T0S*Ts;P
zF}m|ior2aLikoq^+hucviMLCz`mCjkBGshkA37}>xA2n}|J&zLIW6HU_uO(;uk1Zl
zH#I+~a_xe9Jj*{>@$-JFnrdG0;`N@ur&X=yoI%Z}dbP|ozeu*uwv~AxHZ@<+$V_{W
z>%-{Kd#gT~P2IkFkMq;HhmOTMRj)pkt95_br@X1(SJdo2RlZ_RxK2*^4(ErpK2Zj8
z=4<+9%=3}*TxR;aN6=Pu^Y@v;A7`v||D{uW#c0yWbs3k;4xD(x`tr_`dsA%Fj=ar?
z*zPN^n!TFu`xm*lmZn#3%5#1D*0A=q+}}0#gf2f`tgCpt>zMoP8Cuq7DlT1n{B44q
zx1?6NQRo)_clYn#tk)8;X%l4k?tIm`a@G3%-yQ1HHA+@JR!EuN)p2lF-@SSB&h;^7
zSeOdDdG|(E#^S2%n^#<IR)(APTaHR+&#3u3xB9ziYC_TRGZzCl_KU_YGreV$^>X5j
zi$;krJ6jUBmYnpASe0;Ralf>W+?O^UZAsI|KBk?O|1$K{p1ZwkPWhgDvEs_T!&l<=
zH?V%*Yd(KdX2;2^iEargrQs%dUzQy6m%i3eXO+hBe|Dm+*^=l$!?F&&YMm~H^-(8M
zW@PAP-0a_c_xrBisfosRLbAS*$L_qDl&8N|+-Is{H2?gU*M!gIUFldX))_c|qO|#&
zX$Su;Sge}0?M?qNo|TRll?4-}f>uuu)s!%tRA%z-#VW0sZk87|;$}igLfzS$teOjN
zZ+KM2!yV*#_?C5+MPx6>e81kFjw>3L_xO%}yi&1Wv1iQ&-{}5Q$&Z26I{uRcPfq$F
zpfvOB20mle5QU5nyl<kW<(G+bY38-G25y+J@XNBBFDFRaCEsAaSa{gyrsd;<;a!Ho
zv3bpVHLWLZ5@d6hKVIS~k~Qr~TJy(0o~kSRC7Q!>`u^{_C30{52gX)@Et!xX6ArZ(
zp9x%cwU}vh=DN?}q5@8n3#0AB6N<e$Ryu#V^)<!B#@yIUl=n}KdZ);Tmf~cU{*EXE
zyCfzi|JR<$zptIEh`4sC?U#~e6wlc#H(u+_CtjJoF%(ven|C~2QrR#g`{bF%cw?2~
zY2hb%);g_uV_VBF*0|g2!nUtbb9ae$bFEXYjQJ@ysmJ=0#9gD+7b0hEcT%dEKF8t2
zt{GX3{0~EXw)Y;Kqkc`SKkVVQrOzJ;Nnd4Y@tYx5_E=Xy{d8kyVQnC%oTIeSBf-Lw
zkQ6q)1J};^J<Z57p4s@Q$atpzo$S^?lX(+nZaUPa5$50`*2(15=hlCL^`gzfi|j8Q
zd*v2QapMo}TA9lz68&8-T|uR2yPN!?&r-EL^Bh=?<yZ@Pa6A#39lpc;aon!1Br)NW
zHzk)HaH@Jfe~nY<{6p?0@19RM#%#0Vqk#O?7m-z7i@m>0I#&M4;Dd4WmbXGxJsx$L
z%+{Y2b?d!O*sINYEOq~=y2&n|%-(wo%pZm)7HsBOa!mcFh~F93oa;aGu9@2D&N4{O
z_|S1|vCXoAkjK?OdX5<;et$0cEX0L%Q{>8)To;kP?3|*e%s{@1s^XWun{8Gfv|p(H
zx00Lr(3_S+-?MTGgOX<ph6Vjtb4+;7g&%V|&de%jbiH!o&Yv8A*W^uAS(|4$e(8^R
zwj=(r=RSXv_s$=GyO&rPUwXCO*vPcbey?WEF8QhR;$5Zc8HE2dWY}r!`Ly7Lt;(!+
zV{JQ@`+5yc4O1hPe-~;wB;I?n=<g+g{kgw{cTF|<<D?$D{QAsODgQES=E)~o)tBVg
z`)_#OP;a1FR#K3#;Jm)!)p(9ob)VNH{`_h&XRgU1i%EYs@6eo*a$eV7>?i+;k`L|y
zQej_8ygsn}sWoKo(3+;YxL~RM)L;p&1#YcYm%Hvgci3T_+~THxIkeaQjQqtPfpt7`
zVzc=iQgklpF-AQ;{&TU%naCTit!EuAdi6gXpVM+aez)HCMOw_enbXwn^v$dJ5c-3&
zcm9+9!}ZO~zh{?c{SmQ`Jup3X*9s0L<DaZwV;<b8&?&Hz>Sy`(a$BCi8jp<ohcz~r
zvxNl`(tWazUp+i4#cJaGeAhp-zWBSm-N^b#%=g#hWpDkL32_Q%Db-z2W9<9q?0omb
zZu8(>jLS=mD?-9O-V}d`QTb^sRqw>m$nxSqB>Otk^d|=jO4BUtyaUgqC=^>&T+mi{
zEwmwgjsLba{=Z&dSHJz_zHeo0ul>pSOmjpXXFb?=CpZ79lfo{^?+c?hslITK^IMcu
zE|;_aN2#KG&!fsWKTGe13jAv{JU!<`jQ4aA+me}l|M%Zrbu?AYURvEzd_&hE2K{Nb
zCV$e2zu+5m>dn9BdoEN?YI`fw+!1ka>w*UVQ!7NWO1Y2ptj^xl{_l<GE!#RZp{<iX
zDb@3&rp~@pZ+Y%btWay9{r^|*R_oU#ix!98$g{C8IQ{&D&JK<0jjQV(-xGQFdvo8d
zh$s8P|L86iJ1tvz&avrsWo^JMMb+06W%hE#X`Yz7v@%a~PgHlc$`Pe)W#4=m>bRV?
zsos}9^{Rh+ccQQ3u9GXh9&G+lQx;S4@KnIj>T(mwIkuLc^?%kfwHHm((Q<05;|z-k
zeUsF)*ZiNvPHxScpPBQE%d~D9vSl7x=34x2UOOM>%~avAD{euW9~=X!Zj~QaYP$WQ
zsNeMAjF}?u6O)YiE}nh=((S#>pWNafbGd&y{aH2F+DA&vZ<&mb$MLDk9~OR?p?Dz3
z@&AIETa5SGG3>Z}+0|~v3t3OeM>7OM_uaqbe*7t~^~ZUW%I#Et)JLnWDO=p|C8EgB
zF6C~CPVyQTJHab8`#qDQmzi-bxM)8AY-MQUWS4aokFM?aR@ltdlDv6+WVuLWam~G1
zHJYE}?o7Lz!FR6X*!fxM0{dfK=M>gFG&!~R6=(Za|67lKN5^iI?K;n){n}d0%W<OU
z=J$o~1TRZne`^^gdh-wO<lVh_i>{XR%<$1tm%lm1>A#NP)C(-S%Zp8BO5bn)`1{kb
z_s4(y+w+m#pl(6J8`1U2FRG79&#bX~WAibnbvgT<{tN9F>sS^$YAK7)d&=8;=ZcMM
zjb~S7h|#nKxr$Ts79PKleZt_<<1c|f=WdVDO1de$$}7cRLwl;0o`u%D7Osz}70!o6
zrka?<ExXkA?DUhY4?FdOBM+PGY?q$B%wwmImc*&_uj|!ZYsA~HMJtwThh8*`^11zR
zkL;FtWnQzlrKvp6xiw*PX7ioA&NsFyxk9#ybGbwIL|I+CtGQM+>gCs%g<aQI9$Njd
za_*{SD~o0<U-617lzX<<Qs2-ZKk2I%@}eBKdrNOQQ+2#e{bO^R)Wc`}mxC`%Ei7Ic
z6M1*avRNiq<#Gk8zn#l7Q{Ewa?wv#Ze33Wjbx!84n>BA)`jSmqzgTL8wCz==8qRh4
ze{;>IOPilen_m*WvpxE>)cOmHOmy=~{Vz{?n7K;2?a|WUEo+WH_nW-_>eUM`ihVB@
z{it(Y{iwJy{MQtdwV!ronIF1fdhYW3;-xQ_UE6f4s>(Gt^k~N0GXI}_U7uv9?lYP{
zYuW7f?bD~*_#YFEn!fDo{AH^87unt)Gr8)2d0C?V67#s#t0RKy;_e3qhHK8BS~|6R
zW#*ngGtW<I(>(t(ecs}ylhWR-$oZkQvUkDN&^<nk=BB@|TvC0SnN^wiEYoLdRleut
zwD_B)LA9xww=UJpt(twg<TZE6hEPGS<(aoXh~$2M=W*F@<N4ToVP7s?c^16v#kTCV
zSC6)8ICZT5bxXBkU)Q}w+f#4tJ!<#kXKtM0{FyF4Ja2V;Q?RMy(5#S%x$AMmP9@FW
zG>{|Hy1_)!#iZS!TI7m#ri5v|x$JU-yROP5Or`ZgTWh#7tIRJM_GGxds612C>Xtd{
z*b81OW@(`>vb(15^A@Y+*WTC9QaAh9OWCf&vsl(IuC5f0lu?+yJ)mp*WtR6$O&xzK
z#VR+o)=jhPHRalJ-~ar@^a+WaFMe<)xLJOgxAgp?=Z)V~zJ0L?P0(|+Z;ey^_KEjb
z<}b;V8`dSpwS1FACWhXuaXEj|{fp7hh(p#dKYu9>;gY@)8GY>b3)Wwi6)U@DzYu>R
zK5_0MkA0q^#sOg~FJ!frX@6mD-M8XGH&?CaLVfL$polYi4(E8T>Yq3|>GiW+k`n7h
zo-+S9o6yfX`H9a)r)Xua*g1^bu81TT{A*x6%VSolEL(YXMb~+Ez5{po?YSkg<}JH>
zm^bs*;f%cF@A>|Gdvv`o{<z57-8W2qf4A>tms<YffobHkx`fzt#!ogZrw(rsyP?Ju
z!+tP(<LmQ^sVw!zwW5qC6DG`#2;Z>FrKYSX;Dsyuo9`wL?i-f>EG>%tB$w6Vn`!k&
zCUcX<t^g6=d+%~szb?p=Dlqtx_KN+2L3f*EOP$Crx#nv5c2)5V%?(%ixyzXUrup~U
zS_<5r%)HUoq?JYU;H$YMu1a4fe`3-6$r!4zsk`{!9hPO&UuGSfFVh@ko~Cyow>H!2
z(%mO-{ew?f2mI3FU6#3G`N`^#p7$k*HZiYc`5JG$%1S#U?|u2>HKX~b!`n_KA70vf
zZ}+7VCZ6N_-PHAyp59Gb8n@%p^G8W{*6K;FyUb)OxL$~5Z-1Y{kG~cz@&}9`FJ`M~
z3-HrAl_>d5+F?uC!YO?V0)7QbBy04t2Z-@6GHBWVu8DnGWAd!H#uf&y_n}{67U(R#
z{z6L0f=xa>ga6T+pHhE?s{S&}j(78aa-wz4dVP=mkN8+Rev1AIy`f=q$3xXPAYSXT
z1nZa5K<4FX6KvPXaI$zFo%H(4uE{6QC#p2<yeWN5@aEgz1#dHV`DHiE(VkOt@aMM8
zY!TTe>7Sk|ZOVR<q?i2aNoB1d;~tjV@lI!JSqmyH^@Gixueq<YSyEgt;!pOcx`m9B
z>TIWLiXO3FqL%sI(`TP!zExSBw3kcLybpbc4(Yw0vBgYl&DVR)+pa#fRhCP=H=|<5
z-p8h^cnm(>7nLe|7$_#?HmjxWuH6@r`PL?D%-Y(r@Azg+d3HgxD}GL~f2CwuTx;v)
z9T|I@yzj1F(R97QBW7~7^$f!kH)l(;AId**B7@^d{;9o{g+70#-I>jQ{J;4V+oSzj
zztpNyCv2WuCv9tPQSYAhFII-D<#fE}gQ!1?cX#c)YN2xEKWhZ9!S_G<s3QcGjXsMO
zGB7ZlVqjn}#6LoSeWswa_aIl3gNW;U?aNuBE~me_UU0ZQ&2<8YYtU~``DGo-#>xMp
zyX_YAcbVKO6K~&bIp_NCk1QJw9cX^O(0|5}ReD9Lk1u#d&phiZ#(BKuqt1yZv0Y7T
zE#`mAzCS;n<8VNz)uY&1#)-TBu5@23boLm_%8fA_;<l+JE-X<J(tSL~b!}?oCb9n_
zhhEG+J$sKujB(!@Z-tTzeKJnse!nkd-)Q{Ji0WTO%NmYtYzz!7JPZuR*!}BTk(^Un
zoLQFYmYI|4n4FwiT<n{emzWNl8<`q@yI4A0^1p24rCX~@Ycf}bo%QvL(z4z-mCdUw
z$4Tb8-&5~7$NHkDPbkrydqaAC+0iV~<9C8*IYn!1-*zD&p<*FFkMUcd)hZQjUsj$m
zI4sRm&)8r4uvJpRVE<-q%YCXow%=|R@B4gr|NZZ8fBFCa`&XVp=HU7go38Yz1&<@Q
zp2@24a~FxfQsCz<bAH9)=~v$EY2!Xy5tr-hIw#oMQP*{=2e0^S!}Z&^t*jDWUMcfD
zoMfCM>v?pZi>JF>->$;aDIcGvRd~fOm8@g(U$`n+WO}L2Loc3J%ikXP$TIDtC~y4L
z52lUZKAv2-kz4ua$A{d(>F#cy&U2OY#T)6*j=Wv+Y;*9wbj#0wnbtb53;yVPe7@n^
zRU#Q5*G?)~{m;eK;R$Qml-S$ntoMD<o4rlx7`x8#PyL)njDFU9?{O$Op&PUz_fFB1
zm06j7RhOU5(Vc3$J>iz|vh<b3b0xlt>tvnm+kLO5?4EJ=wljK_X*+fHzWFe<DRynd
z^rs!Erw=+ghG_{eOFrk_-*@b6gMz^f&c_?>ta<dB-#_&Jrp>I^HA8Iut?J57Y{^aC
zxW78~%H-ndDF?$(J(;@csjl&nz+EZ3TU{IPDlT^3+sb;ma7ipDk3pB~RE?eYtku#M
zi)$Heb~63_uiu{O?5VgFOBQdez4YnD%+)bj-+h+9n0Dxg^S1VDIdgB8xR*xVy={6q
zT1kS7|A}v&&dH*kfz#UGzx{gPOUZx3sV$oKb#(k@JazCneBHFh`LMZZjkiPk&y<_n
zJJb(loSIecv;S4#_ag^N^0Ec{Y8M%`@s$)W75;o_zM7Z1&h4;>tWzbMyJS_1EB*Lx
z=DFI%Ze5aZJoTitSyQ)wz>ys9g@qzJ@}=e6jGu<>b=rIF_q)C`cB(lG_``W+jwmwk
zwNOb|!+-Vw_m6D{m}l>P?{alh_a);GO6w#mIPVL-`0Enuc;@TPR#)cxp<KT{Y-$Yu
zu&VL>%BR08rXJXt{MqMf;M%=mDvgJo^RDVGlfCXQZj<@TDAp|W(&eLU5|_ne_17xQ
z+UIdQlX-n>TU|ne&~jF}J<>X?O7|u;%0F^vtLvFBQ6ZIXvM28W?;gzwGx*YdZta~B
z*7$$QX9Zt=F78b;;*50XpXBsezct1x=iiq1Z1bLId^6sY`oL;k){mWy+Y6%(>+}2(
z3Xi;C?YO>sTdgq@>$f|?MZLdwZw*%7eVea`H_k`D;$6^+NfC271#7HMl+IZ5&FA~G
z%taHQPKkW<^qkN4vS#ab7aodq&OCGN^;)6Q4J$uB-mU2Q;J`N99gc!~d#8(ac5Jvf
zk2`I7=*LQ*h^eK?t9$wQ&xOY9es%itvi%AL|I7LU=lh-8DpO{<X!r3emum7YeO}$$
zU37hU$?vu`-jjcJhURFVelzvVicR~hC+`n0TQsNt+p{I>_nMpd-@3Hs1aI52Y1;dA
z3^(?@+`)BA#x2^7>n}$d->wCA$_;8uCODe2R8@2-H2Rr3?06qy+;U#y{jUj6t7a^Z
z{A99Hy!JeA$Glj1g-e@%Gn?!c=dc&+aNSu}c(-3n<^Z3~nSL<^*{+9|fB5`ZDlkLv
zpr2${!G8-oZ@pQae<TgJFg@xNbxG&HCJ^md^Nr0UZ+3RZOP_+32X{1H3*NiutZVQ^
zsj`^k$**pH6BBxMvraZv`^Aj4r_0KMI_`WoO)0-8wsXdbqmrlo+P+sVI%~74Gsb(>
z(|(DNEla-rx^1zm=}Auhb7u1o33}7Iu1+|0H29;G9G67+|5;u4kE{#n;SM#4-Q9Wj
z{hGQJAz#*+?`=1m+9~y|?A_yk57^B4?m9&&EMM;Nf=lGmY6o@MJ;@47_s{muIX`*F
zT;pqoQrl<#-~TxI;xU<RoqS(i0$p6n3+z_RdlK-qO1QtEcFNULEDjb<3Nq=r=QeAp
zamTBK&%DC*`Wut>7pd$oY<)%7YWeoN@$GlCuj^*KqOrBfF-rE>af{CS4~IX_|6}z>
z{Md%BLcxPeE?BJP<+(h2vQp=s8?AvG#giW~yti-VtTNT)oBX_xFROKCu}gsD_Kdfj
z8DAE-&9=PM(aqMk<Mr}V!8dmO$ww~Mz52(L>3gE1tjhF&hwq=>eRCC7b^YLO`=DZ<
z)UKJg#<MTrlZs~Wg@4VDr563UySZy_#>EBf$Co=TYFpA~Bft2-{=!A)FBxn*rFUuD
zQ|4y5!xek`B~mVEEdOylJbdr+K9+Ka&%ST&cQP-%zt%L^X2E>kNr^2sUk{Xi)mwdf
z{&QoYFHhVv-tKI5XSwHC^2c`4;*^}FH<vlY3T<4_`tv^1%jcEFeSd%cvHF_ZQ$Ndp
zDktwm&fZOXETk(;KHH;KgA?Ag=u|Q>FtoAYTz%$V1X}PITAW(sk)NCDlb@emS^$|O
z=ncN@ciTb0mRqH)r}4@ZZ!QrpO_eQ2SZ`h8c3qU<pcFI3VTp~aS|n@pM&;uR7sX%g
zW?A7;`^I_y%2igcTf7zcpCqPzd-CRt<?Fll|LguS88ox92KIPXs3pf7WO*bc#N{+&
z%Ey>B@h%sdG&wz4xsIj0P})DmQ1??$OJv)>)a2Ac^R1KPef9O0_x#B_=JEXcHZvYJ
z-O>cP*}HPBRBazuPYeEaz@TLI^!tAKxzaD^#?;+CVOXNG)9<LctbO*aP`|(LKlGl>
z>6MzdUFLLrLPoFpCZ1gHyoqKdOLf}w!}`DN*q;3EX3UEM?qzdLZN1mLPMEzvKU6|U
z^Sbs+)$=;HV*bCG`PAt9m#YaoqaWUzRedCQU3G-+<S*xfn9m9Hs%MGmhR1Kr@tf1v
zlP|_+ex}I4?T|KG<-UaLty+@XUy1H`V02_wuV+`CR@KGh28I5aDoc)eg>m}7yDTph
zx4NR)lI`m<hl@XSFXqo**;PIx_#=aq^ZmE|-&SVbbbV*&vhLRE3VtK)*C%f!h<^Uz
zQM-P7-douZP4^kD?lN^!7o9I}xMli|{cm@sT(D1+=)b?$qBE_0<#Nf1c}_EK6+WNA
zRhZ#7G4WNL?rXnR<NJH3{5H6kVm9x>;f_nvS*|`Z(xHYW!D@C_bs6s!C+i9xI+DKh
zhJT0O%s@Whd5yK)8irjD8QvUJ?#k+IVB`tvOW^2#J$paP*@n!uUuAN4e!U-{FK{Yw
z^@ng@tM)q_osX=Q7Ol}{)8q`4S(0w!va4OQFF|H;c(baHkXj8d`{C$+i=q#8u+3Z(
zKWm2S)ko$9jH=~rWxlGG%U@iu(wwvCHM`OwsojZdr$5R_`2G@Ya%*O?nfY=~1_oX+
z1_mwcO*u#!4u>qn^-avogCyX&5$qKr$3_3K&)u^8s?tK?w;6WH4(fp|nrz)^ikzMW
z3Jy$41r1NPc(9jmPs;C~WMS*4dUVOH&db8qvO#{EL>2a0?EU`g%ROhI<0tKRFTXsM
z_2udB3wO>n&;J+xe6OTj<)4Sz3}KzDT=Nzt8P8kkbaeBR4>^{1);_S*(o)&UbUyTh
z4eR;uk6G*X1PGm5T_G6v=D7Etij_^(Ay>SPMa4|$)(`$zw8!b7cIcUslk0;%X5G<F
zd_Vbc_LC1$qTe5va>czrF8!xsF;}CxX2s^N){5>f){50l+gC>DFups^%q92b@msA!
z742Q+k77T)zFSn$FLUqpaaVi2l`D??e)8w9mR$q?suKwjM>*tzJ{q`*)_5FD6@6Xk
zdNg*&tK;oY+xmZe3}ls`JYRl#_xym5o;9nu<{wKJu~D+L*H-lWCu67IuD{}k(!M2+
zPXFj?TEFT>-+In7uWsDFB$jEvY5nrr_Y=>(oBP&%SNZp{()U6fE`BeTe_gg?o=nE8
zjcX%{5}FTO2{WF#>Fbic@%_tr8v{;$+xG3=v~?cU(R|DGPH#$&53kPevs&K}wP|Hi
zvX10tbM7gv(%-m$M4hekTHSeM(y?_Vk7gu(eRcd%TgauJS0DfG5}o{6=VChlu^=XI
zrDdiUOcGxHEnNJvXDL6gWLR*!vF(F%Wv@1>^nOzPp>1GXv*JpM`>s4*f%WH-BOT5v
z<zLrr%$ly8W|rH1ly_Yif25lD+Zhuli7*~D^4+cLcCSnEu9xJWh#BkCP2{q(OocgZ
zZ|e8nefvRRg;AE8zpzJMMD(78&tp!R3GFUk^ob$r_%=aj!}d24kDn`Ens|Bs_Wn1Q
zgIqV1Ow5kI)pvCEv6q+p#Ixn6zBLivvRNsQkH;hRd6lc;Bb}mn-)WcXu5~QSo&2YJ
z&kuf)BG2vH=l4pjv*g-$?!k+{e~;z~?9hynm~d!j&)QdBMN{Jfj@%27Id^M~(@&#i
zt=>2O6s9e`qB~vC^Kjm+?c2Mvn~I)^3sj#|&HbBmPVQ67C!yTwH>IuzuQYr7!_0W@
zoBZuM$N#Og-6m(dGg!W;DDI#+OIWLVUsmU;Xtk{`-4sKr&ukGjz4K*WWYNAbk47J6
z{tmOxK1O-3{z`pY<bGIq;<W_jr4Kb;T)*J5-086SN8Mlhe*_q{s}+Bc<l5v{d~@1z
z&K)%qA{RWo{iCnxebx`Teg5-;nVv4cWO!IC;%~i-HLv{ve$zi3_F*4{dHWwNKeOng
z^Ocp$*(6<f?GK+9{o{04|D!gqp^fWd0l!R(#^qW+wzl1Wu$`&c=FF=}Pc7u0KP(eJ
z7w~lIrG@*ozdVrmpLbU-$8%{9%jRQ~YW7b*EYI@FcE<KiVM}xTmh7KVu+Fjm$b6P9
ze{2?czB?!S_^IEae~|~{P5y}1U;a=od8hutthV|`Ql}5kJ;R+n(INEUwEBnli|!|L
z{agI7@K5+c1;ryGu2V7(sh<)JT*&GAW2V2kh2xhi6@G7g)!#-OI-x5RACl!XHR?xS
zaHVeur*A^>>Ulo1%2wQ8Fp;y(KxFFkypDfdvgT_8uBj_t`+1@8v`@>T9M9ulrU<Tz
zpR+1Ha6<dt<9-r>(Za#5TSdYbcVy05A<F1_B{RwD(i#(Uy9cvoG-h|rSlJnwWM&-1
zB5LR^T&!9+?+m{a%lc}KrDuNXbUrrv6tnoLwcoX~6?bel>sK0`Jbc6Un!H%6wA$q<
zT4!`#Se?IC$=vZSX65XTc1@!d%cIsbmK^f9CA@Ol;i-Q=Rpcn-8d{1^zp^7JIYnQi
z-0D-x+K)LiD{s$vbim0r;l|ImN#7!NYveBS+IE~fXRb@=Ip;*yn->C1#Am!yb-QPM
zsjPdAL}P&=OYMe&NAJ9)D-`%d%AK|gtkKL|I63QiE1US&8J7|&?qAO8PMuu#qwPQ(
zYv~&8%5`E>{M{RpEW$2)agNJ;ta)hd&3V~zs@EqLcRvqZc7wH7Zo<*rRg)z}riX8~
zTK4Qn`Lat#ih`oHSIFF*5&rC%&#sMM^!BJ~r`%k6+Im`=q;p~HJ@GXnKd-l|i^l4o
z`E@dPX?WJLm40hWeV1P}J8kmXb@t1B3}Stn^OHQ*&Zu3taz^^$h?o2H+F#54j4OQa
zTJvhkg1+@a`QN@?i}=|gaxzx6SloAeg}a%E*k=yz8M#)jdpm;Ttka)cuP(n}bpAy3
z;>WU*`{un^@G$0fZ*ZoqAN$!8&&z+`Y-?*yd2rGH1<#$ga`)_?Y&@=AWNh=z%lA&-
z)Rbo@kG+vGTNPxMU{SjN!V*L7&oen?HI@ct-afN$-yEN*OCIeD4vK#%{%!6?xhE?P
z?{2)<ZI}4=T<J>H$&a6OH+7}YzY{0EwXf-V_z@HTW$hJvIpuS1^v_oOKb_@+Vh2Z=
zQ-XMUaKO>Z@_R9lYs&BKY5Qzj`8o5$=h^0^eS4Rfd<_4veNUl8u%4yPZ;LRCBLd%w
zuf(v)91#8y-DxMIB5vMYy&^<3Gu%BuEYgbUz8~My-EM&w&3TsI6#tU?z+T|X)Ofel
z_{asTmY)~DP-Qe@mg858oo<tsdwyyRyi%0DV5d!l-uG*)wY`!)`RgPO_N1w<m=I;y
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
YhOdRl$_CP6#$d+qN{E5M`3i^!03mLhYXATM

literal 0
HcmV?d00001

diff --git a/client/android/Notifier/gradle/wrapper/gradle-wrapper.properties b/client/android/Notifier/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..4b12ee3
--- /dev/null
+++ b/client/android/Notifier/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu May 26 11:13:42 CEST 2022
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/client/android/Notifier/gradlew b/client/android/Notifier/gradlew
new file mode 100755
index 0000000..4f906e0
--- /dev/null
+++ b/client/android/Notifier/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=`expr $i + 1`
+    done
+    case $i in
+        0) set -- ;;
+        1) set -- "$args0" ;;
+        2) set -- "$args0" "$args1" ;;
+        3) set -- "$args0" "$args1" "$args2" ;;
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/client/android/Notifier/gradlew.bat b/client/android/Notifier/gradlew.bat
new file mode 100644
index 0000000..ac1b06f
--- /dev/null
+++ b/client/android/Notifier/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/client/android/Notifier/settings.gradle b/client/android/Notifier/settings.gradle
new file mode 100644
index 0000000..cf6f413
--- /dev/null
+++ b/client/android/Notifier/settings.gradle
@@ -0,0 +1,16 @@
+pluginManagement {
+    repositories {
+        gradlePluginPortal()
+        google()
+        mavenCentral()
+    }
+}
+dependencyResolutionManagement {
+    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+    repositories {
+        google()
+        mavenCentral()
+    }
+}
+rootProject.name = "Notifier"
+include ':app'
-- 
GitLab