From ba5651c1a2c527e6139286558a91a6ec995c71fc Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 15 Jul 2026 12:15:42 -0500 Subject: [PATCH] wip --- i18n/en.json | 12 + .../android/app/src/main/AndroidManifest.xml | 71 +++++- .../app/alextran/immich/MainActivity.kt | 3 + .../app/alextran/immich/appicon/AppIcon.g.kt | 110 +++++++++ .../alextran/immich/appicon/AppIconApiImpl.kt | 55 +++++ .../ic_launcher_foreground_blossom.xml | 27 +++ .../ic_launcher_foreground_forest.xml | 27 +++ .../drawable/ic_launcher_foreground_gold.xml | 27 +++ .../drawable/ic_launcher_foreground_ink.xml | 27 +++ .../ic_launcher_foreground_midnight.xml | 27 +++ .../drawable/ic_launcher_foreground_neon.xml | 27 +++ .../drawable/ic_launcher_foreground_ocean.xml | 27 +++ .../ic_launcher_foreground_sunset.xml | 27 +++ .../mipmap-anydpi-v26/ic_launcher_blossom.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_forest.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_gold.xml | 6 + .../res/mipmap-anydpi-v26/ic_launcher_ink.xml | 6 + .../ic_launcher_midnight.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_neon.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_ocean.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_sunset.xml | 6 + .../src/main/res/values/app_icon_colors.xml | 11 + mobile/assets/app-icons/app-icon-blossom.svg | 10 + mobile/assets/app-icons/app-icon-classic.svg | 10 + mobile/assets/app-icons/app-icon-forest.svg | 10 + mobile/assets/app-icons/app-icon-gold.svg | 10 + mobile/assets/app-icons/app-icon-ink.svg | 10 + mobile/assets/app-icons/app-icon-midnight.svg | 10 + mobile/assets/app-icons/app-icon-neon.svg | 10 + mobile/assets/app-icons/app-icon-ocean.svg | 10 + mobile/assets/app-icons/app-icon-sunset.svg | 10 + mobile/integration_test/app_icon_test.dart | 20 ++ mobile/ios/Podfile.lock | 6 - mobile/ios/Runner.xcodeproj/project.pbxproj | 41 +--- mobile/ios/Runner/AppDelegate.swift | 1 + .../AppIconBlossom.appiconset/1024.png | Bin 0 -> 33528 bytes .../AppIconBlossom.appiconset/Contents.json | 14 ++ .../AppIconForest.appiconset/1024.png | Bin 0 -> 35948 bytes .../AppIconForest.appiconset/Contents.json | 14 ++ .../AppIconGold.appiconset/1024.png | Bin 0 -> 34357 bytes .../AppIconGold.appiconset/Contents.json | 14 ++ .../AppIconInk.appiconset/1024.png | Bin 0 -> 35762 bytes .../AppIconInk.appiconset/Contents.json | 14 ++ .../AppIconMidnight.appiconset/1024.png | Bin 0 -> 34049 bytes .../AppIconMidnight.appiconset/Contents.json | 14 ++ .../AppIconNeon.appiconset/1024.png | Bin 0 -> 35311 bytes .../AppIconNeon.appiconset/Contents.json | 14 ++ .../AppIconOcean.appiconset/1024.png | Bin 0 -> 34844 bytes .../AppIconOcean.appiconset/Contents.json | 14 ++ .../AppIconSunset.appiconset/1024.png | Bin 0 -> 34070 bytes .../AppIconSunset.appiconset/Contents.json | 14 ++ mobile/ios/Runner/Core/AppIcon.g.swift | 114 +++++++++ mobile/ios/Runner/Core/AppIconApiImpl.swift | 45 ++++ mobile/lib/constants/app_icons.dart | 21 ++ mobile/lib/platform/app_icon_api.g.dart | 109 +++++++++ .../infrastructure/platform.provider.dart | 3 + .../preference_settings/app_icon_setting.dart | 142 ++++++++++++ .../preference_setting.dart | 3 +- mobile/pigeon/app_icon_api.dart | 20 ++ mobile/pubspec.yaml | 1 + mobile/scripts/generate_app_icons.py | 216 ++++++++++++++++++ 61 files changed, 1429 insertions(+), 41 deletions(-) create mode 100644 mobile/android/app/src/main/kotlin/app/alextran/immich/appicon/AppIcon.g.kt create mode 100644 mobile/android/app/src/main/kotlin/app/alextran/immich/appicon/AppIconApiImpl.kt create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_blossom.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_forest.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_gold.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ink.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_midnight.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_neon.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ocean.xml create mode 100644 mobile/android/app/src/main/res/drawable/ic_launcher_foreground_sunset.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_blossom.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_forest.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gold.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ink.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_midnight.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_neon.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ocean.xml create mode 100644 mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_sunset.xml create mode 100644 mobile/android/app/src/main/res/values/app_icon_colors.xml create mode 100644 mobile/assets/app-icons/app-icon-blossom.svg create mode 100644 mobile/assets/app-icons/app-icon-classic.svg create mode 100644 mobile/assets/app-icons/app-icon-forest.svg create mode 100644 mobile/assets/app-icons/app-icon-gold.svg create mode 100644 mobile/assets/app-icons/app-icon-ink.svg create mode 100644 mobile/assets/app-icons/app-icon-midnight.svg create mode 100644 mobile/assets/app-icons/app-icon-neon.svg create mode 100644 mobile/assets/app-icons/app-icon-ocean.svg create mode 100644 mobile/assets/app-icons/app-icon-sunset.svg create mode 100644 mobile/integration_test/app_icon_test.dart create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconBlossom.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconBlossom.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconForest.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconForest.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconGold.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconGold.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconInk.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconInk.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconNeon.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconNeon.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconOcean.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconOcean.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconSunset.appiconset/1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIconSunset.appiconset/Contents.json create mode 100644 mobile/ios/Runner/Core/AppIcon.g.swift create mode 100644 mobile/ios/Runner/Core/AppIconApiImpl.swift create mode 100644 mobile/lib/constants/app_icons.dart create mode 100644 mobile/lib/platform/app_icon_api.g.dart create mode 100644 mobile/lib/widgets/settings/preference_settings/app_icon_setting.dart create mode 100644 mobile/pigeon/app_icon_api.dart create mode 100644 mobile/scripts/generate_app_icons.py diff --git a/i18n/en.json b/i18n/en.json index 7a3e719f6d..3741722585 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -557,6 +557,18 @@ "app_bar_signout_dialog_content": "Are you sure you want to sign out?", "app_bar_signout_dialog_title": "Sign out", "app_download_links": "App Download Links", + "app_icon_blossom": "Blossom", + "app_icon_change_failed": "Unable to change the app icon", + "app_icon_classic": "Classic", + "app_icon_forest": "Forest", + "app_icon_gold": "Gold", + "app_icon_ink": "Ink", + "app_icon_midnight": "Midnight", + "app_icon_neon": "Neon", + "app_icon_ocean": "Ocean", + "app_icon_subtitle": "Choose the icon shown on your home screen", + "app_icon_sunset": "Sunset", + "app_icon_title": "App Icon", "app_settings": "App Settings", "app_stores": "App Stores", "app_update_available": "App update is available", diff --git a/mobile/android/app/src/main/AndroidManifest.xml b/mobile/android/app/src/main/AndroidManifest.xml index 1b8d2a97fb..be413a113a 100644 --- a/mobile/android/app/src/main/AndroidManifest.xml +++ b/mobile/android/app/src/main/AndroidManifest.xml @@ -56,11 +56,6 @@ Window background behind the Flutter UI. --> - - - - - @@ -137,6 +132,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + return listOf(result) + } + + fun wrapError(exception: Throwable): List { + return if (exception is FlutterError) { + listOf( + exception.code, + exception.message, + exception.details + ) + } else { + listOf( + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) + ) + } + } +} + +/** + * Error class for passing custom error details to Flutter via a thrown PlatformException. + * @property code The error code. + * @property message The error message. + * @property details The error details. Must be a datatype supported by the api codec. + */ +class FlutterError ( + val code: String, + override val message: String? = null, + val details: Any? = null +) : RuntimeException() +private open class AppIconPigeonCodec : StandardMessageCodec() { + override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { + return super.readValueOfType(type, buffer) + } + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + super.writeValue(stream, value) + } +} + + +/** Generated interface from Pigeon that represents a handler of messages from Flutter. */ +interface AppIconApi { + fun setAppIcon(iconId: String, callback: (Result) -> Unit) + fun getAppIcon(): String + + companion object { + /** The codec used by AppIconApi. */ + val codec: MessageCodec by lazy { + AppIconPigeonCodec() + } + /** Sets up an instance of `AppIconApi` to handle messages through the `binaryMessenger`. */ + @JvmOverloads + fun setUp(binaryMessenger: BinaryMessenger, api: AppIconApi?, messageChannelSuffix: String = "") { + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.immich_mobile.AppIconApi.setAppIcon$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val iconIdArg = args[0] as String + api.setAppIcon(iconIdArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(AppIconPigeonUtils.wrapError(error)) + } else { + reply.reply(AppIconPigeonUtils.wrapResult(null)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.immich_mobile.AppIconApi.getAppIcon$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { _, reply -> + val wrapped: List = try { + listOf(api.getAppIcon()) + } catch (exception: Throwable) { + AppIconPigeonUtils.wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + } + } +} diff --git a/mobile/android/app/src/main/kotlin/app/alextran/immich/appicon/AppIconApiImpl.kt b/mobile/android/app/src/main/kotlin/app/alextran/immich/appicon/AppIconApiImpl.kt new file mode 100644 index 0000000000..27d45f3136 --- /dev/null +++ b/mobile/android/app/src/main/kotlin/app/alextran/immich/appicon/AppIconApiImpl.kt @@ -0,0 +1,55 @@ +package app.alextran.immich.appicon + +import android.content.ComponentName +import android.content.Context +import android.content.pm.PackageManager + +/** + * Switches the launcher icon by toggling the `.AppIcon*` activity-aliases + * declared in the AndroidManifest. Exactly one alias is enabled at a time; + * the aliases all target MainActivity. + */ +class AppIconApiImpl(context: Context) : AppIconApi { + private val ctx: Context = context.applicationContext + + companion object { + private const val DEFAULT_ICON = "classic" + private val ICONS = + listOf("classic", "midnight", "ocean", "sunset", "forest", "blossom", "ink", "neon", "gold") + } + + private fun componentFor(iconId: String): ComponentName { + val alias = "AppIcon" + iconId.replaceFirstChar { it.uppercase() } + return ComponentName(ctx.packageName, "app.alextran.immich.$alias") + } + + override fun setAppIcon(iconId: String, callback: (Result) -> Unit) { + if (iconId !in ICONS) { + callback(Result.failure(FlutterError("invalid_icon", "Unknown app icon: $iconId"))) + return + } + + val pm = ctx.packageManager + for (icon in ICONS) { + val state = if (icon == iconId) { + PackageManager.COMPONENT_ENABLED_STATE_ENABLED + } else { + PackageManager.COMPONENT_ENABLED_STATE_DISABLED + } + pm.setComponentEnabledSetting(componentFor(icon), state, PackageManager.DONT_KILL_APP) + } + callback(Result.success(Unit)) + } + + override fun getAppIcon(): String { + val pm = ctx.packageManager + for (icon in ICONS) { + if (pm.getComponentEnabledSetting(componentFor(icon)) == + PackageManager.COMPONENT_ENABLED_STATE_ENABLED + ) { + return icon + } + } + return DEFAULT_ICON + } +} diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_blossom.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_blossom.xml new file mode 100644 index 0000000000..0f3c7dec53 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_blossom.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_forest.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_forest.xml new file mode 100644 index 0000000000..e8c8e1fc36 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_forest.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_gold.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_gold.xml new file mode 100644 index 0000000000..ef94097c42 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_gold.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ink.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ink.xml new file mode 100644 index 0000000000..4f93f9822b --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ink.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_midnight.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_midnight.xml new file mode 100644 index 0000000000..d14fce37ea --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_midnight.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_neon.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_neon.xml new file mode 100644 index 0000000000..088605e0d7 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_neon.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ocean.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ocean.xml new file mode 100644 index 0000000000..fe02311ab8 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_ocean.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_sunset.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_sunset.xml new file mode 100644 index 0000000000..8cd24718c4 --- /dev/null +++ b/mobile/android/app/src/main/res/drawable/ic_launcher_foreground_sunset.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_blossom.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_blossom.xml new file mode 100644 index 0000000000..53f5ea4ea6 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_blossom.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_forest.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_forest.xml new file mode 100644 index 0000000000..e1bfcac7c9 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_forest.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gold.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gold.xml new file mode 100644 index 0000000000..0af836cba0 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gold.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ink.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ink.xml new file mode 100644 index 0000000000..e93e5ab90f --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ink.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_midnight.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_midnight.xml new file mode 100644 index 0000000000..7093707247 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_midnight.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_neon.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_neon.xml new file mode 100644 index 0000000000..119a62ba97 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_neon.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ocean.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ocean.xml new file mode 100644 index 0000000000..8d237e8439 --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ocean.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_sunset.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_sunset.xml new file mode 100644 index 0000000000..834347457b --- /dev/null +++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_sunset.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile/android/app/src/main/res/values/app_icon_colors.xml b/mobile/android/app/src/main/res/values/app_icon_colors.xml new file mode 100644 index 0000000000..5de795bb4a --- /dev/null +++ b/mobile/android/app/src/main/res/values/app_icon_colors.xml @@ -0,0 +1,11 @@ + + + #0F172A + #FFFFFF + #1E1B4B + #FFFFFF + #FFF1F2 + #FFFFFF + #0A0A12 + #1C1917 + diff --git a/mobile/assets/app-icons/app-icon-blossom.svg b/mobile/assets/app-icons/app-icon-blossom.svg new file mode 100644 index 0000000000..430bf7ae40 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-blossom.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-classic.svg b/mobile/assets/app-icons/app-icon-classic.svg new file mode 100644 index 0000000000..1522e1f348 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-classic.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-forest.svg b/mobile/assets/app-icons/app-icon-forest.svg new file mode 100644 index 0000000000..9ba3659d1c --- /dev/null +++ b/mobile/assets/app-icons/app-icon-forest.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-gold.svg b/mobile/assets/app-icons/app-icon-gold.svg new file mode 100644 index 0000000000..58b297d0d6 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-gold.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-ink.svg b/mobile/assets/app-icons/app-icon-ink.svg new file mode 100644 index 0000000000..e25b71fed6 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-ink.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-midnight.svg b/mobile/assets/app-icons/app-icon-midnight.svg new file mode 100644 index 0000000000..32477fabc9 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-midnight.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-neon.svg b/mobile/assets/app-icons/app-icon-neon.svg new file mode 100644 index 0000000000..5515def8b4 --- /dev/null +++ b/mobile/assets/app-icons/app-icon-neon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-ocean.svg b/mobile/assets/app-icons/app-icon-ocean.svg new file mode 100644 index 0000000000..53967c027e --- /dev/null +++ b/mobile/assets/app-icons/app-icon-ocean.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/assets/app-icons/app-icon-sunset.svg b/mobile/assets/app-icons/app-icon-sunset.svg new file mode 100644 index 0000000000..08af89d78d --- /dev/null +++ b/mobile/assets/app-icons/app-icon-sunset.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile/integration_test/app_icon_test.dart b/mobile/integration_test/app_icon_test.dart new file mode 100644 index 0000000000..9b06d715d4 --- /dev/null +++ b/mobile/integration_test/app_icon_test.dart @@ -0,0 +1,20 @@ +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/platform/app_icon_api.g.dart'; +import 'package:integration_test/integration_test.dart'; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + testWidgets('switches the launcher icon and reports it back', (tester) async { + final api = AppIconApi(); + + await api.setAppIcon('neon'); + expect(await api.getAppIcon(), 'neon'); + + await api.setAppIcon('classic'); + expect(await api.getAppIcon(), 'classic'); + + await expectLater(api.setAppIcon('not-an-icon'), throwsA(isA())); + }); +} diff --git a/mobile/ios/Podfile.lock b/mobile/ios/Podfile.lock index 5d966e0033..9d2ef9f4c9 100644 --- a/mobile/ios/Podfile.lock +++ b/mobile/ios/Podfile.lock @@ -16,8 +16,6 @@ PODS: - Flutter - native_video_player (1.0.0): - Flutter - - permission_handler_apple (9.3.0): - - Flutter - share_handler_ios (0.0.14): - Flutter - share_handler_ios/share_handler_ios_models (= 0.0.14) @@ -36,7 +34,6 @@ DEPENDENCIES: - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - home_widget (from `.symlinks/plugins/home_widget/ios`) - native_video_player (from `.symlinks/plugins/native_video_player/ios`) - - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - share_handler_ios (from `.symlinks/plugins/share_handler_ios/ios`) - share_handler_ios_models (from `.symlinks/plugins/share_handler_ios/ios/Models`) @@ -57,8 +54,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/home_widget/ios" native_video_player: :path: ".symlinks/plugins/native_video_player/ios" - permission_handler_apple: - :path: ".symlinks/plugins/permission_handler_apple/ios" share_handler_ios: :path: ".symlinks/plugins/share_handler_ios/ios" share_handler_ios_models: @@ -73,7 +68,6 @@ SPEC CHECKSUMS: fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 home_widget: f169fc41fd807b4d46ab6615dc44d62adbf9f64f native_video_player: b65c58951ede2f93d103a25366bdebca95081265 - permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d share_handler_ios: e2244e990f826b2c8eaa291ac3831569438ba0fb share_handler_ios_models: fc638c9b4330dc7f082586c92aee9dfa0b87b871 diff --git a/mobile/ios/Runner.xcodeproj/project.pbxproj b/mobile/ios/Runner.xcodeproj/project.pbxproj index 96d304f3d7..fe5362b52e 100644 --- a/mobile/ios/Runner.xcodeproj/project.pbxproj +++ b/mobile/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 77; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -153,11 +153,15 @@ /* Begin PBXFileSystemSynchronizedRootGroup section */ B231F52D2E93A44A00BC45D1 /* Core */ = { isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + ); path = Core; sourceTree = ""; }; B2CF7F8C2DDE4EBB00744BF6 /* Sync */ = { isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + ); path = Sync; sourceTree = ""; }; @@ -179,6 +183,8 @@ }; FEE084F22EC172080045228E /* Schemas */ = { isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + ); path = Schemas; sourceTree = ""; }; @@ -370,7 +376,6 @@ FAC6F89A2D287C890078CB2F /* Embed Foundation Extensions */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 513DA7292DED6106813332F4 /* [CP] Embed Pods Frameworks */, - 2FA39DEC809D6D7C4A01EFCB /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -464,7 +469,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, FEE084F62EC172460045228E /* XCRemoteSwiftPackageReference "sqlite-data" */, FEE084F92EC1725A0045228E /* XCRemoteSwiftPackageReference "swift-http-structured-headers" */, ); @@ -511,27 +516,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2FA39DEC809D6D7C4A01EFCB /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -556,14 +540,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; @@ -772,6 +752,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; @@ -917,6 +898,7 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; @@ -946,6 +928,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; @@ -1261,7 +1244,7 @@ /* End XCConfigurationList section */ /* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; diff --git a/mobile/ios/Runner/AppDelegate.swift b/mobile/ios/Runner/AppDelegate.swift index e1ff3b1f6e..35baeede11 100644 --- a/mobile/ios/Runner/AppDelegate.swift +++ b/mobile/ios/Runner/AppDelegate.swift @@ -31,6 +31,7 @@ import native_video_player RemoteImageApiSetup.setUp(binaryMessenger: messenger, api: RemoteImageApiImpl()) BackgroundWorkerFgHostApiSetup.setUp(binaryMessenger: messenger, api: BackgroundWorkerApiImpl()) ConnectivityApiSetup.setUp(binaryMessenger: messenger, api: ConnectivityApiImpl()) + AppIconApiSetup.setUp(binaryMessenger: messenger, api: AppIconApiImpl()) NetworkApiSetup.setUp(binaryMessenger: messenger, api: NetworkApiImpl()) } diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconBlossom.appiconset/1024.png b/mobile/ios/Runner/Assets.xcassets/AppIconBlossom.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..3284a462ede97e754f7cdc0a70479f1eeae43ffe GIT binary patch literal 33528 zcmb??g~?ozrg2uOoLcOw!?ip0H0x0HZ%DIz6}NQfXHQi33j($Xc( z{q6OAzkk8|dmf)79CmhRW@lz+XFexdU-u3P;dMd?f=D#fRqjC$Huw=6!p8#t?IJ&p zLD2Jd4HcyaPp39#@%#*qbGG-+#kRk-+A(lHiB5?g<<=D&(DN4#I zaslXm^cgZF3oHwH|3>byV}9VlJpQLA&c7M{hiCr33I3NS^}iYZhbIcN7tsIy)c?oG z|MJ9`2?YHQPXr7z!T<97|6mfRJd8sB7bgBg`~QIz2+HS5?x%9Od1%!>l68M7NNB^b zGrVKm?kWR5m$sLSlQqjy;nm8p{4^-~vZT3TRiWYX*mdJ(ZFzg%L;o|2evi5L7k_jP zgkO_g8TD7qGhZ0tqK`hI*B9EIcITx}c33XvJqM#ahobicq7EvfST2T$U8QAC@)S>y zC6X=0?S+=kTgln(!8rf)5ticYL;QLxH}zd3snx!R+@?uWx3pb}+dg;b|LoKU4gq)dZuEZB zUf6c-{XuaBwQ*@MuK4X%;HtlY(NNki_Q23oMYfeZJ-@c*nf7gKJ(n8+1pj6xt#=`qPWMLAvA1S(ozUTP1` z#5X3GGnYR4HAIYwQsf%&`T@z~9G_MOhiCgkVLs9lwCM9kgMNlHGdZ{PXS?!PAmDz8 zm)w^X7N3gxwiCxQkyl2P{v1Yxmxn$Rn`>rwga`(5E=;g6I_T8cKMSbU`pEw~vSF99 zEv;vN`r4d>?6aFOoQa8wMo>Nkb?`*1J=#@?*$5SX&27nL|L*zT-rLG!Bb-DouUF)l z#jKl@-6FE~-fRjFI0#q8$V>GpEZ27Yr4k^=!Z`8_=W!#0$F}bEua{)n9EeBJZeQPo z#=BQf?A;;7XsGF$n5oCM>?5SV!qB-mvT)71g<$nMB=J^bOx*TkO?HnR%0uEdTgKGR)kiPW6csEONfxXWs;V3#bj8S?$cr zcxreCoFZUAd#L9{?fqU}^CtaOa~$n#0^bz#g1sglj(qwH{j(1Gkrm)AE@ykU#P~bg zKI{}T+g=FxCoc$}5{G&4Kqi9=vuna2<25$EOGco@DYOm`Q($>fjF zpZM+X_Zq?56n)m*P_x~55JmoIehlb zs9?K)Bymhst=y5}?$fUe^BgSN7_R8)f>aGaAmH*-HlZU>lx-1if1b#Vkv8mpY5(Sx zYv`|#=q??elmK1r(%IfSH2>!OxYD!H-n?-u@&bW#9?BBHTfHU40RLwohtIq;E07r) zHDRwLaOE!DJ)TjpSpHk-+Q^^XZ;9+W$`$<26-I!chFFMgnB zwbPu@-*XM~hwamac~?JVP3|WCz~i7MiLT{O7)3o^#Y3m>e^WdqN}_nxBEC5^>m+uH zf@93rh$FqH_A!wLh3Op4?j-KWua(cF80AUgm1UI=ePd%)J}7SwsA@0FO_alkXwl-c zl)RTj7ZowwZvmUn@dTTvaDrLHyLo=%&*K5p+iYQ^(oQN*)Oj%Da|F-dKCHR$#Z@9d zYZcyn+jv$rZ%qw>rH8|F`EkDN=y75x@AQW-2faU6CWXU*6sRva4J?v!QqjA3#QxTW z$j>*v{PPsIWOL@@YG$jU6dL= ziQ7x7cAZ}M_NR+}N!&lC^mG_DA5@{wNDlO_lt03^`wxpI&a_`|@VHq37at>9+PXrHd&VxK4Jmy*9ybnE z$~AV(JYy+WLk`!Ne^(=|U6~eC_&#G}=D2Qn#j(o3rOnj=vpX6t-mWdj!2*X^zH95c zYQ&D5o;SSHu5&53-=CNkBbBBOTDoNO45zb=yGgR*#U2*e6U39Vn6kLUHg$7&CsJbV z`1RrPOHq4_1@S};kJ*5Dhb?aXaU1{q6aNeqF@}IwC3Y5g9MuTwiNooD?2V$d5RAvN zc5+nBi@H(#B7PA9&a~v|{+}?w3%N$Fe^!(O%5}!emR=Sk3L97TrBn#Gj9jb}U##-xuf7H<(~~PT z@aAbUvn=9c^uTzrK}y+6XHb?D&pE=w-o@53Xrqmi*$ij*N^hL8G2az%O`Vn9GRf%3ALcxPnoC zAms z`SA@>=>ChEpTDPM>pjJ~m4B|y1t$TD>A0M<%GC43s(Z{hyrf6}FLrJh zwb#A;iS4Xr6^vu|Z%}KK=q5;B_J3UIqyHX=8d7edVkepyLy5|9MEBf$qdBFqOdyjU>)-lXvP+0Ijmbd;~`%E z_mX@yF3p}DalnW)`PKyIfi9?_nbaA}#UkP4cxdZ<@St$Edl?20fW5^ZCIHEv;~ESI^?_E*I7$Uoi7#jor+{(0 z_76k$$&ru+0ke+dA!fwcvPoUI9QInw`KYlP3uam?kb0#=LP2iur)L)bd3C?=vm1ye z{`kWTBd$&m7NC1JmTsm-iFNpt0pW53PL2thMIC<^Ic^{#FWyJeqc9G|+`Oui5(Y7O zwlZ`>*ccgl!C9M3p5GJH0nRTNKG5D;!qVO~5PJw<&kj3OMz(ER(fn;3ci{5dM|jR-Cb6TX>X)amNDScd`R`rlw*STVfUvZEAYIpMG~dHl6d z@i--n$X1*8SCd1a*&3aTsQ=6ryZpAX7lCrm43>-k&zq z#Og;zL)dHC!^2-h{&8Q}UL0`$j!$~D`d_Nc zWq&}mgJb>u4)JY_IwWxx!iUrqQFBBcwYC3U>?ape`3&Ygc=iqN{|15a|L7KuZ~hwu zM1ed&QvC0qvjRAM$>50-I3@K0x$-v(5zK|1*#7Dtem5dpe!Hl1GftcXU& zDxv?#d&XAh4TKj_IAhbmAGU*?^xOVt|Lzn{ZqIvn9WLG4C(q{}Y%~&qFoInso9CM0 z4VneZhCaYv3wz{ytB4GOp5`S23=(*HC&p@?LK*)Sq-p@cD4i3cU zkNk_*{4fHvS;7aM%+QB7qzQ&OKw^)}1U3;RyVjiXD66*>h8o9i$g^(4xJ6R{NmI7d z<)VNXRsOX`N+FR+jDyWM-PPZHaGe_mHZ>fiko6uHsKc6Gykn!?XRYv*ZnRGiRd%%U zQgj$In79SEsa0}OFEjVzCNH7>+mNrgYS%F9B~iHPqQ88`iMIWFJ%_M}-I(Q3rpYJ#((}e;JrJvJo2Dh(_MPCEGs%z4+dsbC z5D(S9jdn{haBYlLOJ6z^d#40jcmuJ1J0s+Cy|2J&0V8xe-6Bpa2~5{>eNRx51AiDF z^rkG}IQ_^~Xwx!>$~>7lJ4+1f;NJ88n=M6N0S$D=OqFYjR+2A9#f)iGQXW;Si+oms zL3K?&Kj>Z%)4pxc5GW_VzpwnJGK_LC>~|tT)?cDWi{Yhioi#e0okyJ)88;5D-0yA< zw>NplRzHiZeu8xFNgBQyEm%zN>Yuc=jDFgx>#~(RBWG~-YWrp;CL8*KMcuF9Q(5R# zKf&TsL%LLdm{YkuYckU+_Q;+W=}r6k$dzYJ_MYgAIVod;rxrjr`QMv%(x*Oj6~+uV z9}aIXDtmvdw$9mYtY5V4rnT`>UhDN2tw5BQr+<@3Ao$R{QMZm)^`Z{K@fv12z+3c2~v%cl}dPm zlzQ0{{yQ;3$Ue$JJo!h#sNM58!=X;Wh)AxaMo4u}Xu2SEIB)cOK(+R3rwcn?xRw1e z(_8WwSq?l8T(J46u2`fMjkVBwCEoQlMe-DD4V;8r~7{Jmk4V-^QvIBQ<0l zHZt!_kfXyO6Kcghf@WChCaxgm`=DSPa%*NAYdVpE#X*&vmH%MKGW{1^$Xs%*0Sa6{ z_;#grl$_(E1cJ)vzVIW#f}l5H{v$H+SM$~Oc55e`Z{O>@Yj-cG?-%!?$s~Re4=%!D zfpvH_Sx1)8m6OHry35GY?|vp~XhEndj{i@XAVJubZ0w|bokqv&0e+lkqp+aT_DDz#a{&-5V_GUm!byz@-H_`-&XG4-)pnaB7-7E9wq z`>z*!0rz{II-2%_-kT*D=IQHhx8Ej_vJjk<4_pU2%RQSQWcZu3dB=5@S+qsn(`Cy) zdHCmcMq6qWZd@LSn|-?`JM$q#)uYQSS#R%;LsBNx3^JJlKCf>5 zZKRM(bA0A`U5P}0hZCB$vQIhMDG1O>(4W$v1kv+Z%$1`V&)&x~_g#biUj;3Ru|G&& zJrlRDX;z#@7=pZ?0CCW?s@q35{CB|0Mpnez>~86#CLf?QO}uiidMa&ZOs(a@QstxM z&uJP(tp`8lu1x-+-YFr;WH~;W8(&-Zt^FMKX0Gw zQ4BcLKfS%?`pUlH;i8^%e$6L^<(uCbMAQZw719^sS)FJ4fVxC@8sJPS+FFw6%`chPXSj`iN=c4PH z!!>w%_lwZ4wSsB*6p5)6cir31dsE7`j3QreBFHRX*c}h%QWjohSmJC7E`I>0X#OA` zIy1cUxlfpf0~4+HLfu$dc<3tb?Kn`P36r)iKHLAgECs*Cl}N5QZUN)3RTfvP0Xc~N zP$=>pd))?oh}nDP06oottuiFd@OMxFB=9Gtrx>}leg2#S$=bx4hRs5Ix$44cg)#>R zC^dSay~gq+@a7FO9C2$j?^~UtNZlD3&q;8nES9mB($>>WSv2cd<7kRJs6^@D*rum= z1G3b!h4~F4&JxOUg9aX+UvX27_>oibgOcefTd4Dzb~&qrM0*-1RK)ae?@AKj{xRBU z3rCyJ3T*X!1F@u>x#`5T251~yz2aRys7Z3@`G99O?A5HcJxlsBg6@xfQx^&F*Pp_H z@7(dVB$J8_kk)H&`I83ZnlYL#!Sj zT%2iM_E04G*l2YwRGF0^OD}1T#+@9KE>KDd>srfFSf%4Cx6(b#b~CRx-~bj0=!;^WH`5?vs-THLQnUK-G6&fSN#Ph&AEPYk2t}1&Qu&LLLa;>g@PLxg{~> z+1@}rEOJoOG3(D&Zul49b0S7c!l3u^=x9bOTEhe=#u+c_E3GV37%kYB*PpNaxF~&} zIK|p_^EZdm-1UhJJF_FZ#%${(a@bkx9Lw0R!cS7Xi|>b`F|n1M2n)eNiLP*@bJuN& zh|(Rmi{{r@2FZpJ@eAs;>f8!r2KKFy5bAgTdelPFvH$CzF6t3!T=7QMC3xcxY*f7{Dm-T9VMp?J*2L-8rqP4zyIStmmXOV2u(F`q zM>ZZ#J)g*Xc!^vLEdEJx_ygO}Ri(Bps%2sY6k$hUT@vG1fUhKlbM8yKu|hu$@%TSy zSuCY)4OdCBp#>vM9Vrfzu+4pn7Mezu{8+CL1gvA%@6ugfB}SEg5Wl8uU5*e0IDsi; zV{BQ}oo0B`oc4;LIi7Kv;Hzd9a8D&({fIs(3Ns4p`K|-fs1FKQv#Yf_dLNbT!(MMg z3aKVqo?;`F;f;U<{{3n4XRTfs4&$r|CC1kmv9ZoTJ%WQZId= z_tn4`T0{~r)sY8)%tmKjEwuAZBa!UNp~ z!$^PLP9ONMNGvGm4O%y)S}uVjCdvep=;{x6<}z0hLg+C z-O1#%ei#olyclj3TzMW|Q%TG(VAS8k{Zy{|q?ag6t8{^|T1C1NqN-$w8v7$l@BJug zX;Gh*5IXc-TkW$~=6*^eaweFVM)DG!t<)CQNpMsl7RY!e{3GSfkJ24`nkP|MkUZ0Q zik0R#b`{o_GwB+c?45E}TjgdW)aBDx+LDf&AJj4oHwqA^6=7^(+V>}K3exP5`G-cZ z0KKwh6f62QyE#3v1Gu+yjutjKT;q6HZ~Ef8OEq~sVEfrwd< zhVpO2U$cBvo(cO7F1x9V2FB?r^cCAApZIGz-esYHf+8fZ&cX%=IJ8RF4LXv%%9lu+3M$^5+E)y+9#{0E5GO(Zu_Y3(P<@~TS6*sDP3=j0HbKF6J zRhgT*6U3gr)$~QeYP&RSXOcC&HYM#s2ocMG?01Pu*57-Fx^KkMXmrX_m(`L&OqI(X z#P*wUH2teLjaXUVp9Q%a%1Y|V5XCgK`%^2~D1ijJ zbaKHTFm1WUS|73i6m^znB?nYf@z=wv@{|uhlUEtW~S(<}(jWQ*m!!8R> z(MJOp58ijH1p>(jVv*&fHvWt@6t9A49-m|{-8+l zt;VUUR|C#(f-dnzK1UR1z$2Z^R z1NQDxL#1AOdcnNwh35bxZys6o~}@-WJ=-@qVyK|JCHejUPSwbf;hlS z{-I$VWnay6>cw}<&onPn^?~ZoOyp^V9P;yJ`XrQ}5{{Tm&I(6RLp;HIiPfAT7kD5e zj4AmM6MWyvOJ?3!*IM;yvtoSOdf>F1YM5QC0Je;UP8-;X$ylUkj7D&WQGbXorv*7rDPe>>tp_T6S^fi{S-NBt zm*n=F5g3PgDLd81woCOA1GXSY;2KZf6vt%a%{-DGUgy_TU~jt4ntv4} z<_7&VS7#m1!Fg-@CbUTvhDxSIOPP1Z2y)0RDEubXo=iG*?A?ui{`5tL zo-Lw5Cpe1v=!+Hm6Cgryw<32+pKnLCz%+*;-*Jsd-nqIo!6;XRH-&mzh1Q%eoW;&O=~F_Xmk{QLd(9KO~E;ei@GVkWX)tn z^n%_0LPZ!PuaAq!@zC(1pOn=%@7D18$!}DI5rO+Qg^OrlBdO(!)x_EW3ubBKiIx!I zA5^V8P}E`JuTH{bMiI@s)5TvTx`RIi+#`xlY*nf379kk$EFT~jbf>JI6V#?6(Z!<2 zfs)KF7QJha>F85%Ho87ib_ahs@Bi~nF(Ah|_PplG=CyW@0Zm;pYNVwxl~@giSo(XF ztHId;voR+1J}g|iyB7XQSu6c0lMKJ9X$Y48?r*QRld7`x9$l#N4>eoN{7*0DZKzke z$!Af!Kbx$?_zuJLNB%t4HdFc1-AW1#RJ~XX=wZPZ8sa#&U2|Xf8OX^}0;(IwS6K9a z2?~CY5DH!}=bfhAAaW+CQ1k`>A-z-y2Py+b@AhA zNB7eLfPP%3FL{>`J`Q3qO1)8^Lf+s?F1< zVsGiJo;fEw*YxeJOfC}*>T&M>e)O_fOM>iE92O+~5{u|vL&^~9Nu!)@*~14bjB5jY zq6!LWo3ToN-+DPbJ20P9o$GEq$|+~dx(kV1C89@()E!aUE8S6<;e@Sh`5)&lQrgLp z6hDK_a}}FGsV2-~=F`Q4k=|AijpL37th6L4`XQ4>Y)0v-Z)R9wUwr$KgRHQPORR-6 z!_4tqRR=2HC#&gD^n`{pCi`7PYnc>_vSI<#rfs22gi9E^4h3oBkMH1gw5P9QS%ZlB zt=nQiivpyiw+Nvxt9$LUoC1>wYB(FaOV-#-W!EZ}Z@S&ty~1i;VaT#J9gZl7N{1r( zdLM%6hl<(`u7!!PCev2ZX{9#Jx~;vcmL4g#k++1*IYwFRhgRO%o6oFrB3g1vfgLrq zFSwD~+!Y`oj*{BD_mc8XnBs!T$23Ga|4Lq~(8RgZko8CQ#ou$!$WoKWK~jCZh`#w2 zTNuGR{rou3a7D)kz(BfeFLwo^QXaOP{*d@C7;)RRp5iAMIzLJmYhm1!JBGv48xfRj z5^d!p>6goKZ9_$`OxtPfFS7vql&!HajC7w8q{Jc$S9-tq6!Ycy8`X6*XJ{FcxL)GUsh9tgnnWT{X{oAG8_yX!Q z145k)IFMby#m@fYBjNn#Zl9v*II653!i%d)zaD-z>iar%(|8NFoyq=LR-Ht;er!@J zwtCr(c3?9NJ?MuxD*Om0ChKXNzRIRmOL!W|N?x0;?Ku6!Hv_RCy!z?rTKe~@50hta zhZRBAhw10|{0%SOK|hQcgncs8Bs9Vp+*YjGl$^)M&hm!UN8~0BDAeMZvwb4 zC_L+HRx8AM;OL({HeA+3Iz036^k{m?F}@sqx=lT@lDdwy5RYST68B|ayKj-Z7cliI zKt8;FuZtH|6w>MSQmbX;tmRmJ==wrnK)5zpfws_d0W~+)s&Iiju#R4C4^<{5LjAoF z#5zvQ24vy5!Qw=b|3m00o55=m4wHdm<2cjf4{|k(I1oF!Z0<=IHBM=O*>0bGAD#Yq z3Qo#^#5%j!tqo*E{gu-lQC?a*iZU_ERUU}G?<{XzsFNx`oV0p1%(X|Hv=MI1^p{S7 zUE`h4GgdD0 z0^Ater__SGe?~KrDubb)1Ga6w@QKDLvY;*F+WUXRc(;<3dJapL9;Q{G{g-e?e!X1h zS`R7#7nNW4s;LZ?WC)>% z@ibu_K`iKW!;}fLJK{eVNic1Aeiogvd?HejHiopW}g8;T1A+)XF+w!f`{5M5@=%SLIIcSSI_@Iv4 zSnc^uz!hU0ji@jSp{h#RlriG4&eed#HpCnK0JVVk*n`LV2UHR|Q zb)B)4{^-2b_ltAoF7&v^!zvG4FhDP(6z;0XHeI&;%NLdD4RP)Z%zXtT1Na|1QfVZD zDux?cuuYd4%iHO*f~p0T8lL{^ws&F``PP?YKMA#AsE->+Uk=I$D94h@v6`nGUe4vk z9|^i!_UBv2T-8^2i@yAi-^Eu0Lz`%SqGQ;A#yYFFjUAiP!0TW-9pALOB&(~Yk$M~P z5i?=}ZQciZXCE58i-4t<%XZG0D4iHS4=GavPLcW^%vO4SpxsBux_=ki)wA<+lY`+e zlv%%heOHO8W6MX|O7ki~V7j)}1Pvb`=lc*9NDW;qn*CKH8o}#$0gl!f85|w%^q#%d zaBzwL(0ovA9yCN}o~owY-SlVHO6^Y(w7@crOtfMv6y0^OS$F<RUYRffmge%vE>#AdkFfc{R{3 z6YS~VRC2u=J>gKZpuHj?4(!UlQBU{rY14Zt7sh^@(z~(vD8FpvaHoo5v?meZS5C*#t~{)X%G(BrYdTASCre-kg50AJy%JuO zB42ZwXP7U#-eu8FIBBe>8%`BYn<=DCBg+_eSH+rU_@%Pvf0prO;U0$QP4IsD8aJfa zY$H7beWOA0-n(J5n$cj~#^(1vS0tu48^?Z8fRzwMI)QF#%|^qmZ!uYK+*tNT0dPqK z!4Spd=fDf}!_$P|KbASS=~e9wVatulxV+Gr8T!7dP68}Hgp^z^$>pgv+go{aZM~0d z)5=x)Ihph^>g%&+n%9e=HIK`oB(E@fXle}tmj=$J$gLB!s+s+H_YqSCM+BQKZHWf6 zV#o`u{5MC6ZK!HjDgxY&3|9?(T|E3QrW-Ahsz{A^?Rgbu{-<5l!{l#rV6J|I#e z98nvC&kubmfHOW&$HVu@6l@R9LMYw~@?YM!Sg2OWTO&|4C-_(qWv>n!?!iULbF1?~ zb+a&V0>0*cleB)P`tsOsr|(#N%$3tmnRn%lrVz_7F!9lmqGfxv)XNMk>yKT$CGf-a z@#`!B(e{ekAzR!_vR7zt@n$MUTum4%8xJKxsSm9c!!ckS(AJ-spZ}b4TkW0ePyy&I z66EL)+vIbX^+r-d6;){IbX^%(eqOCo=$r4DqSEjAEPz$quNdT8XMLh<5*bq2cZ1~~ zR2K}bMFgo(L1OrBifsPW?`tHg7da@(#7^3L(mO0&{mU_auOtWe^vl zeea@3G5J(#RoGU0VPE$iTK~5Ms?hfy8xEoc5B2iL3w5Y>3idZQHSnre@oM)p$3uvF zWB&B-{Op_M>CB+!+;Rd=ces?HhGsG3><8~yr~Zu(HOqE<;^?D`x}YL&i6!dXetf>e zE*wSM?2bOd`(U*ELcE~M4SM9I5lszAKoG)M7F0Vze+loCDNV&=vWzwK)K+_*+l!r5 zD>n{j<@X#!(*Q9tH3KcsuBcI|Kq{}{*-hnP8dCa`))!X~JkjVi;kQZPwEE zBtOFqqK0(bA)YGE=TMYAo>Y2eR6k6t>WOrRTZ0Bm-!b{uZ4x1MP6y@YX(*wV1cjB~ zM*=zB>tlh~w6y!~cP&HFeZ^=cfK5%_nbmTnqM*_ouT{t^2PW|w7u5t0BZHE5An9&R z`sgbkJfGYv9mPO{L82_YQ5p)W7ztrja6HFSLvC)+?pYYlhB`CE=CN)1zEqhYbVOX% zbO@&d05IE(hU01XIa7rn*s+O%9W;Qhn?^H1skWAJ#+D4HpVsz&=Au>J;4FO7P`)4O zs`#g^Ya>jH#|oW>OUaIdFq1{ytW1`MczO$s-&XMNXBEk4uUKhM*uWmQwJLwPx%Tl> z_(RP2owL}$(P_LbPBTGwAVhOTFw6eoF%Flvb5~#NZ{&Zd= znGhwC^P5Gmi-}y=L4%|s#$r_Q?BV1?2>>1wq(k9x5lT)iO#(@?!Ep_rD=wO~^T< z$o~QKtVrEf>!rPArGxnW9tvLqFh)VP;^(>65 z{f_{mxsUhs0(69K8A8va`}Tv5=yN{#1B!d|1)h%J1iB2Eq7;7N3e6ZCRt}%W6)?44 zLGXhOig6eJKY|0r$kCKhP!nvcpmuuHm!$tT_h%q3hDsJCxyAh(I(eNjdz<^T&PSAE zC(V}sk9h5kpX~}tZO7c;95BI^rgW+2iN|B3hK}e^oD97(P+OgQBIswjNQy8-zLn*@ zO_Yud^3yEs7nmjkiG3P5fdN&#&}$YP#6Z8Xpf4pEWOKll7qo7Ld#JXa!VoMLdh?YEkr~XY3zuoCwDn1f5PG+-d_E zhW>o(x>I_^njgodhM7L=XH6_XGBFPwNC&C9xZ2@HJh@$csyO#xW7*0Bd@rz`hxauq zQU6j2!CjUSKn;nrz`Xe~MX=Ypf0Nu!KQf$s5$I~g5J~cBqKt%0&(IFG)-RY+#hYpI z>GbV?7TQuJmM28LBI+1axkr)zqpMJc&) zqbNv+T@@YV?!?86 zgUDf+_!w;Cehc90UM)Ylt#x50lj%wEli1qN1gUsmaD9G%%q&^2jhx-wja^(>mOI2( zCgUkJNr9tW$%6ZgS(LXwr=v#;SdQ9rpduE%r~g> z8Y(^1Fz|tA5)5~3S+sQ5VfB4o9B?)5vcY{3b()k|9D^ z67&)1zYpKI9lcr-VfZ=|%Rk-S=qYTshZ!^ZET@W^vj+N92A2s)fwN%CMM0>)(cNmI znmjtdcz^r4R^rg#3+@;l^p`tU)H)KUZSFEmORCP=9?H_830V1qpgWw$t`6f1SVAs+ z^bS29R9XuOnCo?5QM)V~?s-b!ojcpyL`^@s z9E~L8gUGZQOCKg5bY^a+nS`l29|(!ONv8ljP5UK}VgNimbw@9rR@@uh$Q0R@gpWyp zCfVH^I33dLn&aF$=2ti*^El(5ZeAxu{UJm|CKcoGJPO?zi8Y^pX8^uCu-=J_&H!uT2g#R;5Q4&RhkSIOvn95<*lk-{ltK@k&@PmAR2qGq{Tjt} zE^0rKNiettJHIJ;0Y~NMOYHY`ru%pq>K`&bNW58Yyvb$;0X$UG1rh$VLr12Lwge$+ zsx3y0DB22P|1Fk)Njv%aG`-5RQ7h9&PoH`ge{a7`JFN-subU)@8a{LAsE-o|1VS*W zJS9^2QUid6XqVa7h&}h_uf9|%CPa9sy)REkGF7s&Do>v!7>SMkG`3rPfJ|*O6 zo@UM*kvMm3bqY@~qU+7OavMUjZ7d>F_@xxnQ21^eIy_FV??PjS5GhwuA0+Ln!1MBf zh63%`A`7=&gLh``Qn^+5mByQ<$V^&dmFzEoqVU8@xzF%vP<43Q=@pMUJ^MeMp*F>)hM zA@yjleVWcZSLs%m5Mc-1WSkh#6Cq;E@b`6c2`$NJx|^H~6PDe_)g994-)&qW0?_Ds=IS~nBX;f21GH@w5C=6Im8v#)z6>K+|y74dXLUpeyf zY@Um_W>%C+YG;&(^q@mA*Z;6#BiQ2u;wY^ALac?yDZfx7QInjshP%CZzm^l_i^F@+ z6C_nXsTGO*KM>Jz&mn04n9d1L&1M916VDtSa!jjK0#p zRA%j|>-JQAepACZvhT(^L& z30J;6U@-utNLaxJ*6^~uJussC(9{R@;Ncd~F?1|g`bBw%C&|y@g6Dht!4?geUQu5S zJFJoj6#`)Q`gdV#BFX4{t5~~kEtBN_&pasGXwpW2;!Y@s zLiN6TpCbPNNH^$qie+Ohn6(;h|3DKghbbaFYm?$IyJqc0PFO%>Mp=C3sIaeJ1-{vu zmAuRfJ}GlfIuh}GKdZYB#}zFCI+S&K<%}O6n?Tq9=(PGad{cO+-4BMpDb@E&5rHkB z>x8%qJy6S_yR8=HICT6?C^?XEi!7eL^pU8X+^PHe`~`~#04h77;rknwN!_SIOc)TD zRKFKCE?~|glXpW}It6CBXjZ%9j>G!Yd|MU2^;{FQru1RPS^eJsMyt4S3M=1^yeMaq zS?aN0E+VP0B(lEhKJ<8l1T{#FD^xj}Ls0GtuWhWh0JW|H(>H@fC2)%?vqxUI$_j|r z9~4A10NnGLFKkUiFcsKuE~PEYt^@3+X_xcA1zczJ9%IV}!Dyann_Ud8&jUbIb0Vi( zP4X!UE&4MuQ;Qm^XA*9`#NVUfYjCBK4Jv4v?WiA!Ah6oP-3GTFFr_;)8g8{NYuIQ0 zZ$?IK(5y{c=?>GiNMaOH=pJ5lUoZ%8e}kOBd$e>l?p#fNfk{ zc$}!nSI=;Aq1@gQvL$pd^afl^Y2EAkE|4Fb0z^Z|PMiR4hnN#{9H>?g_7jlJA3eqrdz{1{K`dnOr35f#Svhz<(-Ug^(JgqyG*z7NK7tgHoo6^JhE=6We9^vcT6(zpgJFoyOsVgel!8_da;pp9Cg*0rqCK?f*r1K<#!572)+ItIaM&-G8;{OXv_qn z9HNr{^eRu}4m#%b2S16`i~h?Zw41^G39;CG?aTB(1pZJX>MnH4k8*9<6}0u6SDdD8 z-s;Fc3VuG3wc!-UdN%KCw<6(4k$Q46zd|6S%e@5iYsD!qj8#&?q*^@Xtf6dT04GNK z^3lUjdY5s6?D1EP^+M8J0?#RjDr8JlJK;^>E1>*tJUK~I^}?u*P_!K#XNwjCOW}6e z_}Otog3#IgI87E9|C^c2N9y^(eGL$=2lUcDGA^jW^fwqRxoxOxOdHM0JVw+HtK3>d zy{3%|(QYdieLzp!n^UbNpc~8l!ET?P8thIU_Svc9J>I42$E_L3@8VZETXiD7B>Jsh zwhT+cHlp}Bc&|S-Bfit>7y-{QU91nGqS|t zS4fNHx;Wo<{{+2?erm3c5uj;30+3)spj>lE_YJw8XdB*z)w{6{ZifzM53{5U$zQV~ zYUt?;oNNvf&Q@9>cW!V@GP9!QCtmOrJ91z}&Z5TELYQ?s%m-gPCd;KE&nYc=g zzVKMQe(6DFVTnsYz2~&Ei<|EF0zel3Oq%z00c9Y&S6}6H8HV+|zP$JDkB8b}aq7#< z;J3shNd39coAgThUzv}KuRmuJDQD`?*qkkdoUK`Q3u-xx;(inwi?$;6-=3#A=T}$$ zDG}dSK~EE+FWJ?|soyVD^j|aY7_jQt^@Y;CMQ(wVAn)8n6*TA9Q-_$MT@;sVSJj*@ zTg;Z@fK|(h=TTsDF02S!1EAM{djwFz<%UAmbaXX+Nl8{0mXB40m~~B~kUaHV(Pd=S z1)0`0rKpR51sC=tQu=MC4v^S`6<+Z`3hmWAF9l*L6i?;@?$!J>xY+Jr7I$ye-(AC_ zh`wsH$h*K{$4|N<#0Lo-`w!R*OdB>lzX%Z4pf48UkkwU4Xn-D&)m;K`kXn4OwPjZE zHdm~j!k=ogqP;tIN$hWlO7cLaywK`*g8JdUP;|$S4>4#&V za~_iSuG514_~U{fc<93ZQJSn&^lm_mCOY($!sNh(QkMeV*53s=Hl_|-kj^9!m{ImN zHErBgbP3+wk-MKCwtVF`RwEViD>RDfvbi=x4lm9XjVCg85`F8**zgJ$GVbU zcDU2rK00+cnVXFay5F~s)L%UtC1z2vUI@6HedI;p)zRw?MGZOt0Qaq@)OFR~RG=lU za5Dc)UCj8wsZjsoO%T|3TQdoP^e)z2fvhhDH@VEpUD>Q|?8;&d!w>KtR}P-Q=jsgDHdB9v|zw+W;<$KmN9P zq`+%EdE!l*q>-=R^y(cevOQ?}@w6ysr%woqaHq$nR)yx%h zH-1RI+m9NmHHri%o&Kk@ynP`@d{9|^hpLHD|NLQkC*bh;(thc- zNBx_&+wqTr+dc)$MZSlh{=KqnR*HkG*=fjZAc6e`E7-p$^6Kk)_TksNV$C4&AIn?j zelk0suDR%;LmA&3T$6pV9%^U5BP=p?q!{@%^9H7Jj5YNv%Dy}n4?Rt)#r5vbm4f_R zhlwk@TwD-02WyQorC&VU*=f6nfnOgfI^=vKCq#|sQ9964CWyOR#y#aU^1%!GTmR~h zlk14~Vf%p3`;1KZHT($@dnxO~RrFJ1^ljMi1s`i|d@ZWZbwC%O|9xcX;-`gIkgGxQ zC1|DXB}zxqrJv_5T#@v6ah{h$eSBYl@GS38zY{4^>zg-Md;NcG9UrYuq+Ys5{{>vl z-5O7`y*R$IEaUzRE8=SSNzV@2IptVznJeWf**ZR5AE8L{M*Y#r*sP>gsh?t*M! z0f`r*o%99J+C!S*%m<#eT-(PMvfk}gdO9uX&;CrkvotL_T|+NZ<`Y-G?0VX!21;xl zu%bpD9nWW(9H5iYiVZUGTmujPY-5wE*Y$+VRud67r=%8;O*pJMSg0oqi-vlSAL3pk zrN8_;&mQLtIy#B*)5(Yk!(&mjqxhB?p?L-W<*e6$QRu8ad$(XoEjTk)9~oXXh6I3 z+k)!Y;RhNi7Y2V*2Se8+m+J1M`o?xXh&F62QL-={O>%{JCALyuanS&+5%Z3nis;K zN&WEcBes5aH$zu4U;PEaWTFF|+!^c%dOBMJN1Hy(N&g%UzA6H$2CJ;ri2%M%dbCg} zefI7+CXILgh?F^WBexFYu`gTRgY@Dft6YzZg9ODa>b=61RZ3BznKytNpq;d6TfjlI zR1xK%7&)ZjUd4Ci%E;|mr7#$S4tUS})%qhVaV+xx_4bxwQGU^*=nUN;jil1u-H6hH zw31RH-AK-Wgn$y#IiN6z2uMpvNGK&BNOvRMJ##j{bDsP4p8x%D;mbVF`>q{puU>1f zm+1GxeQGqsR^h7k+v@-okaf1g$Qfh_R-3q{6*gnk>b{aK^L6h^+S}`^l8l@TuiTon z)b_#b4m{b5!l24U>OkSo|+xidpmWyTQ>U#$I8@lA; zG+uFT$eRrnmgH1c<)0Qa%BzBx>DSN)GYvDaplk+3C;m7R5q+UXUFPvn=;Gv+nX^ry z9z>{_Q+E^F?%31(81c&TkSAmq=3ZTJ*!7p~T-fPy+Hwv5k@p`rC(H(7+NPEcs@si3 z-R$?Q(~RxiD~X<;aRhhhE?|)Oe)Ti%f z`_u~{)@+RVl{&y}wIeMC^tR>OtGH49e2gSK=-cRbs-HsbzZ@#Y=P9ypn+kkAFYf(y z3$vnIAn+o2s>9)gq@+x1vDFh6s&g=?z*-yqi7 z(HQV2>pujlzh+Q`b*G^ctn|;Jb|L(aPOsvVtLFKizqS5$G`6#4nfw4ykCXD}2`AfI z6xKy5VcSQXKLNER4piLNXIqVWJ|_oH*-kvYc4)ja@6ozZDH>}45I1na3Xrvu)SRZb z_{2utwec8l<5YtjKOsrt@K2*f(lsF^p)WUQMY$^y*4u$+sUm>e@J8ZZHffpG=4vZq zfRe?r$L#3GO{LHJLhB>o3Ui0dp$X9Nt9s95-fw)b!KEkPP4tv`Pfr7a5)x5~DdvBB zZDc#zzC$5${?J*g|1J@-&^tgKBtWpvvdU3PgLU^m&sXUs3tGHpyc7W^`I&zHwPvR<@=1ueTr z(azcj%#)Zf_q>v!O+4TQeuvs>qPLFNWurs&AuQgwpWMf;+Vkm8HK-%=q&NbD%e2Vx z<~6P7Qv1KPjYk##yd`NM+5=Zw|8{^Kv5<3DH!7QceO!!-+E!1=af=k-a}&0N3B<0H zk>zgbit_H)>TXnOf}3c_<5n3pu_js$N{DJXrr{{Tk*!ZUisHArWu$=2G1A2R1{K}u zw(4jR_(mC;hQfRve5!j{4DLTM<~KhwVPx^)Fsk%#x+{U`yBL@3nTh=aM4JJI)#E-A z@UpEIS~%c+*MLv~M2T+RDfL9=DIpt@hU@r?Zgy#Cx5J-0jK7cPf4yl-*Fuk1A2ZW- zl+VAze*exF4XU4A727_T@)x56hL`?&MdqD6o$jV;jWv?CrvjlrEp$TF?fU^}**JC@ zPJpHSwskX|ogar%u1GYf_7RD+JXvitH3!D;ic1#{um++qBYsF=FbG{9BlH9UZnVik zf$|hoM(4-pox9B&^^M9gimtGH+W~y?x*t?G=M)^T=d2RzCT~+29&H=PR$pGc1sCVe zNvwVGJaKE1QR!~)?>`mf)aRDq09C?$|e2KHhWChS9%3NbY>=O9i& zTe&%`{YKuGR<#zO!fhXSOM{>H)iI`iZR|DrboW|zx2c5&J>O2wRaiu<74)s>%xm*| zB*u5EXH)tcMfLURGIqLnX6h>HD&*uUet5qh`TbHM7d*(Ch3jC*kK?!_ zoyNx}U-<_ETSV_Al9Ai=jj4$q1>_u^7Zm?wix)#&$RQAeS0|y&TXzp5$sU)`G$?U?@%c!EbUiop*Wqj$wU+hs(+A=d6t1{k;d8ep8q9^??wd`)eT*R9(Uw z&#x&D(eyHhM}#d8C?UNU#OM33*5af4_-^J;^+IhLSEfd_KU_JV5ss`nIxI6;VHX5l z3zI8)4LsH$dF(bh=-X6<`zR!g3u4%--j+qv%W*S*;1Mcf=|zYiWpky7#?)xk?qZr< z3}P|23amc*eI1@Ww{;Y@b{!GJjSVLVVyfHITbp7|54>#M8onOYF1gu=uX&iIaOx`D z7)(50`CC%y69c+S;W^3UA7_@DCTAD_^dO&xift-OwqFmXxLu+TY%ez72b~Hv6*cVk z6WVQ5jrspw7C`T-@5TP|_8>oMDLq?xwA3O)3E{ahQnJum3-V7hziho)zj)PCgdPr( zFlqHpg;?y$3|j5{AdT5>A7)LD^YO4LpUf=Z>Ej%@;(e?DB@acTYiEvw9RhKGI>Pki-iBUgd%FkiJ2r4uIq@ej}9Yg=j{z$4W`b;4c zp_4MU8&xGpI?{r#8Rf;RtkK4<32fyTkM4YG5AqL9l^BR`M zQiD&eY&K!SBKp7LRJ_?=o)3+iZ&RU+BwD||f+btyx-U=VZhp25y5@z15;S}5F)$3E zw$phlchLv>W*0|Z-X_ax0;w6i1G2`e6dERh?Cw|9Yxyp?uwO>9`t+ph%lK9_pu@;+ zZ2swQr39j;tzrG_%iPHs!>g8~&ehnO3E8E)6%(#7r^`;+S6U`6iYVjNJuAWa!ru;_@mp1t8Zo=k0j~guj zOAweuSAZLik6oYW^|klUCLr>T(H&QS8;WXXUtG7PyPVMx3~%N6NSjPh#M+k97sbXfkfg39Snc+fCF&@ax?XC0Gr5?5mOV9yRr9Y@EF%)ZD_(aJ_0~{kPWss->mLkSaP=TunH)lQ`&=sq zW-flwkD&eCdTJT?a$8>nhddadTUYN`Orb;gm88|W*ewC-!BSRPIW!r&aM}A!e0iw? z%}>d0+kaJwe|=tQMFTh2@!q_iB5uA$rC-)-LzQ=bp;I5J^pv>TUNVuYSz2sQl~B8}-iJ%)M!t zD^X$IH~Pvz4|iat*vx8K9%Pd8^MCD+Vfco(j@fKBBd~yXn(^pw7zU)cz3p8qC5#TX z(Z%w}(Epf5kxXR!D6%7tbVokWpq5KRx@^CpRH1fP&td+n zAOR&rD)+MG%zH9@>8bU&B2{OK)6If2_QLp>pZ(ovFWWI}Y$JS!wQ7q>AK&?dbrJ@% z@9V$L{PD9=5_#*Ho0^1c3s^@K?jL`Iv{lL71+~QY+S9GJnDnq##zKh)xFwmS#QG+wN*ywGr`cn+b5=KAn3yg zLxvo*e~&zWwQ^;7H|6J#8(T$JIh3lI@RsBwaQN4S-rs-?Qe(gDjoZq1a}?dlG)dj2 zCj7k`wu!w^pSLF5G3L3L!zmFW3S-~Q zjCJy~^4jo+z2yNt#VSs5b@WfsAlx|O=UOj3sV@#f;?5+gw0`IqskNNFKM%dn>lcsu zdO4wcmzsGh=z8;}^8jyY%)jMCWJdjK}fV)JI8U z#s-J=Bwn7St{?vX4Btb?hnfE}G?k(zz6Vh=yGf%)Q9oc_|GLV3e65fHLO~w4=T4t1 z{FV@CP7QSRQ8cPT9>!Jh5#sgTpzjI9(iubcsydgVJ5sv6GU9s0+>I@73(@cQGxiAI zwIlQU>&z&}d-BCr|F}=12ciuI{TZx+_Rp(v2_7z;Q@Gv=8L!i&!K}DFW`d%nJo%r- zl1xoa2LKbX+}H7qiiP{Q1h6mr(S+z^70cF&mj_{MfLjC<{#2cxw=C<{F{16SfI5o9 z4_#gy9VQ@n5O316^_2rjK88 z4z-fnaSpYVyyt~fFyEbH9PsO85WvZYD3!!1&g;3q%ce@uGl3m7+ z(>Gr@W1P<*OL2Q^A2?;D7o#-`c=+LH0Bg`QP9@=at{AEJP70b*g=+)=QE`Fxph8Imb_FReXbD> zD7%%)Z4_uUdA3^Pd~+Op-OmC;j@T9}U;WU%b0 zx<`)^F3CqRHHmmhKk%@am<;rC^YB6dG!C0R($nPVjOhMqHK2a5Qb?vhvfH^(Jw}eD!(m zanxZ@(h%qqo4*MFDWL2a&m2a zZ6_}3HeA^idT4H_v+T(9r3mqZu7IVm&EVj8Z?^v?;onCZ-VUW#}0SqA)Fi z@yu_~pGFNYD;fxcF8-*s97WJ^Oz+T3)cZ=o`<1+6ibZRZn$4G2M zyZ}OGnbgNb{RrQ3Z#4mH|KRtjw&n`Eu<5lv40(_m`CxeS z+U|#oFz=pjMXDuhgaS8U12G%NRV0;W93p)c#QNFiKmK5V6cKDnPB0C_Of1J zkd>3gcnl&goj&&f6D)|YYNVPUebi*b#p_t<&-O-ofhNd)>#(k*_*?j=P@(F*)NyRg z3d+|JHe_R85bA5)4&F&6OCvW?1;_C%qervF$IxkV;bw5Ttq4t)ILWW0+z%Zm?H!_$ zefIUcpnS}{CaTZ8=|aY@)Zx%BZyz5^I$krLk+5Jf6U`y-E_ z`G*58ZtoSIdUp7ilP=khhj~7g_K`R(tUsYLp%5p2G5s^PID@$JXxaPXDQTdV*LRf9 zeMy-kry=*dk4+wq2p;EkisX$H?7N>efxf%%i=u3ZnJ=@Bdt$fbV7_GDZNo3aGR7+| z1j@O2Mqht+L_Yr{6&dUyH!c6v5wD?g5)cnzgni8U!NttE%c2cmO64}H(x$h9iA!Ki zF!$pnP|3$+t$ctI#|qFvO&c2Aju+Xb;h7{Ufzr}jO$KK7BVT3BG4lUr5+i*v-CY%J z)0Ib-Df8M94HwVkfnRoYtZ6Ul`PZ(d!j@ulY3>&{Dk&;O zT7f_vhLU~O`GuAjC;NxB*%#{$uch9+$Q&bna1in%%4F(C-JHrCzkm!6WfXF8DK7HV zMCQS|YTXNwamiHrjNinAlvW~?y&Z9`pk1Qqv57}KUa|G=;!>m>Jkg~oc4^`u z2y2mYZgLl^_Aiw3G_!bn($#)BAYXD~k$OhRf6dv454bXG`NsAH=2bAGv3YLftV>1@ zH6nfUIc0aPc&jlsp-0k>Cflh%t9i)m3&r%+AHfrvk<(qrCq^~2EwD1=C#f5Ay)*jS z*Im)O;uY6npG{D~i?CYWXV;vRl&B|>Fzb8Y+}}}F2QAJUol8=qzDxAnd{0-5#|32Y z$LG3Lmi@72?}|aw>j}J1u7*|6$By^(PT(~FH>(+e$VW4UqpB4_B7k69xGQm_h8e>y zxA7t{lpg--MA9n;mweMGkv?BFdu_TZmzwwzPN5hifcR?5M*vx^IEz)Y*U{AL09wZJ zZ2E9A7R%H#bL>eE@V^dEf#Z83YtoaIf?N(!o^c#$`XEB=v2-Q7%DJ`z^mDK2^t_dz zy?&L0#4f%Km3iMAZOjauN6@xy!7t72*$84A5-A%JTB)9w3t`_VK?&MLPxt!ib-H^@ zMoQHKw5J-N!sIo0SaL8vP@@VBELuPWIYjN5a$4yxonCiI_Cqn*10_7_tHYi^xOg{* zxz|zp)cOx9S<2tc-on*1a4Le1T3{cnfj0*4+3la7Mt%oOx980yL3EA4nm#<}Oo4|#cQ=`KH)q{M!WPV%^%nh&uam)`yUsKW{7Im1we~X|B zH=NC+!AnU=Z`dhQ&Ux!;Z5|IzvvKas1Vg5jCm~!CIk;sX)K>uPyy6o03DJ_Hm6GAN z1q+Eij9JM`2sOy+3}|!r4J#b`CEWI&1ZR$sN)-5&4@U<7#=cMa*iCA6cL*9V9k@zs z{qnF_*1UZ4j4~#1dtf6%`4d0nx_>8bN9HCDpwl)40g8G@$Qf@HmSg z!{i%2BEfzD%^xK}Hy#S#dw=*BwnL%(7OLHkFWmO$3={OCmjp9XO`eNvu<=2TQR@S+3^UG_o}F!PUF zzXMC7;p&!QD*C2=ve8;^mcmKiYB6#_zBG>xsouuYn7REc)#_wPh`3ISlmw3nm~Nj{ zUe));8^Uij=`T-f!gx$f20TFS0nX?jI#sMx`K!q$*ggys@e24jrk6bVr^1r}4OEtB z17J5*v8FCCmWotvvczLL(&wJ#%(Qwmb`-c&%1Z$$vbJ=3{`@m4ES#`lrnodmn0xXhdy~%Bk*pB z#F@HK+n=A1&mTVE5kQo)XQ%l1^aDXnUx#TSUwtx>&%>~=;R_7%lvETYhWv9r<##d9wiEHN>@Vuqbnza4O%92lzX z&h1bEKqX~@dEjEOYcIMaf-zuC;fmo5iSe~VwC3?P5|2Pl3!VdEzG@Xv1buG|tNg!c zCg@;$hy$H^OIh?#@o79fY`7A`)?IS4l2@YHr&v#lUnG+geLa2$|NOxQH1|@@n4aTd z)IYeaKs^+qF$@es+_J;i8`E$MB{G|Y-9(a-S62!_u1dC$vX3f6)|`5Pj;DtB2Q{J% zTl~v=JC^`Xi8=v)Z31JPot=Ubl4h|oO{x(c(Y~FwriA=Qqwfr!mS6+iih#49WV}p} zRehi$jN`FG0euJE{zqd2XJ^6|l4H#T1i5{R?jZhfuRw};VPqW3TgQI-X9TTv40itf zQ)?~=U+Z_oHx)59zG5hmE|xHkkO(W_KRLoLLHhrVEgpKVKb)AD5n3+sMi{=L;uKQP zfXTNhw2)yJj?q?C8Zs#Db?@Gti?Ih_=20RbPxJ|tuD<>EQ1LS*0e-@NqD>ecp8?>M zk*2S^l;LIPY~6>o}~Z-7NE5P zLIlFXzbl>vhSOrIvl%!Sfi|v6&^CIA>C0Pdd+6=J?k6!!S`45CYwT=1Jrlo5pSQZ> zJEoVtUj9R5O@DhfT5cToNXR9CJufLMPv6OtpD~~mmMo9wqJ6ufNuyTVR8{qfTRYz| zb#{#@3`Z&k!-I?CKivQO-K@mG=5pC`WvW!Vo#l!{kfROV$V<@%9PJmRaH#`ke2Lmi z$F1oVa1zy9U|YFFvi*1B!1p1?#V@e6cmT+uANX9pJz{M!)bN7;jaz4QF}=OAisN-V z4dxV4je`;r`WPev{trPYth+r;B>Q&`^T(;7b6k(m#>{bqX6R^gfCF!8;bl(7#xH0T z9UL6^jax~;r64#0;k0v2|Bpg%l_MefNL*R(cu)}OFJ1!5c1RTWz+(g3g2m`Qc0!PuI%BMXzugo&L@BR0T@6jU=g>_igc|a^g^Ig*%=jm0m|;Fy;g%B~WKVCqAi^>W;ovmr6>d@JpmB!vg;qq>PU2 zKcNEj8F(ljyy1LdM^-U=6l3S)nx29=fdP1*d;*Uv=?kFyaF&AFp`kndwQ1#aiC%C? z1Y{TSpG+EUX>BqlV5teFy1OIC)seFb`hz4 zGz1MDL^3@Ac+A&PsMI208&$(ldxY@}+mI^N7cTj0lqB{(5S}|51)uQLza?PJkq`0Y zm*YRheYK3WU*LHQNHyd!#;(s&@E0YhNaRR0)Zc8R)JD$<|Cs}Qi_xYj)%@?LKFgv! z`MJf5;%H7VbWI-*%YyHiKXx@8=t9#xJP~46sPw~SX*M+@ z8Mh%&4E*X%@mfGk|7vK+7O-yFa#0Lk>=y@*c)EU3x`T~{6^PN6_xu2;*VGiIyicL) zJh$UrEfac);&X;W+g%}dbEy>p$2{M$`ldm^*6(07K@TwCRtj&!$+x%&pa(_tUzf7O z=G;Z~RQL}Ea50}@i)Cw{4iyytj0ZFY^ge1gcgwuICyb{O2=TDfUjZXWY+r5Hf}^p-t|?>B zaOS7UrGCwla)tI;r#M9`1Hp5OF~x&H?jS#Z{uIpop0I>?_6J#n8ydl}4l97@IdO)+ z(;fpc7(kML(VGw3%P^dn?nJTpT%q6o#-j%|UrvYBO$?>_Cta-RDF(2!B)aE#Kg3a2 zDis;PCg#qX{lf>wpS5aI{MyG~%YL6+`As*BG(L_Fz!q z_{0yLp^o*u5-G}zpt-dSpMd;J3I_fOPd>j6^kknCTAC{ ztkwYsip(n~07PppQd_Pi7f!&8-pL~42lHYAOF$EF5(#SBHO#^}^HTW$k7p9682tgF z$8l?DVUs@--;`e;5OUr6!ZZhf<`hP8IL-U#v8X#TZZY_v~y$R0T8TJ+NVupI48Ze@m$W znHMMs6Z?h<%~G@D_>}V#Eu4S`F3OABUiLkR^Y9!U$a2z{CK&-NsqyR%|u<0 z9}KJstlI(9+#Jd`1zXt($-6P3sGt6rO+z4Vb)Pb&^qu^Ls=hVA>IZFwS~F_49O}EI zxb;iBMWM@EVT`x*Mw>1m=K6W+eM$H%tW$JkMa$#Y|7-?U;uXHvub zi+`9^EYIc07IX!B2e5p;=pGm@5QCRQlIipAfYt?{OlN84IZ4P>3|hYsxKV!dHOvY3 zn!2p^R0ml?5T3y4-a?&Y+$vmP;kWbGXKSh(>M5AP{MMK2P^!QUem7hHkbx~Co+%bb zlE7S)#Y8!vALZAHg$d$nLc}@hb;19FmRO!s+@L7hU7KZT(@TLL3Rvimn1@l5l=_5N z@c#Q57Z1Tp13}e7UaphL`8(CEAWy6@IL@4iho8Nab;5PcJ_J@;O zT#M4uU;^-x-$%w;5fQy@#Jba@ls{U|UkrY|4NAXBz^2V|l-eRMNZfb4{#De_u<$5M zwD$E6>XbAc`3vbd7yzy>dEpeH@5!dcUhX@h-bkutKdd9UBk;&Fm#YAiy4Cd^@S-@7D7e-$*undYf+?AVa=u5`U#NM;t zM!@%7u*A^r*RZwT1l*SLPe@72eN5_nBra&1|b}=&)*zVM4pc@fZ-!vfHAKHxs1C$C@S&*+orHEzr|HXF5Sv zjr%rMi0~1CP?c|12=ondz7E0%)_G3*p}AH2tQySo@)SVv@hqYi$ z{1yDr?p1`Q2|DuDsCNe|V2`o5a-IvRd#jE;jZTon3D8-^S=PVHH@;9I+NuXxsG)`J zKcq|QJ@qnpkuM1KJMMAv$ST|HC#JgwT?I!ty(T+E?o)jM(j6lNUuc0HlC#@B{~KS@ z8H`;PVDHv)gK#GYKAZTS!qqFQe9kDOl?Xnhc&~FF`P|=$5@H(FEFw32T=^IQkWO-*OY zcDh(Gy3d+whgO`UJ=TIFpHGs^aop^A&VV6O-j24tI)YurkE*k4Y)>(7Xu;2eoh;HL zaNRRe&bW+caTt&y`^q54L95^gAaDT66_EKfqdUwLhYJG#mJ9da?-!N%I>f!w~cn11OR49ukB$au&)bg04vUM6zws zz7U>OcBPXrB`XXznm^Nl_6q+!>SuVlHv;{Xm=3YJeA1S#>n0>{+FrV;c<%;a{;4lK ziZnzgxDbQQnFQy1t=kEFUu|Lp?RGm^GcG(e5P!cyxfP2mkFd@di>-6BwL4D{thD6_ z!Z<9CUNs|UvqzKXOKhY=GDAM@8S_^_|_(PM?9ze6!Vel#v1(=&3-T&pYU*$8QRQ zcdq)y+Z8jk_qJ&W@MB!AGJ-(0w_#SlYV(a%D3_Xk3vzrE=R28Wut4o2F*dAC^nOGW z8+Zdb(?7H5y_?3$Z4jjB`A{K=s8PB;3kUh3Y^V1`r$O-pM2WqRljb(&mr|&$BUfjO zjSQ2_#zCsc&*#$TdA7L!w17AQ|@F$vWG5%8cmQReyGAvSwQTWOG!)kV$4rU-~ z26QUQN^d@TvupMKKnYO7;qD@#TuYznG%)3Jpk}Ik!4(zPy~Mj|8tBd)M*~ zL6O^dsuypscj?6sLDo5^t#El`v|VtX$6Wt13w3DLjvzEP#~Za*W6^{S!%WKEdl^Ag zQfl!<&QTADRHX@Wd%7Z;6eR0KqUnm98HgX@Pv7nN$#)3^&|}NskPuLGqm`M0Y*cJn zFdZL?On7>#mMPS!U+wh~>)5d?y0Grs2R)}X86D3XHgy9^NQA?S0{#JL-CQKa!r z-eI7MrFka63wgD4)v2SYIVc%wOkkqsu=i$2qhw+xnLg8V5ChDX9fN4Ki`LUr?L%L? z`32UAA?>OE$X=@I8i!8mp1{8=0NrVCN>bD6zh`B|9a2>VtkAin(-!iq41{K3o+MFQ ztiYAD-6Scv)qK@$ULY1KKe7;kndi2PwgJY_`Jz_B*}Jr3D&cHx*LS~=d{@oxMq6 zapgT@{ai&vit;~Q=cL$`x_v3L!pR*~F@MKMdIvbt$bKHrv%;F*m#}?=uE4ipI1qj5 zK}d(I^1x=`fY^a_GO&cwS8Kn*v|YMh1LeUYR)O)E^fuDhlWO3<5GT3r&?|mvm!%eA z@)&$d^*QOSp>mi>u+h3k^LOu<2VOLNHt8%{`HIdxIo15vD6wWG-$6TUKq++UcDVd) z3B0N4T5vf@@K+TUkU(bcvx1y5mCbOkyF zq;gA&O8Q()O`YX(ZXP0eVLT!?t##C&y5%5a*8pXU=66OVr+nMx4+UC9Pp;+#1%rin zg4sA45=-g@$y%Qt8Bh)A_BXJCSMP~fh2(=0I=mLjn$Um$My>gXn6GSbC$@s&L(_LF z2LTC^&B=$`B)HtF7IKeYx>voOKd7RraDPTF>Jcttn`862;nu+X{h;IL;F}s!#N8hF(Li}g4ig9&y@f;))#C4W-bnu;1fTV=x3d}f zSSl%g^Vj~5pGFBV%Rp>yWu3jyAe2fdyI(AmfGd-3{ORNcmGD z{yWiw4Og#PsnEqIMs2^e1DlS17<<&}njix@11!PXi#F7QtX8U`oq=;r*>e9Bb&?7S zyn;#6i&i;ks%Dc*bmW&_3~bU>MseDXzv(Jkez^3fx*gPr^j7=&^0a*RPl(O|=*B+L_0nOXup zxUeBMEyl@-pFx9KoRAs6TZq)PSMwXdA3h6NyE}O^>VLL(H8-epnWjpdkvUlRPFl(( zM&iuwnOg1wP+58x@k|@c*NdV9=pES)*F8?>3+%5Y6|?VV?Q`=~PQoKy)>SVfEi+N7 z-moKew^!YqAozLc($`biX!H?x-4;94>Z7tNj(Td| z-QB^)hAgD|W8hvz?*+E(c#jiax|{DD&3QKowg^5A8j3FLAH!z6tLyIVqx8aQfYo>|TYSplvIzLUEk@w;V-9B$lDTUakf*geDzENHzA{q`8Q5psiuWbCBr+WRlV3U6 z-!gn0M_m_x_+TxnT0r20^JY(`>BPNa_xp8HPq82K9{maZN-gP;-Ti6N%$IZ;d$DOl zePP72o1kJwr(?2%q9KWn@bZ>er6UdHs~cW!oYq><%ua*Q5-0|?v!{RoFLxd&m!K9@ z+r*7ovN&#avV_8V=Oyq*C20ql;z8IORFcGU67g*%bwt9>)6@fBz>uC?(+X*E+N<3T z@(X|-^5xcXyNj*nMx;-)2Zmh1Xb05~(4j&1k|a?V_Uf&gy8J%(`Li5f5ajkcDXC9HUO_C}M6n zeGWxG9a>g@j-H|7zs~%D;6q)cCAmzSF2XFeFCH9Rcjn}S!&5Rfwl0pcX?5DkoSwUD zH7|6rvU?D1$^?c3}=`UelRvH^eKgMT1S3;|bV{s%w)AISgPA4<@Dga0$x|1HS> zZ!7yB?E60?-D2#2xCuq@LFWGv$nDGjqZ9f6y0ZWGX&z6aNuS2hTa9y%fkil6SwWXVS)6TBbW|~zmC<#=ZUf&~> zB)Ht5;rTpMH~2*Q8G1DC{g08j)M6e*&<;Ad99N87$C1G5mfa5f>4Y=kv*T{Y-LXTT zox>^5Q@v*btDCDa-QUhdk*EcvlOqG!(ZIj_My&(lhmQJ%VBP)_-Tt!N{%YL*7T^9F zp!)wm2>ky;+^XmQP~QJ1bwY0S|NjqhtJMF~7XJ?gL;l}e=l|6Cp8yy_?CsU7{)P3z z5noS@ zT_GJkM@sgP$UV{J=Yt#Jcqp*c%(`WL*;*Z9NHz&i1Dl zd)pW&9rY78;r^;5kKkJ^VEhV?A--0ftQRtVp64;T>+AYY-i^z~)~#7ng)GLXyI_lR zPniaS@&^Sam%8qh*@*n;6+MkZ#G>6SK2-ksqK_|`v)k5_w$*xX!{f@%e}^jzwoNfu z7!cr3#7sT>Q*|6WE)Hm+ee6j01G$_lv}23GP2Vof%1RdAHl1$I2e%%HpmUAuId{r+ zmH|S=a`ymwV|aD_JI2yclx>`BHrD1tg(Dmd<+CJ}W6HL{o|9{s+vpnq7PCo+%DY*v zoD*KYA0neD(DAudkHgyDIDS%ZqpN+h@AK=hVBt?M9kwdm&o>vy`pWAHbmDJ&HN$Yf z$i^SgzxMR?ys}}iLqGYqFQ8AjQ`4_Rw!oQr+sEJRv@RN3U{^=uTI`BDz*@~oe+tX- zAmd3=?*aESlwSO9O5JLk3I#;=kABoAs5g9Ra$S`7uFn_zLVW*r$vXN!s?7CmwA^;6 zoZVRNmdBHMZe;GgA)eW+Zbw7i{hNtJSIVDViP6UbqPt^PPhK}8bluv@&M9+ZAGeaL(u)LHF~vT48f_cJ0b_)ncK zyjnHMoP7B?`3m>t6tV3k&`>6`e1P@mt}|)Gk8UHMY{T_|tg)utm-CO#Yie$VORN27 zw$<8v9IP>*%#S>Ap4Zps(##O@>21$08AnlksXOI_ z+7vaH*DC{X+knkOlcTMtsZJMiLfjPE+aBFVDRt=y{+H(CA3pK_0^ODViAY-e>I&N7 zVW2idD<7S;*yG+LpVEUZgSWdMtJ#JvFmDx2{sd)Vp+WfC*N$*3xDZU~Wpc^fdv%_w z=crplBF~$)*xZ#YMftR=8rErj({h|LV{5C1@;4l+pI&&Wczz1Jiae;}v)u^KGnpZ| zHEfLC((HxYa(B7-tPCH|t8E>}2Yl?e!zIq7uf}|`k&DS1oM|c_ApPJ-dl$8BpAJiQ z5AJp60BL3C2nx?_r%ggzbJQdsXnXxGuVu;MlrU&dmp-C75c5`Gv-5q!!H{tg7gzL( z2+vmBQM{M!2b92`ozJtg^EgVmkgR!;`uYj-1IMyk3141*tu*d)c8l)0~4q_ zgZ(KB@l*k>W^A|e0(EP|h-I1CMtU=fW-6s> zrNA~@mWV}-TZ!bWS08{vyS*f5*9+>^gr5e#YGiTErEZ~x&4C&&&f*KQ_r~l@U@(m-}W5bU1Re*hWeQ4^9sL}fII(g)WNebWyVW}$OqwH0L4Diay}weAFlvQ%<2}mI zHfp8kHgycWor4VYsX8e3&G^0z>1aKqV7Tor=7Oj|7(eIujrXWzk0@ovA&M3qwTIVT zJPA{zLQw-@78(zC2hAr79g1&-&3`!I`f ztlbfH!F+xb)Ll`GeCN8F_)nc=IOxq!VDg6oe^9f&_`*DQ-W*&LY9UEG3BuLsnJxuC z>JO5M)DMSBk$*nCp_6!`;7f-4i9+bMeegNDHfdLoi51ZHe@)%J8zvZBG;oBXPi!+L zShL^#_RSZRz*!BEL|yIALr{Y41w#lZgFS{LiBi_nhr>IS4!EdGO8rC$|3~V%kOYa+ zJ#ygJB42!Djkz?8f61;Q7IHr%fW_9rJp`;bKA#> zdZmBgp3BX6>23{)X9DJQd{>>txmGt{AF#O^BBM~ ze;?Zv$e9?>3~E?)8u3q|Hdp-^77ea_OSxoL$y0%oBYyB3y6*&}|w|=+BO;eLre@dv*`rPGG|%$#%qa zF)%4_yYenh88Oh&JmRC@bbKs`TK7!?^W6MCQZflC2FdUHV~+_|^BXD6{modIX3#5e z11hkCl02ib`=81WsDnT%Um+zhJ{GZg91U}BY zcZh>l$~xo;gL0BH;Ec+AZ0QE}jj#qulfVT2QBr zY6;v__-`B|S7)XnoTy%eDqf%A?e4y=MN7zuN($Q9&yW2lc6KnymP198ayqcg`hPdg z4Kmy|oqQSjuPHHxxaUYB>rn4y)#qkhU^nT+Mc=f$QB4fy-o5{gPTc492i4S?dJ*(r zub46sbJVJQU)Dta*R-hM`xn&<1hC)#34%Lmg6f63^8Yn8rRucb_L58fUy}hEHI2{R z+Z+N5f@fJMy8rb5{*Uz^s7uX((t9xkH%c$b?Ly^0%?*zyuj=cd?8uCoX8PnWoSh#V zWk?rBCmO`WKHhx;xwm$aUG|k9oCfQ!oGH9-kKzeEXG`K`;1fr9SP=K@5A{mNHI$X_iPFJjtU7#|wsldLwW{2L zy^Ru>9t2r}@r_&e!noD58zz}#?R}2-SP+~tq;Sz`Gp^~|m7is>wDESH{Ja+grCQpsDUst z5xZ9hlZB}Gt%R5R6GSmD)Sfup-Xxs&OvPcVN#?CJRugkOo&`lO;n!3CNnH^$Z)j@h z98=!l`OJJs*45Cu=Zje5tHSuD`z%oE$nl*&7&l;|qA;oChlo)vjk22pMOtQIS<7>b zP_!<3*SDpMgSOgcPUe5xwmr?^yiMa2*Y$=lB)Pf9g~MS|m3Ec4p-A<2=4Hjc2|05^ zH?`t`Z_#x20btmEY8XD{$9F1r;-;<#%i-IaIj?gA-0dF~Z56rOnlIZ`#fnybKWfYW zDkVicT~fMs68F053l_3!Q}Ce{XeqwwY#(g^nY_n~N%bQT4})Rx^;RvsfS+ zzBBW**bCI-?`_@zTF#@B`81-fK9b^4$jbD6-mZ?xmsr1FNJ!4#v!|pBDS}R=fa<}bvZ4`hg;iN`Ef258lO(A)z@9DE--C88A#&0IQD0& zO9JQ}wX5tl1XGup9v~;q)R}<6EIXhJ=GCf{$>~%6B(2L^E5su^y&MV{42&3U@@n*U zPPvX1vKU#dYTj}6_AzZM;9N|s3L+R$|Kdr&b!0AxrSAGPX4U*k!ZOElF`#f**wwUX zZc)Di7#&R?`9|)Re6Pigg=b3<4L?{xN?a4n?xuJueh#~QbDLb%*v@CZn>bWQveVL2 zP5GbC%NJh?JvLl5pk~RHFTB=}-(B&%1{>Ks>`Q3Jo11+9+<~;;WYQ{_rn*nxB(16w zgez}NA@6qmwo^!MwEpnzLCDi5nwWRe3L+E&~;SlQ&F!;;} zdBZE35bJYF(}Stwm#^#s4kw9M{1>rhd7!7hO$t4iTq$4b?MPT4zd6b-li3r;c7M9P zy6cEMCaY*#Ilt4zrk*Z=*;Kpk!{GN77Bx^ry<{iNeA3f99;f&`GGx)3>b=2glhs>t;vDh<8NOL}MJ8c|tr{ z)3c0$l7{Ba2dG#ciPtgF7p)gFkI}SZ*}r|Ke~h`uD&pvy>jN)EY@j0_i|vN^;UhEE z`GO0I>!zXFXiP3`5on!k#l`l{-uO(Xc8lB_I&EVGZ@T7!l==FcL-h0_#@3%ND^*4# zV|;7CQmPx@v`t7qOg|$=W?*80q{jI~MPL18bFA-B#@8J=o^Gq{hP(zVYU+D@@om%ICR~T413{G; zZcW&(N0YsDD>u8`1Jzy;+XUW45^cu4N=Ysobs1y3WUy-_wU<=>Eh(*b%i>9 z1(I(HC63`-Q(b9Er=0uxRhB*Z$`lC_^{>Hs_CNpnLs=o>lr(CTVAgT+$TVX1XNeW< zNTLwP<^9Q`JVfsq4J6pjRM)z3t6bi1 zVEZ}jp^AGqsm6d!o5{!Vij{#kV}7HMHiiyHwk}k~yktak!mx02lvLR1Q0#f`O}tXYt{ZW!nAWjs6a=;b1{9gpdKWp*K6 zUVE4*;TYipf`(Jxu!o6m$6dK4JP+$N%Jm+q_lvrJqv^JbWLIPSg98SmGa9(23TBtx^*Aifb|^`!)E=5TzGs{i>{TlvwUbtA?j9o2%JUQ~KOBE?;8L?++y zA&sq!!ZemjhMC3QO9y1h=`v%2rv*&4U+1-zaIj=-J@UKqzhL%#2~50P&@)J+C9_bk z%QLB#n6;el#TEUhXQipX!owvCwwO2nU;ZcHOSaQMs7gg&1ZVJYr( zijOlzw?2;Ei0H2tkAdHe>;Km zPr*2kc0<7!-@N^Uy2}A}zoCuc<=Bb=&JapU@e@I}t?plgfHEc?8i6*zV(Va(^_2E`Du;H{hZh7n(*taq#0pY7h->8;%_&%1ai z$F;PV56K`uorv4!nhGWDwF=#$9hgsbvL zv5;`(`ovd~gCL)u-W8TyQ^9rCaO_Rm;e~LGsx{*caC$UFze{QJ_J}YnY|3-aX0TQs zi4SDXU>yLYa4l1X6OJL6j8aOOJ(STcXII-Gl0_Leu+bV6xxyeBQdp+-0Q!2&Mha zq*SLky|fHE+kCltT9-ReDkc30h6c9gf>r!_?6m{oXGfn8A7hJ6 z|7Y^S_6~lW-p>)2#i8{>_*Kx~9{wtgfaJozW8F?{+Mab~ZrU6`CdT7(eWWE59_p-? zXP64@&uQ)Ac@gj~o}wPWD2G(*^*^KUa!uI_-;rK<=gfdX|FPp93xq`TwJxT6SCNRe znv=RbqSJ5g-J-K+MgGQW2b2^I)|XA@Xj(nyq5&o8G~Iz7-spXly896wLdzhG2Ty2fN*#XHIW3_ zxrOB>G!EG>UdJZ;t!H zjkL!@q%P~2BK%vavXt7*%o(+X@0IZRVyPP9Trpy7FD^$?xTZ8)X5QrNwV%B2svY%< z8$hi!+HX!ohwlq#g6&B#ngYqURW(<4VofVw_yI%av-R%)`r?{W2|n?9vlnzKbEsvU z9)pGf#ORv(J=0w%hFFiwvT`PR{WNunYlPOkcNZ{nBnG`kTr#owhVyzQSM2Dy8{C~U zoBTOZQXKm2B}EtP*cIIA?}#HBr%H5VUv1P*0^B%UMDPn~RQaT?6hp`1<2iu>ZPG@< zLD`;s?K`^IP_W0}J|}%g3jVh0%e%?C#3Rlm_5Ib=I*I!fXDj1kA2@}13AVHT~1yCujDaPX)7Y6I)swSc2 zkAWcK=vSPC5`M`fk%Lw8CS1GvFNSK_Mn=A1VVvxufHATDXpjy-(1p1|^0Va3pBdwz zA~LV*0LZjRV6Yoy?A@Ph0^i{|U8rXTH!QCUFLIICcC$7bUZ6I>-#loQiV;8sf~r=; zZ1wjeLk6XgamQD(RC!zS@4Bu5y0mZIdIv*BSqb1dmBOxV)HHanrE(HQpeZd_x8A{s4P_cArCF=16nR(je=dZW{a)E4rQk z-yMjzfXzkp_n0%a-{~U)TBvBfBC8CZK$-!FdFej)6-%DVE|+NgAasbJve{SjQ92(& z4#@`bK2Q-L;e?f3FO6fn?|f;YEWsXP+78YC{2lbH?cZSwW~+@6kBOZsY2_O}@JsI@ z-1jozU@QZ0MW-Wi{cwE}Oe^~>H(SwR6(?BDPhpQKvd0V7X=l8iD0s=JHuX+m zWdVis+eQyg>ZUL?AKN`X;dql@JEk>?aF^h~f^f@4e!{eBgK9>H$Uqy5LLwgV9&6ns z?mvC?_RoZJZ*}7$I!6nZHX_&WqG4+-i{?4$q)3UKcBC zH()1teEbn#qbbX}6SUj|AhG@+M;m4m3YcumaKjvSBB9Uh`4?)t2kFwzc2lb21SZwJ zr!MB4+*ZHn+FoNkCxZOci-88ZN0pD&MpLPsW-%f$rZiK$0N%Hv6kVgf<6Pmm{uN4@WzK5YS0z9{H>-=KWkH8P5ep)sx#6u2aRZRiP&Q?k4a&gFhZs_P(3SJi25Br+=TI`vH}6IhyG&lriW z({mN-^_pv*KA}4WGK~s|>CqoUtI)i`;?u(=_<>Hd)OHPao5$LtA%-*(lWK6^2lcNU zf4a~dQVoE2%ElI4rcrzP*{qd-EUAX2+a=}b- zhHsqdMIbffskwRv9UI$K06Z?B#AMN(lx;el0F@4!{EBHMjUT;4kd~m*y25l*n~rN# z$;H<0IBomJjDEI;^U)96ucUoTG7@&f^Ci4#5&>T;yRA%EM%8vJw+T$#D_KD7Ht^aa z9&pyycF=#TP#bMGa}{1nwQu={d+EmOz}vlWy!qv7V({_1`j-*nU(q2UPg3m?4})ya z9MX$oubk2u%n_hc0sT9usHNs1o!WK0c+!CV&%-Li-rch}*&awdTzK*gr2d_srJNQY z4~IHqbcZxVZTpO&AVwq0e%Si^qB})^6Q5*DBtpGNlxK}@_1oQUZVF+dT@G8 zJUjVBbyC>9u)|uN@d-yk@jp)g5(u?XsdfSvC_FWUu0)`7rgtNzwn{|ePT20UO;>~b z@IWWhN-&1Rmr*Bo>^Dj49l!f)Cp-l#wPC256v*4u&BeZ_InRYe{R&rdt(=uZK^s z6tG!5U}v_M?dx1w6>1oY4k_h2)-%+hB|FJ@XvbK*rMeZ?1S%}eY~D?v7{63=XK|Z2 z(PLd7#I27~pGqNO?=G!Ujo;CdeFyKTR~ZWM)0@W0a!@GbIvA{yJomO0`8_N< z%QleOC*67n0#`kyFqfny8)(e+86~w)S$PmS8tn_}7dd(xo1=;L;bKMD#Hk9{avUti zOWAg(pExHO-AKBD5ii{1EG}5EUx8*s`O5xoW-XNM6vkxJ>fHV6`4Q~-ZRdqtYW_~h zk8t;d##uH5%nV8d3BAIzp6CIOeFfm4>PBl6;8Nmh5&J*d^h~d^Q${)tbQ}=B*0Jl3 zt^s7_96%9j4l+S;pYN{T9sZ%Fk`D1^S7Puqe1naOtCcftx!;0)Yg}E94XEuKCKMt7 zf+A;uk|6HhgtrDQ?TYnixE9NPG=Eh!d#qXUamhBrg)XHXL}=hr%>;u#1HaHVh+OkQI;uD_XTpSDoD2IubG04}uY;`*U zk`)=9v~urt(H)!+9#hWHmW%ZvX2fz$VefG~=d`jf7lt6|I9QXlhkr_b$gbH2jk3IF zK62@y7J-}2RxZqxYZNB1V&u-2H=*>qCP?%+EfDYvWF~nBn3gLN^;Yx`t9G#p;^5H2kj+eiHSU;+V1&F zH9m4^%!@3K%0WO%m^1whG)w)!$iQ)ewp&f|y(IvBw{M8DQ|NjcC_y>AqyJa7Jhy)2 z>OyeUDrfH?b;x>$VF*fwP#Xsd0PcM7!ke6Kkr9%coE}Bh(QQZHxKhHG9-lAOIEYvv znptH1*Opg!#FrbG@L3>C)UZL2f^*2@7xQ4pf5+QAwr%O4>m{`RNlPKc|oJ*I(d{$7aSs}0e}otQ3ShZ)AwQ#>+o5Q2AK@~3`45`ICrsx zs`&X}>AUpYjZX<)h6w6`G-3aTsA2Rw%QA;dlUn(Evu@2?Z-B&CAtU%2Ff9l`bhto0 zG!sN(_gB2HQ#ev1cfUaOIphwn(#ZM8v|F!aB#KxqjDH%ViHRboryBCs*jhmiqC9h9 z%*D4XqnES^_nW;f=V5s*nYT$P-%`Tr!{E|?(E7oCgl&&OArNcQ;jl9RCDNHi@tz&! z*OWZsoT$R8+=$oB*eUwIegb2HX68o?xvg;`oWCvF?)W9+(i=KX^d-gzm5+gI7#8jr zBKYA|1_v`=$R90M(?qroM?)QlF^-zS4{_@(Cbi%Q-wsbe;W0twS^&&6t>n+%hS;qX znpD2?IcO!WeToI~iJYD-&G)C6b6j*2;$j9!cV0*FvG_g<&(+){LXp`Labp2qo_-?dGp?6s7~!8hseu-VSu?i_kpR z#-OH2smeJ^B^sk&{w6EV$qmZXE4%H0cz0)_anZ{C8Yk?7`pe@`FR%)In;n`rR5TB( zKz-s(o96O2dBDsuI!Tb5$Fo*=nZu(RcmP31;v3^rlTh_se)xzvVq190GoWkOh2eGM&qu6z6S=~ zsHx7gf_!?JLS-j%_q;oTq-}Y3#8KAdl8qf;k;3$(g3C-sC%~pet+q)+g(Q!z3!QgV zdSS~C-B5`fg9BV>z)L)J*RE&|OwejA!*%rK9Jh=L3vvS=<_;7O3@SvlgtK-E{Mzyv z10WV@r|ITRHSslYaCSS4>UjQ)9YY{O1xAaYrJzIba0y<5k`#0qcL2w^kX1%ND!ym+ z>^j($q-S}3@l!#mx49@El>rC+MCS)R<2xp3{S|pTsw?C)we~->ZrEVaujC8l?fQz8 z&7mn>{Ue1;@RQm|D;5>Tj&bvqYdJp_NNxN$f6RP9knJSE8awlDSOBQD=Iqoaq*IumeUmO|E4zpzHZ1A;DQ2QCsMG8CRY*MJwygNzQ~iUXja z(epH4c($!FJ?49w=3{6j9sm5KYITg{0572%0S zf4d}JXsEKJ;3AVD8BkY>peKVPHr}H`P;7}UyGuvj7a=GdpX*%>9!}+cIuXdCg9?rS z4jkoRV2#lyiV<;eYwz7(hm*m#sD>sRr2D(mWF+gt!vepIIP+G_Zw$ zK`Q7U+<|@}=N67;&JFYaH0%4_d}!mntWSDK{{ZiB16zx8a6NgMqe z1?5)&?qiT3g6O{3n(QlnCD}alank`)k?i1W^520YcQEL$3wK+ z?$Q=sDKIc_!(HxEmrzhUmzzcU_%2XRGzz`FdAuU8Ed2z#%ge}bJ`!DQQIZj0(t51~ zG-SDy>1Myc(mPXgJQs7gCQi$AM;J@Jtxm?}IbHE_?wX?cd1>h+kSYdQWVu3``tv_O z*?lFoz71%fJ9d+R{poSV=HAHo4CYqj{z&3E;}6PF>=m&5FrhJ`7N=K|T*Bn4&(fZJ zd*6*>Z_(a_d9MC_Kha2gzVn_zURky5t#%@gCWIUH+#`7#BpqP1p?5#nhyI&qUA_wG zzTK3m>=*0V$4`+84}S?Q8A$>SvZT%FDDj8Xd=6S-ESx6_+Z?8fQ|%%o?9A=*{qqgf4#RyybmoNLL7oOH1_rE4xnY4US1@4Ji<=O8uy6Z-{JyE0<>u^gsJ|E z_~#&+!QA-1xDWWF0$Mu}o>4VO{Ww>?&XX4XY4=dZ7y@luJNhyjEI$k${$7qxxJviB zEVXk#H*+*)hT>qZZ5BNz?mRJdeJ~T;x-19J8n4tIf)j%6zNm9%JjBF%UD-v6i2LxA zf!h>%9r)Esm=-a11;A5U2F99m8=>2-7QQ`)*i@1P`=AQSI4`ZEO_YDQj{N>P!RwV+ zCA*tjt~9a4S})llU0+YTPO=M6 ztDySP2h68ra1zivds?@9TwL;@rRjjpqi`smD9QD!J>c+<1g-%`yKrQh5s}~lqIZC- zvd@DPEV)n?NRmUvA-UOOkY@v*tli*@CrV!Db<*Z^ZqN^3P3Ss#?eev;qm>XlA?qq$ zdm#}u3w;Ym!bkrg8bs29r}3tKw~fB>htyN%l_*5q%YXr?A8R&ffHoMn&D@Rfg|VWl zCjY=4XGAbPH9w=KIY+#^amzE*GaT~)70Cx_m|nU7GR=G(G17O0tb1bDb-wHku(KHY z-0a>+|L;-gVzk1~$W`v+b?_aj3#ZQ17ncfk5SIU3{x+or|Cxqv;G5#rCscG)!J!fz z(&?(s$p;MT9u?XfN!sc71E~n|)r5(Kl#je|PvZ{R3&)y|d;xKLCsLuZXd|hY&J5tK zn00+zD4~DohZs3eXvj`R6GURCj$BHPKY$|X$4oBjdu^$MHxeI-bP=?OgyCmy3?yeq z`pPP(l#(1MWINHA<)~UGj`}Q5*iV|1=39CKw6#+?rY5KE_slPL7SF#(Jw{!Lu$AYQG zYYRi zE7HoAyA|6D5EC@T29T0-F5nKhPU;?;q`Ie!sP{c{zY7X0W;3|;jaNa|`c-};Ni+3H z0@13ICdLG!xQ0Neg8me`iL0dVnU`8?Fk^7Y&og&5ZYdyvgg1ZH+ZRVLD^d#4MW5~CNYbe$0Z)5!iq}b)FkRCfk%RN|L;dqw< zOan6fYr;8dAW*t$``6W5uqne=%opyTcRwF6r`zoy+*^v>DHL9TKUcV5tM2()cUldV<6AAfTLuei#J zE8?IZe)|Mu_#hagtl0i3@Ae18CWn}`2RL-4h|1{g~q|0QF zX3EJ+ZrC{QuN|#?0qMIu6dllaBmNTmJzADpzWT&cL1Bmz__@l0Nr~mhv|L$a_?bp| z74uX?cf4Yj{m3Dl@trh5YTuP~$q*9oNd)g4=!$Ot*(nJP%_zp{G*5Y=_XZ8`=fnu_{P zq}HlP)7-+Ga)L?$`onKGb`dFn%ieMF`on{nj@B0|uLm`tZ^;D~fRLs3`677JKSW{| zsW#X1x;|Tt^YC`JNf;#Z1EkB2bHbo1eFF`;ZJv(mPlsXPc;0~|(eHIuH>z^g=uV4s zGT`Tjdj;5bo$wp*sRClnI%d0wD*7|1lt5Xc84maMH&`Hfi^Lu%de`{(N!Z9sOPVy! z+-GllD}fh(VS<(zM^3*wn}UO+c{D~;Zr=!YFIUy~JL`4UPrfrVZr|><)AwqxhBUvh zK$fS&9Bx`>!BaC)TB`t*uIF3tq;uuW+z z43p~Swbl*@tIx@?{5o|ur@GEw6GQ<q+>lm zp=m7Zz`OICCD=_2AQQktr2`%hhv%=u66m6gF}=H=Zry)uji<5Mc zoxKzbCK=exKc4!(CU3YiTKMWmCq3haFlH0pcgHzi`0^Tm{N^i^FqdK!Y9vV4a|*i@ zkq0njoPeTG_<5+s=b1&%DgLG|?Jfa-^2CHD`AYOT07`xHt)P8b6B>{exKgn*_X4$* zX*C6|pLmZh1A!a!UdJxC|2wxL%7EkcR5q2d`3Tt-db)JwdEPQ7+haxY2!_+cZL@SM zhvMNB;yqH|lzj@~{o(^>$I5ghn`S34to#xxx+O?SemEwPSc4Z}ko4g}tGx?LVpW4C?bm*2O5 z{V!rQEBFG)B{h*J{?zMbfU9DT8r8`oKXEUp5Xn26_uR^3P=Fp6ule9rI!rUI z7_XUHngx7YqFDP_0p0QGz$w*^=19t4gcqJBdDmhVg0|3GAdU;?G zbdw)|uQ08|hLEhBiyM>-0?0@kafHSju|Zb=IUa_fi}83|y#dQK1d-4L-gxlY%^Ipo z{iDG`4C}X4LRI_KbDgoc?kg$5BB7;)Vk2Ek zEtM56p)r6s1K{;u%dacvsr{*H*?~S5X#8gFQRg^MOoPo2Xdm+ZaAyAT1h^z?M&DQv z%Z7hGX+8ah2Cd@d?f}OSFMN18goLgi(!-*U$MDdwi~-pRL~utzaMay}owJ-g(YztK z$&>TBb2$N(0KoM2MQi6I?z(EzFcat;ml_@eSPjKn)Ow0mim=1~33;Ot!c!a85JSkX zz^|U;^w04@5Am+^_e8pD{()Fh;>^w^677KiHNBa2tOiSm%ITW|*SiVe{dR?^F=+o8 z9&XY*zSD z2aVB2${?$JGjt725_Q2WAgj9+7N6bedLWA6I7YIadsiR69pjHmUz;VV%O?dKH+`$$ zo#(%S(#%{L59t|e0AH0gRVHlO^`+kG*myK?DYN zRa9kdFid;l131hMlEome8a>eGu#a{CWR;pO?fh)*?*8eMKl>w9Y@QpnnZEisMJc~E z@3qJ{>zMV@*4hI4Bn2MGUkFtA;=aek_OFymai1imc~~9RFD+-ri@5s_G!;E}t?$*m zXL=CwF(GM;V--)gs>nw8H%OLJ29t@oJn)OoN%eSA0{EUZUKG*$R0Pai>kl{}PB)h5B-Wntka;>Nq@tyZh%J#>frsQ}Bz zc9#?#=23Wwi4KxWHJ9g5e`QIKDd&_5!Jt*j4HfRazon3kje-qfW%nPJ54l7?h*-mb zpW#A){k?Z2<_eC!O0mBAN9p@%fp7o9rOpFeITDK&Tw6S{1z!Ij+pDbG98U{T_Pby43|f6KD%K5YV`|S z?%xQ(-FC@w=3Hb9Tf2J$f)vk(AL9*$gcEhU;TJ<3;WyrdmGA6v#RUKs2;UB})dD=0 z#ZTZl0~m+cx!hb~f;Ja_*^lzBpW0*AZ#v>kkzbD)Qe9sH&48(%eTwGjDi59jUw3ML za*@X-f)D~4H>sNCI702*^HKc--;2*DdT)K)wm;*M{m*295MV=-ZUIDZ%J@ucV0#M-G`Ws;Fj@7mg zK|yj36Pb;p=KSO5MUp~+@a5OHLp1zA{XsOf*Cgn8*_^YO-MP-4;y+3 z*7YS!WQ)y6pZB5sKd=$AR_~5;|N9$+UVtQOmPNba3)p$#j{&G@@!^{xsKj2)HI)i! zHjLG@n5LxRXGekyUIXjm_r(>jvw?RzN?zM}9KMf=fEc6oV>k8Jm9Ft(=+ue>*3rnN zzpw9$V$R+EwV$HQ?=Nsp=Yx5`vItau3j*u{C;|EU5cP3zn1F`RN74kJH6_u!n?JrD z&O3dCdk)CWlL!@UelJ|cuY!-EeE_^?QRkGx#PZ8QmH7sL5e{e!AEa?Mc`Zjhf0fx}k;wN^k1*aqpby4hFt^<(S9aZ!0~zW3`fGO0Js zHr+!1=I@?=p)*8Pg#|Luj$Jl+<#C801yOYNfH@%7Fg!M2+Yv67&-9#}v;5NGulGP7 zqu0@{)!4GzW2$y`z=hzD;_i1ra0$HB0JvnX#`wL2OJLx=tbRA&eO>{H5T3$eqmA+A^tmA4s!)GGu9U<+{zNVTKP1pIK1X< zdu;N=uIV?R+6U=zyuk#8H!QyZfc1dSYm691`<{D^Opcu5$NJ$;MSAY_68frM9#QQ` zsy%Ldyfi@Qus5R**g1vFaOh`%)juAQH{u#?^B4J1eTOoyPQ)?!p>M^q=_BA+Q+{vh4TbUj0GUxBmm_IgA1U$TsguKlp0!c#!@r9Sn$cz%8vWb8@y%eG4>2%$^ zHin_JWI94N&jsFSK%AZd1RlfmEs90rynEU(s&#(U%U8~KaT;g-V(IrE>95-Yeb`dm zYuIR5ZTGSK*oG&eiE%umfJT<*IXLW0dE%CWrSNNX1H`-R75v8(p+86coIe=~Kq&_1 zJeq89P(pe^$`+tn8(`Msl=;WyH4usUpZ02?ndBO9StXO`j z;4R%c^(**Iiq%(qwc{fr30Fj{|E`q}*#4|Wx21nn%rcXiA1#?vOqkNsfj$_p8`|kc zh8**XsuHKrKkj<3)pez@Z5nYi!!WN-%di4yqAJxE&6TNWR~d+L3s;g zGw|;t+H%vwfGi$TShY~O@x!HexNog5*^hG&;53|o0hNu>1djnKc4exIAaT8TLA1qNbHO!q!VX5O`{VFm-|V99wscEaEMpcPR!GYga7iIDlL(bNqDZFw+L$ zRi{S2WmQj@-qeb$Rj$eurMedo<(Mv%ydGxpqQ_?X4@v`zRJ0Fv01&~Uk-uOnN-R_< z9i0^~%bdwz*If$}OuK0|ErS?TgBmsp^qUI`P_E36Z3f#KyV3V_y&*pK-n~Y$pXJ!d zC%@#hoU}eU%Cd|p|6wys5V2BZ-w=`LYVknYZzyN|#7_J6z&_kQj? z@W9?@@3q%n`CaSGJf9>aqN0qVSEVwK);RRNJr-a>YbiCJ;#9)P&MriPsz2#j+N;4Z zNWq<|ol4hi-6RG2wZ0?A{`AzxVO7p-2K1}qwO;3;J-QMNUf^&(u-67l%9qSK?W>CH zcB~pG!*e5V9VM@?c38QQ{+|U*U1Q5H+_!ZSs+_dhM-ogEjK$3G~MoR|Fc zRx0JZg4xTd#X9}5vgB~M_5RIeTTiLqux1DILO9)@8*0WUx7~LtB#HOm*_r7l9<*+~ z(WG_aq7CO!$4wvjB!ZoKRNaz}Zji%%rFCTCB`dF5BAwwg@YxJ*8PH? zBJ#fF5^a|RQYtO?o7GZ=H&(0`)~COL%~{Ee`t=FY>^{fgX2qj8FUF@XMFi~Ek}pPs>2xy9)j79d%Y%9So;ydHJT*%U2}|(ekgw-rabC#R z<~q)Yae$&kbgAbJW1(c|L`yQsW>A-{;i&Wb6mL5#0`vM-!(7rn`KyUHX_Xur!}55mu`_;m*| zDwBlkaSi$1wjFofxoDgp5o}WNy4~`SOeZW|*h^q0NOm$sG|yX_*ogzMCic&!K-h7# zU-#C9S8Bj@+?jGwkN1$nBPHJy@0K-#S?Px_KGm8+g0%(5xXr2n{$DyCHD*4G!_;C) zIdE00${$PTDNutQRb87dUIZ;~^oQdrrh{ZL3>t+0n4g83FrB2xo3FN% zKd(Md<5sLBQy=@5P^8J}boZEqy3oyTTHzlvUTqCoFE4O^Ab^>LIbEWCX=O`&oBJK| zLTQBV0H_PyU#8m+Nq08`(ywJS{uBF(Rre)Q&0Rkri*KWUos-?bu`Ak6*;MJWoQ-RZ zj&7@@N9rsDs*}0yjRi2Oe|7Sz=!-s(75tfbRF=RkZV-Da3t z@sPI=U1t-rWvY2h7^fN2ntTbX(f))4SdP!Wqqn|P(|Q5p;eXdaT7yA2-T30{bNxVJ zY5cm8`g(C#hrXd%po;wj0 z<&E7ROn+>NN^mz6{c#-kjNLJ1eghw4Rhgs-N-&U@$m#ub+N1kVLhx3Fw1Af=>N#N4 ztQxpGTAk*uJib29sWW@MOF$s#=n5Q@QKAhDzP0Yq!l=X0wk2RDiTX_ZA0+O}&=~Hd zHrBFGrfGRw(EvMqHf!##l;?Ea*E6fx<9G;>If$z@8j~W1u^DO@4b7f^`dookPo`%* zt26LLy~M0N{Lst&b*#N+mnXofini_qdZMy^GH+bGIT@UZB?B!rBZQ-5EyAUcBW$oY zt;uTp`~6y{;*3LEt9PjJZog~Ww+LkaTYqAbnQudUQP`F2gx5%Gklhk;<;m$2K4_zF9x{nVma__vVRuyO0vZ zd;@N$yWkoKD%zq(Dq9W55Y5FaqUxn1Skk)6)yWPmRQ5(?)VcO7G1YS?zLGy4ev~sN zV$;$i@JR|{n0amiuMOh2`gJ25yJN#6^VOIsMguRonRE&sbJ=O9w8W?N1ouPatOU&> ztdF_#JrtJv=ZoJFz;*?V*Msu0@~AbbvU9Qq9p);j%FhLBk>BduKcd&r?4EnaoE;yq zcMk6iZch(U=kphMt8tbZP#$G+mbJ>TqJj7jraco!i?vz#U1K8*P<2l z%wPtXeKz{RH@XvZN%?EW6PAN*@O15hlb3TV4H!IQZETX)z zoe|Ebh2@`|&RK6+I?_kO+koPH&VNR~rLoU=qY*3p0P{%K6?qynxLmbG=-cKPr_6i8 zv*;BsQEU-}IaU%(X|&(r9245kZNY>69ZDuvOQP4`WlYIGV0_J|V!PIqqhc`~8fGbS z5O#Kl!QD$hk6Uc|9i6+3)Jz?jA>F7r-#9hCO^r8grs?u`~$HJ6# zzQ{JNip|LjY#d33!xPrOBMeMEG}u9EC4Z?T4Gxy_*b(fw(Y*j=r9_`N+@8 zA2In_;iAN7dU8H$p<5=-qr95mv+{4=%*2`FyW3)s%f!8<9+E?;0~V`G2KaYiHS+>r z^2L5tFF2XiLBcIEI+;dC6&6_j4u)PFt$qjR{1=Mwy`)BSEdHc(KJ1AZ+}S!A6AWEej0Kcq{_*=x!-`?B0DAY~T=QCw>2$X}_|-3RZqZIqqUS_n7^gfA6Zj*C3RQwRVYyfczK2AsVw3|v`= zpLDldZ2yj)fL|Flb#JrqRfp12la;>L;=7l;6(3`DaMzlMI~q0CrWeP>1PB#GCi`Z3 z9oREZQMzF>^#tGyLm=Cj;t6Qp6>gM(Il6z4Uux2`etM^ARjEtEbu9A8uE&&**s9cK zllyP6u{hyjHhl6=N9hIAWOZ4Kn^VVRWdM_35<4(cR)QZ7r?9Tz@H<_iz4)4*Uq>hL z4Q-N{(vO*raV{!JIs=|9?iAaa4;RBUU8)*4kZhPdPDkmrx7buz7xT15-8b%s`l&i! zoyxU~#aHIQH>-8C9?46OQiUh3Gv)M^)Vw{O01 zuzBT_l(o8VrA(ZNG?z2_T~X2|^@W|!stn1vNI(uV=Gv%P=sjfBd)XyNSU($KptC!J zx9z~$>gTdM^)q+YltGrym0J4bmCG|knvutO9J=}F)*+vuf@tqom#GQwb8{6%tZ{h6 zAO%>f2dEcW`6j8+DLN;*j;MaMZ^rew1#jEHG2T+YkW3)yljkF%HDQW4QlTFQOAIR! zm@)U&R#^(m`@!omY%1ds6-#F*&VBClT*Ego*nFowUul@T>A{dkFR3=q+y{@G(~(Ge z7zX|5&+lR3M^*XVp7QKbWBjirM^Z95#3y6^6oqIHu8WoWQHaI17k~_P%aP*higG_g z(X!CqUPm(??6QeqvSj!~%RB5=79t~PraB5p73b#C>=?@k+X^UzzpEaY7x*DMFegS~*gn>_Ygwmjsy zu=5_SL9{u1%5_g5ZmupSK|B;(;%t#f?SYNT*-;gZ~{zP;K)+~eKu0PVo?K6+M3x^+Z4w&=tkTtGFIQl!egq&H~ zeoMCuGCDFN23OON!E9B=kCtNp!ak^T(?pE)*wIV}{bkm|t(&qsqH|z2teYUG>eRiV zt&dLU&TMwU!f;i?a=iBm)IyfB7rjxD2+b?_i+D@{kPu>CvNlz>tARva_ zb&zJe$ebgy*FOyo+~v9K$>Gh?dus=X!5S0Whef!?cx*=&H-%+kPWOmWhSRrP?#Q)% zvQ=fV3A&0x33HGXPj4ttTO={YmwWwq$Q!ryj1>zA0coc!ucH*eKr3SR_|xlnT57 zyfJ)P`O=saS>9jO2z3^4dNpNrl$hOsu}cV*Y^}+mcCya7hbz#QMQ69!0bKE>Y(ZUG=@G# z%(&Y|J~%hF3fn+9zdu!kBW7opQ*jCdc+p z8rLXSd!lCdo72p3n@W-fZ_(1Gh$RuAgXq)?WuN7~L*r@H@~Vx6MRap`aYvIaSy}P+ zD7T#Eg*+N(gvR-ANLijyOk*P_4o?pczZh)XtD9~;%xC%~%0%IsCN*-?CtIuqJ@?LA zU8Rs$?!dxey(v1Aqf*&x8X-K5Xno*YxY1dD;W3ur2Dcywnt2{IX^IU?KT>JkRHz2# zF|N0Pb>0I8$4!4|P@@6XW0>yLixUQeVjC{aZj?N+EccA+h4egD%zK}$*q>moPV+r> ziv7Z1n)RXet35Of1}@DWSR|n(gM&Cw| zKcauo8+Q*~4&hOt+&*=!6O=y3+rHSk@kZH`wY;ZLUA@Bxd`}$#%(+aM+y9;tvmNel z48CC|duee>Gr`=M$Petsv%%TiG^SZ$7;ryjT5=_FWu`VieCZnGnhW=bj?Y;J1}iys zgMpY{O`hLp^ZUjD&H_7}-|zKg;|k9e#s}nO%-Yx9uLA2~1lMClrHa2d`Fx44rUEB{ zv2Ztv?-_pLc%gkuS!K&dz1gm+p;Qe;+Swb_``LU>IRiK&wB?Yu7PcpBr0uY z^H5PnwQTjy8J#(~0?DP6_>i@^7H%lk=E0X7yS~XDkk*Sa*#Z>nxt;ozj-13RO03oH za#0I7DZ_vSgk1$@bgZk2RP)w!oSeuN&jZ7+lB{`v8^z>^X0eTpAN-{sH}OM9zl+_3 zSZB7_y)03racj>|5+&1ISe+}NS3=xO(dcvhYU+Eo-Y5GGm=PNxIAC-Bof>$^SH<~3 zW*@_H-QxKRdBHwh4c;dC(}YJdjK3LJXLXCE2h?pC) z#!8V@4qT54(uuxgrRNcFejwKYaW6vf=qp=YzeUDS&7ueQv*u6{agVFRI3qoVUCz83 z1ff-FZvly;M*N<`4~Q+#hv^Q6BjD}gIXjLQM8bHbOFacKJr}>v{Z%8gg)^_X-xM@l z9z}0Ix(tr`D$XLB++O|q07$Hf>eFuSzVmNKA6PLQyhyaFBX+)>DJCd{-)L|f_88_* zG9TlXWTI&5{oNtXKfV$lac#i!yf45vxb(x4V_yLY6xgtb_`Ri)ZPHS5R7-J-|vqb0@)%Mh( zVrsuF;}S1j(n6Y`zV zRY$vh^Q}sczQwH?HQ$2Ty;@C7>oixktkrVqD}zB&w;ee=a@hS5fbfN>UdP1M5a1im zPP$QYIdj0x%Ju#f=9QExKG@@NR9L^2zho8ptn8_@k=NN@B@5yU0jWtp?4*-XVj9QZ z@gomlR)RA_VstVE?=^Ut#`8fFdYr#k$fcST<+miN-W>W1cyNk_ z%v$`8N4=?y)Ih^u6Cv$j3{CQTdRXV3xSkp;a^Du#M1*QFdrSI$1- ze0Emr_D%>0L5}v!Y6LgDWM+9^*|_+E9^Y`4yc}VsH|?Y(?N`paYE%6~i=f2MZ!=fg zaLeh46R}=CzuPWxG+Oeb_Npzp3b+$o|DG`QpcF1D+WroYfv>qo#a&sJOj6GICg_k(vedS`3?bDd#I5k}4!iCL{{kvWvKjH4G$y>BjO3q2DP>OlV?KaT@~^-IH^vhke2{ zhP2rDoiGJ7Zv3PU63QZ_Lcexja$PvDKMefR8!BC!GrAjg@uON-P}+cdm4CW5LE{Fz+%tXSVMVG{-;TO{ z-qcW(k^Juu7!VwUOMLjdLHF%I)#j$0 z*_Bjj)cA=3c0gk1z<>se!uDk6w0KOmVd}J2;nes5`cW|vo}Wl%iQe=`u@wwGrsJL8 zcWagDmfkW%EUHdd%~2gu9Azhd8m1xAzYqteX*tjdgg?`cA2~UM1I+D?POWGYMQ&(}iu zh9{qfsQEP%P*UfvKzzrazW{e#$356@FNIq#x!NygcwVP;E?BK3Ada;3%I(=xOx;R7 zL~mHwi#@cz@k@B#w<(MwLLa+qy=V%IXN18?5AJ849KY0I-Fb#eyAK){<}oE^`1Pti zj+la_$>yx7MPkQo8m9s7&AkKbCfDPF-f%oa*g5=Q2G+ffYa#yp=J}ivc7Nq{5fM;x zO-a!Uq0ktX(aB61ywdZ8?-E?MnQpyA-w3S&*15Ce8-y_Faa$il_gAux&sV$-H}^8yIu^-1VAaN z_AZC*dVIJZof-0AqRknyje2kO{x*=SPb9JQPMwMoi4zecG3LY92HzkW)jLaHUudio zzkxMJG*FfW#ws8;)Y>%gRGyk+$sd8Y37e#Cu1-<_d)e^E2cht1LrLo1+|y3G#~tAH z4Y5^CJyA}8Ih09(_&Z%3V`+-~eD=`3(BCSw2a5d=0uZj5jC0+N=nHMNi2HF{&O1}3L-yqSv<2)fdB^u-mM`7VrymzT)!HXdQ$sm79V@mnLb~C(0p4{ z1sFE3I?yN+1WR`%y1|Lmk?WOllCl0)EG$0s%z!#g&rRyMOMp7=zw~Zl@+gey&mkgl zwsBi&IzSp~Oji6mFA+$ivj46fzk|lz*-x%`z5s#|28eq*Zl_Wq3>N=N%fEtH5{;o$ zIGj#t)-Yv=tD=m2XbQIXVrghu0Fsu?RLk;#NWp!EWr@x*RHwQ1PwF8#M8Vk5T%C6n zcM&-_{M7sH4C=-pihb z$8N?lf=TWjjh);7#-F^TnvOOfIKAqKpGK4AW$m>*^N-98-&lK!H!$Ns2qfB&=eGv+ z2)@Xk+4n14&?(-sGW<8(gk1uGg}of|DX1nYWQ||(wC!7TumW$M22I~My1qwn2bLh8 zK}16r!IC^=>r5yvM5J5}EunnQbr-D92){l@n%A}o4T?!jp>f-_LgR2Ceb2Zb zS4HH=qt^8mLj2kDrPaHkqq`PA`YZ(K3NowGWyFZZKoizHpJH^YId(~)lh>4`kda;o zSD!Mq$!5vaRmIU53cg1YPfO|_*Ikr7KRkt=zX4?X1qTQ_dUg5%Ln-6o-JhW0AY*jGmPg7@u)0V8X8h?#LHx8_fJ#7@ zenNp?TOO?g%^JveG`ovjS1RhczAb2T(4h2g%k;;!!OmSpgJv!~Vwg;gesYH>%Vag@ zPFVu+PZ7T>|3tqpK}tXgu$J=Ku9?m!mNP?<({BmH4+@NF{tYK>6DP8Q6I^DX3n-FC z`W}hCpc|mL;`zm~Dn|e)*N+ut-8d3}Pi{VH_bww>Ajx@cK(qaXu2-7#8KM`cPIS&{ zsbwO#o%zkyvf>xgYR~Fo;BDgSXE9dL^X3{JhF1TE9mjTVLc_d_I!ud+A^#~}w8ltE zGe4ldeFnjRjk1xya^e7!c;}0s_O-S|To&A3kzJJu*9{=}zm(n6y9HT3029PEmx$8l zwqs_n?6@{~S&{q5>^}nT<*lqgQ%7l zC{5FN`#*mJ&gf6FKLCMj!1eGGE7)+8&fZ--QEYTe0FLgQ_7#wCT~bSCm#EKUtvzs>Ff1B#EndZAMr!O28Cq*o4=C;R}hqQk+J(l&8Ztpb&Dn;`3i71E3U?%$Ul5ydTkWnDF1E8H^1U#`e#ye0Qu z=I=`Wb>SXJzX^fcMc?J9C_ErCP2*oW{tDup(@7}euK@I2yO+6rT{`M>q8aK-dNsY? z!cWw_%yb9DuDvCY@4Md*K0f;h9{y(>EI{(`@8OpQIOKoYHudF0y!Whv|=%e;@%2c}*wf#}$?~^y0Z8ABFByb*>wqg8aB3 ziw{|+$H4CvJyEmoujvP10DuC3q*+WjX^Y70GfUxjhX1o~X6OV)=cK-CENyWZHMT{a zy)MtlSZSH+;(U=bXu@ToR@_xhuziCKo+(2m$SpL@`Nt(r>Z}-na#Rt<$us>_5MjPTvJcpm7&?*;5gx>Xp(aErW5p z?{JS9(2ziDQE-dxF2^^}lojGN1~Mg(WVS5d%XCuWII?&TF6xFQ2z#JSKBeT^k%=~5 z2?`<{pVjKZ2ghUUi68XQ4#-{r!A+aE9S~kV@1P(I3~2I;`ikelFP^A5cQeud5Vr%= z??xH%`3Bv8?8E(^y9Wjj*j*DMr0Lnl>^PZaRzgQFryJhzryxZ=^#n#>fC!U4oXI$& zKI?(>1cX6btGg$xn?$5z~9l)R=JI5feG3a36eSUj~AFZ+#X$=6?ke3Ic)s3jnziMfP z`TCREOtGu$PIS^TikyO05@rwqafSvs2;;*CU&IOO>n27-RB3gI;QKu)0bW3N8#1U| zA{8+=!=<F*fc{B zUc|)YcP<6YXYlyIv^Q|zKnf-xIM3&oIC9pQmXagmfd(}Jv_)m43ZfV2>7y>Mk7HkM z>=jvzzJC}NWS*}6ODcgH&_7~O%xg@9M22#`yuMdNMn~L8S{Lsn!?IK`8cpmt-e>{~_+I9&=>$8tr?-x5KCJ?x0&=9Q!Sd~GRGTKR z!8IJ3bY>$!XOnakmEMz=pA)QlO{?sK{XRy^uyn_Lnw`m0=X(I6g}UEJ?=YZo4wlW% zCjC<%m}uOuM{`~6Gi*%(QSiFL(HCz}eTJ;j>8$3{{;4PPAjD2kl-WJ|Yh*w`)u#eLNCS~-V)r3|xYv3NvWu2XNM$H^dj=h+z+m{`%Wya8Q#DJydGQYt zcE7(RPri`hKk2}=c!0cw{~kDv77?}Ra8;%vEK)Z;Gzg54VlwpZHFNOc~gox2o zN?*Ol-gv{GYU%^Z6;P}6y_<`jiSB$I_fnaD9;E$cKI96G&^BA29H|e#fcQ`#Eoi-A z`&VzzzdRX)ZA~7&?;r;S@`r)|M?Q+AmTbKn*lTCOoql@sSbxj>aZc>+L{i%x*Joesm^GJiQl5MZSVHVnLt6qxj(g9C90T4p42Qbzj zsiJ580_X&Q$K+ zKjtPXI{UpdJseD8s|!`JJp{np_JMrY52XHJMzI(B_+_7;-j%(O$;@X$g@UB6h;G%C z0bCLP60o{=Sco*IXIR!bAh%-h+?*yy<5++cT+NAqUXS{PqzO54$XR~(=HchqYOAus zpyOF1@aT2thVmd0dBwFAU#DBWY$hs`C07w929yfl0A@7mK4W|xOuB-4)E@g>UXe3b zP1@S*yzL z!tlUp-d=xDQg&IvMra>>#pg%gf`geQr9wr>;R{QE9DjKQBD;#q3aTLcez1PB%3!^) z6mVUkY;L`Z6u{?CzSRtM2#Ty-Oq+TEk^0!6^5-mHAIV7wnU6gD2W*RJ zA-~^evGC=5qf=Y9R0xU&4PXX9&5oCei9v@j$RhYagxX7{&%Jx%9FhKWfe9&}A+mNd z01acnE-@#;PqMRrimkqvFcLYi(lL-xv$pCm71EzCLuAvYA%BgFOt zIzO%bQYMzA9ei&t*5p&g4gUdcriz`kg4W>~UnKECoqiJ4dXG)wkOjYNx%gP}7YJz2 z!&JUk3y>+0_`*-^qE$5C9Nx;MjhiGa>{TG6Or4;+0Yt?-j~j> z&TsB1MK2_oq0&2v3+g4_4ay3#d4W*P>6{2mF)XONh1fd1q!evFX~t7}KtUD+|8mIM z_^(?PV9yI3SfGxyMw8)f6e7x2AdMIEWYu06ew|VK-JAKAvR)SZ(VFP7HMHF(2$OU| zSh~~RrVE%4g~F2{SJ?`(Js@Y*2O7H>q);ghWA{7kInpBF+mei=;%Mr4;#(PJ>*vc& zJJM2sGeL)L=TF<2x=New=vz~t&Af+j*hP@;0ORm?Om62Xw1!~l=q?Bi55cr$Bvo{z znv2s{hu()PAaC*h%P08(tn&{uaUbvobBb*I(y#b^#xL>f%Vxf130*lB#Mj`PAKp0v zPsqmHRRmI}=zi7lCl^oJa36O?gl3duBo_JZC_FN7x(}d2x)-&| zsw(^kL4HvHF=nd>pwI!EUe}lz?Ie4GvcZ0>3QYfESCvsD!89iI7zPuo$NRN}qE}$B z5T*`=!$A`W1n8XvVKJwO%yee&QH_(Pk|yB#|y)74F2W=Vo!}o{M>6VtwQQg zA|KKVaPP)l&}!!2P_SWxjai!Jl1Cjm3dUaca|cZ{=0r$-F+aDjZKjI^RA3Ul-HLic z=hkIrF(*gxHn3EIFqvb7cL+By`=H;XaP+4f=sSYdjep%pT|FXUMy}TaL)b#m7k(-a z{8K@GpaI+z+))%o)yuupatjD$%w;rS!ZN<7WpC`e4^RcIKP^_QV2y8d4@n!{oVmr2 z>(vP;*A^A!!dkdjXKBJmmaVvt=YO0>NhDdp9d*Xcnrk~-(tvrDP4uVDT<1PFvaU9o z+(m|+@vo;r){POGmN;rV12EsuEMnZ1bD48;?Z!h6;aCCzphUGn3RS5haDG78E5h`m z;TH<1jx>p~Cr;Nd=DR}mc*?01{3dzyG!Qo#gMe|TVkvlhg4baK(A~NS{m5&$`eOrZ zRD-{H==e)9Al!6^!=N#&W<(trsf;+Tb}Y}+VvStbpp`*FdH#~`YJReNM`T|`TimT`6Q zB>BQ~j;(&!RzY|4g+=TqryKUm(_Uhz=5U^`rqK(%NT822fDj=p-3o)XK0Ovzfn3jY z5vD(hg93%%AUuyFf(xHO1>I z>5_~9*x?YTVGA8({cVxUu6!PUk=@kYe+mj5{^eSOIyjHUJ3(xzN=j_ zgs;PLNX}5{19dS@C)*^@#`6{fk1J18uHOF4Ru=SKNzI2RBxyb|Lr}HpPj#bMdOsUv z$vsrtx`3DLy3X3>w}NX5;rP``%i2O@U{owjwi`_dmI(xv{YAnO(@12ep%~irncv3v z8|~sTP_#+RX2}I*cy9ZM`IyT1^Qa##SNIg@y-4 zKcjLe_W^Efpj*`-h0hkc1M+n=*Nm!OW;%y$#L^8yz|{5FHd~U;VDFy4Le$)3O;U{d z6GM5(4rXKi+x2QR4{dE8b6-9AJ6XTs9TV424z9G!=YjG#Qb267N-zajnlB17JbB|y zgW|4ty~x+%{6yp5$0vJ-p45Yw7p9|7QhONx?kZi){*8;bxbss(I=`8UmTXYJ>~GJR zM*m))*Aco0uiypO02#yW9@3-*@pm~&)fYe0KN?Q@jc0Y)Z})npmn&hMz=c@td63cx z!9}44oSv!!51vS8^R1zyv$c#P2VPRIrd@7om*&xaorZk}Q0xTNA2<^BBnZgqj1~(hqx91R8{c6;a-8Jit-5vq=qxY8U=GA?eIpwLeW0y( zHHS(M8n&KAUzPd;8sWh2K8jW~==~x8we>hwxhN$?{UY`}Mg?FF!m`*ji=y}Gn~cbY z5`adYi348DJ+k#lk^*l;@yGdsI4F|ql>1>g(W&_mb_>8x>vZwx#2 z<4j}dY@iEOW+Ktlg&*RV?*r&KL&ONMJam%#1Bl~!9F%`!tU)plV@q?eX4ACX5s+pb zLJHKqPU10)Gs`dG>}U16b>@?)OOJixxw%NLOvd{h9NmB6wfmS;?J{4N*CkH)vr_=) z4%<0yi{7EoEEKBafrH+Qp108=9V%T#SMKnWZ(jlC7$!gE@3;Nhu!j`KtG)0Y^c-md zyrs+Z&tKt^{oIz&wlmO{)+xxi<+M#!S6&VPiFnAbHTQikutm3fVL^Kuf$urcC^MCx zgN^sdN`*~8^8yGqAqfSq@PUB2vn2E(XtGL#4zxZIrGP-+-vJ2e2@$^8G{DKGHwz&t zF}sn8$RBpUR0I&aLf`$3hzq-CD*=uUH%d97qZL)!)xt|Zs7Tem-;g{_-)x#k3S(9{ zi2zIqP#?dy6P;7HE zD8t8}Qd|aBe$p*kj0fIPzeZ&9&jY>tA;90?p zpG;LQ?ay>o!&ClXyOxa@ysLqM2F*lumu`8QfC3Bb&28|Kt-2QH=Y7|83v0z|=aM&;(lw?wF>b$4wtsQAaR+-3-{mC$h6nbs&7N;b@aC41)Q)U( z2*8yeSRDaF6l`VrO4^CD6i)=Si-{O5FI+nlri;Xa3O!>TilvZEMq;8J^B5vKD|66p z{-;1wgw*4U^oQ$3u+0sQ0Mw0=O2w$vm#wXAP?^oP>N=o}y?zp0KQ%WmIx z8j(A+)jRGc0^(q-4_?gbsTGe5YkuBxd;OyOz2Ux}lXTG;K&hrbv|@^ew2R`})4u=U z=LIb*!YRJL45@LTA^2QCO5wi5tJ$;+;hkD&p(n@hA8h4|sei8F+}S=?w@Y_T=H6*T z0GQB5PICIX$DF;YsUCtI@$UHL_!Hlk7n4BJh>=T0QUVH0p&0kX8iOQCWW%QOXmD+b z{yT*Z3>9?5Ayd6kg;*W%9uQ|%s^ujvge`_JoiI|g=@fvy5-Y7v6Wk#XE_CFY*d5O|M7uH<}}WqUWY%-kXOZC?Q8Q zF&}m7zJ2jyEu{0@?pHTHM}WYgxpxs5+}MO4Z;M2oQPR4k$LSzz`gpn2q2dye zzIsQ>LgkkdNM>C_&OU)wXTX99tNpMU>>m=8Wc zOu+~62z&q`;4}B{@Be(@fBxtH&JxXx&{_Upp$1~s{|9XS?<)U~4)T9*31e3*Mcrf6 UQ1yk7I&>cj&tJ-vJTngbUoZ8q%>V!Z literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconForest.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIconForest.appiconset/Contents.json new file mode 100644 index 0000000000..7afd6df765 --- /dev/null +++ b/mobile/ios/Runner/Assets.xcassets/AppIconForest.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "1024.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconGold.appiconset/1024.png b/mobile/ios/Runner/Assets.xcassets/AppIconGold.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..77f3d92f0115b60455f00ebe56ce00f18b7f9927 GIT binary patch literal 34357 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

>UYd$&^jcMO^FVKflel*mLdH4xe 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 IXz=#`0L-Noc>n+a literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconInk.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIconInk.appiconset/Contents.json new file mode 100644 index 0000000000..7afd6df765 --- /dev/null +++ b/mobile/ios/Runner/Assets.xcassets/AppIconInk.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "1024.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/1024.png b/mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..39898a6751cbeeb366cf8bd45056c976db29d91e GIT binary patch literal 34049 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 bVJyCgL*2)U7m*QQ8W2?_&Bvb=tU~`EAui6I literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/Contents.json new file mode 100644 index 0000000000..7afd6df765 --- /dev/null +++ b/mobile/ios/Runner/Assets.xcassets/AppIconMidnight.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "1024.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconNeon.appiconset/1024.png b/mobile/ios/Runner/Assets.xcassets/AppIconNeon.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..e1468ee6218a859be6ae4c917d54e9091489e2f0 GIT binary patch literal 35311 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�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 z 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIconSunset.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIconSunset.appiconset/Contents.json new file mode 100644 index 0000000000..7afd6df765 --- /dev/null +++ b/mobile/ios/Runner/Assets.xcassets/AppIconSunset.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "1024.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/mobile/ios/Runner/Core/AppIcon.g.swift b/mobile/ios/Runner/Core/AppIcon.g.swift new file mode 100644 index 0000000000..1b91c6d984 --- /dev/null +++ b/mobile/ios/Runner/Core/AppIcon.g.swift @@ -0,0 +1,114 @@ +// Autogenerated from Pigeon (v26.3.4), do not edit directly. +// See also: https://pub.dev/packages/pigeon + +import Foundation + +#if os(iOS) + import Flutter +#elseif os(macOS) + import FlutterMacOS +#else + #error("Unsupported platform.") +#endif + +private func wrapResult(_ result: Any?) -> [Any?] { + return [result] +} + +private func wrapError(_ error: Any) -> [Any?] { + if let pigeonError = error as? PigeonError { + return [ + pigeonError.code, + pigeonError.message, + pigeonError.details, + ] + } + if let flutterError = error as? FlutterError { + return [ + flutterError.code, + flutterError.message, + flutterError.details, + ] + } + return [ + "\(error)", + "\(Swift.type(of: error))", + "Stacktrace: \(Thread.callStackSymbols)", + ] +} + +private func isNullish(_ value: Any?) -> Bool { + return value is NSNull || value == nil +} + +private func nilOrValue(_ value: Any?) -> T? { + if value is NSNull { return nil } + return value as! T? +} + + +private class AppIconPigeonCodecReader: FlutterStandardReader { +} + +private class AppIconPigeonCodecWriter: FlutterStandardWriter { +} + +private class AppIconPigeonCodecReaderWriter: FlutterStandardReaderWriter { + override func reader(with data: Data) -> FlutterStandardReader { + return AppIconPigeonCodecReader(data: data) + } + + override func writer(with data: NSMutableData) -> FlutterStandardWriter { + return AppIconPigeonCodecWriter(data: data) + } +} + +class AppIconPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { + static let shared = AppIconPigeonCodec(readerWriter: AppIconPigeonCodecReaderWriter()) +} + + +/// Generated protocol from Pigeon that represents a handler of messages from Flutter. +protocol AppIconApi { + func setAppIcon(iconId: String, completion: @escaping (Result) -> Void) + func getAppIcon() throws -> String +} + +/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. +class AppIconApiSetup { + static var codec: FlutterStandardMessageCodec { AppIconPigeonCodec.shared } + /// Sets up an instance of `AppIconApi` to handle messages through the `binaryMessenger`. + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: AppIconApi?, messageChannelSuffix: String = "") { + let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" + let setAppIconChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.immich_mobile.AppIconApi.setAppIcon\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setAppIconChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let iconIdArg = args[0] as! String + api.setAppIcon(iconId: iconIdArg) { result in + switch result { + case .success: + reply(wrapResult(nil)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + setAppIconChannel.setMessageHandler(nil) + } + let getAppIconChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.immich_mobile.AppIconApi.getAppIcon\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAppIconChannel.setMessageHandler { _, reply in + do { + let result = try api.getAppIcon() + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAppIconChannel.setMessageHandler(nil) + } + } +} diff --git a/mobile/ios/Runner/Core/AppIconApiImpl.swift b/mobile/ios/Runner/Core/AppIconApiImpl.swift new file mode 100644 index 0000000000..fdeb7c6859 --- /dev/null +++ b/mobile/ios/Runner/Core/AppIconApiImpl.swift @@ -0,0 +1,45 @@ +import UIKit + +/// Switches between the alternate app icons bundled in the asset catalog +/// (`AppIconMidnight`, `AppIconOcean`, ...). The "classic" id maps to the +/// primary `AppIcon`. +class AppIconApiImpl: AppIconApi { + private static let defaultIcon = "classic" + private static let assetPrefix = "AppIcon" + + private func assetName(for iconId: String) -> String? { + guard iconId != Self.defaultIcon else { return nil } + return Self.assetPrefix + iconId.prefix(1).uppercased() + String(iconId.dropFirst()) + } + + func setAppIcon(iconId: String, completion: @escaping (Result) -> Void) { + let iconName = assetName(for: iconId) + DispatchQueue.main.async { + guard UIApplication.shared.supportsAlternateIcons else { + completion( + .failure( + PigeonError( + code: "unsupported", + message: "Alternate icons are not supported on this device", + details: nil + ))) + return + } + UIApplication.shared.setAlternateIconName(iconName) { error in + if let error = error { + completion( + .failure( + PigeonError(code: "set_icon_failed", message: error.localizedDescription, details: nil) + )) + } else { + completion(.success(())) + } + } + } + } + + func getAppIcon() throws -> String { + guard let name = UIApplication.shared.alternateIconName else { return Self.defaultIcon } + return String(name.dropFirst(Self.assetPrefix.count)).lowercased() + } +} diff --git a/mobile/lib/constants/app_icons.dart b/mobile/lib/constants/app_icons.dart new file mode 100644 index 0000000000..8d10664167 --- /dev/null +++ b/mobile/lib/constants/app_icons.dart @@ -0,0 +1,21 @@ +/// The selectable launcher icons. The [name] of each variant is the id shared +/// with the native implementations (Android activity-aliases and iOS +/// alternate icon asset names), so renaming a value is a breaking change. +enum AppIconVariant { + classic, + midnight, + ocean, + sunset, + forest, + blossom, + ink, + neon, + gold; + + String get assetPath => 'assets/app-icons/app-icon-$name.svg'; + + String get translationKey => 'app_icon_$name'; + + static AppIconVariant fromId(String id) => + AppIconVariant.values.firstWhere((variant) => variant.name == id, orElse: () => AppIconVariant.classic); +} diff --git a/mobile/lib/platform/app_icon_api.g.dart b/mobile/lib/platform/app_icon_api.g.dart new file mode 100644 index 0000000000..41f13f8217 --- /dev/null +++ b/mobile/lib/platform/app_icon_api.g.dart @@ -0,0 +1,109 @@ +// Autogenerated from Pigeon (v26.3.4), do not edit directly. +// See also: https://pub.dev/packages/pigeon +// ignore_for_file: unused_import, unused_shown_name +// ignore_for_file: type=lint + +import 'dart:async'; +import 'dart:typed_data' show Float64List, Int32List, Int64List; + +import 'package:flutter/services.dart'; +import 'package:meta/meta.dart' show immutable, protected, visibleForTesting; + +Object? _extractReplyValueOrThrow( + List? replyList, + String channelName, { + required bool isNullValid, +}) { + if (replyList == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel: "$channelName".', + ); + } else if (replyList.length > 1) { + throw PlatformException( + code: replyList[0]! as String, + message: replyList[1] as String?, + details: replyList[2], + ); + } else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } + return replyList.firstOrNull; +} + + + +class _PigeonCodec extends StandardMessageCodec { + const _PigeonCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is int) { + buffer.putUint8(4); + buffer.putInt64(value); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + default: + return super.readValueOfType(type, buffer); + } + } +} + +class AppIconApi { + /// Constructor for [AppIconApi]. The [binaryMessenger] named argument is + /// available for dependency injection. If it is left null, the default + /// BinaryMessenger will be used which routes to the host platform. + AppIconApi({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) + : pigeonVar_binaryMessenger = binaryMessenger, + pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + final BinaryMessenger? pigeonVar_binaryMessenger; + + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); + + final String pigeonVar_messageChannelSuffix; + + Future setAppIcon(String iconId) async { + final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.AppIconApi.setAppIcon$pigeonVar_messageChannelSuffix'; + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send([iconId]); + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; + + _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ) + ; + } + + Future getAppIcon() async { + final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.AppIconApi.getAppIcon$pigeonVar_messageChannelSuffix'; + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ) + ; + return pigeonVar_replyValue! as String; + } +} diff --git a/mobile/lib/providers/infrastructure/platform.provider.dart b/mobile/lib/providers/infrastructure/platform.provider.dart index 9f85235927..bbfc6537de 100644 --- a/mobile/lib/providers/infrastructure/platform.provider.dart +++ b/mobile/lib/providers/infrastructure/platform.provider.dart @@ -1,5 +1,6 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/domain/services/background_worker.service.dart'; +import 'package:immich_mobile/platform/app_icon_api.g.dart'; import 'package:immich_mobile/platform/background_worker_api.g.dart'; import 'package:immich_mobile/platform/background_worker_lock_api.g.dart'; import 'package:immich_mobile/platform/connectivity_api.g.dart'; @@ -21,6 +22,8 @@ final permissionApiProvider = Provider((_) => PermissionApi()); final connectivityApiProvider = Provider((_) => ConnectivityApi()); +final appIconApiProvider = Provider((_) => AppIconApi()); + final localImageApi = LocalImageApi(); final remoteImageApi = RemoteImageApi(); diff --git a/mobile/lib/widgets/settings/preference_settings/app_icon_setting.dart b/mobile/lib/widgets/settings/preference_settings/app_icon_setting.dart new file mode 100644 index 0000000000..55f6e3b62a --- /dev/null +++ b/mobile/lib/widgets/settings/preference_settings/app_icon_setting.dart @@ -0,0 +1,142 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/constants/app_icons.dart'; +import 'package:immich_mobile/extensions/build_context_extensions.dart'; +import 'package:immich_mobile/extensions/translate_extensions.dart'; +import 'package:immich_mobile/providers/infrastructure/platform.provider.dart'; +import 'package:immich_mobile/widgets/common/immich_toast.dart'; +import 'package:immich_mobile/widgets/settings/setting_group_title.dart'; + +class AppIconSetting extends HookConsumerWidget { + const AppIconSetting({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final appIconApi = ref.watch(appIconApiProvider); + final selectedIcon = useState(AppIconVariant.classic); + + useEffect(() { + appIconApi + .getAppIcon() + .then((id) { + selectedIcon.value = AppIconVariant.fromId(id); + }) + .catchError((_) {}); + return null; + }, []); + + Future onIconSelected(AppIconVariant variant) async { + if (variant == selectedIcon.value) { + return; + } + + try { + await appIconApi.setAppIcon(variant.name); + selectedIcon.value = variant; + } catch (_) { + if (context.mounted) { + ImmichToast.show( + context: context, + msg: 'app_icon_change_failed'.t(context: context), + toastType: ToastType.error, + ); + } + } + } + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SettingGroupTitle( + title: "app_icon_title".t(context: context), + icon: Icons.apps_outlined, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), + child: Text( + "app_icon_subtitle".t(context: context), + style: context.textTheme.bodyMedium?.copyWith(color: context.colorScheme.onSurfaceVariant), + ), + ), + GridView.count( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + crossAxisCount: 3, + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + mainAxisSpacing: 12, + crossAxisSpacing: 12, + children: [ + for (final variant in AppIconVariant.values) + _AppIconTile( + variant: variant, + isSelected: variant == selectedIcon.value, + onTap: () => onIconSelected(variant), + ), + ], + ), + ], + ); + } +} + +class _AppIconTile extends StatelessWidget { + const _AppIconTile({required this.variant, required this.isSelected, required this.onTap}); + + final AppIconVariant variant; + final bool isSelected; + final VoidCallback onTap; + + @override + Widget build(BuildContext context) { + return InkWell( + onTap: onTap, + borderRadius: const BorderRadius.all(Radius.circular(16)), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Stack( + children: [ + Container( + decoration: BoxDecoration( + borderRadius: const BorderRadius.all(Radius.circular(16)), + border: Border.all( + color: isSelected ? context.colorScheme.primary : context.colorScheme.outlineVariant, + width: isSelected ? 3 : 1, + ), + ), + child: ClipRRect( + borderRadius: const BorderRadius.all(Radius.circular(13)), + child: SvgPicture.asset(variant.assetPath, width: 64, height: 64), + ), + ), + if (isSelected) + Positioned( + right: 2, + bottom: 2, + child: DecoratedBox( + decoration: BoxDecoration(color: context.colorScheme.primary, shape: BoxShape.circle), + child: Padding( + padding: const EdgeInsets.all(2), + child: Icon(Icons.check, size: 12, color: context.colorScheme.onPrimary), + ), + ), + ), + ], + ), + const SizedBox(height: 6), + Text( + variant.translationKey.t(context: context), + style: context.textTheme.labelMedium?.copyWith( + fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, + color: isSelected ? context.colorScheme.primary : null, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ); + } +} diff --git a/mobile/lib/widgets/settings/preference_settings/preference_setting.dart b/mobile/lib/widgets/settings/preference_settings/preference_setting.dart index afb3b478f0..ac01e61a09 100644 --- a/mobile/lib/widgets/settings/preference_settings/preference_setting.dart +++ b/mobile/lib/widgets/settings/preference_settings/preference_setting.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:immich_mobile/widgets/settings/preference_settings/app_icon_setting.dart'; import 'package:immich_mobile/widgets/settings/preference_settings/haptic_setting.dart'; import 'package:immich_mobile/widgets/settings/preference_settings/share_setting.dart'; import 'package:immich_mobile/widgets/settings/preference_settings/theme_setting.dart'; @@ -9,7 +10,7 @@ class PreferenceSetting extends StatelessWidget { @override Widget build(BuildContext context) { - const preferenceSettings = [ThemeSetting(), HapticSetting(), ShareSetting()]; + const preferenceSettings = [ThemeSetting(), AppIconSetting(), HapticSetting(), ShareSetting()]; return const SettingsSubPageScaffold(settings: preferenceSettings, showDivider: true); } diff --git a/mobile/pigeon/app_icon_api.dart b/mobile/pigeon/app_icon_api.dart new file mode 100644 index 0000000000..204fb81677 --- /dev/null +++ b/mobile/pigeon/app_icon_api.dart @@ -0,0 +1,20 @@ +import 'package:pigeon/pigeon.dart'; + +@ConfigurePigeon( + PigeonOptions( + dartOut: 'lib/platform/app_icon_api.g.dart', + swiftOut: 'ios/Runner/Core/AppIcon.g.swift', + swiftOptions: SwiftOptions(includeErrorClass: false), + kotlinOut: 'android/app/src/main/kotlin/app/alextran/immich/appicon/AppIcon.g.kt', + kotlinOptions: KotlinOptions(package: 'app.alextran.immich.appicon'), + dartOptions: DartOptions(), + dartPackageName: 'immich_mobile', + ), +) +@HostApi() +abstract class AppIconApi { + @async + void setAppIcon(String iconId); + + String getAppIcon(); +} diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 945c6a6252..00f35a018a 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -124,6 +124,7 @@ flutter: uses-material-design: true assets: - assets/ + - assets/app-icons/ - assets/feature_message/ fonts: - family: GoogleSans diff --git a/mobile/scripts/generate_app_icons.py b/mobile/scripts/generate_app_icons.py new file mode 100644 index 0000000000..f8cd8f46d7 --- /dev/null +++ b/mobile/scripts/generate_app_icons.py @@ -0,0 +1,216 @@ +#!/usr/bin/env python3 +"""Generates the alternate app icon assets for Android and iOS. + +Recolors the five petals of the Immich logo for each icon variant and emits: + - assets/app-icons/app-icon-.svg (in-app previews) + - android res: drawable/ic_launcher_foreground_.xml, + mipmap-anydpi-v26/ic_launcher_.xml, + values/app_icon_colors.xml + - ios: Assets.xcassets/AppIcon.appiconset/{Contents.json,1024.png} + +The iOS PNGs are rendered with macOS `qlmanage`, so this script must run on +macOS. Run it from anywhere: `python3 mobile/scripts/generate_app_icons.py`. +""" + +import json +import re +import shutil +import struct +import subprocess +import sys +import tempfile +import zlib +from pathlib import Path + +MOBILE = Path(__file__).resolve().parent.parent + +# Original petal colors, in SVG document order: +# top (red), upper-left (pink), upper-right (yellow), +# lower-left (blue), lower-right (green) +BASE_PETALS = ["#FA2921", "#ED79B5", "#FFB400", "#1E83F7", "#18C249"] +BASE_BACKGROUND = "#FFFFFF" + +# id -> (asset suffix, background, petal colors in BASE_PETALS order). +# "classic" is the default icon and only gets a preview SVG; its native +# assets are the stock ic_launcher / AppIcon. +VARIANTS = { + "classic": (BASE_BACKGROUND, BASE_PETALS), + "midnight": ("#0F172A", BASE_PETALS), + "ocean": ("#FFFFFF", ["#0284C7", "#38BDF8", "#1D4ED8", "#0891B2", "#14B8A6"]), + "sunset": ("#1E1B4B", ["#F97316", "#7C3AED", "#FACC15", "#C026D3", "#F43F5E"]), + "forest": ("#FFFFFF", ["#16A34A", "#84CC16", "#4ADE80", "#15803D", "#65A30D"]), + "blossom": ("#FFF1F2", ["#E11D48", "#FB7185", "#F472B6", "#BE185D", "#F9A8D4"]), + "ink": ("#FFFFFF", ["#111827", "#6B7280", "#374151", "#9CA3AF", "#4B5563"]), + "neon": ("#0A0A12", ["#FF2D95", "#00E5FF", "#FFD600", "#7C4DFF", "#00FF9D"]), + "gold": ("#1C1917", ["#FBBF24", "#FDE68A", "#F59E0B", "#D97706", "#FCD34D"]), +} + + +def recolor(text: str, petals: list[str]) -> str: + for base, new in zip(BASE_PETALS, petals): + pattern = re.compile(re.escape(base), re.IGNORECASE) + text = pattern.sub(new, text) + return text + + +def petal_paths() -> str: + svg = (MOBILE / "assets" / "immich-logo.svg").read_text() + return "\n".join(re.findall(r"]*/>", svg)) + + +def icon_svg(background: str, petals: list[str], size: int) -> str: + # The flower spans the full 192px viewBox; scale it down so the icon + # keeps the same padding as the original iOS app icon. + scale = 0.78 + offset = 192 * (1 - scale) / 2 + paths = recolor(petal_paths(), petals) + return f""" + + +{paths} + + +""" + + +def write_previews() -> None: + out = MOBILE / "assets" / "app-icons" + out.mkdir(exist_ok=True) + for variant, (background, petals) in VARIANTS.items(): + (out / f"app-icon-{variant}.svg").write_text(icon_svg(background, petals, 192)) + print(f"previews: {out}") + + +def write_android() -> None: + res = MOBILE / "android" / "app" / "src" / "main" / "res" + foreground = (res / "drawable" / "ic_launcher_foreground.xml").read_text() + + colors = ['', ""] + for variant, (background, petals) in VARIANTS.items(): + if variant == "classic": + continue + (res / "drawable" / f"ic_launcher_foreground_{variant}.xml").write_text( + recolor(foreground, petals) + ) + colors.append(f' {background}') + (res / "mipmap-anydpi-v26" / f"ic_launcher_{variant}.xml").write_text( + f""" + + + + + +""" + ) + colors.append("") + (res / "values" / "app_icon_colors.xml").write_text("\n".join(colors) + "\n") + print(f"android res: {res}") + + +def strip_alpha(png: bytes) -> bytes: + """Re-encodes an RGBA PNG as opaque RGB (required for app icons).""" + assert png[:8] == b"\x89PNG\r\n\x1a\n" + pos, chunks, idat = 8, [], b"" + width = height = bit_depth = color_type = None + while pos < len(png): + (length,) = struct.unpack(">I", png[pos : pos + 4]) + kind = png[pos + 4 : pos + 8] + data = png[pos + 8 : pos + 8 + length] + pos += 12 + length + if kind == b"IHDR": + width, height, bit_depth, color_type = struct.unpack(">IIBB", data[:10]) + if kind == b"IDAT": + idat += data + else: + chunks.append((kind, data)) + if color_type != 6 or bit_depth != 8: + return png # already opaque + + raw = zlib.decompress(idat) + stride = width * 4 + rgb = bytearray() + previous = bytearray(width * 4) + for y in range(height): + row_start = y * (stride + 1) + filter_type = raw[row_start] + row = bytearray(raw[row_start + 1 : row_start + 1 + stride]) + for x in range(stride): + a = row[x - 4] if x >= 4 else 0 + b = previous[x] + c = previous[x - 4] if x >= 4 else 0 + if filter_type == 1: + row[x] = (row[x] + a) & 0xFF + elif filter_type == 2: + row[x] = (row[x] + b) & 0xFF + elif filter_type == 3: + row[x] = (row[x] + (a + b) // 2) & 0xFF + elif filter_type == 4: + p = a + b - c + pa, pb, pc = abs(p - a), abs(p - b), abs(p - c) + pred = a if pa <= pb and pa <= pc else b if pb <= pc else c + row[x] = (row[x] + pred) & 0xFF + previous = row + rgb.append(0) + for x in range(width): + rgb += row[x * 4 : x * 4 + 3] + + out = bytearray(b"\x89PNG\r\n\x1a\n") + + def chunk(kind: bytes, data: bytes) -> None: + out.extend(struct.pack(">I", len(data))) + out.extend(kind) + out.extend(data) + out.extend(struct.pack(">I", zlib.crc32(kind + data))) + + chunk(b"IHDR", struct.pack(">IIBBBBB", width, height, 8, 2, 0, 0, 0)) + chunk(b"IDAT", zlib.compress(bytes(rgb), 9)) + chunk(b"IEND", b"") + return bytes(out) + + +def write_ios() -> None: + xcassets = MOBILE / "ios" / "Runner" / "Assets.xcassets" + with tempfile.TemporaryDirectory() as tmp_dir: + tmp = Path(tmp_dir) + for variant, (background, petals) in VARIANTS.items(): + if variant == "classic": + continue + svg = tmp / f"{variant}.svg" + svg.write_text(icon_svg(background, petals, 1024)) + subprocess.run( + ["qlmanage", "-t", "-s", "1024", "-o", tmp_dir, str(svg)], + check=True, + capture_output=True, + ) + rendered = tmp / f"{variant}.svg.png" + if not rendered.exists(): + sys.exit(f"qlmanage failed to render {svg}") + + iconset = xcassets / f"AppIcon{variant.capitalize()}.appiconset" + shutil.rmtree(iconset, ignore_errors=True) + iconset.mkdir() + (iconset / "1024.png").write_bytes(strip_alpha(rendered.read_bytes())) + (iconset / "Contents.json").write_text( + json.dumps( + { + "images": [ + { + "filename": "1024.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024", + } + ], + "info": {"author": "xcode", "version": 1}, + }, + indent=2, + ) + + "\n" + ) + print(f"ios appiconsets: {xcassets}") + + +if __name__ == "__main__": + write_previews() + write_android() + write_ios()