From 04e410dd047e0a3a74217db21cd391a996924185 Mon Sep 17 00:00:00 2001 From: Brion Date: Wed, 8 Jul 2026 00:32:30 +0530 Subject: [PATCH] Improve the Quickstart sample --- .github/workflows/pr-builder.yml | 12 + AGENTS.md | 26 +- lib/src/thunderid_client.dart | 10 +- ...{thunderid_callback.dart => callback.dart} | 3 +- lib/src/widgets/flow_form.dart | 19 +- ...e_switcher.dart => language_switcher.dart} | 0 .../{thunderid_loading.dart => loading.dart} | 2 +- .../{thunderid_sign_in.dart => sign_in.dart} | 9 +- ...ign_in_button.dart => sign_in_button.dart} | 0 ...n_out_button.dart => sign_out_button.dart} | 3 +- .../{thunderid_sign_up.dart => sign_up.dart} | 15 +- ...ign_up_button.dart => sign_up_button.dart} | 5 +- ...hunderid_signed_in.dart => signed_in.dart} | 0 ...nderid_signed_out.dart => signed_out.dart} | 0 lib/src/widgets/thunderid_provider.dart | 7 +- ..._user_dropdown.dart => user_dropdown.dart} | 3 +- .../{thunderid_user.dart => user_object.dart} | 6 +- ...id_user_profile.dart => user_profile.dart} | 10 +- lib/thunderid_flutter.dart | 42 +- pubspec.yaml | 4 +- samples/quickstart/.gitignore | 4 +- samples/quickstart/.metadata | 12 +- samples/quickstart/android/.gitignore | 14 + .../quickstart/android/app/build.gradle.kts | 44 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 46 + .../flutter_quickstart/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + samples/quickstart/android/build.gradle.kts | 24 + .../android/flutter_quickstart_android.iml | 29 + samples/quickstart/android/gradle.properties | 2 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../quickstart/android/settings.gradle.kts | 33 + samples/quickstart/flutter_quickstart.iml | 17 + samples/quickstart/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 4 - .../xcshareddata/swiftpm/Package.resolved | 14 + .../Icon-App-1024x1024@1x.png | Bin 10932 -> 277280 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 1513 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 2389 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 3788 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 1695 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 3626 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 6046 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 2389 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 5416 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 9541 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 9541 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 17504 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 5114 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 14123 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 16635 bytes samples/quickstart/ios/Runner/Info.plist | 7 +- samples/quickstart/lib/app.dart | 6 +- .../quickstart/lib/screens/auth_screen.dart | 389 +++- .../quickstart/lib/screens/home_screen.dart | 1617 ++++++++++------- .../lib/screens/profile_screen.dart | 2 +- samples/quickstart/pubspec.yaml | 1 + samples/quickstart/server.cert | 20 - samples/quickstart/server.key | 28 - test/thunderid_client_test.dart | 7 +- test/widget_test.dart | 132 +- 71 files changed, 1712 insertions(+), 1002 deletions(-) rename lib/src/widgets/{thunderid_callback.dart => callback.dart} (99%) rename lib/src/widgets/{thunderid_language_switcher.dart => language_switcher.dart} (100%) rename lib/src/widgets/{thunderid_loading.dart => loading.dart} (97%) rename lib/src/widgets/{thunderid_sign_in.dart => sign_in.dart} (99%) rename lib/src/widgets/{thunderid_sign_in_button.dart => sign_in_button.dart} (100%) rename lib/src/widgets/{thunderid_sign_out_button.dart => sign_out_button.dart} (99%) rename lib/src/widgets/{thunderid_sign_up.dart => sign_up.dart} (95%) rename lib/src/widgets/{thunderid_sign_up_button.dart => sign_up_button.dart} (99%) rename lib/src/widgets/{thunderid_signed_in.dart => signed_in.dart} (100%) rename lib/src/widgets/{thunderid_signed_out.dart => signed_out.dart} (100%) rename lib/src/widgets/{thunderid_user_dropdown.dart => user_dropdown.dart} (99%) rename lib/src/widgets/{thunderid_user.dart => user_object.dart} (97%) rename lib/src/widgets/{thunderid_user_profile.dart => user_profile.dart} (98%) create mode 100644 samples/quickstart/android/.gitignore create mode 100644 samples/quickstart/android/app/build.gradle.kts create mode 100644 samples/quickstart/android/app/src/debug/AndroidManifest.xml create mode 100644 samples/quickstart/android/app/src/main/AndroidManifest.xml create mode 100644 samples/quickstart/android/app/src/main/kotlin/dev/thunderid/flutter_quickstart/MainActivity.kt create mode 100644 samples/quickstart/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 samples/quickstart/android/app/src/main/res/drawable/launch_background.xml create mode 100644 samples/quickstart/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 samples/quickstart/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 samples/quickstart/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 samples/quickstart/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 samples/quickstart/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 samples/quickstart/android/app/src/main/res/values-night/styles.xml create mode 100644 samples/quickstart/android/app/src/main/res/values/styles.xml create mode 100644 samples/quickstart/android/app/src/profile/AndroidManifest.xml create mode 100644 samples/quickstart/android/build.gradle.kts create mode 100644 samples/quickstart/android/flutter_quickstart_android.iml create mode 100644 samples/quickstart/android/gradle.properties create mode 100644 samples/quickstart/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 samples/quickstart/android/settings.gradle.kts create mode 100644 samples/quickstart/flutter_quickstart.iml create mode 100644 samples/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 samples/quickstart/server.cert delete mode 100644 samples/quickstart/server.key diff --git a/.github/workflows/pr-builder.yml b/.github/workflows/pr-builder.yml index c8579f6..90ecae5 100644 --- a/.github/workflows/pr-builder.yml +++ b/.github/workflows/pr-builder.yml @@ -59,6 +59,14 @@ jobs: - name: ๐Ÿ“ฆ Get Dependencies run: flutter pub get + - name: ๐Ÿ“ฆ Get Sample Dependencies + working-directory: samples/quickstart + run: flutter pub get + + - name: ๐Ÿ” Create Sample .env + working-directory: samples/quickstart + run: cp .env.example .env + - name: ๐Ÿ” Run Flutter Analyze run: flutter analyze @@ -123,6 +131,10 @@ jobs: working-directory: samples/quickstart run: flutter pub get + - name: ๐Ÿ” Create Sample .env + working-directory: samples/quickstart + run: cp .env.example .env + - name: ๐Ÿ”จ Build Quickstart Sample working-directory: samples/quickstart run: flutter build apk --debug diff --git a/AGENTS.md b/AGENTS.md index b2863db..340c36e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -72,19 +72,19 @@ lib/ flow_template_resolver.dart Embedded-flow URL builder widgets/ thunderid_provider.dart State provider (InheritedWidget root) - thunderid_sign_in_button.dart SignInButton / BaseSignInButton - thunderid_sign_up_button.dart SignUpButton / BaseSignUpButton - thunderid_sign_out_button.dart SignOutButton / BaseSignOutButton - thunderid_sign_in.dart Embedded sign-in form - thunderid_sign_up.dart Embedded sign-up form - thunderid_signed_in.dart Guard: renders child only when authenticated - thunderid_signed_out.dart Guard: inverse of SignedIn - thunderid_loading.dart Guard: renders while SDK is loading - thunderid_user.dart User info display - thunderid_user_dropdown.dart User dropdown menu - thunderid_user_profile.dart Full profile view - thunderid_callback.dart OAuth2 redirect handler - thunderid_language_switcher.dart Locale selector + sign_in_button.dart SignInButton / BaseSignInButton + sign_up_button.dart SignUpButton / BaseSignUpButton + sign_out_button.dart SignOutButton / BaseSignOutButton + sign_in.dart Embedded sign-in form + sign_up.dart Embedded sign-up form + signed_in.dart Guard: renders child only when authenticated + signed_out.dart Guard: inverse of SignedIn + loading.dart Guard: renders while SDK is loading + user_object.dart User info display + user_dropdown.dart User dropdown menu + user_profile.dart Full profile view + callback.dart OAuth2 redirect handler + language_switcher.dart Locale selector flow_form.dart Reusable form wrapper for flow steps android/ Kotlin method channel handler (JVM 17, minSdk 26) ios/Classes/ Swift method channel handler (iOS 16+) diff --git a/lib/src/thunderid_client.dart b/lib/src/thunderid_client.dart index f6b5bca..4f59f95 100644 --- a/lib/src/thunderid_client.dart +++ b/lib/src/thunderid_client.dart @@ -17,15 +17,15 @@ */ import 'channel/thunderid_channel.dart'; -import 'models/thunderid_error.dart'; -import 'models/thunderid_config.dart'; -import 'models/user.dart'; -import 'models/user_profile.dart'; -import 'models/token_response.dart'; import 'models/flow_models.dart'; import 'models/sign_in_options.dart'; import 'models/sign_out_options.dart'; +import 'models/thunderid_config.dart'; +import 'models/thunderid_error.dart'; import 'models/token_exchange_config.dart'; +import 'models/token_response.dart'; +import 'models/user.dart'; +import 'models/user_profile.dart'; /// Flutter SDK client โ€” Core Lib layer, delegates all protocol operations to /// the native iOS and Android Platform SDKs via [ThunderIDChannel] (spec ยง7.1). diff --git a/lib/src/widgets/thunderid_callback.dart b/lib/src/widgets/callback.dart similarity index 99% rename from lib/src/widgets/thunderid_callback.dart rename to lib/src/widgets/callback.dart index ebbba79..e8e634f 100644 --- a/lib/src/widgets/thunderid_callback.dart +++ b/lib/src/widgets/callback.dart @@ -17,8 +17,9 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; + import '../models/user.dart'; +import 'thunderid_provider.dart'; /// Handles the OAuth2 redirect callback URL (spec ยง8.4 Auth Flow). /// diff --git a/lib/src/widgets/flow_form.dart b/lib/src/widgets/flow_form.dart index 8e7f7ef..acc52f3 100644 --- a/lib/src/widgets/flow_form.dart +++ b/lib/src/widgets/flow_form.dart @@ -17,8 +17,9 @@ */ import 'package:flutter/material.dart'; -import '../models/flow_models.dart'; + import '../flow_template_resolver.dart'; +import '../models/flow_models.dart'; import 'thunderid_provider.dart'; /// Internal widget used by [ThunderIDSignIn] and [ThunderIDSignUp] to render a @@ -60,7 +61,9 @@ class _FlowFormState extends State { @override void dispose() { - for (final c in _controllers.values) c.dispose(); + for (final c in _controllers.values) { + c.dispose(); + } super.dispose(); } @@ -106,7 +109,7 @@ class _FlowFormState extends State { context, {'ref': _inputRef(i), 'label': '', 'type': i['type']}, _str(i['type']), - )), + ),), if (actions.isNotEmpty) ...actions.map((a) => _renderAction(context, a, actions)) else @@ -121,7 +124,7 @@ class _FlowFormState extends State { Text( widget.error!, style: TextStyle( - color: Theme.of(context).colorScheme.error, fontSize: 13), + color: Theme.of(context).colorScheme.error, fontSize: 13,), ), ], ], @@ -283,7 +286,7 @@ class _FlowFormState extends State { } String _findActionId( - String metaActionId, List> actions) { + String metaActionId, List> actions,) { if (actions.isEmpty) return 'submit'; final byRef = actions.firstWhere( (a) => _str(a['ref']) == metaActionId, @@ -304,7 +307,7 @@ class _FlowFormState extends State { String _actionSubmitId(Map a) => _str(a['ref'], fallback: _str(a['id'], - fallback: _str(a['nextNode'], fallback: 'submit'))); + fallback: _str(a['nextNode'], fallback: 'submit'),),); int? _actionIndex(String id) { if (!id.startsWith('action_')) return null; @@ -359,11 +362,11 @@ class _FlowFormState extends State { String _fieldRef(Map comp) => _str(comp['ref'], fallback: _str(comp['identifier'], - fallback: _str(comp['name'], fallback: _str(comp['id'])))); + fallback: _str(comp['name'], fallback: _str(comp['id'])),),); String _inputRef(Map input) => _str(input['name'], fallback: _str(input['identifier'], - fallback: _str(input['ref'], fallback: _str(input['id'])))); + fallback: _str(input['ref'], fallback: _str(input['id'])),),); String _resolve(dynamic value, {String fallback = ''}) { final s = value is String ? value.trim() : ''; diff --git a/lib/src/widgets/thunderid_language_switcher.dart b/lib/src/widgets/language_switcher.dart similarity index 100% rename from lib/src/widgets/thunderid_language_switcher.dart rename to lib/src/widgets/language_switcher.dart diff --git a/lib/src/widgets/thunderid_loading.dart b/lib/src/widgets/loading.dart similarity index 97% rename from lib/src/widgets/thunderid_loading.dart rename to lib/src/widgets/loading.dart index 67abe35..e3ff8f2 100644 --- a/lib/src/widgets/thunderid_loading.dart +++ b/lib/src/widgets/loading.dart @@ -48,7 +48,7 @@ class _DefaultSpinner extends StatelessWidget { // Stub โ€” avoids a Material/Cupertino import at this layer. // Replace with CircularProgressIndicator when using with Flutter Material. class CircularProgressIndicatorStub extends StatelessWidget { - const CircularProgressIndicatorStub(); + const CircularProgressIndicatorStub({super.key}); @override Widget build(BuildContext context) => const SizedBox.shrink(); diff --git a/lib/src/widgets/thunderid_sign_in.dart b/lib/src/widgets/sign_in.dart similarity index 99% rename from lib/src/widgets/thunderid_sign_in.dart rename to lib/src/widgets/sign_in.dart index 8713ca8..b8f6305 100644 --- a/lib/src/widgets/thunderid_sign_in.dart +++ b/lib/src/widgets/sign_in.dart @@ -16,13 +16,14 @@ * under the License. */ -import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; -import 'thunderid_provider.dart'; -import 'flow_form.dart'; +import 'package:flutter/material.dart'; + import '../models/flow_models.dart'; import '../models/token_exchange_config.dart'; import '../models/user.dart'; +import 'flow_form.dart'; +import 'thunderid_provider.dart'; /// State exposed to [BaseThunderIDSignIn]'s builder. class ThunderIDSignInState { @@ -108,7 +109,7 @@ class _BaseSignInState extends State { try { final state = ThunderIDProvider.of(context); final response = await state.client.signIn( - payload: EmbeddedSignInPayload(actionId: 'init'), + payload: const EmbeddedSignInPayload(actionId: 'init'), request: EmbeddedFlowRequestConfig(applicationId: widget.applicationId), ); if (kDebugMode) { diff --git a/lib/src/widgets/thunderid_sign_in_button.dart b/lib/src/widgets/sign_in_button.dart similarity index 100% rename from lib/src/widgets/thunderid_sign_in_button.dart rename to lib/src/widgets/sign_in_button.dart diff --git a/lib/src/widgets/thunderid_sign_out_button.dart b/lib/src/widgets/sign_out_button.dart similarity index 99% rename from lib/src/widgets/thunderid_sign_out_button.dart rename to lib/src/widgets/sign_out_button.dart index 318fbab..c635563 100644 --- a/lib/src/widgets/thunderid_sign_out_button.dart +++ b/lib/src/widgets/sign_out_button.dart @@ -17,8 +17,9 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; + import '../models/sign_out_options.dart'; +import 'thunderid_provider.dart'; /// Triggers sign-out on tap. Accessible per WCAG 2.1 AA (spec ยง8.1). class SignOutButton extends StatelessWidget { diff --git a/lib/src/widgets/thunderid_sign_up.dart b/lib/src/widgets/sign_up.dart similarity index 95% rename from lib/src/widgets/thunderid_sign_up.dart rename to lib/src/widgets/sign_up.dart index 0ea6093..35c2e98 100644 --- a/lib/src/widgets/thunderid_sign_up.dart +++ b/lib/src/widgets/sign_up.dart @@ -17,10 +17,11 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; -import 'flow_form.dart'; + import '../models/flow_models.dart'; import '../models/token_exchange_config.dart'; +import 'flow_form.dart'; +import 'thunderid_provider.dart'; /// Full registration form driving the REGISTRATION flow (spec ยง8.4 Presentation). class SignUp extends StatelessWidget { @@ -49,13 +50,13 @@ class SignUp extends StatelessWidget { } } -class _FlowState { +class ThunderIDSignUpState { final EmbeddedFlowResponse? currentStep; final bool isLoading; final String? error; final Future Function(String actionId, Map inputs) submit; - const _FlowState({ + const ThunderIDSignUpState({ required this.currentStep, required this.isLoading, required this.error, @@ -68,7 +69,7 @@ class BaseSignUp extends StatefulWidget { final String applicationId; final VoidCallback? onSuccess; final VoidCallback? onError; - final Widget Function(BuildContext context, _FlowState state) builder; + final Widget Function(BuildContext context, ThunderIDSignUpState state) builder; const BaseSignUp({ super.key, @@ -98,7 +99,7 @@ class _BaseSignUpState extends State { try { final state = ThunderIDProvider.of(context); final response = await state.client.signUp( - payload: EmbeddedSignInPayload(actionId: 'init'), + payload: const EmbeddedSignInPayload(actionId: 'init'), request: EmbeddedFlowRequestConfig( applicationId: widget.applicationId, flowType: FlowType.registration, @@ -165,7 +166,7 @@ class _BaseSignUpState extends State { @override Widget build(BuildContext context) => widget.builder( context, - _FlowState( + ThunderIDSignUpState( currentStep: _currentStep, isLoading: _isLoading, error: _error, diff --git a/lib/src/widgets/thunderid_sign_up_button.dart b/lib/src/widgets/sign_up_button.dart similarity index 99% rename from lib/src/widgets/thunderid_sign_up_button.dart rename to lib/src/widgets/sign_up_button.dart index 966941b..5351285 100644 --- a/lib/src/widgets/thunderid_sign_up_button.dart +++ b/lib/src/widgets/sign_up_button.dart @@ -17,9 +17,10 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; -import '../models/sign_up_options.dart'; + import '../models/flow_models.dart'; +import '../models/sign_up_options.dart'; +import 'thunderid_provider.dart'; /// Initiates the sign-up flow on tap (spec ยง8.4 Actions). class SignUpButton extends StatelessWidget { diff --git a/lib/src/widgets/thunderid_signed_in.dart b/lib/src/widgets/signed_in.dart similarity index 100% rename from lib/src/widgets/thunderid_signed_in.dart rename to lib/src/widgets/signed_in.dart diff --git a/lib/src/widgets/thunderid_signed_out.dart b/lib/src/widgets/signed_out.dart similarity index 100% rename from lib/src/widgets/thunderid_signed_out.dart rename to lib/src/widgets/signed_out.dart diff --git a/lib/src/widgets/thunderid_provider.dart b/lib/src/widgets/thunderid_provider.dart index 14d25fc..0a70ebb 100644 --- a/lib/src/widgets/thunderid_provider.dart +++ b/lib/src/widgets/thunderid_provider.dart @@ -19,11 +19,12 @@ import 'dart:async'; import 'package:flutter/widgets.dart'; -import '../thunderid_client.dart'; -import '../models/thunderid_config.dart'; + +import '../i18n/thunderid_i18n.dart'; import '../models/preferences.dart'; +import '../models/thunderid_config.dart'; import '../models/user.dart'; -import '../i18n/thunderid_i18n.dart'; +import '../thunderid_client.dart'; /// Provides a [ThunderIDClient] and reactive authentication state to the widget tree. /// diff --git a/lib/src/widgets/thunderid_user_dropdown.dart b/lib/src/widgets/user_dropdown.dart similarity index 99% rename from lib/src/widgets/thunderid_user_dropdown.dart rename to lib/src/widgets/user_dropdown.dart index 14e90ca..88602e3 100644 --- a/lib/src/widgets/thunderid_user_dropdown.dart +++ b/lib/src/widgets/user_dropdown.dart @@ -17,8 +17,9 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; + import '../models/user.dart'; +import 'thunderid_provider.dart'; /// Avatar chip that opens a menu with profile and sign-out actions (spec ยง8.4 Presentation). class UserDropdown extends StatelessWidget { diff --git a/lib/src/widgets/thunderid_user.dart b/lib/src/widgets/user_object.dart similarity index 97% rename from lib/src/widgets/thunderid_user.dart rename to lib/src/widgets/user_object.dart index 3681091..37b41a9 100644 --- a/lib/src/widgets/thunderid_user.dart +++ b/lib/src/widgets/user_object.dart @@ -17,8 +17,10 @@ */ import 'package:flutter/widgets.dart'; -import 'thunderid_provider.dart'; + +import '../i18n/thunderid_i18n.dart'; import '../models/user.dart'; +import 'thunderid_provider.dart'; /// Read-only display of the authenticated user's name and avatar (spec ยง8.4 Presentation). class UserObject extends StatelessWidget { @@ -35,7 +37,7 @@ class UserObject extends StatelessWidget { class _DefaultUserLayout extends StatelessWidget { final User? user; - final dynamic i18n; + final ThunderIDI18n i18n; const _DefaultUserLayout({required this.user, required this.i18n}); diff --git a/lib/src/widgets/thunderid_user_profile.dart b/lib/src/widgets/user_profile.dart similarity index 98% rename from lib/src/widgets/thunderid_user_profile.dart rename to lib/src/widgets/user_profile.dart index 6f2928d..758183c 100644 --- a/lib/src/widgets/thunderid_user_profile.dart +++ b/lib/src/widgets/user_profile.dart @@ -17,9 +17,11 @@ */ import 'dart:convert'; + import 'package:flutter/material.dart'; -import 'thunderid_provider.dart'; + import '../models/user_profile.dart' as model; +import 'thunderid_provider.dart'; /// Read-only profile view built from the decoded access token. class UserProfile extends StatelessWidget { @@ -140,7 +142,9 @@ class _BaseUserProfileState extends State { @override void dispose() { - for (final c in _controllers.values) c.dispose(); + for (final c in _controllers.values) { + c.dispose(); + } super.dispose(); } @@ -164,7 +168,7 @@ class _BaseUserProfileState extends State { final profile = model.UserProfile(id: payload['sub'] as String? ?? '', claims: profileClaims); for (final entry in profileClaims.entries) { _controllers.putIfAbsent( - entry.key, () => TextEditingController(text: entry.value?.toString() ?? '')); + entry.key, () => TextEditingController(text: entry.value?.toString() ?? ''),); } if (mounted) setState(() => _profile = profile); } catch (e) { diff --git a/lib/thunderid_flutter.dart b/lib/thunderid_flutter.dart index d4a8b50..ff55ce9 100644 --- a/lib/thunderid_flutter.dart +++ b/lib/thunderid_flutter.dart @@ -23,30 +23,30 @@ /// ThunderID Platform SDKs via Flutter platform channels. library thunderid_flutter; -export 'src/thunderid_client.dart'; -export 'src/models/thunderid_config.dart'; -export 'src/models/user.dart'; -export 'src/models/user_profile.dart' hide UserProfile; -export 'src/models/token_response.dart'; -export 'src/models/thunderid_error.dart'; +export 'src/flow_template_resolver.dart'; export 'src/models/flow_models.dart'; +export 'src/models/preferences.dart'; export 'src/models/sign_in_options.dart'; export 'src/models/sign_out_options.dart'; export 'src/models/sign_up_options.dart'; +export 'src/models/thunderid_config.dart'; +export 'src/models/thunderid_error.dart'; export 'src/models/token_exchange_config.dart'; -export 'src/models/preferences.dart'; +export 'src/models/token_response.dart'; +export 'src/models/user.dart'; +export 'src/models/user_profile.dart' hide UserProfile; +export 'src/thunderid_client.dart'; +export 'src/widgets/callback.dart'; +export 'src/widgets/language_switcher.dart'; +export 'src/widgets/loading.dart'; +export 'src/widgets/sign_in.dart'; +export 'src/widgets/sign_in_button.dart'; +export 'src/widgets/sign_out_button.dart'; +export 'src/widgets/sign_up.dart'; +export 'src/widgets/sign_up_button.dart'; +export 'src/widgets/signed_in.dart'; +export 'src/widgets/signed_out.dart'; export 'src/widgets/thunderid_provider.dart'; -export 'src/widgets/thunderid_sign_in_button.dart'; -export 'src/widgets/thunderid_sign_out_button.dart'; -export 'src/widgets/thunderid_sign_up_button.dart'; -export 'src/widgets/thunderid_callback.dart'; -export 'src/widgets/thunderid_signed_in.dart'; -export 'src/widgets/thunderid_signed_out.dart'; -export 'src/widgets/thunderid_loading.dart'; -export 'src/widgets/thunderid_sign_in.dart'; -export 'src/widgets/thunderid_sign_up.dart'; -export 'src/widgets/thunderid_user.dart'; -export 'src/widgets/thunderid_user_dropdown.dart'; -export 'src/widgets/thunderid_user_profile.dart'; -export 'src/widgets/thunderid_language_switcher.dart'; -export 'src/flow_template_resolver.dart'; +export 'src/widgets/user_dropdown.dart'; +export 'src/widgets/user_object.dart'; +export 'src/widgets/user_profile.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 28245c5..6a00387 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,11 +13,11 @@ dependencies: plugin_platform_interface: ^2.1.7 dev_dependencies: + build_runner: ^2.4.8 + flutter_lints: ^3.0.0 flutter_test: sdk: flutter - flutter_lints: ^3.0.0 mockito: ^5.4.4 - build_runner: ^2.4.8 flutter: plugin: diff --git a/samples/quickstart/.gitignore b/samples/quickstart/.gitignore index 809f405..48a41e5 100644 --- a/samples/quickstart/.gitignore +++ b/samples/quickstart/.gitignore @@ -7,7 +7,9 @@ .buildlog/ .history - +# Local ThunderID dev server certificate (machine-specific, see Flutter Quickstart docs) +server.cert +server.key # Flutter repo-specific /bin/cache/ diff --git a/samples/quickstart/.metadata b/samples/quickstart/.metadata index 3e79a8d..0b1aaad 100644 --- a/samples/quickstart/.metadata +++ b/samples/quickstart/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "ff37bef603469fb030f2b72995ab929ccfc227f0" + revision: "cc0734ac716fbb8b90f3f9db8020958b1553afa7" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 - base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 - - platform: ios - create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 - base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0 + create_revision: cc0734ac716fbb8b90f3f9db8020958b1553afa7 + base_revision: cc0734ac716fbb8b90f3f9db8020958b1553afa7 + - platform: android + create_revision: cc0734ac716fbb8b90f3f9db8020958b1553afa7 + base_revision: cc0734ac716fbb8b90f3f9db8020958b1553afa7 # User provided section diff --git a/samples/quickstart/android/.gitignore b/samples/quickstart/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/samples/quickstart/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/samples/quickstart/android/app/build.gradle.kts b/samples/quickstart/android/app/build.gradle.kts new file mode 100644 index 0000000..55d73d4 --- /dev/null +++ b/samples/quickstart/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "dev.thunderid.flutter_quickstart" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "dev.thunderid.flutter_quickstart" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = 26 + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/samples/quickstart/android/app/src/debug/AndroidManifest.xml b/samples/quickstart/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/samples/quickstart/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/samples/quickstart/android/app/src/main/AndroidManifest.xml b/samples/quickstart/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..bd098c0 --- /dev/null +++ b/samples/quickstart/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/quickstart/android/app/src/main/kotlin/dev/thunderid/flutter_quickstart/MainActivity.kt b/samples/quickstart/android/app/src/main/kotlin/dev/thunderid/flutter_quickstart/MainActivity.kt new file mode 100644 index 0000000..096090a --- /dev/null +++ b/samples/quickstart/android/app/src/main/kotlin/dev/thunderid/flutter_quickstart/MainActivity.kt @@ -0,0 +1,5 @@ +package dev.thunderid.flutter_quickstart + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/samples/quickstart/android/app/src/main/res/drawable-v21/launch_background.xml b/samples/quickstart/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/samples/quickstart/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/samples/quickstart/android/app/src/main/res/drawable/launch_background.xml b/samples/quickstart/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/samples/quickstart/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/samples/quickstart/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/samples/quickstart/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/samples/quickstart/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/samples/quickstart/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/samples/quickstart/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/samples/quickstart/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/samples/quickstart/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/samples/quickstart/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/samples/quickstart/android/app/src/main/res/values-night/styles.xml b/samples/quickstart/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/samples/quickstart/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/samples/quickstart/android/app/src/main/res/values/styles.xml b/samples/quickstart/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/samples/quickstart/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/samples/quickstart/android/app/src/profile/AndroidManifest.xml b/samples/quickstart/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/samples/quickstart/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/samples/quickstart/android/build.gradle.kts b/samples/quickstart/android/build.gradle.kts new file mode 100644 index 0000000..dbee657 --- /dev/null +++ b/samples/quickstart/android/build.gradle.kts @@ -0,0 +1,24 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/samples/quickstart/android/flutter_quickstart_android.iml b/samples/quickstart/android/flutter_quickstart_android.iml new file mode 100644 index 0000000..3bc4b3b --- /dev/null +++ b/samples/quickstart/android/flutter_quickstart_android.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/quickstart/android/gradle.properties b/samples/quickstart/android/gradle.properties new file mode 100644 index 0000000..fbee1d8 --- /dev/null +++ b/samples/quickstart/android/gradle.properties @@ -0,0 +1,2 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true diff --git a/samples/quickstart/android/gradle/wrapper/gradle-wrapper.properties b/samples/quickstart/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e4ef43f --- /dev/null +++ b/samples/quickstart/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/samples/quickstart/android/settings.gradle.kts b/samples/quickstart/android/settings.gradle.kts new file mode 100644 index 0000000..9d55230 --- /dev/null +++ b/samples/quickstart/android/settings.gradle.kts @@ -0,0 +1,33 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.2.2" apply false + id("org.jetbrains.kotlin.android") version "1.9.22" apply false +} + +includeBuild("../../../android") { + name = "android" + dependencySubstitution { + substitute(module("dev.thunderid:android")).using(project(":")) + } +} + +include(":app") diff --git a/samples/quickstart/flutter_quickstart.iml b/samples/quickstart/flutter_quickstart.iml new file mode 100644 index 0000000..f66303d --- /dev/null +++ b/samples/quickstart/flutter_quickstart.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/samples/quickstart/ios/Podfile b/samples/quickstart/ios/Podfile index a05ffed..25d398e 100644 --- a/samples/quickstart/ios/Podfile +++ b/samples/quickstart/ios/Podfile @@ -29,7 +29,7 @@ flutter_ios_podfile_setup target 'Runner' do use_frameworks! - pod 'ThunderID', :path => '../../../../tools/sdks/ios' + pod 'ThunderID', :git => 'https://github.com/thunder-id/ios-sdks' flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do diff --git a/samples/quickstart/ios/Runner.xcodeproj/project.pbxproj b/samples/quickstart/ios/Runner.xcodeproj/project.pbxproj index bd3cea6..be17f43 100644 --- a/samples/quickstart/ios/Runner.xcodeproj/project.pbxproj +++ b/samples/quickstart/ios/Runner.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 1C8A4D7A5E6B4C3D2A190001 /* server.cert in Resources */ = {isa = PBXBuildFile; fileRef = 1C8A4D7A5E6B4C3D2A190002 /* server.cert */; }; 25604BB0C5D4253EA9F66207 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E69A3A38C99D0AD4E4C2F2D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; @@ -45,7 +44,6 @@ /* Begin PBXFileReference section */ 0BA1155FF8054CAFB9195FE7 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 1C8A4D7A5E6B4C3D2A190002 /* server.cert */ = {isa = PBXFileReference; lastKnownFileType = text; name = server.cert; path = ../server.cert; sourceTree = SOURCE_ROOT; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; @@ -157,7 +155,6 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 1C8A4D7A5E6B4C3D2A190002 /* server.cert */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, @@ -266,7 +263,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1C8A4D7A5E6B4C3D2A190001 /* server.cert in Resources */, 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, diff --git a/samples/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/samples/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..3d095f2 --- /dev/null +++ b/samples/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,14 @@ +{ + "pins" : [ + { + "identity" : "ios-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/thunder-id/ios-sdks", + "state" : { + "branch" : "main", + "revision" : "1ed224e4697acb0dace4604de6c2eeeb5ff9c353" + } + } + ], + "version" : 2 +} diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index dc9ada4725e9b0ddb1deab583e5b5102493aa332..d41fd82f5ee9fdda761d536cecd5870d5fd43822 100644 GIT binary patch literal 277280 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
^^d6GZ{f?R<%!Ho!Usey2&X;;;%kl>_VK6p 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

+chE-~*v@tgz_;BzyrE0$=x&|BNQ` zX$f=IhXiUC@j2abD#4J2AAmWT`?#ypg+|RHTcG|BVwcxHd3gx(=OL<@0j4|XB-nA= z6kq?$C+v(@|BXsU5j+iD0Hl&#Vv23}fdG!zuRt_hiH~L0GhYA$lzLWKL)woM6?vH_ z23zURpvaQ=@bkDvjf2QkU_>`8R*4E6Z>;w^2ef`+In=u02|`vjgsJJrEiY*Z&`sAN zv$kX4NsSW#?>>JRV)KI8XK0pCF}=zsrC&dfc`Dqf4QDBbn8RVdPGQWd81rK}fRZ$; z5eQJ9&EqhyUZGZf8|jm739w_*H(>G8?#|}PhV^&OLqA#%-PM*cB7#ex04{dtJ6c= zRQS2*16df*p-DdS|CyX_d&fprV$jp?P)dqp$&~5bJGc z(;YG9=?oSZFY%c9|2v4vrQ)D;n|XKum{noN^{B&;eY&-ACLhNAVt^&{qD*t8lNls6 z*F!XyzwFy=?~#;uH$K3M9=UHgrt^I>mOK5K;k;S);FRPr@nhvNFFcdUrl;P4{TUg_bZ;C?-_<$h06^J7;uT{_d*8@nY+DNxCGT(o^6h~*Cap#ddRBZ zoMp{RT>JiJu>LEY;#DnW`Z?r%3n3#&RHR;16J=u$@`?Z={K)e$+%~fzGk|5fGx`nB zkjUOPc?GoU4XYJ|bkV?f_6gA`syL)%zU_4_&ih(&WYR39d!agYO%rwe&_yk zMX{Qs6!phh2GD)skfz9QernDkJ!h|tDuMA=Snrx|_$j?W1>C+!?Y#Yq2SxkWHh(ue z1M|OG%i5x=C2h?2RxL!PczfJKX*l)FU+yp9p-^UIR3*@l3FCrQhqXe7+PoOQX=gI9k3MOAFA3QzDPksKPD=i2TQ0trbyc*`^j>GrglcCv!*0kUxJlPsm{VHFLU z#|!DrM*|YOu_bE0epiB9^yYk7U>IFt21u(*3_R@sh8O=B(zw~;#&%anC1OFMhyRy8 zF-}mhOF~ZsT$LTs~?c>)m8pe7#7@u5eGsjps(6%un1i7PKE#&Zua-HD52AxAZk$R%iV97=k3 zWrugs?0TQFgw`wkU~wS>)jJAgTR|LXx$D;o(p+0j$Aaq7W$WhEccKT;KFi-$E)s!P zR~?2Jv*qA7eNW7ASG%|nL}O0~P?nGs8_dfBvA{zAxQ52Rofb6pWNU3!*Ta_M;j`zG zx#I`; zhK(aYObJ_Ox*Ahf^xGQAqZ}?4%_aB2=Y_UcaPX@9ssa_7D45i?Wr(Szno|k#?rzL_ zDd*(`I6&YK9#aX^29bo~WQNtM%~*O*-sgl$M6AEkewJuouAsswj9o@#jA z1{m{-9UwW>>Sb9^;>&4|k{CrG6{Hzu7AL?!oDz?32;R!(_Fi z76;6jPX0H@uR1!r<*A&{DW1n8vy7{}lIx#K2(e+Gx^23CqOVDc#Lxi=>OJd)`d=P815Qmr}MY^;*n|kkjj1 zq)N}u{Vd0-Y-)l>ezd+py&8`iPSIXiE3gWo*F9a+TwGziMh}QD<{%w-Q}bTEawYhb zH_^6LNUpmh@S6u80yQsVXy1!7bwm(E#!{nP$R#L6e&Si-`{p1) z5n<)vLU;*B@Ist??pKsHAocJ{ko0ENWn46mB>aO~E+*r7@@%~*A;^&)?Dc3^LS{~R zq{$crtuVX$9gX9Oku_CP;%CFdqbyW}+cY-EfmZG4;wWAKH?5U-NkPrR=KZ5#sysFT z^%C|Tc{+>qH?GjNnF>?j^=!x^4i(?VllGNt?cX+s-=Y&SKtwd%2R-hWKTf{0Z$D-= z(bwh5fLSRgqZ{~&g(hyp7(NgS#C}K~fSBV66XB-1g#s|_e!MyQoO)y;jO9br&LW_@ zH;NJD@bFr2E-Ka7o;&&goqiujqM)_-5O+NfMFgVkK?Ec2f^Riah&O}y5a39dodU>6 zuMQ667oA5rM9*=NVYqiJ2_ytpr5#G&2d#R(iRQ&p11M|?&6(o{n`d-3V(avv=#3o8 z-N7YG&J`d9QZNpDoB2@<6dXf8SrI3;Dk*f1)0d^X`TGl7vH<0fR zF3!~aF8`JTCr&Y&l}so{?-;n)JlbFp#uU}nc=KzV21Pab>5Gh+H^%> zxTZx7n@^ZIQ|>r@v^yRQCuC6|*iFw?pGU zFreu85afBLf~}N4hmsxHFm6NlRYWLa6g@r_np37Y@72049KG#Jiv zK)(e5XDq-K4A3z!Gzs(#zFq)v<4$X_jXkX$KvMzSJCOQ!^B|b#AG1WFU^uVg6*3rQ z(1GtOEz<;#3)d|&vEf~7>Ca!goUT`|^}xqObvE3k#xEZf>2Qd8F_(2N-!5C%?~!nt z@jC8=&U}iJ)^Y<2M#CI=wQ69R2VHBGZGtVGTI>LwB+)7Op}NnK9P(}t<( zqKP@xI0fVCAi|K&Bx-r+3AAi7{cax)3?dSx$4qMp;JIN+27!bG)+zJDIADfEkdIcV zi(F%0q4H5}=R$aZO$MhdnqGBjCaa{6l-LVU@3|#Pb*>OkPoz?bsB@9c8X}}fOA2DD zCpJ*~Rl``Eo$Y))ev+X-uJDaF|K^+7aG+xg(`!H_3;%ghbjv#=N)B3R42Qt9@HIyF zC5xE$2~4}v;Dq~1{{+W!J#_PR+0SXxO3RG=Kb;lHKPw={i;S6n!d;ST0F%7JYlGLk zKr`du*cfp6f?0=d=PGb6;LZy|Wi`X;0m`5ALoDBnNb;KfVBO&mzQUDX9KOwOnR_z` z(Afd)&mp#Df^b`@9%KG7$rt?hL*j;=oH>pZzde3=nnQ;3itF}jb{MDFbZ+mg)!u6M z5hxf_%ML4gIXdr%ISN{~OVY2w7RqHkTs#par5($k8n_8leTB@O3#y560#<&0`1vSf z^$|>1lOey>y9Pl|%sGp!n7N#_(Q0d_BUB8CFS1!kIdXRbfQK&GJ9&@Nf?$f1$B>@C zW1K2%-yz-G;IZy~p*Jhg-p$lL$#4EM7TObQN@{ksz$y0sBV-o4H~dDpF#F=a>yzW| zh9S3zJhhKLXe7VRau(jmf zJy(m;RRv+QZ9My&jGSjt$J;ZegjSh7YVYopirX_xn(CwCQ#>s)H6rKMa?_p@vjNe* zgc0=9XoI8+xN5(SpT zvC`)hLkIhQ9INC!9G%+PHVK|+5@a}KNdkiMkV9OLVKH!IP%52qLvV^I=Y*Apgr;Ee zdzxESJ$v-eKQ8@aGt~DDjDwoq6AE1x!SjG*RSkC1h!C* zPR=a`A3CVjZ9}RPP6(r0>)QuQiI&q&r^g(B2T&~Z;&5aWy1+ALb3#Sun)YY2xW9jTq{%6KI1nA0R9&aE*_cEP+MF|Pe$hPWib#o7s zI8k=wIlH&^C=}l&lZ2$4p+>bQs>?1!^xvqg62Mzw6r1Cn%C2`Dqw-jf@=K7>CJw>D zP!9U_Pj3%c(G?N3@U6LJf=P4{Y|$l&vtD z9yeVWz7;fPk(56Xm1Mp-l}67S9!vb1r41p3$oXNFJcM(74b?++b#&55NMW1dBI{cD zkg_R*|CoBl4g0GQwMgh73_}28Hc|dWv?SfG+Jd2TJAaXWBmj#@G{SZZ6?;|^OIlUu z746`i6So2igv7nE4BRKZ9&vTR`-p#~2HuW1C$OBKmE%UU*!jV~*!Ow|{zK4+i1+sQ zFG>$GM_phfqv(vV{m&SICy>*Ot3bF4LL@WH)h!*9<<>Q4VlbL`jAAmv+^5-Y_~Scj z?_AmuVJbw;#}J*}S&fx(Wq0Mh$6!(6tNY2iG-KA1qv^oao12pl;BLL4-qvqs{Z$+) zE6Gk~tDn@my=kouc{8$@n&tU24sJz$Ln-dLpSHeG478W6&H@Mi-lnavQ2oB_G~x}< z9NVu&bDwL2oEUuz4%1B^fqXCd>GbVY)7#Q>ULZ}m{&Logg<|L(vJrfSoo{}B8F%6` z^f70!LNitn%pduk;l((++}gz9G`nXTG6?*hN?)rx{L9C&XTH0BS z!x(f81JHwmO9s17Irk%v)QT-jCuP)9Zax&;P^eGH%XSY4&x?YT%)^>@=a5n!Njh67 zlSZ$XA+&{3DI2XkNI&e4i|fLDs;uDHjvY6PvOU5`(z3tyYw02+o+5k z`25(`qZq0X8s3br{0rkmA5-(sS3J~VA0zVJEv)c6Bk8ofeOafP`R*9DBCKCu9f^)T zpuc8i9}B+3Cd?1h|J02wGCV_7qW{Crnazr>0fW2++i(V5$sv3RKez+c zX*egrku4he8ab?j=^ScC$AQAulJDen@-^4>kd83*{_7stNkiP3j%t2&i8650p;S&4eC2+kCv}_>p-a#f=@R|Zg6ml&YD=|*~w zasP8c#0~*Q+?*WLvHPUab~Ix=ETHg4EPUBs+Tlfc-c5w36^z-Qz?&cngVId1C}94Q z+TkZSY>(MPv1srL?TnLGL8Q-@xffGHcL7G!2ZGZHJE9!QKYHVOjx4sE#;@hd83%in_DWHP$wle`4Y7AX=qDblhu^sX&aaIxBRct#6I@*lk*)HaPlK_9WqAyOP~(WU3n3>AuGM89k)Z60vr6vKpOP>w_YVzjgg zL2A8N8@@#p)PMWvkdA|~oj+21))l!N;4<8LpQ3uEky$V*M|gGcb3Z>hE<%EEx^0`c zcm0wN*-p%G9T4966`47y_r88(&S(9@^O98-a*;~m4^b-YWN__lLdEF_>KNo~L|QGq zPo8U($?jJbLU7JrvbEi1H+cVOP5Td*$v4@qTJI`dAYknD+BMf_BJG{*mL~&bPUPZI zg)LTvs2os*{+Dgh_ZTaOGKylAmQXh2iJcx?=aS9_XLvMgv4IT~xe3 zma{GADzOb4$e@F%LO~sz_C6)vfL@n4g2b?;ZZiM5NlS0EeZ_Awr`UeGc zY?#2SyG{tt-O7zJlT67Wgf@=snM&zt5M*K6gm4~M(F0Jjea#{v{@gEa&&RY*xS2K2 zJO7%zc+j9b84;vHAD;^40Zw4}458S(@BqK=Le9X|rOxBM#O%<^v>>Xl5 z)&fU7j9V@jWBEUIVJ>C#sc4oT3SPdDD362N60=qen}2!KW@mw0=(<8nhX|r8{C{ohj7UX(VQK zeLw8s1ly4bDmrYrP<18jG9^?*3jXq(%4k$IxQ62TFEwH$Xw~V$TWeb#*Ex9M;=sDN z#U*igP^a}G$C82=kZ=>vT_@_jB5D3?A#>#i0m!;~?ee|V`fugva8im=gkP&YYXdJb zoLt@n=@=ec))tWwuFh^MIl9wH=cqK1Gm62HvIbGC8Em~WdLPqQ9xjvrg@kH=(d8Sg!fW1=nxu>HMI_fgsM|B6TQ z8|leKbDLxTjPZ+-j;J>IZ)TR#I9nJZi8?=YnG0h_d(Y?At%BHziL=}Y%GMflNX zx+r^4m?)H>_iHO8zofq3Iej;j(%09G;9E*AoBCDQ%@PUx87;3Trzqrf_JW}NRkzOd zQCGVsJ)Uwu;yK?<(y`V7RLm|rP2$5Xr0H0?4~4~j(!cq+&UuAPbO)SP*u?+@t@$5y zyoNS%xVSWajVhpLHu&+D9@2e^I~~eS0w1`%up+#z71tGGEmlfhnwQxf;W^*wna&$0&#%vW|N-!mrT5=ZkR z>7`@WRN-F+RLJJuOJ&~^Hn?@3cATOIgEW;!g{O3Av^EI&eoViTh6NMruDG0Zi{34T zn7AE!S(RcNTq>zuY(qOLg;DRe6Y=m9&TE7P`B?_?0XLevKl| zCSoZ*wX@&$koaK5Hg=%IzGcsvYED~>@^&}agW?PxQPuN1uS&vZ7RVf|0*ADMYk0g4 zn!VkitXmJZ#r)1-eS^jDz(EisU4S)81Er+lVl%SI2Ef9~M zeL^rUlen^YHpviina1~Cwg(IjV{9h|u5zn5gwT>?+`bNwUX@sQDP9#E&03ngIBf{b zVrxH2Q4JHbz3wAE;5sd}G!d6$7RT{aX9JD@2k5ma_RHW_{TNG2ImJ#q3Z1`Kg$a4Z z>#L3Y+|OnoeC&OY+%ed7G1z7fXrZQ)H*_o|oUgPX(Gth?Z4aPitQYDGOHzFS6nYjO z{{ERlmAA(+-75KL?bSWA5m3XYLTxOaAO$nrd}7_`tt_>uB6FUA+Q_Gdt$#vI1CoTe*PK?z45^wuv=AjN$l1 z0DtxmxaJ|{9{BGAx%z3$E%=b1gWmT{vx02P^cqZ~KORIPImc$sYFUMta8dU3a&qbr zOwHv9>|D4WSS&eW=QyBb%hx_1c7Ei|=Po(HjRdLUYFY4aOT;xdd|rYrmdnR!xTILU z>tWt8=%%ewqr-V+i=*A_khk~6wH5-*M5Xi_!AjUNrqOq@KNci{hbvKIHzE{buc_)s zvDoahkFQWuSQF+er?CK3*iOK3XO<*ch+R)+$2b*?ZK3znk~CBpO`Y>7)5J53uc|H& zVz~7>Zr&?4-jtU2fRmU%2H4Hv0Zbidfr>uya}6LD&Yk7uZu0fy_lIkjOkk`fYvVcj zot+j)WXHR2YeU{xA%(wH&emF!=dqxT|Bw3Bzv_mZV09Aib19l1ZRt0UY2!--dRQe% zR1JK?EDv`lLNf@iV;>PwbbT{QHvGyiJC08y+H~JmSm}p9Fo`viPfNg=ZB=|MuCHr#kf>_&%HR8=Isb)3BElR#mW^m-aW|CYUD`9PHotK4f1U*yz zLbx$(UA`!^I7Dxw^8rXCqAn%E3hcM_{vS+@=H^@v33(TQ7P|eAGjGdb+=ox{#Uja2 z<`(*qHFQ)%5)7I4=iI1^`wkv?v4K~n9&b-O!HTG$TsBAT#K~c-j)mFtaW@OtzD(2&r3QTde>?6LRlzNx}PleXE=f>H8#GnOm+ zdi5(46WM5^1(U#h{hYW)RO?-I}XwZW-CBK?>`U!y{qm&H_ z9NF!$k#sI|uHzv;(svKLj3OgNAHQk}K;I6d_W+a^vz{Mw<_X6guZf=1EpYe+;MJ6& zdtN32*UZalaIo9ylgB4K2`)-wz&fLq8-!@o5G?i zvn$&5_(?_hO=m&(k#SS-N7PrwCbDOF-dUi5=3M6TmOzuIeAONoFlbM9OQ;QTyzqg&^w`AW=+YrF+naP(~U=q?(){3GvC zqB$py%e{26JVaauZMJX98|_&Vjr5j!3WUUD+>Z>+-+&AW9a&cPU5f`(1;6FNFDVny zG4*kW@6#HsEywK^*|)X-Dr?4Imw}Z7SuWpsr^r-l{t@mW{wv&L_N~FSADX3hr2@Z( zH^X341C(Mxbz3fx05Q^0mf`scOj5Nz z8zhY3vxHc=kXHBR%qk^AacZ$-RL^qV%G}Lhi5!$N-Trn6*4_gM2g0na00OZ#ei}7N z?b+DlO6qD%ej1d^Zp#zbakG7^t>@C|mRb3y=O59$J7TnqCsE~0V0yMD{uo9$JMY?QLnszJnFST|GX{&A6FOM7&llt~O^`81fQ{v2_YtwK0oD(b?>}2$gw|UbQZ3 z=LDWZ3&O|b0~HAm5xDJGP4qc&z0;+F#_8)-W^8@5sAJ+P6M zP+&~i*%R=zHPrna7OMuZIW%$t0xWi^PAeJ>&93FaV`H|oc)I`iXVNChjRu!itYaW= zaNYw!p@QKZezKz?XV5hnUje2^Zju6+22jA?klD+k$J+~s3f*!~+R#LLTSx>@^o?Lk z?<;JUU%!?^CLcw~wiM~T;qGn56P4-Yt=-(*T6ierTd`M=EOvJ&M-Y6d_#W#7SRRUM zA4j*ms!s3_&R0^dN1fQCmL|-=1Hh7j63gGQ4nYJf@0EEobTNKy%%AnVhHPLQuExrH zEIosZW)_b3L6X3#141^P79M|$&dzwmeT^o}9NKxSZfnkw*d`$ql=>fr~3(!MewrrE=yb!u9Kj&O#sSl6%Uzh2;?pf+BS2Pl*sus*g3Y zDT;DPp9`bNuX(1JJ9i+Ov^0+g4Pv`B$i?bdA zk2|Ptf85lJc=Z}U3jlw<2&}p%6pl`~`vOc>HIXg6^`p^f_X|LuKxTob6ZyYj=y9eA znfJL}JHR|}C>%m|Z<&Rk+TwF9X&DZ9D?KxZ1$9Ep4pN1a*>=S6 z9IVAa?H($q^-6MXfVe(>YYuFYSQ}lI3zD8}f2shhyfjgu1CpsawtjuF&+F`-$zJW^ z>gf*fP4O54y|b|M5Db-M3E4?n+@GHQG5cX$he5S;ML9WkLs{oA%g9?5(ch6oCJL2z z_K@QkddY?0R%AM|+S!GuLs)v_y$mz2aUGKb-|2rEix&z{KQ)~H0^(8sV@Nb9x7(O< z(kt$cqGN2I5&uU~weZp;b@cuRF6JWD)90(mD(-bzOsMltt`EM&7b3! zuv6>wljQE;M$Om(hl21{xD|bLV_D2a!@Z~g#HS?qX@6wAp1Y617$++XsE?f}ak&5>v4=aeLV)VcH0*8~Pv;ny0 z@a;b35+j$z1ni-+feSGp4-j%dT_qaM&1XU;E8BtNG{KUF`}ThJ|EO zhlwJ}uNESVKOO>BM@1r(Nw6teg{lKg93Im=YHA3nO>sPrg%6B!vhJQr6-@(1o+W^6 z*r&6OQw*o#m(iya?pb}m3|C~a1p57^$}iRQ&Df-CUW4gk&A)iT#`Pw;*47nMb6R<2 z_Pm=gdBtxyZ`Evmtf3~y1xm_tmM=BNcqZrNRAhXP8c8n~@#>mGyY*(YX)AM=-#NN3 z5@%oZ^!6bT><|#5-VEY($sN+>5h%8|d1*4uYhxag8Q))}MuA__ zM}|*;YPeeg%}&u5&AF$ov-xOh25#Lv2OH=oqY&0cS^8(S&fc?D8$cVg;YrIFYs!GI8!-Pbw-q9(DdYU_XA9{5tn2Bw{j(C+~f-_qA( zi<61UhM)xNe3j)t26LPfjxpuKM|=#ekn^Lnv#lA^=bfELbMW;$HqL`id6lt(%i*O! z%PpoLgl&;r0=vJK!_uGAdXC>LBYJMLeFZNJVKES;Ofera+aSFc%GS)Agly^2*NAcTd(_&ibQ^b*2< zfAr|`Uv<2%SnJfcxZ2$F3d|+Xp)*F7*-%WfO`?}(iI1Z-BoB+{&^GISF_rS5on?C= zraF_hZyU6za|5NG@c@z1cQTL(CHyuw@lLI%e1PRKy)AlD@&@uVaoZk96j}-A^L;b* z$L_TkB}-lA20Y&gK9#}zAF_*Le&}v^9tJ1kH`u?@S8bA>z|1Z*F4MUE`!RO=8Wdp8 z-YfXUpBSQ&aOtWgn<0kY5m+q5s$1~Vnt77TuDnHVb@j?_MOy_6rqkG~(3d;Mewh^? z7SjKMH0a2@BHNg5*B?6mqSe*w5~CtQLs(dBxm|wb4Aa{t^vroO^4koY;7sCJ4>kZK zk|xM_^dN80xy77NM|JXR&4$+p6VJ?{mZk04Q-fb$B44$yC92^)t{Nd8RBwySj*)nI zxOB!f4Unh21VBC*RuSFJS}mAuy|{UJ%eFd_cjVR`Jjx`a^=GPfiJ ziPa+ENK-xz{_2uqNRA=8QJIoR#nLHV{6-=y_W}idAx}g9vOX)19ntCR&s%8 zRn9~26nOi;H~`nTU5|AeZ%pTesvF(NMuyG4N%wJs-HI=)t5Q|v5tOvHPYgS{C!|aM zsVuM8aHU+G1j1>`CTuB7ftS|v(oHgOE1Tt=w=}(inl~$X&yQU&kH6be zhk>M~+g);(BC6DxC5uU=;it>J@gXuwQ|p?`hRCWWhWzkMeJhaHjxT`~w6)Bl^%%Q1 zo+=dk2HNPcHkU;K4IHQHzt5Q~oX{j~2XbYTo$^y?Vj(F`*>xNk9sG5v%d*l1M>s8; zG>t1s9U~WY3(^T(#EaL8D>4RT2VDYg;Id6cA3w~G=cpdl+jaJmmd@l$2eGm#c)|^G zdI`7H{vGGq3qZiO8T#_c1V%0gv@AG^+M=WYbR`JbL+2LJ1AM<~{plkI`ikCXS`(zV zujW^;^x)CU?7CzFY8e zn(k|ffRfzCOS9e#hs2ft6#><9e6l3_Jtzpk5YlzSctC4|&OPImlxg8#C^-A~@Jhb^ z1)FEp$7q(>{HR_3U#OTrE4gP5yTN1o=gekxWoI>z>1)i7vej~ka z=a7m2WWbn#Mr!UcL%SCpRcRaYS-LH5#{Wrv1CJ^ij9PGr)2_&J3}iwb{*X8 z{$i!+_lQ%xWV38e3De|PM=o+tj(B;#%ay(kw()WLyy2($lmswEKPUC)*_z11*ksLi z`>j!h!snCRNNBEqYBR^*DA&FVF5L#=J~J>qdI^`H>HSW~U~=dM2^$Z=D=X1&!qFC8 zvdey)kau;>bD|B^6kHZjGM?2NlT2X^o$xO(ZCOenrYEZ#d+&W%Aap{bYB+ran+~d5xq# z!L9^pF>A$pX~Ktud3dU$4ZNCMwKxYUl5Gy7JS{;e01F>V?WbRXsFPCMu?Wtq*JOzG zihIT>HdDnezohqb~ayKYuw)$GvW8t0H%urc#hagTO7gd52 zz}$@zqR#Fd3I6l94CuPER`8^?y=W5;`2hO<@cHj(4H8*>Vk5&!_dGxAMScr@CaL!s ztfU#bS@`b0tP-wF7~9lA)`C4*MJN6fxgHG_`E0l8im20h#b`HDqdfUj>>Q6*LO=ud z(v)>+9IzN5W6j@C8iu>U-2q(uH?>JXuw1T)tGDmGs{YBzR;>I*h0RRJx*M8jZY;Y zAGMRXuy;)5jbFvdJ_q!$I0?SRPUF6Z<8QCh$W4&K*4=xuT|mIC@irHyZ^_dRRb1D~ z9xqa_@Ve4z78)exC=16dy1H}0omI2&T10#iDf~1l@T+I8mdfIDSYY)RO`*pR(I)`l ztI#s|sv9Kl1aQ#tCW|BN8koZ27dtSE5g?G7R3h%Nkl5Qp|7H?@pL<@?;U*53g)J*` zT;)uJm!bQXmH)Htb*?-YA^*@v?(9{iyGw0{@rSnNw94?$FqkCsHj6St{<>(FHZ{v z&Col-L*WR5JT;?E4n2OR$9Kc;m+v04GVboE+QAdJZV2(p2tu{)ak$~-p{K*08x3M# z3ILa92>7ZM?Y0btRGy8t>cR;Tv4y)cHoDaW zl3XAgW-z?~v+kX?qHX0$e9t`|!M~!Zb0B@V6&Enm3HYX?pb%AA(dW`(Jx_2!#KfY9 zlF7b5S*gh`WQpr5p`d9@n8T_q?LxNwD3v@>N#X5J@uB$UfJ|OMqoIG#--Ar5UDET5u^8tpNPTc|dV2y8$frg58<$w)ER)i0`{ znnoQM0la%Rc|-)VuX$4O=i_$CH57Ih#NH!Zis&DQE57h-kuH)&dTBX+Qg$ZaJr>lm z604^{dJqUni_NkS>G3set7;RAbwjTwJ58e^Naj};rK9J}3)DTqW1BA4;pbU!hG@w*(^_zI7X+ z+Wg)bgy~WlEC>x1vVWVgFH5cmtK^C4SGPRRwh+8EZu-DJZ}BQU2EJ4X{bO+8Thu^n zv~QRIGW&B-@4|sjBskaXa0`~1qo`gGeSb85gaR2rH$ok5#s2XnVp*y9! zJ0v9?y1PrdyQRB9$)Th>1SF+Px@$;jh7^&O82ILS&wJ`SKj-i4Ywxx0b=Pg+Wv4X|FPBuaZMu zCTXxWQ#e&}zT!pup4}e-^;T?7yY%9g8K=rox>_r(=S7Sd7GQh(6v^0x{~=OZ<(p?y zhx6pD2Y;MBQiIX?jS&B0bW}>A0DnT$+o^2jIY(KauQvwhu~P_~oKH7VX?d92WVZo*DT*cC(vPzpZ zIzN?WkR0Y|^P46chIB}jHxs%O{sxlbYYM+~vEV3GjW+%enSy5rKD?3MDsd^S`r>tq z!0ai!JiQazHt&`fsrNcU8tH0ws_7ZT3LJH>Z;XV6Tlf7#xdD4+8E@rxFF0qt+5h*d z#g{mQ`||E!JLR&-1#oqY-PwXo3QT9E z{P83;cca^%ZK5&N@%jDs%+AR|^)3eMAVOJ-@O+vLefO|$8@EBx(QRL|W2|TY>e`oB zeW#&zQ~=}N@X<3UcK`q#UqOYZO=_> zbPM1Dly9cAMUA>Yo%~}Nbk$^8hwPK%{iG548bhaf))umR@z+w(ni&wu1JY*}k$+U) zcJ3pqTj{Eh0dXu^|1SP39WJ}C(LtcVuZb#d`cG-kkCH1n*Us*`xxcWzV(A}o)Z(}i zWPkj4;@MqNH7Nf+RKWkWX)82){3(k~>5NdJh@$G=?3+MY?}#FPJSkihpz4Lih`}o? zC>%`eZ6Ay6^09*P;7U$*a_4QVto5wYTmKz40UBjBe_nhY*<6EQOCmzXnJma3v7X50 zqk##$hObi&?1D3#!ZD{_p2ooxKGeA(TD{7Yv`KK>h$=2ptUFO~hUtc=(`yXA?8|u9 z-wuM<3*~Nxt+VGrxjumuwGiv_ohvdF$;yN>T~65z%)Ab*bWG1BjyJ{`Lss)YswaTY z=zDR`D&S<*AJW}cv^|9ebB3gylsN$U-)}kMd1?O_n;7@<;h$(g6^xU=w*oO5|A=<= z52=5?9ZkDmhvjF9uJptj4tY6hi}9}Q^8^msz{8q9`#6V~kv`t53=?Wmei7Mz_lF+& zww+M;p@Ax2mN>X->s5oCi=GAAF;cucLbk!)r^EqmCwDlJBl~iV(E9!-wRTT6v9a?m zI`}~K8uS{Oc_ix6c8Mu>)3gQO5g&e2lA|Or-Q^s4{dvQ6`~^lNKAzcY@vLtWXEYg% z>b8XT&}U(y*?36k_Fz4+6+IAH=!*1ty1TProg*L$c=^6%MFc;!Gctk-7D>`&)9>@- z$5b3#oVF55K31ChtD0J^dgslvU@7$Y;_~L5XVdxHUq5De`rl(paF<(u6Wpv`PL)9I zpZQF`QnKZvh2yWq3{y<~C2>7hhXYt6n(x}4dH=I;)h}5v9X(DVH_ILUDu`8}t(8^7>D_`9smi)+#rL2E2R*rOyp<}+dIL4w3v zhr@d#g%dJE*%%U=vuVa_p@}ZmHQ5FIeR-p&D}GstB!6@Co#G(M z2z-OvU>}BbA#?;-&_-+(bxyUH2hnydR)+(#?f(cF>dTW~s|uwjrXCm8{U44v*rN65 z-V>Vq;*Bivf7dKWEqT9y^i!)qSeYd(_8o5adi50VA3fH#DFeN8vkr=e;jbneR(-SZ z=V`8jqf;oXJ@y@bLyp-_Q*b8${@s`=wYLnI4&I zD3Z@|YFp_1JiW4WD?&lj_kQ{mimBmNGMADDB#Vf+O|Bhd2ByBd=r^i`W^SjbABt$F zQg6;{)_!L?`^XB*-uMeL(87KnEv0Iwty&eH?$SaUv$5WXoanMV4rzM+DkZ#r@!$8Z z2+f(<|GamV+8J6G^`Q2nNieHkc%T0nuk-Z#3F8$Rw7Dz-|Hrn)quj=S<^E}g)0sFF zU3DSY{@oZLEa70!?I6gY(Jax8vi4s6qr(|gdWmr(Tf>=3FGy~-pt(@`mhi!P0)Y(= z#Ri{+e9^-H>WPRGS-?V!{#rl9pO7M@$`h)MVP3|#I-0namX3!xAE9McQ~B-YJ6hNh z8CySn17%8ZIh;7?M*?A6bRklxB@YHh!CZ;aoobDq%qslSd*8Vv+EnUARy>Ipb`rcK zd<^_rl_`hOCC3ZXm^qBP-d{ZBNp&S~p5SZMCg0h~XxB+2pjP%sRjf@a3&!}4XJ+>ZGDFG~@3Ei#(Zp5*4SO1N-D=M>{OKxx%aG(}NgYk4 z(FZf#br~L|&e;ZwPznQtE_P@r+kJoQS0mL_q~KxNS5Y2su*u_Ye3!YrF8K6)tCFxw7`jJqIM7At&^tgsFKZbdB_&b1(VytFBI7X(yO8<^C z`WNfyw(kqLQbXK9Q+E25W4Z#wG2B&7yxaJqVE2E7T+2buMJO!6Wx=8qSjcCRG@;JR zPYu^Evfxl5lMA4Yu;}f};;O+S2W4J13VPG_0TczdTwJ1mKpK>>FW3Ag(0k_x7Vi=H zS3S)JS0jzmwmU+-$nob8Jd~m<$WYoT7@K8ju#<2x41M)<#Nb|*Alf9g6{w$Yy#yCi zL``9@f(fx}LZVtiSz{E~ZhDWT*&E%7rCPYe9rfH!7cq2UsE2s!;DTnAhZMaeQmH-c z=CrOv9u3g2BTQ*JQvOo2Bp+SJX~!UuhD`sM#ZH6fy{a))sqIMtV2Bt~Cc(p{n|q+= z|0WAw@1DOQsilyXND_D=-eO8Q#smz*rO1*rJ!^Vkn_fq|8Y?-n_5-Wl6$kmk`pRE7 zS$gjf0#keS3RA6>?CV}W@gZ;aE|uPp*@-)19+8Ru1R}h39M0R?n<$Uhx5CaEil~6e z(@#ZXWnEQkX#dYrM);F9jH2$vCFPnc1jO`&@0Z)96#EqrIgE*N^}=4k@X-U+;x|&O zYI$hjvXe96y91!!%{%w2Acc$SH~H-V%Rh2wmb`l#kI9=|LMny}nDE4vq&kN@Y|jTG zH*06q)ic37=6=ufG0Z(L55MI3)|v}KjNKY*x>OQ#qM2UdJK#dXLi@`yfIFIqNw71?p;93vp(vx*0853(ow*%yZKf=p<}P7!=B@$ z;v(+995X>EPnf_my7Xge*MG$y@#T}<$PH-hbJ{!Qh*a?2g8#bt-xkx4KX)9yCMfP7 z(S8*SaU`{!l?T{L^2c4fg8%K=J3%gH7l`$K&pXfz>&0HPRE8S+zw+j*pqApuz>2Z= zKNSdeeSNDaq6-!7s3h3-`)moqTZ%-Aw|nprd1rJ4y$0N$K`|_I^|tUgxsgeKxYH4` zfu~KYZue6!fL%W~QU<1mSe4^C_^a|>(v}H_2G%lxPK_BGI-lML+P#_PRo`@VdO?qV z<34A!KYmRjdl2t-5Ypj8*@|m0-tGTl@_p)i{;iD%(P=Lw)((=st^vLn5k_UHB~u}V zadGOf8hLc7C^l=8H33{Oo$;Wcxj@xqgVM}RhHR9_BTEb}3vY@(D{gM%Gq(w7+vJ;K zDt!KJ3=@=&%pH88g}dGpNCiMhUHHw`c*sK<-BL1lTQ;9HcuMH8C?3c zMA7h$74rA6oG3m^|07Bq9<=K*t+pteXyFpp^e{8q`V6CkonsALS}`^oDQL}zmQw6U*L|JPS>PwanjWqr$c*T!aC8(chLx# zS1)K8u05}F1IzC6nys< zE9Qj(^^F-BER^E3-0IL14*@`H$zK#oDSx;Yyi~wM<<9#{)Lp1YFz|dy&N(#DVcAeRa|%gcQ$eIHYWvUhYB(tNM*7JLl^c1f7l-SOGUN z6z*VCb3e0kz>hn;jC7i)=<>HbG(LO6(+i}0{#`7RahFVnJj}65dAWKORp2wMn5X81 za<-g%wam5HrEx-4zJ|JC9T`Q(%ktBv;CpY6tGkN^>sgdK2swZ@41> zc^jUgbV`BLmqnw$$+3^Y#hMmZhR!-Sb(FD>O~O0K(g<>a78aq()#)~d$Z%y+~d1xylGuDZ&`m(rY?}e&Sxxdw2ph4%xlBoTI z+~E@?d0+XzuV=L<|Lc18C=2UA6nt(5J~kld(EIp~yiqw!5_Vuj-TTZP^Zp;9{Tkj@ z+2bk|EH;w9@k9T=at_#5%<{~rb$aDwoP3&%`zzZY8xC3h0O$*ibFV>aaNJU)CUa;2y z&U|TlEbA(AG;^6Z#}!={l8^T=)rTJWVHI?Ynqw?Au`cPO)x|z9;WG?E@)|4yYp^DN zQjIdCL+`{Gy|(1<0yK^?fa)qB80_jOV&Sb|zW!WJ}XSrI2?m53-&1zXl=f;^*Ggv2jfx{G+$t40GAxc9&d?71m`owf<7vi(L zHG$KlJZnn9_!Y-qWbKkxj|SO()tblV<{t-dt55~^=IZvvzo|`!oW1cXkAo;W0DZ8Q z3-bTe>$?cK+3VjmPP=l$iaUK61_0n3L}Vv zbcbTh?pPTM&eMcCNoBJ-c(7>F_$L2YvfbZZeB+KF^Ay8%1o>D(q)Qn*04bqn`s=Iz zZf@s&%J%^KA2ZSd-U-drkLP`N9~`PJ>^-MPCrlbAn4xUw(kL6J!QKeL4O)ub)R>LK zk7g=3C?>fsf z3w9n=VLH}{y<-FGVEKDgi-OiK`ySG_-`M+rT9o=S-2$b&TiggLot@+P z?>}@zPzYZv1kH`TTWSmX^80IW$Q9sSjdum^3osN4G)vKv|MjCimyui~maR#&PkBmy zAM+V;LJE|iiQDP;RKjENw>re4R^h=VoNryD7q4R^GkfNDmL3VPcd)T5)9yfm8Q#2n z$o@rVy)&Kq*Ws;*&WObKn^1Plv13YC*I64{+0Kb<&D^5*u9QMw7)Uq9=2ghR+CulY zqrawm`?s?Vc+74wR+>7-#8`QLi6kxj7lo;Zw{-}kFg>vUtruf`bMRLyne0c$2sX7S z0u9j*%`?Y!5iu*gt&+6I8C!QJEv)~n1}5_LLf)C8BSm%Hg|^Ds%cSJ~nq+2q2EJUp z{&;<~>-&h9bHCp8GWmM_dd~g&co8+;czBzYwR43FAX5)buMCk)nps1mB+S7(#=`1) z?7zCA+&W01I2OWAuoD5Vpddm)j}+0@Tu2FjTk!y9v6|}&HpCL@3_e9wh2FMi0LCuN zvBp4R$xx&`tt7HnX&8)(>k2^n?k0CJ~W?K689 z&cFXbPMTY{wtE){lDx0`Z$TJp?We+Zsp*%6d&_ChnMZzKg&)p?1&Ac1G;QE_Vn$6tFPViA)S|YBlK{ zy1b7q`iQw?MW^_Bz$b9(g;ddg=Y-c#qVpT=787L$WM+|f!V%~N4A!a3S0ZO6LWJjp z#Mfen;uhp?s+iuYyM!-ocQns%oLLmk2&QnJmcA4G>bno@h=6t}K>ry$AS|(vvRgfQCw720;xNrNBX!}%!Z@E!%HQI9X0QgnxKpglecJtyxbU>ItXE}t?JTv9! zVo}7^2tQgzI^;c3y2PC_%N6Y;`kicM(vhlBD&M? zG2-sR!KE4I#GwY{rhY_V{NB)HQewWRATmz)R*Qnhg!YT~!-JnRooQdyG=qZ7^)WF# zZFOH10GvC2R@nmT9jH5igFrnY+MCPNMeR95nN#<^eVA$bSe!HCPZt%=)t|b5lbZ`C zL|2a2G$4MjTj{#A3N}k`)5CE9Y1%!*=-{pAyTf&B){xAX?jnOr@VK;%l~Tb}=wG~! zdb#)dMejSr%Xu0;*(0UD9Sjsq-LGrtF)XJf$x+zDXE&u=9V*qsXn@Lq>{8OwV}@|UW0Ozx;NYY&Re{NA`U*3XW0mm7 zL9(CiHP#l>Y|}F}$;IbN1_{U=dRx@9y9b9qaR1ik;uJnurdjc+(Oi;2yZR-Mck5zH zJt>b`J&4^((LI2H&?8Vvu(rhgqlWhdBF>L}fP19>SzqPrDk>>*xK~FYe)3^VSt$i% z#m3P~rsYA2POSl1Cus5u7m#tA;uD09N(co&cg0q!nS&!8*NEu)(5>{zZU}iJ>Ft82 z_kzclNo_cWnrKZ|)>Iq%YFysZZOQEoFht1{KG}qoFk%LVse{Njk7Bi|m)Kwi4a)mT z?r~~q>!!RVs8l8KZr&8=9ej(?q23zHT}P256CV4di)hwavg$S}8|tIOGj$`M6YqtY z5kv5q(qEtBGlhEQO*$f{o}&|PS3HmR3=}1Aq;WBg_-b=?oEGuxZscNpKdh{Fdiy%K za>Ykp1u!`i)|l_HLghxXi;Mjy2lW!&YqmlY?amW*S7C`du=~e{wNZnSvTO+tk7M|Y zhXZcJ-8AJbW>o#K1mO0WQ@w_5HnVt(3HoU||C0npc*c@MaLySuE{}=fgMtO^2OdSw z6T&GhCVx6Y^7vkZ6bRZcy>?y%ZauK6REbs?oD5JXc+aJ?aOb)|1WH41Q_~Rg=@)2v zny%Vk0cjXGejT4WZwWtu_%pVWB}0_B3R=G$!Kf@4`!=F)x-i-HIE& zFT4s};J#}1Vrl#a>W^Bh3nCvU1CvvY(Uyf_N3>zU$8v_%;As<-{H&JgYqlXc4#jN< zLb%QKjLUM2N1j6S3=7a#u)d5+5cqg$wBI~e)D{siwP!FYM{eh=&41oG#O%*#?m9W+ zGhU}A%aB`_?GL`HtQYQ3dQR~dTIx!2g-PBFQ;K;IN%)hGmj;_H#jS9_j&TN|md`W< z)q;}}^4CT^Y7?HuIB1rkZjo=68p;{No}(PnQz_<&;wPL;zJFFBT5oVApXVqTCNUfL z<)rFX$S8bR`20!_Vb!Pzdf09g5DvcTN3u6Kj|IVId=UVT^?E_7I9gUvc!m>iFa|))%W{-1SJlxjI1lu_7}*Y9+U*l`}R;; zIUAE2*pMZ5hlUi|?^3iq@eK7R8~mB^L|3AK^z{CDtnGWTDd5&!DKxlR;4ZXe>Qyq7 zfYc!Z9#J5V^b&VUX@&UTQ1NP}_FK-SAV7FKBN{SBGXJ2~jar*IGlhJ;a;hgdokmX; zw^}t)&Q2oU*U;ID-drY&W0Y-=8bMu{c}K}QbT@{@%=0fZ>bUR-RS9`2G>#Y zyI&FYDD$qlFW)tW>c&478wJr+G#0L(ABEOZC!ILA8=#hYEJ^X^LI2cGRqN%sR3&+9 zrq}pKs$w~_Q#-X+JLpRd_{>+?ryN>SAteFwakH?r&$>)&Al~f}8 zbuwc`BPahSZxIZ+xoT;@_icAIuza?~O<^RFKcoOp9i%XgE+K_D7KGj%jc0%?HM{G` z{o@2XA|5;{!6|&vvje2U){OVQR_sb-WgAtTt)VzhLZa$vt}}IsF6tLO!=9!Xs*)RT zU3B&I>}EG<%R`%c6*0{)tDx9&RrzFO9yY1{F1y+_@8 z;Dy=D6`@!I-wRR$ng45M+Gg?Md}>(hG)Oi65NF6%_u~L^Tyei?ibju&wJ3 zz71SmZ{9nEGA}fh5^)1S7sec20h_59tiidSr8Zl@6Tsyl25pRA( zTgodcAJ3bf$PdFvg>q`IrNkE7?A5n$UgM4(GP;qc&qf};Qk6}_jd=FkCB^>mx-vXc zfHrl>_5x`soZlI?}GW&82s%9R_*bh6gRD+}w&FZy;T0Dm7#z8*5mcPJO#5IHjo+twS zaFX3lnaSv%L$)BVuaMNjq>h$de8HH~H$8d@Xb&zMkr2{dktd19EPK*e*ea_5<&_5` z5TsqO^iqZm5r6YHKkvDNL>{Zd0^WU1kD%mMdcll*py#s8k(Prak{P8;GLb(~(%NUv zk=>#6VY#Ekc7RSJzFDj7PDim`HoIC^RcZTWKGlP%xwUd()ohig8|*~ys~2Xm#o--Y zp$4P+^$%9Ye!qZUgtP}-KG~%QewV3qv0!(u#GXLKK~XW^n0!LPebE73&i>(FJq+5; z-P^<=NUQ1+Gdu!G22u^2Ny}2ma)Hu~^KcujXH|iSlxdI(6}rX zT-}UzBRxKfh%YCvSJo+;`L{PE*w&(|-;z@vI1VL8bny$Soi}_eMowQnTE)@ z%MQ6YexPeK!bJ(`sA{A$LLvzTfce85$LDHvU|Lki@wP_RB7F0Po-=lRQR;qevWt4( zM^jfhoXaMhvN^Zw7s7`Q?h(PRgT>Cu>l>Z6gZ+&DAq2Wv4Aot~>3UC860ENKb()I& zII=Kz+RM@Oxq9)UdYgu=BQf>T%tG0^7k}j<4Iw<{$i08;zs-8x=Wed2`t+_10_+D} z*VtrBbWAm^0L#8J<0--gsj_-=rx5tbvKFxM_jzq;gfEV3E{O_*B-876Rj^SB3Ay_?0R3&Ga*VB zS}dHgoI~p)dx5SDDx4c%`s*9lQrb0*QLc6IWFK&a%@y!sF_b6MC2+K5s#~Q;BnV?C zyliB$-Og)^B#o&rkoG8KVY7Sih{cnHzvo^}!L;?eE*DvXoRv;v{#ZJb{|70B;%$v! zhPzsWgCHq<`lzsKJ>9h1#;w!Hoty~w&)YEZcDd;0$~8(rzPc2l-gQzs9<&~-Ded0O zcHC9|+ijA-18Amgu9cDe-!SrvPV|B948Z=uEe{T0f1*RQ8w0k-inLzL`{u{suykS6 zDflnw2xC$yokzXNA}V5Cngp0&eNpci!Oz&VAW@jc6rhutU-N|^qT>q3L;xF-IyuUE z0mKRpM`!L?(Kq?!R63`U<8gYFp!$q*!nGU;cP!>(f3>M>JTin!6XzYm62g7{fvH^B zU#lm|fCY%fxULb$-bB|BwCBnnq$+Z!+ul*FA{8kC7@N_nxhUvW4Mx?uih;w0jcL@-(HCz&#SXhDT<(Up~>i$DK1Ayw-NnaBGxav7~%#u{6fYRo3S5AFs<-I>spXQwtx@mAjL;K5B z!z&jZ{NX;?6m#C0`bAzj&^yg)Sg9m*VI@vf_yWit-97mB!M=IKDGoLDBq=R#r{#HN zs@)Qc4h*W~!IJ^TIlH44-|@sw{Vd0-;qE!H@wfLMcHw_lJc3|{s)~r(*ssE-(K3TD zc1^ga2Qj2*sPVIszpXGFN25865Z@ECinhRA?LZ(I3dC8OichMni4h-z*IbK0keSJ{ zT#$W6i)-m0)bj9rK*>}{T(?mE%4BkrW+tD5Yob#i9D|Sl1{8s)=Z#LgOaG4f&WuhP z)88jz^%J5z?ho0HakQu$xNFkScM7Oj3LaG$Rb1&iDufokx&SQx{q6=CwvY936*rJD zNwrCsbTQP7*vGrlY&75%c-!N}m-!*o|-lQ|!ZKbt_R5&##{$X-W zoq>s_rfvjAFtMhMiG0&xz1Zn~6Kw;&32G&oJ+{-?8F@-#iaH0F>l!sLm4barynv{p zv;0`}hx^Bxvxb+$i-{;Jk*Wc72ZwQKQg6jM)bjOYu7TR1toi*mlk+92ZnVS`UodDO#(vzUl_hC7m4f3DJF>i23`K*2p&Z+}DFLW(ToPj! z3Kf{QOQuMI8FWBYbe>T{+I!&$26cWysD^N|H6we<5j*dEbySFme%P(dWk||aiN?g8 z`!_z@lJq@pI;v+=czZfqn`6saqFlbO(Nx3MCW?x`tf#P0aqHQoCSL6Hu=?-5_h-Iv z5p~*IMOT(~5a&hLKG)r=Z+Mc!Io*nkU$;@g%t+tqH7h=2&HPOetaz5^Z?JXpd=v_8 z;r(7-ZnR{+9Wn0#m{ro=ihs_lG2_IvdHGYs67sc)6pvt2ZgMMj-Kz+fV((rlT*8AaW&=qkJu6uz6FiLYdwFNvkN!~G1}{%%cvk)tp{#|N=rHp`tKT#Yb&zuQ z+OU{8D&2uePt{Ajai##nkbSPQ_fp{xZP1Kv*AmKrHUsg)F_%bqpo_<5|O&y1{;q@!6-gj$Eu+ zjT#=gCRr5fs%_q?A}&#DvJ$>+A|f0(`b-x>jKZcqvj{{U3E{yn#47pKCf$Fc)jA1j z+=erqau4+tox@T}=olAdow_lxysuDL$x?8+?mm=M3q4t;-ail`T86_f3bs}mISaqH zYN3+?4XbmS4vlHYBG?}DL;Ag!q)vVAeu%aZf+l|!pa2CGf1jvr{dF`qelYlGF8`nR+d$^E__j|?Q!-lxk%A|97K4eACr@XRjNw;>=tWKcal83xc@3Q$x9CN zfR@`IJifEeJ)BKZYn6nJEpjoG)wXm^46;Z(*lu0BHT|UiaW;q|>=c@KO6uH(5}?S) zdMhI{kzYrzf3Qv8AXlG5$s#XY8B9DA0{fC(A?ke2-MeM!C2EDgiqa%NExK()mevAs zSfT=0%(B+4ArXI`J<7=zMOlJk_4iemt}^&dA4JNEL*;}PW%*SG=RM?v>jmvpb|s`c zo3)k45>yw;#lGUJ@8n);RFor1{bfBK-Mj5xr)82N$LC1xN@sJwdX8A-9;Sc;5++v{ z?~ifX(B5WcRu*ca; z9M)sd&^4e=8EUTib1xI1zOtWKfGb#b7+(4az7QDJS{kB0sK{0i5&(9jq8<%!`wAs_ z8siXP69iO(EQR_Rv=fj@QWq?o`%>NgYA7%GshGxl1ZPWssm&t9Oq+GtmQc2Fr?C3| z;$#E}znf0`bNtzcW~9I&hkaQk7ou4ov;h0;wdQ^hF`i5|cK!xshN*pUBH?I8+(GET zg%zn;5)$K19;tc_kLq85F%Tn7jLt1}!$I+zs;1gMJ-x687z&+yuGs31H6#2e?8>`$ z#NbtCMc|!Z)Sb(VQ|2heb`?3b%CbT8Kr~U6GczYsB{P(^F%b@W@<$`wlFlsDF{9!b zpZM(8pl-Fe0#Wk4P9qP);DNk;%|}tnjh_fZVfRc7D{lV|Cpnjs`pv|BP>L-*fddhO zbu6t}r=a2_jHT0cqkAA}`%|g=7>f45Ar+zzKw?7BrPRizj}%1C-zNy?sgLHf8#YFH z=V`-?>B(B=6BU-$vGkin8jy6A&zARsBPN-{T#FipyOFC2ANcsDhWOY~ZEQU^?oXMQ zp>>0zTEZ|u|Fc?>5-T3RQ%t72vQhMBzFo-`F_VUHHlkHyGw?63ZJH11LGqUZD<31# z1aY2W-!Y#Zv{$k7i8&kfwStJlk$UcuDjw465VJFc8a<^^`yNDJNu&NyzwU+- zS)e``SWZtc>*Fx_Nx*Y%F_nARqDN!&1ZjAn{UKIT6H7y!H+9t1i4S2GuPEP{iDt`3 zlPJn?ovPt)6qc__dYD%8WC^iPDL8>w6x3H}ocTD#H~i@6G76!dOh<}n9k10z6q`1Z z6d=fED8g0dkd@c@X0Cv0HsqMSy;MLS?u}h$t=nvt=t3{Qfco4240?U&+yY}x!)q4i zV>dXm$N2!BO1eAg8+VvtJ^~dvRsyz_S}vm#7OFI=lKI2{*7y10!d)(@)u>3#QN z3%;Cah_aoQd3q`q>RpWc6;0^D0F=((RAj~L>~@OKQeu%L|+V4F->GS6+oiS;`ic-`9xtG9WCiB9mb!~ zhdyW@pda`WYxXkw`e)J%y2pKR4EnfzTkk-nu%Gruj39MihN&?RhwZl;0GB(Necy`Z zNKfq!b?kJ?2M%KFdg*l!UH6LcG_DVN955Naf z*CtdVvj`dUW%zhP72SyFKr;F6@-LJ1aOGB)p4`eN-F;GP9>jg4lnplpwwNUb8JIqV z*x>p2-lchRoNK$3x+MKbTP~-M`X0(hwOb98BH$Nl>+QvVp_Pabg%u&v`3qwOIlYMT zxGKY@4LoOYE7g!;pZWXqrcBLWr26XCJ50L8xuS^*xWd-wq=2wYH5)uvgHOwEhbx3F zE)^E4wp+bjM6hyi$zV@hboKKIKcXtmhP9JQL3PR&LCG~bt~OC)%Vm8tE zeN2MZet?b~@M)#dqo3Bo^x^HI`tX-XSrv&wNjfayd`}yLL>YRVPouEzDSb`}XsUJKIH{K!_Zx@#e$% zbZbub!0bXHv9oon!!rRD-iW&U;qc<8P==rUn?JpMGg@oXD~~0uvUInyIvo?7tmzE( zQ&^E8ohJeRVzWZdpvfG+1e`%Wfo)rTU*oC9by06h#w^2alJRI$3zc+U8O=0dRkP#a z7=GpWWxN;E&0gHe!f3OB;_gt0+3SbP8+II}-mC8B--{FusdxY*B3O%tzp1VOGF4$t zyh#S=zOx%9sL~#Z zu8vxrh=wLy9uM?Cm6$br#LJ)49_7`BYOEC2k|!YYsa*TQ$Ta2Fo$g@&o+}+ke7$;0dil`FhvX%RGB$<%ZMVW^?Zhl~eeo&>wB2PlgJ#&Zn%(j&Y_ zraPjnR-!fmBVd+>WRY{w*k8u_bM%$M#|#A@tJHfpxjyM>(C6O+$@N)z?X~>aFc%vr zO5bCOiM)JwT(UmY@ne8*VRZPqwCq~yeEFnx$%x1$}RMt+q&a+n+pBwih zgP6k(h9`uY;T1Q`Gb$QGiHuF>?-|=}J?Pam*(~(-U1$~^V8O29ndQV%nDcLV&(u)H z&ySu^Vb%JpQ%TOPGHGoO3x~+7yG9d7#|1Oi2htQa4T0nmQ*}T;e4`j18dZjC(53Lw zto@P_&Lb44Yop=I7uA@izfynFREl&PK z!LWWJOsh+M{TJqKB{B2-$b2okaADV*q|-L%1Q#{~Fj!fgviK+i>9lidup2lQ3bQL$ zR7Vo8Jk`gL&H)a_GK6q&T#Rfxw+xDwpI=>t?S(?Y$BX}gnacJ46Ejspi(_Fl)6wH( zZzNmkd4TB1YNu^)oQRbtc|yReaDj#igNnx8@o17Yhg*Uree7uu3wP1MQ40(7_$)B^ zU=I~=1RVtsH|&lqni-_`9C)iBqBoF{zLr3^4v33QZEw_XubXz*bjxk=;<~Ih6B77I z;QF&ZAjNv}nO_qBb(;F_8Sgb|N3)cD@C%6};~?`Sk;j%2U({0lHM*kPnHx2tT<5)rBZ8uvcHO<^l)eJY1tT1$ zQ^Fr4$B5Bt@J%Z?7{10me+$VcCV&c`KEJ%9h+q=WDQYV~bJ%NQ#?h^I0bSoou6-Na!0=y!YNf*;D=F)rdaA#>6O@tK&MmeA<4Ay8e?k!K>Ch{u*}@>KiW7Sb))H*MkJe1%`5cBN^wUGfcRbS(19To#K!Sloqi`ge@`1vv6(a)=Lp1)-u$_ zf#5D!hQ)9EjbHI-H#1v^@oD1C%!Dx2hN(j%uqsN>-TB}3rP+5cE`HU z2Fk)!;?_&Vp-$ok;~ydMT8($QW?R04{!y9}h?xj@4Qxs&eFb>zep-RMZVRMgFT-%* zp|8ZRe{o>%Q{STvF33?T1Av;$t3bivIgG)D5f9-;fsft{CeUISSu*Xsxm8MA^l20u zt^LDU=!1lZ1uJ%LqNeXdDpz0$W?%pYB*c0VDC=%^9AIa9UnQ2nDHQ%Gf@dEzpLtA6 zl&N&r?|5165CEh5!%h$H?452?^v2VFsEagBI{Lb&@1tC>D-8(rHB=Mub|jP-{MoL) z=e~Y{5zq3QSR;S_!bE+x3mnOwkaXB!ss;aASThRwX&HGAdB$?Lh7?lAgIbvU}5iL{Xv7T{=G$^A{1dUnT_z5xtNA zfB>8pYswA<&r_ut`B~CaMamLtP*l+6p$^CAD-4>R+9d;w`p6{lWfz8Tofab@b(K5;Q5poC|}fW#%})hD7E=$YHYs2=@|h-GYxk9L_lV(Pk@*2c69rA+6_m| zFA-m-#!Vc^TbP`n%8|jss`-`_o8IxdnLIV8$!qeJRTC+Sx0&WO9P&y!OLEyMmBe#& zrXP@-G>8!GC+s)soq;PiX3_pt_cEKXfaV7yFQ*xo=nPRV|DeyEqyWEt1YG}Mo1t9M zBf5z&LO0-^aQia=-|Q`X?nEHx#)yHEC*5}n8S9f%nGK0-8$8%Jo zB0fNY57;jV_OrWQv7N*YaLB1|gD*lv_2~a9P|#F&>FjxtdECPJ>kzZwJ@sESkm%SG ziY)U(l0rrNrL^Y`eWN>|?3DB%4GjC(jVe2$5xv=yC zaucdHUB@9cUGCOAIagSAq)Hi0vwCOL8>uEO0Y09^x#^*9dDfSQx+xfrJ_x~UV=S^?wd{41Z{sn0f|=m0uTc6B$MCtHTdOn<)V5*@dPd>kEs$_zih3q6X7 z&s*aNsVkL3sIf>|_hV;Xv7c&E!}~UI=>Lzl%D*{m96pI4Rq;$y)Z+0SfGF8x=eJnf zT41)_5byHx&&HoB!T;EIITV)j`zixoW#h8CU*`^OCW2Anl)$0p7a;@2RQ6osWcJ3V zdADCe(JyXwi7h>e%uJxtu0jWq1j1Pl`X^p*h4nf{ReRw-zj#nf=smHfhI_IP36fPD z?>0^pHhtEpgi9&c3N|eex9J3ZU#XzG(C7M#?TcYZIqUIu%q8t@M{?MS_}T;?C&YGK z1j1s7y`+dn33JH+*y_W2P99$>l2ioq}(B7nZ+ z_>Qu4phP+F$K&$weT&FM5JsuT;wZ)j? zuG{eBseM_iU~V`Gi%1s#ytR3YM<-wB9&(O4hz_0*X}Nh0{|_~xfSTOR6H!_!$efj~ zq46EQY zTB3ZK9JIdNY0+Ws>&h5x^%(F~sid_JSgjEEzEX+Sy)d&3jP9q>(=ZkCJ#|3f$iD-b zDE+7?PLF&Sn5LA2-`Pw-E)7PhLn+{Us)$EB9}0}aPGU@q<%IxhhjLz+~i^JF0vM}dh7iSo==Sk}SUr}Hx!=N~HOL!EvD`u|w+?QFm12`muwR*U;5 zxjY`HH2}u{oaG#y;O{II&V6kZ8fT0CdRb`395w_xk(a#o{mg7HY514(@(&X6!Mal8 zXJkM=3hrY14{73b1=l|wRH!3wQemBArlA{HNaUzY)@tNl&PM3Z3n& zHp^EXBFcwx8N$tHQ)f!yIy47^WK=Wm?7<>-7iTe9V)r#&dq+fniwlkBwEx7`?G^cP83XWEDWRw~(M zka6a$BSJ-l=*a-VcEu6FZXL($!)x4Zt%6Sz39m3I_$-3t1Ued?!iJNIi~F5uzHF?q zs%i5uxbb}@Z8QFrfu`6S%Ud!FJZR!?OO5|W)myf;8E)&M!QHL6ySo##xVsdW;uQCw zE$(hX3&o`r*8;^|in~K`mz>PG_CDvV5BUS{bv+s5)=~9g@EqY6c3#HSttS@tt9qfn zkM5YLfu~ZJ8XmgTn%Toskq%39`h!`O>we}aF9wt_4KAp3g(rZ2V<}`J7?S`T6!E2CW{M?J~p_|c?BC>DmbJXi?eF%Z7cRMXX~m~mYv4v`IpFa)WS7+f+sm9 zCKmRd9i1?KHx6mH7sqqU$lPQ^)(~zB>RfaEsq1<60f7h}KE9j5dy`mUH*52VYEk=J@Ef$fOI_BC z-c8kVOsY<~7A?N2kB9QGm0_`Dhbg)jY_IzmSFBV`=uUv)=409B*-;a_QsijHGIrcL zpFcPA_*Zs0IGw)Q-zmZq(ljV!*%7Wlm+h(G>le^{RnJ?j+1vRPr-~~isqGjLLZtt| z>GA{%nh7uv2ulk+K0{LMHyUUt#PFm5gbI>vUtwt}C?=F$!F2&u7c|1qr1x$gS;+Y| zyCjWEt+x9H@Sc$Jj0vfvlTZB-{m%EedF2-h-cMm2ln1DdHF}#@{YZzA?%~AwB{?1# z99|^1HzMQ-;;U{s+h>jAZ%#Qlz9i6Cq2<+bK6#sSp^ajI+U#{j3BURYo0=}4(9_<+ zA9LVoFW3?vsn#x>!V4$-S8KWzk^h5e7bs`!!^u^U{|7P?k*z&`)Tj{QWw2JXWymFh zxn*cy%$`^JywI<4pnlF*)Lq{*LfZe3sothH0C}#ODW8inQgD*OrfaCFIYFIz z>x2|vc-E(T>Mf5IUlfjh?$}7+{#6T8b&UU1Ogx-})Ckeppd09Qy;n^K#aN_j##1l7 z>u=QmWFmbCx z`e;G@tZYa0@e3rl6gDm%WjSO88pI14+bF3Bk`Elj7}Fc_Y`&EO{azM2Gk}ehGzGRq z`29X6qg+2K;TasjO_2$;W|HVI3CS*T%$PXF?8k~d;TW_+Q7~Y<5xtne( z*L}6mi81<83IMB~o0}eTd`6BghuMnDBn|8SL!eM^s-)aZwb!Gnp-L80ZJb~A>9&4h`q!v~-S^D^fk zT2*ax*cl|5w!;+T>*oLy&Y355a=X^3id2ZYG^z1Bq8VC8?^-5ne&~IK!e|J)a}C8T zi=X?W;{PX3kw~F;fk!Dp&@6&wrzY3Ee=A&K!PG|HX4%S^b(5nUeAV-cTGd!&Pj&xLanW zDPCcb;l0S}MlxT3s09zX{Wzitk_*sUCQ|S^)&9i`Nb1qHBj?>bu$dv#0EEn{N-?PH zPr?Ag{M)#e_L$4{t`CpTP#HMAw(XvTWe3DCB?m@nb)UJXf6pDx*S+>Nw=^5^tEFjm zpcq`HpYZ9k^kanxGZZG`H0V6_rkB9c6<)!A%#=EG=_9j#$)0vH&c2isb`TX+$j^nF9@egO?Ke1d#@ zqzcmr8X9|)Lg_RE(oQN%I<&X251RHQyB}}eY_d4G>u?L-8euhNf9~mr(Gm5l+YeOLO_=H4W>39d^}626=ss&LUnUH68|~sSm*IY!1Y_FNo$F z?z#*`R@-eG-Gu7Pi@pMFKFXde|4C1ow<<(@gJY;ChZZg<+nF;|5K_?nCQ>H!9eLq& zF)k$A1mx`o{8-I+?aw>@#M8rkVYXO^Ol5n}B@y&rcoixGb?Z`c1-v~iGOl$=RR*Wz0y+dAsH=a){kiC@LjeCiH) z^?M6CPgZ)1l_S^fiv$#LOoCTEk3z-Qezh2fl*(oW0?;L0by`F0LScDvS2v&4DOF$` z>cFpk;I}=jBPYq6#H>NwA@d8V!EhWFRn;>ehZ3dj(lZvU!VN(- z8clj>dabP4)gPf~xye_IzWnK^EEn?D7os=1SEdb1^?6<+;HrhRPtP{W)g{s>G7(x( z*WlsO%dT!c{m@Rk8L@h;4VtG!(VE;1eG~PBrgyO^0K3i&#+J)HkM5Fm0s5R`wEy@= zWd>a?zEI}DBx$pRn>w!sZ&EA^!BIVhny5no)sw7I@a!zKAF8FMaIU$Nzd#S7x6u>F zNVI`*HIE5qha$i zru0zh*7s_7==pSy10!4GN+)kT+=ine7G8Alx8gZXPWA3MI~>gpjgzfQy4SGD%QO&* z-NY@vA}K%aJr?<@_+|7O#kaA46^dcvh-`;#i!E|OV2PorPq$Qwj&X0f{6m?YG^q6#BoHmGU~8< zXLH7H0MDg3bInx7F->st{5G4c6CuIFN>iA0uklyjMbPL<(+)9$2VYnXm*2(VkA0@q zg3&gdm9}TFvzb3cU%0iP062Xbh)yeZvy?<0eQ6QmA}XD#wB?&+Hl1#NOv zHC)^NC!hs&*3BOcb4)`cxmi>48QdP5VsL=9?_(oajy*iN55Pv>>#UvsWK_8tY{d5G zp@v67I_>NAg%?Ia)IEQqwqj&_kc#(R=F2eGzcTWKel%<@06ZW#$Wao7q{F$1aVzC7 z;^#M%i@U!6+KIw0Q|30}-4ME_(A2RJslT|VC*^H|-%8S!Id43rm~Jaq6fIcyBO|K_ z>!hmLuRk0M>Dq3;qMAhQr1wYbD}(=poNTH#qn4m1ZR^6`(@FiFDOxH0!;BPGd^S7f zY#xG}mu9n$ETkygcOwWqeb4+4@j8WT+VeaJZn{MW1hN1m<>6|{!f|E>`Nk?uF*R1*jMUDPCw9j&`D10&=3~h)6fhIdrZD5b#|pUtLbO4#>Llh z69W{96CouBo^J9p;X@o%?zyf1Nlz{6KFgo~I{Dvvlb1`?x0?P`i5cI?rI$dP87Okng;Kz;|d)|Z=< zF|}fPy|}EV%^T8^NSxgF4+x+}5MK+GH4L&Ql2Qb`gfbN?a;T}jJHp2h_awS~6FP`Z zgs&X*?20f1PCS{}R3g{4_O&*^-Tcf8kEeRHZeO5IIb9V~!^cnO%25{mG8ZyJ)C$?x z#YBAl&G{}SUK6P8&V(}AII11#@oe^m5J9<0{K2xxV$+Ab4Kt0{WD+h7S+ZNoJGcs0 z1dz0eNA_beo}p5~PlP7K(vI_IWjvPQ5aK*@$v(ooYDN1V=H6`Cek=@EPi)SqKWb)& zsjiBF-!yLL?|IA7tEoJ?L)OJ-L{S`}bcJ1p?CziWzPXYMh96@*lY-ik&^cXCGaWhU z(7x%YE!!dM{{JCWsvkt;OXfe(X$8`C=nmF1eQ*UTRYxMqm1&7O3(*`(+^?Q_vgo6g zG*SyO6(yX8EQF{FL9k5_*1$QM~o2dnh)PE&~vJ?g! z1aF=;{g1kv!CIPSc@r`O;=Ryjpk@k;IGPBwUfLR-Jp%q`+y6#C+HtYnajK4Yag{w5q zR9wjwIC~)RJHn8`Q%2CG9rhN~Jdp{x0=`a3x}swjJkcl_^)QDi*x|ks!|LvinA&ZR zmI%(AR5-&hmG{Bre^-dpVn}_PXn5p~DF<(io6`xGDj*z7vG~`)^IoJEb;^iq%dtd= zxI~UOghW~}cTg5}meT+i2X|wOnLNGmpUX(jN$P`w3z(BPH;XUex`&Icj4FWQ#&7htOPu=Vr6zMv zvfidySz{r^yQ;{damsBYT%ev|>nwqd@!vtX!IxYUj}_tFx{qKrS_kTe^ls_sn#@z^ z!6(-e!q8Vk#eP`xQEA)6YO!_A{+|HAa#fCl+@S~s)Vce+xY;c9=KT%~M-K~k;2@pa zJ^vu$hk}#zq__9|P#w3v)j-_afq!J7Psz~sh>by+Vs*3 z(TxC-rS34xbu_*#b(x~bjv9Xah%4{p5% zn-$DUgns9ZE=FZb3v|-TVQIqHEQCMN2_E{4QvSRIhz3u5%cyLL$R#uTAWiy@Phew|5K(gm`@~_H_;?X{uiDEi*kDA~F&FRDNG+dPabJ=EYQi zsJ4l=|EK8Ja1#jr2umN?lVQdw*gRYX znVI(?y_v1jXQ)E6x6ES63Nh~V6Iq(-+i|)UxNt|o%8px8a@AvLOxe`Pg(z%uJRi`1 z?%?1)K-i(&*DQQ4XHVJ(juB}D)D2oSd(DMwyhONGb&6&qPIx@!PW8Z>9~YBI0U-;V z!D^HL&?*%E(t}|Nxv(chVTtXJ<^J%HXmsi7yGiG8YR#d_!(V~)>3$F}kx*IvGLUnj z)$JSAlgZC5AjGmGx0$L!-^Is8&8J^B3yfY;3jr9AwRO5{L_uzUZtn z;kjf$Uo%bA+NU7ZvZSx)4fTlc>WeQAo)^&ZHCAHsR0`ENYV2018ya6*2N73WHh|Wl z_OscpDHphpF3Xyfk<`e@Iya1nqc5DzkmI-t9By_VpiTf``2o~0i5(=-8khH?|s1AfDFdgNc_>M}pz@R-Jc zscMzT+~oBS74h!`oD$!MW#$Wlwa%E{P~81)jb;O2W641$n;L<`5wWuA;h0n&KfG$A z-M=b{%|*eCh+-O`Z89OOxr#qwZi)VPlK^Z}245Z06n}OmQlgUH*4?{dp-Et&Wx-)z z=74u+ayj0awp#)x4QY-zGst%@8?n>kz?kRoQ}6r9?2*~TY(&w18sNzjFWFI|Nu<(p zclAG&mcC>03M!Q5v0fR~Qc_T&uscXd+5}^_5@avByA||T2xV-R75a=qV@VYax>xu9 z78_cDRopdKp=HX=vf+1g|3_#-6aHcS9jY@iV&?`gU)hgCk0mI8Avk4Ny7!^?{|g-% z$6^;gqG#!z#tYms+|@j6&e|LQogfa`roo}W%{u1s}tpgW-zavBc^d}qM{peDlByOmaGF7yxHsZ*J}+L|TP z$(Vvd#75?)x*@MfJAe?|eHMvomLpbfxcvu*JoDku*dXBG9M;~zQbF*0cee~}&3-XL zT2=KeP8RZUPWc1laE2AFr|oy&=U7tBKrICvJchj@AvB!df{uU?bc9!Rpj{3Og8C7% zZm3x|I+`3m%af8tba{0h7JWxeE16V;ke_H#R|-P5$cvG+S!3A#ugbM3L%W4sbTFte z3Ta(ndSVsV=?NlR6x;v@rF7CB^i3q|V$D?xTEa5wU_}o{Kf(iE-{INnuxyK&+ch;N zsx#GK;r&>IOaRu2c7Jq>phSS{T>y`EGWdn(Ps2&BLk{h?{YTV(>8Cp9E|B`+D^7rq z=SEN7*`nxR#-i~>k26Ak?S2ikl%fUNsGoK~9>~&OJO${jsJX1xY_8|Oa-!@_G>YoW z!Pmg9bERKQI9@20I(Q?plQS1BNP-scPw&04YLk07dl(@IubmBFJ@}vDZp`&}q+MM+ zA6iCKJzln|DB#M988HLgQ;r=sFUMz1hKjPN;t^}NHa3$%HBn>kHG?>l29pKncZgb z&~!ArNu+dCQn=wFD|6p2juG$69w1aN{|DbxHXjf((msD8wWhxSGtAk`*FVV~)wOaw zcYm@~F83ZDX>;pe^!Nj6RZ54bi5%O$e3_vNNq+#7zxpyerT!rR0K$d% zuul{-?0*4@bg)qY)I=G+by%kVF$59SHsYrgv$3SI(hEgkd)5N&)L6QSe&mi4*tex$ zW5^WF8qT5#Z3_WPBh)g4r~xs1L48l2e*!ldwtu41F2WX>npZrJoS%Iwu%iv7mK1h` z31wN;;FHw&VTuJf6TmP}i2l&s37U^lj#gyF${e|o$3Z7dn@kOPr%Jv6O~VRPQb}!^ z%59s3co^x<`e-=wu_{Z@{JYBYZ|EF`v?-e~zKsMAOgodWoq6+d(qAG{2_~*QCX=SP zjr}bVZNGBpf(XFT2VItY|5|Ze17#}bj{}bW2i|;Zto=xF+sFU206IKq(E>1xe_L6b zS6!B>zjlI1;*Qh&M!x^19+@1amoxmDO#3PCA(7`nq-)`w#T8Mx!8;_x#%e4z;^dJS;tSwmm<*WI#rPlK0$pe zdkpt_C{(>E2nj)6N?&KbPOlmCQ_64~N`4X;_V0q4?5TR}wai&xi|h*}#h6XaNuv6z zY@g1C+$p!a3fiT=l%Cwx^1ja<>a?VqVxjtesRhRDXFUl_1f0M@)D3Gw-QT>FZptb- z;T}Ts?!p55`bNK1cBZt^Gq5_v-wKzv5#pZmlLD-gm86f`Bq`VuaK_Nm_Q%qc&prGH zVW~8ZNrp^*k(Fql4<^=>{5XHXOQL9rO1&6wf3Mkm>Vhml{(=7E8F|%*%z-^jl-!8+ z4y_sRFn6vKHlX#2BQ&LY`rlbx><&W5%fjME!-`OL)4X*q=ryGIu5Y4Hy7#Us_Hqwf z?qO{-OZKe18LBW6Tl@*8WA>}116UF~1$C3muBq{e=zkgRD$bjTZRxH{Q&@6nq(9J? z+rVepGMe5Fxs+WTIW?2e-1BgEPnKt%R!rQv-ib&hlzfARB-p#u;tX44 z(%El~c9#bq1zbLI(Z)ls;SGxw{kM7nZ}HSl-6MgO(Om+- ze0S){|24+JDu`uM0gIJ1POK?sTfb6ghpVx?jmaT2FxmU?qHkM~tHeG7s8}pE#HgO3$b_Cv!Jjp#0 z2C0`}Sr~8pG4iSf*}i1yU~+cqXp&S?vn_it%w-A4;i;@@<-=(Im>lyBlvJyGe=wVH z7S(6LzWvXlwKJeO@oAvbKEW5VW8zVhN)s(ySudMaeoXL}24MU4(|0F!o@UbzeH^Z$ zO|MP3^mF2O$wY3`wstihOkrdgviCynus~{~lwDmNvC+T2y=p@vd3s=Cv@E0_&5$$ZilkWY7i6_%o-BN(&hc_VQT4pKk-|om)&f8pa-=+n0 z){q<(DK0L~|8KG=ffKzbAuPA=HoJP;_j4539U$5M>dl%$c>Npcf z12_Kbe?%QKLppaAZn>51Rg%x=SWc5rB2;MmIhw9mKLJbB`2#d#)^;$APS3bgkhI6YJy}p)BLV;(c*9 z|KCVO=wXT2V4!xsYsRNY3H7_@{v) zYt!x+pU^00$s`KBzU9x=3x{csHJWPV;Za zas;l|S?!J3*4I5&b0S2@&x2DS=s+qbCoIC9%^nmI{B(df=eR08>{|Kt)nx_k4iT0` zt$?v0W*zw}dZhjhF+j~z=NRdUb=X~Wj-jNGt)=c1cDQblpe`rL)G+CVXx=6q8S9G* zo$R7a#fCi#rFmv9jq9Z!vv_0t%#ObmKyrRB3^liN7) ze;OG+)!J%5c+&l-2-R2`QmW4qt!w6#p97{p04JAzkRf5ZxW8@%$uYMcJn*N#?p~B_ zfJl)PB3>&-{BTj%peB+glc4{TJqkL7b}29($#O53sSmkH8Bh@`vu^w`Y=pq!%Y=Q` znGaGF{y`lw4nb7HS7nSHR0P>vcH)FU6RZcW1L0SDWg>(Yu})R~W#s zj3H;|0E_g0NKczesC20tM9>SHmJDTmRJGQGqg+69>AB zwT>lIKC?kv+=^>Qi8fVhotpPJRJ!VnIE`04F%YabW?HBpKX4B+tgezA+Kivk&h*t-<@XopyGd7UW>ZPD1>$J#M7!qmn# z?#3Dx(3IcZr_)wpb0p}^wB;ymz{Wgw3&k=Cl=88pi=*ClC%opwG3f^_i*paYS)vG8 zv6K#0BmV4$spQnl$kA_iVeZzrQ4;MAb~+ys2wqu13mb>V!FUq?#~w#i z2z3mr$VYA@J z)~}(akuKxnxnK3Uynx?wS{+nKe=)D$EmG7dL`_0dl25~tN9GLc*}IF<-oRp7Z3uu? z*cknK>4Gei%#uLDzbGl2m;NyLhd(Zptxq%y6A3_23y}UNeTOMqsacX|H|y=cA8Z>@UdLhW;;geETn>)^i7jmh@dfULdH#84(MCRX)rB z!lx8+;!sm(SQr^U!J2{+9`VS0`pr@HME+zx?&VhvvEI|Ffi*m|G0S%`Wnnxu>-ZS9dw9FNDxLxr|DLIujt%W>1DruMqg+9 z3U-3$C?ohAvoYQhePn@>z3CepoXl0u2eTljfM@9X1*cn9f@R!xw`tS`dRb%cP4D{A zPoE+5QPk@eVl&q2(AOB?=gVX^5hPnRAyK^(KX?{2JjwM_?74Zal3A|^%Jen3SGz4g zTzrfCj!B2AUR9Uuef1OCbWH@DtFV;9A!tWfoq2n$Gbb{}o4SXo4+30KzA@7Pq{q`7 zgL|(B4ZcU@SsufbL=3c=J<-0oR)g6ODE~xZ<8U|QSji5oS<(sI@4WJY z#jOgUSDXB5{pef9VUU-NIf-dT3Hkr%p}{)toN%;`)h3}>V#pY_J@-_+JlRu!l!cG` zzzqsRm-d2_98h@sE9TPfh2Kc8g*N;b_Fz!!xfsF0UKpmv(vcS%R3W?N1A05Sc-^>o zqlAEgPvO8+(fTA__u}M(q(LKV;bBq_e_nRkt!T|PCLd4K-wM4}7VyXC8SE*uE^#Qs zi8O*cAMC&L`lJ(BHE_eyh?@lKtkhBw&T#5E8ct?wS~~5gp ze02)#jVjk;C7NC*Vxe^KNwefUbU|?zA(maZt4G*Ew|(!*ec&X=j>e5?!i zSD$u*ZF=cB5}73qGLPJ=ke0o#E>E^8@c*)Fw=t;}tWr=mBJxaRzNg=rp>KpH4TwRC z9jX;KsEJB(MRRdi%(f^4PQ=K~;uXi4>sVD_frHFiyzf4`2X-o6@;+>KL}p^qEjPiKIdR{Tn;4< zlA}hG+?i?&;d4%H{UrqW{fl(flZERifa$0AYgX7AZJvlz{u08+fFzNG^&MVQFy>>G zU~c2Bjb|C%@aU&|$Q0D#xSm1h6PEN+sco-Q;6!)YnU_}WWl?yVW2nW;XL}+l;JU8m zXv-JI5ls>o-7v_VXicFIOBA2O@hk<9MMlyVq}0UaaX)*@hK-4vL*ze#weh zquM-lO>PwZoWO@DgMjn5b52*g8WDoF?yjYT{q604+uJQ}(}JAt5we``yuWLTPy^#u z1QM|-zd-D|K<&sT1j#QBTd#L_pJ+Gq=-uxR5#}S<&g#>t#G*NUxj9+aA5HJx^%uYe zXUuMPT@e1fik*qH&q{N(b@}qIjB6xcl!ByCnb2sIA3FzLzqvW~>0w_1`<(mBgHo=Z zlKdfglIWt!&$0o>np3&5Yds}O%zk(-pC(SWk%Ce24LgG)3B|ifT9sr&vVWos9)W1H z!?oQ^eOljlLHEWKf@^4gw?e*Xke0)^pUHD~X(g&ptgE@Npxj3p+`JrFDz~y;n+HQW z03ZaQC@ZA{dy$~p0dA1D0r=CrpCjj!`cvrdZ=0{+;Mey6ZuXjCzg~6{gpT#Z zC_cen9{3%*i9;?l|8l;jPnMbChVy?*a9n3eINT+b!dx+CxxV%;{DdRbou8HXy{*nQ zKs89;GX~kJppwEmw8IQBr`L*!e5YR*F5X6mA+wpJ52>{DW%9d}=wztF%dq{pq&Hu$^FrPjxb+Qg6=@Pj+}Gl=(f>d;rK0NJOh&`_RL@E+V7n zC=}pF<%y4@srQ4K;E38f7t;!opb%SNO%p4yrpkwE!?&!}=|qk3mpQq7oawTfejXb^ z=qDgGiwV3X`uA~pA5JraRMtfjGw~Z(wkkNcChco!eR(hr)VQD@{8Zxeu1?u?$!wH_gs)aN%G>@fG)F`agds%19!4xsbovF+QQZ7#0f{rveKcTU5{>na)QV)6e5EJJZv#N$vEWrq&iSJcE0Ow8%r&dgL zmVN8;fD=Ne7ke>3e$ zx=JCnZC@}B2ORrslP)DJntJ}~5(RR2XH?~rg&b%(AhjSfl6W+dTZS(53K*p@TsvX4 zjGdn}R4P3RU~F3#S0K7DVB(0gYwZT-6x^+@W=y`>tnGL7!ODM@2#uG;LOXISTolz` zs;R(ldg~I6DU}X31+UQ?C=Ri_c^K^WSIIQ5- zr8iH058FxXqVNNjj*RXE45nb0v3U>4-S4FM7CWb0TIAC_=3O%Yl^bUd?E2}(U_}C0 zaw4;PEO0PMYky_6Q^Ok2Jk$6CUj5(B&8SkaHlB2gI{`m+97=`#4EiYQpL4C{iB~nj zr*n)XA;+V?>_;NbQh1OxjSSYG3w5A=JO9`hce`-?HOnSN)dSQy0%gez-fz-o<~S_k z=`Snoqx{FWJBj5~W~Q5e-kZ)s2qoH3UH=0ASudg1n(nG2yenpS-~Nbhu}KLtOjR5uJ}MJ(hN z$X`}OFZ%DL0cKkld5vZ_;=|Dl8Jnua1;6A&-O}c}U`086VGEMlD?c-dpT-FW6-6gZ z)M|XRr)vdPU+3v<8|5nJFGFk-s=h{!pVaEhby+|2G#=pUHAEN<*daNY`|_@`y3LkY z{C^T(VCG59$9$U0NvajRgGfhZ50H-VKig^e#)EV~vbe|cN7BAkuLXRf{&O)UY|^A2 zj{Ai_kNMe7SjkZc_+h=y8*%em?K%JTn4+mdOus-fcfHIF2qI(O{q7XB+{&lyn4~%h zI7iXn!2AA?D&#cA1%{x-m(3OxxG0-LB6jaUXlFrRmd!p-UV?FR`OgefyU~oUK(uP< zTgb<@dl2o$fW|&ADFqHMp{uMo$C?i*q9%oyQ!veUY&Q?+6S;#tf`Y&mtAu##xS=@m z@kuJZ73PRORi6{?ka~*mk@Ap*+0Bs|uSo=C*Na{MjT4INUu=3JtaWm=8@=hOW)H4# zh{eR}S?cpXvwpO`>5Ed!NKqU6wg`xwE3T}ADIab z+I@Jx+QbqQOsk@9V5;$1e<<62;@RT;ocB{f=Nj-A-R6qynB2yAl~G$=vF@1qL>>X@ zs~;fC7$^wXeb@DG@pVps>E%a;J#P}&BE9fOCHjz_AGJ;nTMV0LapD#B#jD^bI978L zJJ~l=4uW=9sS1$FIY46WE}J@TPo?i0_m4lXO@G!{1D@eu1uxpQWlAm^UVt{QQdb8J z?r-SbWv5cDYnPi25e2agYlvIwyPwU3^_bi=Nw z;av^EnFJ>EXKp;~(>l)36^InPTH5*|+@f}KGx6i$ouVnJcIpWXG710bkI1VI8D249 zsg9%(F4N#MT-&2f2FbZi{j;{Or}H;V!T~4MmX3L&ffI(SC&YP)hFh#g`jO(cg&tn9 zufSFDzq&KB>W?|?PRPij+;mUs^d0QT-3Sexqd^P|{?9{#63}5tS6l8HcvAzqp?n1e z-+=C~kS@6Cu_ReUU~g@cg&6v%1cYNF|P z0lF}}xfk=Fvk=0UzL4>F_TW+?gT`ouC#MbrWXxQU=(J4 z^ny+O-4VS4^MS!2vF^~Mw|yP%QgB+I?A3}U!nqRV6#E-=@j|N{RVy75`_-*+%H#0+ zpI;q0xLgjRoX>j-&RmR2fz$9tUpg0yOQ8Y8jI;n#^>&bKbEpLKLcM}!ZCUv(NP7@c zzZ~=PqA%y_`E&QSt@-V$`3FM^TS0%NhP2oN+;*5|;yz}sgiXaP5WAE=k|DXxIEFr+ zWl+$ZSmb`jqoKZT1;JLqIo<-xT0skxOgpXQ;2m20mA_WiKfcjFM3xg_@i5ySV9jdS zF&0EHJS9TFn?)!A$6KWF}b;Vhd#C26nvQo%HET(Kqgh@q@S1JtKgrt%?3WGU>VZchr!n19kZuI z3ID?-iNHgBJQrh)>R~09mcrhhuJh;5Xy?Qk_)Tj|^z=`C^Xk1DU@k`u5Kw&l{9e1{ z*Aon%&c~bPLR7u{`{~i&Rko#E$>`#mA48xAk$zmOgDh6zd0=8{shG=Y#H=wKCl<G}*3x8MVMyen9^MvBH#$VZ$DM_~SWQOuO7=`Z}uqma822&;FqU&+X2uZEBSE zWuxg6ksmt3w>yn2EOeWMDYzhsBO?Gzm@QUIsQT+$(PcR6l~`!1A88jMVv_h##s}%K z>04N5{InTd`E0P6eUXWU9{d-b9uK(*bh3({HfuY_HQ^XPwiYMoiOqgTS0cKvT%EP% z`bjh79=qU?RALjZ!DcMZaqlNkeT%jce*yf)j;xF98p5|7`C8uDS8!qGy(kgxW@T@R z@4$5E6AFV`%z={7FokxGQ{)$=8H!Z?D}Om~y|Hs^sca(;DF4)YT`V!|#4_Wh0*^`7tS*eq;R zBi3AV6-}o-pLq8b+{UNp+04zr05f5UxHM(LTT!fcwNxLJNttz(^f)Q!;wHq1%&&vRa^ zGztBF4a&S#{?15=15K{C9x(x|Bfa8UX*K9SGo`4n^+Z!PDhml?;RsS(LT7<4~Woy3_ob2df%gdnd;M<<(%{H~+p!d4+scyxADWLCE_G&4iV^UjTM3GV>o~OF) zpnmP*#G_ZRDqqHk1rT9Lg6NR#K_c1C)*f;)JlqItT}fy9v0Vmb$$lZm`Zyz`j31T7 zOOXOf+kT^gpa}9vLO!kv)M}n7qf;n|sfN6XH(e*RuldG1?w`HGG(3**e8LE8dZ|3z z>PWCx5A$Ci-m6Fka(UoYiI3q>eGJKbbhN1t7Q) zR9xG@nci9Koe=ep*o~jE1xcnV6X8@k&OSN$#%{19UbXHJNF zh1H(Ch2V!?bri|u3+ipuY(}{|5k`Noj3r>TZToWkPKlaaIx-^-J zLTbt+Zl48fTezN*VUjm^t6DH^a)`$Y45r!MNN|sI`QYtzbZLFw!$p$i45LQFZfj)$Fv<; zLz7M6m0k6c(Vb1NGk*_UyZ7ZtX`49Uw2%)gmYA)!&^lEHnRUaQBe9)lo!#Z8xh#hA zcibQ8sa;x$DL>3F@m`|-y^35TbA7iU8!q`M0$USris(;a>5faukCM6YgO-0k=EiCf z0+T;OO1-}+U5ke$x+O@LkB5=jhdapnCzQ`EU^vE;LN<)dTjuKCVTxj9n%NkXIcw{?z=p9@~;^MRN9D z^nkChQKCnVSz(lqx)E=MBu%I&VMIKb=aXEMEnv=Lnv=%y<(cB>lSfoo-(>hL70|8xVJcOo<*f$l3%yLuoe4d|8IpxBHxDisVj)r~(5?{4aXZVs_V(mDU#&4~8gLx1g5 zf|_g6JQ}HFGKmzVUEX;etUK6&Hs4{geRwC}FQ>-L*&ulb7Pw(QtvPc;9C*sY#lD&z z=~4TQg>CQz8_X^}iH+^#mRIk4gL96$=$xXJ+Uv8z=sR=^zI44hbP1V!ANz zWNm*KucujkxHoQ$EXrQ^v-7UGjoef(_xd2Tg4|6=L*3Y`gR9k%2C2FD7rW`1itYtR zH?F6VEsDrwTN=|BQlv_hUi%z7pcpY<;_zlxD2YwdBct+k`nP}AaSin8vsK#!e~+_` zz}|;qtu>%-l_xs6T`eZO%Na)J=ks!k8MIWuG>LyF>Mz+fi1`b!U;Iq_DAi&2X9Mpq zHA}uqYSk~U(h-#FvibM72p~_9z=RKd}vw24eUNqEmWWSQ8-+EG^p=>&}RZi zW@C%z_ht+^$pm+MfA;Qf)mKM(e0+NtzIM?QC#V_Hs(X%ir?- zn~4^KwgVPYX>Utum}=I5!)xq{!cXsn2Si+EI_K@vt0UVTv_9#D6Y5RI z9$bZI{=nS>xcQr~^=muW*PRcAs4=4M{*$*uRXl&lN$)FIl0ZyzrVQ|b^O9#u#d zHaJa6;ocnHpRQeDXWgU9da)_dv0=aBQN_Ju;_;|B%!~cgny#4<3lmsr4Pxg>%eR0y ztYPzjbo!?LEanZG=S|IIrXleF-0sS+T$%jyXk0vVqMBg$y7+rb4&A-?d3b?{H*6sQ zsitqnI**dePu3@Iw0WI4dVca*;RVW1UkAcH;>UqmA0fZf!RkS?(r!0w|G@1B#LbWf zua`CW7T&Xp@A_YNYUClmsrnqbzY#N{OlgH!VDU+sUI5b@Xe$k>m(Xt|oqeSd)$HnO z!;f0Pn87jdH$_pPSNIW!CY@`{BED^Bvkx#q6o2J4`U>z3C}VvL%K^=M*SQ;+5+1 z^f;k+XkE0IQ(R|>jPzZGcXXbvsM#=|&F;a32Z`i@JN)2wkj$R1b6w4%|M%K`#vTC$ zyEb6`?F<@eAuxub^};7UB^@RSqU*+sH#{1Jui6J!k7`$Dw@Zeuiwy>Gc2DJ8N#u;V zge4{~n}wGmw?CQ_&P4~n?49Zpj3tgzn>#2XobtSq(HfVCMh zog2>9@%#Gy7tyLVJg|N~&7N+IUev`0oHo zhfdTk>FZbZ%1YL zY4*5}JO$BF75toA1omiA5U-=HR=vr8l-RLgwmJFTcg?9jAM&|0m+2CyUa+*|jImm~ zGFkUJ&$(_x)T&->uf=&ztCzaMIaf#lYKh5f4=)hM-s5PU5YI3Gb@pT{QV_T3Z#U^z zA4=9V{}@#b+}-|*m(>&(FHg95>+;hl&}jInG~)A?hmE~$s6WK=Q1xI1lC68dDh+iQ zbt7hZtbqhA8jL5t*^`;-aPz9EOlA&0Vfo=lzTP;{O6MBSMH4D&2Hd^>#?+21#G*R# zTLWLC!=Zr7Oq0OZ9WgIvQ!CaK^0&Glyq_w7zZKr)vLq@tAPtdt-x|^E{2Jn>O}Qvw zB!TaOkQdIL_hwd&w|i6B(Nv?k$X}~ay4cV`p>A8Hni&ECGD)I6>-M>(r z?@c7+5d^wrtRb@8Ea`z!6%WEymn9wHZpg)SX|cXzN%(ow=nt{{K9llb6mjeIH=`%t zh|EtEV^U<8ska8LM)CjIpxL*^|1@U8adkWPPL&NLhywgsPad{9X$sz_hYl>hKx${s zw(q?IO&P*g%WYuoD97X1@sjn>xJyeNSoBOWj5(Sir=kB3S8w4Kb=-aJ4js~{ba$sT z4BahAcZoDegF|hR`JFe;`4hOV;qzT`SI zr$(!8s_lC5G3Y_}1KStXkF_l|!aUrgq4!J3m_}tcgckH1ztN+Jq9TaWS-zyE6txZh zl!dJgyciQxj#O_He1-O= zmjTv9UWr2uHq2jkzdDrYS*h1r)v~mnD~E>CvTHWOG*^PL8~M=ayPlG}UtNHo2h7$_ zPa0i#XNNCAxMiPR6l$1rN6zJ&CS%B>#&rdqvUJEh0!AwV!W`Q>C;8vYQ7CQz-p_>>^Q@gf(F*4%fBwifq?$S>E7O zuHH-wfsJ_$7{dzr)F#WVysRo&ChGo5j%)`${`KOeAdjR_kR^nQhp&F+IrCl@$vv|z zE9VF5*Sby8rwKBxwe?+2!&=+hf&m^yiq;OfJK!IMpo|QG-Jar|wCG|`y|C$E*9TkF z0B2%|OB?oxZzvJz;Of@3BhB&TMf9zQfJ|1A|Jtj+Z4VQIMC`vfGV{Dg#X`1qQOe@C=M$Flmci-kjPx1goP*7@g+dC%tQq|1n#Z!51t7Vt~{z#Ln zxOc4_n%HheC7j2O@Eek*TgfPOIuh~xD?H1f%4zr=h~a_w_#I8~`L1K^{$;IOQI@Lf z)*(kP4k7MR)AZRmA4`jrkK|2ZZb)r(R13B>`^v}UdYo~9OHV=18xv~7JF+%>FjtXX z=i8Z@6pxC~FVc8}mO!XL6Z_sz}X_%68$v%QWzjR{O6rh=*u zV-A6VJYwFNMaSU+WEM3aLwr}JYQs?{>2&r}g$=g!jD3ZhtnB(5kMr~r0Ymz~;OYOV zd+?i$sBdD|HS8E3Gbx;CRe<01S}#IX;TI+mQ7=q2d!Z4$s&sd_r&A^5LF1x*C$gsg zf!d-=o{z%;THY@Dr)ID+of;62 z$Q1;2M8DPC%L?B=IW>b7sMiVra{0&DAy5GfO{OB;R-?C z)UrOGE^G>Q7uEbYV#P_>`AzmVH?K3JZnUNHY+Ah!(YD7WJIX(wtOc-!%aI9uiActH zG6Lv4wel(~4lFp-8NhuQ%61zEys#?Rh>QMVFDa0+RZj%R`;RfkzYokn9;p6SxU*t= z!n6qfyw@sJa^+54vhOrfI!!y_zo)w7u=V=9)b;F*YXKeXf``d^z}Jgf2IPOVVg`$T zA6W==mwiVRaw%ryO4OF}9r^4PIX{vT_tdY^p!M7@*!La$J!Hh9aGSYpOTjcRy5n!A zn3#+u+{>RDK@i``cNXfV)Wgj@V}+N#x`0;HtlBXn2R}a%`}n`jx%KLx7)KZx8+LEl zL(AJnPTV+#1a2E&ex`c+n0T$fR|w76{NeE1$a&}Tvbk;pSf#iBg7QuVH$7AtKU+Uc z`5Z=b0n$#B=a_^_(9qVln{rVW!lKbt3rS}2n>JzOg|Jd&E!-=qs3RY1Z8OY&56%0> z)*ce_Fz|9_B|;AK0@!8K2zcU=Uyt~Jl_&b(R!DabwR3}Eq2859?==c9ztT$`77#XK z?{hk*kMYb^+$Z6<>@FMzR3sP#oNzKSRo{oAD^dcir5k++=8gnrX4QD}StVog)3=^p zG7$py;fly;;_e!}g~UmDBwcZ)Y$4re4GvXew$H}c{_$0D8zc-v3rzg7AV};!6XEf7 z44L}JDEp39V{J+ihi9^m#%1>(UL?a(P?hNqaHd&L=mIX@p!!Hicu#!Dk=0w2(^cQD z%C06IO^F|Eu<2v@&lLzsw^5rQFZgBN7+2VflHOS)dNFwHPsSh}< z&jW5hh?<;#wo;NR$7{d5tTR}ajS`Fp*Iv(0ROJs{W@ZWvLYS&V1Xn=(exXP)VQZ#f z&@FNI1^4F-q@IrWw)l}hviy_~t|+4od|5-uvf$OlAHrDeA70kog02(diaffMW??pn zv=`l>c61tUuqOLgw&m_rWW;||yHN4d(6~?FOSmaR(GueE8Kgu#_V`2d@Esb-DnpK} zWo_+>g|L}Ks`4HWEZDP0jV4fpXzopAVopRd!Gm;UHS_fie%9vpBZ}j@*P&@V*5j@2WJQ<(ftXYdc;dE_M1>XI37Zh-g<-9a@IcIDhk7674`Q42& z<#6TtHg6btj7ApTer&s*vKSdur!F|qJA&uH0zWFWg&e{ONQ=?=(m zeM-rH=ngCq#?X`knhV}GkfcS8?0$qK+uU_ijayx%Z*%}Fu1>I%Q(KVJ3XLKSir~^B znmaap>M(ktRg_f}2mi)7*dxqC2a=xgCTJkP=gKU5_U3bgykOwE$ltt+zhGRyx;7Aq zznz1il=gX5ha{KH=f$Y{tE|m0?u$InRc~6T_#!Yr`f@%S567vS!-E+GGunTcDaE_9 z`>$W1_jDP}0gKC?7LM4VfLd>mZuO&$6b0}l9k#YK-cR)Spa04MxKFuEPSREPSV4K+ zZPzvBDBUxz3OBH)&iQ%tD*ImZ&2wg0O7z#a#>zA)%+gLJ)#F#2-Objt3M(SA{)Lj# ztK&r%cn>x4&ZEV(vDw)el0lrEVcKs_hm$xPX}hiA&^L zy#JN^KiCHR#$JD#W_qAxe6ZR1UAIoLj&7F@xHoa+^~S> z7s}3!QdRW#K%|e|KXVWwQ(F^dLFKLZ>Iwa4al9O7%JhSeYl&hA`vq?rXJrcF0vY!D z5J^74*a|7kzCj%RV^knTWujbvzQF{c&|BQiehq17EdH79+P}#~UN;QaW}uFpiNp28 zJLXMHFQmtz8A&FHYEas=UcJ|dT(FZZ@!@wR>oiqrnd6*bKKvx!UbKsYQY$G8Mr}8t z?c2uu$f`ePY*dL?4Sz`a6+(Ql#65V@D#hqqgFH6$3o$hVFAqk$xbj;Izu``??VjK| zIa0oVr22h|Gts(t>qXlp#z80qHg`UwbW^dg2UHT0x|SAfz>ky2Of|#kP-$)QG7Cz% zL`r1%w8G<+qnN)KdgtTksjP=At-KcsZhSgn-}Si}+TsS5Vsx+Y&-5c&L?6WaFtZW0YTQldH@zc|;4%K1;=D|3@C#q0eA1 z;lflv|DC451Af;8BmLozaqi{l^r>q8z=HN@Qcd*AR_u9oS>6SbsLzZzQHlXfaQugr zlK~)S-*9y)Y2`&5oX258Pb8MNO->WX)O)e!|ImuXDL##W?$zcM+@0Fzx9|eRU>@jq zJ~?(>0#aBjrZ83NnYfvWF;QF5g!o*V6pn+18ij(p{yhQ%UI@Rng^`6^^^{2vJH>E8#*`Zc3u`8DBUBhe8=iS-v zg4;pV@1<^zIDGOU1cL>Ls{73_B$xnW5W0gc*(x~?YWm>gN7mbodE~pSOcJVad9A2= z90*?4l=L;Ce?1c?^Pz1)omIA93>ZH06ZlD+LGU*FSitpjIT^w#H5&io7R$UHSJC$? zgb;lYnW#DAp~-ZzWJcpm#^`(V+Mb1E@b@=O4C{W=NtT+fTFkxA%wZc}c-ZWo$V?VL$6*GHy z)kHyO%pBW=q#3RJ??7vRner)@njSLm-ZNMdu2_iC3jXx@+8+K$AKpJ*ZV|MS zL>f0^#w<$@$JXrEaD@!)!{Hy0)8?6c_$xywPM_&~1Ho!49%sNe1Lk2>{)^i4t%ELGeZP5$soBHC8|0Yk`+4a@VR5Jjc6OeZ`e68jh>*)r z^&?gYM;~%KELe!tbB~zgBHL>|D-`KH}?z^AsQXO(5n85 zCi5=+b6jd3{Rw@BW2(GWKyEbiWcHhUrFgl=Z*KqI=ul&;?Kb?bQfEd$K+!xw)$+J zQ}lKk(hS-IdE#dtHG7D|w*9+dWU$mHBS)Z69>k(6z&lMMczXP;K%v^JWWTCjCTTvE zt7G~*6bx2B2YMOeZk@S#t{!}D>5Csx03@+vKKo*O0FkS%Ypg?(XP~}dwpn6jq^j3D zv}$N;_t~#{<8T>%X9+#L%;a+>e|d>?~ZeF>f;9#T@wIx?|l-up3}m6Tpvz&MDZ%obvn?_ zy2`w;<3Iw|z+ZK>@VPHu%a@pA#XwX_({FnYMoHcZj0 zBZXk!eUyTsrVrv~#s_@im;CkVDy!k7;{Ohj+vT^R|01mi_r38;a|0O$fI-PVD*m}rHR2iw| zT;Sa8uteep)%}Edtg9v2RUEkaCsL2k^z|&gL>2HW$q7jm{EL9tn!b~LM*ZlzraRtz zS~>t3=0j!L6}YeudLGMhjvlpQJaH>-a2q7+2Zv<{5;PopRrYAeT3f&%smv{oLvC?~ zUK|@D5qk_IGs&2NU$?LY{ML7)Be>*wjX|MiTa=0rO6VJTGZOa#{Wxn%9J4W=MMSmiXR z!`fLNd)&yC-t`dB2j>fCOaAJo6M#qt<8Q~ks@D^lD>r=%qm#?U-~k5ioqjdN?b>{L z;NqQ++=A%RV)9Vw6K#Vq9xmK<4P1*`)u@^ri6^5^C{}jntmEv?7IBTG5P!H5Il)IQ(0&#kmMap&?865LOr9Wy{|1M=4`9%v&hUWX-CRYYyq*;(e>q z<(rMCTlf#OkeU#GHofchtoqISyGT>Li=iQ>*@K+Z>WyMA`z`mlQn1l>2P&?@wQu<} z8=l+SDYQL-`wOj1i$5nj>uM$omcIgAMpKaT1%MVHWO=&N)m_<6s?L+-8XuQg*ym?k z|Ipd2r^V=4H1Jy(QH4@YJ%cacS*tct9(tm%D`W)bTA_ z$5at9$;Pq3A^)Ur`8t=tY}8I?S`@Xqe@7xol9dzfUPhFvN!XLhF~vo4&Fm1V+a}B5 zpT7mIOwqFY2TRj@L6;ulfe#$Ce$Zb3WQ?SMT=~+`z2cB%=AQ7Mz{|dON;>%{7I^e7 z0YzeKuX|6D2i=NA+xW+M+S7sMpIdbF9U@U?Buz4K5D*s+G-)ml8{}jzzdH|hGE}$A z{#26hX&-&)nR1K0+?O!;l{f_1i;24wY5BR8uaI*Oby-Sgb>v&P0pJ|@7##xGF`Tpi zk|E5+I?Z-Qx{D>4k73990)jXneVH;M|Mx({yPql3Z7T!25LStIXTc@%GhpTn%K%=1 z@ukcTcholF(%@^y3Z^2KapmXUx6QEm+uv5xRFhKoF23v$8amsukCw* zH9Pa?`YUrq)CR-cS+}kmNbsPeE&4bIC1+A0D`&Xbg^9E;yI0;~`hRFSXgfmN-aWYc z`Y{i5#aYEg7;Za-8~-_#=hv@`pm{_2qKdzN&C6?*WcisSqjDoXut;|@0qE)h;xnx4 z!}^ulmQ@1mHu&!%m$39K4itfkFWPO1XjKoVsS7fT8?`?Y6?|4quz%XrP@(Bn)*Bzt zw4-E$<4SZ8et%zfLz8qt@lIr}jVc8;)%)tN!z`sB$h%Og|Kk$gV2ZbVcGuQbQsaOS zY6coMb&g?w97mg^cJ3UW?IAI1*y`6yip+5RlQyi{Si*xU5zX` z8959w8a-jz@LTxzU36#fgCp9l%mGzpaeZj)o&AcVP9VaP5^ZE~z-A6$aM!G?W7E$0 zq&)-Oq_yv<1E@y<=4XL_j$XQLF`T@mPc>(}k?t^0o1+?F2{`Ut&yj%=od*ZJOk&Fmm} z|AjsE!z|9e?x?C{s)u_H+pZ%To=#!8FaRR|0dl+&vC{&&+tQ#Mn8YylqyntI=+ryB z3%JW;6gRNkOMU9FrCI-95Rl~=ET3Sj_Fm%}P0wFFVV!7N=>z4-&*pjD7B~e|elyMB zDMS)fa|19|F*x;urHdi`3C)}B3EdVmmlqxJPV5!)_`f(H7FXMh#GQGeD13Dv^eH|y z@he372z50k*?XK0wq9|g2Iq)EVG>OJ=DpH}*~9zNd5kLaQ@I&i<&L7z(5#Qmw0it3 z{T&Uaw=<34Xe(8NHXm1?WK}jtu<^)tbH+rQM2cGmOEl3}QT;K8;d>9kSA3oW?@6pn z(R05ul6I23jF|JRFp*89v*z*rHOKzwhC=u9>6>^|9D0Uj2KKkH&q|fxKAV@EfODcL z0!i<#D&{1XE9NtT$H`v<=cj~$);gTSkd5DMGE`8G<}KL4Zv%Tiy@>3oTqs%Vwq#L&pZE5(_ z7G>LLK558}9IcALv%2(3w*;efWYMOZ~ScKH@kA~O=d;{pi5 ztAfxA5}3zhB^Az9WcRHG#$2JK*KZ2oab(Fnl9*k3BNxe}XbE5~82QU2F+As>Mi!cr z^Z~dtN~R?A8ZiE~-hY3E-bQ~Xo5RZpUu6V-$?f6LHD`qIy1U5|48P>SJ{7p*$DQ_c z2+Xt{rXg0=0^WiJtjQx!LwEHOH~5W$5_1uRq;5Nn-`rdE-E zaHjsJ9;KqTUX|+nR?5}#k^ya7LN&$BpGlEW0(ZEzx~8r%0a>ImRaJus)zFXz!9(_sS^7S8F zp8WWhSbwiHHhrZ2#W9fQBxz%);eFzt{&%3v5#`n=y6Um3;);6?+2l{i*cx(Cwk+mS zY;yE9c%bo{)qehB-Fg?&wz}#wN>TVdS>PsL=Gq)2SR_o>ve!>l>Tb6E;E=9GOS{1hDDw%%zU@( zWQ>9mnT3m8m~k|x9t0xzel9=3sE-M1;av-xJnNFUoH!`L8n|wQ-L3uh9ar{kec4-d zsc_YZp-Lh{3m*~J5qUo!%DhJ+R5%&YHsBi~;-aH9m0u_@sg+s8QEtS|{d+y766*NW z!EQx1GL33DH(ncfeg_bnyT4m$%>`X`!nUYDif@?`36-U>+GkY(+OTPBq!k;v-Q7)x z{fw~9X{%%Wy1<2^sLqMRUX~KOBoCh;ZWvaJgs8zMTqa)0@Fwm+ z!lDCVNA6I}%S7|Pvw)R9HQKu_$1v{isna}RH*a(p*< zuBZ7GDatJKR|t}H7A4?F_bKcc7L=*jCoLQP&lf>IAlK@G$!5g(!(;v|C5>_g=5Qsi zbLWU!7{8<8KffL)@de_@K94J~gL0Td4S>)o5t^q#{7s@Bg3I4y-w|22p`{|zT=@GI z@YDLSiJIZQMxL~e_$9|RkW$Oi4Hg3nFD@pz6_V_j2FP2YOj&gOBVPKfdiG;7W9{wK zLWdq_j@w!2`hnsnmBHPl*KDNpmnLA>!yA~2NbPXPCU^^0xG^T39XoNfaei8q>~M#E z(9Aw-%}5gX>)l`({e$h?I3=nL^@>m^{JZcj-n`IQGDN;mA)j}`Gpb>qY<+*Ae*vk- zNLjv38`oDgXPUEU)aYIfx@TbtaJ z_E`j*Jv^JQ*E}ajja2eH0u}u#cZMDFihaJaULWrQ<8lA+CqzbSy2gEFa$idWD$2gU ziiRA{IG(4D#-7W>1=hT9Nyt~_BB+oXtb?M5-xc;6X757jRwO%VNn5_W6GlHjPkLif zi#Lp_B^v>^pc(1>ce>wyvtenSi<+K2F-7?)6zhooUL!9VfD}m}a^V&aTK9`w&<^Bf z`~`2tgQ;HMMR4{>VLYEbw!uP_%4NUTGmBQkYKAQU9wM#t{5ZX4u&}Eo0)LoC}KIvzV&;QxLuJ69S+}MQqQvCU!0qars zE_j1Rw(cy{|J4RsY+7+=i?99WZYf4w_d12e=@BPW*+!kjoN;orB>7XRY$aIT4tM*P zGPG?z=dunz!WTtL$w6~Wn^|+i0N22~`;!Faj*a(+&j}va#D0gC?0UY6&Im{9RtEV; zDqQ0Jr*44GckAMXaBk;YdurFx)ZG0tYo$bR8%$L7b=|?u;W5f6y$j9Np^Ip!|9ugo zxQ8Htuh{P&XqIV=B$!VwO@V6j@5<3M&FMu7Y;q?5@li1>=y8{B9~3JLOWl+oPMe;C z5`dM^%C^Z$Wkd^YFpz#u{Tx;nPjr8>(LX~ZeJ#aBFlJ(}vFgn5!ECE3JPsIFpkZO? zDgEJjFT{E!L!)@Z`V=ktG$0ina-{)X;6vCZY|E7ZFAiUJgYBq5$eV*@ zJ8!jD6+d;B@c*!86#TM^z7Gq_a6`kZtM%~fE~Gl(3a2;!Y=C2qn@!9f=+tV#LKXK} zYdH@|J(7dRb<&#KB?F6q(3`jowdLjf`n2L6?gXOHu*^c{DfMCemt_|QgHevksYliX zr?B?g$L>2ol?ULE&ubCfJ^Ufk`5m!H8!q|SZ`PthXl6aqF#-2C7Dary78o!UJO#B=V=BDDwHCz0g ziJ5)c27{nIMTcXR4rwysHuVt7o zK#|1_CVbab7v{}DBG6C2o5cvfRxlbKSE1415VO~J(nvSMytoG)J#q_a9E~I83064H zh+XlLhL=4dFJCjyf(};W-XT2%N=mRvYF54DWbi-lZ3FEM`x}nA zRl}FauQ|6nhL~TebI#w(MAXi6!KYQaM(%+3qqMj`bs(4U2N|XM5x6Vh3%C-k>Gm+q zer(qj5*$Zxb@)1l5Ja8CFJ!vyMaSv}gBN)R$Zykd_8(Ix&SxizJ>=)Kn+nDsPMZ`b z{3}v<+H*7Q6OR43b)D_A0IH*tUx!V|4AxZQntsPX$S~f$m`)a2@3r?dSs3m%F^&70 zwfz+~5yED7E0KEfEEzUyA-tEZ?4m#vL{sJc?ecnyA}?Zq zdMldMXY4b>*FE{BQDP%O79i^YyyF}h9uWtrT-!I<${1E`D5U=c)2n_RVKLjA# zeK>i?@O94`cvX*$)GFWz(^(BlLT5j{ouMedJo!CG|6+E~xiB#`3k$+-dnNM;clKeO za&25vBo9lo=iNv@hIL4;R@88p4Pu_z2Q>vhT-7e8>1cbL1B`|n=K%wdJtE0YHBQ%H z>#`6O+`r)IH@QyeDAy;h6?XFFZuu5&V_S3Otvp}pO7>jd>gJk7V8`+#t1S z%nRbWp-Rt^)EIB2|2I|cZq4jg67EWLZZFoVOYB6yhvFUrjOAY_@$?Y?idK=eM-uF+ z4d|J@o}5u9s<}4E2Ry(57YLtA(do>$H2*7$X|5I~x*jUJMzny6LGdqhwd@x!tB&Bf zRakji_~e`8)JiGetqEt!Va-&fyY5qer(w(Z7{_J^?jB~Kf0AG$k1%E|N5wn*u5ZOghJL7y%-?{^-R~$3)CZ%6#M$~tr!c5`vsZ@_ z8QrEEPTH5eUYbuh+;Am|ZrbbR?liIra2(&-Zo^@&=f9pU3=Ie_LRDJK6Zl# z>wc9AH@5|p6}b#B{cw&>djrtlC5z4}l1@z$+mce%D{2VV$BW)#Ryx<_xX|l_vmbx(R(_-gqQI9x|0`wPhO!=j3+TUD6n>&7 z%f1!|%F+8_0-g!~g6T0z3ctxYgA!lnA^2~WiNJ}do{U^!_lepYdrNXQ!1hc9HOTMSy?3>F zkvCqy_tVXQ(*Wq#8aQBh|DX84?hJ^I04cI%71 z72UD$5C$zEvWUJRc6{O*TOM_UEN?wMntnU4R4AVC-GICt=a@mZ^B`0|x*4zUPI&#& zR_17QSHEVOw}2|k1adI|ck{nawM+}ECw8AZf?x^57mFdl{VKPee<8wC{ z9b_4jKLa~C4(hK_!EyQAk9YV_&=R~6RC^E@vb9mCuV z*ALv^CZ%$yTYGoMqceV8AAfJkl_i(ugfYmA%nR@E_2M=~pjOdC-QDu3U-H)QZjdkU zS78XHOHglrHhhx`2=Id5JpeFOJt>uoHxy1DJu5)@&=mG7$?b!AEi?Ut9V@FL3-`QJ zh+X$4?4S*l%|(g3sm6(`{?_w*<`Oa$$C1DAVvXOeSHT8Xo7i9rr<^}$Nlcb%A=Pv3 ztI=1}y#J;J6432VAoxi}NhgVaH+XiO=mL!!L*oKNRT#kd?N#XWscqqe!glIIw!32BtjtEZ_zm?;4@3yD~Vag{`Q5C71Damp3YHnd;z3R)nAZf9= zeiR{u$k;p_5AjqcmB7m$h_ilCb+`Xz-^1LIpf0q%7>DWE7Z;Ld_FR5B5&i_%16^21 zt_c?%@Z(tct&s}a+Y{VdXnCsiA5~ZZZzPA8IxaTf;>W6SRk$X)2nj5zx3@&^xNSsZUPRiLveYPe74=L?rE5QVkvw>>|qC~ZWqf&;X|esr?TB? zgz}zFxeRnmSA=D}6HsUSQ9h-(%atg6fxaabB7U5{owi1X5TxRo#MeXdYPr^|Q$4;S zWQ<2r4DJ$iBcYvtO|8UGGspX92Y}tfD07xdz2Rf$&MjCx%BmhvE-|Gv?qmW_u=A=%G9$X}Y%cEOp2^ZB3Kx|0X)Gkw^Wi&ui z`^?i-B6s}EHeiZ)k2o8*=iCC%(Utb?^)aQ&xo1(4bhq*doU}JrE__GBOPJbS@`PK* z(6FtgRiqkqSd;WTZ<&|5!H-`FqlfKL;u?DKzc{vHoQQ|Vx9>O!h#srYKjNoi)AR#^g|SJ`XdYFV|S^o&3D3w(AcyuPoadbS_Et%(t9xuRU5yDljqbtI4e7BVC)(km10ZTCL}~=-xxS{m?3i!U zhHt;n4Z2#1)`uvXn|}i)n@d?6JkSgCCv#-`d;I>W%wH881n89taYUkE3b+t;m^w{u zhtH=$kZ15Ebi4nN@$_w7QW-L@lrl|JMwEbM%2XIDw)8=Yj+Por3z>@$y~dhxfjQwy zuRs~aDZ#8XR?$~?gxOwN!XwtN(b5?|wQF}|IMD;&MxfPRcjGt5XDABjQ~Y^d!BVY5 zTt+G!4;t8JW+zUyA@{}mv=g9#(6pI;Fa9Ts>5Jic>M%5wxJS3VDP8ABVdH{8{}8F5 z@q3P&a_MDe*Jj7zBl}sHHkU{t-F3hj*k=#FMQ*w-$=b(q2+75-cA9DeVR=Q)*rSBw z2>yu}=bVRx?m~GeW8?PVTohYnzeRw&qljBM#N~c}c^3*cVsQtc#-kulu{6Kuvy89O4>?)Iv`BU`QL@#bM3xdYn%{LeK%xem7 zp?Iya2gfk61eP;d`^uyvVedJl^GVLAPhRuf!d0JQ#&ShIE}rJWIgFfs)4QaZ~c)arXGs~&DT#T zSENws1KwocqPRz|)ggXju$|*o6>ubA`XoteE&*V|exmQO0~u_$v;-M7B6ANfW|gl+ zlIK{^qLSh6U64$W?sP=I0Q=UFr24a+OvB@goq7$UaDK&UtVb6$>q0P`Vo%a>ava06 zW~Hg#6A3*xUyQFe;H26K*~#c`dw5tGMe-XUouMgKO<3f|_UWkqsY1tg2u}W+7CZEZ zB)%MhjDI)2eYHARpOI5|n0x2;*uoVp(XdOZ5b+HHY0r(t`H)m4&v_6Lgp1qa@tY3T z&-f&)LB&4bGDSp;Df&S-J>HRpA8M4p)MqMI4|=wvv}eqJ5j=x!EjfX=;un~e+cNyv zydEB^tRL4}k4Y3m1D@|2q0@G||KW~77nA=P0C3)Gl58vIw@L&%9|`=Vp*0Hmi`_aX zZD~w(O7!Gd5)9H^MSZs!R8rPG7?!}JohW;H6-r0*?5JxgPY^#}(b!og*_(cUl{?^Y zb&-}NEp>GW_~6lv@!|55;|2yWXh_|J><9N!@a+J3+-&rJ=<&UBYWa^c?c2l0Xj5KU zP0!Kcd|l>0AM^e;HPA1DcYIkPYk}9Xm&wcjAoG4X$j|#6Z1~Y9Uw*@s?b+HK5Hp!zy|5x9=kgK zSb%Kj$G^gf+BSqU{Pd0WiF|bz`(K{Nb9MxHuCSS)fx`VT6nW`8-sxZMpxRP3GUp$k z2w`ImTVja-aFsFe)$Fx4@M;<~NRRi3v|FYGj4{TgXBuM&`k>vJz!haK^^9d4iGVj! zke!8Q7}?YFPpx0V?MblbtF8FIsz(qN1qPjR&A`rr&*@U{^z%t;x5s(0v;rI$zYdY8 z}XR3@I+Qm`LJ5x=qR-L<*sBvxYLQ=AjuWWN(a zinX6wet0c>RU2ZO_G2Uswa-@fiP89VeFGg%43`3AGOvr3^to1EcGf(AT$(Fde=smK z+HxpH&lAHEo^zw@Y@;IuRq9>0zj%#__Df5OO@~<4ZZH`M!4|JJbgyHgg}8%8!_Y#eU+PR zKQD&@eG;YVcsjB{`$a`uC@)<}vR&}QTmvH?PPz{-gxx#&Vb*KBCK9)$H_hR-@!V)g zWzJkOUPT^rx!uh7{8}g~3v8_SPe;X|Y4P~7x{(5YX@D}tsHc5iKjA#ALC(wld>^om zagRontAb8(GJJ8_)X3guNPBk}-A#yZEO;&GmDomsy!gQl_RiOoSbBsN_7$bsC`h`D zh_C@EoiXS(Qp+Mi6~>Dop+LhUwF0?8>6rbK$v4N3MqTdb>NZ$iop}=8Zo_R`&lXiw z%q!|w>qt?T?>hb#4Ag`nP-%~a}3XZx&i zeQ#-Qw~ref=2@*6c?suN5rGHywYdyI5+9dTYCEp4!IzMg+r*%nf?S)5Etkj4pcI#n zGj^3kuT>1v$*<_fZXvSo$U>#LF3@`Di-UKTW04NXgZPVCW#(gay*NheQVI!Jo9q>= zLY_wchZukF03BgC5ULHm4u$AHlU>FhSzCVh-GQ&q8Que^cN2d5d!Ye~g4d#4EagQ- zx+Q%fB00DEIMVaqD&ngJn^Y-Sda%VoS!(I}vALPPPJKH&uwB(M zx4E$(aj2_Z%gU}a_iM($uEI*EVodvXh9`?^DcW|U&wt$n_}(nH8cOIX`nEPYM|2$d zikN=d>7nqk*7wwtcAYJw=@1cl(5th`_ra#nhy}>0EOy5ItJKVaW;P%!7%M=EB=G44 zK~I`(NZ4;(D77Ck30QT$V$!!KiZ zQ;(@I%CUB54gTt4%glBg{E|~n@);`gtk{sxu98mG3nPEr67{gg>#*K1T&|v?|2tb6 zv?BG<2dTBV?cC=<(U6=xR>s7xYiC$%*sAoQ+v&Q{wnO3Y&$$^hf>wE&8+RLT%r4C? zbWLZpY=XmPC=@DEKBs>P?DQqBitjV1oWoEXjK}q%JODbOeNT!cKr=y!r@0GIi#=j0 z_HR7om3wN{XwKWO7I(8GW$1&Vj#N?G7aku{!N`vA&GXvF6H#29^fY_44!5NA(>!Pb zYCM|6=0F6d%vK~X{NT^{qn{knY2(ERsqqV=Yl4|RTrzcTY-Jl8!s8iOcZeiU1tSeF z4L0TjZ7Mlnt5yeBY#sdPIKtofv>s%9O)&o1 z!^HhU&GzLvo=R9)1XpdE!}v_^sX6S{jPrMJ-nV-*u$eL1v~QsH(j{!q3<^J*Bc!Ak z^+iKj|5FvwA#!cerJ>03mTFQl*J>OR^G2eGm!HVrQ|hiAItL0=V`;R@u=9+_1MA~< zeY)Lt9<(53vvD^2$0dD;OFL!$M~c5n;K9AK4FixrdCo2Vm4FxD$&J_EeHYp`XV50x zYy!RhfZ&HYf8T08`@FWn9De(UMVobhnf~YcP9hTB^IsOjJ>ZU=yRZ(Dwchv%{lMcV zYK`Wj;L{k=Txzjwa|+zKn#NB_m_K@F)vqJ)^W zN(Q!l3hjG?)QhU^9x1^4+DPpq1;46Hg2ZFfAq8K$M@{LD=qE=1 zYYhuDU&oM20uQUt^GMqrlzDo40x{!ysE1!G%~Y0U2(z^m+VvtBb$ORn>h{Uu)g)hqlI6i9AxeBOm~3L_usWe-BV@F&n?+J+raERQ{MK;x!02P z+>U#OWY3d<@c(G!OSRh@fFu2gv(b@GXiTXcKX!+uH?Kq) zH?B}2m9*&*j4Z2#(yxlL3pjEZ6m|_fjmcj}Amrz{k1{>6hI|$iz`UI^eTBl=j>q?6 zkCVi?5dp_X=tnf@kj;`~Fd{ozjr1V@KLTJk0&Ent*cw*t0)= z|5%Xd@6STgvkQIOf6QcDvfHtQyaG#({3(ibPgP)nNGIz;$aBG?PQTv~eckk{S5#nJ zW?$;%0n6{i0@jXk%FAs;-G@N5(?7QoFrT|BsYeBL2;x6^7bN~*cWQut_xSHMYfT8{ zOuu(Is^Plr3aWuzYNc6u{;&KMGNEx7B_w;H>)I^k@RELYQ~W&w{V#i<3Avl$<_==u zW%!ykTAUN9x)JlkiQ-lwOx4R z7u~l;x$JK~5Bn%L!XFmiVazd#ww(Dr0Vp%zgIgqe#@vR7uARR`>r^?*rR-&Tkyb09 z&`}}pBo9HXGl-UnmlN+`{xKfkPiN&y{|+q&MzjLyiI-kM#wwQa(Pz<=AAm7AnLYNsv<4I%KF_m&cZBy+?Z9_Trf> zT}%E?|E)ci)sd_rnn$1EE*(QP->RO?!-}%Dc z2G9FJeZP<{ooxd7ZD=Wd?f)qEiSyBB(lXy8wGiEx;h7?5U`|UOY2+v&g&IA*GyT~n z+W!m>S;b5a{>C}e;2K^99^Tg5^_Y%xHqC^~cko#|YXNQjo$D)H&ra7?1D zQ#gm!V5=OM!?mXW2o5_fBuNm9N5&k31QGAq-tGe)DW`Lm=w1J#hu<4=cj&ye+pKR# zA{6NhRe4g&M2UY3@kawhM;roDK6}>YW6uQ5;t_`x_Dgvd(J_mQS@T8rkhJ4b+mFSJ z?bQB(dLRD{pK+TH2`x(YYC77aMfiNhucp`v5vg9u8X^gJyt4O=@l(Q>w{Azp453H(C`MaSB_o6w%S@ z7Tn5*_eCfac-+=|?max?JOpw5WtY3IDuwqwVB+|ER*itM2sWOLp0g}$lbZ9`hd#=( z4`|GsAJYnm=XsSgBsoZI*1P6*Fdh}DugC4cQ2sw3Nk6Zk03Qhi zlb7-Y1=?w`rP)_cdpW0^LL!ajDxxsTI#rcMfi$S_N))*DG~fy_+2>i`(-GQnJ_9GDzC?hoFj-cxsb?UDjSh)u0b2JO zw$AE#|Ad1K-|;BS+_a1R#%?+RZz*FoIdvt0jshztc4Nn@M4o0JUlTkU1Y1a-(F61Z zG|BS9XL#-uM@>b1*V=8|O%6|o*C6zdX+A)9^4PcUxcq)RvUeg8GSM!lv=d%wyxYy> zh5HNM=yYE+V(p!VLnMCjZ(VbCW5GZoy3CNBf}|HmQCrVYyYt{L>Z#hkmtW$LwTW%x zU*2m*1{h7pP)aBqj_SM)!#3RF7mmxkl2Kx2r@5i9I;5>d$}vtE(v1_=-R!lP*vQ-5 z!&^>zcDKaJrsTj^7NTK+LiUNur(iT1Uvex%LW;Cr40J4Ip+i6m+#A>8p+q`p%z}44 zLUkRCC+6w*!Y&REE!rWd*hC3`_eiWP@q+ir zu^v$~ie=5X1Uc!v1YgU+gO~nS)uT|qXaDRB#Vjk*;ZuFYw|_pyS*5~otA2~ z5hI*Ql$(xf#cwJ&$Ufv4u8%>gn48-jAwALT(Lyz1dHN6HM8gw+8$` z#pw5RpBYTj$RpFOA>#O2R-Z*$%EOJ-jO*^~O+z)x)76=^(+a>&sz%pqGtDCZD*OP* zR3OduT>Fx|3fd`v6sXBze~rx5nqM`{T4eS8qldMn1!)k0O--g+N(+g@6CDefG#x9zXYnpH$NjbHX{ zsC@3TgnG{rYZEmMor%ZWw=;#s}gTe>X- zF1QQ=)z%4_)AWHz2NylE8UjbG;_6~~&PA_=@MgpAyE`xM=wf`&B%(b3uo~)b-@{1) zVF34-c$EGfOg`wl6>Ob9w$b`B8IkGkXFnL`#)uWjqX*vl_-#Tpm8^bYNAw%i>ds?+ z3KQ=-iq%2Z>^Z|xk0?=SK3JK44Qn1OS2Vff7hdDed6#{X&L29LbnUl9*;e^t#IaE- zKNBJE!b6VOI}+`E)XgoZ$pr-xua&Qr+7V+rjt6-qWv2F5!;a zcSRGj9s2BC?qZPla{m_m=np0byI{w@heru}ziRS?q`1JepWk#@FL1^oncAD&5OTVn zNAJM+x-?GeH0yA}?Kl>|50U^jbWl#)o_>n#%PX>_5zZmVFPmf`u(KrKo4Pr4k>yXv z2RY6j;$FSKtbMQ3E1?#|s;(Z~p$&emv;6_%G`@3*evqLk zciUvvgK^+{84I45m|Uu%gby@QAQdN0s>!()`pO3Yx?ib~7?(g*bG*pSe_anSck8PX z2TS_4{0;cx8U!a`xlflb*1_{txnZc>g6NSA@0!iK(MI-AMhw1Z^K+^M2h6qRz6C%d zxX5F*Hqyd$+Q+%%)81$>oRp&>Bt-#vFbcU^yB*yVwnALg*!Zo0%PHVHfB?U8Nts&c zXo1BQpr_g-E1qzIAYL}6wI#6agCR=i|55mR?Nx>z6=jV|31>UsDICEr^M||gK9O#D zs#+9201A7vpDpmq_Y%zKhZhfHGl5gkmYCERBL?lAE1UNF)2kz_!5a3(e#xc}iC1%u z0q|d1(_LaT4N#&S4|o4BE!l}7K5(sV=a$2HOoKICjj!=9hb}fDn(x7YNb8ErWt#K^ z6nk_cZP?)C&o?`$LhhB+1k*XF-uEKbrO))ao-rPeMw9ktPjMBQsXoWrUvl(l62z~7 zJTm~5KXNs8BRS!xg{Xr5bV_F<@-WFBLke(|u}Mjil1PRkJtMzv|FR|?B)>fU3JAm= z36Pa0Tp!hIfrUHrX0*+*oH6`xhn2_A|DKqbCfdbfWp+imeU+H2=a!z zI=b^Y3V5wKsv^UjRiR!jChBqSinG1w9mR3e@X63Sk%>03Qt#oc%KJ%hY*|0SnFAv{ z5+0a{>1uk6qPEVyf9?{P4-AjAr*;N?t7cvTi3xO?GPJklwh;W^8uA0$5=;ePgX~dg zHhyEv+EUx8K^ziC>EiN@|BrsG{@s_=fi3)lxSdaLRl?s7uFUQXDi16)KcqH14HfBN z?g+>Gu4-TEcdfL?ku0H+0a=CFAgBO!-7qH<;gwySx~DpSNpqhISa&%QJBdIlrgD`~ z6l!*s*u^{j)*lI?9)#j!`#s#IsgWVN2Bx^5mDU?2^7zI9OhWsvSS}uV1FRe}*aexI zlnKN91Y|sz-S&(ZLP$XgJ%L^_u#({wj7AwpPRZbBo;jOQA7zIMe@} zjVw@i-t8I3dyiYPQLSU7Zo{i30?|NDu!Rp|wa;XcHRjE2U>k`vJ8w$TE6!{{h~OTz zhfgF9A0k_GJ0-^x|8R*4UNie_Gc>ohhwny10xo>&6CoN`XB0~2NODQ1=QePK?;kB= zZTESkq+|nz9o$1p=?}THtL`9ocKe{zKYxjz;`(w~%q7`~4P-VlEy5-{cG+SSy%mTt0H$PMYaP5D}>BtpmRyFwAOJmo)0 z$~p+_N$mn~qa;>z$580?+f(J6-+>n(LEyME(Wdal-Lobcddn$T5CfLRI`Gx6PD!6z z0hM@eAU@!%2J8vx5(||<^tTr_Fl2{i(iQNfiDx^dT?%banM-{cfuY7eczyE`@WeH< z1~CpUYYGOz!WG!aJuy-`Di`;!gg;#sSMA!!+pb`cq`Js{Aqg672o;ZQXb&};{{shi zAiC-kUVL4PJ(H@2EM<%~@as0<5A=8Y%j<8l z^yNt~6x@Vqs>Xj3DuHk@;_E^?6LMlPe-*>lc(I!l>71YXT<-#I00c@n&FaJPL!h!Q z6x*;pih+aLGbYsP# zS3xp9w}$VI`Z%6P_bct4Z==Kkcl_Y~VOSE~kKYg^lG$BE5*9_3t3SW5#4Cxwv}UGB z>kMCwPrdkjGxQlWS4g3BtwPwNK2v6ojo)^&Nd_1%Cb=*%-Y3MO99m-?FATY zAiH#~g69+PGI@N&gr_pEUVsS4$)7yemHsDBP1-zJ z=cetfl)29=Hh^KLWvJjvl0`Y%=ky4WfH&hF@e)YzcaF=X+vt!tc6n?YS)}7WgsgGt zc#K{osO62ERS$g`cob)4Y*8s! z^O)^6UHH&7RQ?+A9S&MY;fN;C%`y-FbmEkMVBD>8k!VVe`0Yn6QsC3=d)bp6U1mN5 zYLa5lE2C!5ez0@?B`NyCE05oxlOI{mWH5<&uc}=C=8sj?rVZHNFI1u`l*(%bxO;-< zh~}z{g^C2f)a8b_CEkc%q6GMArVjq?#&teFG{8zk}=J)Kbt~2u-orn{Hje>)12ZC z#Y9yxl8aa}s~5Ntqk<}(D;fh9z9PiH%xh9MO&kh3kEc`AKj8Npmoek~>g;hHsJJH` z|Ij3s^Mz0}jKL}BmlWRP))tccCFeY(T6lm-|7fPl!%I(a-WL9y;zMl|U7f@__*0q5 z0CkQwRe9u+mdRi<*g@H}uOb@oxU6As(S+d_x2$`P^?y_%G$_}%JKz=Is%Nzah2 z<7SZjeNspshj@~$cSS*kW92KptyOs|!r;HEdpT_?P_bj`LX{vI0_~y?$u@tEf0UAKkI+ zwsk#N>O1q|Dl1wiwY}#jM3g)D<06sNOt`nH8**$fDRoE@H)eCjxA+s#5pzeztu>cH z9l|)x1}Z}PJ*2}r*djL{Ks6%UXLe33W+_G$%vQ?O?fuRF z-$?V(rr&A2kk=BdV$s>2IaoBgBE{~@RI5JCId)`3$X<%xNrX}2qz-Dy2AQZ~WIq^F6n?d&0M@T@iB%qBgH~Aas$o?Tp_Vm#1iCq^m*#Th}F}PKY*Ro=F8D7@;25tSvjEnm5=-c9CG>9>+?obY3*dynYatiXp#a z;$qMzlH^L*-_;l7b*hZ@nB<{bDSGGA0iN0!}Jm9 zQX?l#u_#sCT2W<)`vnY744?e%vTsBvpNg{Ea0a3fR$Eq`PSJizQfsHrljwe^_D|5h zy*2&>pP$F2B;Ld-&;vACcdsIIheXcf5qO+x!Bt`}?i@}kehAwSr8aGmU!LZFAO zw&V|hD@pv@0ZhZQ+lc>DuS7&UFd#<%@M7@frw7r;H#*nOUj#3@yzj{>>4TepEd9b~ zL*FkD(K5F1+O&f@K(6g@i+ntD(bY@!V-Y44Ky{vh@ULWr>Etk4Ney(}*42=$jQ>_@F4xv`s;Ij2e5y#3)*&rX5J@Xt?fa8wyv5TDZQ$7H(fPU3uyM z9_RlK!&~tS=BfG>@|5#);KiazojO)Nf6OUvpIf~u+y`9nSy6ysn(K_R@KqMsvd4@n zKee<=?c%&)y)b)6Eoz2XNf2g}7#RV&o9`vJv=$Sy<01AIp_Z-pewMigJahS$jPX~T zg5!>pDFq9bTY9H*`5wld_<_ZsfrijFYb1Q1Z{lo65GR5ip2D1QIEz@s!Y8kMZ`gQv z25g^jNxjMR@KGNbwErK92s}&=rD+fD);Es{bumHM?dQvOIa^&9&HYx#en4i zE3Kai|3F!TDP3FR^^n54P#{aY{c#-4l6p+CxR2V;MdR8+o>l9(ki*)*B#rmTJO?NC zYS{IA1SJr8$u>B!S?XNtAWuyy&njaZQp)^wcLym}?+Knl7GS0DNC|ol*$MID4Vl1R z#oJ*|qAGc1rybt!F9dO9>R% zobH^c?-N36LA}(Ac@f^KHea;{fPezzj|{Vd%6cM7-8G7L$NR@ZY5iWV{lrtd?}^Qo zQ_7PuWHF<8T*=n$`Ss&hyR6vzzugO9Nj`axK9A1GARl#}7fo&Fv5iA6tbYTD;3tsh zi!&q6pDp$M3v9U7W4YwCLlSF?-~3@!OI5%GN0 zdK!%Lue)?QomHD%HA=|9FqsAJce67qI_AQrEL9PWIlnRqMYRd{f3ht8&z20IfdDV~ z<%4klT}uNXBz9P+7w~c&KD8AfMfmH6K&7lqHP{>>|E_3Wn zKMMxnw5l(gXe(Uv?ty;|dBahDQ!)5nJvp&NQKtvn9m^W;kMmkC0D|=)n3!X7CdjGllwLQ=H zQm|2OA0i(B1LVjDzzs4vsZ4-!_$I_ja2z?zyBBeN`wu{UCSj zk9VgDwZz`CYNgPF0Hsu+JyuzDH4ck$S9ekZyFF#bu7Hkc{k?33_dYQE`%>gMo*Pow z*qn*MkD2gKyHvWzp5$@)6hx)62%2Qs-z10sMDv{`J$V%oqSAkoQ+(4W;&r0vv=$mU-Un1QDEcs%Z-)`nlSX;1EhpqxAspK-I)}= z{TsA1c**S%QQ^%BH}LiJswK+0jYy%1&@-ilFL;H<(8<2>eKJK@wEyV%2w~&wW|kX8 z#~o^0%NUJclj7GQg45rR1yW!|c9ymsB{ZrSyAQ{iS{m=Y}m^apRS5FMUMME)^6r!&>I$yDSYIDl>O zLimmsT{~v|aqo~)kT+84n2os&#-_zGBH)HK1~g1NKYheI_+#Q7llGp8_C4$!U2lw* z6h#caOPS9OoF2RhMW+6#G6I#c3Q*`2_V~0bk7_8dy|tF z%-m?cYp-ShR;&yGT1sg3V}@M>{(1(~Sa$-d{laxfByqRvP}N=D(EjriYfdgng)}fB zrJxKf`4=kf&*c%5nti6XKuN~$tc$cW8n>M4`Yt~tz(7v1mYgtl_+A10nu%QTef@yG z8pH2r+DCn*-ap$i3*-GjCQi{mJC1?*lou|P(dGa^AV5Z31cLk&6w&D5NnqcwKNOBG zf^{pQ8lZ+-iW}&}@Xgw%H*yzhY?wkGKA%8~p}_lA(+k5<8HN@m2K>+y@Z8WPeRL1o znhSYhKWqd{>op3yyA5hRY)>m#H-CAq`#AY|TzxVa3Ski`zoA|3v&X4C$^C^rm`0&C zY+BOAf#+3TXI70;eVIFO@ns1UGYVCg_DevSd_*k6O&h_PPSM3g+xZj6PZP_IfP`2s zJ1Twkm58etmzzHtmjP5eGFHP-8QRm3T+lz~{y2)Uv=F`l`=5OD9Onb~1BFMVfB54) z&HA@{WR4#Ro}ixG_Q)|yvhK_{R*cIjXTV-pbRofE+p295MB+a1SOvQ(+>z~_Ud_g!>Q|I|92+2rXT?~c1sV#x5*vaTVn?$?D2GkUU>CUT5PKUmfiZ7KYEi8g6VQzyP-8_1x1X zJ?f^YM;|E}WGjU>x5jCBQ+(|OFphn9Zk?T@o#Lv$U=5{VL_vZZ+Y##2go6jyrZkL23=} z=n3$)r2jOtei=~#W4dw=i22`xqW`};zqP&%t%<+xy?M+J<2z^K0pPewLLqpdH9s~= zC8M6tcOD-BzZ9xW(o?J?=?4kmNiNW3x4TrU;Y04R~(7sw2km^3clbd8;nUc(D{qFU?A}c_p^1qFZ}s1jeqHLlFF0Y1-{4=1lNux z`^m(QU5nKOg|6m2m+}Ehrt%jc;Bq8VH5sC9&I{SQONqnn=vJr)<&;9BuTM`!`-~Hg zWl)Z?&zbB_N|BdKFJ%(I%l^?Vue`Gy$WQy8{q>uk@?}7SrcVZZ{_i=c-L^_iq5p9J zzGi4CNIFQpe-TI$5uhA@>^bUi<_}giEuAP_sW#D^Y| z_P$@S^K%i}hXr1na$F_Olg^MI&bVKohsONv5ET)>b>i0-t>ZG{IB^(GK4r>35^@I6 z-=6@$=ucYL2ArplqoPo*H}Vq#ti%W8dhKzH80lKyZhCMg)&A&deB+oge6j^kYEF^_ zvh70LSI>Y;a*&j{{CtNoZ7ZX`ce}qfKEjJzoYiwvUmL;X+>gpjtYRXz?A$P3Eg;H! zB(PpcMbDyLIM<&u<_D|K#o#H_={u$VMWTBQwP}k>pX*#8Io$8fEeEpz_G&uQ=UG`t zzf-1v?SKOP8Qx8OotF@OdPoIz`2TAN_yA~qLTJ8&1YH2jWRdvAKiv=$S$9W019V!A zjtmAex5t%JpJ)zt9O~uy0M@Y>aaJnvh(FXOWeP6IgeFGr#Ec2e!QVBD%7&q)6^fhi z{*ZzCh_4-~MAuXX%Q`XM>JbZN*c>Xx}3M@~{76eYR9D=9O z63kcApXjtw!%WCWH42wwV%KwfuOgZ?EO}@OLO&NU%t60lpCB?=eDS^QdfRH3@6B1V ze2bC`Z1xj$8nx4J_>2xf2<^@OAeWjUp)_Yfm3X0UWml%TUy!|~QUQ0BAW)ia%T%94mKg8A>=wOgsmd8xDTc%u=8#XE?+ zY0ulP*a1%M{5B0!3%KO6%Ov|ZMBaS72|Edu7rwXVkWmBQBM|;4?f9>~n!HH#Z=DNO zG(dPUg0+u1I@P=TyjPR`Jkv^N1J)Jrvyag} z={eB-1-Fke&624YFdn1$YYz%v!si;n6&hg>X!M;zh-T+IUVUr8gD8>g1T#Sdiu^@U z-|PiE`T~t-$@0??87|2J!kZ4B{N6kMXP(2QyJ+~~?=8HE{g}iz@JJT@U!+ zUc*<<>frr$pwJQ(w$WE#74VJxeSaJ9m`vW|WNuuh?);moF}TsfHfe*xB8j{c0sRYZ2|27#Z9cdzD$yUqxg7b85qxRF~eQAmEt0A96jNel61YTpGkyrQs@eh z%pVS7^jGV}J%!k-VO}H|XUH0bSwd^c9S*mBARyEM9X+w+-NjK`=J&vWT4%mq;evU^1M&7Q=U!9n46oO%#!LWU|wS_oRZ3Qe}DUHz^TqfKA65*3G zZn~T=A?=_7a&YD!xMTdMubBXGY*hWK?AXYXlLAeB3#{*6r}&Dl01aRGNB%$0Uij{x z;=K;D;da<>y!;Z2z>zz{o*~Q|I>qrQrQ*b<`qQP9GO_~~K0h9SU#~_#CYt|~`SS9O z|EqZVu)_!7!89zXP_+Cf3XU!}m^fVu-|a036cSmV+}@AX*+X>&;3!l#Z#1Z9+cyx~ zv#QN9)j5&ASh1#E@r+lVwXg6+o1~oxTs}Zge%rNmT7KXArMtL%_hg!o_G{2wwBG0Q zUPYD@A809m|GNV=um>)0{NSSE8u*8de}O^v9NaDT!?tz~U2{-F;L|Ltsxj=Tx5zKr z_`^sOJ{1#n}PAtyw=fO6AU{*%AxY)xe3m>w>%y1 zWk~iYe>s5k#P|c=PXk^vy8m^J{`<=r?p>ZYvzD^jTdEwR7YuKZAO1DZ#n5 z-_9yA3^~6~cl*BY<%b-ncuI=bJ}FyrIwd)ZfF|KSB%?AFx)G?GLjSnLffjQBp{Bgr z`N!>Csi1XJ@7Qpp(O2MK&IZz8dD2pQtZl+MQjPuk#@UfiU}rhp>SJQIcsRY`rf5b| zq4>HtcmTcju%5KmGSr{|SIg;Oz6tl0POFOBMs1$S@uSl#g(!UGU=?K{hqA3bwG9=q zL|U5C9CgRYV{OzRT*2-WTmx`kZeVo z`S;6#z2Q@YIx{~97FIX+*bDf=YuC-#%3k;+j<7bURBKfF*q^%N*)!*h3le>~pUAFH z=A{dXItYyK6Cc9e?LQ$uT6B~n$_CvzpWMdgV4OrE>WYPJZ!>J}egMQ{UgqHtHp9Z$ z3mRyIV7d1ut>oRP6Y(yIqtt4{w?ukXVC+xGb;Cc&6;gSK8f+HLB_@oayErOdVheI1 zSpK%Kp`xA*d)(YfA$zQ$r!khR9aM>zsxk+y1Ie$5eQn zS(bfwEqew>`$MAVX$k3fHv1e~BW3g(1;}m7+fN_sU&uSPLk}kTG#INQ?eytZbgV%L zy8ZqH@59iysV;4&O~EX>@ZQOb>t9jv46Cjknc01yjirJ}7VH+5hqrGR))g1h;DGz@ znXKVMtew`Ts;j1Wr#&!0Ymr=WFkjZT|NT38B{g5i#Jy8w_Q#p8~D3 zN=LbngRP%a2e{K=)ai1nzb#kJ-nm%Ma=-ZSa~HZRRs9Cb&+^d1@f9l2)Mr9Ps(hu0`YgLc1e)>jbGsy^?G#P90Ic+nx} zF+A(v-f#7X06VN9*53mlPiF2lGK*9DrASm!5N2W;&Z<-A`U`Q`DJyQs)?2!qZh^W- z<%23rM&unl5ccFu8stVi!quZaL#j7_KO#Rx$^D>`?fD|I?V*a0qjBGEFbrk1@>bbp zB%3Dxg>D6a+WJ=vwb-*Hb+5jgPM|z9dHhwk9jScYFyki=Ft`YFM`U1s5a*)6NGezr z-@XzeAoA96iirUMLwqq5mAK)$NiaY?3n6^%P=7fWat4mK@zQv%oT!Jt+s-uzGoLQ< z#59;?=uohYGQ`mK@qVTtyr8TUf<7O&d6y2Y2AQ{s1X+8m>!@XrdO5KFeLnWfg?bZ( zKu!HlA=m+|#2=)a<=+`F{{~hlY-trpcM$^vbRm4O;CV1Vx(L>zY{zJN3 zE|v0wJB)BBw(o{#Yg|)G$^HKAYrzaBict>g-HSq~V}c!M zJbK7z`Mq!urMtYWgp@SJ2RQuGKoZz*68)ZLv=|29gcx^A^j`HlnUxyuziGcWw% zwfbu3Xh=o})UrViikuaBiuH4W@%wB09n&xGdFD@i>Z03wY(^mjvA(U@dSDN5%Bj_R? zcpn<^P3S@p!x7~?t#0%r;AKLiY7B6cw*7$%OY|qb_UNJ6J{dM$+}}@pWrbixZknvx zuH#!?Y9xAHb4pFKXj&+k=bqPe1u&{kkTQG?tiuQ?`o5MqoGa04<2^_h3w|e|8wZf# zX{F5TkF!JWIFdsuvnm@#oDzjS^DjQZP?n;~ zxNeF2V1J)h*#QMOnne$+J^6NRBz&r(YlTMqAaI=*Q;TX!c>fnR^Xv!^V(o(Exgg_* z^=N2X>*q1|jROT1MvnD(h;^=ZW+;|T3whgY8A8#uUUCL^3OVr}5ai%Cac*l^p;ttc z+JiF*@2-J@AD;SwarqwIRg?@E1$+Q;qMDkpXp4OaWziVLt(@6LeM5jmXP)5$9{{iG zY4q#Qc5S-xn2Yuh7602fQHQrW?Ci@JikOiVf(BDeU&mnZ^= zcL%nv+UDMrIBYwPu(kdmKAV3u7%|0(iw8naTl%C5+8_#41R5evijs;}dgH8`Qm^Vn zK0AyHI^c3r51XuxX$Tw$5F;XRtZMY;8TBW&x_5fG;2{AE6>uLMqRjL^72J`JNY4XH zD4_gS-{|G2T1lgS`q~qd`5XV@9F8((|1=0HivZg@pawNzL84IDys_ce;x?`|DJxPV znN0Y!R$P%3eV;N#y>h|#(E9Sye&$O)Is0a!hl~dz7xO~N;;?JB)X73wu7@0VGs*TO zcBtndH<7t6ya^}@su_~Ni%h%Ubw0RRmochn!YpM;JB|0!(k$fFV~PcpO2t50f!oFS zBL%%-DCy2fW|S;i2Y;c9uKJNI{~;f6bX}!eaf;`sr9{p_vrV#|1*F3ie#%=9zu9Y# z*o7`b>S{Yr5>ZIb$D_NkGlfa`6tb^odVBhpT+bZ>yO+w?-&NxLec_7hM+P|l1-uMf z57k( zEq0IR=kzVL?59=^`#c&d4&&eZcWk`_XPrTaM<|$<8YPz5YyfMI7=Mi&4iu*^s2JVa zd+$pT+R7W<)ZV75v23=~y}b|6hVxmcM%=O1J-(Tp2U7v(j$J-!03VKOH;TYHxemV~ z?K^G4V{BXdpYMj$-&FEI+|89vZUWi|Ybgb{$(z0!LGBe?k+wNKh;=!^FT|$s?f<0y z@;xn$ubW@i_KtISP~Kl4L`vYa*SE_$l8jTfj=RC8yA#`EOAl~jJ98(8C}fHhRt>w>7Vk2N zVMpB$B*9UJ)|RtHm(W&ly-|QY1|fg3Y%*$rP67uO5IU4H1V)L~zVD}H`EU3?`u);k zKDUcm6Y8t#7y39I9Qq5$O6=#!5%&a=yneL{_e`?BA0PYpRzwaF$sjW*!n>RoLb)8g znN$}-|Cua5mFJ$J3W1SRboVh!f>tKglJ|Y=^{J*=5vpqquh+eC1nKDXXxoH_kK5wLSf#yas&` zYoh?G#CX8g^h8w8Eyxila}+JdlwrP1*B~Zb>0YV*)83w|(&Wv25|YLUq^TE!CMx{Z zKQM@B-^s=^?Ar7aSui{77h!ClgBEt%P)eCaq}*FDMJ*!-t3g1IXXCRAmCl%o10qM+ zH^VPJdPd|de-x^?tJx4W5AX;{;455j&Kq|q>|Zu*zjAGc_m>6Vw#0m<91AgHiRh*b ze>*vauuP-fAx}09#Sp|Y9TwHz`Hu2Xo)kgI992^(yY6J_z=SU8w}}+2Q`LYIJd`@$ zy=a6%#lcECR%n)zeE>=;#!vPav;@WV6wDnKA{!HWL>&8HWp1DOi#cIe6s-|$J;aLFM9)S_B_Z{mKBmkZkwyo`nRSVs61<6Oz;!Go? zW=sokT*H^o)88M=kRuNO;(A_62JXJ{t^jV1Jzuub-rnCFO>wdNsZ`;p_NRk##4)I$ znBLVvq@TwXDnQrW#ndQQN(2&JPQG~2f@Tumu;SVvPPe7QvDAqzB2lKsA6aBQIN=iG z4S3luUuBdgrB_1|Y05rHURXdAT`dmISdsJ$*kOqaBl$_DKGKf^JMBU|GHG5i+GwMm zf-)g0IG(E5+zX3xu9Lo{j1n#}bXmH&;gvPVyZ;6Pm@m2Y>8UOgdinRPgDg4W(nH?p z$l^xGmQ>PI=;fy3RWzI2r?KOTqc~{vmJ(d?53@*(>~{_?+*`gIR@Az_+!*S_49Fk- zB58ka5)9_fXzB?49ciHQ$c|6%@%&26A@k))Olm<-ORgQXTqu{z3o9k~;id9iA~p7L z^}1;}pdoQfLaO(5I>lh$2h8P&2pJAD@Y$@y?WFTEpArj%=J-$xtm#+>@>~RtTf@N>B9PvSn6mV2r zs@x{smBf47oS@qneP^Pcb@-S`svV=t#z8>?0w-QhET=Ck>l8rj4JP+j59p_euyu4! z!_4QtVWm`ib?V4cp&$I-U-~mYW%yT)h(M~~6_$k4_~$++C;vpzy9me8cf&Whwo@uu zCX(ZX{XP`wD9SWWxdLt$DEMhP0!d}2AsF$gX)85at zFoY@|Y3qb*2VJ5y1p6a#|5PVJp&*ubd=u>=81ocVGkDX_t$a@pv0`iAGP7W^oBwPE zguDJljlc%Hg{=8`du@G9O}jj_%#VRDe1A(zg!-d_${ zK5+ysk!!r7?gRGo{=OOnoZ{zpUZb|I4d8dCAjj)HS38Hc=w8AbRCB%42V8-Ko&vym zjK?0XH>i{Z4e^j_*ftwTf4VF5z)?KY?@N^j^oqbO{P>Mz)2j2R2Lh%=+I{=d)yE`p zc+I%pBPY%q78o{$`&hcpiCdii#noE|#kob>q797%cX#(-2^!pk27)J8aCdiicemgK zcXxMpf@^>PL7RTxKIc~5SNA_vP|fPO#u{_TovuBo_>G~S?l)T3(I3L*gmsJV)+d?) z2JC6tNq0dE7(AJSHSfM?#_7hv+0ZU3hgxJ=V~)siqL9~Ns8P?yZK`@l9)aSQ zre#n9R*W#}tSPy$x?YEQ^}3G{cBMLfujd}%)#L}z6@y(xk8Mktvvvmco5vW&NzoQp zi=eu23OYtI!HTNbXp=@vH01pX6=*Y-P#n+3?4Do}UX_Xg5GUHe`F@gVaol1Q#Y1$# zNz!~*QNVl`6Csya-LtWyKniu;Fhs4sDp)QxU2<9iq&ImUV+ZYugZ2PlabZX{Z(DuZ#&6*4jHVacdNCgV$8gS5{2;( zGqvJcYh;e(YO_B~eR#K%ofqXzg$QbDviko&3zlCVyfRw$lUl!gvcA7s31|6!`YY~5 zh95BOvhKZA{`A{)VRMaH8HTX4E=ZvFN@-4;XXJ9oQJw=aEo8w?*M$a{54K7}+j`A^ zUWZ%#xqX^6cXVr~13iUZD2!Ehi8w+voYtHf6&?(xG`l7u_^<$Ol4AQKXuzA3)55x!YxuOg0hwV5TomW8Hpxb9Ss zx+Wh_PW4BGd@Fuw04~i)`Fk>Pk1+BDj>V^Gr)xd{u3N;3wXaDtbW3jCzKXn5t#^u!4A{Ixd!MbQsQXWK2h7X-9 zu`>&W(41E2gaG!;h#ngx%@L#_ z8xvNgKW2@Xc(7kGFyNz934Q51(;6Xz zx~g!w%5rm{?`x#y|CWgSJpL}_Hw*Hn9;_clWwl3|xFS?pe7@F+cjN=rT)!B8)Eeg+ zw$Y16q#{#aC!%3Kt}2HAy+Yx~QkhMjD{)jAacafAQsme>-l&tduIhV4l0A)xhKQz+ z-0AaFdD-%QxfFj5T^uTlYUTKF6&g!PC2eVI2rt@chiVO$I5%^A39V61ZBn-Tl~Ns* zQg%s!U8y=2d!xv>|6@}SzVfL^Knvj&T(zk*Pky#%N+NuDo>BUZ2ZzNjH^gdq0#_wk zJlp?f9@_o)tPRFptfq8k`|QwvxJi}HLhZfE8UIi{^_55FS1U4V_Um;I>;PK%8kFAZoFeb)zZA z`2i=J-ZZbTY|Xx`<;TV1+kaW2p+OzVXwv+A;=ci!VdW*kxzYFpO6B4x-Mno-eNGa2 zv?*)1x$v)R?wil)iHfF{kg`I`Q-QZ_Ow3hJuuE!Pr_1j(;c-4p!gZY#4a<~t9?XgnN3)g%pIU4t+Q#{N++ zdVl48-v>W$WoGfyJg6cstq(mSn==TTMO^a05ecuJ6Or;er4W4tUs0lw-$AWm z7iFN#^f5rVSl}H1VpztGhpGB- z7p!a!rqhr2gnrm<*nlN@AO-c>AAm%E9@T=Z@tscV8zl-8HvcjE#o6q`JFsl>Q2idh z(b>XMv1)XAs141Mer+uM7Jfnm&xEc%(Pz%4aOyC7kZr4+a7g96b@GhFSK|mobhL!~ zm!%*^sTYf6p-IrPreG^*Bt2LJBq)^s>q!7IINT~H@Byv*!;mZPKi{91#>RnH3L5X8 zJaDtjhaA+&8m-M^;9~Ii->MA~F(!DqxQSw2M#R>GzZGVD`|Jp+g4HR)Vxb?Syo4WS zr)AG0_a}G+NJ6&zpA{Oc(sGCC$bWWFJ}RNeX(i;1@2%7vaNP2wlEAJFzB|8 z(hp|<*DpmYnQI-6x!Z3^?(WT>+akLSx(agOUu}8rk%wrWjX!Jg^i190TJhlWAL6YL z<-v_G;oC78q-umBoEZ_CQ;aH$1$mj{2R7EdWb3j7CjFjIhSqfH{97I@*^Wn`&HcYL z9ufW5zxkOv9jt~N^DbtEa}0IG_BHG7ywE{|O~#kG4@@^=%F}tML(FXvbmyi!y#*5bSZHtd(cBQ8^j>=^9}A39nR(cG+xLsE_etk) z6W*{eWxxI*xT5J{*B{g1>f$cs=xZnzJyP}`&KpUTGPvY1A zD)GcZPkg*X-+0MUmpP*?RC2vUIE#n z*cUC5Ckv~vS9~yRS2gZm@^TThyovmH=i<9qyV2Z{Mf=S8vQ?mNmUV%x^oI&6E2>=X zA?uRIZ>=-Ga}-NIJ;S{{L&g|$OSrBM5Ue>YaE1tm5E|u zNhP9g#Y+!*={9i+`R00{3l1AX(aYjZbcTG8Lw9;?0UXfu`C3a)5vsJ(QTH{&8hZ>i z8*6I0sVZen&wl$UR}t$N7Q%jft*s4jLb^%R<8VrS;SBQs4{DzErwM zc#wt@NGFw2RS&UdMu)`l(mMn(s^0HI8)Awnbq(#X6lF~!VU$Kkg#hN$vD#(XiR=Ih zvw25k^5ptcDfl(`!MPm%(Mnm$VS<9ja>T`S`v|J&0B`QjrNxQlh6jkG0BuS8HWaSK zwB)L^>@1up81U{x#~Hy##T%_*rF z-r5$%uA4h6p8C=<5mYxtVz8Y;+jDRTNXSt9gnVw7<>2nEHe_w)IGwJQ=CIR;ioRS)`IESvDu-r8~TES-U}smXCY*4h`sx)h84Sr3EQLt zO`~>yIS|m!z!6({HeyAH5igw@D;UDB-5+ptLZ_@5sIufB)1)`LiJGuGC1aDg8y#xW zCJ>F&pCi-^h6P?~`n*x1b! z7)@4`Lc*-FY+wx-ndWoQP5FNH@l{XKSSftQ=h`xrA7wvrczjl2 zK*}y&3B!IZ^k1&@PkW$q9Fysu>oG%q5_!#teVu`PexlYkswjep`?`O6(*u4KmW8of z3X6`z*xv@Iug^Q2pYalJ9U)9%^Y&QE(E}+lJ-zsiTvj6tWOh^=B8Q&PpzU8)s$(#O zY>@q5R&`dLJb(NQGtf=9qh9h3K^HnDU~PiEw^PdO$54W%ZIO`Q{YK?4>7H!)qcF7~ zW$H*|1_3Gs@Mb%^tGD!*g6r$m9}ot}iNS}Hku2a~*@y>YEg9#X%E1f#vh^FLR6zgs z00j;zQZYA>B1zyh0~7B4rqI$w&tqrNEz5}a*Zzm{;!9kspHcYR)ncuOjaLH%Ct(Og zFcFExYeIYi*WL$v8v2Ny_>jSN*CzboXR{MF0TmZl=g@ls4F8QfjXm4Hh8RQWB_{rx zJj`p#uK~P~=@iZlXqU<$(r&5)T<<>%_MBR|bQEuHdQ*a%NC9CQbCo64sRMld2CnCzsh>79 zYwc71ZE_p&b^Q%L_y~|LY*@8Y`xP@9iLwo=VHU?hr6AMk^I>__-U>>g{L7x9Mav8f zSY3sBp@s}x#d@tN3JkubGxb04Tun6AUqoe$YpFIEvtd7A-VgqLOsr-J3{fat>*niJ zAKvqE;09~@)7U?|Xyx__q*P1#9A+U8#%~U_E8CWySBD6lc)NJ@{J{v;!L_}anL*vX zoky`c2)l3bx}23;i3a~AhBH=_#3Uk1(^!}l$ZyxT_ZosbPX^)Ab%=JEwk< zd;Q{=5yUQ5sg>`*eUQv1XpJ6nRLKycS**8KkfB3}5^GhGFS|^zPe2v5Sb-Lr9>U3a zkM!Uq)Nq!~LN+GG{+y_++ze5U$;yY7ze%n7#PCC5WVcU?Fz0wXRH%r@lkL5y{Cf|j z*wfThFzAJR(-5%o0}#LwITtf!gzY6xCD zpO18v{q8Q0p=*M+Z}Rw7kxg8VAfCkGi~!0z28C>c(~G6X{Ez6jI*!x#y1yZ{Y6&Xy zPS1gxi(vncZ~S0bYG!~{R@7G9%&bqmIp)obujDx8{$_OVYAM*-pi%OZ@aD>+EsgR7JiV7Cc*&sK*(o5%eE6ckc-;A`E7$MQrvnYfc*%uPd&=mTSuztbT%7Sz14zaV zAC>pSoUM3)87vEe2i;6DWF9zg-(RSGjKZAS+fveZAl0|Z4%8z(F;5K?mqiyG7*vq42d0H@CR3N)lT9A?bBS7Hz}=t za3ij5g?0V5pG<-_nW<_ur>UsdMN6CcCZdP%}4VXU_kcrX**kqt6p`Qbv1V4eEkF0Iof521~KzjhbWvyZ7&8oDV`2dpGjxfy=HZzg!=BB)TR zd`}mRjp!{^uo!7k7c}*t>!ph7$M@Q8xsab%pP)V6`^)2cG`KUg#hlgW?pqU+ww>vAQNYS_l*O!m86U)lcY+Z?#fC0vu!6@MKCZh`l` zdX1h?iwM{pn_Cqd?%xJ1%k%AMQP{%BBB_g!OIi4TxmqO;eQ$*SzWg=mjM)?R{o=r7 zXZGEdyB1oxpY2R{U6?#+&jx_;ck0D-o5Ok6gj4qNhrZ9#ku#q9@t8@9)V}DVh?P{? zi;|;&Ep;3{;2%uO6h(MiypjS=;NO$PiD#6(g}3;0y+l65d>CQfnundT1X&zG7*WYP z?|^7sFR2M*d%YEXk;jvlagW}s4Bh1P-F(EcPUHpZql|GZsH7~&6V^WmtP+gNRE;2k zt0(q0j4_YHsPgVbnHDaYPP$UhPTybC^!`n3aM&yWDKIZ?ewv>z4sA{PRWtze<1;LK zK`yO7q09$;>{clhcM4z_!FwmE}pu%Zy+Y6;>mb|7-B`tQUx-qGP|k_#{s>ubT^w zrfHWETg1yh+U+8wbuX|V>*~WAwej&PVc9g2aU#n>+I{&aQ_>Y{v?eeNy?NOK=(e@r z4E@{oKs}2(>N~1@IdU{uRz1NJ(StnYrlLX`H1@LmOJ-FrtK&TM>mtzR7xIxW%ej$z zsUjt;9ChD~N?Fahzg<#E8~O$c?gLnSkfavTEL7Ww!s5Xtjc4N&-}|W5kNgYY#sAeA z5uS_O{F-z)4?&Fxw)kO5y7aXe5#@ne2wus}g^{Oy>N|+e9@Z<iqH zOOX0fbmk9pa$NZ-$wSqI91>Ffz2cdnbpG(kFS zbeWn z&cOJO;?d67qK26$_-Gz%Vj;NJbBW|6d{Z_1B~woJ@r~^*i*^~EQ(tV4V4to`mVQ*N zmbLg5&P01M`HLP6NjY*sIK#Zzv?mmpBs4&1j^|4{SX7+{i8d5F_Oa|O znw;TOIk#jQ@w>?5^^2+NImN1X2&u~1{8fPa+7VoOlB_IGrTl{13%*7^E=vjm2SIp6 z@41%=n72xmTJbk31-@M%pdnK3;anux(W139jL?d~Dq5PRwI`{iMM}EBRse+zAT3W7 zH-U0Pip_QFO2-b@Ayb^j_8XLbV{J^r0N(@1EFL1OV{* zSmN@P_kb+_@uEr7R5Aa!f2`)Nr|Z+C_aVtrF07IH{6=k3-9qh_3hwRgkd%cG23qlh zGLb+Ma%T}N^ts^O9})OJ7b+C@X4i3bfoD+Z2b3Rz!l&+0$Rc@jo=~-|#Ee{4Hz}7= z^N0Us-uvRc9H47we!W~|qwPTYDdO)zUI5+5Z~AfKVxJdH^5+T%{(&)F+FLYkhY`MC z^~Y+_IuzQZ@WW6qV(%%~K248azK-Wju zF#9P}dvVK@TodVB_#p)hzA}bFWX3V-%7IIQLz-$O>MYUXKp7Kqx5_>fF-Z^}Bipav zD%Mr06Sn|{WL{a|-Emc2ADro()|FD0k4fobhd)r}g7-QAHU>4lAs*u};Y;dmpk%ZA9&ubEc*z4L$xy>GvG9GV?r~jo|M(-2Y?X7}oj=!{6DYG|&9%A*(Fr6z zugJDM`#;qBPd#Tz8RCyW-}K@mW&Y#VDXOl6-fvAX)86^5o+(FpQ2DccqOI-x>E%bh zdKkVP%S;Qc7mRG8oJ`s|!fea>ZQTO>J1ajEZx(L{$~dV9!{ zqsit`qX$}3=*%DENBwo**|Uz8O6*?!aOti7ttL(T*pX%a?IZB64Mfo=YPEeyV6x?` z(Cn@q+dq?4nkS1q>2KvVz0razrM;c z{cVy{@S^f!&uVB08nN+vjB~$jFB~s?OH(|u)ORZqrYM*uMuJZkpz{yBXP1Co@PaZT zwWI44J@GXTnDhkQ+t2_~e}92P5a#aZ5vA_qKMiL!2QkH12Ow+VD_I{cs4)!{M(t+V zUg{JACXg~+M0`;8dztPzZ;~~qszL)%V7GW_Fnc8-YK!_RcuC}{sdpd}HdvIDA7lG$hW;X#&5GP%09Q>Y@lzZ>C|=Xw4CRDmK)FCsBtv+* zv{Vi_PZu8WMt|ZD76=Kf;}fv;^M4Z66qf|_J1oCIjTT?R-jZ^kiife+bW=>9>Hgg( zwEEe^eOs`>8!SjHUUlA_i{F|6h#73#1#+(dUFeq~hGw-*WNH3?T4&NEUohtHMnMka zMqUA!oK3MwfVH*L*ALolGhfMiK0%2N6w5a~_LRMCQ=IaHKIdjRA5J3dhq2V#ckbT3T0xlK+HB;Hi~CM5aL;OHR)O?{1n?W~Jjm$r^GEJ_mD&&CKKLDtO;U zEaw{Mz@cJxd`;%SFP{Bj194!p-F`x^R*~B)3z7Gtr+yxtrBC zPhfq&A>|pFQT=&uiORFuXHUBRz5yQiE)q5b+h@Q}G@)S35krArYD41qN<2|A63)x5 zLnTl2<72|qo}O+|%wXJe(~{)mEJ7*rDnsyvR%4V!CC!Ydyy_Zof#Q(5Vm}5hz0{1C z72L~hyDa74Tkn)?BpC)Jb!#+F)xEikC^^;rVgIoJ)(+b(jXKJL9AU zK7Tz69Dc|7XB72Cyb7x~$RP&PyfJKjjkuX=b_%1EZ}+<3r@Aby^)+nmhu*J3DEy{W z*1sC>HCs8y{3v6;Z9ED7kqz$tyG{h_te142!rKFRg}CK|vS_y?ep)%HmDZxT0W?vQ z`2LMxIoAOQ6sL0Tk(Ju9*X?4lc=-$webJf;xBe(sI?=HbC_4i)OJL=<$o8$dBArEi zR2h5{w{NsTI4stup9vOa(%m(v5^4T_aC*1Sv)QuGMZht@j`^j%YbMzXyZ-X%5NqDA zvWR=0N8?<|_T=-#wJq&H(No5k(bDjqNoocCe}Oq?$z|kf)jfeYo&{3N4Z|mC?oHLU zyzYj*hHdtn42MdrR7oK?KJlci;h7F3&HV}??3w3?E;geUkp)>;B9G}$&v~+CAF1YD zCEeoSmL4n(p`lc7s2x zs3VQVAhu{as?FOpvpKRf#P5yvub$BmJqNv&zVH?;?akeYNOKBK5nA31lBnN@udWNodx_@U%*T2jqgc5w6 zb;V=KXu4HKd`z%?U%~&*@3NfH_UVVDjYZlj6Rdk^rO@EylAc{2tJ{ytE#vjWT?}bE zkT=Nz;(MAF*`Mxr7ieV;&?1)Oss|CNJvi-u?}ne1J6W7IkF@-(v05gJ@8kHN;XYs@ zeOJ!SG(i933-lcO#9!yp`T+{#?ut0&CD%uO;ZR4!>hC5ey@8Mycmn zHaNEJ*HN1HAZzE~BiA*x?AL9^{LG=7IYxRDXB@&0>f~&ClZgys5I>(g!l$7WM(j5L zL*vxD9Z`P9n4Ui|8_+r4(oj`bNU%g$r#rPlUXYW(gOO3H7aqxAqMP1Yk6bZ&|~@Zq!V+1kH*a~gUqr$g*7 zd)%?`lx?exGrPKIo?k-2hY~ctqA3PEOcR^6r^d?3vHeKv1sIx)OqOzWa~@b$ufNK`QYjXZR@Qf)$O710YN#|l>Z!A8 z@pfDI#z*H`vWK9Z`VYm{6v6vVm;Tb5Isic0O_s;Qw1no14(6Oe&TqqY|31~f{6agY z95nA((OfobYkISwS(j8^uq-U?u?H^nhai{14+o&Thc=&iC(x^V$@`B&XO3XhcV8l* z%atER71JL1bY{%1*YQXc4#Zpm90A!a+R;eLLtGlR+)CIg$J)CO;2PKy=P?uu^VzU6 zdnbzSKW|g^_}u>%=!+e~`K!8jPuV{1N@{K)qW=ZukVui?+1egg9TE5 z+Db)y{zyJK5S3$;>8PkxgRHDv%up=@q{T2Zs_=5$v3$>?7q+?cR-oqhf85ztN{hCE zeGoM=b-%fF&H*UjdgTN-gE3~#gdKZ^(N;dta#oZINY5T)^ zB2adTm(miv6mA!qCMEQj%^EDo4|-M$$BM~3`SlfVc$m~*R7Jscu*9kUEtemJ(VEW0 z5m71^pK@q`AM?hpE|xFZtcaR$qn3`}G69)P$>y9>lEI*;?9>-Ty8?$GkpVWn zR+z9@eo*^|id&KudLyrlQxJOWAs*%&5Qf)49iEs8Hi%jV#x~J|GUpYL@76rs`R@LW zVVj&zotk4cnMXU}Rd26=v@G;y?S^3Z_B-l9<lU&AL`Q zmEAH)Bcnx~fz=PpbrU(%l2i`L?waWkX!7>LDehlmsmX3&Y3L;JADXo(*~Wl$kI5_@ z5WOsEC4>Y|EeYGz4m)Nq51d@2N35+q!c16-mzpXF7l zHO*uKf93;UvYn5u7-E=Xx(Q%^Z~tsdG9JWgM}cB8m>ir#QV^`^J-l-K7y$e=spsDL z?cY@yB&gsB;`YA9Sbb4tp(pUAdZ*mQ3wZ4nAFliFA-S=VCe4wVOh0q1IQ+k+V=zBZ z#W<$@co3|f+z?RKrpXd9if4Zz3;yG<EwoNKc1$vT=uFgZ zZCxzs(Qe(-x#ZuP5=Jlhy(z3!vTC5Onj^>`eM|k|Tdvi7k&U2I(k!XJus%;+#z^01 zTw0?flnd}@nKH! zEl00b2LQ-M*)0bIgRDME1?vK4YpTCdJi~xTBqRBU?*Px0gW<9?%!fx7;-KptkZRhQ zn2AsZC?@>sfIy>m6T3Wf6?G12WJVNf`94K;aJ#c&i#mS!e>soDc_^DDLjPb}-ijiX ztxH=|NcROts zCo1j(T3w$OJKG*s&3k~t9Cw=MvQF_^Q^v1OU%%E%UyXTu_Yi_!w?x}S9(>tcCI!t6 zX?lQc=q=gT!YR+bpYou(C7bu|f`<2e#Y5_A;J$~z6ege^V`zzfL4|dfkO&dFt+gG9 zkcHz`|5pDcuvQv${`Br&@KG5E1554D4HKi*Cf>l}P9fhOx7tpLO4px2{o4C*CXdd4 z+Un}R@v5jpSdsY`-Xg}Yl;JyPh_;Tz`V2oPSDyY;OEl77l(y1<+2!?C8%S_WE;!%D zipgAi%zG5(#OH*&ef}f1&|&DU2YmC4|D(H@cAp`^A0a@{`LmY3!Wt0G&dyd{VxPm8 zKlIFV=cU(8@lq~aj@99e#QYx#9jl(uO-q}81URCP9e>jkX6gMchWnRn$SufM82 zHAKx;49WIu`1dM6qfqBPfM3mu>SRcwS>pT3WLQPVDgNQl9E=Vcl^ar{3q7w>k3GQy zq{+RXCBc)b*PyT=s?jE3E?KCn#rfcQG(G zdO*P!BP+XW>)1N2Q^9k(W75Hjzc&NCTJq?8%W$=aZ*yeO)@_ZfHBfFiq+m?7Vcsb^ zZfn5J@eJxiB+jQ-%WK+TutYF#U58KYJkVhk8pA4LkvhW8|)OR)=lvxBtr z;k+=^4I=}cs9Hib=f5bt?|dG1wTE(lO<*U4DgCpcoG&UIi~e}QikONtE2o~oL43lE zH*}3tO*~}(Q#6e&f^Ly&XxN8ZDbMiRS*pl_Tz{S6GGD1jOLj&zVh7zdCLdx%wes&x z$7cnEC&@}lq>Z6>XI*U%GY6%&WZ4oIBKF>&Yjz#~n=2#l$9ydz*7?KJgNhPzFBNl7 z>nH(C_gOZ%y>UPJL31tL9(QkRImPSj)$fDQOB;R(FiiUIcn!F4Gbh~lWN83BM#*U; zWAyJ+Cebj8P$EV_=dXZvToYV)`jqI00%0I&6XyIi@$V@G-}8I>gG=$nl-9k7I9`;* zzxZUv3KJB_mHJ!TNz>>h>9i`R1^iM!xIx7$O^=df1!sc{wPUPtBI0H37i_oUfu`oZ zLiieq%Kn=h1IhjUeC+Rgel$963z?9eu{bL@Q*!X`cye~=Ro zZuEVgyXH}=5D*&%&)|jnA$dw%!m77Q-5D(E z%U};A{z_4Q`e+Vm5}4JkXEb2@XKgseK(S!-{NJJePpyc-bmb%~T1lctv!+FJG4=1t zmy#O&h|3Q35z|>!)r4yL6?;R+dDmual&hh{`i{l&E=Cc5 zE!OPTnUEq$pA<@_oymATxhjMUq$Bz(ehnI>ktZ{V3*9%OF#n$$Ag#ts1d_7@3A-Xj z`+X)U{Y;OzxY^@Uu;C{vspp%AtZYG%Z~tLY2)qy3fArk6zi$$DC<#E^L^a{?T*+NjE*!! zB=R7q?u9PQh2f{BBr-OOZ#Ae7EGPp19N?P3whZ(g!O8H#b!;BE=F=0cTOkV&euKNK z4#T)8Tr_@5<0numc-E#tNH}o{mN}r-oVT1GWZT2Rl87$u1X2+EJaF4aKv6^)+B7Sf zU$h};v$onl$!m&|PoAEqK()B9V`_FdXJm zBzIh6*SV{OfDg@$qy$PG{e5sALS!K8vU$%d@P6jJ^WT5A0Y%#R;AWuZC7VVtgXa_l zr1e!WC8^b|M&$Sj9Q=BkD*)7S=ZEP-baWr2&OH|&&~4sz=~6jZCmlhBJH8_xSLDiNocslG0Dy$+N4tJSO!&S-p?c$_Qo^5u?}v)K|Eq6EFsa)Mgr&kKUIH>;H#Er{lT+ z>=+nB5Daqi4*io<9J?9WU3;O7i%Fv}7{Q38RK#CEaZB1dcGk3-Zj)~1M3zB{t{vOL zp1QByCEdyZ;X|B8*wA~Ab{c(~;9sF??}PkcD)CxEm3f1vTQ2u`oH{)>{U%fZzgNHG zYx8LCO@P$b8w4qy9)+;$>d|G9-az=2_Kh06ytsgAFKGqcS%!!Mt;!0A*~A0(N1+q z)8~y=KK!YUp$L(M4vyTWJSpT0VmFX$XYGC_L`u}ay0Y4g5vE5LBhDBE)WU?T0mvgdBeT%|0`uv&L5;INyk<$R3zuK=+Jz|3?Q?+M45O8oRd~ zRKA5ejZbFRbnE3~(&VZo+p}U;6jT0jt$j{opXY~K4R|a604$##*k@qGeQx-vLYxio z5}?PMgqV8IS{EGcejn6JuR3@>g=xJE6raS5(QpJ&H-Fpx;D6*P8k?q$jFuGu#izN* z`BC***)L`I{NaqWeO!BpYP?@n&=8lgdrC!7bU&^m)1T>YRg)`@&*g?yNc%JuGelP#SaC!fi6@%gk@-Cm&qu;aD z8G*xTglVZ|zb6HS)3=;J8%tPHVQ7QiFY;>3>@$Np~O(Xu(iMtcy$EWhshV@!W#U!s5eO ze*^@F6K6oS3!xtq`n*x%!NBtPQK3NSei3Td{+}1Gh&oB#V|=C4eahvqb<-mP6Qs=wT1aiKFb_&+4YZvr&9Iq|B;wO+YC3&QL3t}5HO;b; z!LwXG#E0^Fhac%i+eFjgmr%Dj70W6Jiwf`qP{GP00^4xaD`Vz6e!aM;8y$AID(jYo zh>DRO2*mbv#4o?oF;r)$0xzx%M9JNifK?Ii5X4XH9J1m@l$v|+U1@X174O=HT0|eI z^uOR7pt{?Q%Q4&2PjCQVi}w~!sT5X%=e4Tx^H#YEJ2QdbC!yLVE-t zJ?Ha4T?vOFxfJ`MT`3RjFYJ=w)r)>UG!lnTa6Z_d-f0-d!B98L z77ZR;G@MA>EC#*F)91<31+^QbAvt9Xx=C#GqJDiU+6R}?g4 z{3cR~3iFjy%V3SSezKe}!z`|VsS6+*GvWM|9|+M7!?yc|1Hq{p74Q71xZ@8d{z zN*1GWMy~2XgQ00)K7ERgFQV3n)$=GJvHR%}L+}7gSx0e{3*h)NBoYf3r@8_LkQTbA zEU1i_Rx-=!*O!87KiegA8lMVSNz*vZpg5TNvE{0l+Ikh2gh)ant+hi;WRV>Vf$TIG%<5#bbr zC*`cd>2oJnIo{_mye7^_aN#uVTB6Mi;J}JIzhd};Qo#AWD{%Ou^zTdpQXg>_C;;fj z&g*WJ-2c||VgqBjjS|@4hpx-sKv3wGo$&y+@#=xg?mwk_TJ_rkWqL4+YS*XW942_G z+lPGs#_yyuE!~&4ALdt#@VKg9`O$^vO)|e;XnO<2pi#fFB~njCmqS|p1b_s*8CW2l z+;2Sf4SD*8kgM0s{R?1)p06$&(oR+Lz4swO!LsUzz$Yxo2KNRm>t(M=+oX8(o68Ab z8Nl?Dg3$i)UJH(9NkMCzK$GSJ{_3Lxnk{|EPRC7tChVVsFJOgO2!QRyZQ5R!#?|lH z8bcvxW(N^BcFq!JLT)pZ2)kv&AUgK8yM^}E-a8sg5)T;pm)}J&LVz7Mh zg-^_gGXnP&v^$~oWP~G=Vt<)s9V3S0HQ~5T`jFZ4%>ElZ|H))bRarW0RC)DLku(IL zxubhBBv=aw%lf(&)$>5H@RVe`b|f}-JEI6@^+{IA|>|S z=Cj}w49LsF?{v^8CR_gg$@0svlmpP8tu2$On+C|FNA};sI${48&|^fKbZYJTP`0$J z>Qq3`)_wb`*N-pMm|gQc1R+|E^0w7VDiih?%}0j7Z4BADR&V?f_5nO_l|~kzZi`MV zTwGQhtwPidJ8?&M{ZJ>cyUdo4LOXe_UCT^x4LnUlQ^OM&3g{)LE{i>jt*qu5WsFMa zqKFnlijk1y)L5`6tD9^IZ5Jhr<*cZw6|tgQ@AdDLI-Tm&Oe0vIdlK&Sg5a%xk^ZM8 z{!ND!2lKyN(4+2q!;4P+;&%gHG}sPCsuiLzhqw!#nlv~`C(Ifu)hZ(>e}CThae7C~76dwA!sPT;-OJpONatfB^^&farlZEV`gEfuaLnNsR2 za`Y*Zaa7K?puo^}#+gdhbL`$!oL8)IsPtmsmuh7#h&Scb>b%Ez8z~&d`yKa!K7xIg zP_KB+?#4Z#g7=N>I|~Wsg}#GvIOr?H3Yii}4vAM_O?A-9A2*$h7Abv3;#>VEnQtP%Zjk8_ zXfVIU`Sl=juM_{y&SLmp?9z~>6^Ifp%JHAf92>N#+*bT)uzA3U)ELs_zhJ91nOm_W zEl7p1Yq;;`&E<9Cym~i4_&GqiU1lgGrQRHf_kbqkqCk&ZsCXhXjP;LmE6J*o0-SqN{CXC~?nlK{!!Y`Mz=Fz!QK4Z#go#l+j<+st{hyb$Q3GW6h6i{aFKN?FJ7 zXLQl#FHvnX-q0G-j-`9s4Djq#3`){NPL;9&3S6U9T)BtDuICp4>_^dX(ae-LL<~?r_YFdoBM99S3|!L=B6(@s!hMWPw0m1t z?bYLT_NTe#o84NyIkqAA4p6Pqel1X|8z^d_YjQ(fLD$=sFhOfI88RQp`vxL!hy8z7 z0NR)NEcWNz5jU<|6>{V|gf2>7@gql+<^A%)RpKHpw6=IGVzefx(@n&(OcQoULU_I+ zRK=}FOQ427i20z|M~Uh4@>KE}4t!0#XLP!hL4u$0aOvPoSYm1SJ<@-ar*RlUktVEW z*0@Z!$YC$l%6Ia@zWgMeSLJMF+NZ=ef5B8Axi1uzzgSfJAO_Lei}Cuxn8x-84fmMI zWUYD>E?$Jnh7{|R-a||r_TY_(PR7=SReGuj&r+wRkZz1)wP=!Q0G(*PBp9f1nmJEB zUsHz8U%l$TA@Uq5ng&br;Q?)RCfa;Gs}Ho#prs|!a3wBrVa{(pRZRaDzy`($vJQrxY$ySo=H zrMMS&cSw;!i%W5Lio09!qQ%|aJwOQAeE)CHp0j(gxz9!NzIlE#^Gs$AoBnwPF^ecW z5+hXwVGrVJ)Otp(W^MRD48I42Aa7dnK9j&wa*WUilfPzs&&i(uf3^Wt)Ww9YH3aHi zu+zi$!{@(*0;@cH^}darh#4UY0jY1c_t5y)VzP5+J?hukUvaSzIeIj9&3 zeLbz?y1WR4%q~@L?mdt%u!08kK9?eWyu$?EVC9y~bf8Im|>S=qEo8A_2z@KLLr&YV%lX9LTyDoOZ{pFm=3*~<-D6g%2x^&=RP_-^ul22I zrE{Kctq(sJGllQYOI| zE6*d05Wr?d`T5I@9@3}?8;vQmeH@Gp1l6;Sw5D8+xOlfz&e_WsmH69BPZLVt22=^u zHG;D*lG2o?{nCV;*-?Z%0BiVp&YpY5>)*{eFL5&9y|>BDQsG)3l;1Trdqya>LhURo z36s<^b5@lMB@x_Z$Ke=%5>ys-)x&BeP7FfQwCxp7I-v}}UyjBELdH5y;<18wb`x^5 z<*iS}&O0UVTqc#jO-7k}au*!KWP*a{b&`djA@>nWn810BSygN9*%4tjsh~oCOpX$) zYA76^*?slfhgx*nDxKdGaR(Oy23Xww^%dhgH~H$;vXnrNl}!Ic0~5Darv zGAgLL%uP7>wETsOS!y;IKD?nmN%cWQ>J6khfn6$K8{})h4ObZL)yrO$@}I2)GfjHg z4|)JB^xw~W1Eu;qBgQLqMrNIF-u-%=g~Zo2B%I(tbXy2fK?A2lt;2s!U!pI4`;IIE zz4yi&maib9GiR{N+rBz&5`FtT^cy5O6#$Dz07jKNvhehYeHiTj?Y{_~HXLv7Gwc&4 zLm!q_|Bq=#LcJS$;yj!4uFH${BhSj`b%UYrl%HYGT(VW1S(o&MH(KlVZzrw((9(*G z<}h-Non}|MUR+*&tf}SYzeHLsb;D9%qAV_70Dhi{-SGrm+XGCr*Tm`D4>#b=bZ}#? zg#TIqHnJ6BQ^*>*tedp)T;0Mjp>AAEzNyu)%w|y;#J?AAb+^h;!Faj)!qF_x!kO-Q z@JnmhDp%Q@>)^djqC$!oU}e5ml4~0rbc6XsofJf^`>CO9SpISX<~m)g(G9*|gB2@{ zU;?rfl>j73+oa2OvzEsj22~S8I>0K7_z~G8q7~eqdM3n6rLi*JnyK{lEgkglJeZ20 z1pxpVgcXBkd&8rIyrQ>(1Oe*T(l1U^bT{C_v8PHI(cdCTJGZcHc3m6voxry-qx31T4$z(oUFk##_VJU9_+1=A^zmCpf|V_7rsVsZ?7gMKB*r7TO`ZH?M_uCFrS z3s@p*t_0-umHLj=($7 zNTKVkiJzDeXVYib9}Fs`%x(h-J+l^>e5G;R7IgyE(Z1-CG50^KYWzrL^B)X-N%qQ{ z`1Ikhn$|-yK>Z_E-TiqQ_a~~yLMhpMN?Cz(+YU>UL8<8Igmq^){tYUidE2ExTxq|y!RQ*ce@Rj z?)xoH52E{++NZ^v}UHxAA^x;G|Sr@6e>D&?>Y(B zcKlcPYX_k;gBVnVp~v9`(MX%GUZx|o)u^*J+&grd6vk1M1ftGzuK zG7kaxLMs<-&eMYlE(`^u3p`fQ6sw5tkD9Rke=}e7>hnhE4b)ds^;iQq8dLwqYH^<3tadM)eh)5**eHFAi!x*_P6|{S=Sb=#ze; zBsjbEH}JB?#|CZ%EN+vx-cAR5>AuoC?MGw`ADezE&t~#Z(|%r(d`m{f`^hS$G3?_QN0<_hpwgljv)N%vHR`C(?v)4u#gCcVPeQroc!~k%~QKz9L;Jekj zC1B#EnsOS~APx;PH`^0$3>gxOeeOwI6Yu|zS7i1#bLNV*UUwJDcNZe`&h#>Hb09)s*+r2F58DnOi)`pg!@|GHuOp z@N@jDk1}fks2c=ab4Ysdi$%dP1qVDjyz^pIEOG9b_9=u1;-4alW1KQmBA5{ZB!LTx zj0((R(ssQW-!qb^b~!j%vERZj*k^>I{1VwMHD#tmCK_(u^D89K+Pn(t37H=cs?

tIixZjSxJyN%sM>Hi;f4#oVK=CH;PAI&_aqZ4ZxGsdJ34b^ zG*}l2+8|v2??agoo{57F15!r2p66o@A3v=dE}&Kuo5U#_vH#$Z2I%2Vi`)fPEX)_Ysx8r((dkPtx|cu=yZf8%q>FnfKARdc;PbkYS>0Z)N3tR^tXV zd51FeJyoe{$HR@Hjif@=FoCKp7|Op>7!yCod9PT0n2v~>=9meGEB!%PH!^jVSGyPH z8*5ZN{_yX2?_6T&cR70fHB&agdR{Dl{xR}rNjoe(OTgjF%v%Z4_S`rqWJ*%|}{V!xY#V0XMFFjzzy}C~R|ly<~t1Zv*e!=pE># zVhI4$GZGe?e!V8u@7Zt?$q6VH|4sk&dgq*CGq3!s+O;lD>`l-eaIkt9ck%O8#8xj+ zYd4Vk$Yjg_IY3+fNU)6#cy+rugpHu?nSDs`?R>~3czrHXx7%|8nFKbxZc5C^2Ocmc z$n4#9ABI@Ep=2}9m~ioamU1LLDT92mLR1d@umJRmoT#MgB_0>|@vFDf+Y z@pK!yAAvdj4}a(HsX3d9Fjgz&4^{!1P@y2j+JHvCSFhzxr6wOZ86RVq5c=HoOFklyKE`nz|tpvs1I3mPel|f!~N_d->mGQ=F`Vx>H zvhn-|$|e2ByQST+wN>8vqew}PM(L#1%)Y~`Kwkm0W64g5w#^}Y>6~XB2lp!COZNFf z4lm$SB+9~^)M2L;AvIVDFka>?$zIo^yj0(;sVi>GsOFzJ_X0j&Fm-#rjE5G-i6L;w zoc*m#Dq63wo^j$DO;{$_`nx#0GR$+2qhFxX-jWMg>0KmBBlFuK zA(yuW@;dyEyQ=79AIK0-wU*ZT)4y4HQaO)rOiT6Csq4jRTU-8Iz zm724fPOg6;xc(4e=vvvfJ)Fr}R$a>dm=_nLfauafL^2^ zm3uGu3cGM!211+0+14gv<<=fOKrH8Hz4bNcc3|;+u*N>%SFQ&kHI1YnogQ_}x5XGz z)bhdp41gpFJyvhvsm)h7mc2{M>*)lk?8XeN}jRQ^vS<**QvO+^6lT5qj4FNkTH4=97jas z%;Bg5%;ZnP{iB;(Z`?@9@X8oP0R<05{puw0+0#zR6gb2;1m|ZOUyy!#{G*MA8~Y}T za%?P7_j=FS69{^!1r}tc0d-BY?8JHKH{C7~KZ(;2{>0|`dE-iHsIiI8+(WQE%Eyfx)o0Z3b88W;)epO0F98V5as8O;QVQb;m3 ze?ini-!!u3N1XfJB4duu-iJ;(iD^B4iAD*Aiu$|56q_V3pdHvq5<`z_$zORbB9|*$ z+ubZPuRwGNfVrWdj?pPgQ>V6BoFr=G5PggBQW?G44 z4b%|2#yrZp;Fxhno27`O!+7w4<2^&sb<8=m}<6H_{ z&3V-xiD8yuOco2Dr_P?}=)r%kpi>}?VCebTmCWi=agMWowsD}id$%p!M=D!)`RR3* z<95m#ZUBy&um;VXauw_wE-ICbTeg$fnF2{ZLojF{9zMAs8an^WDyH?nMLA4XDr40* zLb5)waKx?G`jvR2=nwivcy}#}7Jzx}DqSe{%nAH?;g7@Ya4A(XgFH(B0L^oYk@3Mv zglci?Z{#V5MjC8JuU$Jdo4p&qmL)Iyc9&S>kI_F|ulNXbJ{{Sx;9iB4GIDyAT`Yy=d}Y z7Yogoz~p;$xv5})2PS~43rbcTSv=d(hdSJIz=8}|X5V;)|y1sgu&%NO$#@D zl`4(4MZq-PNyD~*`i8h-_ATQv-}E7B(z~M-qwOh}^8`zM9| zuR-lcS(bl+ic`Gsl<*r8CBn8t@YB@qp~~y`(qbeT75L`0yeJxHvRyP;cc@3Z^bC{) zb$VZtUCaeqEULZUmQGehxeDHx2eb)GH8rqJBc_aD(|PESHJuTQo61xJG^|sfd&3}r zYmm$DfhjdVxV1ngsyfW!xoZ@c&il58?aW=jO^VQ0yL*O@Pl-{s$Ce}U;hl0{w7-!! zU6MfL87l>Ihs4Rp`AN|&=(wedZnIC3P4H_Vl(D1RZQF^$R-WQ>uLiv@Il z4TUv=O7$MB1k~@4H5zO@Ixc4!Ae#q0U?qi^BBcqH#?9L@hv2~ePfzYZu)HewDqDWM zLJRHJN0#DRZo_4<5!C65S)0TzJ4ab-hd$~bUqt)t;mT(N8j!DP=j{mZv%_nS@P+*q z0b2(}DS2;eoLi8ckQg)kr6t0v6YlYj@HlNvCxr+PEzh6;AR6*+q`Wx2hzzf3cm2hP zcvT3$VeKUIxS3d3776S`kLuN%**0HKZ0eM>rN|Id6GbU_=c-zf}m>NX=_IvKTq9TJ0 z=8}s=o;&!}VI_&YtB@IwjiEnW#?hEF>HsI1v#` zRtB57aqZAB6cqzN4jj|m4Z@`xX<1DN77bi@egT}$dTXbc4qu?+N)_+Xzz%WDC_KJw zg?a3UsIHRU9*ef0c5OH%e?JyT8qlw|MFk}3R#*`cw`^p~N9eO8)XGPd4*$$=ua8|< zSed5qw#r)ZRmec&8d$c6ORs_>+DhFt$Z{-NE^q*$0eqf?RGd4)KYH+Zk+G(5;va>i+gT@-S2%6R8BHYB6$(&b_<#A3@rP4u5*IYqU^k0@Fatd zXVy!B`i-|ddZ<6ex}D-j2$Os$6&jZfmVt@XXUymbL?=a`V!uUv1gm4DSzG{`pj%;? z&v75KkN&t%$SdPOQz*)x@l;)!gkvT+lbG9>D@8JX8M^hL3uhTM^lgiBRiMk`dD8sv zq0wk}$&4`lbcN|-9bnvIQneDi98WGuTOkvWFDA!|=OZx3?OGa3kF2XjTx!X=r+0jW z8G3kR8Vq`XN^yQ;sLL?C-YcEV56q8UrmQ5OCn{Doh=Z%!5DgfP4}>lhuFHs&n@CttaZL@&CfXq-=spA*VFv(ln^mj|nR@ zoiNI=#Q}J=Uh6Pl<#PN7dHxtn>X*}-Zr4!jqb4(nv()W&QW>PJg2U2}>0wN|I)B6o z|DK#!E-)#g#~`?&gfULT@L1TC>O|je{3`R_$QIUIQ*TteQSQh!w>S!SfiU{bVqT%9 zMl-+iF|Gz(eyN6{yOO0Nu^FX%p?>p5{|bE}k={b8?~R

zqP#AfBfcNR_ z*hCNOVM^DAG@LlFjQeKUNuuL+26my>Ao{jvC<0C%J9w7^q=Fs0$B^fT3zmx)A=1H- zPQaNWLTd2Glo{dfIuCN$Askh1r-xF=t&(#<`5u=QK3(#|T@=f3sfUoQwab9@D7lyI zpcLqHyDxj8W)H5`$!**$!x?x2<)gdB>q)vNI7VCD3yWUp$Y*UF5C1LAEtLhlTd#Im$Ag^xda%u+AP#^#okIWDSm^wE{rzp3#F_k{$L9>0oS*k>-$BblD7t{QBS?8C_K3Iu?B6x z{WIdnLNlSLnPlspKKF=Jt59nUc*8*Tzy%@`Il-i+y_lbumT)vrcribc1dkg?$~^Lx zMB@siVuFbjl{T61p>6Z}*16H%G^S?*7k({hb38y;$;cm^iWS8sK`kw{V$y)~=_Mqe zYVkM!k?L)nA@JEoUKX&8ccvdt$lrcE$5E9B{2sB5Kl6s@u3hPj+PIxG}YhR)w3ZXBF^eONjhl8 z6NV1eZ@YKrhYNifzNjcMaNm>DKifgI+W8!H=K@VMA!=y^-QSRq9Pd3o_3K|^dU=3c z6^@l82>4Bpg!%la9k^Rz>tXehIzG8iq?gI5u`Cq&_Aka0Z^3aFVx1pDJ*(-tGrN)< z+|rzr^b$-gGmTQ!YlA|B2K|V29)ML7=Z%L;_!Kb_zK`z=E%YK;7&UeGrbSdw3}?gl zN2qU7=5@$EMoZY+W!ixgC7)RlE}jSv-kyb$BrlW+IEYgECT@?ra+DYBkw5+z9cPN0 zT6JIIM5pGdE(g|6K#lWZXbHO?1A7D58?1xcp$F^@T@_6+Mxd>6$w?2@0wtdAV^Y2l zD^-{0vrrn*pZJc>52b(aRm&w~zQ^-Y9Rd?tb~Ph1OuePpB@qv9n<(%8dA{=%y>J2~U;L1`ri>|zwn}M!rBwzRu`e+`=TOIM0pF@sdybf9E zW!aQ`R8PKJQSi_^$U2qQJ3Y?#E?$9Xf&d#av>1}6sugE6mZf(KVNNhl@WqY$I?$+9 z#Q63foVgo}Y7hSxWQyT6U%Bakz~Jvr#`534NN-$_BeXyc`?T_eA39oo7OiUjkg(NYVTAC#;XX z6}6dbmeLEvIm=d1_emV}1FuUax~ zQ0HZ<088pTokh-_({6^C`fUYsnzglt%(>EPv~j)5L0uT6X&qERJu=frMhswlK7bnf zt+c23I$JO+cH$FSHMEY??{$&Mm|0$2-`eysHNf*Q6qtFe$=xTDqk4TkTDid`m8Rb_ zK;fH_xbD9wV)JU~a{D|?mx zfkS;*<4nAoV!)1pvEEytxSaj$Z1qMQt>|2kdb;a*B`waNm?(y5N;nqtoc>;A4~M{M zN96?~T0`G)Vn-yK0Y}^6EL5W&NgVDq+bMjE%hU}eS~R!-au)2nklEVSrr0x(((+js zk7jQs5hp_|?QwIRH}cFJ)pR(4Im`)TaqwYr?|-2}yZR}+2IqK8wf{9c0{mFTHK67^ zZ(PyaxDk6D@KhTa97p=mC|3r3r3>KAIDI8cV6v`Q9%SP;cN-WAO+qEWF2ciQa8JM*N+clH96DFrD=?Ui1kn(3#ojBJ z7aY?#`Lk3+NXwOXqNISP2*7Oz0IT)>p~`o-lSu}rQ)Nj%C+!9y3rgo*$EQ|kJU8!U zf`n4Muu3w(7f<*k0JQyTZ#=41f?tp~U;x_Hl`R9SXP<;tsUm=&vv&FhV7w3#^uJtmLjMj*s)*C;)zU>f z$OdjbLni`=v(TF)A2WUr3XBpNogseje#6OtD2`S$28*QWfIw$=q7WW0N2uq1Vbi#B z+zE4mB;3>my-y2K2aWvSz~1f16?xz}Nk9m}dI|uqEO|`ekWq~(#4=%pPK_a6(>T}i zD|5M@>DtC9#t!Rd0_5w4BkvyhPb?|2OB1*-YyNcqqd1;AL#iGzBG*tQ;D532&j9Je zYf#YLeO0rUPyfva=QN3U=20IuQ7EM-Y8rAVDhw~UB2mqvWIa3Mb=;R={6_$A!OG;(pz?!VQyfhEET0F877cfFCD%xjtC$BlmTagDwSie`n8=Avpyd z2i58cw(oGIif@bMjO>zA@UAS7DGpW*k2FPZU5cu1uGd$x!$e;PkDg4@AH8lZM8Btn zK>}Q~q(ir1Lfb3I`9s)@wzBwtYTmzMPjC>|B z!;_W0k#0gwF`@HHQMOLWvJ}Z z1K7FR#8H0hH1&fEPrQtoxx+L;faiP>oz0NLfq^@<>bpPPCC^#id|M9h=)d&aW-sKA zI!jb>R=E#o2Iaugq+TenE%M+xBHEWARf85y*#~gO@^v~Cv3iEBtHi#fZ%(={5Nc+c zK%|JNX%(3ySpVd74u*W23}2%~y@$`|lBC*LRd4RIAs4rHd=6j@TM2|-k9D6qe%9tM z6agqie5*St0_~NLrz#+GJ_f6k^-m{an=gSRlR(V<;;`til)g_w+`2sJL-NjBeA1cd z(2?08iOi!DNg0N%*915oCT_eV0{0u{cynOOg4A55UcG6e4FcX357ikjp(KkR<9(-h z<18rDHV-vDPD+NShmx>?IWu7i=WxWc5ge=M1QPX2f`rh?S5RaobScwksTthue;!`SJ6gbUK&K4+sx%=L(ab{Fv91{|i!cr&2kmf3B?T?mDmF z`{HXup;q>92q%&b*{`@uwIyZoOs5lI-4abCe#}PPO$9Js&>leps~PF;tU9BX@Ay&{ z?BD}{u_hp(>W?~c2uEhqiXaR@0N}*y#Pu#0CY5Uc*+S#R0ZM4auHS2hyz!KQcgxU3 z1Y-!be5Gj@6X1!HXlwj*(m!_REq$}TMXZhe)H^Q}XmWb-H);Q%v;j=}w>{i2E)PD^ z#~oeJI2G^3lC;CyZrf1!0J_Ck()VoY2Oh*L9Gm^t=wZkG1{=}W4TZ6Jm4h0fZXxWp zXPz$rz~_vd7G8vnT3sWoL)q@*&N_{xowMOS`vN}8ge5q64UX6epms&Yy6>e_@x zizmJSiC(OB#qWe~ByOnnd8T6KMk*HuBgeS1TP`InZuiG6mvuC5^em6`WRd7#^`Exh zqo*y2n^cVlmnX^kb}wh4z7p8U!PM{h2?r%6#9&rm1yqZXSq%)c=+4XV=K8Zp-_jR! zOPwK}zWrZ_Z&l>E38GbpYVTnC>@(3I7ieoy;j=qsaM;RdVqzlZs?*;78K=)#EA80? zVFG-Jul~nQVePhd4D*Bcl=b@hCL;b$L(A~84<;V_=M$Rv#$KC;Dp#@}gB8-!7V0yr9X&4J0Bo>P?tnLiFjkp{%{QbzuIbv{B>&=l{b?u9qqy zqIS|gCFI0+ajC7~A>v>Gci37HHb?62n6K*fGKt!QiQ>K?f^W|my|TK`#^;=g)};}I z{C1x0ASF(!X6EZXSr@(D?`Lr8U%XNBK2E1aeaG%ctX9(^V+@$yZ8jz~C;|nvO~_zT zc@)z@RpR@$=cfrSp@VpKJ^q>e@hr~|K~?A28{DJ}3e&w?;6Is--zv{g75ik2M()em zYpJv5mgNmsjEEl*7_rlMop6xhP z(hB~7@0=r;ps+5cac!@to@fnS@8$sgi_J4~pLHH=;qziBd;$u;bM^hn_}7-low%Kb zTU;X|!No|6TfTv(J_URow~@H_TC2XuTIe|9^Rw&;XZM{a6K`;;aHB2EN6|!9kSMTT ztta*JltS3OU1B4w0vn6x1YjTu6M&f`CDGtRg$<^{|AfwnE^3A>*C6X^OJ6uCqi9CW zfy1!eXRT&TV)NMmf~eZ=9{v^1oMCKBCdk5;9rOaR?N~^A+7P8!b8wR6mMP%1L#itH3d7Gl8-4atX|+ncpSFgznO zLNr&NhbDSzY;vM^EStioUV1nP0ddpMa7%`3w}O`<@%#-yXh$otn)B``d7#L%tO@t6 zoY&_!R=mk^oP)A*Vszy>$Mgl_^{(v3W!xL1?NOmm>FM z=m23;frXtf-=l6hE-$~>4;p?@HQy8&$@M<6aw}zQf&})eO;VF%95hIi!D!V${f={{ zK%#ximMvTe<`}<&EZE`St}=cnv>a>Pa3Iitn6W#ufw}b9)&979eEG3=l7u{uopdv4 z1Ydq`JX?;pt63X-%QttJ5BfGC_!`|oIT7?5)r9xf#)QsMd7-}h*cf)<>G~yOsOc20qJ)AmNLkv)xXUc{DbTckZnfdF$#412AX_XhO((#|fGTxeL@?xAkCmxc$I4qu zuSoot`?bU7Ku(>jX^RgVQ;NS4`43C0zTqN6P?Vq0?<^Ax&VZ!>wqSTe*$)Vua!}yk z0i>nkKhYz$O4|;*E=dXR_ICrz_NHzz8xZ?CNdGj|k`LP2lTE3M^0w`7`qxHguue8G z^fc6#(K@#~7dYkTUQt{~0=(z6&1zH4q03^f>zWNv%3)mz&XEcG40ch+0RT+qay;3a z#n$!CBhRBYCNHd!hQg_Ed}EadYf=r_{hGXSdL=be+jk&f9?gZHW*s70iR=UQL*BZAKSPFIqx&iKl(G?i=qkLC_ zzlFe(=5x0M)>74iMIh5o?ZFBRrp`4+ASmP}5ZjB?U>S{bsm3YTzrL}W{!@iRu3f~6 zdla&&j~~UFaH2r6o(CV&%#Cx@eZd~D^jmJ(Ir=f8ukFip8JH}g z)wpi8Dnh5f{LN4RaK&q0Ak~!OUV;&TKv4)TLWX~O&DPrptSSWUw(FW9*J`(>aH=J( zX+eZ>V*67b-2z)1LMh2QWiSgF>3W=EguKsk~}k-(CMDtjvwHK@<)}h$DvD-aH<&m~OHhwGp_EF+7A2ZA~>|7;#Dv z97)I!ON}$VIW3_=ZNQddD^>|TxV~Wtd?TjtKPRil7$6ocBHX3#ynpqrUZiLFD5Won zNqh9y*Gt?5O#%L1SNqo`8_JaRDUkB1dMo9*BeT5MII9aA7#=doQQTb?n3*w2Hj8UH({gu=u&iF$na zwGPpn#7xciUvRtli+^t)G&?Evr#sBvLTvJvRJg|p^Ke-dUTaxy%-0;xQ!e~^74HL< z)44cUIV(vfZ z)YfS-fp=_ZfYsInix&{a2gv6aOlgZ`1)@tV-z222kp_Sp;@h~*9p{7;^dn?+5!C~Q z&Dn{Sl2<%<5sTEmtx(9EqVlUCLDkF=k+Va8^#~W2``bF{7~gHvVknK@2x`Y-T5MBZ z5_6u#sUjx&_401dx%~;6H1 zBFS0M%pg2l4w6NDIz%HV4XiJE*9jT7^#ic?GR$X&aW9(Z2L^lfwj~xfbU#!Ew|q)$ zcP7Rrc*{j>^J(~z9=t9konN<`G1@kXU@b9yG5|b-i{+&K06YD)7_)!bANzZ;Z-6Ky zZ8O+YihM!Yy)I$9_u*Do#1xA4!`$_gWb8q#s{NJJ#-X13yG%*+hl<#~MsM!VhDnPN zRg&3eezjduzB0}4-<21BKAX1|Pq|oQ!U)}tq$)#+=>~}YRB%h;I)X|}0(VTNRX8gXwQSps_hG1Or^W~3Xt`KD zIa86Ncr2UAx|Qd`19xRT?kO4>8_U`o+!3D>VB6G<-IGlpl&MEk(U96V-SR3aVRAp$ zbg6j`dldV*3!UwgZ*Oy+Gn%>prTd(9B^&HNF>?*Cq5Fz!X8MS&k{^se$^P6?9RA=5BGFlC&#pJi}flTr;e2nXRc03nVqSba`iaDNf zGH37y((gZ(TP!P-4!o-M}K7x&iTiZa$tT} z{>H9ggtOC1COpBQB^yigRarD z6-Y8(i*dl@xb}T0{^PCvf9FQ-prvjTsU4Msu4SBCnUBapgiG&#IXBi~#c+yqCtSTm z^m1J_W>F=Eew4;t3OU4;htJZWv2izBDyZ)*wIdFgudZn!^iTLZV5TQ*iLnH3w`M4w z`IAquakrv%V#hr?^?%2h00D`OuzB3r%t@*0Y3!_*t{}W4=^Qx+)gQ1kosc@vewpU&^UNV(L!Ej79jF_b&=}S>+%)d-9@LhhaEEZj+l$eJSnlIRkopEfby<=+B z9|9lr{JM%y?UzQgpBv0eWZV_wJbH_^=iWtouIlmB9OxE}FQAAcAhRtktBdB&zNEW< zp!W{=`&?lYtPFFz%oJ95&cB4s@7pWE2MwW$zz9T#@W&C5j?@gF^nE)m(D`X72>b2~Rid^eh}HT8eiNBtBGv-Wus z*Rz|le_f7xPB-dGTR+-HCKK%mhT}k?6%$q#t!2E>x};madS8y4Ph0W#wYSEnqn8Ni zsH4mi(A{!R5Xei%ZK&5dF46tv@6d=w%AQZ{4<6^tOI>xc+<%MeVxofKa5IRri-duq4^9TvaCG@H8E zcE1F;%eGnRinh$+^0c60oE@L)%RgzyjoM=6Xpm%vO)y_=UizCw@K1KmbP2oT7KG!R zzOiPpx?T3!_rz3z*G?x%Y1yw)dc*AEqx}6m-QpRe)@H0#vbTEc?=ps^EtW6qeB-@r z4|N#3|8cVFik-L$2M%K0lhgHDCQ(1n~xlDZmvB@=e3!=)QKORZqDqCt6*+?d&q zN1DH100PVd3u)&Q=euFM+ImC=m$MHZPJ0Gr&C2lG^_Rw1nJ-r{d_k1$cYp29jfueB zc{xQ?r?1L6N}9QrM1m#qY8;|a{Fg6*O)6XCkR1LWLFTxY(GPS$rZJ_kATOOV|c|6#;zIlmo?Ysy|O-AeV$I%FB6#1%k4eN0#!@54UJiWCzJmv zbmW(W<+@|a54yUOzRMbS4feUXsA&0yFw!}4fg9*@CFw6ll|p~D#?YH-7M2tWniEDu}FcxX8y2rtA{g5Ja z*5-EkoS$oC7ctc~&}GpMFN(Ewaai8+e=3cYqFFn_9@%f$-m#u|fXK1|`{bz?YU=25 z14=uI)`8vK;~RzW1F)-qa5VcgX-7m_RbZ}|={o%QC9L94F=O`sRSN$RG;1nup@*+Yh>wwMO?vg^ixclf&5CHfoJJS-RGJ@AIo1@v z*#AFSGjn8@E_vn=W-0OR4k*DZ5*`&*`TC$FTnRdn@J>271aL49GKXlZ|ItE6k{0b( zq43o!|xw&HYI^tiSfR9lv{7Jy4uZ%p|0rqNP zt$&9!RINGxXORL=7*^+{nzB938VFn5;p#B!c&v*sIAa{mS=rwZS&Dwh)X&Oa=9 zncDx8jLuPV3Lf8d#EyT}Pg?}u(Ad)Jpf@ao9-~7t!;hZnGZRy#ml?$-Yi3CtsnE%( zCvM=$?fkz8i$L4g2|PgQwRCp9J8cL~sY#yb1rU+&WRF|ET}#Khluy!K8So@}(f;4$ zw*RG^aB^J-XT5+blFrCXzIThyqMQwMo(+KbvpW@y?t~D!ayom#X?HM~r`Wifjm+9` z!TYU}n+GqO!!p=4Sof}-?@~Ob&I36Vnla0@??>#20ArR<8$bKPzYd1=Dx-FR|C4B7 z{qclD5Iy2(c`MP^J!I}PZk9%c#Gj_ga(_!qG-0_(@B~iTlrj_3ITwXjMtSd({NaOX z?T{zm1TSHX=i?Y)I%v{QcjobtW4tk5Flke~Xn=kgBF*W136eyB#xmgjBl0;kQCA+k zS1?n-Tg;&dqU!i;IUMTsEV0;{yWYgPbnXe-^=38o6NizFTU9xqF$!&4Nh#%s>#MM0 zPVK?xhyU*K-r-QGsqL;4r8F`R zh`|8`A_PQ1nSu(UMFx?8j8PC!!VDphaL#`F42fd#7Vlc`zIE4n%Y~eiz4y1j|NDpi z?<@|pSJ-HM`qifhf@m%MamgwK83`XpBA<+azdF#2QsT{X@z0A9Bq>~TVErigKH1~P zRX-!h-f0NJ4Mh++{D}J+K>~~rq}d%o%+4dogzXp7RxX4C>Km5XEI|PAFDmo;DFm6G zzjVoB`@qW98Yl0Kvc-9w09^PrsobmG*Eju^=3f?0o-t$U)TL1B3;sZ^!++3&bGZ!o-*6w?;oOhf z=A+Qb$scV5!RbG+&2S}BQ6YH!FKb0``VVX~T$dzzeSZ$&9=X$3)_7Z{SspSYJ!lGE z7yig_41zpQ)%5dr4ff0rh$@ky3-JLRk&DK)NEIHecf9c*?Z1bUB4%pZjQ7hD!A0r-@NF(^WKdr(LXj|=UE7?gBYGgGQV zidf2`ZT@pzXf7}!NH4q(0IMcxsUGDih(0{kRSez&z?CFA0RVXsVFw3^u=^KMtt95q z43q$b*6#uQDLoiCAF_{RFc{!H^moH_cmll#Fc^KXi{9GDl{>%+3qyfOE5;Zq|6#Hb zp^#1G+z^AXfRKaa9HK;%b3Ux~U@q?xg<2DXP%6k!3E)PA<#4$ui8eDy5|9hA5&{?v z(-;*1%(1~-NTQ`Is1_MGdQ{+i*ccd96ab$R$T3=% zw_KuNF@vI!A>>Y_2pl9L{9h1-C6H8<)J4gKI6{WzGBi<@u3P6hNsXG=bRq5c+z;Gc3VUCe;LIIFDmQAGy+=mRyF++u=drBWV8-^>0yE9N&*05XHZpPlE zxu@?8(ZNy7rm?|<+UNe0Vs6&o?l`Pt>P&WaL~M&#Eh%`rg@Mbb)J&@DA-wheQ>hRV z<(XhigZAT z>=M;URcdCaiO3d^?H<^EiEMDV+7HsTiOhoaMX%P65E<(5xMPJKxf!0u>U~uVqnPN7T!X!o@_gs3Ct1 zlZ_$5QXP4{Aj645wG_SNT&6m|O6~Tsl$q?nK*)(`{J4b=(yb^nOATtF1_aS978$x3 zx>Q@s4i3~IT*+l{@dx~Hst21fR*+5}S1@cf>&8*uLw-0^zK(+OpW?cS-YG1QBZ5q! zgTAgivzoF#`cSz&HL>Ti!!v#?36I1*l^mkrx7Y|K6L#n!-~5=d3;K<;Zqi|gpNUn_ z_^GaQDEQ*jfzh;`j&KXb66fWEk1K7vxQIMQ_#Wu_%3 z4Oeb7FJ`8I>Px;^S?)}2+4D_83gHEq>8qSQY0PVP?o)zAv3K~;R$fnwTmI-=ZLK`= zTm+0h*e+Yfr(IlH3i7gUclNH^!MU>id$Jw>O?2i0Cila#v|twub21@e{S2v}8Z13( zNDrTXZVgris|qYm<0NU(tAPouG!QF4ZNpZPkX~{tVf8xY690JqY1NVdiTtW+NqyRP zZ&;T0ikb8V{wxmFhlLTQ&?OP7 z;(z*<+?J2~z*6asSe7h`$8~Se(@t(#%?BGLVs$p``;CyvcT?7Y!{tIPva$LxCQ&4W z6v#F*);|RXvI%qnoOY&i4S*EL&h%hP3O zLsrFZhv&Hu5tF$Lx!8(hs&?!Kx5&L(fdu}UI5d*wn~A`nPUhG&Rv z2#ixiJdhSF-K2tpVL=)5UkXRuPAFrEW}7mW=uAmtVQ&pGE-&az6@#-(Te^n*lrH^m@X-ftVcwO_#7{WI)5v(?>uC9GG{lcGXYJ~Q8q zbMFl7;t+kV;|;KkBW2!P_o%Czhw&Q(nXlxK9ak&6r5t_KH8#1Mr-*0}2h8R9XNkr zto5-b7P_auqTJb(TJlmJ9xreA=6d=d)CVbYP-r4$hDn5|TIhB>SReMfh&OVLkMk-T zYf%$taLF0OqYF?V{+6Xkn>iX@TuqQ?&cN6UjC9YF&%q{Ut3zv{U2)~$>-3;Dp)*(? zg*$mu8^i=-e#acaj*T$pNowo{xiGEk$%DusaQiS!KjJH96XZ-hXv+jk%ard#fu=@Q z$AM)YWvE^{%tDfK%nD49=PI|wYu}lYVbB#a7wtN^Nml@CE@{Gv7+jo{_V?I*jkdLD zJE|jfdrmVbkfS>rN*+`#l%ZUi5_bMS<>=MBDNlpiSb_tAF|Zy`K7kcp@|d?yaTmB^ zo?(vg;B$vxS|SszusORgDg-*Uitzdi{dUV+glA~R8V(?`3GZIl^egW{a919!j#>f` znL1o_^-b`}xnU0+~KIFLQ)$Q6#ym%)(GYC`^XM*{g zv3AM5$+TtDRs%`2TyR^$(hqE7Y1b&`Jd6dS6B#hDVbJlUXcG3y*439D8MrK!2D~6gn>UD4Imctb z+IvAt0iaW73Iq$K?4}H`7wq6YkTMm`tcktXgK0lKPmh=>h+l}Y+pDtvHnG>uqBA)l zAH6BV4F}v$(o$8Gfo*PB>IuaY1*^*`OTx4|hM8jZ?B6HY;F6p4{`OcZZ(us-RVwDx zUzJrCQlp@mz1ZFiSZ*$yX3c_#h9J;yBE$2g%xjmGF4ca z&yL`nGVs!Zxsh^j6i%$a*I3ZD2SoNT`{D%mU=LKaEwbN(_J5%i-6Va?@*>=3(dQy` zOv%$_9lcy9+(t>qohkuU4r_P=R^6ME+wFu&LA9tw9RA?azGhjrVJKy&8=*qZT5Dr8g--d+S8zAyJ$1HlW3Olryt`yE zFIph~Z6oF&o64rw{>lgZISC6p^CBer9C5G6yq%?8tC+)7*d+ib^?fU!JRFxynRLEZ zj;?PwtS}Ao#9whV@KEmwQgM0TVP{hs>dg(1*DiMUOKHdQGIqa0`yZnHk9mtbPfoLx zo;^V6pKUJ!5#n`w2D&381#5#_t}AlTGEgDz$^;u;-vxDN?^#5!zN9ngytY@oTv!nc zp1Xn8uR$1Z;7vY`-<*?DfPHB;x|GUi_fI9@I9SVRv1)qETbNU_8{5U|(>Du84qP#7 z*l9Y$SgA&wGbj>R1YeT9vYjZuC@|{rajTL0f%N@>3$DFU=`lSPl=Iv;EjuGjBa$Gw zHD-;%YOE@<-!7-Mn`0WuO3oWuL6tB2cpPw~Nvuj|KM@))ixuDK`9;jGMe2d)7gHin zS<>k@!x;!TJEc#HdL#RF(`|4W+H88d4V%zlh(7#{q2d0OQX9*FW^`^_<3r$kabWAB z$9BONo5}*(%kx zOXi-yM_cmB3>inPpI~)duvZykJ@^^aWzQ=eQ&STUa}2uT@lV&WoRzkUoE`rR0)`=l zFT%f|LA9fCw>`enm$p7W^E@U7RNBtsh{_-7vVz3DtB*y#*~(L9+x9*wn8VjWw|Q~q zKFsj1Yl>;}%MG3=PY`$g$_mnyhuV&~O~u~)968$0b2!Jkd;2MtAP#ZDYw9hmK_+M$ zb3pxyYC&|CuAbtiG8HZjj?MZJBFbt`ryf+c1dXFuC z0*ZQhBzNBd*}s6K_G}(|Z_9NDV162#y%WSNe|FTDDhx)K!c(mMJh@h87@8(^YdK$&d*^WQe8Z53 z(|@MRJ$Lk-&ii74MPIs80WsOFZ(NX23oR-?As+*aq6b?~62@fSVmM-_*cb1RzZ)`5$agEiL`-E9s7{GM2?(KNPgK1(+c*|-FKoy}X(D_b#etO|YR z(BGZ)0Ntfv-7R4GHoXp?l5g#*={S1{u-QzxCGng*oWr~@X-5f~RA14b8~B+pLKvr4 zfgL|7I>jlak9>D4=(i(cqYf7#318!OSR=^`xxvI!bBlS??`xxWeg?+|>MxaIdH1U~#1tHu zB{QMR?EGRmQ_l4p6YXJ{o(hh-7Tdm>TAX380TZZZyVkqHNzjUn*_|cb?T? zt;d2s-?B#Mc>T-gvBmQZx(y_cfkXZO~{N zT6rP7SD6g~n9QJ)8F*8uHxTLCAZ{l1Y&?6v)BOJZ)=R-pY=Y=&1}jE7fQ>USS}xP#exo57uND0i*rEk@$;nLvRB@u~s^dwRf?G?_enN@$t* zbL%JO=rV(3Ju8#GqUpeE3l_Wu1lN9Y{D4uaUe`g>zlj$1ER$6S6@{m1!~V|bYkhZA z%CvrDRTkHuajMU8;&RZ&itnC~iYLW4DVkP<$}>#&(`UO>!n)Po;Mt(SY8Yb`AS9lt znbX^i?Oe9r_o=?})IHKHoQGKXsps_SE{hwrg?6dMI|^+$CeC&z@*LuF+P`7LfZ*yr+KN8B4{Nzv<`A(wyR@!|gw{zB6Ha ziwPAYh)oJ(nlqSknu(8g9N&1hu0$vFK$W#mp%>X~AU1ay+EKWcFdif{% z#4!4aoVVJ;ULmkQf!ke2}3hqxLK>eq|-d7Ly7-J9zMpT`?dxo6HdfJA|t)?qPEVBDv z{y_b?4^|YA4%WW0VZd8C(ZgQzRI5(I^)=Ub`Y#MHc@nv0w-DaJAqsbEHDWG8Ia6ju zo-iyr*sq((gEwCC&^TYBWt4_@|81?=B-?#P6NMff(*^re zYqvDuO`K@`mjm_Jd;mW_tP`3$cS?R$jR1ZN09$YO%_iBqh5ftzSpMQQtxKFU=FYmP zeY^jph+g<4>YO;U^O>-NFLn~-RqlHvnZl2yd2A{Yc1G@Ga$d+Q&(f^tnPf+Z7serIU};17+2DU_f4Z z@GaPFut27d?!YiD+QP@)T=77cR9~MK@bd~pY%X(h%L={{OIb8IQmf-!xmZkm8A0Ga zQSWONI17_ru5wpHg3jI@i9D+_Y|pCqVuHJNdHUauTD=R$JcD2K_liQisqG$(sm=k9;L* z!L?*4B~ql7uioSX$zWJ?;q-SWXRFhz2Jt4%fOHA=Bwf|RzhwqdXGr78y$J)LR7&3T zE1WWz*>GPWKZ0%|@%6=fyx)5rzUpI;bCj>3RKzNG_1w$fIFCZ&UR0(7S?g}`&Pg$M zf`SLsz8wK82Vyj7;RyKmY{a8G{2BHG%w!^T|Njr!h9TO2LaP^_f22Q1=l$QiU84ao zHe_#{S6;qrC6w~7{y(hs-?-j?lbOfgH^E=XcSgnwW*eEz{_Z<_Dh$`umyA&}}+%@4NTibI#m1bML&C zwA57;GJ^~Npr{j+=~(nwa3T&n2eW>R!h*j(Aw30vIt~C0+W>fpl^PxaP=x?6rv*UK z34mAGfx$J)0dTBLOV+3;Vm(EiPZ4RI!{2g7a-D=ZPJ(Q5SQeR|N#*I;XHKVsJ7sIFZ0fAOyw3Y$Y5R3$dce zd<~hG4*9Pj@iY)O9S+er3v-AZHRQJ(=B6X5701s_92vgGO{^dbb19+?9x-)JVVMNB z3i6ADmMVxL>Hg6sQ)8FDzKao6>?SV~H9QS293k^FAm0cQe=Uxyfq3g(Bt}=M$y3!N zX?`VdL;bRQU{)05BcracgjL;O>jzz>MpxO}OV@rVv!cl6$K=p7h$*4PZjra6A;n|f ziMBv(zo_Avbo*;JsS)y(rowF1l9g4$+It+6og&uqD<>mbQEBsQ7tsbhLkwX?N8rFX>hf}F3mRcV z>1wO26-72ZBCulc-Xgr0kjPDj17h4G%|QjH32dcc;~n2M`*B_ZJRO0&gpg;LVkgQ> z-NQ&~Q|v;6@=w9OavVJzxbpy&2i$^jG(JS*6F7+wYb8aj3n>{7ExkmIGza7!V{7|8 zR#f8X2+2oM+tl7YFq~a&Bhv-=B_U8i4CKEOzf_L*jllazadaWxTU^uB{ws=h-bHW! zj&5qS0VfuL9S`|PfqUrC@W{YCx@+py#0&KF@K?YkxTevDqG;jp{NU7+`mHuV^d->+ zbq%ctdQYe~RFi33oNFM2y_3uWlmOuDk9P}vZZ*8Y_R=9gX_eAmV0==FT?iI+ii$8t zAP^a}WI*$y;fV0Z`2v|vv(fco4Nb&zL%Q^6}Gl)x3(lTjIw*W4FwOk zJ@oEWW=H3feaP17({ABGuyLotK+7zbNCl-;$2(zM!ol8sC)})9o#!`S4$O`pl-1kMsn)f2@bgY?9!-Sb(b7N7Ib$ptAAFI= z>@A)Cy!O(K66Yzq4*YVV?arz52ZySk+#E79amnLLxHrzAXYFy#?LLNv*1fW7+2x4p zS0fiQ`n+=*?wY7LO~;nrzKt_u1G87Uh5;!5xbEK8`1f{V!%-Tt)y9+*5Q^nQ;LuzM z@C)<9oPjw2xI+$L;SX|Hs2y@#L_H4S{>m4KC%%9B8Vf-dRko!-XE7-B6$UH-5h9X? zAu`M~NQ6QpQAk8Q1W_Q!^WD!L|3gq>E+{nC{=Z=B6?G;i;4XHs6qXn&ExMAje`}-) zQTU%t@b;Wbb45m(PHzC=uJ1dlF_5|lsxZcCqp{Lp0U~Jz^Dwrm vz-tjrE37dTXDhL$rIm%|QmkqH7qYtlQr7*Qa#;8iicx@Cm8v`zt8MxNgktjO delta 268 zcmV+n0rURp3#S5*B!6sBOjJex|Nm6Q`1=0;_x%3>SDWqeeKN4RM4i{jKqmiC$?+xN>3Apn^0QfuZLym_5b<*QdmkHjHlj811{If)dl(Z2K z0A+ekGtrFJb?g|wt#k#pV-#A~bK=OTs8>{%cPtyC${m|1#B1A6#u!Q;umknL1chzT SM$P~L002ovP6b4+LSTXb^_Y+V diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 797d452e458972bab9d994556c8305db4c827017..b8df5ece30b0b053a69cd089c702d113a9b74d22 100644 GIT binary patch literal 2389 zcmZ`*do|ELQd0OF7UkbDsURzWKHF93){0f5jK04(wWU`Kdyv$G{A zNRb`wv4H63Dru|C1{nwghqr|YArNVG8IS(HaE{zC;lid z*q3*Viu5Pf=vLse?cz93{c5p|2Da6$RIa>8jS>1CSTH5ExuId4vkjwzDn zYEqbXF{L46R(Bs2S%5r3wTXB|lD)pYKV)6>N^&L0xgxn*AdnA(M0`9e}7OHyqj!R=4n5r`2DaU6$ znA;5qM-&f|*c^t<0IztvTVPXQ!gp`1^)0xRvoF-;bn=jI;T1tu5yw-btWHWV)9g%^T^qbHx6cGxEIw^3HZ{ zZF#4?_9|8qMIdP&+zdt_$+{Y^dz8{1UpKruz&cm`VEMN!F|4&DC-5HB4B!6ck2h4P ztGs0UMt{K-*L^%C6H@TP=XIlC2~?$wnP1Y>%_jr#Qpg`KZf=}h=yJs#!#ZHGK{puR zilnwBwzU-s?Yg(3ojSqVZ()21h~e^$WAqc>8aU=Jkm_6pihzO;;imi$-{TDFW*w} zk;FVwLl95^vNUl&;U3GPfg=(6r2qC7(`x3(5}LGr+gy=rXXKKjIzy~nAL1Bg$epPr zg0YH&Tv-bY@k<<%gFzaJP~C$;Nofhxy3VU}m_)6+Yta$n#n7 zG8D(8r)4VSsz?)*NwtD}39?4Da`{kMRn0BU-oDH^;+;H_iZUKXtE^Sy=o}f!Rp_>@ z@gnLm-CX2bm#faL-M^gIXc;^2THc~94+E_I#5tTYHR2_g=RAiDbcKb(y&O>CDRYHGr8ekToMJkZ+(B`IeX9#k1u?bpsrZP=+FGBJtW@~S*x zO2T2~5tO7c*zl>uTuwJ$!JsE7((L>LncZ`%^b?5+6#t=|&IJKvw_phBFdg>PaQLFikdL=dfx+1M9$bBlZO`a>U-y%} z^`)<`tEd>aI%qP&B?@Q8U+dOgsZ}$_S0EdO4m8RMfpFx8k2L0(X)?3axbVPtuR63n zw~e4tc{z3QnPO1UYwmJ?`ia_}V7Wvc&t8~isquh?XLoSVZ1xMIQx-kuA#@fedK;oU zAm8;Cabm*hl9H$S9lmBs^P&&aFnh^r=QbD|{yYX#CD7d}VK%h7GNe=dT z+|1HFpXJkNYGx$spRL+;rb2Mg*_!w`_Ux>KwH2`I!i?ekwA5~zyL-ZX_36mR2~!*O zqu+)--O}0TIkIk5R$pIc1-37JiQo3+k#+d{F(K>t&DaIVUhV*Iv_mncGc&Pb)S|f< zQu^$}0C9hoGn1s*Edg&}{s`WBHF!Y>rnR}THwpccwd37w{b;)N&9_B-%eBo)R*dii zc~I3niV;1pWIyysX&}o0hDbrW@Z>!a**8(@@pfk1QMaVk^}o?PTLm-ybKPd5-0BYt zc*_GODhHR|U?#{#*jCJ$%A~%DV2F;m@CLsnzIQzOOI1v(>5P-t(&R{})+D)KOFZGn zeMrPcENO<(5_RBIeQ8vX?x<593Zegw62SJoTA=@lk6Fh&;tyVX9C0X)_LNDEVatCI zXVX8eG)^&wx71hGKJ!I0BIn|oyhaZmeWArAwI(f{dUTuB-aO#Z$sKO`>cMoGjVO|i zE{R$m+fL`Cu6%v9sC~Rx>Yjfx{rX2^r}l3xuDNt*#|xj8j7-Fl47KrsY-Q_zGl`PTwD*;9dSJlP~o*9N-85^ASaNp~P zB^#*Z`G~rh>=TAtr{_m<+T-7{k~W6@4_nk=xsqG9v}k$5?i8WFz+V|JN$&qxccOo$ z3$-KXIfYp)V^j8uOP!8!Jp5NbP4`WoyXzs~HBoiS z!6z6?amP{dc)$Scr2(SDoEdb8e30w2KZ^}Oa@RcA1 delta 390 zcmV;10eSw_5|#sy8Gi!+006rnNM8T|0E$pdR7L;)|5U~J0au$Tw)XJ){%+3s=lA~6 z@BMVp`S<<*VaoaP`~U3u{%g(ou*=|m)B4`@{`33)?ezIj#Q6OF|6IuUF}e2O>+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g3dD6mjD0& diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 6ed2d933e1120817fe9182483a228007b18ab6ae..81bea86cafb81bb1efaa91e5452041207a2cae63 100644 GIT binary patch literal 3788 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 OKv&BUQE}To@;?AHzuwXS delta 435 zcmV;k0ZjhP9l`^U8Gi!+000dlDL?=K0EAFXR7L;)|5U~JDYo_jSDRPH_*uvJ?fL$s z;QQnD{*>GM-ShrilfUZt{^9lhT*&z4_x{-O{Rv#2V9EI}xb^~1iQe@7)8g(7UZ4B@ z|4zgB>+<*9=;^^)>d)H7pzGjuM>Jnezy3`@G2r z?{~a!Fj;`+8Gq^x2Jl;?IEV8)=fG217*|@)CCYgFze-x?IFODUIA>nWKpE+bn~n7; z-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGrXPIdeRE&b2Thd#{MtDK$ zpx*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{HY|nMnXd&JOovdH8X7l^59RJLA8}nqHlfYWs#y?s>Xj&pn^d`}2A~@7L?~dHwf3#R&8@Mq8o* z0LFA0H3-6$i>0pzy}eU!SPSzGS`2b+|Uu|Hz zLj-cyR$nUkuy`bjvK(lF;?o1XQEC)Q-*TzQW+MjxL^YjC38CFPk+(G=G}Pkc2if~C zM|YqTou)6>HTl6Ro!Y6^6u}-_J0qOrz%a&~-TcJ%4i0rTI@;)Ikx3TJoEvXvdy;zN zIz#gI2a8O6U*F8k^ZB0L3nq``+t8~1I}M|+H3bTtOeZ_{#Xf-*o|bM$xoP5&jj*sA z;&cXicx<;hACm3^(p^2{^;#y@yl5}ToyY~GaGLL)R5*o!?M-RI&t9Ai$tz^$Qas_$ zKTr&C`aq1a2$C>ImM;~uRJ)p^EGjAh-iJypK@cT+K}#Yl+q>e6BBv+S1*JhnvcMM1 zeQc`W*gJt)QO%M|G;Br~zx>!T#TK3Jg0Rsor~b*2(fd!gRgr*4RQHbp+f6S=?|B=w zf^t!}no%qjFHhT$JgwX;HtJvDkcC5GmeftAVAs0;J~iCG1#S>gOm?Jg@6&`CUqpLU zY0PqcvSiNscQF_u+A`v|S08@9(a|cGHomaAVq=8}Eq1Tlfr7^?un15^8N-ngk1}zt zVJ#(>`x4HFor{j+J?p-^YT0p*_=5~W_pSaiJUxR^yfg}xS62n||9VU`*q>jstTRLt z?;4GmW_7DN&W~RfcJ5s5OtCe3xQQc=$+aZiROOAUej1bul}LLmt>K2(+QI5|fqAmT z(z%EOLusMm;jRn=c=qjbGi|f~fwZIePWXM*#`S{9RIdr;?gmpm8tFT~DppiY(3Vb5 zI>E2a`HkGE@Cw49GQCYFJi{#FET~G56gVKRF_mVzsEZyL1s`1{M)Tad9F?;t=)|DH zy{~(E>wgfLwPZwOX~f1mI!sS{bsdX6ZhzCtZH2q4=6yM?to0LiRO$S5EW#j@$5tDb z_??mKx7)#`X!Q4;Y79Fue?~q&s7<+87Wq`a@&}=LTeW9n z-7@i)6gDHJkqu6oK`Vcy8M-#OCA(z^*5UB=TB%*!M{Fs zh!j25xfli?F(}DSn@x3^zuqA6*Et6y?@D_YRw3V9JC6BOoWaV9n*VzEmP-o~NYx5a z#lZ*rGv{M2)SeDudztH5t1lF4YlZWhq$2@L>shI&c%e+EIGkyDDt}iE4q08+SZP~# zONaX<@Yi}g7-Q|dvjO8ebnB;Yt>ozD(cQ((3Ht_BZ+gw;Q;ob&*K4)MdpxMAHT7w) zet8_YVnWDy_}%t*3t#@;@d1c5vhs$)NvEf7Q${T04!U%4h$i5zYMz(4m+d$s= zOg{Zmd`&Q5dZ^xKTml1d2w{seiQY$cr3C(0zbI6Fvy2IWJ>Q$fkB#AT$n0be1b|2&x_wSq z58V*L1~QRECJ{d)5Xc0=+nlNKe;5*zV&k}i|2G_aL=S}wjvo{FafuurKPGYizddeb zqU)a_h&w+ULmsn54<{v#OZG}iNJt6CxJzULih3FlJ)`OMkME)>c5ihf0sPdgnb1`0Np!~TJ0Hq^bgHK%>DoX delta 266 zcmV+l0rmc$4VnUw8Gi!+003c4mpuRg09{Z_R7L;)|5U~JDYo_jSDX9(|7FYh`2GLd z^Zv2r{H^2sT*&w!Y^SB+`<>qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6 Q00000NkvXXt^-0~f(9dno&W#< diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index fe730945a01f64a61e2235dbe3f45b08f7729182..92298e2b0da8f798cfd54f436830ec7ef7293782 100644 GIT binary patch literal 3626 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 Hjf(j%UI3B{ delta 447 zcmV;w0YLt$9L@uf8Gi!+007oyx*7lg0G3cpR7L;)|5U~J0au$Tw)URh`@-w}Xw3Np zS)Ix4{k7)&ujKrh-TO(x_}20L&+q+}+xr1ilg8}*yXgGl_5RcF{f*iBEV%Z~-t4>5 ziGV;=={^- z?sLQGb)?A{hr$_!z8HbH7kH=vM0x-*R~t>;jsO4v^GQTOR7l6|(&r9>FcgO2dg?%> z;=sK?5%;?Pn^T7LL?Y$@5u?06NuIR*0?Yf$Hf5Afk+lM<^ch*jvO$sU*m9J?JI7eI zGFV6+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9R%3*Q+)t%S!MU_`id^@& zY{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&p6kME1_Z%?`+u)^el0!1<0sd p?Eyu!OMLDifi)An*I;?S-wj=m4RYIt!kPd8002ovPDHLkV1g}M^fv$i diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 321773cd857a8a0f0c9c7d3dc3f5ff4fb298dc10..ff48b7b1472469e2ad41401433b8304c23bd8480 100644 GIT binary patch literal 6046 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 Zxpx7IC@PekH?;r&002ovPDHLkV1ft{Yh3^U diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 797d452e458972bab9d994556c8305db4c827017..6cd356c4b3a91fafd658d8d3b19d9d6d5909dd7e 100644 GIT binary patch literal 2389 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 diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 502f463a9bc882b461c96aadf492d1729e49e725..5b95fb9f0e34006a6d934f95ba050d65f2c1fec8 100644 GIT binary patch literal 5416 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 delta 572 zcmV-C0>k~ND#`?q8Gi!+006nq0-pc?0H{z*R7L;)|5U~JDYo_jSDXF*|5nEMy6F5^ z$M}8I`uzU?*Yf=uXr;5|{0m;6_Wb|A>ik^D_|)+I$?g3CSDK^3+eX0mD!2CP`2NN0 z{dLg!a?km&%iyTt`yiax0acdp`~T(l{$a`ZF1YpsRg(cvjDG_-U$Er-fz#Bw>2W$eUI#iU z)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G!hkE!s;%oku3;IwG3U^2k zw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn_j%}l|2+O?a>_7qq7W zmx(qtA2nV^tZlLpy_#$U%ZNx5;$`0L&dZ!@e7rFXPGAOup%q`|03hpdtXsPP0000< KMNUMnLSTY7`ZZ4g diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 0ec303439225b78712f49115768196d8d76f6790..4cc3cf34c33ecc6ddcbdb25c8435d7765ce69512 100644 GIT binary patch literal 9541 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 rMCm!`TW@Fgw*Y;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f}}ReDgXcg diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index 0ec303439225b78712f49115768196d8d76f6790..4cc3cf34c33ecc6ddcbdb25c8435d7765ce69512 100644 GIT binary patch literal 9541 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 rMCm!`TW@Fgw*Y;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f}}ReDgXcg diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index e9f5fea27c705180eb716271f41b582e76dcbd90..9e7be17f69ec23fa1343983e66fc2468909d46dc 100644 GIT binary patch literal 17504 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%0A; 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 delta 749 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�SUcVLGeX` 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 D)1K8J delta 1217 zcmV;y1U~z#ZpsOe8Gi!+001u>&=UXv0SHh`R7L;)|5U~JDYo_jSDRDC`1<|-SjPDL z{{Q{{{{H{}09Kk-#rR9Y_viNgVafPO!S|ls`uzR=MZfp^{QU=8od8La1X`Tr_Wmff z_5e$ivgQ1@=KMy$_g9a+`TPAle6cOJ_Fc#L7qIpvwDkd1mw$fK`6IOUD75rX!}mad zv(fMTE4=(Nx%L54lL1hVF1YpqNrC`FddBPg#_Ietx%Lrkq5wX00X1L{S%Cm9QY*av z#_Rh5PKy9KYTWbvz3BX9%J>0Hi1+#X{rLA{m%$Kamk?i!03AC38#Yrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`?TG`AHia671e^vgmp!llK zp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?tc*y?iZ$PR7_ceEIapF3KB14K0Pog?7wtd+^xgUCa_GVmlD z<^nU>AU_Yn-JU?NFdu|wf^bTCNf-wSBYVZltDdvGBln-YrbeGvJ!|s{#`gjN@yAMb zM6cjFz0eFECCsc|_8hTa3*9-JQGehksdoVP^K4m?&wpA~+|b%{EP5D-+7h)6CE; z*{>BP=GRR3Ea}xyV*bqry{l^J=0#DaC4ej;1qs8_by?H6Tr@7hl>UKNZt)^B&yl;)&oqzLg zcfZxpE?3k%_iTOVywh%`XVN-E#COl+($9{v(pqSQcrz=)>G!!3HeNxbXGM@})1|9g zG4*@(OBaMvY0P0_TfMFPh fVHk#CZX3S=^^2mI>Ux-D00000NkvXXu0mjfU+RPd diff --git a/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/samples/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..1ee055dd3d9c76ced3be5d2c6cfd84f7351178c8 100644 GIT binary patch literal 16635 zcmZ|01yChDurPXXcRRSl!5tQNcXxMN+*#aV@x@_rcXxM}#ogU)k%gbH{;K=xzE`hi zGD)Sor)N@0YZ9rXAc+Kz2M+)Mkff!=RKDtx{|YSl*YnMFz2mDQF_lu02LQaO0DyoH z0O0kjE8qkGaAO7l&Wr#6o-_ae$1$s2nePh#Z6Yfv2KfB%%Izvi`s#skm6jKWIfH?L z#lt4Tw%P^&1YxDcgw;IPrhZsAT4<{8Y#nc1BR!riR(RJym#e`2iT8pOiP!E2LYX&) zY80a32VeG^%SJcb*Mu3!u1WkgUXPV}7D;_LvH=E(Ns$Gn)g_Lr-QU=F4{&XC zyp8Y=Y#m>?^gMUHHojFCZh2hu@8^WOOb@Lde}c$R!2l!xuoeFc@jZntc84(yH3M@x zbdI>>sN}|^P8C`eR=Z1eRb_U_^efOmQ6Lv*VG0anlyy~2KBq#}6f|WTJE2j85*ZnQ zWX(egPzetPes>1a6&4cFWb_svm89CvzosjTkfMQW)7&Y>)Es0kYvqMhqyXZPeMEt$ zt!y8mBoI3Udwz`18LC9f=iySfcTZ^r_QImg55jQ;4IE&B0m#6A2~qSB-Qoo* z6eBRV41|S8XihGoZ@%j27>+S_RZ;;cOzeaR z2!O(2i9I2ml3Y9@AZ0pCkbILzM6?x^HQ$GNAhxUn<9Y;!p`KLl(6dos;uHB%ZUWu6 zec^DNGbD5X8ENDTEy=7=-0eb&Fnrz2DkR%eIx9L^Xx2NwGA?@x6NOq$@x)v~PSaNY z1m$=aq?1l$gJ;OyD3CH4w2ZVLa@oo#Nlk1LF5U;Wa0naeeRwivGOd}c$d8vCWspjq z8sk-vjbIakc?kalUjgQc%i@GEE6Pa2vXaWhY}BYy%@z5VN_0V@;BX^sX`I-QGGg*9 zip*a#0Qx>eHnFJA0PxhgxEb$0YY*>WO)Xq;vK6fWD<%D(s&gx(K9PLymXm0-Y=n?L zPft`GiyU(m0bG<=Dhvm~>D?e~L=)?>zy_V&;^Cfp1tUzhAU!Za8znfk92#>5X_Xo?etYsC#CR&Q(=r$X!o>+Dh-is{~V6J zv)%^tAxBge42h|WfbhU!?L4&gs{_YFok2PJvxj)0+~g#;zN~)2`A4Q_@llp>Mn4r#Yxi9c1GxwcrZ~)$pqA-?8+GuyGi+Wz5QAlaFgdA-)p=Rw$Kq!0`m8y zl2Llnn?!6n>ftQ<@-*=5SHwa*(;_27D1=0uJmA?#*FIW@Wc>1F1?*p&FIHQ*Ve@-qcsXu)FZ6=CPW@BV!9jk$;!Oy_k>G9QQk1|atTo6iqpT$ z4Pfh>WBSkv8Le4fMbHE$je=g*+A7h-8B3Ef)0GgH5B;dN#A7;OJ>0j7zK61ePPuvA z8xiIK9Ss~RG?qppogk~B4s&5qG}rFLV52!1om3V%Y(qm7r-6<(=cJkbj5- zbL$hiO(g6QomWbM_d^y<@8#90rCQQI8C(D28z%=*>gAAQs)q(F7CIpfnoYut(Ago{tU--0~h;zbyamJ=MM2wVIC;EE8r+%Z8g7M8FIQ9ND?E`z-lLzpYX>Aw64dro023Jk|TI_Z<)N@L+(P*#Vs zJU)^G40FW@0AtFxBnPq?YGzQhK)qCcv%@a55{CF+BvyK)?mCL86|nnqLYzfaJl z>bPP9ZwRP)rk@(^plmEm zCZv^(!Pm(AQ0q%TKFHQ@r8S18(px!DK@>HH`vWz^kRVFgZjrMiTb( z&Kiqzsdw)-BP`%(Q18YqLkbDuS;~8VtFr_!p>whsAprn@X>${M&i8HBw>S(k*6mS9 z?<-auC@~V1=n*j{flsMQEXBsgb^?z$(2j$4)J* z2mjJpja5C{s}}3BO}#_1t#{Le0u4Gk}ENSC&l8DvC2Tv zloimiQj(#>Wu#>V=!WbVfoX|PGgx5+9^9NHpGVqYr+DNZ~G0xZ!8bv<9 zs+G|rR?+sq^*p@~#(=rcKs#1PJ5KX7H}^@rZwL(oNgsrNrP&90zNGQAB`(x?Y=q)0 zi_+hJ;5vKI^n)!bd}$JY1S`rK4KM{?o?9MPr2ZZNS-ZYKOF}ClWrl^OGJs?PFBGSG z@Lt7eayVMRtP}<}5}_dzJsaYXb8x+5o%ea3&o#K9n((I3J(VEBQhTKoG5iV>A` zW?Y54s-n^SM(t;l)6?bK5+!DV1K!!CjOo-ClyE~*!w_E&g-Y^seo(&P!*0VG%S=JX zrX$bP$s!USA>FBEU$-YRxnu&ZHO*Xu4!+!j5m#FSNo6w+EnCdu z_geJLs`Imk zdJEWX{#7!j<^k1gX|P!85cs!H%gejXj+=3|eeLy=!YmYsk*yWF$%T}6`buJd+^@$a zi-R#H!_|8jjl=VoZx{uikBRZX)?Fg`+)^wZ7(BT=bSSjScYZX=OzVT^hz0>MCgGW| zxO22~EMX{e94Rc_+I}-vj1B_90Z%ah&TF>bGKv31ZUL5@JB|bEK|!WC zZPwH0uz-w?bvhvp*jb!Wo@6zKina*(E6lJ6PD;Z(ZPX5GAKpVgHeuFb_b%_29p&TR(=QtjG`Pzz#F4m7#?$!?%d2J4FjzasXkvwDwy`knn;(T^&Y#} z)@vjJ+Rp+b!1LKqfVg7{>6?KOQh5uW^+cKneWIBAHGz%@spKahk1#DYac$XwksW`D zRrFA$4L||snn{J;}6cY|MYakt%dayrbshR6P#HK>UQ@v=A9%) z7qhsvSI8mm9EIu(;u)bYBOLv#Uk>)#`hms9!5Yt2u~6v`6{3Z)rECpNppt;e$!S|l zcY_Y+Gap6%hqeaA_aFRP;;KBn)9!zyY_ai#mYWOc9uP@m{KZJh!9so$6-enO?D%|# z8#Wxmlm`L?Tlart?CS@}A%>w}HLRfM$g2(fzouAw_AED`l%gT!|<(W&M z7y?nIz7)vR&LImA`W4T><<}=Q2>IHM@Ioh3&tJ!n2dRWu31Fd6SrRvXUems&W|&#~ zTB(wvyG!=$dv5hU#yfw<*d{9U*)?R7miLH;dLMWp!5!lWaa&pB?7fhGgD)y+GB@m( z^M7&GZ|PiiwJ5!6Lo?;O6Pn67dw-7?|H;fAFCtS*HV8zw$-%lARlT6E59xR3149{N z50!u)`rC)d{VfCm#zC0-#Rf6$+rHpCEy6e7cUOOL_U}?_hO)d5-PK&!8ewL?yA&O5(qPIkpHh^uSWG~~^hHmpJeUmls1|7L^Yzy{& zsmd>-tcx8Ia~ZHd8fz=;G77O`0{#iRUA;%$Y%C4FuMqcsEoneqsY1H~L;}=UK4wH* zB}a%hPIh|aPu|=mQe6}yZ{wMq<@b_-?Z2A~aeip>*5pD*~C!K!w z?UnQ44*VnY@ju#_pC6}P7n_ulfLB&1wqXn@?>ji!^f9i{2eRWfrY9W z{#Qm?ps?2EQx1!78TH8;3W#GrZ&Pe7=T97V?E(;d zIvOLQBoL6zg0hlya)9ZG#$DgoXuk(XTRidc_y!ehpu>4jvau2U(>-dEHlG_sSC#wT zZD-XwWcUccuJ(J3&D@fH6atXp=u4}i)|uxbif)vU!Qo1R3{pp+%n+V9F`0Y$?5LQT zuYRqAcS``1YJhM>Crj%WqdGQQRJ}VwrlsOb3KRgbN3D_Y&prBXRRW|Fc}s8Sg=r4Q zcA@tt{H=P&NBr}098)gReW2W+9WS@F=ER{V$flGZ6N4k7)7115#R*n+i9=0et(tCL`XoFJ*Es`BufKX|05bO8tegV-LSW!FX2pGxVJraQ~~Ygmf{sT3_=e0|zi3;=GLfR`cF=zMl1O8zUt3l%Ld z;DH~qFWL;z)TBfgTtN#wt1fcKdQKzAd3x()z+E7KJhEVJ@NsaMP~6g)!oZ=O>u~T2 zr>CdEIOhz$^DpY#x3r(9nntW_Ox+KS@awmQJ7I-tMt=eYB7`LNc%A24^{LxBZ^c!} zd+R-Ql%*2csea*M@MR&h8WX`l|Fv0_n&xdb{gi==14aQ*=l&eY)&bEDrvhx#*6Po- zXZ*R8<%y6#)?xa)N2I7m)OMR}zC==#I=GRU5yv&Kan*$!nZlN9;YAOql*z!L^p%%yY{)K59kOw9{e26$kv-Ez? z5bkWSBr}L6^6gn#yjx?5IlB21Sd1+i`d@y|(xLJAK`0$}i060rL?yT+FJd`nvBFbz zf8~tF1TLlz2xwQxTxXkVwuVQOS_KX{ri+}OcMi8jk1+Takhlcnk<;cXd8}ZOSmgwz zRUUpub9YecBPxVgj2N+R9VI#T0wD zlE&-EOeAc2Ko3l!mRgN@TCO58jH%B7em2XMi3XAYv$qVxoY=`zXH2XrTuyQ{@gub*QS`R$A8mTu?l(cN&Q_k!m-_rzq>tCzFiN00Y zGR8QD39;1hUIC~S1xChQ_0d2Xql4aK{5~P+4QMlC9Sb$(UO`qiW-W-MOr|caEUx`Z zZGUbDn+|^0{<@^LLq;I&6iKjawo~!ES za6D(FCdMtnwTz^9BlEy1(CpR>)@ZnLo34tb-ixc6Ggi*HdGVAA3Cg7w*z&FA+qKYf zT#Ujy4XzA{yAgMe*~=5F<+Mr>fEmpRpBuVh5Q7&)L%@*iafZRuQd#h@=`yL5xpdlX z-AAdS_>(pduTDEaQd9<}%PM%ez{c&RcED^HJH9oEtf~xU^*k!cB?^m_k8qm%&Y<|h z>kjrq2$jMtAiUvJe-P<|D4cNLMs`laKfNC(lQ?m{qg_7#g7i)TNrKH%U8*l1PKt1I z^I{vo0LqO9VkoJJkdrO^yqpfcS22f zop{5{!eFZ->V(#i*4J!iM=P-wOdI!9e|`NilfSi(25%UB?_MBp{}Y&qh*6$)$D&$B z=t-AUPcJlB#M#)YzE(y8^sFCNw)28HlMc^Q01MQ;>RBzB?okcIQ$0v=Zbm7#7pIsv zLq_w+==4ngkJrVNA(LF8KG;-btS^MsO4xKIZuz-4stNu8Q%HFWtCqGaXPMxmCgRVm zHRu~;KCT;x7WwaMp|p`T&-r+qSKie$C8N{hHns^;IAlra0=mJT&&*~^JkigE7-SgF zv-P^6Ya%RDw8j>UGUuX1G-Sw{QHz&4OpvACIOSXDE?tng=DDGN#1woTTk>F3n1O_*aoaO4O)^?W@eBjGd;D61CJL9QeV z{lG}FEKvYKkf+11i_*R^g}B6YzErJgnuNJSPC~Y@%3SBfTd6-^c}Yvf^JOImdgtb| z0#qO}ApMR6p0WmF0_z>INa1ocq=gAsP{%ca{BphDM}Q-eFO8C&sILIZoe;M=_j`StzekVuRr|QdB7^DNhdECTvvDYYVs-*{wGI1 z(aDoZ(k2F8>7c&r>4eF61hlUgW^fei#YOHkpCin^)O?4cTPP57*{@5bF83|Bt;qZ0 zb=Uy(QCO+bx>(k~Hhy)R=&JN5i~x3!zxO{uvuW~|LeoWWeKw;<2TwXRun{s8_^7z3 z(=;II_y3{ zlO%`0c?ax-zK&WQhM(^HDqt(t9^ z8TQ9e>X_=D-U@0W?IlFJCya4@G|tL%~XBQn~GqvT`<*u~E2%ZBwfM zeINwHx{OeAn_2!x`2Yr>lM(@q3)lwb)&b*ZYhX%oY;$d+6U7v6h4AIp&ftn6mjkE(I+R#Dd`+ zr@PTzvmoD4+8l|KE@YpFlBzA$+R79W;|c@eo`X_z_wG_m^ocMTn7 zr(6#BF?{M;p_QEugWt9DPHcm{(w1NWY92A%HEdT=(od{d0cog{5dM{S0Th#yOI~l+ zSSA!(mhE8F((2cRdmqkgA8~$@s8QEqIc{87G}cP8MBuqp#SO22VwDn#e3y#GoOt7Y zcFYU3_qIj|?{Wk#6!tc!fw5qTsJ&T5Uww~n;`6|r=97@}HJS2~B&;DDyxz6^k8o!a z{0WHi7K689XB%%w379VnkEfUoNeu#9p~i=663-3p^xPWjss7i*ud2iYUApu?>T9Io zL@DUW?R?lWcD;8}>M2Sd=1LLS36&=0c|E@4Ox%>W+Wbp+Ji*d&B3?+hEf1tQQ2@7TpQ&C4FLLZFcj%6JAze zUAqa68~G>5gTkiNZ!Xk7TlC!)i7V;r3kbE}>PVVu$b!XrGuZBm`9>gwkgS>wo~cw* z$RjP=i$_-qLXI8?O67Sj|nOl=8$l+t&u|j`ZF>s85P@6PHkcM%d-1- zD$P9jGQ4r@nZL1|6motjN_E}Pp0_a#2Y%Q4N=DN zrSSY?EKS+QjS4N0IxrZ>0g~$o1v;aoGxj#&@{mMDkvh06m>7OMqij#c4Buw5etaTl z2e!HUNdhZ#s@^8Ry$ou3%ckGc*-b_@F~KlSceuBT&*1{j^0PL)FEf`ggb^c{9)3xS z)WYPQh_ci>b}*tyq0xXGxH^_)l84g`@eHu^8G9oXQcHxIN5n!*BQ}_WU-6*M>7pNV z!;1$4T2F)oqPlXYAHH1SC96B_yQo%t7Js0U-lIl4laHYqQj9?>tw=K=w%->{+ zGoBiq4%Ry*y$S{+(|y|TAMgHHC=r^8C}|lcnBkkes1cG z!a1D}5hnFdeo8BlY@KAA{-kB3@Y6Tk6#c;LK$3@4g`gIQwk~XrkUSKJbrTA`zw`3` zvXB6`MZ?xJBnY|+C*I78= zL&&j9bnUfz{AoGc4d$P8Oyd!@63UNwaRZ^Iy)O<1zei5s5;NKFfBs&lBqe6C{bR2c(WH%Qn258YyTY2n99gid(7$FPxZ!$HLW)Y z8lo>KLXv-PYH=EI%lv(xA8qd1foW8BR@3@|(83Uu1tqJi1NE*ffrt_7CJG8$PGlET zk`WAgM9XyOKY{Q_?l$Q@L#93p|7R zsqHSW=Q>+BQm%4%Ri0CNG527Tv7@m70cXMs%A#0OUl`OCa`32%W`+5V>-VV>CLXqCf80O5Kl>}G@FvfFm<7=>p@gmZr` z=i#5`^DSqVTTO1{lWaj5x1Ug=?ti(U3cQu?6l<@V#_Jf5dlDlqzOq+JGG$oFu~P*I zr=s5%AyjW>^K+NIs&c%ds-k5`$GpZrs$n)mE52v0I=yHC2?4obi>h(lm;DSfW!~Ak zMMB#yQULUJj&Q!J#O1^KDKn@=9#IxA{pqD%neQlJ<$TE&cAEUTSLr2SNHjr=L6tK- ze-0lunr*jz>uxn!V*c|HBCfPhM^5_h3|w@E1hFO(!cOl-vAA}_SRF}QnnjSZiVYwz zxPA47a#8}Iltw&A)w+tdLicy$dsghIn&F108@|$Bdbh7-FZwtb{#XUfvxWv2*}U*p zy-+_gyZcShRl1u8;}eV3MG7TF+iaPkxDd5v$+h{K>DyjXTA1|2U;aE2a^uhKFcNLR z{wq=qzFI{si((QW1qYN@M9OzyS9=WrQ5c0F=t_w2E3+i%eIte?MF>Hxsxt&c1I}7B z(Y!Yn3`=3lZfw*cfd$HFOl0|F7nC}@zZc-|bh7GxK)QBT#?JD;$!#VXIQO5}Nm4JW zJDe|WbJaOb0Ec)<=n4NRY*t3P_Yd2b6MmW5F`mUM+!^l#33s69jP#6sy}R2VaafP) znXIv@>5)Isy9k_`4)A)rypN>wqs}Q)R^pv_0OfCA4%ktR@8wENYw;x*17RCVLN@Yl zin!_II691!^9YUXz=>^??mfHnFZ*=WH$F^^mU-9Jv)P8{ex+&Ul@&s+a$~pKNRq8| z>9RL&x2CV@9ZUIvCuE=N^R#kz3v)S)W7*-!3xjcagzZ%vt(vBx)$u~*%V0b(Lg+L3 zGf~4S9Ur^+=KvrI+*Ew2uB_>?97g?l18wrc7gaI-OxXV`aMXO^^8!>x23YO%=lQ(R zmB_QKo-o@fR(xB@2V}DSByV+^6_rRmS0Odh&)0KJDpt>z_$w0+SuG5*&It0YcFmHK z4EZ=S@jrzmp?YPzRksmgUw8NmrW!;3G44b5?f$Q3XK;WY4E7=2AnyJo-YVcl4n#Go zM9ETcx$7FKDfNOu>IBycg;U8plo|adwGJd+LwcAdu4)$mCyr^gV1rnnl&!Jq z@EGO~8Da$Xf}%J?2)+ih%zKvYFge*t#DasIBm4A{tK0O#SeSliGLZMnq%Y1gb7pp7 z>B+(fLK%w5o#-3jt1?;E2`5y{V6>F4qO8idzH|@I>8RZA(!lv`NM%ZBSbA<+&T>x2%kdxQ>UGDa>7!izA~fM{yLSZq?5YskH^y+VvEgR1&$hS zZK{tfb1-r#fZ5@^lw+YkAKR?JA|+3nCXybPG!!Jj%@xCm<+#{^oK17GARmPSPsPSk+Y}d#`!)5N-H8 zOR`II^Vij?XoSLP0&iaG#+`P>TnB>Y7AJrA--@2{kDb3QA40)KGQM@?#m!jNM#hr3 z$#2ZIkO?>Nxnte&yo%~`hgH^Cfa#OSBHmA~u-83;T@x-jQk8BLqn$5PLzz7Y z_03n3>XY-P)iDls({EJn>bY=Fgusl-Dm51rhK8$RY5==;`3j)#i# zD4385>pyZ{wOfDO>5ee2ThIC&O%UT(=CB-^Q4FL(nBw;K$yGb5gRsJ14rM^lLuG(` z{raUWD|xj4;vuXLN-?x6nIqE{!qWN9e5R^r|9;*7L!i!3N6hQF3GT(@&3PUu1`X3~ z$%D_FF(9R1*z9~hbeZWkp9Ed^o`!e3K3pjp_a7q5h@`qSPz_7BPK2AV zTK{tNMU8ac*@U71^rTS5A)@>5v4r=D4>%v;TiwewOBZ^accL0UPO7^3FD56+Z;8*c zC7j9$o*((MZ8_%B?7p*Yd!0E5f~&nvEz%H-Bx!(64>}=?bBa4T%=PVsp37Do#4;+b zp<1o8PuGJWRBn0o(65w7&&@5EVo6o$+Y?N?<`QDpt5S- z1zmT(Pkqyv!E|&D1%cZY!*{vo3%24cr9rHJ2*v6EOsq;bWhzM_Cp!AOi5EGN^Hg5_ zX;Bt!)lhv?)OJ|6o@IWIQNlIaYVX<2j|~rn8ADdag-utZ(^1j5&%>E2Mk4kh3Ne@m zpT&MYCM*7LgI#eZ+Iay)Rr`6sM0ZkEht37o%Vkr>l2l2Vioxpa{zKD-1Jt|@*Lwe5 zvG&x2v%Z6kYQmWxBc5iwK{Up<2~2`7LvatOis>dQbV(V*_SRUtCXyv((n1A=Kt*Es zbu(7WHF#P?(V%}js@q@Pr&x6XlNb=3K749UrS9?qqD+-;!mC*u! z54hFg^o{Qc7m=6#cDwIja{gCAlXvzUw|QS8*?l|q5o%hTrG`j1(LAs~8~LCS`CA)u zP!GggAJ9d-eJ7KQYMQ2*9ASJVc&q)+eEDPluyjtuu7rUybwf4zFvE8U8mYTgkS6uL#1|?`3Q- zJ-%nZKYUMD1eG~@O~A2gMip&-T4Q}qdEUszWKK_aAqknYVQAcr9PA zyPWo?OsOVeSjlk!^|TDQ-QN!&Pz2qN^`CuDrycliZcN?$l@#RLYi2p0NJb%=A&W1* zWrBVlF3x?K)gXyZ^$X|YK4VlmWC_<>WCFaC9Ix^-hD_)FCW&IUuCL)j=Jp4Gq0O>O zvwa!Xe!HVTERi>yc4xb~?neMf8TFC9qf;Z!7Pj&gj?q&|7W!4y7u~MQ9ey`&TQ5u3 zT~FozWN3V)xK*A*B^@PHphe-NSPde8PSo-(J+$T`0@Ae;~DYpM)k zf4o8P;_p@DT|KwUQnyDdG7|gjyzlyGD)6lt3P6czxn_t@4Q4A&`A%ey5dD(1;{p%( zu<@|4IHUG^?;`fxM!8;V`>}Fx*<|c})>Pv=W^4G8SmS@MOZ?&RxsPD@9(5{*84A|7 zNe~$XC5y*`xj)4v{oZg$yG^Qa({8f3Mlu z?Qtchzo@3Egi=~v{^7jHZ&;Oc&Xj$U!@I%j(du*M_}PCe{LHrqF$gYioWX$xU};RI zJ5h!U68j5QixSU;n)h)xexKuWS@Ut{?|X~zU1z(}@F6Hu;4^*u_4n`hV3Z$!_m5|o z+^DGZB)v)q0n|0E3`6k-8e$lsTM8!C8K)z(^}R{UR3XJ*irMbE9fI~q<2kjgx>Gc? zm>mN@cWm$v)*_aY{A0kGz#@kd5-b4vCm8!lx7aUN)B&-BcmfAl)1?U!PP-Hg;kY|u z&vW~pk2=GwZPpfSNMfBlK~J068dK2<=&W_6E8o2>lpj06FvtR%=^4(V=qcY)*ND!` zj5L`o6_dtJoo8*u;Ym=Va?z{04Sj)!wNciz06k)iN^7L z6nkua+!Vxl6c=ZRZemI=jxLVTeHT@j8xUnNHYt^KNsLmcks>?vH?L|fHNk3*QA&Ux zm@c>CjpHW_zQRC}t@tL34|tW8b?`rbe*bXrZDfNVkE>D{TcZq!$_>8x_?L~tsMT=z z0Ylt%S#{0rdf>U54gfTJFo=c6=Ynva5aO*tE!J2uqAVvRK&B>y`Hdt@2`2Q};K~9+ zZjSTt1YP~|t&XC-H0<7Y=Dm9oVDX%PKgb(P?)l^F%*CPoh^^->GCdv1R_tYj_=;G! zD0ULG2uVn;gbY}3VbJq<#QOcRFr)7F^G;6xnwi|Y@>potx9YJ_ow;#}u3qxgCWt=l zB3=~{PQ==)Lns-a(6eT(GZgqiHSo z{po82r_YHoK2V7N)}4Rvw3t1QWb+3BdLds3@J+yZLaXTfwuaJvIj$=i<{;y9SRfLCG z6PeB6sWX;6#QYsjN5_7zBW2YaQL$Rza3zuPjtH#j<}|)b7Fz}U@g`m=dSK>HNxzhYfxh}5`EC0277}Swj&USHKYNz09oI( z?W$OPesgem7+kDsvP%~RuAf=(pEhg)5tg&{@&48+B>*?O@$C8LUFUiAMvo;$@|y(A z*DtL+VljDE%j>eZ6U<0Qz<7uS-BC{Uh2iTyXBfi#nzjzqi5=k992b6~)_g}tA3ULGU z>KtY`G_PvtJJ@c=YNy@2+E0Ui9~YR6P7A`fuHlP6^1PH}H~@Tan?bY16Eq3%D%TWG zA+v{bK>EBwYpjt&3M;7?QY?M36&eR?j!jiY2U@Q7|0Y*nJ70TLzUP+wvTzU6HyE&p zY}`xDRuMi$sv1efiik0oWZO7V?Z?pmnmMh9w_I2XKh|uqhG?POkvu4p75rsO{e_E* z;jWpj?DLCR_#f{HJB2UM83E^)ZxRw-F8V%;e$4|jaZxhJiV@Z#aZ(aE<2qoxV32y3 zEO}*|m)*-1B)Q_LBTrv3pS9|lW|nw8s2w~r;v$*#Khvfjh|0^4M{TQmDWQ_vo)FlF z^Cp_NN*Dm41gkh%kL!?r$o#K7*?8E{CA{X)?^{)c+1{O*f6j39zi93;|J3(1@ne!3 zgboHFa26iYR2WGQuC$3mpMQ(n?5^aRmQ$3cnK=5bm2db%jmH{5qV%2N2?FO#QBe7j zX6t%`I_-R?XH)n4@2KNOYj^CJx?p!Wal7u@gAJVNGVMy~lYkVBF|V#KKXgU{t>Z@1 zy5Q`)gCO@`9O(*x3%P13H+41hu$3jxmRq^EO}d4Q#)jl}nvwql-`5cJl@VcWSbzgj zCsY1bA7j#tgXL;l?q>aD-aVr8dkGd*V|+eQ6=7MMbek0$B`ZP?evq=p!m*huR3~AJ znGJ6spb@^*(O$7gdCJ^ZnFRZohg@ak3wz zBHHT=Iwlu&x!MRVIy}To!+_puDCuM|1dTSd~4tkcrrW&F~j%{dPke)l%BBE%@yI-EYLn zFkPb^ph6j~1g+G0*F*yCL1Gp^q;Xv0#wj7K_L$AcbpDBwyy| z@A$XdiFpapOvC~8=s5#CA{`KcqM{Grq7gp}*Ic#;oW8l3B@|1hM<^h~>#$2$lF&Nz zTNZi;KMe*=xf)ad(&5X}QE{1ZW1D+fulZ6Pm;HFvKG+cBeUU3k`aEBIqBxTUT^1da zA$m7I|7KGo3uq^s|K&p!-f_cC`14O|I!Sq4Zh&sJbjZs3mr#tJU^uu_EJdaUnrT2G z!kp394so2Qu`}nXM+!i1{srH|Y+%i%+l)@F-$>orsX6UxA`ThzFadXiNSuK0B7JpH zg5c}LZ_P~ut(p-?17*9_^CeYba1Izg{;Gay5*8O{oTl#YWw5v!kn+0J9x_VX36MUA zocN{)`$um|<$p;SNP2VEFQ48V-agiiR^0A=>sAWhrj@KK^MZ!|bZyPmY`iSiZ2ISE zb{)NLUcPxD6LY@?qI?`58kozWA+Nh=D$`#O+7P}0%5u%r`lc`_X#XxY!VheNYMTWp ztkn;Id%I?w_?80~m>5zf=(Mjx-SwFYXb3Jlz56vk7AF{2+aPpmz<15pqmuMn9qJh8 z^4~{sdR%u;Ma4_*7h&QIPLK^;MDh0oUvCZH`VBwixj7gTjA2f_^jXRXQd`n$L>bmg z)yKQxt?L>!@GFxB#vd7#=upeT-wSKiQ_oeg>WMFrCe_xpCH48_?4sE*+Bxi{5zuAQl{751`TMWpVI}C_2@vGTl2rH@^g{2~n zBE^qVZp+GI)Xc+RaNU90)6Tp2Nj!=NPx8v5%14Gs94pQ{ag)AI)j3cS6L4aZs+>6$ zg1U-f7;3j5ujwuaD5fX!I+?S)+;|E)Mlxi!Mm1>e`qusDtwQiU^Uze%dVm7=O_<2^ zW*R0g>l)c0lf;i1*!lKD(CxE@n7+7}0GpI-CO>T(qd@rm=K?Lf1RDwkfxw88u=DV!!P1?XBp@wclA|o$%vu zr-marN@$)zmn^BKo_3*K(LCH=bO&+i)K|?>s)a28K&>G85zM>F` zN1teQxpBBrh86c&m5XVpUyB(s^53Ug~`Xl=_N-p zE>oq_Ma=Z$Bar+UxF`5{D)_n+E?`GRHHYb~lnsdITS{kqMvXKmWIJ}Nugv0hwCZZ- zTdUgBn`<8IEA3Dh`CV}CEId~Ed1QUx35r&wR`@rSdi8#l+GF+B3RO>~5K)9VCeU8R=vC5|#tyFaAtQ!^?q8k3B&7{w5?9I7dalT#lp)z*`0 z$^+fLk1cjQK#KkQRrIAG-!Bc{PRKTN7nT581G?n%|en(&79#(#SWLHw9KtXrnTv1Bw`Uo*{BU6Tk6SG!egf2>M(LeyFnWV}P?p2_#`lSZ-G#Gg^bF5+>i<81GlBu%T~HWQ3N< z*u=mr`e8;T)H}0_fwuM)9a%r((eU9_u=bpau?10N;?US9*dt1bTsxFBxi&qgc(*?O zIe7l7sO~f|R5okj(QB=BeeQbxcWe3iuK00rKY~m+bb6W($|i%!UOiZ;Yk1a3riNt~ z4<}cd%}8p?tO7Jvv8TRA!qTs6QxK&( z+(9(bOjhMTam(AzOka0>RDb*Jzwo%M=k{XW;bFhVu8S#Nv&`$}efy;zx1KLyuDY&2 zMvw)hH;LrrQ^j$!?i~L}Y>it>{r3@ZWRyhQz9$)f@!Udf5e4*9W#2<|>Y%}Dh~Y+-L^{Z=w)=kNk#>*osa0lL1Ts5z zbMb_N9eUCX3?r$TKrogyjai|WbX$|#74eBSAr3O+rP?Szw2?(|E&hIjE!WBP>l~lZ zD$BQf1}>AC~Boy1yFO?*WglxdIibcTLZMq@`5>snbTHd!LtxX zD0M?qR`jPtDh_nuC2F84wu+Y)tA|xNPW@mG6VVZ;38+V4sbMEs>h5=2X;Dx1HT^ru zP;9D%MuIdg22?@sh*^^x2+LTdu(4F|>Jw5>s6kmxTAG(HpIFY_b#_-3O`gQxBf?=K z>y0PqM3rU0Gecy}x1p&iOIF6*P?|kln@n@ahZnZ?Fv)A!UE~nW&!7)Tdl;Oj z0AyH2`%-B1)|-hr-kwW0Dzdemb8VuJb?DA4GRDZw+29dwZOg#-d6zt zAacO~5MMRee|@>&{{t<_h4_Ek{~>Z1w0#}(08qM$Yq^>kyPETuI-7r009IyJP6lSK zuUn1z8xJc74+k3^Gcyk}v)aL{{{JGdcQCWI@cREJpllP_{UQMU4+mFkdvh08V|&N{ zHw`BbE9?Jd!a=hZ|3!oLAC0-EwFQr;gPnu3s-v-~Ie-Nv6I}WWi2gr7@h=QT3kw%> zR{$%gDt^BC7ZmtEP$g?mb2}}uFQ(sJtR21sSU9<25uK&}zc||e3kL%tN#F|yAT6#S KRxM%_^nU;X)OVi% delta 1411 zcmV-}1$_GZfdPsOkQsji0000($h_VF008q)OjJex|Nm6Q_$jvb0au$-#Q6RG|NQ;_ z`u+b{#`ydG|5wKNPQ&*^zxM!2lL1zlir4y3!}tVRozU+516Z8?|Nrj!{>AJ3O2PMD z$oLqr^>U%d=l1<#%J_z@&PKrZF1Ysc`u@@H{E623uH*YZz4w1BzW*n(@|xWGCA9Sc zMt*e9`2kdxPQ&&>|-UCa7_51w+LUsW@ZzZSW0y$)Hp~e9% zPvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq^={4hPQv)y=I|4n+?>7F zim=dxt#sqj!A8000D1Nkl*v&^&=|+Hd{KUTbfjFY149`B9Z?JA;JODI|1Ri*a+Z z^#PDGc`IecWa-9LVrC5Yc`M^4C1>fnVoIQkNbF4J1hZR{8AI(*G83SSi04gDEzE4O znmIHdWbzu!0o~cerl;1X52(&2GX1Df7)YyS+AHMCK%#EC)SIp+C1-jvkP=@8QulHV zB+{lQHJX3Uvyw@D_1H_9IT`uctkHDlK-0asdie7--IsyHF3&)stx&Ct9Qmeua`m`$ z1IdA=`>~o{yoG8o-KdZ+Zz1OT4Jo{ZAiRanxq1w|8A$TNPqy$Da<=K7F#WlDSeV?8 zf#lB(>8dy1Ep~k%aVIKtnSU;n%Nh~QzJ<8n^qPMH(P-24A5=>a*R9#QvjzF8n%@1N zw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE>Gkj4Sq&2e+-G%| z+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62(dqY93Zy}v&c4n($ zVv&CoG~?z9=}cy1a%8Rynx7Bl=Qq8Hv#GCWpDl%I%)DgQtB?d}0E$dW)pQ*y)z&k{ zb*A3**JaZQm{=yp%~uZ`NX<0e4n?NaRx{%bH(iIajGNvnpxOy0%)jxXEG1&U%R}*0(7v|MOC;<~= zXCjn3}VQ-`MO)Jy?KTrtggxbyx9Bv2-SZ99MS z!MEEWV<3%y54UX0x5MHm2wJEBcyw!R)65*VuiPVt3L{i8$K!SsxdDB13e}h|#znim zfX4XFr-+nlMNQ0I1?^Q(${4-OViN1!6d z)+2K|9S)V#DX6HR$b2@N72{Kia9!*mQDq&n2{r`j};V| zuV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvwvtqy3iz0WS zpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqvo}PPwx_d@r z;T5#w0aR`MiTh`C0rj9v-ax%+eePZBBRe#A0@~{sqCR=@13&;#uuS&+c?p6TD&YIC z+e`8i|D*o={t84pkFEFN*8wW1NMd^gIaECFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Flutter B2c + Quickstart CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -66,5 +66,10 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + diff --git a/samples/quickstart/lib/app.dart b/samples/quickstart/lib/app.dart index d1382b8..5e8abf4 100644 --- a/samples/quickstart/lib/app.dart +++ b/samples/quickstart/lib/app.dart @@ -27,9 +27,9 @@ class QuickstartApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - title: 'ACME Booking', + title: 'ThunderID Quickstart', theme: ThemeData( - colorSchemeSeed: const Color(0xFFFF5A5F), + colorSchemeSeed: const Color(0xFF3688FF), useMaterial3: true, ), home: const _RootScreen(), @@ -52,7 +52,7 @@ class _RootScreen extends StatelessWidget { children: [ CircularProgressIndicator(), SizedBox(height: 12), - Text('Starting ACME Booking\u2026'), + Text('Starting ThunderIDโ€ฆ'), ], ), ), diff --git a/samples/quickstart/lib/screens/auth_screen.dart b/samples/quickstart/lib/screens/auth_screen.dart index 3c278d2..767661b 100644 --- a/samples/quickstart/lib/screens/auth_screen.dart +++ b/samples/quickstart/lib/screens/auth_screen.dart @@ -20,8 +20,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:thunderid_flutter/thunderid_flutter.dart'; -enum _AuthMode { signIn, signUp } - class AuthScreen extends StatefulWidget { const AuthScreen({super.key}); @@ -30,74 +28,351 @@ class AuthScreen extends StatefulWidget { } class _AuthScreenState extends State { - _AuthMode _mode = _AuthMode.signIn; + static const _blue = Color(0xFF3688FF); + static const _muted = Color(0xFF5A7085); + static const _darkBg = Color(0xFF080f1c); + static const _lightBg = Color(0xFFF7F9FC); + + static const _featureTags = ['OAuth 2.0', 'PKCE', 'JWT', 'MFA', 'SSO']; + + void _showSheet(BuildContext context, String mode) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + backgroundColor: Colors.transparent, + builder: (_) => _AuthSheet(initialMode: mode), + ); + } @override Widget build(BuildContext context) { - final applicationId = dotenv.env['THUNDERID_APP_ID'] ?? ''; - final cs = Theme.of(context).colorScheme; + final brightness = Theme.of(context).brightness; + final isDark = brightness == Brightness.dark; + final bgColor = isDark ? _darkBg : _lightBg; + final textColor = isDark ? Colors.white : const Color(0xFF05213F); + + const logoHeight = 72.0; + const logoWidth = logoHeight * (207 / 257); return Scaffold( - body: SafeArea( - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 28, vertical: 40), + backgroundColor: bgColor, + body: Stack( + children: [ + SafeArea( + child: Column( + children: [ + // โ”€โ”€ Identity section โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Expanded( + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + CustomPaint( + painter: _TdMarkPainter(dark: isDark), + size: const Size(logoWidth, logoHeight), + ), + const SizedBox(height: 28), + Text( + 'Authentication for developers.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + letterSpacing: -1.4, + color: textColor, + height: 1.2, + ), + ), + const SizedBox(height: 12), + const Text( + 'OAuth 2.0, PKCE, MFA, and JWT โ€” out of the box in minutes.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 15, + color: _muted, + height: 1.5, + ), + ), + const SizedBox(height: 20), + SizedBox( + height: 36, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: _featureTags.map((tag) { + return Padding( + padding: const EdgeInsets.only(right: 8), + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, vertical: 6), + decoration: BoxDecoration( + border: Border.all( + color: _blue.withValues(alpha: 0.4), + ), + borderRadius: BorderRadius.circular(20), + ), + child: Text( + tag, + style: const TextStyle( + fontSize: 12, + color: _blue, + fontWeight: FontWeight.w500, + ), + ), + ), + ); + }).toList(), + ), + ), + ), + ], + ), + ), + ), + ), + + // โ”€โ”€ Bottom CTAs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Padding( + padding: const EdgeInsets.fromLTRB(24, 0, 24, 48), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + ElevatedButton.icon( + onPressed: () => _showSheet(context, 'signup'), + icon: const Icon(Icons.arrow_forward, size: 18), + label: const Text('Get started'), + style: ElevatedButton.styleFrom( + backgroundColor: _blue, + foregroundColor: Colors.white, + minimumSize: const Size.fromHeight(52), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + textStyle: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + ), + const SizedBox(height: 12), + OutlinedButton( + onPressed: () => _showSheet(context, 'login'), + style: OutlinedButton.styleFrom( + foregroundColor: _blue, + side: const BorderSide(color: _blue), + minimumSize: const Size.fromHeight(52), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + textStyle: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + child: const Text('Sign in'), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ); + } +} + +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// Auth bottom sheet +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +class _AuthSheet extends StatefulWidget { + final String initialMode; + const _AuthSheet({required this.initialMode}); + + @override + State<_AuthSheet> createState() => _AuthSheetState(); +} + +class _AuthSheetState extends State<_AuthSheet> { + late String _mode; + + @override + void initState() { + super.initState(); + _mode = widget.initialMode; + } + + @override + Widget build(BuildContext context) { + final applicationId = dotenv.env['THUNDERID_APP_ID'] ?? ''; + final brightness = Theme.of(context).brightness; + final isDark = brightness == Brightness.dark; + final sheetBg = isDark ? const Color(0xFF0d1627) : Colors.white; + + return DraggableScrollableSheet( + initialChildSize: 0.85, + minChildSize: 0.5, + maxChildSize: 0.95, + expand: false, + builder: (ctx, scrollController) { + return Container( + decoration: BoxDecoration( + color: sheetBg, + borderRadius: const BorderRadius.vertical(top: Radius.circular(20)), + ), child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - Center( - child: Column( - children: [ - CircleAvatar( - radius: 36, - backgroundColor: cs.primary, - child: Icon(Icons.home_filled, size: 36, color: cs.onPrimary), - ), - const SizedBox(height: 16), - Text( - 'ACME Booking', - style: Theme.of(context) - .textTheme - .headlineSmall - ?.copyWith(fontWeight: FontWeight.bold), - ), - const SizedBox(height: 4), - Text( - 'Find your perfect stay', - style: Theme.of(context) - .textTheme - .bodyMedium - ?.copyWith(color: cs.onSurfaceVariant), - ), - ], + const SizedBox(height: 12), + Container( + width: 36, + height: 4, + decoration: BoxDecoration( + color: Colors.grey.withValues(alpha: 0.3), + borderRadius: BorderRadius.circular(2), ), ), - const SizedBox(height: 40), - SegmentedButton<_AuthMode>( - segments: const [ - ButtonSegment(value: _AuthMode.signIn, label: Text('Sign In')), - ButtonSegment(value: _AuthMode.signUp, label: Text('Create Account')), - ], - selected: {_mode}, - onSelectionChanged: (s) => setState(() => _mode = s.first), - ), - const SizedBox(height: 28), - Card( - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16), - side: BorderSide(color: cs.outlineVariant), - ), - child: Padding( - padding: const EdgeInsets.all(24), - child: _mode == _AuthMode.signIn - ? SignIn(applicationId: applicationId) - : SignUp(applicationId: applicationId), + const SizedBox(height: 8), + Expanded( + child: SingleChildScrollView( + controller: scrollController, + padding: const EdgeInsets.fromLTRB(24, 8, 24, 32), + child: _buildSheetContent(ctx, applicationId), ), ), ], ), - ), - ), + ); + }, ); } + + Widget _buildSheetContent(BuildContext context, String applicationId) { + switch (_mode) { + case 'login': + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + SignIn(applicationId: applicationId), + const SizedBox(height: 12), + TextButton( + onPressed: () => setState(() => _mode = 'recover'), + child: const Text('Forgot password?'), + ), + TextButton( + onPressed: () => setState(() => _mode = 'signup'), + child: const Text("Don't have an account? Create one"), + ), + ], + ); + case 'signup': + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + SignUp(applicationId: applicationId), + const SizedBox(height: 12), + TextButton( + onPressed: () => setState(() => _mode = 'login'), + child: const Text('Already have an account? Sign in'), + ), + ], + ); + case 'recover': + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const SizedBox(height: 16), + const Text( + 'Password recovery', + style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + const Text( + 'Enter your email address and we\'ll send you a link to reset your password.', + style: TextStyle(fontSize: 14, color: Color(0xFF5A7085)), + ), + const SizedBox(height: 24), + TextButton( + onPressed: () => setState(() => _mode = 'login'), + child: const Text('Back to sign in'), + ), + ], + ); + default: + return const SizedBox.shrink(); + } + } +} + +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// ThunderID logo mark painter +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +class _TdMarkPainter extends CustomPainter { + final bool dark; + const _TdMarkPainter({required this.dark}); + + @override + void paint(Canvas canvas, Size size) { + final scale = size.height / 257; + + canvas.save(); + canvas.scale(scale, scale); + + // Path 1 โ€” dark fill (onSurface color) + final darkPaint = Paint() + ..color = dark ? Colors.white : const Color(0xFF05213F) + ..style = PaintingStyle.fill; + + final path1 = Path() + ..moveTo(55.4763, 26.4391) + ..lineTo(58.8866, 0) + ..lineTo(0, 0) + ..lineTo(0, 26.4391) + ..close(); + + canvas.drawPath(path1, darkPaint); + + // Path 2 & 3 โ€” blue fill + final bluePaint = Paint() + ..color = const Color(0xFF3688FF) + ..style = PaintingStyle.fill; + + final path2 = Path() + ..moveTo(39.8438, 147.407) + ..lineTo(49.5455, 72.2839) + ..lineTo(0, 72.2839) + ..lineTo(0, 256.743) + ..lineTo(60.5602, 256.743) + ..lineTo(80.048, 147.407) + ..lineTo(39.8438, 147.407) + ..close(); + + canvas.drawPath(path2, bluePaint); + + final path3 = Path() + ..moveTo(192.42, 59.361) + ..cubicTo(182.782, 40.2307, 168.929, 25.5705, 150.903, 15.3381) + ..cubicTo(145.501, 12.2662, 139.761, 9.6605, 133.703, 7.5208) + ..lineTo(115.401, 103.702) + ..lineTo(159.757, 103.702) + ..lineTo(76.2987, 256.743) + ..lineTo(83.3735, 256.743) + ..cubicTo(109.449, 256.743, 131.69, 251.574, 150.14, 241.236) + ..cubicTo(168.569, 230.897, 182.634, 216.131, 192.356, 196.959) + ..cubicTo(202.058, 177.765, 206.909, 154.8, 206.909, 128.043) + ..cubicTo(206.909, 101.286, 202.079, 78.5123, 192.441, 59.3821) + ..lineTo(192.42, 59.361) + ..close(); + + canvas.drawPath(path3, bluePaint); + + canvas.restore(); + } + + @override + bool shouldRepaint(_TdMarkPainter oldDelegate) => oldDelegate.dark != dark; } diff --git a/samples/quickstart/lib/screens/home_screen.dart b/samples/quickstart/lib/screens/home_screen.dart index 241dcf1..341f05f 100644 --- a/samples/quickstart/lib/screens/home_screen.dart +++ b/samples/quickstart/lib/screens/home_screen.dart @@ -16,9 +16,10 @@ * under the License. */ +import 'dart:async'; import 'dart:convert'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:thunderid_flutter/thunderid_flutter.dart'; class HomeScreen extends StatefulWidget { @@ -29,657 +30,648 @@ class HomeScreen extends StatefulWidget { } class _HomeScreenState extends State { - int _navIndex = 0; + String _screen = 'home'; @override - void initState() { - super.initState(); - if (kDebugMode) { - Future.microtask(_logToken); + Widget build(BuildContext context) { + switch (_screen) { + case 'profile': + return _ProfileScreen(onBack: () => setState(() => _screen = 'home')); + case 'token': + return _TokenScreen(onBack: () => setState(() => _screen = 'home')); + default: + return _HomeTabScreen( + onNavigate: (screen) => setState(() => _screen = screen), + ); } } +} - Future _logToken() async { - final thunder = ThunderIDProvider.of(context); - try { - final token = await thunder.client.getAccessToken(); - debugPrint('[HomeScreen] access token: $token'); - debugPrint('[HomeScreen] token payload: ${_decodeJwtPayload(token)}'); - } catch (e) { - debugPrint('[HomeScreen] could not get access token: $e'); - } +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// Design constants +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +const _kBlue = Color(0xFF3688FF); +const _kGreen = Color(0xFF2FBD6B); +const _kRed = Color(0xFFD95757); +const _kMuted = Color(0xFF5A7085); +const _kTextDark = Color(0xFF05213F); +const _kCodeBg = Color(0xFF0b1120); + +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// Home tab +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +/// Converts a raw claim value (typically a JSON number bridged from the +/// platform channel) into whole seconds-since-epoch, or `null` if the claim +/// is absent or not numeric. +int? _epochSecondsFromClaim(dynamic value) { + if (value is num) return value.toInt(); + return null; +} + +/// Formats a unix-seconds timestamp as a local `h:mm AM/PM` time string. +String _formatLocalTime(int? epochSeconds) { + if (epochSeconds == null) return 'โ€”'; + final dt = DateTime.fromMillisecondsSinceEpoch(epochSeconds * 1000); + var hour12 = dt.hour % 12; + if (hour12 == 0) hour12 = 12; + final minute = dt.minute.toString().padLeft(2, '0'); + final period = dt.hour >= 12 ? 'PM' : 'AM'; + return '$hour12:$minute $period'; +} + +/// Formats the number of whole seconds remaining until session expiry. +/// Returns `โ€”` once the claim is unavailable or the session has expired. +String _formatCountdown(int? secondsLeft) { + if (secondsLeft == null || secondsLeft <= 0) return 'โ€”'; + if (secondsLeft < 3600) { + final minutes = secondsLeft ~/ 60; + final seconds = secondsLeft % 60; + return '${minutes}m ${seconds}s'; } + final hours = secondsLeft ~/ 3600; + final minutes = (secondsLeft % 3600) ~/ 60; + return '${hours}h ${minutes}m'; +} - String _decodeJwtPayload(String token) { - try { - final parts = token.split('.'); - if (parts.length != 3) return '(not a JWT)'; - final padded = parts[1].padRight((parts[1].length + 3) ~/ 4 * 4, '='); - return utf8.decode(base64Url.decode(padded)); - } catch (e) { - return '(decode error: $e)'; - } +/// Returns a time-of-day-aware greeting, e.g. "Good afternoon, Alex.". +String _greeting(String name) { + final hour = DateTime.now().hour; + final String timeOfDay; + if (hour < 12) { + timeOfDay = 'morning'; + } else if (hour < 17) { + timeOfDay = 'afternoon'; + } else { + timeOfDay = 'evening'; } + return 'Good $timeOfDay, $name.'; +} + +class _HomeTabScreen extends StatefulWidget { + final void Function(String) onNavigate; + const _HomeTabScreen({required this.onNavigate}); @override - Widget build(BuildContext context) { - return Scaffold( - body: IndexedStack( - index: _navIndex, - children: [ - _ExploreTab(onProfileTap: () => setState(() => _navIndex = 4)), - const _PlaceholderTab(label: 'Saved', icon: Icons.favorite_outline), - const _PlaceholderTab(label: 'Trips', icon: Icons.card_travel_outlined), - const _PlaceholderTab(label: 'Inbox', icon: Icons.chat_bubble_outline), - const _ProfileTab(), - ], - ), - bottomNavigationBar: NavigationBar( - selectedIndex: _navIndex, - onDestinationSelected: (i) => setState(() => _navIndex = i), - labelBehavior: NavigationDestinationLabelBehavior.alwaysShow, - destinations: const [ - NavigationDestination( - icon: Icon(Icons.explore_outlined), - selectedIcon: Icon(Icons.explore), - label: 'Explore', - ), - NavigationDestination( - icon: Icon(Icons.favorite_outline), - selectedIcon: Icon(Icons.favorite), - label: 'Saved', - ), - NavigationDestination( - icon: Icon(Icons.card_travel_outlined), - selectedIcon: Icon(Icons.card_travel), - label: 'Trips', - ), - NavigationDestination( - icon: Icon(Icons.chat_bubble_outline), - selectedIcon: Icon(Icons.chat_bubble), - label: 'Inbox', - ), - NavigationDestination( - icon: Icon(Icons.person_outline), - selectedIcon: Icon(Icons.person), - label: 'Profile', - ), - ], - ), - ); - } + State<_HomeTabScreen> createState() => _HomeTabScreenState(); } -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -// Explore tab -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +class _HomeTabScreenState extends State<_HomeTabScreen> { + Timer? _ticker; + int _nowSeconds = DateTime.now().millisecondsSinceEpoch ~/ 1000; -class _ExploreTab extends StatefulWidget { - final VoidCallback onProfileTap; - const _ExploreTab({required this.onProfileTap}); + @override + void initState() { + super.initState(); + _ticker = Timer.periodic(const Duration(seconds: 1), (_) { + if (mounted) { + setState(() { + _nowSeconds = DateTime.now().millisecondsSinceEpoch ~/ 1000; + }); + } + }); + } @override - State<_ExploreTab> createState() => _ExploreTabState(); -} + void dispose() { + _ticker?.cancel(); + super.dispose(); + } -class _ExploreTabState extends State<_ExploreTab> { - int _categoryIndex = 0; - int _sortIndex = 0; - - static const _categories = ['Stays', 'Experiences', 'Adventures', 'Luxe']; - static const _sorts = ['Popular', 'Near', 'Best Price']; - static const _categoryIcons = [ - Icons.home_outlined, - Icons.tour_outlined, - Icons.terrain, - Icons.diamond_outlined, - ]; - - static const _listings = [ - _Listing( - title: 'Cozy Mountain Retreat', - location: 'Aspen, Colorado', - price: 189, - rating: 4.92, - imageUrl: 'https://picsum.photos/seed/acme1/400/280', - ), - _Listing( - title: 'Beachfront Villa', - location: 'Malibu, California', - price: 342, - rating: 4.87, - imageUrl: 'https://picsum.photos/seed/acme2/400/280', - ), - _Listing( - title: 'City Centre Loft', - location: 'New York, NY', - price: 215, - rating: 4.78, - imageUrl: 'https://picsum.photos/seed/acme3/400/280', - ), - _Listing( - title: 'Lakeside Cabin', - location: 'Lake Tahoe, Nevada', - price: 156, - rating: 4.95, - imageUrl: 'https://picsum.photos/seed/acme4/400/280', - ), - ]; + static String _initials(String? displayName) { + if (displayName == null || displayName.isEmpty) return '?'; + final parts = displayName.trim().split(RegExp(r'\s+')); + if (parts.length >= 2) { + return '${parts.first[0]}${parts.last[0]}'.toUpperCase(); + } + return displayName[0].toUpperCase(); + } @override Widget build(BuildContext context) { final thunder = ThunderIDProvider.of(context); final user = thunder.user; - final firstName = (user?.claims?['given_name'] as String?)?.isNotEmpty == true - ? user!.claims!['given_name'] as String - : user?.displayName?.split(' ').first ?? 'there'; - final cs = Theme.of(context).colorScheme; - - return SafeArea( - child: CustomScrollView( - slivers: [ - // โ”€โ”€ Top bar โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(24, 20, 16, 0), - child: Row( - children: [ - Icon(Icons.home_filled, color: cs.primary, size: 26), - const SizedBox(width: 6), - Text( - 'ACME Booking', - style: TextStyle( - color: cs.primary, - fontWeight: FontWeight.bold, - fontSize: 17, + final displayName = user?.displayName; + final greetingName = + (displayName == null || displayName.isEmpty) ? 'Guest' : displayName; + final email = user?.email ?? ''; + final initials = _initials(displayName); + + final claims = user?.claims; + final authTime = _epochSecondsFromClaim(claims?['auth_time']); + final exp = _epochSecondsFromClaim(claims?['exp']); + final secondsLeft = exp != null ? exp - _nowSeconds : null; + final organisation = thunder.widget.config.organizationHandle ?? 'Default'; + + return Scaffold( + body: SingleChildScrollView( + padding: + const EdgeInsets.only(top: 72, left: 20, right: 20, bottom: 48), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // โ”€โ”€ User identity โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Row( + children: [ + Container( + width: 52, + height: 52, + decoration: const BoxDecoration( + color: _kBlue, + shape: BoxShape.circle, + ), + child: Center( + child: Text( + initials, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 18, + ), ), ), - const Spacer(), - GestureDetector( - onTap: widget.onProfileTap, - child: _UserAvatar(user: user, radius: 18), + ), + const SizedBox(width: 14), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + _greeting(greetingName), + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: _kTextDark, + ), + ), + const SizedBox(height: 2), + Text( + email, + style: const TextStyle( + fontSize: 13, + color: _kMuted, + ), + ), + ], ), - const SizedBox(width: 8), + ), + ], + ), + const SizedBox(height: 10), + Row( + children: [ + Container( + width: 8, + height: 8, + decoration: const BoxDecoration( + color: _kGreen, + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 6), + const Text( + 'Session active', + style: TextStyle( + fontSize: 13, + color: _kGreen, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + + const SizedBox(height: 20), + const Divider(), + const SizedBox(height: 16), + + // โ”€โ”€ Stats row โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + IntrinsicHeight( + child: Row( + children: [ + _StatCell( + label: 'Signed in at', value: _formatLocalTime(authTime)), + const VerticalDivider(width: 32), + _StatCell( + label: 'Session expires in', + value: _formatCountdown(secondsLeft)), + const VerticalDivider(width: 32), + _StatCell(label: 'Organisation', value: organisation), ], ), ), - ), - // โ”€โ”€ Welcome heading โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(24, 24, 24, 0), - child: Text( - 'Where Would you\nLike to Stay, $firstName?', - style: Theme.of(context).textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.bold, - ), + const SizedBox(height: 28), + + // โ”€โ”€ What's next โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Text( + 'WHAT\'S NEXT', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + letterSpacing: 1.0, + color: Theme.of(context).colorScheme.onSurfaceVariant, ), ), - ), + const SizedBox(height: 4), - // โ”€โ”€ Search bar โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(24, 16, 24, 0), - child: TextField( - decoration: InputDecoration( - hintText: 'Search destinations...', - prefixIcon: const Icon(Icons.search), - filled: true, - fillColor: cs.surfaceContainerHighest, - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(30), - borderSide: BorderSide.none, - ), - enabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(30), - borderSide: BorderSide.none, - ), - contentPadding: EdgeInsets.zero, - ), - ), + const _StepRow( + number: '01', + title: 'Secure your API', + subtitle: 'Add token validation to your backend.', + ), + const _StepRow( + number: '02', + title: 'Add social login', + subtitle: 'GitHub, Google, and OIDC providers.', + ), + const _StepRow( + number: '03', + title: 'Enable MFA', + subtitle: 'TOTP and passkey support.', + ), + const _StepRow( + number: '04', + title: 'Explore the SDK', + subtitle: 'API reference and guides.', ), - ), - // โ”€โ”€ Category chips โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(24, 20, 0, 0), - child: SizedBox( - height: 84, - child: ListView.separated( - scrollDirection: Axis.horizontal, - itemCount: _categories.length, - separatorBuilder: (_, __) => const SizedBox(width: 12), - itemBuilder: (ctx, i) { - final selected = i == _categoryIndex; - return GestureDetector( - onTap: () => setState(() => _categoryIndex = i), - child: Column( - children: [ - AnimatedContainer( - duration: const Duration(milliseconds: 200), - width: 56, - height: 56, - decoration: BoxDecoration( - color: selected - ? cs.primary - : cs.surfaceContainerHighest, - borderRadius: BorderRadius.circular(14), - ), - child: Icon( - _categoryIcons[i], - color: selected ? cs.onPrimary : cs.onSurfaceVariant, - ), - ), - const SizedBox(height: 6), - Text( - _categories[i], - style: TextStyle( - fontSize: 11, - fontWeight: selected - ? FontWeight.bold - : FontWeight.normal, - color: selected ? cs.primary : cs.onSurfaceVariant, - ), - ), - ], - ), - ); - }, - ), - ), + const SizedBox(height: 8), + + // โ”€โ”€ Action list โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const Divider(), + _ActionRow( + icon: Icons.person_outline, + label: 'My profile', + onTap: () => widget.onNavigate('profile'), ), - ), + const Divider(), + _ActionRow( + icon: Icons.key_outlined, + label: 'Token debug', + onTap: () => widget.onNavigate('token'), + ), + const Divider(), + _ActionRow( + icon: Icons.settings_outlined, + label: 'Settings', + onTap: () {}, + ), + const Divider(), - // โ”€โ”€ Sort tabs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(24, 20, 24, 0), - child: Row( - children: [ - ..._sorts.asMap().entries.map((e) { - final selected = e.key == _sortIndex; - return Padding( - padding: EdgeInsets.only( - right: e.key < _sorts.length - 1 ? 20 : 0), - child: GestureDetector( - onTap: () => setState(() => _sortIndex = e.key), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - e.value, - style: TextStyle( - fontSize: 15, - fontWeight: selected - ? FontWeight.bold - : FontWeight.normal, - color: selected - ? cs.onSurface - : cs.onSurfaceVariant, + // โ”€โ”€ Sign out โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + BaseSignOutButton( + builder: (ctx, isLoading) => InkWell( + onTap: null, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 14), + child: Row( + children: [ + isLoading + ? const SizedBox( + width: 20, + height: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + color: _kRed, ), - ), - const SizedBox(height: 3), - if (selected) - Container( - height: 2, - width: 28, - decoration: BoxDecoration( - color: cs.primary, - borderRadius: BorderRadius.circular(1), - ), - ) - else - const SizedBox(height: 2), - ], + ) + : const Icon(Icons.logout, color: _kRed, size: 20), + const SizedBox(width: 14), + const Text( + 'Sign out', + style: TextStyle( + fontSize: 15, + color: _kRed, + fontWeight: FontWeight.w500, ), ), - ); - }), - const Spacer(), - Text( - 'See More', - style: TextStyle( - color: cs.primary, - fontWeight: FontWeight.w600, - fontSize: 14, - ), + ], ), - ], + ), ), ), - ), + const Divider(), + ], + ), + ), + ); + } +} - // โ”€โ”€ Listings grid โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - SliverPadding( - padding: const EdgeInsets.fromLTRB(24, 16, 24, 24), - sliver: SliverGrid.count( - crossAxisCount: 2, - crossAxisSpacing: 12, - mainAxisSpacing: 12, - childAspectRatio: 0.7, - children: - _listings.map((l) => _ListingCard(listing: l)).toList(), +class _StatCell extends StatelessWidget { + final String label; + final String value; + const _StatCell({required this.label, required this.value}); + + @override + Widget build(BuildContext context) { + return Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + value, + style: const TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: _kTextDark, ), ), + const SizedBox(height: 2), + Text( + label, + style: const TextStyle(fontSize: 12, color: _kMuted), + ), ], ), ); } } -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -// Profile tab -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - -class _ProfileTab extends StatelessWidget { - const _ProfileTab(); +class _StepRow extends StatelessWidget { + final String number; + final String title; + final String subtitle; + const _StepRow({ + required this.number, + required this.title, + required this.subtitle, + }); @override Widget build(BuildContext context) { - final thunder = ThunderIDProvider.of(context); - final user = thunder.user; - final cs = Theme.of(context).colorScheme; - - final givenName = user?.claims?['given_name'] as String? ?? ''; - final familyName = user?.claims?['family_name'] as String? ?? ''; - final fullName = [givenName, familyName] - .where((s) => s.isNotEmpty) - .join(' ') - .trim(); - final displayName = - fullName.isNotEmpty ? fullName : (user?.username ?? 'Guest'); - - return SafeArea( - child: SingleChildScrollView( - padding: const EdgeInsets.fromLTRB(24, 20, 24, 24), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // โ”€โ”€ Header โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - Row( - children: [ - Text( - 'Profile', - style: Theme.of(context) - .textTheme - .headlineSmall - ?.copyWith(fontWeight: FontWeight.bold), + return Column( + children: [ + const Divider(), + Padding( + padding: const EdgeInsets.symmetric(vertical: 12), + child: Row( + children: [ + Text( + number, + style: const TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: _kBlue, + fontFamily: 'monospace', ), - const Spacer(), - IconButton( - icon: const Icon(Icons.notifications_outlined), - onPressed: () {}, - ), - ], - ), - const SizedBox(height: 20), - - // โ”€โ”€ Profile card โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - Card( - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - side: BorderSide(color: cs.outlineVariant), ), - child: Padding( - padding: const EdgeInsets.all(24), - child: Row( + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Stack( - children: [ - _UserAvatar(user: user, radius: 40), - Positioned( - bottom: 0, - right: 0, - child: Container( - padding: const EdgeInsets.all(4), - decoration: BoxDecoration( - color: cs.primary, - shape: BoxShape.circle, - ), - child: Icon( - Icons.verified, - color: cs.onPrimary, - size: 14, - ), - ), - ), - ], - ), - const SizedBox(width: 16), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - displayName, - style: Theme.of(context) - .textTheme - .titleLarge - ?.copyWith(fontWeight: FontWeight.bold), - ), - const SizedBox(height: 4), - Text( - 'Los Angeles, CA', - style: - TextStyle(color: cs.onSurfaceVariant), - ), - ], + Text( + title, + style: const TextStyle( + fontSize: 15, + fontWeight: FontWeight.w600, + color: _kTextDark, ), ), + const SizedBox(height: 2), + Text( + subtitle, + style: const TextStyle(fontSize: 13, color: _kMuted), + ), ], ), ), - ), - const SizedBox(height: 12), - - // โ”€โ”€ Stats card โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - Card( - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - side: BorderSide(color: cs.outlineVariant), - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 20), - child: Row( - children: [ - const _StatItem(value: '24', label: 'Trips'), - _VerticalDivider(), - const _StatItem(value: '22', label: 'Reviews'), - _VerticalDivider(), - const _StatItem(value: '2', label: 'Years on ACME'), - ], - ), - ), - ), - const SizedBox(height: 12), + const Icon(Icons.chevron_right, color: _kMuted, size: 20), + ], + ), + ), + ], + ); + } +} - // โ”€โ”€ Feature cards โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - const Row( - children: [ - Expanded( - child: _FeatureCard( - label: 'Past trips', - imageUrl: 'https://picsum.photos/seed/trips/300/200', - isNew: true, - ), - ), - SizedBox(width: 12), - Expanded( - child: _FeatureCard( - label: 'Connections', - imageUrl: 'https://picsum.photos/seed/connect/300/200', - isNew: true, - ), - ), - ], - ), - const SizedBox(height: 24), - - // โ”€โ”€ Edit profile โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - OutlinedButton.icon( - onPressed: () => _showEditProfile(context), - icon: const Icon(Icons.edit_outlined), - label: const Text('Edit Profile'), - style: OutlinedButton.styleFrom( - minimumSize: const Size.fromHeight(48), - ), - ), - const SizedBox(height: 12), +class _ActionRow extends StatelessWidget { + final IconData icon; + final String label; + final VoidCallback onTap; + const _ActionRow({ + required this.icon, + required this.label, + required this.onTap, + }); - // โ”€โ”€ Sign out โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - BaseSignOutButton( - builder: (ctx, isLoading) => OutlinedButton.icon( - onPressed: null, - icon: isLoading - ? const SizedBox( - width: 16, - height: 16, - child: CircularProgressIndicator(strokeWidth: 2), - ) - : const Icon(Icons.logout), - label: const Text('Sign Out'), - style: OutlinedButton.styleFrom( - minimumSize: const Size.fromHeight(48), + @override + Widget build(BuildContext context) { + return InkWell( + onTap: onTap, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 14), + child: Row( + children: [ + Icon(icon, size: 20, color: _kMuted), + const SizedBox(width: 14), + Expanded( + child: Text( + label, + style: const TextStyle( + fontSize: 15, + color: _kTextDark, + fontWeight: FontWeight.w500, ), ), ), + const Icon(Icons.chevron_right, color: _kMuted, size: 20), ], ), ), ); } - - void _showEditProfile(BuildContext context) { - showModalBottomSheet( - context: context, - isScrollControlled: true, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(20)), - ), - builder: (_) => DraggableScrollableSheet( - initialChildSize: 0.85, - expand: false, - builder: (ctx, controller) => SingleChildScrollView( - controller: controller, - padding: const EdgeInsets.fromLTRB(24, 24, 24, 32), - child: UserProfile( - onSaved: () => Navigator.pop(ctx), - ), - ), - ), - ); - } } // โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -// Placeholder tab +// Profile screen // โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -class _PlaceholderTab extends StatelessWidget { - final String label; - final IconData icon; - const _PlaceholderTab({required this.label, required this.icon}); +class _ProfileScreen extends StatelessWidget { + final VoidCallback onBack; + const _ProfileScreen({required this.onBack}); @override Widget build(BuildContext context) { - final cs = Theme.of(context).colorScheme; - return SafeArea( - child: Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(icon, size: 52, color: cs.onSurfaceVariant), - const SizedBox(height: 16), - Text(label, style: Theme.of(context).textTheme.titleLarge), - const SizedBox(height: 8), - Text( - 'Coming soon', - style: Theme.of(context) - .textTheme - .bodyMedium - ?.copyWith(color: cs.onSurfaceVariant), - ), - ], + final thunder = ThunderIDProvider.of(context); + final user = thunder.user; + final displayName = user?.displayName ?? 'Guest'; + final email = user?.email ?? ''; + final userId = user?.sub ?? 'โ€”'; + final username = user?.username ?? 'โ€”'; + + final initials = displayName.isNotEmpty + ? displayName + .trim() + .split(RegExp(r'\s+')) + .take(2) + .map((p) => p[0]) + .join() + .toUpperCase() + : '?'; + + return Scaffold( + body: SafeArea( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // โ”€โ”€ Back button โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const SizedBox(height: 16), + GestureDetector( + onTap: onBack, + child: const Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.chevron_left, color: _kBlue, size: 22), + Text( + 'Home', + style: TextStyle( + color: _kBlue, + fontSize: 15, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + + const SizedBox(height: 24), + + // โ”€โ”€ Avatar + name + email โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Center( + child: Column( + children: [ + Container( + width: 56, + height: 56, + decoration: const BoxDecoration( + color: _kBlue, + shape: BoxShape.circle, + ), + child: Center( + child: Text( + initials, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 20, + ), + ), + ), + ), + const SizedBox(height: 12), + Text( + displayName, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: _kTextDark, + ), + ), + const SizedBox(height: 4), + Text( + email, + style: const TextStyle(fontSize: 13, color: _kMuted), + ), + const SizedBox(height: 10), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, vertical: 4), + decoration: BoxDecoration( + color: _kGreen.withValues(alpha: 0.12), + borderRadius: BorderRadius.circular(12), + ), + child: const Text( + 'Email verified', + style: TextStyle( + fontSize: 12, + color: _kGreen, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + + const SizedBox(height: 28), + + // โ”€โ”€ Account details section โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const _SectionHeader(label: 'ACCOUNT DETAILS'), + const SizedBox(height: 8), + _InfoRow(label: 'USER ID', value: userId, monospace: true), + const Divider(), + _InfoRow(label: 'USERNAME', value: username), + + const SizedBox(height: 32), + ], + ), ), ), ); } } -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -// Shared widgets -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ - -class _UserAvatar extends StatelessWidget { - final dynamic user; - final double radius; - const _UserAvatar({this.user, this.radius = 20}); +class _SectionHeader extends StatelessWidget { + final String label; + const _SectionHeader({required this.label}); @override Widget build(BuildContext context) { - final cs = Theme.of(context).colorScheme; - final pictureUrl = (user?.profilePicture as String?)?.isNotEmpty == true - ? user!.profilePicture as String - : (user?.claims?['picture'] as String?)?.isNotEmpty == true - ? user!.claims!['picture'] as String - : null; - if (pictureUrl != null) { - return CircleAvatar( - radius: radius, - backgroundImage: NetworkImage(pictureUrl), - onBackgroundImageError: (_, __) {}, - backgroundColor: cs.primaryContainer, - ); - } - final displayName = user?.displayName as String?; - final email = user?.email as String?; - final initial = displayName?.isNotEmpty == true - ? displayName![0].toUpperCase() - : (email?.isNotEmpty == true ? email![0].toUpperCase() : '?'); - return CircleAvatar( - radius: radius, - backgroundColor: cs.primaryContainer, - child: Text( - initial, - style: TextStyle( - color: cs.onPrimaryContainer, - fontWeight: FontWeight.bold, - fontSize: radius * 0.9, - ), + return Text( + label, + style: const TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + letterSpacing: 1.0, + color: _kMuted, ), ); } } -class _StatItem extends StatelessWidget { - final String value; +class _InfoRow extends StatelessWidget { final String label; - const _StatItem({required this.value, required this.label}); + final String value; + final bool monospace; + const _InfoRow({ + required this.label, + required this.value, + this.monospace = false, + }); @override Widget build(BuildContext context) { - return Expanded( - child: Column( + return Padding( + padding: const EdgeInsets.symmetric(vertical: 10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - value, - style: Theme.of(context) - .textTheme - .headlineSmall - ?.copyWith(fontWeight: FontWeight.bold), + SizedBox( + width: 110, + child: Text( + label, + style: const TextStyle( + fontSize: 11, + fontWeight: FontWeight.w600, + color: _kMuted, + letterSpacing: 0.3, + ), + ), ), - const SizedBox(height: 4), - Text( - label, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textAlign: TextAlign.center, + Expanded( + child: Text( + value, + style: TextStyle( + fontSize: monospace ? 12 : 14, + color: _kTextDark, + fontFamily: monospace ? 'monospace' : null, + ), + ), ), ], ), @@ -687,192 +679,403 @@ class _StatItem extends StatelessWidget { } } -class _VerticalDivider extends StatelessWidget { +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ +// Token debug screen +// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +class _TokenScreen extends StatefulWidget { + final VoidCallback onBack; + const _TokenScreen({required this.onBack}); + @override - Widget build(BuildContext context) { - return Container( - height: 44, - width: 1, - color: Theme.of(context).colorScheme.outlineVariant, - ); - } + State<_TokenScreen> createState() => _TokenScreenState(); } -class _FeatureCard extends StatelessWidget { - final String label; - final String imageUrl; - final bool isNew; - const _FeatureCard( - {required this.label, required this.imageUrl, this.isNew = false}); +class _TokenScreenState extends State<_TokenScreen> { + String? _token; + String _payload = '{}'; + bool _loading = true; + String? _error; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + if (_loading) { + _loadToken(); + } + } + + Future _loadToken() async { + final thunder = ThunderIDProvider.of(context); + try { + final tok = await thunder.client.getAccessToken(); + if (!mounted) return; + setState(() { + _token = tok; + _payload = _decodePayload(tok); + _loading = false; + }); + } catch (e) { + if (!mounted) return; + setState(() { + _error = e.toString(); + _loading = false; + }); + } + } + + String _decodePayload(String token) { + try { + final parts = token.split('.'); + if (parts.length != 3) return '{}'; + final padded = parts[1].padRight((parts[1].length + 3) ~/ 4 * 4, '='); + return utf8.decode(base64Url.decode(padded)); + } catch (_) { + return '{}'; + } + } + + Widget _buildExpiryBadge() { + try { + final map = jsonDecode(_payload) as Map; + final exp = map['exp']; + if (exp == null) return const SizedBox.shrink(); + final expSecs = (exp as num).toInt(); + final nowSecs = DateTime.now().millisecondsSinceEpoch ~/ 1000; + final diffSecs = expSecs - nowSecs; + if (diffSecs <= 0) { + return const _Badge(label: 'Expired', color: _kRed); + } + final mins = (diffSecs / 60).ceil(); + return _Badge(label: '$mins min', color: _kGreen); + } catch (_) { + return const SizedBox.shrink(); + } + } + + String _issuer() { + try { + final map = jsonDecode(_payload) as Map; + return (map['iss'] as String?) ?? 'โ€”'; + } catch (_) { + return 'โ€”'; + } + } + + String _scopes() { + try { + final map = jsonDecode(_payload) as Map; + final scp = map['scp'] ?? map['scope']; + if (scp == null) return 'โ€”'; + if (scp is List) return scp.join(', '); + return scp.toString(); + } catch (_) { + return 'โ€”'; + } + } @override Widget build(BuildContext context) { - final cs = Theme.of(context).colorScheme; - return Card( - elevation: 0, - clipBehavior: Clip.antiAlias, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16), - side: BorderSide(color: cs.outlineVariant), - ), - child: AspectRatio( - aspectRatio: 1, - child: Stack( - fit: StackFit.expand, - children: [ - Image.network( - imageUrl, - fit: BoxFit.cover, - errorBuilder: (_, __, ___) => - Container(color: cs.surfaceContainerHighest), - ), - if (isNew) - Positioned( - top: 8, - left: 8, - child: Container( - padding: - const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + return Scaffold( + body: SafeArea( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // โ”€โ”€ Back button โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const SizedBox(height: 16), + GestureDetector( + onTap: widget.onBack, + child: const Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.chevron_left, color: _kBlue, size: 22), + Text( + 'Home', + style: TextStyle( + color: _kBlue, + fontSize: 15, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + + const SizedBox(height: 24), + + // โ”€โ”€ Title row โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Token debug', + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + color: _kTextDark, + ), + ), + SizedBox(height: 2), + Text( + 'Access token and claims', + style: TextStyle(fontSize: 13, color: _kMuted), + ), + ], + ), + ), + if (!_loading && _token != null) _buildExpiryBadge(), + ], + ), + + const SizedBox(height: 20), + + if (_loading) + const Center( + child: Padding( + padding: EdgeInsets.all(40), + child: CircularProgressIndicator(color: _kBlue), + ), + ) + else if (_error != null) + Text( + 'Error: $_error', + style: const TextStyle(color: _kRed, fontSize: 13), + ) + else ...[ + // โ”€โ”€ JWT token display โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Container( + width: double.infinity, + padding: const EdgeInsets.all(16), decoration: BoxDecoration( - color: cs.primary, - borderRadius: BorderRadius.circular(12), + color: _kCodeBg, + borderRadius: BorderRadius.circular(10), ), - child: Text( - 'NEW', - style: TextStyle( - color: cs.onPrimary, - fontSize: 10, - fontWeight: FontWeight.bold, + child: _token != null + ? _buildJwtRichText(_token!) + : const SizedBox.shrink(), + ), + + const SizedBox(height: 8), + + // โ”€โ”€ Copy button โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Align( + alignment: Alignment.centerRight, + child: TextButton.icon( + onPressed: () async { + if (_token != null) { + await Clipboard.setData(ClipboardData(text: _token!)); + if (context.mounted) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('Token copied to clipboard'), + duration: Duration(seconds: 2), + ), + ); + } + } + }, + icon: const Icon(Icons.copy, size: 14, color: _kMuted), + label: const Text( + 'Copy', + style: TextStyle(fontSize: 13, color: _kMuted), ), ), ), - ), - Positioned( - bottom: 0, - left: 0, - right: 0, - child: Container( - padding: const EdgeInsets.all(12), - decoration: const BoxDecoration( - gradient: LinearGradient( - begin: Alignment.bottomCenter, - end: Alignment.topCenter, - colors: [Colors.black54, Colors.transparent], + + const SizedBox(height: 16), + + // โ”€โ”€ JWT Payload section โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const Text( + 'JWT PAYLOAD', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + letterSpacing: 1.0, + color: _kMuted, + ), + ), + const SizedBox(height: 8), + Container( + width: double.infinity, + padding: const EdgeInsets.all(14), + decoration: BoxDecoration( + color: _kCodeBg, + borderRadius: BorderRadius.circular(10), + ), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Text( + _prettyJson(_payload), + style: const TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: Color(0xFF79c0ff), + height: 1.5, + ), + ), ), ), - child: Text( - label, - style: const TextStyle( - color: Colors.white, + + const SizedBox(height: 20), + + // โ”€โ”€ Metadata rows โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + const Text( + 'METADATA', + style: TextStyle( + fontSize: 10, fontWeight: FontWeight.bold, - fontSize: 14, + letterSpacing: 1.0, + color: _kMuted, ), ), - ), - ), - ], + const SizedBox(height: 8), + _MetaRow(label: 'Issuer', value: _issuer()), + const Divider(), + _MetaRow(label: 'Scopes', value: _scopes()), + const Divider(), + ], + + const SizedBox(height: 40), + ], + ), ), ), ); } -} -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ -// Listing data & card -// โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Widget _buildJwtRichText(String token) { + final parts = token.split('.'); + if (parts.length != 3) { + return Text( + token, + style: const TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Colors.white70, + ), + ); + } + return RichText( + text: TextSpan( + children: [ + TextSpan( + text: parts[0], + style: const TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Color(0xFFff7b72), + ), + ), + const TextSpan( + text: '.', + style: TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Color(0xFF8b949e), + ), + ), + TextSpan( + text: parts[1], + style: const TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Color(0xFF79c0ff), + ), + ), + const TextSpan( + text: '.', + style: TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Color(0xFF8b949e), + ), + ), + TextSpan( + text: parts[2], + style: const TextStyle( + fontFamily: 'monospace', + fontSize: 11, + color: Color(0xFF3fb950), + ), + ), + ], + ), + ); + } -class _Listing { - final String title; - final String location; - final int price; - final double rating; - final String imageUrl; + String _prettyJson(String raw) { + try { + final obj = jsonDecode(raw); + const encoder = JsonEncoder.withIndent(' '); + return encoder.convert(obj); + } catch (_) { + return raw; + } + } +} - const _Listing({ - required this.title, - required this.location, - required this.price, - required this.rating, - required this.imageUrl, - }); +class _Badge extends StatelessWidget { + final String label; + final Color color; + const _Badge({required this.label, required this.color}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 4), + decoration: BoxDecoration( + color: color.withValues(alpha: 0.12), + borderRadius: BorderRadius.circular(12), + border: Border.all(color: color.withValues(alpha: 0.3)), + ), + child: Text( + label, + style: TextStyle( + fontSize: 12, + color: color, + fontWeight: FontWeight.w600, + ), + ), + ); + } } -class _ListingCard extends StatelessWidget { - final _Listing listing; - const _ListingCard({required this.listing}); +class _MetaRow extends StatelessWidget { + final String label; + final String value; + const _MetaRow({required this.label, required this.value}); @override Widget build(BuildContext context) { - final cs = Theme.of(context).colorScheme; - return Card( - elevation: 0, - clipBehavior: Clip.antiAlias, - shape: - RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), - child: Column( + return Padding( + padding: const EdgeInsets.symmetric(vertical: 10), + child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded( - child: Stack( - fit: StackFit.expand, - children: [ - Image.network( - listing.imageUrl, - fit: BoxFit.cover, - errorBuilder: (_, __, ___) => - Container(color: cs.surfaceContainerHighest), - ), - const Positioned( - top: 8, - right: 8, - child: Icon(Icons.favorite_outline, - color: Colors.white, size: 20), - ), - ], + SizedBox( + width: 80, + child: Text( + label, + style: const TextStyle( + fontSize: 13, + color: _kMuted, + fontWeight: FontWeight.w500, + ), ), ), - Padding( - padding: const EdgeInsets.fromLTRB(8, 8, 8, 10), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Expanded( - child: Text( - listing.location, - style: Theme.of(context) - .textTheme - .labelSmall - ?.copyWith(color: cs.onSurfaceVariant), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ), - Icon(Icons.star, size: 11, color: cs.primary), - const SizedBox(width: 2), - Text( - listing.rating.toStringAsFixed(2), - style: Theme.of(context).textTheme.labelSmall, - ), - ], - ), - const SizedBox(height: 2), - Text( - listing.title, - style: Theme.of(context) - .textTheme - .bodySmall - ?.copyWith(fontWeight: FontWeight.w600), - maxLines: 2, - overflow: TextOverflow.ellipsis, - ), - const SizedBox(height: 2), - Text( - '\$${listing.price}/night', - style: Theme.of(context).textTheme.bodySmall, - ), - ], + Expanded( + child: Text( + value, + style: const TextStyle( + fontSize: 13, + color: _kTextDark, + ), ), ), ], diff --git a/samples/quickstart/lib/screens/profile_screen.dart b/samples/quickstart/lib/screens/profile_screen.dart index dfc5bd8..6235e1c 100644 --- a/samples/quickstart/lib/screens/profile_screen.dart +++ b/samples/quickstart/lib/screens/profile_screen.dart @@ -32,7 +32,7 @@ class ProfileScreen extends StatelessWidget { body: SafeArea( child: SingleChildScrollView( padding: const EdgeInsets.all(24), - child: ThunderIDUserProfile( + child: UserProfile( onSaved: () => ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Profile saved')), ), diff --git a/samples/quickstart/pubspec.yaml b/samples/quickstart/pubspec.yaml index 95f68fd..8b7f425 100644 --- a/samples/quickstart/pubspec.yaml +++ b/samples/quickstart/pubspec.yaml @@ -1,6 +1,7 @@ name: flutter_quickstart description: ThunderID Flutter B2C sample โ€” demonstrates sign-in, profile display, and sign-out. version: 1.0.0 +publish_to: none environment: sdk: ">=3.2.0 <4.0.0" diff --git a/samples/quickstart/server.cert b/samples/quickstart/server.cert deleted file mode 100644 index eda67aa..0000000 --- a/samples/quickstart/server.cert +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDSzCCAjOgAwIBAgIUJBjTCM3ahKdobqbPg4IxPoRiOAQwDQYJKoZIhvcNAQEL -BQAwNTENMAsGA1UECgwEV1NPMjEQMA4GA1UECwwHVGh1bmRlcjESMBAGA1UEAwwJ -bG9jYWxob3N0MB4XDTI2MDIwNTA5NTQyOFoXDTI3MDIwNTA5NTQyOFowNTENMAsG -A1UECgwEV1NPMjEQMA4GA1UECwwHVGh1bmRlcjESMBAGA1UEAwwJbG9jYWxob3N0 -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAntgmGMU0jT0WQ5hLi49O -HTWkPmGypi0JeTJE75ZWoVQlE/4tfCO7208nyxUgnsGavcO38s0eks784FiW0lsY -fiu8YwIHCnvjOp9wWT0rsNk8EuE9N0hPyLzaoSstynn2vJLhmjCR9d9KBXx9SwGc -e1lu+7fpDPwNm6iuY3+OiTi1+OrRfWSOkoRfNTM9v2KEsBpQDd/uP94idrMs8EPc -FOAjxtiZdbAisMOKT4xtDfbVo8Q7miFrK1Cc+rEnSRjqF0iKIHEWwq6f1nUQBHQO -xLQyj04sMRbzGhAKcUU82J06LOS+GTlogH5K6vETFDQHemafjcyzgulseKGF1jjm -8wIDAQABo1MwUTAdBgNVHQ4EFgQUSvngE+d4KVZEI0dnJ2rBRC7IH54wHwYDVR0j -BBgwFoAUSvngE+d4KVZEI0dnJ2rBRC7IH54wDwYDVR0TAQH/BAUwAwEB/zANBgkq -hkiG9w0BAQsFAAOCAQEAIaSinXnOmA6Bo7ZOOB4ZRHkkfabpH3/2uW+YEH+Ni/8O -51QPKa72LQmAdm19msZrl30nRKrZBzfJoRLzyl9JwgHv0IM696/rXppxrvmoSVzU -rKWUfN24pAnD8OMuiJmweIcAQRYAgeN2cT36WECgGdJ44ljN4NtPO5CcvyUMrIkv -YeaFjz9M2N+D2zdebSsebJAz7ytI8rJd0Ts5P9LljBRYwX7ewMH9L0zzJICZwVBS -K5EZFWebEpdUEbRjxsxWOXtY8VcesrB7YnTN4GYOHFRCOW8HAEd4p0NiwFD93Zgp -1nUvjbMbSoKyYklTZ5y68YcrfxVe+lDU3LuHJxfOQw== ------END CERTIFICATE----- diff --git a/samples/quickstart/server.key b/samples/quickstart/server.key deleted file mode 100644 index 6db1b63..0000000 --- a/samples/quickstart/server.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCe2CYYxTSNPRZD -mEuLj04dNaQ+YbKmLQl5MkTvllahVCUT/i18I7vbTyfLFSCewZq9w7fyzR6Szvzg -WJbSWxh+K7xjAgcKe+M6n3BZPSuw2TwS4T03SE/IvNqhKy3Kefa8kuGaMJH130oF -fH1LAZx7WW77t+kM/A2bqK5jf46JOLX46tF9ZI6ShF81Mz2/YoSwGlAN3+4/3iJ2 -syzwQ9wU4CPG2Jl1sCKww4pPjG0N9tWjxDuaIWsrUJz6sSdJGOoXSIogcRbCrp/W -dRAEdA7EtDKPTiwxFvMaEApxRTzYnTos5L4ZOWiAfkrq8RMUNAd6Zp+NzLOC6Wx4 -oYXWOObzAgMBAAECggEAR0oRBwryw/THmjyuowsE7t0VQp4MVMJfvxINmE2rwaoH -Hgr0lQNgm1PSMzXfNwEDFunRE9p1P0RAf9uijPQvcOjmGrVdPZpOaBAIlzR5+Fv2 -ty55j+cXT6tan/zGB1pnn0h4kf/8chHtobq2bMRjW4TO55ApuxcgcFzrL2KfMPwa -cLfNFGmKIg37fYdxAgs4QuBeMxCcnAXvMkeyHRoDUU3JIvUn0rFsq7K5EHzsdlml -1f7DbzMc7v/JyfGi126eHZVgHKPGXJT8lQXU1S04bTp/KPq0UJ2DD4Gv2SqUxXs5 -jFlkSvxqW/zNcM6JoSlnkA8CN1yaTFijlVQ9Ud0W0QKBgQDWPspo5bEoa531P+Ua -5/x+sj/KZsjvpXlI1Bk9MUqAEdb0GjeaybYVaOl/XJGNVRQIMlsdsYjAqt0fJ8yY -fAzUcDUt6etfv7ExNx/SasIiQHn5UuSbA0CAHdCDy4QVyARDiLcOoKkio7k7rAPx -OVFSTtNOhZqXXkNu/pEs0Gdc6QKBgQC9zUXB83C96gsRoRkgVJ2g1k65QLXqwxHr -hO567XWFlhvnZs5IH4G0HGHh6OAKgcPOp+qP72pM9EFi8wXeVY0PGNhjFHu/zJtM -FhcoqwYDXkwzsAhaiOw4QwLJ9nExXpCQbfbLcylA8Ppq9Zto92GH31pOKlDI1RkE -mvlNtz9LewKBgQCZ/Id+3Zh3dOITY9lHfXX9miA/WaESndyOe+OoF8V0R144FJ/i -oRg+SymIYQA8lOnQ+mCC9xdTY3uK6RAkiQSvq/aNCZQjPaQdu4Eju5fNBoqkqO+m -eq/hZYx5Lc3B2gE2iQ0JdnAadZKtUPWEa64HeqBlz6FNKnNNU6sEisXAAQKBgG5D -Z2gifffGlMGcHlW68ovylG9o2YZV5v41DrpZYzHFH9bR0bryms5AwtiUCjvwYQmY -YVtXEiE8sRPD7T/Z4YXIwETnLHEjc4DDQJb+rBKe4JQSivfVna2duGwOAHpW3pMZ -XwuYjnnMxR4IK03SkVV2+yZ3zNCvg8Y6JeTxNRMrAoGAehl4mbDLlq46g33nQaoJ -mywTtzA3d9et4VhzNp/WCr1Hu4leea7rvQj4LUOlvDeweKPJth3Z/6JKRClc/sAH -CCe3kqnaKEVEc+l0KjJFD8vjW6to2RTfWwCkSFS+CsYgOzlhbessuyJWUoZM9vWN -km/bIBWNTEc12Po5Ae+GDFM= ------END PRIVATE KEY----- diff --git a/test/thunderid_client_test.dart b/test/thunderid_client_test.dart index 928d6a0..7d562c0 100644 --- a/test/thunderid_client_test.dart +++ b/test/thunderid_client_test.dart @@ -16,12 +16,11 @@ * under the License. */ +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:thunderid_flutter/src/thunderid_client.dart'; import 'package:thunderid_flutter/src/models/thunderid_config.dart'; import 'package:thunderid_flutter/src/models/thunderid_error.dart'; -import 'package:thunderid_flutter/src/channel/thunderid_channel.dart'; -import 'package:flutter/services.dart'; +import 'package:thunderid_flutter/src/thunderid_client.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); @@ -106,7 +105,7 @@ void main() { }); test('IAMException toString includes code', () { - final e = IAMException(ThunderIDErrorCode.networkError, 'connection refused'); + const e = IAMException(ThunderIDErrorCode.networkError, 'connection refused'); expect(e.toString(), contains('NETWORK_ERROR')); }); }); diff --git a/test/widget_test.dart b/test/widget_test.dart index f0424ef..aaab0e8 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -16,38 +16,30 @@ * under the License. */ +import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter/services.dart'; -import 'package:thunderid_flutter/src/thunderid_client.dart'; import 'package:thunderid_flutter/src/models/thunderid_config.dart'; import 'package:thunderid_flutter/src/models/user.dart'; -import 'package:thunderid_flutter/src/models/organization.dart'; +import 'package:thunderid_flutter/src/thunderid_client.dart'; +import 'package:thunderid_flutter/src/widgets/language_switcher.dart'; +import 'package:thunderid_flutter/src/widgets/loading.dart'; +import 'package:thunderid_flutter/src/widgets/signed_in.dart'; +import 'package:thunderid_flutter/src/widgets/signed_out.dart'; import 'package:thunderid_flutter/src/widgets/thunderid_provider.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_signed_in.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_signed_out.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_loading.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_user.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_organization_list.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_organization_switcher.dart'; -import 'package:thunderid_flutter/src/widgets/thunderid_language_switcher.dart'; +import 'package:thunderid_flutter/src/widgets/user_object.dart'; // โ”€โ”€ Test helpers โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ const _config = ThunderIDConfig(baseUrl: 'https://localhost:8090', clientId: 'test'); -final _mockUser = User( +const _mockUser = User( sub: 'u1', username: 'alice', email: 'alice@example.com', displayName: 'Alice Doe', ); -final _mockOrgs = [ - Organization(id: 'o1', name: 'Org One', handle: 'org-one'), - Organization(id: 'o2', name: 'Org Two', handle: 'org-two'), -]; - /// Sets up a mock MethodChannel for dev.thunderid/sdk. void _setHandler(MethodChannel channel, Future Function(MethodCall) handler) { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger @@ -74,12 +66,6 @@ Widget _providerWidget({ return signedIn; case 'getUser': return signedIn ? _mockUser.toMap() : null; - case 'getMyOrganizations': - return _mockOrgs.map((o) => o.toMap()).toList(); - case 'getCurrentOrganization': - return _mockOrgs.first.toMap(); - case 'switchOrganization': - return {'accessToken': 'tok', 'refreshToken': 'ref', 'idToken': 'id', 'expiresIn': 3600}; default: return null; } @@ -101,12 +87,12 @@ void main() { tearDown(() => _clearHandler(_sdkChannel)); - group('ThunderIDSignedIn', () { + group('SignedIn', () { testWidgets('renders child when signed in', (tester) async { await tester.pumpWidget(_providerWidget( signedIn: true, - child: const ThunderIDSignedIn(child: Text('hello', textDirection: TextDirection.ltr)), - )); + child: const SignedIn(child: Text('hello', textDirection: TextDirection.ltr)), + ),); await tester.pumpAndSettle(); expect(find.text('hello'), findsOneWidget); }); @@ -114,8 +100,8 @@ void main() { testWidgets('hides child when signed out', (tester) async { await tester.pumpWidget(_providerWidget( signedIn: false, - child: const ThunderIDSignedIn(child: Text('hello', textDirection: TextDirection.ltr)), - )); + child: const SignedIn(child: Text('hello', textDirection: TextDirection.ltr)), + ),); await tester.pumpAndSettle(); expect(find.text('hello'), findsNothing); }); @@ -123,22 +109,22 @@ void main() { testWidgets('shows fallback when signed out', (tester) async { await tester.pumpWidget(_providerWidget( signedIn: false, - child: const ThunderIDSignedIn( - child: Text('hello', textDirection: TextDirection.ltr), + child: const SignedIn( fallback: Text('sign in please', textDirection: TextDirection.ltr), + child: Text('hello', textDirection: TextDirection.ltr), ), - )); + ),); await tester.pumpAndSettle(); expect(find.text('sign in please'), findsOneWidget); }); }); - group('ThunderIDSignedOut', () { + group('SignedOut', () { testWidgets('renders child when signed out', (tester) async { await tester.pumpWidget(_providerWidget( signedIn: false, - child: const ThunderIDSignedOut(child: Text('signed out', textDirection: TextDirection.ltr)), - )); + child: const SignedOut(child: Text('signed out', textDirection: TextDirection.ltr)), + ),); await tester.pumpAndSettle(); expect(find.text('signed out'), findsOneWidget); }); @@ -146,22 +132,22 @@ void main() { testWidgets('hides child when signed in', (tester) async { await tester.pumpWidget(_providerWidget( signedIn: true, - child: const ThunderIDSignedOut(child: Text('signed out', textDirection: TextDirection.ltr)), - )); + child: const SignedOut(child: Text('signed out', textDirection: TextDirection.ltr)), + ),); await tester.pumpAndSettle(); expect(find.text('signed out'), findsNothing); }); }); - group('ThunderIDLoading', () { + group('Loading', () { testWidgets('renders indicator while loading', (tester) async { // Loading state only exists transiently during init; pump once to catch it. await tester.pumpWidget(_providerWidget( signedIn: false, - child: ThunderIDLoading( - indicator: const Text('loading...', textDirection: TextDirection.ltr), + child: const Loading( + indicator: Text('loading...', textDirection: TextDirection.ltr), ), - )); + ),); // First pump shows loading state before async init completes. expect(find.text('loading...'), findsOneWidget); await tester.pumpAndSettle(); @@ -170,89 +156,45 @@ void main() { }); }); - group('ThunderIDUser', () { - testWidgets('BaseThunderIDUser receives signed-in user', (tester) async { + group('UserObject', () { + testWidgets('BaseUserObject receives signed-in user', (tester) async { String? displayedName; await tester.pumpWidget(_providerWidget( signedIn: true, - child: BaseThunderIDUser( + child: BaseUserObject( builder: (_, user) { displayedName = user?.displayName; return const SizedBox(); }, ), - )); + ),); await tester.pumpAndSettle(); expect(displayedName, 'Alice Doe'); }); - testWidgets('BaseThunderIDUser receives null when signed out', (tester) async { - User? capturedUser = User(sub: 'placeholder', username: 'x'); + testWidgets('BaseUserObject receives null when signed out', (tester) async { + User? capturedUser = const User(sub: 'placeholder', username: 'x'); await tester.pumpWidget(_providerWidget( signedIn: false, - child: BaseThunderIDUser( + child: BaseUserObject( builder: (_, user) { capturedUser = user; return const SizedBox(); }, ), - )); + ),); await tester.pumpAndSettle(); expect(capturedUser, isNull); }); }); - group('ThunderIDOrganizationList', () { - testWidgets('BaseThunderIDOrganizationList fetches and exposes org list', (tester) async { - List? captured; - await tester.pumpWidget(_providerWidget( - signedIn: true, - child: BaseThunderIDOrganizationList( - builder: (_, orgs, isLoading, error) { - if (!isLoading) captured = orgs; - return const SizedBox(); - }, - ), - )); - await tester.pumpAndSettle(); - expect(captured, isNotNull); - expect(captured!.length, 2); - expect(captured!.first.name, 'Org One'); - }); - }); - - group('ThunderIDOrganizationSwitcher', () { - testWidgets('BaseThunderIDOrganizationSwitcher calls switchOrganization on select', (tester) async { - Organization? switched; - await tester.pumpWidget(_providerWidget( - signedIn: true, - child: BaseThunderIDOrganizationSwitcher( - builder: (_, orgs, current, isSwitching, error, switchOrg) { - if (orgs.isEmpty || isSwitching) return const SizedBox(); - return GestureDetector( - onTap: () async { - await switchOrg(orgs.last); - switched = orgs.last; - }, - child: const Text('switch', textDirection: TextDirection.ltr), - ); - }, - ), - )); - await tester.pumpAndSettle(); - await tester.tap(find.text('switch')); - await tester.pumpAndSettle(); - expect(switched?.name, 'Org Two'); - }); - }); - - group('ThunderIDLanguageSwitcher', () { - testWidgets('BaseThunderIDLanguageSwitcher exposes active locale and select callback', (tester) async { + group('LanguageSwitcher', () { + testWidgets('BaseLanguageSwitcher exposes active locale and select callback', (tester) async { String? activeBefore; String? activeAfter; await tester.pumpWidget(_providerWidget( signedIn: false, - child: BaseThunderIDLanguageSwitcher( + child: BaseLanguageSwitcher( locales: const ['en-US', 'fr-FR'], builder: (_, active, select) { activeBefore ??= active; @@ -265,7 +207,7 @@ void main() { ); }, ), - )); + ),); await tester.pumpAndSettle(); expect(activeBefore, 'en-US'); await tester.tap(find.text('fr'));

C9I%MynMrQ#9taYJgH~ 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⋙*Avrvx+jfU`@XG%>9=ko+tf( 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