From a574f304247dec8e5180efade0e9faa7c8418253 Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 11:39:16 +0700 Subject: [PATCH 1/6] fix: submit data bank account --- assets/icons/icon-ceklis-outline.png | Bin 0 -> 3858 bytes lib/application/assets/path_assets.dart | 2 + .../component/list_tile/list_tile_view.dart | 70 +++++++++++ .../data_bank/confirm_bank_account.dart | 112 ++++++++++++++++++ .../data_bank/submit_bank_account.dart | 11 +- .../submission_data/submission_parent.dart | 26 +++- .../view/dashboard_public_view.dart | 6 +- 7 files changed, 219 insertions(+), 8 deletions(-) create mode 100644 assets/icons/icon-ceklis-outline.png create mode 100644 lib/application/component/list_tile/list_tile_view.dart create mode 100644 lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart diff --git a/assets/icons/icon-ceklis-outline.png b/assets/icons/icon-ceklis-outline.png new file mode 100644 index 0000000000000000000000000000000000000000..bb47c9758e0e0a0c2815e9d3e0387173224c5f86 GIT binary patch literal 3858 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 Uky<_}RR91007*qoM6N<$f+7MxvH$=8 literal 0 HcmV?d00001 diff --git a/lib/application/assets/path_assets.dart b/lib/application/assets/path_assets.dart index 9bccc8c..bd69ff6 100644 --- a/lib/application/assets/path_assets.dart +++ b/lib/application/assets/path_assets.dart @@ -33,6 +33,8 @@ class PathAssets { static const String iconMoneyReceive = 'assets/icons/icon-money-receive.png'; static const String iconCoins = 'assets/icons/icon-coins.png'; static const String iconQuestion = 'assets/icons/icon-question.png'; + static const String iconChecklistOutlined = + 'assets/icons/icon-ceklis-outline.png'; /// IMAGE static const String imgSplashLogo = 'assets/images/splash-logo.png'; diff --git a/lib/application/component/list_tile/list_tile_view.dart b/lib/application/component/list_tile/list_tile_view.dart new file mode 100644 index 0000000..683e277 --- /dev/null +++ b/lib/application/component/list_tile/list_tile_view.dart @@ -0,0 +1,70 @@ +import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/image/image_view.dart'; +import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:flutter/material.dart'; + +class ListTileView extends StatelessWidget { + final String title; + final VoidCallback? onPressed; + final Widget? prefixIcon, suffixIcon; + final Color? colorTitle; + const ListTileView( + {Key? key, + required this.title, + this.onPressed, + this.prefixIcon, + this.suffixIcon, + this.colorTitle}) + : super(key: key); + + @override + Widget build(BuildContext context) { + return Container( + width: SizeConfig.width, + padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 8.0), + margin: const EdgeInsets.symmetric(vertical: 16.0), + decoration: BoxDecoration( + color: ColorPalette.blue50, + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: ColorPalette.greyLights, + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + prefixIcon ?? + const ImageView( + image: PathAssets.iconChecklistOutlined, + width: 38, + height: 38, + ), + const SizedBox( + width: 16, + ), + Expanded( + child: Text( + title, + style: TextStyle( + fontWeight: FontWeight.w600, + color: colorTitle ?? ColorPalette.slate500, + ), + ), + ), + suffixIcon != null + ? IconButton( + onPressed: onPressed, + icon: const Icon( + Icons.arrow_forward_ios, + color: ColorPalette.primary, + size: 20, + ), + ) + : const SizedBox(), + ], + ), + ); + } +} diff --git a/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart new file mode 100644 index 0000000..272e284 --- /dev/null +++ b/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart @@ -0,0 +1,112 @@ +import 'package:cims_apps/application/component/button/button_back.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; +import 'package:cims_apps/application/component/list_tile/list_tile_view.dart'; +import 'package:cims_apps/application/component/text_caption/text_caption.dart'; +import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart'; +import 'package:flutter/material.dart'; + +class ConfirmBankAccount extends StatelessWidget { + const ConfirmBankAccount({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + List listData = [ + {'title': 'Bank Name', 'subtitle': 'Bank Mandiri'}, + {'title': 'Account Number', 'subtitle': '123002212084'}, + {'title': 'Account Owner Name', 'subtitle': 'Muhamad Rosyidin'}, + {'title': 'Name on ID card', 'subtitle': 'Muhamad Rosyidin'}, + ]; + return Scaffold( + appBar: AppBar( + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const ButtonBack(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), + ), + body: SingleChildScrollView( + padding: const EdgeInsets.all(16.0), + child: SizedBox( + height: SizeConfig.height * .85, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Bank account confirmation'), + SizedBox( + height: SizeConfig.height * .6, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ...listData.map((e) { + return Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + e['title'], + style: const TextStyle( + color: ColorPalette.slate400, fontSize: 16), + ), + Text( + e['subtitle'], + style: const TextStyle( + fontSize: 16, + color: ColorPalette.slate800, + fontWeight: FontWeight.w600), + ), + ], + ), + ); + }).toList(), + const ListTileView( + title: + 'Make sure your data is correct as it will affect the disbursement process', + ), + ], + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + ButtonView( + name: 'Recheck', + isOutlined: true, + width: SizeConfig.width * .42, + onPressed: () { + Navigator.pop(context); + }, + ), + ButtonView( + name: 'Confirm', + width: SizeConfig.width * .42, + onPressed: () { + routePush(context, page: const SubmissionParent()); + }, + ), + ], + ) + ], + ), + ), + ), + ); + } +} diff --git a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart index d0618be..7697f92 100644 --- a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart +++ b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart @@ -1,10 +1,12 @@ import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/component/select_form/select_form_view.dart'; import 'package:cims_apps/application/component/text_caption/text_caption.dart'; import 'package:cims_apps/application/component/text_form/text_form_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart'; import 'package:flutter/material.dart'; @@ -20,7 +22,7 @@ class SubmitBankAccount extends StatelessWidget { ItemSelectForm('key4', 'BANK MANDIRI'), ItemSelectForm('key5', 'CIMB NIAGA'), ]; - return SingleChildScrollView( + return SizedBox( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -48,6 +50,13 @@ class SubmitBankAccount extends StatelessWidget { style: TextStyle( color: ColorPalette.slate400, ), + ), + const Spacer(), + ButtonView( + name: 'Next', + onPressed: () { + routePush(context, page: ConfirmBankAccount()); + }, ) ], ), diff --git a/lib/features/auth/registration/view/submission_data/submission_parent.dart b/lib/features/auth/registration/view/submission_data/submission_parent.dart index cdaa065..b81c231 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -1,8 +1,10 @@ +import 'package:cims_apps/application/component/button/button_back.dart'; import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_data_id_card.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_photo_ktp.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_email.dart'; @@ -55,9 +57,7 @@ class _SubmissionParentState extends State { child: Text("Step 7"), ); case 8: - return Container( - child: Text("Step 8"), - ); + return const RiskProfileView(); case 9: return Container( child: Text("Step 9"), @@ -79,7 +79,22 @@ class _SubmissionParentState extends State { }, child: Scaffold( appBar: AppBar( - title: const Text('Registration'), + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const ButtonBack(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), ), body: Stack( children: [ @@ -111,7 +126,8 @@ class _SubmissionParentState extends State { ), ), provider.getCurrentStep == 3 || - provider.getCurrentStep == 4 + provider.getCurrentStep == 4 || + provider.getCurrentStep == 6 ? const SizedBox() : Align( alignment: Alignment.bottomCenter, diff --git a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart index c20971f..e320808 100644 --- a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart +++ b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart @@ -5,8 +5,8 @@ import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; import 'package:cims_apps/features/auth/login/view/login_view.dart'; +import 'package:cims_apps/features/auth/registration/view/initial_registration_step.dart'; import 'package:cims_apps/features/auth/registration/view/registration_view.dart'; -import 'package:cims_apps/features/bottom_navigation_view.dart'; import 'package:flutter/material.dart'; class DashboardPublicView extends StatelessWidget { @@ -93,7 +93,9 @@ class DashboardPublicView extends StatelessWidget { image: PathAssets.iconGoogle, width: 26, ), - onPressed: () {}, + onPressed: () { + routePush(context, page: const InitialRegistrationStep()); + }, ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, -- 2.45.2 From 298d7f46d252f7a6a26cf1f776509874c23c99fc Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 16:03:06 +0700 Subject: [PATCH 2/6] fix: submit data bank account --- .../data_bank/submit_bank_account.dart | 88 +++++++++++-------- .../submission_data/submission_parent.dart | 63 +++++++------ .../viewmodel/submission_data_viewmodel.dart | 1 + 3 files changed, 83 insertions(+), 69 deletions(-) diff --git a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart index 7697f92..822a3ee 100644 --- a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart +++ b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart @@ -8,7 +8,9 @@ import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart'; +import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class SubmitBankAccount extends StatelessWidget { const SubmitBankAccount({Key? key}) : super(key: key); @@ -22,44 +24,56 @@ class SubmitBankAccount extends StatelessWidget { ItemSelectForm('key4', 'BANK MANDIRI'), ItemSelectForm('key5', 'CIMB NIAGA'), ]; - return SizedBox( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const TextCaption(title: 'Input your bank account data'), - SelectFormView( - name: 'Bank Name', - listItem: listForm, - onSelect: (value) {}, - ), - TextFormView( - name: 'Account Number', - trailingTitleWidget: SizedBox( - width: 24, - child: GestureDetector( - onTap: () { - routePush(context, page: GuideScreen()); - }, - child: const ImageView(image: PathAssets.iconQuestion), - ), - ), - ), - TextFormView(name: 'Account Owner Name'), - const Text( - "Make sure the account you use is in your name, not someone else's", - style: TextStyle( - color: ColorPalette.slate400, - ), - ), - const Spacer(), - ButtonView( - name: 'Next', - onPressed: () { - routePush(context, page: ConfirmBankAccount()); - }, + return MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => SubmissionDataViewModel(), ) ], - ), - ); + builder: (context, child) { + return SizedBox( + child: Consumer( + builder: (context, provider, child) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Input your bank account data'), + SelectFormView( + name: 'Bank Name', + listItem: listForm, + onSelect: (value) {}, + ), + TextFormView( + name: 'Account Number', + trailingTitleWidget: SizedBox( + width: 24, + child: GestureDetector( + onTap: () { + routePush(context, page: const GuideScreen()); + }, + child: const ImageView(image: PathAssets.iconQuestion), + ), + ), + ), + TextFormView(name: 'Account Owner Name'), + const Text( + "Make sure the account you use is in your name, not someone else's", + style: TextStyle( + color: ColorPalette.slate400, + ), + ), + const Spacer(), + ButtonView( + name: 'Next', + onPressed: () { + provider.nextSubmission(context); + routePush(context, page: const ConfirmBankAccount()); + }, + ) + ], + ); + }), + ); + }); } } diff --git a/lib/features/auth/registration/view/submission_data/submission_parent.dart b/lib/features/auth/registration/view/submission_data/submission_parent.dart index aa22dd0..8f53647 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -10,6 +10,7 @@ import 'package:cims_apps/features/auth/registration/view/submission_data/submit import 'package:cims_apps/features/auth/registration/view/submission_data/submit_email.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_personal_data.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_photo_selfie.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:cims_apps/features/bottom_navigation_view.dart'; import 'package:flutter/material.dart'; @@ -26,7 +27,7 @@ class SubmissionParent extends StatefulWidget { class _SubmissionParentState extends State { Widget _stepItem({bool isCurrentStep = false, bool isDone = false}) { return Container( - margin: const EdgeInsets.only(right: 4.0, left: 4.0), + margin: const EdgeInsets.only(right: 0.0, left: 4.0), height: 6, width: SizeConfig.width * .08, decoration: BoxDecoration( @@ -53,9 +54,7 @@ class _SubmissionParentState extends State { case 6: return const SubmitBankAccount(); case 7: - return Container( - child: Text("Step 7"), - ); + return const SubmitSignature(); case 8: return const RiskProfileView(); case 9: @@ -77,30 +76,30 @@ class _SubmissionParentState extends State { routeType: RouteType.pushReplace); return false; }, - child: Scaffold( - appBar: AppBar( - toolbarHeight: 70, - backgroundColor: Colors.white, - surfaceTintColor: Colors.white, - automaticallyImplyLeading: false, - title: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const BackButtonView(), - const Text('Registration'), - SizedBox( - width: SizeConfig.width * 0.1, - ) - ], + child: Consumer( + builder: (context, provider, child) { + return Scaffold( + appBar: AppBar( + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const BackButtonView(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), ), - shape: const RoundedRectangleBorder( - side: BorderSide(color: ColorPalette.slate200)), - ), - body: Stack( - children: [ - Consumer( - builder: (context, provider, child) { - return Column( + body: Stack( + children: [ + Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -140,11 +139,11 @@ class _SubmissionParentState extends State { ), ) ], - ); - }), - ], - ), - ), + ), + ], + ), + ); + }), ); }); } diff --git a/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart b/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart index 045cc61..ceaad54 100644 --- a/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart +++ b/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart @@ -34,6 +34,7 @@ class SubmissionDataViewModel extends ChangeNotifier { } else { //ToDo : Go To next step after completing the submission } + notifyListeners(); } } -- 2.45.2 From 9da1675250061d7b26a7841119a2f1d02869c318 Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 17:00:19 +0700 Subject: [PATCH 3/6] feat: submit signature --- assets/images/frame-signature.png | Bin 0 -> 39317 bytes lib/application/assets/path_assets.dart | 1 + .../data_bank/submit_bank_account.dart | 18 ++-- .../submission_data/submission_parent.dart | 23 +++- .../submit_signature/initial_signature.dart | 43 ++++++++ .../submit_signature/submit_signature.dart | 100 ++++++++++++++++++ .../view/dashboard_public_view.dart | 8 +- pubspec.lock | 8 ++ pubspec.yaml | 1 + 9 files changed, 186 insertions(+), 16 deletions(-) create mode 100644 assets/images/frame-signature.png create mode 100644 lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart create mode 100644 lib/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart diff --git a/assets/images/frame-signature.png b/assets/images/frame-signature.png new file mode 100644 index 0000000000000000000000000000000000000000..c388f85ad2a87b0028c4f0cfc59fc0599a94cdd8 GIT binary patch literal 39317 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 GH~$BLSzEdQ literal 0 HcmV?d00001 diff --git a/lib/application/assets/path_assets.dart b/lib/application/assets/path_assets.dart index 3ff16ff..01846f1 100644 --- a/lib/application/assets/path_assets.dart +++ b/lib/application/assets/path_assets.dart @@ -72,4 +72,5 @@ class PathAssets { static const String imgGuideBank = 'assets/images/img-guide-bank.png'; static const String imgGuide1 = 'assets/images/img-guide1.png'; static const String imgGuide2 = 'assets/images/img-guide2.png'; + static const String frameSignature = 'assets/images/frame-signature.png'; } diff --git a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart index 822a3ee..996ec12 100644 --- a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart +++ b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart @@ -1,12 +1,10 @@ import 'package:cims_apps/application/assets/path_assets.dart'; -import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/component/select_form/select_form_view.dart'; import 'package:cims_apps/application/component/text_caption/text_caption.dart'; import 'package:cims_apps/application/component/text_form/text_form_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; -import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:flutter/material.dart'; @@ -62,14 +60,14 @@ class SubmitBankAccount extends StatelessWidget { color: ColorPalette.slate400, ), ), - const Spacer(), - ButtonView( - name: 'Next', - onPressed: () { - provider.nextSubmission(context); - routePush(context, page: const ConfirmBankAccount()); - }, - ) + // const Spacer(), + // ButtonView( + // name: 'Next', + // onPressed: () { + // provider.nextSubmission(context); + // routePush(context, page: const ConfirmBankAccount()); + // }, + // ) ], ); }), diff --git a/lib/features/auth/registration/view/submission_data/submission_parent.dart b/lib/features/auth/registration/view/submission_data/submission_parent.dart index 8f53647..3546f64 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -3,6 +3,7 @@ import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_data_id_card.dart'; @@ -10,6 +11,7 @@ import 'package:cims_apps/features/auth/registration/view/submission_data/submit import 'package:cims_apps/features/auth/registration/view/submission_data/submit_email.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_personal_data.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_photo_selfie.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:cims_apps/features/bottom_navigation_view.dart'; @@ -54,7 +56,7 @@ class _SubmissionParentState extends State { case 6: return const SubmitBankAccount(); case 7: - return const SubmitSignature(); + return const InitialSignature(); case 8: return const RiskProfileView(); case 9: @@ -64,6 +66,21 @@ class _SubmissionParentState extends State { } } + _contentPush(int index) { + switch (index) { + case 6: + routePush(context, page: const ConfirmBankAccount()); + case 7: + routePush(context, page: const SubmitSignature()); + // case 8: + // return const RiskProfileView(); + // case 9: + // return Container( + // child: Text("Step 9"), + // ); + } + } + @override Widget build(BuildContext context) { return ChangeNotifierProvider( @@ -125,8 +142,7 @@ class _SubmissionParentState extends State { ), ), provider.getCurrentStep == 3 || - provider.getCurrentStep == 4 || - provider.getCurrentStep == 6 + provider.getCurrentStep == 4 ? const SizedBox() : Align( alignment: Alignment.bottomCenter, @@ -134,6 +150,7 @@ class _SubmissionParentState extends State { name: 'Next', marginVertical: 16.0, onPressed: () { + _contentPush(provider.getCurrentStep); provider.nextSubmission(context); }, ), diff --git a/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart b/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart new file mode 100644 index 0000000..da8f7ed --- /dev/null +++ b/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart @@ -0,0 +1,43 @@ +import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/image/image_view.dart'; +import 'package:cims_apps/application/component/list_tile/list_tile_view.dart'; +import 'package:cims_apps/application/component/text_caption/text_caption.dart'; +import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +class InitialSignature extends StatelessWidget { + const InitialSignature({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => SubmissionDataViewModel(), + ) + ], + builder: (context, child) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Draw your digital sign'), + const ImageView(image: PathAssets.frameSignature), + const ListTileView( + title: + 'Make sure the sign you draw is match with your ID Card'), + // Consumer( + // builder: (context, provider, child) { + // return ButtonView( + // name: 'Next', + // onPressed: () { + // provider.nextSubmission(context); + // routePush(context, page: const SubmitSignature()); + // }, + // ); + // }), + ], + ); + }); + } +} diff --git a/lib/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart b/lib/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart new file mode 100644 index 0000000..6d4761c --- /dev/null +++ b/lib/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart @@ -0,0 +1,100 @@ +import 'dart:ui' as ui; + +import 'package:cims_apps/application/component/button/back_button_view.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; +import 'package:cims_apps/application/component/list_tile/list_tile_view.dart'; +import 'package:cims_apps/application/component/text_caption/text_caption.dart'; +import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart'; +import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; +import 'package:dotted_border/dotted_border.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:syncfusion_flutter_signaturepad/signaturepad.dart'; + +class SubmitSignature extends StatelessWidget { + const SubmitSignature({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + GlobalKey signaturePadKey = GlobalKey(); + return ChangeNotifierProvider( + create: (context) => SubmissionDataViewModel(), + builder: (context, child) { + return Scaffold( + appBar: AppBar( + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const BackButtonView(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), + ), + body: Container( + padding: const EdgeInsets.all(16.0), + child: Consumer( + builder: (context, provider, child) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Draw your digital sign'), + SizedBox( + height: SizeConfig.height * .28, + child: DottedBorder( + color: ColorPalette.primary, + borderType: BorderType.RRect, + radius: const Radius.circular(8), + padding: const EdgeInsets.all(6), + strokeWidth: 2.0, + dashPattern: const [14, 0, 0, 8], + child: SfSignaturePad( + key: signaturePadKey, + backgroundColor: Colors.white, + ), + ), + ), + const ListTileView( + title: + 'Make sure the sign you draw is match with your ID Card'), + const Spacer(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + ButtonView( + name: 'Delete', + isOutlined: true, + width: SizeConfig.width * .42, + onPressed: () { + signaturePadKey.currentState?.clear(); + }, + ), + ButtonView( + name: 'Next', + width: SizeConfig.width * .42, + onPressed: () async { + // ui.Image image = await _signaturePadKey.currentState!.toImage(); + routePush(context, page: const SubmissionParent()); + }, + ), + ], + ) + ], + ); + }), + ), + ); + }); + } +} diff --git a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart index e320808..93bed19 100644 --- a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart +++ b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart @@ -39,9 +39,11 @@ class DashboardPublicView extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( body: Container( - padding: const EdgeInsets.symmetric( - vertical: 32.0, - horizontal: 24.0, + padding: const EdgeInsets.only( + top: 32.0, + bottom: 8.0, + left: 24.0, + right: 24.0, ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/pubspec.lock b/pubspec.lock index fe9bc01..a030f5f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -153,6 +153,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" + dotted_border: + dependency: "direct main" + description: + name: dotted_border + sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04" + url: "https://pub.dev" + source: hosted + version: "2.1.0" equatable: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b5fe5ab..e80d052 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,6 +49,7 @@ dependencies: path_provider: ^2.1.2 path: ^1.8.3 syncfusion_flutter_signaturepad: ^24.2.4 + dotted_border: ^2.1.0 -- 2.45.2 From eb1eb83d523b49cbab00d545d206ddae5181a0b0 Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 17:17:19 +0700 Subject: [PATCH 4/6] fix: risk profile --- .../data_bank/submit_bank_account.dart | 8 - .../risk_profile/results_view.dart | 89 +++++----- .../risk_profile/risk_profile_view.dart | 157 ++++++++---------- .../submission_data/submission_parent.dart | 7 +- .../submit_signature/initial_signature.dart | 18 +- 5 files changed, 116 insertions(+), 163 deletions(-) diff --git a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart index 996ec12..384cd43 100644 --- a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart +++ b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart @@ -60,14 +60,6 @@ class SubmitBankAccount extends StatelessWidget { color: ColorPalette.slate400, ), ), - // const Spacer(), - // ButtonView( - // name: 'Next', - // onPressed: () { - // provider.nextSubmission(context); - // routePush(context, page: const ConfirmBankAccount()); - // }, - // ) ], ); }), diff --git a/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart b/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart index 767d945..0123b80 100644 --- a/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart +++ b/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart @@ -1,19 +1,17 @@ -import 'package:cims_apps/application/assets/path_assets.dart'; import 'package:cims_apps/application/component/button/back_button_view.dart'; import 'package:cims_apps/application/component/button/button_view.dart'; -import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; import 'package:cims_apps/features/auth/registration/view/registration_password_view.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/risk_profile/risk_profile_view_model/risk_profile_view_model.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; class ResultsView extends StatelessWidget { final String totalScore; final RiskProfileResult typeResult; - const ResultsView({super.key, required this.typeResult, required this.totalScore}); + const ResultsView( + {super.key, required this.typeResult, required this.totalScore}); @override Widget build(BuildContext context) { @@ -28,14 +26,11 @@ class ResultsView extends StatelessWidget { children: [ BackButtonView(), const Text('Risk Profile', textAlign: TextAlign.center), - SizedBox( - width: SizeConfig.width * 0.1 - ) + SizedBox(width: SizeConfig.width * 0.1) ], ), shape: const RoundedRectangleBorder( - side: BorderSide(color: ColorPalette.slate200) - ), + side: BorderSide(color: ColorPalette.slate200)), ), body: SingleChildScrollView( padding: EdgeInsets.all(24), @@ -46,9 +41,10 @@ class ResultsView extends StatelessWidget { borderRadius: BorderRadius.circular(8), child: Container( decoration: BoxDecoration( - color: typeResult.color, - image: DecorationImage(image: AssetImage(typeResult.img), alignment: Alignment.centerRight) - ), + color: typeResult.color, + image: DecorationImage( + image: AssetImage(typeResult.img), + alignment: Alignment.centerRight)), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -60,25 +56,26 @@ class ResultsView extends StatelessWidget { Text( typeResult.type, style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 24, - color: ColorPalette.white - ), + fontWeight: FontWeight.bold, + fontSize: 24, + color: ColorPalette.white), ), - SizedBox(height: 16,), - Text('Total Score :', + SizedBox( + height: 16, + ), + Text( + 'Total Score :', style: TextStyle( fontWeight: FontWeight.bold, fontSize: 16, - color: ColorPalette.white - ), + color: ColorPalette.white), ), - Text(totalScore, + Text( + totalScore, style: TextStyle( fontWeight: FontWeight.bold, fontSize: 28, - color: ColorPalette.white - ), + color: ColorPalette.white), ) ], ), @@ -90,23 +87,17 @@ class ResultsView extends StatelessWidget { SizedBox( height: 24, ), - Text( - typeResult.desc, - style: TextStyle( - color: ColorPalette.slate500, - fontSize: 16 - ) - ), + Text(typeResult.desc, + style: TextStyle(color: ColorPalette.slate500, fontSize: 16)), SizedBox( height: 24, ), Text( 'Suitable Product', style: TextStyle( - color: ColorPalette.slate800, - fontWeight: FontWeight.bold, - fontSize: 16 - ), + color: ColorPalette.slate800, + fontWeight: FontWeight.bold, + fontSize: 16), ), SizedBox( height: 16, @@ -123,24 +114,24 @@ class ResultsView extends StatelessWidget { child: Row( children: [ Container( - padding: EdgeInsets.all(8), - alignment: Alignment.center, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: typeResult.color.withOpacity(0.1) - ), - child: Image.asset(e['icon'], width: SizeConfig.width * 0.07, color: typeResult.color) - ), + padding: EdgeInsets.all(8), + alignment: Alignment.center, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: typeResult.color.withOpacity(0.1)), + child: Image.asset(e['icon'], + width: SizeConfig.width * 0.07, + color: typeResult.color)), SizedBox( width: 12, ), Expanded( - child: Text(e['desc'], + child: Text( + e['desc'], style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: ColorPalette.slate800 - ), + fontSize: 16, + fontWeight: FontWeight.bold, + color: ColorPalette.slate800), ), ) ], @@ -153,8 +144,7 @@ class ResultsView extends StatelessWidget { ), ButtonView( name: 'Re-test', - onPressed: () { - }, + onPressed: () {}, marginVertical: 0, backgroundColor: ColorPalette.white, textColor: ColorPalette.primary, @@ -171,6 +161,7 @@ class ResultsView extends StatelessWidget { ButtonView( name: 'Confirm', onPressed: () { + //TODO route ke terms condition routePush(context, page: DialogSuccess()); }, marginVertical: 0, diff --git a/lib/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart b/lib/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart index 9103416..03a2520 100644 --- a/lib/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart +++ b/lib/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart @@ -1,5 +1,4 @@ import 'package:cims_apps/application/assets/path_assets.dart'; -import 'package:cims_apps/application/component/button/back_button_view.dart'; import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; @@ -13,93 +12,75 @@ class RiskProfileView extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - toolbarHeight: 70, - backgroundColor: Colors.white, - surfaceTintColor: Colors.white, - automaticallyImplyLeading: false, - title: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - BackButtonView(), - const Text('Risk Profile', textAlign: TextAlign.center), - SizedBox(width: SizeConfig.width * 0.1) - ], - ), - shape: const RoundedRectangleBorder( - side: BorderSide(color: ColorPalette.slate200)), - ), - body: Container( - width: SizeConfig.width, - height: SizeConfig.height, - padding: EdgeInsets.all(24), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column( - children: [ - ImageView(image: PathAssets.imgDataReport), - SizedBox( - height: 24, - ), - Text( - 'Know Your Risk Profile', - textAlign: TextAlign.center, - style: TextStyle( - color: ColorPalette.slate800, - fontWeight: FontWeight.bold, - fontSize: 24), - ), - SizedBox( - height: 12, - ), - Text( - 'We will provide recommendations that match your profile and risk tolerance level.', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - color: ColorPalette.slate500), - ), - ], - ), - Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - ImageView( - image: PathAssets.iconShield, - width: 20, - height: 22, - ), - SizedBox( - width: 8, - ), - Text( - 'Your data is secure and encrypted', - style: TextStyle( - fontWeight: FontWeight.w600, - color: ColorPalette.primary, - fontSize: 16), - ) - ], - ), - SizedBox( - height: 24, - ), - ButtonView( - name: "Let's Start", - onPressed: () { - routePush(context, page: QuestionView()); - }, - marginVertical: 0, - ) - ], - ) - ], - ), + return Container( + width: SizeConfig.width, + height: SizeConfig.height, + padding: EdgeInsets.all(24), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + children: [ + ImageView(image: PathAssets.imgDataReport), + SizedBox( + height: 24, + ), + Text( + 'Know Your Risk Profile', + textAlign: TextAlign.center, + style: TextStyle( + color: ColorPalette.slate800, + fontWeight: FontWeight.bold, + fontSize: 24), + ), + SizedBox( + height: 12, + ), + Text( + 'We will provide recommendations that match your profile and risk tolerance level.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: ColorPalette.slate500), + ), + ], + ), + Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ImageView( + image: PathAssets.iconShield, + width: 20, + height: 22, + ), + SizedBox( + width: 8, + ), + Text( + 'Your data is secure and encrypted', + style: TextStyle( + fontWeight: FontWeight.w600, + color: ColorPalette.primary, + fontSize: 16), + ) + ], + ), + SizedBox( + height: 24, + ), + ButtonView( + name: "Let's Start", + onPressed: () { + routePush(context, page: QuestionView()); + }, + marginVertical: 0, + ) + ], + ) + ], ), ); } diff --git a/lib/features/auth/registration/view/submission_data/submission_parent.dart b/lib/features/auth/registration/view/submission_data/submission_parent.dart index 3546f64..44ef918 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -60,9 +60,7 @@ class _SubmissionParentState extends State { case 8: return const RiskProfileView(); case 9: - return Container( - child: Text("Step 9"), - ); + return const Text("Step 9"); } } @@ -142,7 +140,8 @@ class _SubmissionParentState extends State { ), ), provider.getCurrentStep == 3 || - provider.getCurrentStep == 4 + provider.getCurrentStep == 4 || + provider.getCurrentStep == 8 ? const SizedBox() : Align( alignment: Alignment.bottomCenter, diff --git a/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart b/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart index da8f7ed..50214e2 100644 --- a/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart +++ b/lib/features/auth/registration/view/submission_data/submit_signature/initial_signature.dart @@ -18,24 +18,14 @@ class InitialSignature extends StatelessWidget { ) ], builder: (context, child) { - return Column( + return const Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const TextCaption(title: 'Draw your digital sign'), - const ImageView(image: PathAssets.frameSignature), - const ListTileView( + TextCaption(title: 'Draw your digital sign'), + ImageView(image: PathAssets.frameSignature), + ListTileView( title: 'Make sure the sign you draw is match with your ID Card'), - // Consumer( - // builder: (context, provider, child) { - // return ButtonView( - // name: 'Next', - // onPressed: () { - // provider.nextSubmission(context); - // routePush(context, page: const SubmitSignature()); - // }, - // ); - // }), ], ); }); -- 2.45.2 From e86e67b9c9afa5dbed75934337f698f06575537d Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 17:35:58 +0700 Subject: [PATCH 5/6] fix: term condition page --- .../risk_profile/results_view.dart | 46 +++---- .../terms_and_condition_view.dart | 125 ++++++++++-------- 2 files changed, 92 insertions(+), 79 deletions(-) diff --git a/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart b/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart index 0123b80..674913c 100644 --- a/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart +++ b/lib/features/auth/registration/view/submission_data/risk_profile/results_view.dart @@ -3,8 +3,8 @@ import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; -import 'package:cims_apps/features/auth/registration/view/registration_password_view.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/risk_profile/risk_profile_view_model/risk_profile_view_model.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/terms_and_condition/terms_and_condition_view.dart'; import 'package:flutter/material.dart'; class ResultsView extends StatelessWidget { @@ -24,7 +24,7 @@ class ResultsView extends StatelessWidget { title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - BackButtonView(), + const BackButtonView(), const Text('Risk Profile', textAlign: TextAlign.center), SizedBox(width: SizeConfig.width * 0.1) ], @@ -33,7 +33,7 @@ class ResultsView extends StatelessWidget { side: BorderSide(color: ColorPalette.slate200)), ), body: SingleChildScrollView( - padding: EdgeInsets.all(24), + padding: const EdgeInsets.all(24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -49,21 +49,21 @@ class ResultsView extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( - padding: EdgeInsets.all(24), + padding: const EdgeInsets.all(24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( typeResult.type, - style: TextStyle( + style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 24, color: ColorPalette.white), ), - SizedBox( + const SizedBox( height: 16, ), - Text( + const Text( 'Total Score :', style: TextStyle( fontWeight: FontWeight.bold, @@ -72,7 +72,7 @@ class ResultsView extends StatelessWidget { ), Text( totalScore, - style: TextStyle( + style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 28, color: ColorPalette.white), @@ -84,29 +84,30 @@ class ResultsView extends StatelessWidget { ), ), ), - SizedBox( + const SizedBox( height: 24, ), Text(typeResult.desc, - style: TextStyle(color: ColorPalette.slate500, fontSize: 16)), - SizedBox( + style: const TextStyle( + color: ColorPalette.slate500, fontSize: 16)), + const SizedBox( height: 24, ), - Text( + const Text( 'Suitable Product', style: TextStyle( color: ColorPalette.slate800, fontWeight: FontWeight.bold, fontSize: 16), ), - SizedBox( + const SizedBox( height: 16, ), Wrap( runSpacing: 16, children: typeResult.suitableProduct.map((e) { return Container( - padding: EdgeInsets.all(16), + padding: const EdgeInsets.all(16), decoration: BoxDecoration( borderRadius: BorderRadius.circular(6), border: Border.all(color: ColorPalette.slate200), @@ -114,7 +115,7 @@ class ResultsView extends StatelessWidget { child: Row( children: [ Container( - padding: EdgeInsets.all(8), + padding: const EdgeInsets.all(8), alignment: Alignment.center, decoration: BoxDecoration( shape: BoxShape.circle, @@ -122,13 +123,13 @@ class ResultsView extends StatelessWidget { child: Image.asset(e['icon'], width: SizeConfig.width * 0.07, color: typeResult.color)), - SizedBox( + const SizedBox( width: 12, ), Expanded( child: Text( e['desc'], - style: TextStyle( + style: const TextStyle( fontSize: 16, fontWeight: FontWeight.bold, color: ColorPalette.slate800), @@ -139,7 +140,7 @@ class ResultsView extends StatelessWidget { ); }).toList(), ), - SizedBox( + const SizedBox( height: 32, ), ButtonView( @@ -152,22 +153,21 @@ class ResultsView extends StatelessWidget { isOutlined: true, textSize: 16, heightWrapContent: true, - contentPadding: EdgeInsets.all(16), + contentPadding: const EdgeInsets.all(16), width: SizeConfig.width, ), - SizedBox( + const SizedBox( height: 16, ), ButtonView( name: 'Confirm', onPressed: () { - //TODO route ke terms condition - routePush(context, page: DialogSuccess()); + routePush(context, page: const TermsAndConditionView()); }, marginVertical: 0, textSize: 16, heightWrapContent: true, - contentPadding: EdgeInsets.all(16), + contentPadding: const EdgeInsets.all(16), width: SizeConfig.width, ) ], diff --git a/lib/features/auth/registration/view/submission_data/terms_and_condition/terms_and_condition_view.dart b/lib/features/auth/registration/view/submission_data/terms_and_condition/terms_and_condition_view.dart index 5d0e5d1..88524b6 100644 --- a/lib/features/auth/registration/view/submission_data/terms_and_condition/terms_and_condition_view.dart +++ b/lib/features/auth/registration/view/submission_data/terms_and_condition/terms_and_condition_view.dart @@ -1,7 +1,11 @@ import 'package:cims_apps/application/component/custom_app_bar/custom_app_bar.dart'; import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart'; +import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class TermsAndConditionView extends StatelessWidget { const TermsAndConditionView({super.key}); @@ -22,69 +26,78 @@ class TermsAndConditionView extends StatelessWidget { 'I am willing to provide my data and information from PT Gemilang Indonesia Manajemen Investasi to groups' ]; - return Scaffold( - appBar: CustomAppBar( - height: 70, - title: 'Terms And Condition' - ), - body: SingleChildScrollView( - padding: EdgeInsets.all(24), - child: Column( - children: [ - Text( - 'In relevance with the data that i have submitted and in relation to the purchase of Mutual Fund Products, I hereby declare that:', - style: TextStyle( - fontWeight: FontWeight.w600, - color: ColorPalette.slate800 + return ChangeNotifierProvider( + create: (context) => SubmissionDataViewModel(), + builder: (context, child) { + return Scaffold( + appBar: + const CustomAppBar(height: 70, title: 'Terms And Condition'), + body: SingleChildScrollView( + padding: const EdgeInsets.all(24), + child: Column( + children: [ + const Text( + 'In relevance with the data that i have submitted and in relation to the purchase of Mutual Fund Products, I hereby declare that:', + style: TextStyle( + fontWeight: FontWeight.w600, + color: ColorPalette.slate800), + ), + const SizedBox(height: 12), + ...listRules.asMap().entries.map((e) { + return Padding( + padding: EdgeInsets.only(top: e.key != 0 ? 12 : 0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('${e.key + 1}', + style: const TextStyle( + color: ColorPalette.slate500)), + const SizedBox(width: 12), + Expanded( + child: Text(e.value, + style: const TextStyle( + color: ColorPalette.slate500))) + ], + ), + ); + }) + ], ), ), - SizedBox(height: 12), - ...listRules.asMap().entries.map((e) { - return Padding( - padding: EdgeInsets.only(top: e.key != 0 ? 12 : 0), + bottomNavigationBar: Consumer( + builder: (context, provider, child) { + return Container( + height: 84, + padding: const EdgeInsets.symmetric(horizontal: 24), child: Row( - crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('${e.key + 1}', style: TextStyle(color: ColorPalette.slate500)), - SizedBox(width: 12), Expanded( - child: Text(e.value, style: TextStyle(color: ColorPalette.slate500)) - ) + child: ButtonView( + name: 'Decline', + onPressed: () { + Navigator.pop(context); + }, + marginVertical: 16, + backgroundColor: ColorPalette.white, + textColor: ColorPalette.primary, + isOutlined: true, + borderColor: ColorPalette.primary, + )), + const SizedBox(width: 16), + Expanded( + child: ButtonView( + name: 'Accept', + onPressed: () { + provider.nextSubmission(context); + routePush(context, + page: const SubmissionParent()); + }, + marginVertical: 16)) ], ), ); - }) - ], - ), - ), - bottomNavigationBar: Container( - height: 84, - padding: EdgeInsets.symmetric(horizontal: 24), - color: Colors.red, - child: Row( - children: [ - Expanded( - child: ButtonView( - name: 'Decline', - onPressed: () {}, - marginVertical: 16, - backgroundColor: ColorPalette.white, - textColor: ColorPalette.primary, - isOutlined: true, - borderColor: ColorPalette.primary, - ) - ), - SizedBox(width: 16), - Expanded( - child: ButtonView( - name: 'Accept', - onPressed: () {}, - marginVertical: 16 - ) - ) - ], - ), - ), - ); + }), + ); + }); } } -- 2.45.2 From 5cb76fca7f9c9b5b182ea4bad2ca2bcc175a2570 Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 18:03:36 +0700 Subject: [PATCH 6/6] feat: registration success page --- assets/images/img-finish.png | Bin 0 -> 107248 bytes lib/application/assets/path_assets.dart | 1 + .../view/registration_success_view.dart | 40 ++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 assets/images/img-finish.png create mode 100644 lib/features/auth/registration/view/registration_success_view.dart diff --git a/assets/images/img-finish.png b/assets/images/img-finish.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6da37958caa1542961b841c7dd92b7852fdc96 GIT binary patch literal 107248 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 BRx$V+f+PAN6;<>mQQW+{X-sfbL>c-u{ zT%gtA6275fx$NJJYLb|k{16erFgf?zGzE$$#AW6IZ z@Cz9;SPczZRE!HTat_K3AGFTozU-xRbe_Ewi;P1Yt8v}{$D}lU*wo-j4_aYrXS@zmIGo0;&g%#KwoA&Pvi82+mQ++bIDw<82$&RV> zzN;Zp@(C0PecW*Par*ddd3cGr&Y?FMCM?(5(%+pdctGxUtBV^i*J z1EUjE@AhqiG0eT9E5)Y`y zoXtbK^Om$UVK~{d^L3gbtV3`$Ix{eDj&y8<%ZTc4FU=bKyb$EF2| zwU1xosnD|6J@6@ziF!2XQMK)P)<3&febC7VU(z{vK~XBX%~P6nFYAQ3j%Z+OA|8}+ z>hp(7{yp&omM@f0GO$~1;#(15a@d?@;g&KW$u-~Mopy_gxDrtwr<>UNdem*T<1Qyc_$0@knv@oaswATw?Rk6i`y(`^iiOeUrXdcez(elh&0 zM(2q-iZ{&=Hb#~J4DW{%`Rk-7oUPNg5;yrAY@*D^sf^Ju%#_2uB6)QE&)I8&nQH9p z6C(e4HS&jMw(=2|+CI&g_ol9`4e-O=nAM=61f~<|f%ANK>q*H{b*;WZ0jE(8A6;ap ziu9B2Ob&MlIQp5|Aili`6JH&;YT1nbdBFd|INty@=eYz7)}TIgdPQK)lg{l|a$ENP zDKrFFjPZm2ouw-7w8K3dF;4#qQsAEYRO%y-@2Cq0S=P){@)hWeUe8&-S({b94>5qT zZ=ZB1{y`l7SCW|c+*uUOom z?AAa`uc_Owy)f@l_4b?C>NOP&4R(G0>l0!c_t%8LN;EX--28uzpm^lax2W{d^N!-y zp1bD@9^x=jW1Ywgvz3i!kZh-S-0_d=|JuIdeEWxq+sN9f9&|UU223;)tEOVSLnjir zSMZ*{Sf-XN4}!h#IbFRCySuU)6kuJyExS7KU5a`86(7#-V1CAt&3BVIx0ZO;TdYh| zKLMOHM=IZGd@MU)6J%U0$Sa{$87e5*|29$OFpu}p(n}RH#qWT5crE3%;p!M0#O9mNRDkDu3(H&yb zT4_NQ3oVPf%I|P<2d2BEdZAbCYHc4x`99VOo#G&lP49i^Jw|0cB`Nd_^DQVK#ulwl&{=)4K10+a zxc+uIZ3t7p^$U`e9p#RUNelXAd-Z@M=UG^~4QB`lkgGO6x~ z87lA4V?>RgrUx$R?Z)0{op0?yU3<|yV(RQCWBKqSg{l2JuK1tH(wB1{-1+7$Bqe-D z12d-cY%wP~qB?2&l|gM<@%F3f+u=X0QIVWY(=O{#Zuy7tH^-x*F6`n?*H$;)e*z z`N3#OA=a?@NXh|a3ug5+y?Bdk+{d6-{1;u?gRagbD-la6?CUTY-<+%8a1>xX5kGn( zWHh+8U%7u*s(mbS1W#7fEIF2aOd$%KZ(hk--A}g6%cUXzcI$$Ol3`cOiy;P8F_Cn} zZ}Oq>BlrZLZA`y+BRXBTe_sM2YG*}7eAy;QRZwKum$ud+mTc>BV)7dQvZg-6UE z{!}(Y!Xh%&c9wrG(T3*Gbu*qnols}8pJd*bcA-2?{@n$|40MBciMW4K{b80qExza` zSdOncKWsQT3;A<}a|zaIPf+#f-T@BgA3WYYI6Y zOE2TK{c}GQ9K)xBwHBw(B|`%}sko^OS!wWD-*y z_&hWx!2V>(`MNQk=k8&Qq?&yoB*k{}t>eLhyE9b()Xy#Jlp57#tsV=9)Qg@-%GH4j z2J(>S2c=)=k3mREblOAbn&lrU5wvl6l+CZO-wN!ONDp{~yo;2~o)fj;bz)yri8@h% z#9|4%CT3sA^j_K_6K0sn1c!hvAWRTJ)nV6e>`VuA!18b!8EQ2#nwM9De!5%2jXy3C zz@=i)c~8S5(Wf+ezCc@KEBA*-XSlBCHP)kpAlO-8IbwXVdz zX6Jx2v3KfNHGE?zMtRLtw}&*$g~@P~)WFP!o4zZK$>+;J={vT!MG_98Oe$lX3BYlQ z=RV65GnSP{n_Yc}17Ozq(i%3mxp-2ZEq+Dp5-?y5c2$#7WMJtAt9uyVQQia8w4VV3 zuYU#dq|NDfNV}i$=Gkk;8Kh$_{kpSjmpu%!ZRCQiG%8O3rne8sx)VWI@pIgvCe3C= zZRtyPF|ZGNEsPO7eFw80{(>~$UU(kG#`;;}6cr_^DmRu4>mpQ2=eTcZ#Fjh-^R_vf zV9+J)+Jz~HyA5Y31=XNTn?IH^LS{C$5gu%i09cRSl+W2AU0`nmK)`p=NgYHUxXPeg zm|0ME)t`qek%}?%%E0ED(t)Y7muNDBy?a%8*!(S#^VP!$;p^>#MIFCp@dXEQZJTB-j>`m3jN#`)!wbXOVmP+X^^Tu6~0Jj++V< z-yx`?!*?)K-HK%OHT5(D%fh~$y{d7Y90eG&lU>+#DfKH3oiQ&sw*B$!dyBZ^Ww`Vb z@?-N32s^cm_p{_6B7cfgeE15nY?8zSw(NXt8f!ZzMiSHB_X3AZLR) zBl9f&%Uc8fd1$He_99f7jEq5al8l;t8uOWgU}x^d@Fn}s0!fnIkU<+jWgxnH6Gr46 zs<0Huj6K|*(&|^(e}?UN7xQdjmM}lXT9bLs|72;XX`?F!O$N#HPiUI*j;c=ggrCK5 z&o73TZSLz;J=vvbS&BO25njCLfCXUqn!%xT@F8r3t!!l*{wFB!8VZ*+MjW(@j!WFI zvu~{tIV{_&QQfF&#MS*MR6IgtpaxuIdyqCZ9t}`~pcI?AO?)4k$E~{WXId}r?m3n< zi4(-fz3KhJ&UzSwQ7)b7e*v5veghV>3H!#99U??r+}oDXm-PmQW5tCh_VfVC;pv(wOm7~g$*?5 z>y4o6WxPf}8P+EimBYKgZ?LM(W;nyJIv(0>-J=oJ*vc{GOVb^TSNS0Dg1b!Lc#27< z|J~dx*72)h!e^+|03%o7zoHS#N{3~gv`i3ysEIdz zunDJ>D=I~!9;1WMB|C2sywxvAv0tNQIL{!AUd}6vV%|q|4uoV@(;HqW0V1m*>-Qjn z1SbQlJ(Jo4n#nvHIc()M1U+)tPeR$~)*{3~<)iAaGauawAdrI3JW0e1{{g#PYWKF_ z1$|{)eBzVf*@f>e!8$jaG1#tL+uJBn+GWxMMHy5_G`Di6?AG{JHpHjZ?6S2%BVvah zr}yR&?6$Su`5@Qn7;C3#B;1zYvd~I--zwuc?naO`Cjt3w!=r;fgVRkf%Uk)b)Sdo&zMviBKZ1w7eM~5wSuUz0N8eQsFAgy`tzG*Rd;-`x` zUILTe>#HmMjlq7{B~0SNggUER1?j}s#?YZ@ydu7aGd7+N5{!*w!)^G_Sv0zs9xQB! zaZ^0ids7K#X$UWrE^4E8863USu5DiXD&ga zDFp;)JL~^ub%rf$h0vFlpNi{$!LOLvd*lFoC^Y+h6}ZzHY~XV%e~+Rpt%pJ0tL!P@ z;=h-5r`$kTaG4QZVCE)^XMjJ4B3^wI3+(3%#hcTq%-Nb)WN^}!m+XS|*nBxD!>5z(q5hu>Kja9Tz_1;TnlW8}rHC6HmBl`rPJKqVbWq z@{AWIGJ=RB>mB-0MtQ$dfxh5YJtMpN^c}uYGU9^C2_4omtzq-1XGCydFFw(F$}Gc~ zbb3*FzGDUw{DMC!q`zf|30$>2bH_yA<%(e)E^yz-4tuZm_b9cIkJzBFMy!mx04#yE zH8Z>_O&xkX)q}pEO4^8UCR*L}JN-fab?AruqTZzDiP!us1nMVs@hTXCSmXSfvWq=b zxWun&>^&{N-0H@C=O>Tn7ms2ZXU$)zbZ)ip|3(L)JWNB2?OK+r5p~*;yeAurn62r` zkWa{DqbJLlf*=*1+yGMAH`aM5A|R-sjL3DV{DO-G;_Y`XmVQ@<8haygxZe?RVwT7^e;mdw zGWjR3wWz0L^5fMmkMsH`TzNhRv0um+*%=rKVs9LU1$KO`O5KED=Wk(A)dL3yyXN<> zVOI?F7vh1ImE_e>?eOX3r&+CP4G$DP#mI0ZV%c+ z#_GtZCTD*)l9O8O)h)nkmjWgq3+&NRLV+rLPiHDzWZch%mvwuQUCWFm6we(Ok-9kA zG~C|IRQMBwdqsw?w=tji#jH8|i{r`QJA%JTgPR;`yTT&;?OaF4oLkL3{c0L!sCXSK ze$mG#>FaBrS-uCZzv)oJbk==y90HJ5=(JWj{dVX^&e$Z1Uthvy_u@{LgtG5_b6C@Q z$P0dqVX;9Y|IN#l_a5zEX4{JAozVwDmPO_AZh0`Pa@{$x=(@;t9zyscMs>7a}rIb439 zLyM65S63mdOAaKKyb}xN#=<)3GmJsn!qe%{DnE_E7%SAPF>d`p6;`251j(Vxhz6f` zf#s-MyXDgQ#TBRUCoKaX!QYOcgjka1o|d7`stodPNr~G+1y6{)C`GEvFG;Q^fo~aR zJdwT62R*`?iGskwDs_7f8V8lccDcGWXvYr&wJz{^a)@9A9YE5-6Y>f508<2@M5l*KGx-Li~lcx5;T%_0% zZ8=vZu;5kkuyod%_B_ zP_ZIuJT+YE4PXhMV`Qo}-ukRRXNEGgscrzKdF6RcSSof=A9CNi;dIgp&I0FNsM2>F zSddGqV-`|A4ZpEM^nVY0RB~qCip1zA*ax9GzrttzIWOiQKkl0B^UqFPs4U|bfS__G zW<8&p?p`}rWeXHGDYrexvH9PgkfSLFZbpW$=lD z;g=h^-vs1URZUhDX<;^g$>YqXTeZM6VtXZO#GMXgBLl-0!>{PrMg^*WP`^QgHxYVw zVZf7PBU!kDdT<#lKE9vGl6@Yi)q=K)=A!3V1Zf`89i^BEU-h1In5pngE!1CVLA+(q zwPHEW;0iL@4>&5`REaNGL4xuw217y-w>s3}9xq%|Pdpv2k6auuEyiq3+)$#!@!F=< zF48DIEVJk%MInFQa~u@=-u997oCXaTov26g6z4u+h{UUSYDdbDA3eTk*~okx&|mrN z-Hhebohu5>7L2jlbKgsy=jnT z)~e*ug%{HigRsEu_l@(M$`FCQ6_Z~|w2B`%Ayno$NSs=^S(!_Idn#}Z0O}nc? z+}p;?9N)@+eUnBBMd`#fx!3c8(VaoGY!^x_=_C!fxm-56L)WS#Wth{$n8k-epyi3A z-~55<1o(HD{tA8iYo%L1E2p4SlsF1AA0<5*`Bp51u)O^P#Z1Du40%o?RbhcT?RWfGeJ*z({u zUrW2|q1@JZOIE>ElCQ7dK*pHwEo75P#GikqbTLku`t79rR~g8IFZLivem}u*l+v5d z&yn08%tI-{uHI=Y7nFR$``9dO#DmY-SoM`4VT`e5x9xNf4tL|NZ$RBg6_dR$=MVU2 zM{+`-qRHufARK`b}pW&hq&{>dH;zA;3#ub2oe)BaB<`a^ zFLXV~TufwR3WKTIdN1|8p9z06wkR{R!B1so@cRg9tuzLaqD zwi_#G*%@=B#I0c>^M};Ny{oAD>Ah;vsPZ-)7BX9E27SHBbp2%qa}QFr-X=YfKcrqR zf4*?7u}GZmbKmUtT1WKe6+$$Vg$z>vBDGZjvby6Ka~Af89kZXcO#cogo=g(!;wUF* zS2U5u8Xe)|YN>!DMcRc0v>^KtKRr=kbZ6SU&HXyzX&CO6>%eoy+W^wk-bE7ssN4@4 z`9(@ZHXY@H5)aCMf zJEB3DO0Yt-ZhOV6a_|Y^eENWV>r7zYthlep68g-E^m6a8Rspiw=Td3D=i&1NX>{=( zr~&Of38EAb_hkiM&+xM{sF=9}Dl}TF1+2`dos5DvU^LjF)hAZ0qYJmTK>J+^zRxA%lJhnAKM;+1(SUP;*a)T){uhzDG_U~ z8&)|smK^FGcR#<>?gZfW4@)5e$uzqp`nfwXML~B71bOw{ZrC{6hnNcxyXf2 zQfD}@?gB+4pmw6?dREN0o6*6xkmE4_{7KG3{>+oPth%OR);$a_*5|qm6^w((!xc&j z5=Dq#xvP?P?>Gk2_93*XBhAg@jmG(~6itxAc%Y$kwf9x6uW1T7CAe`*H^6J>uOcnu zXWD;vL7VN#DHyA2cD?ub(sF#Vk>q?+K9Kxb=VedaxY(qZ{D`RDPY}~9GT1gaBspjD zP=l>b;*JnGA90s6NX-N{&l@B_KwG;XU|pTFPKmQ>%f zuzp70s^a6ezkx+wH)c1OZ(1W2Rm{B8?mqE&@JVgB+Jm3NRZa%M)pVxK@8%1x7Qa%J zfT;5RI~K~=1KW+KYI#S~jGI4PA49N{`5ihLuaM@kj#lOJfxN12_b2EdZW%1|O^@+4 zMbF~s&@tzwRKy9tZ(9&XAKtlArZd*CR|>y#8L^l8fN3ETi;s|;?#$!Ncxp)>G3k}t}6Q7 z#II!Bs88rFJ2{EbISK^__uKzv27YdnF??E3zXYGnAr2S=l0F zOGY^M$~rPDa?Eg$y*J5r>^-yRF^+W{$N%yD{eCb0FM6Bj^EuCRKi7TT*L8g^K9lYo z+$UajIk%eo@YGY*0DB4KBkjJyXq!_DlZLkSpC5;U?h9a!(;T_N84huF)=DU~9-8Os zUn`eE+x(qc$~av1KgqW8kBv7v@oa~UfcK**`aC$FGf2cTel7be!N&mAZeEMui?1OV zGvRTt-|_2+&z&xpK6QIsuy8o@>&*EEjz6%G%t9{E96ZEdFKu&`+=z}LGuzlbXzy)r zcj}GVE9SrK=l3Rm{zM>6MImhSQmQCZEi@`o(Mg?^-{|KBCEWSyKM-eub8`s`Br?~_ zQ>pz=S{wG@r3Ke4r++}*0Eie2W-_fPGpB221y`J{deZcaMS3Q^&IAxBsG<}Ryx!5V zgLhl}7lP#v!#paV?;jnfd5wFA+?cmtihrqJqR7lDXrgJ}jyst8xtELHbzfim8Qv_o zbHgz)*HC^!%i1g3oBsmIKwmNS z*sV^yP;$vVcm_~Q{IgGwvu7?iXHVa3{L}4N7@Ra1ZD-NCAL;DSdf96a2r{W)7r=N> zRaD+J(O-fjXwGiO354hF&+e1Pac zP5#_74Dz@~+9-)Le}A?noqwLBwHfs(tPPtsAIagFCw>SCQl0qTdg5h4Vz2e#U?BL5e5TjZv%{}| zuF3lJRZHo!kU#|HCxTG%ewG6A;wnS(Opuv#R=jyM>P?=Km63(5$4eQxUsG z=IG$k%h}^Jmkx3;kRB_YgRkPi}?Y@cjTwIQ>|A+ zNtWx~nH4(OgKrOy34LL7131(L0F+BWt2a>eU2Q!JdfvqyBbI&N~X?r#IjK97Ku*-T2b>wdy;wy^Y3QUhplt zZr8nBE&X>k@oW%T%-_>A zpWc~Nm3ZLQ>>WaS^$Q{S?9CD31h|~66SF<^1xwpvh$D&|(Nbe6exPiOzM_ra>h+uB ztOY8ITJv$sZte=s&wjnRRWpD&j)-=hP!l#lnSB$cKTQ?-d;_8C*#P)uFgv~0Lv#^M zrtykX4=YriB?bpVL4`WZQ^Ml+5D;d)~U!YIb~fqc|c^BjBN6`JD9R_ zTBZK?tmgmotUq+c3{@D^*tNqIfQgAl+2tj1$`Hf+v=cirQf)Ju-QMGpv0R9%{c4lTs(904+EbF>~1V6X(y;fg%l~P z{?0UxvE*2UjypBm{?V*GKsz~qO#sKei|G2W(bZ^rvq9jR(|2Y~OPs&k!64)uDtRmg z|7h65;C|XKvW8hAacmOX_`657qYFz2FdIMxLE0X1Pkz>^fIqA!ZrucGGvx{<)|T1t z5i{F6^@O;1G4Yn0M9s17riBds#A@oHG0U%R@bkd~7iy?d9x{>H<)%J(Ax1z(?7Ai- zi6yLl(%=AaY;?z(>(t#CP=^qsKi>#Z6g%C_Q~?z!Gf>iV>t_%V`;O$9X1Zkw{UD*8 zfpZDUCg|YdOO)1<$7luZto%G$zRt#wYyR*!fe`XLDvC^0O0@Xs8clS%>H{T+T?$);X4{>&+F7r@d&1#|)=z9d)oA>akD9wT zAWdj9byS@^(Yt(VoRpL#w{gxoC?GqqgIIl=Dbhi^11n0XHCoO+ea(C-0esE^;b z=g}+?71Ca(6L$-{PP}X3(uBM)6cgve08t>fk*d)Ink3_;j5 zmubpf1L!pCoz*$KY@cB#cRPbYV$89d*Ow~($t;IC(2+fSK2%Ud^!t|J$5;XU=Icq7 z&Z~=)pH+)&Iw!?~TUSG8xP{#k9zD+CmoEV*$=18(P&&{L!msG2Y1rQCM86+Zr zZ*D*8e5$>VRCglqD@>A|3;^f(kvu(6R<7RDMw)(X)!&>fRSl181vN$NFa5tPidT70 zUKQP53|lCbY|tC3VZ*`@8$oWyDYic4Z=x5k?(RIyBMrkI8i-Qsj}4*Xb>i+&PDE3V zo!L~{j(I|ocQ5-c+8ls-ri(q~yj(>>!To8C4$vZ8wVfZQ z6`XTTAEB7zG-YTdd4k}(I9FI!cqYuji;sDbzK35_w3PMUz{R~bPwlzn+ns{>iZW~! zt1fK=71xuOsNz*Y#%ll@x^?-TA@#0G{`C!*mci+_xRhmwCpW!0en-Iuf6PWTi~nGR z@gG;Js=lc>TK}HNcCM0lFlzPvrb?>H!{u#=p{+|HSU0e}z~Scr?n&=8(+#Cr@7p|2v>g#Q ztJ!#3;`AQlcG5Z2Ay_$Y0uk5>(uglij z+ymqA*VnC!Q9c}_*sc9Cuo5mQ--dBSc}WI(ztoWKQq_kJHd&!W>4vi+d}CbQ(9l>}flHYGu zM9NI;A%5WG?qEro&Lt*w7s_VR062NBjphxXQ?;xY73=pC6Lh-G?OG5Iwd4oFo z?Ud;}1hrT8{8aeL`r?(tD9M*F+>RS^6Gejsb3!|s%I?u*0xXv#WRLV4N>37<-d2a; zG^;XN$zoCQM&3tRTb^K=nHM`$;UND9D_dH7sXD$T|c-F?$A8Nbb;1>J&ljEYelSgztRGyDkrUE-vn)O zmuf7O)Td%NU;12s>?u((gJC#~PaM^pUA>TY`$V##>AB8%{hQ_j0VJl_TH86Aql6rM z2fpa@-&9$pJgJP+3W?OGbPAst3M3W2Ie1?y^k+rwUQ2C2^XA!8|H8Q|q|L#G%Ur~2 z*z26uP!aar+-`OnMpKj;doV{Z_g{nD+~h{uO5256_2}z9Cq-I6nU57Sk94%ch7gPx3Ht1TVWR+7f^QvG*8uCCM!F``DX zD>Tf~8)Uw#wbb0YJT0316;^hyM&@IUW0}lTTvc}K`aRt*NYww8IAKEP*lP=vxzbm5 zqV3m@0LnQ0>g?8ZcRfP*O_AJ@az@jsVsk?^yS%WK9jg(aOiAoV65+q`@@?20f$?5f z5o~*9G*ysqy(ZNqm(I-fWK4mXU;b>)(4|S~keWMFiP2Bp(ZRb#TAzVB^cV9CO7kHw zUL|Cga6O@jc(|8a)2y`KBuqEUt{_(AkUTA>3Hy(i)q_f8OY#LL*V4sELp!!i zZLl_e&HDvMv^!-%qJBXCqw__<#fPro@QAz(EBzPehOoM+mmb^IkqrDNlvc?X1yk)Z z?F*<9|I>k3X$>=tt=p`eUDf0s{6&(uHt?C8_z$0i)eM{LUjWU$W~)?rIxW-7(!jP- zPu=}YJ!tVuMGZ|wQ#$Lhuz>k4w1@;+{3qeG?U#sbL@Pe$47iJx6MDo*J!Y69owm=T7i6Aaz6P_PkU7?beGN|JsKyd z#vZfytY+r$RA@`7!wxg?YGuFsK^x-mH_X^kcHBPpmt=HD2UV47gNE7QMg_%$+kZ98 z+M7*i%z1%Y6c@|Z3pp)vo3Wf;*{W%kFPZpnVfE)*-8)f=x53@Zr@=8OvMp^3AJ5XD zAV8x>HN#>0NFTa2sJ!mo81`<_1=YJz%=Zx3JsEf=`{U+vH!A*Q&|&LVjA5>oVBft@ z+6M9$05p-$_sP)eG-NO^v*Zvm=NN7y_3zCGNciKRaF{j!6?A)yW)pbxf zRHu_Eoy-ERnr8-!OaL8iNWosJ?RQrS!y`>AAcp9n9VdlwWk~61hsfKc;X%qDu{*d^ z-P$c$X* z{bbs`a)WV*O?_JT7DThLFFLXk5`kT%9O@ZfID$pc?ir3>FxaT(W&|$0A9SoRug{ob zuzo&=>Jv)3zT4L_kk|(1ToSEc*9-gFl_aCek7_&_RF%L6PxI$XPZ1x}Y`7Na4b`EC z#k2QzhQzJ{o__Fbmye~wyFXLCt1aXm@xf35cW!3Q$Q~bRI7-micFMkSlb_N8E-W7!r|d@rMm_pRMv%ZErNfVpusHBj3CtKDjUX z%W+z&YMBF=a-8}8{Mqw9nah0vl!ysW65sfW>rix1Y#cAKp-C!cAE%poxJ!7i#|yBC zV$2^m3i`Z@hObpCU7Ztt45_0#>n^1D?s$c$%2D7lmX>|Chmz zX>&K;_KV6Uqi+oK-l@*ll_kF}2|fhMZbRNMz7bF@bH2KX{&qpTYYldtJqgUrul}oX z+)oN2L?`fT6Pq!oi?66MQv_o?=6t1<@j2B};5```u~%OiM&D(QEg3uTdy3rl)%6Nn zOk%vEcPG*(%pjCeh>PQ}2;rl1ygUVFBjZ%%Or2HvYbhJ2>EjwiMqPpsVCi3HPw(L$ zySlwhVcN=~`cVz71V6{sC-8RxDAg0JdmVydeh8s&l4Ci%+WE-Asm8EF-nLA-<}2uT z@N#BmP@c%a8=WS~RYZ5f^IqrUB-1_+%%}zPNdRet!vyG91pfX@a62WLHZ(Vn5?2N{ z1jc-gAou=kZsGM-xTBM^AeU}3vSKt;={4rwxtIf$4=uPe*r_>t6rH@2q4C{{66F$# zA-;JnFB5KFVF63XMU(M9>xlhGcPIm}e~OUzKkcb3xt=AF@klHD3>zeE(c!|>!zb0j zmnz+)kM>jzeylyaGf3szWYQl)T%EL4>GFo?dZfb1o_8Bkh&fpo59Uh&zrp84gPh{9 zD+anY9n_F2qVmh~Q~1P}G9iPmg_5!{;-#K!M=!Lu1+A7#idgB>kVLXQQ!BFbA>J!d zgZNKj1}7@6dCOzYkqOSL&FWpy9$Pz}3frQ04Qb=LirSw7W3U$iIGxY=OSo=i0Ipt+ zb5hb=3wS2O58HqF?RoZiy5w*ZFJa4@>tBSIMdK)ZCDYyn-(dXYaA)$3$ZIi~ul$hm z-GTF`d8XoCd^3BRCZfvN+vTvb;}zAAT@bbLZ_t=iO-A-N=0s1g8&HS0$s!!8s#&oU zgqu?nd((i_xMCT@fI~wgv6B3Hd08l+@W1K;59a#-20?N50(6)|+Rdpk`ckeIwc`bt zNdbKaSRUW$gP}Boo+6dT$_z)X%N6}XrFISYQ_m+)PaO74=@qGDh$H!$Jvle*-W_E}S>lL|!8zLW$ zI*7~DT=ch?e>t+6RIeB8q^#ge-l4K!&zbo`Q9yKu{$tgS7KdMFK}His8CpRmP=u-b zR9)?@4OW|u2f->ZkC+D?+M7zX_UXT~` z()6`h&7)6QSq{+o5g`@uagt)oXVF{VsRAr45cyvuq$X@%91~Z@4m_^gtlmCqTuNTU zgyTEwDH$r`A zK^RWkHYT5FsxW-BgLsP{bmZ?Ow~ri7ptmS*mIGU#Ac@-@lSbMUe# z?X5~+pRIJ{+?oF6knSrWwX3ZDha7VUh*1d1KnOlY#W%$Go}{Vx+ckv}F&{%fO>zZGMe-)7B)AaE4wbC~>=kZ5 z6+{Xtf3NX89|eY_I!g=XCEOmt`l$q8rQsX>_;{{Cu8v#A~`yVhqj6=}ved+T&!FiUpENox@DD zepf?hmYD+}Og){m5BBl#q^YzC$)B%&?t%}{?gsYV!lXL8gkE`Kv>EWPxI#a2dbkRv(k;yzmNQPfcZrVA`DqYn^MxYgIT*2nJ+U17x4Jg}+eWNn>@NC^n;fo>h zsu?!)?lJk@aK3_fl{=-BV-iHWPnol~ef$6_p41@6#YCq(%7)AgXvQuuZ&}CP9?+v? z&ldLoStIqA{XvN-@_2s6d%;A$WVW7&LE>-PAkNt9u+6?e-qLtp7N@nG@N!4Rj4Zts81a&V40K<=(Cti9Z(ucLz@p zjsjhp{_LB{7#+l9i z!bqRq@jY3hHqA0<}OL}eH7egb8e>Z`DtH9w}%IaC$OV? z3{{mN4lxJmGLyZX-!ib^f|&9O>*7k~%Zym?YV({)jhsRxhJUpBAB1lBXV<<}`8!DX zTG#19{?ZQwB=67Ylq%J}u4ja8=pRGvqrIhLo$$FzI4P`io1~oZs$Xa(+oF>V$k>Vp z|5{@9XQ%Ws|{8ik`!w{8d59r-) zP@X^Y45>k6C;#CGWXNmTI@VtByhRVA_mAs7RDL|~a}5dS(__-D0*dGV2JA@j9YK-= z9TF{r<4@{9->5npMSpGh+UlhqEgVpd1#>n^ogA223M)&B2BTib9fjV$K|cre`X9v! zHaX32=a3T@(llS0UsmM)8cQ;v>&aLt9%y?l>vw71T0QFe_Tl}-Tuaf#+*I|4qn*z2 zb>*r@!2x^}sqOAAnWrg>V597ZIosi_Yb+(L^2LsdmEi7;basz2V zrQt}>veni8RqeBiMWuD-p+|dEWLxdZ)8)XNcD>P7|6H?(q=af#+dm%aj2!15%)`Jd zv#PD!eB6S-7OEtGk!y1Eq~Obb?!80_dm|wzK9L7jA-?I!e0y(BaUG#Y0;FIq&LcRg$K}VXRBZo2XSvjNH!_Yz z)pU0FAW}5&k}94QrS%hZNR^~V{n+yrCmU%OKwn5RES@22ljjowPqjI@dcCbP5R40`57>EKN4S5{pLj3@p7$}sdJ7m z@4Hk}1mx&>sqU#a$;DV^oJ;F({@}}FhO`bi7#7&+Q=4LkQ=YagFdbAGfq{Y=18|Z* z%rLK&JLcpm=dppw?}dVm;+yXR%G+pLKrAej?538vE8%Zq%VV=@n}F9GYEMeGU1yH( zk8yFEE}rXG&V61WK9=;zTem9in=9q-Q!PQb%iIbxoP<7ZbR5ebr;st`+fI}+z z!@zCfYCB;$zpA+-P5s}Y(D+_VR--Vn&x}I1f0fkxUV*fYu{Q&foAo`R9t7RRE+CFO7V9= zJrHpFl^q=C;3udtC>})C+GJm6?9IYkju$HD1b$iL{>=a_G&pD}s&tSfj=dcBhXuLc zqX>*~*U(9%i+f4T_G5nbj*tU8e0^R84tiE3=IckS^cYwKmorSM+1JQ9)$@whF0*RC zHE{G=5K)}<1GeiO&d1Q#$yu%Ip4i^II<)`^6Z+hx$G9JF4JUy9MkF~F$(xu$3PbE`JgQ^ATmO)!LJu?S>y?wih~&0G*!AQqHNK_-sO!WPP!PV8C4cCDb{VJwg*lHl~0#-xhnpZn`_&L?oj_FSuhisG;&9Y|c4v z+CxB7*(#)yuWE%u0mOCvR>R}*qcbj!K5R;k_^_WAA zkn*<+=K^q;9eCxE9*>lA;V*rw)x1I6S4e%hEC#%rW9qut3o74SVzbga*{Dwi59NTh zMJXYH&3hxw_Uh8|V$(2e`J<#D9cQq0^5Q$eR~ZnEhIDr5`h+i1mhe&~p+aBhLKOLH zlO_{+to-vqrPX?4L?p1Dw@ zp+LV4Si8RwU^1mv2*3O>)Y${^=rc2v;b$U0>yEGe3+FZ5r#?45S5zfXFhptIl1hJ? z4zme?>kZ7Av%lq#KO- zAKpL4SNp{zl6Etb5gZxb31@X$EiFFiMk|8Um-KlRw1PJ9;u?#n+pn^Z8n#AsrbK%9n#jDIqmI zD^NkV=G%)rXlMO*2A{+tkG#C^r&lS(Y1xE_bp)4EO)UfnglC!+*gdcQ*T(*Pos;-4 zvVJ)*(C>Fg?N_&n_`9tJ91-AlrlAQ*R7EXXx0v?Dk(9l#+9omj%alyA3?CLNCpaBq zI`Z9;@>D%*Ha~jx`TY3hR=SkIBGjP)D&!mT*bgVtCgUHm&6k`13Ku;D@9-Sy+nkK7 zH}G@HxZZIpOlNmEaW)65xO;RaH+{6?K z{*rgLcwUoH+Fw&qM-MwMo$&o`@l^?o>4W(wuNPw(L@R8EPzX*Zm%kL6k{{0Nfrc4s2&0qvzab$XLQ!XPsC-Nv zKAP$Pg(R%ssaJ4rHgLWw3s!~wlFx4EJY8B%m65yl=W9X#XI z#;K8ca0q)1K5ucO$7J~#contRfNcMJ=D0@2xSy6RP za?%Ye{}x+pn?JwZOu8{wx(4`CEow7m$$0^Dijrc_Iu5;xaN|h-BXwVZ)#fw1FridF z%uOR%sG@Tly#&da3CwuH?0WF`sM)T;3GrK(gps3}SMJ1CQIM&_`-LTdF}`Q@28}z9 zjxj!0%LT?kzB_fwSG&x`7lg3fFFt}MGHkLYi#2SWr@o^HUoHs^i9?5yF9+B!=n$(5Smyx<2$N;t)-t1 z<2^1SqwoA_uwjNbI53^>6p_dNwfdU2Z}UVM$kVe;2WE)AxB8sbonLY#AW4K`@x7hM znuR7E$hK(Dzw_ke%IwwSH)B)+FQ$2FyvsdXHDO>Nv`v|8^H?E*wq!fz^85>i7pxta z#--R0oxWB5Who{@LEitjectR%-rT6-i6d3d6!MJV=n@0Z{q$S&zK)^4Kj}R1`AC|$ z1CD@=jA9xh;v?s|Pj>I?3WpC=uM`H?RKNWN{n?BAKL3u$7jjJeRChX2{ala>{!!~$ zz-NvYPHNmsz+%e@iKV*{vvEoBCG%Z?YVOHBe#eAmWb|dhYM|^_s`MKqoeM()a`%fZ z2FBte-hG9%ul+n>eo&+n{tq-RDk={p#@eHMt(R9|!bq|Tiy&29^x7wTo(uTyq-!heIYnM}oBL)AtG6YxN!X3qWbFs( zym8xUlwQ~R4P5t%*a8;$XFB^!=w}uglu*5EE4YwHvGb)ACMxi1`WAeAp_yxMy|o$A z|K56<(4AJx(R0czOp%(dSrWU*JnN#S?eE-lv*0~nTIBlNgE>9rPs>v!z;kk}SY7q% z|DGZ!%DFuP$ItwEwgLNNdj1vC(p=w1OY5S@zaPXtde+(!nNc`uafG|y*yvR-Q&h;n zXi2oOt>9DT(%Y))Hg0D$M>6^`TWzp=$yHGMUm)fOe(%3)0mdROul&~=$lncxFw$Ke zGw7m;F_M9DPay0x6zu|EPcfX?l{6zp?!AP+Ua-qUbShuiAJ;}1RU&6t~5|Aa|UqOfyI}@^uX;f;z_A>0|p2;$Ct*ASAodI2x zW|8+k^Hv&!wk%+(U2v;ag@{?mn~fW1OFK{87A;1%e;P|KNShHJ-Nir3m{ES*SXXpv zEmr1n#@gm3{-?T0?oFVv>9hU#U*C{H#Y6}XPr<_5atV;*FQoocu&XbC8-OZYxT{=; zg+1my!5nW0YZtrNjrc>fihH&e`A-}GBy3;!JKB6ly76&e!Ic)@9i(q|xUc-?y0 zf)%b#UOToRgrCB^KQykNu9p~Pwpj~zsoKpPf!X3{DNS1W+kTA%_J0Hy{_8e7<1T4X z`uMeR2e8X`ik@(YcMh`T7EKM^NdqQfOx7%liC51$9to^OxmBK)fe z#)HVT!!)Er4S%{)JhmE{rf`|rFELPX8&~rMnHvGVEDb5_sR7aRiEZg~+y*GklSS!G z>E%Bjn-Lyz{SOwwOZew+F+SG&J3d6CP|LwP6*@;DV5mc;T(!&5Bfs?{` zVn_8T)j~DSyq5a&fALS8W+fRq7Y~=y?E^JqJRREGw~|q9&%+G6p#0qUz1O~1O-CJ_ zX`&P6WmNTiYilP`TXpUIr+Y}JgE4nw)NXxJkhjNZs!*hk+*Wcbcajfow# zjhrz)(_ZPTlB13847`TPkAf!(*HpLJIMqZ5FS_ej_paRMQKQ!)K+>x2V z<+9m`*n+4rUhlq$MV5-lc#dF<#jD@9ddThBooszY97~|2I^+rMUj*Jmr{ewoCPvz~ zBEc*s|8X%GT#~+Lch_1B?BvVIHAE?2aJG3BS19Ihv~oH4?lX4L4)r~IFiIqgT`F~2 ziz+2Q{=#>crS}Ke1!O2Q%B7-aXIzhE8lG8t&65er+@r_Djq|326oL}JPpKASCN8~7#LSIy1l`D|-?zYg zcZyA=3OSldS`UMuO)dN_ENzInM-3E^v&yD87V>F|y9=GLcNTeoR1RI=(^vK^Wu_|f z{(U+BS$2Tuu*LdR&F!2NINNO^vLVFM!} z#t4K_kycZ*^p^hZ?OE;_`$9mEOWOa(MW<|(_}vS}7k3#*bG{_wSyU}`E1X@Vd5nDe ze$~>m?~sS>)Y`-51uc zdGYH--V(J*CSwUBy^}m+5Cj?PCg?N!wy_uiyyDlC70qfe=_bu0bHL?8E=7{YCSI1= zb~h4xfh4uZE;*rBlg``x=N}1Z1<1syu?45*;8=; zWZYS=zAolM!Uh-Uf2Uv4nkEJwY4FvjK8~7C#H1TnoD2yCdBNVuX?YY(^v@Y)Ok9L8 zI4aB3oq5p_4KpM9_3HSQAGB%$eL zmO;&P?S6hAb^D*wBzN1{VM10$Fv&AMTH4Q8?O+EYHs=68*Oo&R#IhPu^;x@M9-Vnd+6S=fuUP z-7?t0S98$QTHP!}MRhX0DtHnQaPmZJ=Op3;tIM?UP{mAm#K3E^wxBhu8Ct9?LNjG>m;Cf8Cn@AD%hI^VTRYpJhJ56FHXECOV&XX=y)<>;x5vbR zKS(Mws_|f|;&Y2hB@_J(S#OfD>WZ3zP4nLv>Scf`yt$jk zpTMfa#ex?@^-HtW^fiBenZjwU9F-SY^CkaChOet#eFFwS0!^c;2hqiHGg~ZT-NV7i@Vg*sC=lMA@i>`p>K$ng zfLVa4-x$H*01?rvb(r`gYjXw4>Af-(Q)ktCRLnYc*<=Idz-oYtx$^re=}!}nDx3f* zu5Ee-|Ee4!hB#-TmTl08qkks1nEUKI<*|$4;cO(bXP6Ed3VjYF%LTe1k)(9=r<{SY zXz;|e7nQRS^u#;w-QQGJ-J^Ke=bu!eN6COA3lfir3w9(tVz>V^3wNTx4`L})zc&=z z^<*sD+im+8s(Yo9SMv=A>lJ*~_}F(^;LvT#R+hMO^T$paruh}C&(^mdG>{}L-B{3| z#&V%L184)UP8{mnWbhh94Xf|$Al#q)1KatpZpZ&QZ#B6o2ZUaoU9>EGp<`=jB(y|O zIenfy`DWnNLzl@zGk&@=&mE@l;ilS8X}(iTd4c%6Z|ANPHH@9iSw+QU2}1gr)imZ-T(*=j^ z9KQQp#<&id+x6-wGv>SPlE4bc6ChviCMVVDiD-RoNsX>{nz;uu(KB(cj7|TTDn8Cp z$@|%xU8r*`6GSW6f;manbD4A$Icli^3L=9)UqXrgVne5xj)dxsZ;&MspPyI9eOADB z#8)*pH<{Kx!v*CklW{-yFZr?c0AtE=XKiuXRk{N&1!j5m$}$C9ag6YDcE6L|@XlMJ z*1OKcB6MQK4l1S0j%y*NtLN%J7L8g{J3WHs0ixDG-pafMbYvh@__DXK&(tos>I3=F zePXKum;1OrTzw3eT;hK`nk=rZ#JI*!^Vstw)B1jqhH&hw5=i0tk)K2m(OpiFqJOrM zyt3Eq(C(9xN=}`vI)&!{P5=>-`h4YVK4%2SlOMKRXK&rRZ6x%Cbni;#dRF^SQs3-P zDue7oJ%Mh1*ZVxDRrg_8zz=XX9yXaW~xaaZ@7c@v2$T@5DZFY=FVNHrq>; z@4G&lx7kE?5Kjk@vUl#S@%v&-sCO*(4FqLHgt8MX=e-U; zZn~4@g^nmjL4!;ux4TLZpXf6gv1TF>AUX^e1K;?fN6t;3+?iF~Rs#>_vsTGRvfmK1 zZk*Pf%@Dffdv&rJW2m!m`Qf1K7H6@PWpbBlVUha}ZvoVs62pn(hc8DaGAdtnb9{); zI(3?>+ZvcNxeB;W(D7C&n5f*F;tXijXT9U(+$IX-!F6|bOo7*j6g@Y6w)h7x`32$S zgpt=T*@GRKB~jwW-^n0<+6d$qz80k3;8Kj5fW6i!`{?XA^uv1uwZC)o&6}gp{UqO> zs0fY|(w@auk!%&rhnV+E)QAhm5@LU|8HXEeq4l>BNRq_!yw0lf=*}uKjrbo!%Hq2D zP-==!k+oR{9}}NfA`b5R;;k2k3_|?eb_F ztEHOlB-3K&`G%Aw`5fkJ0b!N-NN!nGrSe0c{qGMRIH=`}#mMzhofN8_bc3yr_v7JA zI29pL@avHHkn1VTM9R3MCXp@3bO^o;kY~b)yQtK@vP4~FrzbGv-@dA(y*8r$(=!n; z@icpJca{O`tO5BGD=#>Vqm1p#%X1FqZ*_bgI_{CaQVu}c&gKDYFid=`dVdtbQVwUQyA3Ec9?lKb98QDaMftcrTWmpe zJQF!fdD^Hfupq7co)I}UE?_IB6R~-df!v2BRrYkTyYMHSPY7tqieY;`N_n`zDK)ewhd7`(h0Bu_c~M7%!Ojfic3A zjGhbR5pynpz%W6nJww3SOnjH|XZ4nHU!gYXxr=}PO?kB9L{4K2%|D9x_YYDk)_&PF zmxRVR*!gYkOeiOafp3E7?X<$Yt-zT%obe)cZxMk7X5tzBIZP=S|~~=V^K;oCG7Ku`(K&W)N&TO z^`40h2C+Au9kn|7$#bn)NbOm~i+t9Odw(*52;->rZ%*uHP8am{BDyXk;THOQT%6(hmAk+@&VF98R0o{G; zwDQ$gWdThtZ`1a+d<5+BM2L^?IW66x5^|;1m&vGX2PFEw5zcM0HhTP|0gizX?L>Pv z7Vlk+?g$1o0<3N-hr;Mfc0KJNxVXb!aq^`50_w8o$;}M~m75@aopk6F8S5izZj{LM z%}&V_12FwvSr6WkB9Fd~&>VsJ=(9TNzz}!2&vwjVwv&c?Ra9B^mVZBNN%zf6+^iiT zhp|UG0C)GzA_pi*XSdskEo5RmPK;`u|D}^-Y*H1~a@8VETK!7Q?L8Spyo7O*U&YC| z6Nwh#|J-om?JN$!WESWFBq% znU8RJlWpl-$-On$>GaH5<6q*zIX8+?mj~dnX;&oHGX3>cl4;StcD8>yJ6_)Mu0Iek zbMkAOOrMk}D182ElLuXYe$)`ME?i3^G%Kl;TBW!d@L_YOP;n&`jGf-Kz}Td^lyzpN zlVXAkc5l&b5W)1?oz+i85To&dq{n#10C$+-qrHkmM@2mI-a&w>l+)`d%plY#DQT&G z2)7rQGvT~`^7u(#*jTtc+a8VsHqW|)EXTMa?M4=Z6RAA;IK#1usJsEQHw1}U63X2saKo3rOnI+&? zM0zP-<|{P?J$wK(k@Pf&x#e*R23@dT+T?4K&vmx5?h_NLm?>CX84n0E!5*BYJO;b_ z)phF1il3a1oTyC&N)BuPe01q&(QvuIE-P}F5^C&bt=IeKfJ@vU2T7QC5ijz}u||ac zhn}p2z?!S(-D%X~QDy`zoX>Dye{CGL5WKwlpXCSS>*h)EFm2%(?yoR_m5cn(%I9+? z-BphV5thBI0;rK>MVPCboM(=UTS6?-e34tp*Ur@TnYF?{n*bh5Q27H~K=vAA0M`9j z%tQl1OBHiZZ(s80awfSxm6$l}Am@hP)nu(DDaZ<1=qXmu^lH)<2~)Vd;%0wem)xWW zD%XQ|o-Ae=<^aAWf;kqPcK&~@23+rG7$f0~uWrBmHI3pfBl8dEW8K&P(%Ghed0u)! zhX7Ibk$4d$&V6y$+sbcGY(Rw1^9<|IdwcJV$^XD7)iB!ewIqk9dCmQ9-;7x5C5(>; zP3Z=`(-1!CP+v5WoiulK4G0P@ZbFfN2Tk8fhJJ8QReLyZ^2W8iw1%&(~}aX`1n~ zV@3`sN_f;jAT#MKt9VYZB+q}!MaBk%kd8pD4uI_LetI;mf%c~NZEowFZ8ZPO_=&*Q zMR?5GjNbFm<52W*ovv64_(Iezp%s|-@`JJJ`^K3BNkF135SpMq)_FuvOjiP_Tn^e`a;wRjOU8~oc`YS#RZYJL7n0M-<6XY_>;XmBPKD9%xdQ6k9cSz z5FLN_=_BnYp8geMr`b^QFJC|o!eX#4g~v~h=!nU)aaK@Wbfgopw+5%>kc;rL17}^7 z_>g8pvhh4^o%QdUtSDt~zY_ok?AP_HgKa-|RK2+x>MNQjf*ffs5Mrj<+sV~1sR63p zZx!!`b}Go{BtA>KbaVS?NJ&{;u=3w3oi=(5x|-2F2Exk&jzviZk_=RWfC|Xs;siu) zR|XX<*`Ao9>sneH9rA2hMSgyN>eF|Z)puj>2DjKnu5xovBnNuDw2{Ro?#8oF*Q&nO zQ!F&uDGH6fzAAk~U0(|N{N-m`j%jKO{29zF>A^kfMWi34tv{IbcK5}nPahS{t)DmJ zExfDIs2x@ffA%=w(nsYeU0( zaC-#fiQ=ef#5wV;jzy_)^l*R+x8Pm=Vzr}&M&9u&N;nE9L;hm(4IC)JdH~NiO1gy=7LfGX~xta=?kF# zA5(7~7v=MX4KIy=gh)52AX0(|Qj3HrN=Y}8Dkajj3(_DUEz&40DcxNnCEWTw-G3&UySI_9>wd67;xA%@4TB50Pvu!eDJrx9PC8_l?6$+}qU-cfh&_v;E<&Genb9|8}pIiR`j#6B`j{MIKxzovmZIb!JIuqKIXNo7bv==9&e#Vo%7x!}7H>#Vz^G zF>7x+KNYa*4v22dBv(}ltCoJ+wJ;b^0WOMZTJ1yxtV#KPMB+BnQu7)-VSGhK{((xb zygewKz`$r(0XnfqC$eD^y}-q4IL8k1zJf|m|J#{OeP;U#?&L3jvJ{F&!^%!?>?B$) z-G2*!cm{q0IzL%g1D#`=Pol$)h^YkiS(euOIC8!}@?>ZPDu2J61;ok4s!lYFXKoY^XY-pc5 z>aM#Zu3u06g(~1CO z)ZTTiHkyJ_uaGu#V0OQLQb$K&P$x+|+I8>-4*t;VMLazu8~i-1`|qu+RehqBJJcJ7 zv&iz}DCpAJ3c7~h9ojv7oH9F!amk|mdkyQ|faFT8Izxu=>+3I#v}A<3u7J2sx#FAH zSm|V>`XY+=ZBW8_Jb^>8mpV=IpnroxyhPyV=epmc8IKIJvK>LHxofQH$An8gq!1p( z@Hx4bG)nuE<27{LvRzG_;BMQyE7@7*A{w<{;WM)fN44cV?_L_se7p32;ERL*`aN4jPiOe|>dGA1EZ3|+0ve@KHO+hQ` zZh=hSTw{id>{7JFclC`$K^N#l0j@~2@ItVe5R>HHg0iJ%hiXKaJDH!NgVvF=dxqF& zCrXl|nxdrI^!#g04ae#^L)BTB59>()=<~gp|5fRHo7qrJMKT?gC%~T>(U`Y7UO%Q5 zUzQy8%3H)JPN#aXk{mbWZ2{RtdEfp7w#EH#JLi9T+xQBDe`tX8>o9q5>Z6;d?_(+G z#U-s>ay~w?3e<|E-)e~SO%46}fhzh{gBwHAkYo->^ZKSboHoEKWmI9D<~T?shwwQ1 za(V;x2>r)9x#&-|&{7Umx_u0LT(n#LqT18h_V-HAqt7PtME&Lhdnq<32Gw4jcswUvPJ&zM(1grC6eeNTRX8&!)~}^R@4TJ^ON; zfSv+OePJt+1XnZ4gy%9r7WbJY6=be94Ds5QD($N5?kMBq!QN~0;J{-Ie>jhN5q;lv ze=xEglqK_*p8P#X*P(4r|7CKa5Z|bvdQhysTq?kIPirIkZHtfHc0im%C8fMxDelFP zJWlggNJ=i{V*F2`#lW{-HO3((=bIh;?k$$K7I8bRMzXDJrD?>xTWLMUCQuvU)J4+= zC`QV9BWdSGewSx%HMlv^qMfEKZ}RFhRxl3LBUvb|gsTk;`!*I+A=lg$E!Z}J^+unz4AF(Pm7!c#vw)!@ zsZ6vwl+LgKD0IB|n`zXqJIIT9QEkAUeI%@Q@T+Ujk^?Ik)Uwdp@&cF+Y1JB&6eir^ zC8SpNtB2W$qNz!ed2PivuAuO+T>_sDukp~zqsDO9;o#+)J-d{ZDuT$_VR6CnD+haL zcFl&?Y+spHgyR~4sdn4*%B=1YHC!X~)yUhU+pq})R}F)cxM6hTUx?PRoSqE6|P>HEvxIglqByI47+ zMW$q7z|pbSUg?{Y-xSQFiH^S86A$}@1J7@4IG2;h5AW=#GLZ+bMNZaTNoQ2@#}w5r^{#>q z{dTQhwepLf8iYk>IRgUg8#Se;(~HK56P^MiGe;N8>0aZ(J)||pU~eBMWuqu#VlCV& zM#oCknGz9c?dNFtX<+5kjjXQ*ojbm71m4ZK-DP+XezXmVxBSMEg^^{ z(PQLLE@aQ50hkJ7DaIDB6&`s1yLhl1@+tC3E0&+8`?@F-viY(NC@p#NZmL6xE{{|S z3Dh!et4oNsTu1W4S#M_hh=HRy0C)R^e0Cf6W-7bT5j!uR_+3Q;QGrZcv6X{^?G$ob{PN2%j%f;!4^&*dQh}pnB(Ou-Z=d9RWviOOF)wxCxdOpP zdDr#Pu?rKFgf}(y83pf!nB78w+=w+-;6wQag^(oc2+>w08Y$I*U)2(IWcwD+swW!^ z37UV0=UFS+KgJt0hM3&j*DSD8`Wzh{t$jB<6TU`Zp-E1oIc*QI`@N!)+wLRMsU%6+ z7}amqLV!xn^$I^dp#@+YfoH*w0>AM4hReTxeXQ!5ZZCkb`7k{wnE0Z4S>#cN&yOIQ z7|kP=ctHLV1hgdU`mI|tIy2|ypX4tlqSfK1#rWsOowQP`M1!vy#Cf_i6*&)}A}A$D z{cfD}mISV})@4x*Q%%T>(=ED#Wd$Z2-;HBT7Bym_(1GR;)8os`g*d0}-LqSb^rO=> zKg^A^OHB{*cORB=9DTe;$CR=1JKr(-6w!FmZGF~e55I1DD)B&i9H-Jm4%UjG6EOjp z=VTXcD6ZG~hxnwd);rakVS#Aoy;)mBiP0NtA-L!Yq^#rk$yWdr%h2DCCN)UR99@)P zYb6ySR_T#rrXdtTn$C{0l3yIUmP1)>p3CU0#nFj(D;7OI?J8Nq^B)axU*ommRHg-y zKVj34jk|xSsnUeetLC~_rkw9crQ+=zbke%O*kmMoi+5qk8?kbOj0^nn2lUmp^O&@! zujLfFxOFJ?dbuadc|SMt!6f82v!X~_LX9@l-4&GNc={Rf!7rRNvV+4A{lAM94$mD?h^GF<3$)bL z&Pe*KX$*9!9EY^(HKMxB1M^eCw#70z2=`3LFoeVuFuG)KA5J@FkkDWo66V*UF7Hcx zJOTBgE;{ZTQg4e^hG~9h2YLz=v2T<>+RK%Qwf4oSqiIQ$>vy4BVkS&vHM9>@i680k zePI!$ci+QBGQt3PGloc%q(UDsIo*9f=uqb+bvtB3c(T*E-1lqYE6t(k8j>ST z;_X7-d+pk1Yqv9qW=5$dTHz~1v(maKksWR!_oL-~5oQ)lCLaWuqhtc4ML@Qu!bnH-IY zB{vzkYCLuOj;2WZ1h=Q zju+)VzyDdPqj0?vpfmxKxk+@>)VM?X4fw1y0~3HT@;adCo6?7JLlPz$Y*X$HYA4UrYj50kw z89r%Q@|a*2+t+<7eAW;yxPjIvqBXVHb}BZ61l%+96Q>$Uo&NE9^Ll3W&9);f=sbS{ z@uhfsCgDl0>Ae>x1y7e077FWr843Xk6dnNR-RukXn`k*1vuOWr4 zonA~PN*f3r4ew^B6w!Q&V{IAw8o7ltr(ux7|IOWr!>$ECiBwh76tObYY;ob8Vzfxd zJu6}@7+WW%BG%sV`wwOoC6;CiSn0j(e+OiwI4|QxFa*&fQ-U58;Gb_KLjk4QvTR1e z878C*-rvdSilcSXQ?yqTe2GGLXS2I4-jY-cxVY9P-QnFY=CFI_Rgfq(3mWMIh_iF9 z%Uvd!F7iFsZ8UtBCByut#azB>&mXx)q{J9u zn+XHL)rpyeKsfWd;}shu){~}Z=oYnXjTrF^?6feOtN^1 zGHw4Ckg{QzCE7j?6k*h)(AB$(@@)DxJiFDTtga^+Q<*Q(~G6MM_6e*q@PWgSW4BmFeB@_cld6OQ1k7S9%i2L6l7TOv{^ zp*-{IRV~P{aSal+01A9%iiN&JsZ}w6v3d3EXk3g{{Fvzf9%ZGAkD8ihFj8`UD5R3N z$ANlj_iQt%03V&3S;X5^QiaZh1R9Gn+^nLjjh9 zLpSW&ECSEl6x%YJr84Av%Lvin4#!egL&LfuYGDY-oGedZtUA_?C~mqVI@qAE-HX17 z1+1g@YGwbSJx^Qy?$K0uZBp3P)a~LT$3hl~|AG-b90JuWwq2u-pj{$6qni6#c&p(*@#N>)Ei%ww*VAi@(RX@dqk ze?q>GiwD~@CHgco@<|(QMF%+%_!@V>d7|1K(}U1FYI3P}TVC&A85m>xGk|sqZt{c3lB)H8t<7MdtTwbNSTBWd%+~SDh|X_%h33>VFj3gXDo?FP&N5 z$*;S(p}J{N84>@1Q+)*LNnC)lE42Z!&iPffjhtx)vQ4TLBW1Ja62a8>)F# zrwWK68l4FV!UD+^_Lm^cr+2lA97JfNwaVTa^|%=ru`ielpT}^8YCqmZKHicj%-N6K z{nkrbIi&ygS~pP=j$tmi~wq!;?+!Y?rWc+YD{AmK_+*6GCrNyPguB7rn^2Ry#tp!h!<+ z1sa^W#0F4%;h$|slA2^Ii;hfC?_CLCt{*Oj+4cFqBVS%STmSgbr1SA;xJQA~IQ~ucV z(IbLm^X>0|A#7rmk?_icD)r9-YXgN<{4Arxm3@aF>ZX<0XwHd`HFDJA5de{M5|xIP zi+)=Qt88x%dJLt?;WR1r)!Eg&54b5bUK1mUBpv38Bbt>d2-$jTn$LA2i@PUT#C_sQ zh!CqtqwG$y4FnlVzfEm{J=Jh_hJ#54_2SFy%@Ow$YNB18Ni z2Ve(7O|=Ui%u}@Y+1MG^)y;iid^aYvPNVnl7u0N?^}w(4_QhkGCtjd1AeYv+z1W>M z>aOPanO%c?5c#R8*72mN_+v&!!e}pdgIO4+OlHx zxWj&gz`pTM)x2_*ikd{buN3Vc=PwZvCa=T=aD9!2w*q_B-eq*lnivf?1NBlz;SKKW zcr&p-m(itwut?)3cI)1--zxsLUHa#~7sq#4@c9l=`q=Rj4@dSl#cF_6gDZ4#I-=ALhkeJP`+FUvk<`Z2GD8xaz~Use)4YyC^K(gYT%`Fs$jQKreaMoBoJeL-?Ifu-W37kE1zg2QeNj zyioSTrAEEZf#qvI0jeC{_q_u5P!akSyLVc5xFRWAz&-ZyjmNOUtVCBF$m8S$5_IHn z3m}0O-5BCmfCLhw(ucP?ZF2_;p_dG4O=B0HJ+U_f%a zojEq87dNl!IO=deJby|Ebc4dOxHTpqvO1fLRA-l39{{>OSZ@A+_E_masBYh_P^9oi z(lOcQXFR?AT|X_H9jY6^L4{fQAawm9Y?uSA3XD2nb2THQpl6N`z%8vssJdmv!`JQ? zy`e2!TCg5cRMuYV$dh5$Rol)Mi|Z&VyG8dNg7?$W>E*u6g&W}3@24xBU(ym&1OA+w zxW}eF;sUnseqw~kmgjTO_Dtw#sw#d=`I_)U{)XB*LMT~1qu4#v{Q0eo9yuw)Z7P}! zad{WT-&S=Kj#t`e3vyqulrNfX*Q!=FVJ}@6fS#Kh@h$ah_6HJWpGb6tvzqm@9CdQn zIESN&Oq29QnfRZ!UV0yNMfax`ahHE-3AMBx-os|Ds!!ZH_DqeSbbzN2|G59OemRmW z;k;H2irJCe!Z6p7nmNyvu?Us6Gt^7EQ`WYX;M&fzw>tQRJwdYZXEt1gjZ-CfijK=m zLlJX!7rS25x0keevoJuw6>ul4#v}nep8V8fm*atbCpLI!K5{t~zeh+->Qps;-OSfk zh`zD#>)DC6oWesgRDoF_(AZPZ&EQgqzrPpY#(+dqefSOt`(xIs-P9f@R?P=aLtE54 zNpGnCie`V1_L$>usonJ%mA{ALhJTkZn-42bK>8$ogw}2~JKL!ZSZ%oDc%*!Qg#YLC(8<1)J$DY`7q=I|?vf=L4 zi{{ml(70ZB<3+}st9h`_E#GR$7+80LMLIjCt}#|{eat{?q?8t-BQqE3pZXP|#-GF4 z_u1n!eD=Aj74ZU3i;^zc_a-At-9dVakzr#((lIH5H}nLh378=D%U@SpetE<*xowd( z9ZaTu9#q}>OzWw+_7NUy&y+!QFVvhLg%`4M!?S|~)^7_!YkxBip0fR}Kza2BS|rQ*o{gRuIEK z+Y1hDKk6t(%Zv+3Vw(5s4{eWTp0jZ@qWzXo0ipYj7TjdkIN}^nqiJ%#A~0+p75~0y zJB><){5}DtPoh@s1&7_FKdYRIyl0OXsB?{-LS#)#F)vRPAdHNx}(u&s2qjpDNCILl=JgdJMqB=z|3h=`6O9P%ZZ3Y$0ijKcy zby*m9jDI6>`nz&W1993{?LUSb5O>(lOyWuYE0kzb`rYTIK4NQw_exD0W+!*6x}vX{ zu5VdQ79iZ4_D?M_hA596yH<1MdfpT2>&JlLdZTR*=_*A_dnm`PAtPeAot4d|$OEVj zVLqoM$EQ%oK^H9aL}dSb=PQfa|BE(Q3S`ffUUp;OcuI{yEiG|_BcFEGi!(k9j&tbr zhde<17JM#{9dt2;iEdt+!yupz%XL_km>0>0O5YJ$>=j)?71aKFi>r^?>Ach9&O!Vl z1v#(vb;8O`rxZL&(&ix-osE>(g0V?LvZUAwYOER)^EuL!BfH&Sv33!&RhS>(aX$~A zPV3Ord75F)Un$;#Me?MVzr}!R`;k}8#`(ob71ZjK5SuBR*En2D9^ew-PD1sU`GcyK z@+-;8yD{M^{Zb-ha;T5IhkEM8(K6NFUqlX(ovkl4b<#3o8R%Xxn? zH2CL3;UR#{e(dS!3|8yeK4m+!eX!>}=m(wngNso)YVBE(e_$eiemGPRMU47-{rp#= zmK@;q94UOi7|Z7D2Sxw8v^-*^nvo_%>{H!B}cU^1vZWdry`!Av z1<6N4`x)u&aWP%vJd++c`qO@RFZfr6@|{|Ozb3O8SqYy+my}XcJt8P|O}&EOcCDPC zs7N-UyYp?7hVzfcw-)m?BpII+R!b+7oNAIB6GiIyOH19w(=FudZr+S)6(wr-VKs}&*^ zU`@(YxPxfTIXVykdA0Iv{_GDjAOj{(Yz9qGD6b};Na6}>qq^QI?V*`O`*d8`QEB=k zi|_GCR)G5_FAMgppf`(4_Y@%pQ|%$9qT#WfO(!@NjL2W>vEUB=WTAR(_Js2GkZqaZ zm$~WY^Sp?_P~j4V(29Kb&jQ@vsQ=ah>MFq1@4d{rYCJD3?Ajj2T$%D%TphL%?br`r zIQ!6evNn<5^kXELX#9L~urRJPiX{i88~;der+u+Ks{@>fV`$5ky0UyR{>pAPYUhp^ z#C_qT&qq1|?krm|SEulYGY;~y(MTEA!0nc+-zn9zsuIieleF@K(c2O(Q=;Ms-I*Sg zj9P*R5_Wl>bLvFMG3(sTxdy+)xSpLkn%rkS#N1_(G^eQ3mOduZeGWwM5@qDOm0N2| z6246sw%8z`k$zWCBhrC@Pcl$L_JIUZi0c&6zZ3w{26iH@kfD{SYe9+&9?@SFTmlb$ z2zt5%+?bXzZ~|otqvH`K_r|*l@iZ?8cx)LbT^Ah#(awRPB)A_|?`&tzC%QSj8H7|W zYm65GCDupcbS)HG@jtGsxpC~s7o`I@FvViGjx^@a!`G9xuHKwRM7!0Vh>qwUQ(N_D znF|xzFD3sL>wg-kaOx-Dp1EjbVV)xjhf)N0-L)uSKV5CA1gU5q0yrK(w2hlLB|HkG zyF5cQSP&MSg_$FD%1b|75`8p-FHdN@@6mGh^Md)DCenUhZL1!ZL#ff$dM)PIl4thS zr$x`r(&&f(H0TM}g{OvCv~a2~E;~YXq`}cZqKXrQD=av0 z+z31np8elG$I;`FZD1FaBzhUt^N25z&-fLekk21}DH}CkPGxSsF^kC+uw=!~z?`%P z$XbcBKT3}RlX?jPe6!oZ1-fuyxi;H(+Yn4)gp77*ekQvXt>fH{ELd#l|1M1|81#0+O#k*D~h;aCz2i6Ym_E0e8D7^ZirHtIuQG zK3Oil})=6UO#1uB)SAr;2#1$F>uRI z6#fO7M@jb2Vwd*W^^e09%c6Nj2+?O<#o83r$6pmm40UO$?Z{_bXZihfBu#K(dEy$CyD!9EwgfA^RzIoYHAGAZ<(sD_fHB~4_tn`Q8ng2}Yf zqE>B{jb3$)Ss9ML=kH2pDod@)D&^y|B#mrGMHv8dvG2fPT+uG&iG*ZMq1YeVT^gG>9g7zfI(aC!r2<0b1bdU-^(MZwDQwgnKt z-z33ech5@%!GT)79>-G8?FGsOG)yKSNI>gTV>S7>t8YRH(YiY}XD2k@3^;P-8>30z zmVHZgL50rDKQOit@?<1 z15xd7;ACUgKL3wRQF^<}&w0VV(WD(;)P31U^S-F^r!$!bY1#}CBz13oC%o8ZA*Sf# zFAAquH_WeJ@E&!$EC_M9!O0o=Fp#c{X8?;&`5tk)??!L2u6!KUBQ1KRWMgz&L8}aS zPCrodIb$n4{U_gy=>${x6OHS%#|D?}W-T7Im&WY>5ibU5<9J;RA$pA|zE{ql%w`NB z6+Hr|FRi(TO>L!Mx97a_#Kr^zIqLd0U{`NO0_K;uDK1aE_NqCv%ZxJ+t}N}ga>LQ< zzB-4RGDw5aRXdi#|IyCrfOygc_y%LI-s~3IfPn;Gdz@Jn&K8h72+fg#Dy=FO5<=QVw*#y|q#!7fa2JBSno&unM@VTshMCVLIOQlF-Pb>&X z6RhGU4{1WnJ3NYViSo+5K%fOf<=as(I0u*s*o}XU&1mBb>ZQ}K} z_W-%QEzSrNbHj`F)Nq;z>mRYDtzg5i0Tx0RtXKO7k+G#O3r9~qw^>TbT^o7Z22YT# zJN=KXxTrK9fCT-y)5EK;*2R=Lnw;zROh{scv`)8IqUtq6^Ovxtf4AFq5KSk48x$Ho z_?%+C}+l3WC4d>f2R{y zB*B;WcLjfDEM`RYeTl+#bhM?4-K8Xs_L*+X0bM|#)IsG*WBbn#Ii!QS>E0v6 zCn*neUKS%NUA^pEN{Ok?Z~;4_-b(!*+SM4G;b_Ir6((eTl7s!IfdPo<%E^>96YD|Y zE32Y%$VvU~!-0GcFzZoeTP}Zt6;o|}eJN;Cm7YL?jAUo?hqV%)P$4zHbx0cK*i6PK zZl9A5y=)_Ywt zG`^*dVKsR)Lo~XUqrO6*)9h!6C8B6VZ!;_TPCV2dX81 z@$X_GSI)C6W(lxA|H~T>D*fukrVW^P!jPlYA(v-&(=7*ew{oLJOmyxTgm!NEa%O<- zWV%zn0F{2$?LI6qW#EOYO?0BCbMCrg!VU6RC%=z)R)UuW`o(Gm?TdIA0p#f`?Ossk zkAa>7aJv5_b1_|SmPKbXZ-4=bW#xOna(u-BKwYmFt2J4DR)g~G!4Yg++_6vB^Zbmc zLmC|f$Tk7Ys&-a}lh7b}*RWoov6}HSj&6JSS?MmHUa{I{Ag|1Y@y+*4_xe+{&Nl)I z2gHb0E0m#DZ6$)M!y!WoZ*BVR{<0ay1Z5^tGB1i$g*Sz*Z#;RkDtdoi~x@R90)P3nrC>I`ueXn+0pM8KqjwV3`*B*;`E{pi#`R+ffAYaY90O6q2~0|0hm7k zhC-1nZu;sNtQ3H2*P7T%zst!bNWaOM&66FJd?&ThY-(eGw3|_|=$5{?(32n;+zNoi zzQdfT&8(SA{>kZasC@jh5sbjw!srAjU;cWTbVh}M1U6$dORmN7@8q->cSrrg54JU# z<6#xRuO_g6eux(UgJYSU5@5jw!4+N^y?G$WzG(72WeO_x4DH1Og-X7c0#a`dI;^@N zCG+`NE9Rw%+bV>XLk0_CcQTu!0r|H9e-sS${TQ|^P&W;c>eT?d;KX@_JtOW#;H~v} z3r9rV(fYgHwwLcH$nd~GIXKEh0eHyWeYtzGWFjRCNUTo{>_h&H=KQIL2_>_uF3=f7tvu z+OgB-x5&Om&qggf1+6vU@g2_YId^W^KKYr0g_Uvk;}c$Ds3io5cjpcPUwSDxr_C!o zOyHy80P(E12ee(w?w7nmfsmRBpz^1$LcFfm($>ijr(;RhOir`2b zs8d$&^qE>;`Dmvtjym9<&q~>sx|0x{Z+wLxAwT;bHQ`_8uL>6ACxHELc_H-r{|Rr$ zfMF@vO9s^DR_SA?Tl0d?uUo9#t5nXXth8vRFAqIs9?IrmKq^T5FLmfg;D(rPkirTy z9;k9Of7bJFRRGC94Kzqi$Fm4T5d%hSe;JxsJ^SxkISWB~`}i^;16vnbGrO{!{;&ro zA7HZR^j5PKa~}ca!K~=TPnr9N4~+rhcAVEgl!vKt57q?Ot6!$uDE2+iRc2EU{f2uv zS50aKybw@xa_eHvkz4_XCjseEExOd<%=$%!b6v7)RpV_F+Lcp}{i4~~YD5O|dw-d&MD`k1-s!Ek6Rt9{in{xtIfU+0*c z7`m8l3`FVx>!g*@9b!OK=n2kVEP?=wQ3Vfs0N_L(6MwRyo^T$<%C&0PppG5-Y~c1~ zcxpzw)b>CZ$P;9L40XRT6nA=55qwst4DHjA%xw1#JhQ&KSYSO*4pxTYk4z{Zz8)~S zv|C-I>Pw@gW#_svE@Du6$9q3i+2v#>q{a|3Z7TgK) zWmQZ1W&aBeyhkG+xQ9q$^_tYQ@PWGoCfFNa-K<^%wdk+a8^2IDnNZsrEJ?H#U=ai) zPJ!m~YDOXhN-1et_YQGz9`PRGT}H>q>T3_;IRo$5Ivs5$qCe@O+qrm3?)sg~lno$e zfq?K8;MsqFz2_P+8c>XO`I^!kWk?&``N-B+wixj4dGjrsolIpgNkkbUI=i-fv;P1A z2Rp_|mM?kRZIVHN^1TAr9*byTOsf8jR{)f$uve74(mKa%n@KIZaZTOZ-jQ*K02xJ- z->JLn7A4$%0h1qHaNwTT8gB89%PWMnI^fZum`G`Mrr`=@+oX?XwaDI^>(IV@GR0P^+wzRxntsvQ z%uJgHg@Av&S)A^$dA_uX)D9Geuz|pS$TYggw_@|6Mt?Af%3B z`C?ezSIy$B?Fy^tx$YrA?|cyYE=Xq0pN0|m4h;q2#m(-vdQh#pkhs%CS3@mDc;iCD zox@e%Y^MULl18(cv!z?iG%m!*eF-@qR~GIS$&+tm20bL)n}hRIm#W7$LDeK^$=Mv6 zXsQz+4RP2Lgm?9|EC7d;t!MRkFUV#4|G%arcjeA*%=J1hwG)kEkU8>cgovB8I^jhz z02;mO%zGEV=6yDKaLWkKi4PC!cB7QOFL3h$M%!n=h(Hts^LRL#|4iId?WXDiVD2w^ z3peW4p-4FJzZ~06E?MY!R_*mB@Mvw@`W_4Z*<0I-=8{SRlnzZ#d;#@gILF`RaLG!e zvt@pYSvkz8W(m^QkA)m92|X~HcFf^Lj}#KqWrSenQ!;-1dQkf>Mp`aw+uqP{dW)DU zI6vlQJPD9c6^f#xyol~9mrti5(Q`lC1xfqCOSxYuAw8rMLM@c{jx4bK?F3c;{r%M? zIxC9BSS{&=XV%YQQsVwf!+@3^DIBw8s=bIHP19SsCFx>lE$1yZ!Or&h`Wv+bT#xr}aMG2VXu6n!e~XEc^vqR`%)JZU1{gSXo*?g7a(xNC$6W zW1rpJSXLq0>Bizh`SVyRiC3zZ-yX%ilXD`xynHK{ENbc!dqObb7pLWNnorF%jG}hO~0}pLsoN zsU^ib&l((lzT$odGjmU(Jp(c31KthiI-1_|ng^o-}?*LrXX<-CtaYd`zLB#O2< zY4IsZPT4rSl&{luTRn}ecOb+RwqGHe1J6%W#yD|kNttU-JI}-e_W=oMujmG}u}Is? zt@@dqX^7LN_r>%z-xsYYef(4Axa2$${V~lsr;e5D^wF)C^e3wQ@JXN znWjF}oW-u=#-^(HoNnwJXeSAblNWcem2F@paJWSF@OagY$U3}=KSQ55GaN^pO!~u} z8O`6_ELGqHEMI6z@I4r-oSX-2B1a*weLJ0SqchpEp!t*3#F$@8tOJ=cH+R<8``kJw z|CZlYDSz2?LPRD8d)LvC1>I=c_0dAY^F?l+pPHyWd)AU~8j{|MAVIK+TYtZ$EV)HL zdu(j#LPDi+U#R2#`u+#ro3gK3>AdBGaGSbtGov_8-1Cft{FY>nge&6&jquH+Yz*B` zG;oj7&%iz~1P4xK@h^Jp^Hx(^*RWp1i;Ei3m9nGU8&wGQ=h5wg0oDi~t+CUSpSsL6 zCqUFB$OdmJK3*A!QzQbBPzv7{j%x5@*Q1lEo}aRd3-b&cSJ9<{VXs;k?*Y;-yTI?@D!wF_QtS{W5!hzmH_2KOLexIp90F~=(IWtQswQE!~{GcZJApcP7 zUks(9i3x{0SCW}gz}^d?&r|f;0Kp=G`F7>+=XC#j`01oFn9o7Y6}$A?*jQ1@W6!s3 zN|zRoJ@Y^;`zxvPdk?#JB11*Iu-Nw3=)SwF1?GEBY@EK!`fDVhr6~X$N{8|wb`#Bp zY(W=9;=p4zsp>SrR2&*U;P;hT8a16Ak_yz;b-{0t@R@dJ=HSgr)C{kJ))+mKj!Fwb zRM~3x@1=5spG?;?jbn!$qJSpBdyj3B*t`^9wQPC8KVii+I&PixE z@Xte_F!>K?_u6J(fc>g-(@DcN`5xDbr*dd$AP#)wwVkw(HXX>Xz}km5n=vK8?FxRf zM^xXBZa%y?^~A@uw7g0AkbrM>W=edJ@EUjAgYwDx+U|W9waD3Buc%Gb(3_{*(rM;w z)%xB;uRi`vj}$Xj-8o6EXYy8U)jWOhJNe1r^do_9PY#wmMxWV*sWJ!n8}zaVv?)B1 z13uo;w5TNYM`oz0zW#Iz* zCf$F2iDJTs_)#)FEq0i@3t`8<2#cZh3=ATLK-l{X=+2Y!zwF1n$Zk-egqxIQ$Xt@1 zPHLW=%O}5si!RGR*ys4ly$B!zT!$)t=`z2~4NrV=ArQ!|7hb4Lql63F_~702?`2Ph8nqn3pm4T|8&8{b_=#+xm^UT*W>BiPq^?Z2mW!X|YGJj?_h zMo}TT{j5Z#Qay1gArQY?qyp0_aIaqDikaaVj_dfBM=~n?WzhoqMRPXH2HE8VAMc|Ko z)0Rq#+KV|7glmkB!G^C-3dWe~SExfE#997TEY7SnkX|_=_`oAhV{Gg6U4OsVzhW}& zPhQn!B(_caiOOnm4KP;-aNEjLJLyCD>nfM5B$G&AK>W(g>jeCK@;AaB{j3lJm4Fy+ z!&iR3M<+q=&0n2y*ZsbDe|uvRWc+%!KW|Y}T~l~*ek7P{oN8Fu_B9W5i@NYZBSaR0 z1ONC&I+|(|7y&o8bSCM^WO{P!NT@;_*T(xfp?ia8c8nxOO(4|KwqwyqAA zI&oKdRkzg?^HA4NIFPJA-xet$y#apE+&f#IFOopI+bK$fkr3{ zDz^@;e;JGGuXI?#o#xc92B=OgpEb!}+VRa0Kmx<8rX}$qxd3ISnK+IVI+g<8t^;1h zJD!Q-YOtt!)t;V`)cs}|;gGZC!Ez*J-;A`7@!6o*-)eCG$gHhyBG01&*M`D*PPMNJ#$+Xn^-5`rQ z_wiTC4Wi9wndRlAqhk-0Adq}+P?Z-Ue$d3!V@?HN9LQrd1#6s8Z^@yC#7JpY3;LmL zv)&PS=`Ab_GXNeHC=@j$gbty-4-GePc6yw(OwH1xj z0l}aXWQ{<*0jL-owqntKP;0OA!78R0Hyq$0LrWnehN%(^7ez6TpRJ!s*AGvEcLiN~ zrCtsljKCcw?q#+}c_LJoxY-*8pYXehLLlnIpmyP)b|O(vlWv3B5i?5BHu<&CJMh5o zADXB?!*=PvCWOmsc+ctm3ow4n26ebMpC|3$Le!Nmv6d#pfe+|$vVh^~#~h%fc1`_z zx%1df9LQD=eaDfEUp6JO=c(FaZ7_QG-y<43OG=li=c}4HkW3Ti`}4REMd0gHN~13j zco4{H7OAHGm++UV64IOy$XFk8KJ5@hxp3eSTu;6|2bKI3u;~kdP%>bP#sQ;qDzORJ z1oFvZN9s44=U0K+ATb1TY&LyDfe#5+Xl0`Yj-;qp27>CR$pX#5DiEVMQy&0l4}Sta zd;@q|!M9gkw;td?m3wYNA(`ZaFVhYQ|M%rY@qg8Nu{?H{HWwG-hy2mGMf0!V7kWA! zY1kGuZY(K1>h7+chd|yA#G2sv-2g2Pe)WM30x=`Ouj1*MdgLGm@ndwh%z(&VBSu+d z<~bU5T+)JGlQqG|)(1EEzo2m&7{b5uGqyil<3EG9ir>eFR)#QrG$Y}+J;*wAP^yf+%g=9>`lElAp{K& zWzb|NX&=ZtA_#;^D0M4UjQ!u6dL`9r!6y){w*Tx{)dtG^3v}ScmB?_Q z|CJHQz=gFvDGq#f8r!Ad$Bzeu3?4ijc&GkmJa;mMG=@(K@}-gUm)># z*l^$q$4AMD0}a^TZms;X_HsnT<>Dj4W3!4BANY61xY^aq|JveOjx~~cd~WU&@GS9H zmzguI|2|2u_5yXve9AYi_~^@;Qv>)|ww4O16wj3_|L-dkK`zLzE~)gOT-hn`L1Gs^ z=quS6;s`3HkGhmY5c#Cc6O~n9%c7yovS@~>X8mDLZy z$FfsXIvpf9e!^5p5DVC;4CqYwpNR>3Ex6A~!As2E7Dv?nfLGrhLm^=!)v1aNpq)M+KMR0H19yvkgEehD-)4lH(i1^cRB1X?_Y<3|DhMC8HX{Ol z?>N z0JehM3I-Vqo}OF7PFJz>R?qcrNz!2JTV>t(9W)wjSHLqja_ku*-0nB!-Z`NLQLQ8= z&#_S+l8KLhLDkVt0}P)0#@;^h8>0lQ+r9B0eX^qu5Vjq;Kbznhix7YRvrw1sn!O8)Pf!3o9gt9qWa% ze=3cYD4--<*lJOTN<+exTCrd2d}Fx4`%F}rac5c0!HNn3d8MdA;b;DzyEz%q-Kh(K z&;4^YcHM1GRUZ&*LcmMAfUD7m+{V^RWTINCjz+pC3N4AkI@^1V5j;q~VDaXoNdbt^ z_5Vyv&T^sqz_be=E~BD?57wgR?-f|7AfE~UYrj(7k2r%iVHZyEHnmSIokw6TPsaCi z;nx5C`pel0OV$18k0wYKQxzgOdG09=gk$93YqPU4E`;De7l<)1Ot~HQWbhmhbEZpW zO;jcDV$B{8LMd}yr{nkkdn&g6wY%j}Bf?`k)>4NC2SRy0H{vb~67;{9#2SEjBsJVN z6g$t1?T7ZxYDQLC$Y>!)cOKb`Q z^*94Q|B=dD4;WUR>X~t+q{|0Zj2t$Q1gb|^nEDt%*!}#V=8T;j*j~;5^o{U>>+9Ij z&C&W#XVO0QdL;kSEdM;K-)JyTmho-Bq20s%|ET)%aH#(1|FMPoh>}EUC{nhvWpAcZvSbMn zF$xJ;%9d?LC~2{lea|l0%Fd8Vk$qpsl6@I5%rM*UeW&mD`98mYdY;U^_r0CvbzbM3 zdkz0*B+=W1|AgrMKJ{S8VUAscw8`|DRL*sCDKllg;?#gw=%Ugg%9iv@{8vAwsI!b62oiPcS(laY+te8i2Vzk_92XFoQ->@E zViBzk2l@#!G3n)Bld&vEMsbpop`}E7`!225cr!(D{NEG0IWgC|C`BBVd_v%;jy+V0 zo4ERuTNJY30?|y6mA)ocoaL}sjm>fp5TXG10-Fhqg5Tf(zCf-8xXqwfz3xidePb%R z-X%F%VE|zwfAegza01w=eH21y-jJDQga2CKIWsBQ3dca#?qByh{X|~zm7~ik^tr?!~>my1xY-tlexo0e|8m4 zj&N%%GmQa40}HB_|1q-XM<)>%=h$aJ+!uT+71CswNyxr>?W7rm_lz;_@6W|*Q31%| zYukkThR)R?1HcXs1%Vl4%#6l~JG`QX)lI(7oaGh4Hgf9|#JK=I4r1+@tAiVkuxR3> zE}O`H2lmsDt;p3v#*OwzLpzuy3=xMLqXaspAzHaeA*mGY7Jxd09Y2>l7|@?_mtmSFA>feIn1aXaVGjM`Ip-Cz8c!vDl0z%!!0b+L;Y#`&c zcY%}k$;Jg(Pmzy zNDOubghp9!6c}1scuE^MvP?(o58w`Mi?P0nJWPF92Ao5QnfB6&#~BF*Gvup%$p5Ri z_Te*djc}i$0Ks^ICG;>DsN*CA{!G3XzGtOq_toa#0U*vq?lRVFB9?RS&W{73>;PKj zs7{F0L7@^XpV_KfN8G<0vVuWb)k4(TH^gn)U;H-Vtq(^~EpQ^03}G~7$WqpBp-TC5 zm1`{G>7rygVbm^dcq;TD3?}AS^-cZ0R9_XCsoVWR`rSHMe$AcWMY+yPWsf@Ffu);V z9^3q$NXHn&*o-OR-}jrD)naKg%NKVWIxwdh#{ip?6Z-KpLhrg*Vkvg0Tn_8q>z1v$ zz{L?%2=Ly8(}Se|8^iKnh;DCS?rnQDqJT{}efk5xs5WGKGY)?)Le+ARpN#_Kuh4h? z$~Wljxm<>%z4K~YJHI0qPpbHf@Gf_ys$2WHygqSELqz)u@CL}7-LEustFoKI%cagx zY6Ek|{Y5aErQjX}txZ3OU=CA0)34(Gb|_Wq#PF=Mzzkh-TPi=^{88?|LqL({R;c{w z?g~8ROdNq(zLgb|4Gus6LPREEGNTi8no)RNbj3noYmsa9ZS+~Z&aKZfk3fKLC@&rN z)6e$f_I-h0tTdME*$5Bj49gQE@yn0wGWeh2^c+c~w7-1RTl~(< zDKKG^9jHc^0FNU>99s*M-8WP4Ve#NuJ_I2T^(KBgQGE z==(T7ZwH~{jT9keN*SIsfBaK)_Cu%p0EPy!a>(F2_EXlB5;n9<4sEmsS-aZ(b6_37 zf&J;IW~YQv{P)Ei-sl67EAqZQ8*TncP9!)5FId#p;X*v%ZCARR^dgf1-!@g7ZI3c8Q4K< zD?{z#1Ia)pk>fh>t(UT!FU?1%5tGh$^p*Ok9BRxo^9zaW0?7A24@v? zH@E#*QG4>b&l}$_msf>CsT{{axL$hA?=4tChQ;R}*Xl^EomNrG;3F_0u}oO~t}f3f z)^sbuW%|5EmA@e*#=x!g&9lW^1Q zD|+jM;w282AC0!Bwx%}Q|Am}LQ_2X6hS}^y2*p+F25w)kN?Hi3L(80YXjjY3yiBp> z4jk}NM1HB?OrMOy?$vFE&`J=VRpYd|E)Yf`mp-D~V-^-ywKTwaeM_VLJ=x%S1I*lz zuZ~Fgg#vWosf484f7N$3%k(j^gAy;?Un{-o z=Wu2b&zJGy(PgP)v#TJmfSKGp>___Y;s&lQvtf@uO%JS|pKk26Zy0OzE%6^f7PL_V zfb^Ev9PpE_gS-m2-_Bdac%Q?=QRGcPvS`jr-7A4M(rNUQH^0IvTxk7(omp2 zZDNOgJfk6vHkDcOvl7u*m5ng&TmXQ|5DD}TQyl%(GV6#@_j+2Ez`kkdIvzP#ap27ti0ul zgl<*@{_)IXGaY!~vZUmMJK~YTpYyq&^7>;1z^`+{i&~0cBf}q0GW7W7*yhurnng|j zGP8414Li$v)pSKp$>NpWugfd@X(yqe2Pu7s@Ier;Ip1C`F*NM0epRc=5m%?A6*Ri| z^{2EQB0BSfw89s4CC4DiLA`obe$uQNX6&%RKCNBZNQ)Ka3*HpRx>Ku=YXdZdJW z#;wQ$hRn>g1ljrCB8F!V_u$47eI2_I6AQ|o zrv!N^I(ek6%n&fYP`%gocW@(ph{+ZO#47;15)8ImM0z>(=;f08A?bt>p-AZ#3E zagr01+-pJSfPft~W`L0+LnmpgT`M~%@<)8SqoUD;DYz>7dX~+fN9*tRL4E^fbfKpM zF{x$GoqGk4z5j+VJK;}qqi;Io6fCtZWT)eX=-U&CU0#VFb-jLu(6{Ib^4sXurwV=~ z?h}`m)CS!#RJQ;CFkq*$Qrk}I0XEDV9GmkuDAp)+7-*aOr^Mz^_G33e|F46=rb9Z+ zaQDn?%c7o*S+@UEsW?Hq}K@c^Aea+^jJkBsx-_0d%(I!(k zX%D4FggEs!*bPj;ubScZzi0jTmgZVn!STtRYG9n6W1Z_`DL>Ls@!DCxERADt;L4s? zvV@=JTpr&6C@@GAK$CKRj$L5PjVphzK?J?Yd+!>p#CSihXx>+}LdV9itNZ(c-@=@AfF867vS~`r@@bnm$O#;#dFvQf)VU2o26kCl|FL2B{(?Y2OPV+AXo6?gdY?k z7V1bkzgjDad_A6&wsrV{1GC~4h*=0qIQ7TiEO=yHorksC{6s0^v00NXsKTkN32K+y;Efg%baPT#xe z`ISzD*bUfU2h}%Tf7yc}cU*Hvt_qdE1QwEC$c|aiceHFY|LO!;X1XgG8#BKvk56}V zdNmj`F%Uo{bhsorQI#49DGjea>Ly4Cq)VoQJD;K zKI(36NKV~f1>GnPi$2?L4ZKwh?Ug_^mGu4T((u5NovkRU?>N(m@JrFV+uBt#4;D#z za-Lc4_7OYF&K;c{N_S5e$+;DjOq$0c5&2&R5S;KqPTCZ%Xsvcb`tm+-uzXgvWUyZ) zlM^Z>W<1Biwr478`0urn{$GKlu z&VfnS^73vU{_md+*7m81#L5q-xFLBCm=Hu?+Wy{R2<>q-9}#>jeHlL)cfUGz?^)Fa z&fA0&K$E{dJZsp)t1b(KEDAZ=O4qpjh-X9mMu@`BgGnxikC+Fk%s)98`iFY@>U+JW z5>s`f_&PhK6kfpH%r@FWehv0+$*%!VnGH4^nUN*OeAhUd5IR<6Hr(4iYVwT3JeK z^jHi2d3wqq0em1GjDj?+ufUhq@5T}X;E)alw2pqKw@e`7^AEh3186OUNNm{HwA`!+ zgo6mG{UgdOInDEDuDEDY5`)aHep8s10A`rbZdqQyP^(}pEt3A-=i|gKq)~00yI3l} z|0&c!UuFG(Pr##BoanMQ_>DaBzMP}MC=>)1V8MDrjIjTu0yB+O?#I0mV5O1I8+Kz+ ze@wO>R+m&#|2Fih<4}%U{>fPQQWT=Pbf;-L))#~0zl57t`!oQ|M3Z$;uJ2oLFfhbe z42UNak6s4YSv*RbYXUm0SNm^oQRZvAe)WnS7)Py;TWQ;7fpqZ28pS^)rc+jq#l_99 z(s-dKvY4G;TmYo1b>Z3v-eyi38+7{#>4?C;j*KT77FLv@pcEG{%Axw}cnm!sZyTvW z;KTiWfoqiBDhm*y<9^1uVUN~0(kks~oZx+fyZi@Me!a~Z+H2XiNa<^B%2+q_!p-U zgvXP(s+}Uqz}614j#aGXo2iA-+NdC4;B1_7SF{2bYFVSNHl-T^pf`N1!WgXW!s!rr z+V4A`j;EM&_eP=kH)I;Tm%HycKRRgQ7=yhv8dn9vO4V!I5!O8!;);Z=0mb{^L5S24KL2I$zqjBRz%I2-&-lomQg006__*NX6!* zjmEM2lkz4{gGVY14_UF$+wu5!0JW!UD{{?Ajeur65D{D_uLLf@`8C_5F5jO3Hp0h% z{*K5%`a^!ml%SU=k;4j)?cN2;xfqA20Q_eU!A01fPx)-b@%4owMESI zT-BLKy4=L%# z1mE#$`Eu)E>f%t9Q(K}FYFJ8sT6$DSO{uJY$ntX?VU!|%CTXE7@h+hVza5HHyyU=8 zleWQ`mula!raYX$44q&c}6jFvsOUJWV zsXYzB<8{JdUI}UTBgqUGdYFU68(|NT^>ck}bt4Mn=W{U#{ovQ$+$U&H+i?E4T6(h& z1u_HCJzKXN{p3WR@?GB01QaGLx1W(^h( zJ;ih^xV<7U#F#c2&i2iWmTb{i0VFJ2u(5j@$6ZRFGJ;IcW2tsOa~@7sN|cF%EoR%wM#LGRo%xSeVaFL$|FP$eOy#=C)qU@P{1ya1+=PuM{%J@0m*pfr(Xa%f$d)= z8R2SVE-xP1XnB8e$pIn|#8kGmg{QC=ecSJDO9TOf9);~TL4$ZBu(kG~8BSvD^|QGK zP^ka~SVy`lS8oP)pPmX^S?~01Nc5pX$22Sm7&v@2ARA4-0xn@U;=uL>6wkVv8dRG3 zn4({yN^*aGV(C@QnSuZfOt0hc()|%vP!ePtBkLFkW$fMw`vfD#`7{O&uTH0b@?Izl zYfRcAheco{-g|Fx4Ur<2Ks5~PEN8p->7XEZ?4!i0(_5|(&CjD-+keqgEN)d|ZMuu* zvxLbrT#L}(U|)G-{d8Bl;4`SmW&l-3srE(#9w$~x!aD%_-abx)!k=%wKS!owCfZmj zuG|=#k#z$i*HMc6mxP%vPEuqVl*oVg)zh$#*OisBQD(pH@fGCrVMwE3Cf^H4?&Rp6 z$GFEiXGjBUsK)O=0IcvwDO9X)*TR!rQWa&%`IdI`wYm_ke+p{UE~bJL;gDuVll1id z9eunTV-;{ zvc|n@*aHmUtoNoF^S{TuI!U{5dP>XMF&2Ft3~gw5LAZnvGpy4$n)0Zb_lSJvw$ff) z@jrtzxcG={i!qI~=KQ;c9gg+5l63;KR5OU@82hi(*K5IsU_RD9KAkJ}P>wvKw9@`{ zVC&V^*yAVDRp;pAuM;PU*^Pc5)OWhg0^vm_6Fr4fz;ziz64$F7^PtD|1`r?}y}y8* zJ`yM2j5$@$OKC1TAfeJw65L1Djeoa;r-y_!p27t@a+&`I`o|)%7X5s%z8*=|@+DSG zsSX6D`keSfd!?9iGmI$!^!Q(6lsE~8$;1t0sMqaWyGpy2JLD{um*#M%~B z6140^%8tu=^6f2?Q{zP1$vx^%8fBY2F!-5~cseoWWG=!Xc7|lc!-)5uvpM@6Jh5jU zlb^y?XIx-XjR&yP<|a2|Pj&8nbL0o)Fk*k!YsM}N-lmIE42Xee?|Dv@BKlpeOh$_S zd&0jOcc~dAZM_!huyK{aB=wpzcChtx!VF}lEygyRvL>Q-Hqr$&@M_?$=~rn6ZK!ff z7bW(iYy0S*z*>=jCbP9*Y?z)4hyWXB)1P|=Bl1G9Uv<3=Qcr>`m*wHKAj|+4aPN$L zj`@7xN_Y_b+CAumgb`eAUL&6Xmb!8_j}#U`&KtDkzkP9vyCUaVELU?N5H!XRAI|<8 zqIgXebF(WA4u4lFARt5(a!7xdADZ$iO>A1_Sq2$a?!&y;2y+5SBNz`mE9GpGeQzWn ziC|AY?ovwjB0>(hwAd_uE5%p$f`F`mG+*?!!p=;(q4K+r`qOt%o*VY^5;OXUG{Blo z$F}Oh|C_|CA6ALm@lq^~XS{3y9{`l%UA@tRM?kpcH{dZgy?{9- zMTF@GEH^&Cyn#1bdX;weXX;cQ<8t%3VHSoa-C1Au%px^hJYw3@pPglq_-`j8gI4 zs#*=gj2!ki4cvdZ=BSZEOqBo_dw=2ICVT!!P-4x5CZy|S(egvt05Szv%=&o$BgR^E zefV_Hb0dAvP80mmFk!%Eo8!vsAUNM+vxRygsd3;(6L@ly(g0z#7a?iY^+7*%hkdR+ zPAcj`62|n2fh)M{UAvANnK8ht8oM8fkcLLN4-np@Y}0)pLAfP;Kx#x|`&S-h%!2p4 z*z<%xgEN<1QC%P&w}pIDP-weZ- zgg6NNN%U@Mu2vptMdaxm(%4v;e`@f`Rsf@LL}&Wt($P>sCWM3z|9bA*t$fDSjY(;K zp_HrQ6h(#N*Al26kL6hT#@U=_5-Ft*4+2i+e?U-g6Qf`*6YT1%KDEX})2m?o8=nI} zh=>j_G(-T%U*^F`oEnz_m>+r)ywCUR#R!>kA;7}~v0Bp4WB;hprq|PTi|6z=!aQoB z>5JHgS|uL>n5eLOZS+S1ghGUy0p+@C=>$TF%y~tP(^4bbP_7*JxYQatnol$Uda%L- zut$nMUY&vZ)$hQTiYB~Rs-lldH%5Y}D>5hUN!;pfktuHP5hc`jIZH79*$Sx@mCK?$ z8y^a#Vh5ksnQVhUezVxxJr1BzGyK1aqI1g4^db6RtVw{A#;`s7?gJ2U2Hg zz^Im~(ExBSG5Y*#`{LJV1Gon1FNf6=FFYk=Q^x2kC37A0y)-aC*yY;0N&}9vrNLTDw;r+v9WMBR`Op8*;iIg+_mhy!`L~?)X~z$VcKl zl?<2teh^HaQxC6okO|@Rq7ZC#l-;&@rJ5(j7*_@gi+@}Ah2d>$-Flf1~J5acV5~_UP60cjstRLv;nfUVzCgQ5S)e?{G8)70-}Bg#M~}L>vG} zIm!9q@5C9*mN*{De;t0cMEwaav>MJeD)NIe*}|6<#!*$3EyObTx}Vu{=DlW}veh5I zY}aPsl#Og~i}0N{kJIk?A!>n0@I#EbONti6zug-wULy#>LAI#Qy-Ki?b#LD5368i@ zb0CoZl-~T|u+M1+7CsFqqa9>-{3q)-HP&cg25M^n5mzER?+do!1`pRez_b3ZR0%%W zqgI^RF}>=MjDNbZcrIM6_*&a_C|JB9*Ir&J*8q0`M_yE?x^OAY_v{i>&BR(mZKu)v zQ>W5@9l`F~C3B}onfXwCh-(hyefEH$>7%Kv6r%nLwFU+w#K#?=YCKU(jFZ=_{^jhB z!x^1YvFLttZ`8lsViXMI0M;AVFm#=aPsS98CXiU}a?Zdmw6f1R&^=AigXx@G1}VSD zazZM zmc6jX1CgU~6eM&I_o-M)jCwNPhQBcdWga;34l@tPhq?18bkU+ChHEsCnNMT1#jPXl z{QS(~pD=~|p{7d_!Klc==N&*iqcm&HeWVA}%aGT&uS^fAEqL~|0#6z9EqSKvqA5Ri z9~oP<>-J|Q8H?I|UjM9s28yE(o2lrAfo+d*och%1Ysppy>_T_K;%qz`Itz}}nXaR& zGebIwZuIYIjv;~Vu1B2LuaqrRg*QxHFH4HMQ3epqSV7<1070`^3z(y8(?y5CRPryj zE1$dk$gn5GuxI`J9>h)FT4cq5M7P{i!k<5_^)hHKBIZ2rDiD>&lZYab#=wD+m&N!k z*1cIRYhHQpySaS%YXWNg3!G>SJ7(n+WJ{6dh8?^Jy^Yf*pCfUyn+!{;>0Mn?e~#ux zzh*G$jtZfUNUp#C@q6s!U_||NV^Ra*piepWXwv*{{J_5Wkr&^ewa`ku?)m^Q0MmQs zly(eA{h}V>uUZ!{bI9KfTLxiU=z#VrR4ja*R)e>-Xr5&wdmrLcw`ll)#U0q)4!qi~ zQ}7};*QN>H`H4Ig9ya)#LHWwQD3}iym+<4!@w@ogfKEz1m8%QJxbFmN-N6&jcJsmi zTX{W~c7!xQ{+5D}9yHZ;y4VB1-7I;EK}~7jyE8ajaInyK<|QXOG|v73F5Op27(78% z@hQQ?2y4JXd(z@dt?>4+G;N{g*7W2rg5n=MKchTO+vbh$r7yLQ^MvC#NQW$dI+9{) z@!?Js4BSV=ex-==F*fT)3=Bmav3LV9CQ3Y}!+bA<9-O zzj!4D=k{hR6uS5KR2c1f$$Bt!!cKwQZkH?u({tT}}Pzp)75g4f5?M~l`;9=Wfcyx2G z6_}d1?E*#Q>CU@GwGM1`#ojdf1xS9x_uYg)4?_3^r-LFi7>~hdC$;d~*~8lygb`J4#xe+|Z-;fgcwYp;qq7?B zInItl)cYYN?@Je&apqxd37_eBo`vrfS6iuS+-)O@;76V(QUf=InbDe^ke`1m%K$CY@Ci+Urr&X$Q*#`s@`?5 zO8B*LHF&6zx^xp*4U{i50L`Dde*8QKF%~$3=sB4KvYq-sr;&GlU!y~sD91vxVW%%v zhiZ2cXq&gePcIL+)OPp6-=OBtMic4$#-#+-5g`iv9W zC;n0Q%$xkd-+<6$FZJ>`-(Ok}g02>w56H;M`^`xkyhb}ni|#pa_ze5O^bH|)dL#JR zNa4_W*O?K9)3F%|qFCK-VCK8^!09OiluLWfb#R*T%j_?B@*R>`mkA#Q_f zUC&xTEf<4uh}Nu*R0qnaR;zM1{taYYUVf?EcjbY@U8i4fKrq&&JXPW`XDGt(gg;M@ zw;ll(>(<(VGB%JEy|d!LEVA`(e6+R6SpfpoFpzaVRJi|dWf-xcP zw@-+sfd(5eBc8UUsgh|{jC->ysL)I-uqg?2FLP-Cke7(>@=Uw{W^nV+x~(89<)tE# zDGC~kG?)=d&`SzfFE)$z3l{*WS=f>I3cNB9SI6_PanFKI#_BiXnf@-c+8dik5+^GL*#d&@lOZZ?DKA%U!bA|jZ&ewm zr~DPNtXR;MPLQ~{QAht|Ps0q+u8QYOLiL(35vA2*H3;5yJWs}dtdtwz6R?oq?PQ}9 z8edGj|F1qdNieYWw8M&8GiHj13Y}HI+;0E({t}w@^!9cnqKQ(`=pmUeX{2QG0;kVG4^|ucvARd*NUNcaf z13^-Q@V2Lvd+;;Hp`8Hb9SYt~GGa~tferr4u?uXL#+%dwp*U}@Go+%AUYS_tg{Dm2 zTLxFfFKr7MgGy)Ea;LJ|koUuCH?9MQpvf(WbOkN*8W?d!qj<48E*j^Kah_IoOfb_P z2o(Ey4*)g`nQ&}Yy`s`%@-(vv4->+DMDr)^26Tu{r;dHHd^>;-t11k5j|2>ze)rI5 zHz!^D2&9LG;w_2p^d5lIT=+7+a*&=$`S~7U?D%sVc8oMgT$^#SmYm8Dwdo4fxJqLb z7&B6uLjRf1-@!LpG=FO_0c;)-4=r=yxJ;>d52+EL~6g-*sGZvdYML@e3HYTms(1I`k&K6{s zN{w>SKva4g6D|u7SN*fkk8gpUQekom4T7I#{&!c3MasyRC7fCFL7I*k;g8HnF|amJ zTq?^r60e(tH5`;c3=#zGE3Z6N{$LW z%bGAsPiKI;$Y6fqbsw zg%&k@Z!FpDB+RIVdCv9lQg%xQb3bTOFx=PhN5_AFVg25TINYE7G!bJ(MDXAJOujeg zNAi&H>m1C>5;x~MQeO@hmhtGvh@*gnFV8`6wu$9eXb@OEd-=i?_rCRk2OW3JH}LYj z&Gwa`1Ty<1I2VLC!;b7fcJYUL86>&|`mgsMgfcTBF0cr0maHZ86||c`=gZN|R@ZAd zwiIZO+LmmbrLsqAi?OY^ztHb*3`3A`kLp~@!0^AD=5*3(x;S}Gf#KN}<@jtGnn7i*ua{~#(Bf0S3Hm0RzsE$7FM$~IReth7)92>u zpn6*#o{wM4mXB<(^RFE|sUi0G@l+|@DRl4})W?)zzJ6*VqUIdfU^cKqzD3?3?+Srv zSFp((nV>?#={BL?@7H=FasjiF1y$Lc{fZn_K6iBKlnz**M2~A_o$CB}*Cs$*QPQ9{ z&-Cu+<9D5o-}SR}Y3AL}aCu8lUwh)A`W<8_=v^?4`w|du4?rdI#}CQ@hvFA1x0ISs z(n8)ZO}jbmXQenepV)vC)AJu%-GI6jauou6ozkz>z7z#=w~x>(WA*zK0a*H|r?v|$ z_k6BWk2dWC%R-yiB&9t%{j4p;>A1jlx+bT!5hOcO(XQMl z+faQR2gpj@F3b{FmPL_4{%k`CQWRku^Rc71ggn+AoZv>F?W8~I1;trS(3mmcU0d5{ zrDLCFf#2;}FEhTyStCUGk~}pO%Lx|R+$IbKd%0$oN6oWeR|5#MY?Bp_^ECmb-7w+D zo{26Oiy{EIdaVwWWO^`X{ih;CfhH@c+6lD=M#Zar!B*P3>abs6d&vn_sxK!(Kj;Tp z^$EpJqR_#U#roWsV&LIX(%rSCpwo90neiJ&a&uXDxCI4DCzKTt zo-@V;?`>PD{;W_3B{B7yzkO=e{*K1%CnR^Qae?Rkuz2 zq5m~d6sQ@`ectyPZ&Urk69J?$e`s~=(?PVE@Dv=h#6KuR^Jz$pu)%}{Jj2(&cS4@* zCSWg_MUU`lAb(n+WBe%FjUHgOh}2y#0HT6^?%#*I$3gN6#@Pv(-4Dh>mZ&8VH2cC{ z=G?RWEk7C{3R>=!{i3n?TcXhN_4UTG)2(U zif^Ntx}KcGXOckCIC|RBz6iZNw-yf)Q9Rn9o_ptJ+zKnU0F>JebT6t6iq#o;KIo@= zJxUrn3k3P7XSl1xKo9AxmwFH!to8Ef`Br9Y&@m&ae8;u(WPEKo3lqI&?>tSqRZE4J z0$Bph(b9t|pVksQG;}?mQNWlllM?3BJv92jnQ3-0l8vclk)nD(est;{Nfp?pH(2s3 z0t5B(jBfUrTtuCw8B7nr!CQ89pCtZSt1wN{7GUOGM(nB&VCZViM#f1-rU9xVHT?~ zD()*+AdGR!PC3?D{jw0Zp&&C__>AYT-&Uy}@S%$FuL?jsGIOViYgq5sc-y7ez~DrI zUw6vYAh{wfHD%cgmUR6Q?BWcH0dg+;!J#H`9;hfKSW!c@8C7+T=BXb1mw_B18iGTu zuPEe|YH5DRYi6jE7x|xWAH{PEbZc2NxFY+ap(9w%eUzIXVy}V~kl` zb9m_;#Ii9gW#p%RBexLIV50(RD6zQEpn5^M3>j|&&kwr;dfGl$if_5LLe(BsQqIQn zLr`AcX}OuctFM%?PV1s4Y<2afpL~M*II{KK)s@%3`R)BKE76?pUsQrNMln*qo;{v= z{TGie!07oReaRQ+1ypyQ?E&*16~8mLO-Nn2c*^p7IUMl7hQ`plGuAb!DEb;E+K0B} z-ia7;N+m3zs@>uy&H`@gTT;aZ-ktMDeudI++g6bOhU3&uJqR%QJ^YyX2iaH%=OTU( ze8uQ!T={hf!d8Y{tYqXc5bK1P!5zCvjTp{7#XofLVi44M;Bp@*xYIu%Na=q7Uw^Tls3<^HE^bopf4!0>?lHiSL#;_Gf*A`1_35b;0!#%dvAtppO=7Q}wS!=+&`O zDQ9Ph+GXO=0Y~=AJ10Fo1Bim3Ie7I5@uu1yZp3G}czuLUlNC_&$;`$??jr-4;aRds zd(_H&z}u2h__e!l{G|m`{P5Se4jq86-hjBs$F)l>6$q8_uq7N zMd2Ij5`I%j6Bkze@9V`+r*KRB`PSO9ejM-+o(d^A%%ZK&VGO7!2R*RjoAK8EU!*{n zpljo_Am~U_!l!pt{wu^Wb~;oB>bG*1CQh`wcGc^09*zux%e2d`*^z;n&3~T0e*9hf z8o4`AEu)z>a^M>M4%e;{Wzc2w`@qnzUcE&G$i{$G+z_%rpCK2?lbqCgHCCP~k>KlD-z&$ zukk9_{Qz0xa%PJZXkE7320gwION zQygXEuTK!acL&iU)Gmn+sG4G|9s8&?bv4=vB+GbIr$StA3M9{#KoNsc#Q<_-2R(7fGSN|J+b- zaEY^A^N^QoehL0VgbgNm@?hm7-w~oLm#>!}qEmr&vVQk_7P@5Mv*rV7^K%UAr-98! z*vdq_0(ppDaq>9I;F>|!;;(lWf4{nEWE!7c93odw9&~!VnK@eC0!mcK4ZMkaUfo2= z+lFPVurKr39lSopPEYk=-#~~Nl(l_A!7AeM;8EtF)4*d%7 z?$bsjySP9%=M`) zv3F=gCqyz39(FD;GHtON9mu7SmuxY3a#J~Q{dqlU##v=zRq$dfb!&(mmNuLKy+i4@ z^<%f5zP<0&o-^>R7Zkr!YtQ*&*zRI4pn8~J`C7d7|q`##eY3O-qz@&f<~Q| z`!YGVloWes4{DwOyLQ5rEi#sKTd2Z%aezI_P|(^S)L3ic9Q77+pqt~z9sO2E9UMr` zsFtA?S7JWfpq8%m##`_C<60G(21>4uJ65L)&HM50{Sfe3dHMk5GxR%mC+`A!(QRvR zyME&<{KZV;f+e?H(La558hR^Fc>wNY>kexp; z&F!q=qN>}68W7|?@;9fHbnPjv?@4urh1dA;*6MqH`aiKQV^`Oya#956?8}&qEIR+1psFq=~Di1twRr~`N zNKvQl4PlSAEgug?V-uxTI@Z@6YT>Z9)?O>&Q3zyafnjdhpKl%Dyv6nD^?Qw+lIF&J zl*f5y3Z6dvpN{sFyq4*-s&c)V6>qydqmg_j-?-3lFSk1-{G|9Ny`~1A!JDk~h%CrEFYNnk z(+W=tCqc95*?+QCdBp{kUqU<1BbeeCbi4D(T`q#x70)a`ag}F>n$eB~@0-uR17sUeL9qqofGq&o*}9@j2Si^_DS>X-UkJ4PkED=}{LJDEB; zbdF}>@#9j=YpqXrwKH%mRBO%XN%%JU&O;}Sg3H*ve)|R^^=THES9h|7V;Fr?33jQ1 z75Rviw|&#>%s4;n<%dM6*6p}v{m{L3UbW}zY~(s0tkuSfRw+V}I?C1($aOdN_QJc4 zw2D%h>Bgda5qLwlS)-gtqrG`k;-3Sh+o379Pdlc@(I(Z_s}+rSmq%+#+$_Fl1Oc5EYedoJc4*!D-hU;dl4EQ_f=QNQj-Mgz^MlBkg9ZT4Gk0fYb_Glu2jx){Xgz+e|zHZ-~r?a+@1p`dTawvh!RO z)WlDaKOOIXrT3g^)(mb zy3e>yQh=9&A2SlCut=2nWoX{Ga6+R@y{wcP<^NIqjajjiZ7m!*{)KR&e)xO2m9Q!} zhL;&H*pVk3FXS-2e<5D0SN`r?AQz!wS;)!m$)Q!VFtk<3fVyCo6Zg~JMb4T>q2wqeehC6@y|Nt8wjVS59&S4FgrUuBzXdq z$u~uo*#7mrPtA$9-U^foZy={lx%>u3)zDIqfJ2j+eRSv@N|;Ob-S{<`o>+7(M^XkN zUVmYwk%g-2tA@(;k7%3Z{1C}D;&n;AlKG{a<*FJm?NLXWMYi|I@h8iqE%UYk1Uj|) zGdgktW|!rcN1Cf{E1Kvb>Ma>`Sf&&)p)!%LzSqca&Acv|^GtUZPUtULsA}8}#0C28 zY}S2qb&d7Y2JbkOB|JvLxe0~&1rLwi>_#+9l~3NfFu^UndA+zRTebKe6OSK6j*-aQ z1=CDCHw7;mgos(pC{?`>zSwbLP%4KrAl}8+4 z7*}s4$gg~wJ%V7urkhR3PYkH6XkkFWZiw&5RhGaKt@OF-?~)gXhn9?rXGDh61&ZfK%IEBH zLl$mDV^x@|F*?|zpnoUXqaDzGox@sB{{F-noLpJ6E-AgC+CX*chS%?j-jJ+|sg|m} z%Ns}$x5H2R=%%eZ+&Ld~*8R=aqLos|s0d^1{L|3bIZPG&PK%c3jQ0fJI3<*1HoiEa zx5RH?ko}N)Ju{=TZvRZ0{~%Al>CgEN-1g0t<)Nozm0^de+XLi=+k~g9DhKR$N+!j( zHJeb!E@Qlw0>2h*o->I&k{u~NGC>WPUL^;g#{nf zo){_;v(dq-3$Cs_`F+JWYtL)Yk?OTF=-!(hOjtQt-@uE0m7;N6xnM{cwcPP0axY^0 z(lbfI#X5#!`9O+Qm>3W__rHqOccEd`O4d(KOl{-5=i$5bk#8O=BE*CxG%WL8v?&bq zx^wsQG+zoj+cTxbBFrV^DOd)yDsJ}nzGigb(hy2Kt-^7!#&yCa#4Uu-n_^ZWlyyM?lp+2Zp1->CY)|D;! z{v8lLl#ytEDM=O5U(Xf#wq5M^zGIjGb{4pNOE|9p9~jFTZ*$?7X7pj5zruM zAnuOxTT;Ze)|aS=E`*|vF{7=@lizaEzLsBoSWHWjSR@t>6YM_7#GP3@Z`HVjcJt}* z?D{fN=TdLqFzJbiqyi=l03=grdsh`~y2G!e_MZ3B7B=2{Z@M~jmulhs^Y>7F?dJ1T z3%9Q(Bv!6-6?ZC<0WHf!2Onr*``#0UJFvI?_$(@{eiCl&w}j{1b2zI!QPQ_ZCUWZ! z?jFg)vEbYGfA<8DF?ih$k`E9-9Fkno;#We$&rzSm%|d=E@x({qEH--Z*W3>k>`Mw* zEBRSdd{IHCfsKXcyY=*q#Cv{%|A59W^TKKd3WFE&8E*?O5$Ns=4D4Gz58Tp%LvgF5 z573s~P9kg5n>!DXFwI~wn8fln@w~?Uv7NsA+2Gwoto4FHtHK$_EZllPNMu>l@?^Y? zp*DJJ!{T>8ai!|vAhjWCx{)EZaet0}Tb@_%fWo8?d+_UMSUtu2H_q}~ldkG(c1BIY z6&AVEHum>MpyLe8CN<%7&XGFeL`+G!El`_8-Mm|p4#fRIpyz{KB6}fY>9DMU1A0UZ zysc62g#W#u#`p3$km9g}+P=>dzx#RL2Sb}&aWhZ39Y}Q&28J1`)3Hpv4^)SAiIo+r z|5k~nZ{<%)J&-pygTSf+7gYr&qZHgGyvWTCz*u9K*#`x_285jtaf`}ic*NE#*R_0) z4GEf7SmdD?L5V-LIL=-}3TDVIxCmEy(!17k-a+M)j|#$gZy=|+@wUa0q_6$>F#VMh z%c>W#l3p1&IG1dN%W%|_BKaxeuq|d?&3E|e*1odUy#a#qX{|pqJsPpCd(}Jr#@rkd zx*@cQI^1JPyZstN54%gm&n2EHIr%>zQ7#=Q)b|_3pMU-L?B!JF{@=*1%c;Y84shg} zV`&!C>lb^f-_6>%ccfa2rGu#tyYYP$U1%H#_0D;f$vn}ZY|v-b(irwDUZ3(I+kk$5 z)7+qK@t1%}7{APd<@MB?>9z#)w=0v&eRwTzG1NKp!2`mPlX^{Eyytih0Ta>&80rPJ z#Hxc#L4w`qsNwMO|4*}`oNXDJb>;GFYuQY%qkMspXWsw>4&?S`U8|SMf4Zyo}klOaDC7s<4Jn|5a}7R-3+XMmX_= z?G9(qPn%%)*~?w*xz}XEmA-JpOikCH-2MIz9eAWp*$gW#cygPL&|D-dq(R*Xa*u8muXYKfsK#45ZUY_N?qG{R7m^H^?EQUU1muhgXz7$)$ zCb%3B#Olc7Or=-%`kBHsK@e*w>f?ly!||R5tfXni^#5z`JN&7B|G$sD5>hFfhU_NU zqhw@dWN)%Ub`IwpM2R94$=V;C}r4 z1IPRQzFy-wUa#v^7ixd$mVJqeRF#| z+)eqv7!4!4IxZ5_#JCR$opvzUsYW74D87HP{j-Hf{W&lFfvs5W<5>X1QX&d(z#0d~ zF1Bg!JMIEt%}3toulVMzX}UT|YvDZux)bN?RZJP5x>5(nesZPe4RvuP%#Z4nH#cf4 zxU|bR!@puK;}b;1361_?Eki@Bv4}m#>G*a4LV7IWiNoEw@c=51C!?+lOe6eSHJdE{*X(@90`x3&mK@iwBuy8TzOn6A5%5=M7}DDQ&#=+^SmV2R+DoN>MM_F(a2*)N}oY)S8q9~UNWGg+RCud+AN z8N{5^re$LUwCxzxLUY^F~$(A2AEm$ zt3m-iOgGW%XCT*JNP%{ya8+@ynp8;b7xd|o8{pO*0#B`33K zLe(YTY+L~(;=KvEwO$`#o-59;h3E&?3_2U%*rwPTsK~?q(>LNyH$VG|$tl!MIZuDn zN8`~8n2=JIl7QYnad`XGlS21xFBh5h2ZG_=N35~C`E3KbGZ)$7xzqnTj;38McB%H)7!(RX%e-Vr?GvXvX;M-j^?CcJ`S{(F87a6fXIx_CswNDFi&A)kg z(ZLm`9O`r&zY$BxA^Im-%v2x`+iemp!?G&ws3%H}4U{wds#C^e@soq+)c&383xOuG z(}HmT>s{a48e*P3TvYOWAP`FQa@vUYUW&L~S#q{DS#ki`{O2T|<(2Rs{|-JxY-wZH zwovoYW+n^l{H&>jsA;*Y_)qFq;y>)`W;tH|3OqFo>}(`r<|~y{Sl05@ATQvyLKqBU}slnUeSfLsL)*W;kTN7UsGa)9Q^1m84E|?2%E4i zTuyV5p!HKpR^M*}bJUz(zM_rolDjS9c0x#C)YRCseUmj`C)5JpYU z&dZck@Vhhx27jv#$Fd)I1x;zuJr z_ww(K)^r}8bA(&Mxi;`*%~z3W2SR7Dj+Zbo=V5Ob4G$OAvDXxNYDj?(r#R=+S(gTs zQ$WyOJ`eW8qr%MBu2#}#q%3}&S)A8gp_t2yZ){#6GIHp-f1r%a7m(u#T~A5cU*?3h)|h+m7kQvft>xh=H_@6@wFdIqHDO-ps&Xi zhZ707j#NogfDCiM*?a_*zrNws3DkPq(y7I-8i)%im;v-lK_cz$YT|kE#!tMG&7mQc zgU`|legUC@r*;N}(k32m6+CCu;cE`I@)yR~J>Q!(y4OgmH^18_6ZJ5MX&DOKx7TOU zh-VeO`DZQ1kui+Jhmd%vzVOC-NQ5l-=nt+=dBj$(kSZ?kT4)a^z$)CPI3x80`F$1Edz4fLC168!y=%OZ}Z8L@y5B-VGrY} z7440&p9isHt@gNMkDorXi^0b#vs;0Gn%_@(GX=8!*6_%#_d{(wKG0N2->pItqh*X! zxP9?KNF?FO&FL*eaW6APWybC+#qloOyxdRd-knWcSm`;gVF)(92BMb2iV^Ok0U+cy z%c(tN(BDv*X04`l5z{qh^P=K?-*3d76|bQ}Oyv>aNJf2JfSXFvq}{R4@)?B;<5opF zkIzJf{2uF4TRhu1bpQC*h>XTPYZMnI*$=yBM_%*FX)xqeYR8!5qUhR4u~gn1n-;~X~Brk&)3Ahs`n zE4JUef4~)6PpN4CoNEK)&8j8~S{xYV{%$lfQ*rS(> zf+jW5E(u=Fck`42bX!6{43;fe4d0nES{d4UqI`5L5l|w4#kQt(8I4qu6c;z!Qr?TV zF=OwnkjjEsQ)Mf0jN2=^&4cZK0-KLTPO!iT?lr0S^uon=l^?P`(L}HTXRl?S($I&1 z^J^@S%w;W*;uNMAN0clxwk)z@o(o+WA7hS*m+8!^iE&KF?YFu*)d1KVy5oEuPfF{A zkJ_7(mWcGQkXv5&#ki+$1#qSe_SHN+>=fYPEqQo>i?e@>4N6|7+mA%@VLe}jH*Du3 z`6`OJAI@p*uMy4(e`ewJ>dEaL)&h4c@ID64=fJ=jovkvFDA)23=0Ton0eF-2>S)RP zGZ@#1;wqVcP^;Ix7R3Wb3_X$eb7mSfVR-v;ytdQonep{s+H19G&{Z;_^G`5`%k{9R zhts`8D-?1wp1|$xY4DwixUojfMhQo@ok4 zP7T$D&XPpz)5E;VJ5$SkH@u<0FB7&+W%f7nuAI3#Ph-h4|3-(~WA=z~_KYu)u(lkl zb+49`3*sKWfLnB#VsNxdh>BCE(|V@3sRh=8H0CT+RxJ$a!y<3=<-5B)H;1%>0cG2_ zQ0|PQ+c~KRd@BW$xmLYiQ-BO!1Un%qo8>h=ARVX8DkGBu*UJ_5r`br%w|}I9=68kX zhCPQv@$JbH)64P*`=QB*na34!2i9Gv9h%NOrA<(;37-w<2FET#!^cT@*ieb?#?T6! zOU=eaTv;h_zt1!k%##>{S$z>Q+a8wumL=Kqy57>cTR2SOO=3tgBlGAlm`d^IrQk)hoe7I=<0W%d6Lj*fGtbPYGR=A zUW*Cfuc`nv+&fw@y*2u#1L9a7yn|u-!m99*(|1i@gAR)lgju{P9+9D})RiVH3^C2* z@u?EB%ZhyUj8cC{y))4g`eXkFbiY{j#m>5}e*I?4*+2QJ(Ff7E>g&^noYJK{=AQ~{ z1WWyYOED-xllzyiz=p=|lOXlSVu5ns0ZAo+0EFd2es`j8WOL50V#+x79)k1J4qKWp&>K4UGXA7E+Tg zG$74^VhUVel1M`R6{DjlU8;S)aK}m|hPt>dWqn||)&tg!I2ZBKDOsYF%~~1=U(;p> zIaM#eP!eeeP0NS`nv+ORz5C~LG?iEF+|lEcCCU+1X-t|?<~Mol;S>B2FQ)_P?UuGj zH4o9?8xb=N^RXt;Q9-nOk3^x#U7I>aZPazwbQ*bs_96q@0M5qc)I+A89sgbFjQLP! zFZFy!`6SfiXs^ATQSjS<23F|E@xXrM3?2JVHD^6P_#i!)rWIUYEeIbe`}LrvLiJ_{@IPJ~u^*fVchRsp`sk*V z&r2OQOhHqF1fsE09)Jp?x^_-UK}b+$eQa#IZE(4LeG~5P=&AaZ=`t4>wFnV}Uw*Bv zOX9W|u~i_aJcOYZzY0GV@k9K%+~4j4bO?vgaA|v#H3?-;<>^YGQk|U=PEfX=$_I_o z1p;?iIQ355tIVnPk3l0k_>Z~W&qKTboyCV1`zVez)wJ?(hB2{@eeBf)b=m<1H5(c` zY~YT1Yg3*gpeNZ2c=9uENgc#)nscH_o(|@>swS7zPB}ptodTj&J+Y>Y;TmRe;jyTo!wayNDm7Bb?#Qy3pPAnb4xNj^yu{; z+~e~*Sx$I%&2%0dXiA{I|MuX#p>Iw_nAa)z>f50qYA0Q2Uo&<-DfzEIWdxar)Mr18 ztEh%xNTXyf+GWJ62KwsPx!ivB`;1MXDi_9AvKq>Uo&6}4YCP=naot)|fW_A|xhn+U zPe8w%%QfeF%=p1_u(U7Nta`ntw$z#NY~P0hO4ttxi+*H{)btf_?WA6hkBNt0DpQO< zOU4}hr$(+jfMgIrywL69GqK*)wR(l-3gpA~YWfuBKylk}W$v6lp<6#c2(rRngF7_Dk~#iKl7~?g)dN48I-2 z`zv<8UNX8;6ZjJ$8kNKr*>PYhn zZY@%+hnx)w=IOv3HdWqrb}V))(IW5Z*G!ndnHyu;|5}l;gr1m@XLyzr3{(YNshq=` zyX(9U1<2Duk19q~wZM2EB#6p*yMr47+PrVOs0(BBfb>ya7}Y_Cf5dppVl>%exn+L& z{Y#aeTOxy0xV+AljX>`Hp950hU8M2)FDyH4w$<17_L3ri8e7EN#21-IiWDsnbU3X>UOo1fI zZPo4eBuVxaP7Q|kEBcOou9>D!FT}WNqt0wa%eXHJT{9Q~>5Ua#GS(4nyrQa4k}@Fg zfg${3sNZffwPUe^Ln!>RC3uolgMrr{{yp~!Psv6elPb*Knf2_n%1@5n35l>8Ls$uk zH6{-WCoM}YT-~jIjAKs8O2cmJlS+vKC?%-0>x+AlrXK-i&J{c;oQ!Hx_+A;ke0b8y zLvGy%{OOAfg<7AT`}w+ECl!S{Pje-Ev{Fn%d{!L$LO#lyMdIYpZ>T^1^MrUu6x`X%rHKX-<>+Ihzb6^vl12`$rAGz{)ieA#>zC z{1dz}yRwoRqn=z)2=44LKuBYDx>=nWRwXhkn3zVA5yZ+k;a2XJX!y?g`(!x9vY2Z_ zlUrZ<@QH~om`Z@u$ioa99r|_T4|8Aux(F1S(L(FFPO zpZ@G}D^z8$um1~EhAE)eZ<6*A)(W94Tj4-Emwr;gnJ5Sgd#$|$%xT)q-6^q3}w3CCr26`>7;$2+~{(J=njpYK1uEyE~RIYjLZ+(C;_$_ZCe7@PUi!M5#x#v zLL7*oreGFEC}a6oo0#3YYQYv={`%{8dU?tuyF-@11`uisLC=M6dAqmfeTDVtm1Juy>*_w?3zeCtA>Ts$$iGYyCF-)Z_cb=>cZ}o^66Cr)-h@F)`zPRpMyT=<1e6WT1?5Z?vvQXs>b|&S2xmO&OeP> zQhWpww^eJ!j7|H;RKK5aG2f^=ybxw`@MB!K289_L$)3g`&o}P&YiABPN$pK&38}qF zimNfEqrDXhyBsppn-0LpdxLvfZ#lNk@viQOzJ>2}($Ffhm_V;&ro9sdih=7>wal_%qkkJTu$}-;7Fq)&3AIValyv@ViYSEK;4> zfpomh##B})i4mbB1Kow|rrkr5FR@Ic1Y-ElBG4`)?JR$QwH^?IuyGvw!Eot##5sp5e~`SNo`W zOS2xBSyV4lA90;|bPKpSdDtr-0-i2{AG}|~Mz|MaFxKyM>)V-8oJ9IYGmXA`8#^-% zd+_SHi170}tFC^i9bKg2f{^I_&W;Y_tz#VG2-lk#1E2UH)o?5RR}I^7eyPo+ys?V) z&24O(Wc2YuAsJ9dNxy$hBLqQ8?r-|(UjHY#i$ES_k6f1CmaqUBejFSrZR{TU1Vc2+ zCy+=Ivfp4m_?LV|9PSOs@IL(7*lmmAKzb^ohSe;F&cgkew%mqgH>lB_xCdP7a&D47 z6Aw0TJ$`+sE&&_mIrD7&rF$NM%zy(p=O{v&5LLsqgQ|h2s)ow`36dtMN2q)KuQ7vo zK~xH=pQ%x#S7pj==C6fSji{199PjLFQPj>e5=4jqzR3H-WyX(dK0cHo)voh|R|$wi zGt;wZ8W|nA|HFiN0a++ukzBcu>qR4tOQ2WO7A>2Fq0Qca2I- zwXFnfmHv&R=is5~u<(pboqys;&hSbEI%vcI{}D}!qu*-(iK9O9xb|Z=j(yfU{Gecn%hM ze!%^#9@$8VO})j4V@UeASyTU}e5+Dq$gnHjHxVbzIPKgWFh6cKyZ+BLWACixwqhKW z;q@&n#n~TS(qDJQ`U5vpab}*_&%y4Yq(RjwOwP~EX|SZhK!1S8)^{LfhAH^#kf8Pk zZ{KOZO8;Y^d}Vwhd!2>+Q2lfw$=j;`laM6?A6+CJ9w(m}H3oVk8x;T2+aMIas(+@c z>I%%p(&*|lGx00pYYxD{wgN272VXPMZZ$Ll#5=7)E4gU#)!A4Sr~gQigycBQ@B6NW z00KMyY^!Bocbye6D&ke&(GqpdDC}cU9K;w}K)(qmKYsu8XQgFu4w#n!-X#XhMGO`3 z6om~nbXpgYfV$+1y2Hyic+}?MfA`CR_N7sLMIPa8!`!%^IPi{Yf>xlZ@;3Ik1+hE5 z_2$hRUoBi9R;AW&Wi85!5gT9=4eY@*^xb1JpF`fx@C4@!62fLAPsq5^rxbDbDd1e} zLY41~5PAK=+_)~)&v<1P7d^DTy7V++xO{>Ma3m-I*S?A~q3W2h-4hkF zWe;;2zd2a%L+l}yb8amA03QFf0w+X^k*CbCpsVo`uLZA1z>vs>_ zsi9Z_tRUBZ`dS_CT}t@q*X{|8Ia(;32}0+CeADswAy>7WD=xRv8+PS9o*Z|x+&}A2 z&c!J25V~eT2Xf6{kwF4Y*vNJglg?X6i+_|uDh}0)KHZp-qq|}Fa7~f5s?n%%|E|`) z0TtUi9<`g`aqq-R9!L(R1)OzZHs)u*`snpL=J^Yuu}Fd zFRREeCs7mGcU)mQnc)p}Xxr(!$%O>7uX;DhpwsfO_)YEU;c;=g#pF%4q2>xph(5?w zx<>AQ5F>4V{^cG&SIao2ep%%clkloPSk@^Phk}>d*p6pl3Z6WfR-Ck5HDM<)Q${H^ zBrM=tga$EV7-1>OZ)psX>k8e-cg(J2576i4rbF1Rq+oFVj>4#mjmxhY;$u={$DwKOO9BO9sfm$u2?B% zqQW6xykXeloT+1*y4|lx+fX=a3&ZapdZgx6kDaEfU5WCz9H4x;d8@yP5kL;NwgzjQoc;(rw!6jG#@3Stmyc_r_m{}*RmN1oOiRdD*hg=SSF^r!>l z>+0XSqNSV&FRemsPjdB&)DA^dHI}TvFL~Upp6;%&B>A+-T1kSu`+>s5p@*69$D>!^ ztV4#)o;ij?0U|c@pyEvgQy^^);DaErs{5U8HKk|69-!@dIMhv|Ij;U+XZ$|c3J~1d zxk;=keR(bgqDH+zH3pc|W_l`uWxjB;JS5|jPozSikcoeTlcA358adg!^u{y*frFIL z+S_Z-s8^rx_t$74-`vKY!Mu6}{6kkP^t$@$|Bo6G@(0YAD&J3k&gHrXvz6ict#yNd77|+tJnpS!LPUsDD++J*w45f%!41^QrQ2b4x<3 z6rG+_UyEOZ@i+e(m%Vi`dfaHpEG@_L(XZC0kl00T9T@(xr`_I*39_pBZ{?^yvknGd z)O8eHEp#Mc+CNDk;$s>$u`a?$CwklTbJ5FNE02(FCa7p{XPyvv&_N!d&4=V-xeCU| zzbC*JC%G8EHx7+IK{?!}mC(21cI=F9=0WT}Qd+PVCp$e1@jR#a0i1Y9)&h`Hy9+r2 zK&u5Jry!C-sBN-2M}XpSscEnB%!=0VM#M_u1S6_&t&~iOUsH2`(&B2o$@{93F=vdn zSuaQX4E_lkQUGq<$>{RYKnFB9qZ~R@ZLv4+>if*5-dH+fI$k@T5sk?0EQZ_^AWNzI zAa#*fG+u!0>SuCmHpN)%tLmCr`2|2XzL+$qGy(%c?jI&SmS0Ij6z@8z^a1<~>$55? zHLCZ$loCcQbm=+2)|TDR37!5eTWOwvm5Lc`cz{LHuj}!4fbvaTfoFitSRq2ja6-D@ zM0D+t@#91X4e2$x6gnJ1w7kwO9_|~gUEjJEfS5wjHx-k6>5v(FYr+9TTRUTTQJ-ebBLzoRgalCgQq4U{|E-0RtR>Z(D3wy_**}I>kVwNSS!> zdMAxC;_w3mO!>L349^QA*FCp9*uyYHdPN6kHncqQgkdrhq_KXovr*rXr-ZhgD>QUE3;1TM!Na#CM%}n-8@M+D@q3XfMfXlhN_Sa<7lc^6(Vh4Mg ze!39>=5V=D$Ii5IZu8%fQH3biAG9O6_XzSQxSKT6}tv| z#MYb0f@NKxAp1{+N$FX*kt?=_x;c&5&KlB5Wr_m}HC})DyQi>G!R4J_ULw~0-lzJY z%WLZ4&i5uADYH`sp=nO_&<1DyCBc<#Wq}E-P}1I>Yua(V!r`=yhpOU|Ny(Km5#!?^ zi#HiUJabO`^xnwpFn5^xkkbs{lXwVCVft@WHg^iyoxYdqjjI^mM8G<n2hS z2cHg_7)1Ob+NmD(xgnJ+AUkG$GpdA(NFScm?ZFNEJ^cWDa`eMNUB1mErdyA%v$nvLA!QP3qzy!W@K?}h4< zJL5cOi-wa9YKLYt`k97jNm1!sw$;O#aDCjF(JW!eBgckjh#0{@4!<7LL_~*=-Z(YC0!Vg|iZ27wI?55N8J)o_xxW1}!=;Vl= z$ASnNegG!?yr^_&BQA+bMTONWLkxFj0(p*(H>Q7haN;h~{F&{M&dKo*JVRR;>EQml z;8P_nU6z_(QDl?gT-e#uo=nde^_V-`BE1D~3-Qm5bC(^`R2VO;Gq76|z`hrkVEHK+BYt=+$A0zrS2_HXv-=ckF2AB~as^NgCp zVT)ZHbK~Wg$o6V`^(KD@Y)!hb!M8u;w#%^|cXY1Bw-Gl--jcU@9Xb~Lm?ExEPe5e- z9Q+Y_GL0J!D3j6|wTi<){~0sd>k!Jn*iu!~XtS9Ghc5wYY(6V3n=9ruDrM+Lv=-;5 z2X$o^%=g}X(Xt>=WMy4=H|nBbRdugPkW7N59npGmc4R=-a}&;aY;&6l8*?|y(Z$7Y zq>8=W>EcL>uB+d#b_l}Lf#%4a^1!U>Lx#fp@CYB%ex`Z>u{F0TgcrYabmX+3|M8Aj zwRH*;QKL!6>NOYIIU#0Q{bsrP*p>!U;{1_#k2w5u7k#}TH9;Zp8OC@o5Tvc*o&jB(|`A?J$cLOzgsrI`8nw3CpS0yT7nYtydQWB z=urM$FT8oS;W(aw?}s*aD%Wb})RUTduc=s`X{-KRrh1(+w8H!D@WezWq?~-g7wfxv z7cN|P{ehGB-?V>D#Kn_gbhbae9djQ!+|6%Ex+PADx%9A2u30aC7q0e=V0l|LEGIr$ zWWhpY<_Wj`Ta(o0GD)Ga)$RWIiW%8f&wl6W3d_Au!RZzwRh*LQ?e}K7#rw+MFW882 z$7t++-%vrz+Vsg11_^dLIX8xp7UMbBC5MbpOKwRSe%UIK7S$C!b#_$hMnAV;t5`&K zfS3i|bj)EW+f8urU|b+uLfB*S|Bbe_57p3psZw z{AWG2v|adKKuCrqn$>-}ZV30&%mc-)or*VvP`8*~s?>69EUnL2=hGcb zu%KlFi1$Tx+LJBtC{aOYzm->qzw^Ac6XmgqrBnn5|FIJ5ben-HZ(dW+Q0r-arCnFM z%s$w58~R&2&+I02W4LfRD)_hxaw?%J!QQHN=fPdSbv5e(gYUmvUq;%iTPtw>1|vc8 zgw>ZyHk<^OK@NX~Kz|7cEL*A`?H4o&T*;=WSo_`m%?pm**{pxQh?YM*&SyG(4&54A z=v7SD$y5T`?Hy6i88d`O1c|)Z?E@(je|+b!;=D&(&L-GABpYaEOznqm>o6q;; z?Cns)Ye}_R8l%PC1TirT0r8~pCpwlqf9d{D{8#+%_@Cta<=Aa2;PGj3J|IpLJD!U+ zpbTM9S6fY(S3VYcL8N&lb{@e#Gg08g_JSze_gTu5qTcRdTWJ4`7Bf1*s1aFjUG})f z;}p57YC2t$b!4}n-Q4F@%)ljwxoEDj^_&=?Y3%mU=XZ^Np^e7WIGWQUbgL6ZAP*qs z#h(r`no|>(p!bg11Gn+7pI(0BQD3jXv}^LI_u@d?W4Z$qqx>kzlkn%M*NA|yZsF&=R2z$9)bzW2=hXk%!BcNeb@+v(pcp?ifd z$SypjY!U1I9dqljxHnyat2ZTpPj~h7Qulu8=HX~T@`0yg;nS+9#zQ0(cD-l`6XW9* zAKuV*%ij{w-{DS=&qN!3UYXBqcR&S1*p&{|WpQ(`{2AIV==O}4?P;@9sl(b_|8MCa z_@8tDbC=*fRkVb&B-9Z`g61|;yU}zq1>Qe-i_-2oiONLt_?=@`UR+Q*OdmG9|NJ?5 z=HH9-bY-#QZ9Mgdlc%|)jnn!se%&_PxFPXKkIQ*z^*xeur&xNa8!@~3NjwEEW^(F! z(|^*1mH8Q)CsMBFtVc@6uHtK2yU!$azTL+-h&WDl#yakrm=>>X=7Vg%($S5OHZq`8 zSjl}j>t%kyJX-*1B|4+!@kg}ng(rOIxA}$B+2U5mbuzqtY(pY4as^a}XoSfWlJm3d zDZ?nbN4XiyhN>4;EL6gs9BeY7%9*>j&RxKGc(#8Z9?oAhKdK%W$nSn67jrk}*k(V_ zOpkG{{vP&jQ6ACL2x0~IIQkPfIlZmK%#=Lg(r@*#F>o2>N_OD_sFUpZPjcon^EZ!n z&h}NNKEF>6*H9VXcNqW6rruDFT;}T;OFL*3!@g*~EwMc?x8A%XxfWzn#&j>wq*ce= z7xi%=o|~HcM-l(M%7&n?B4Q<#Sxw9it_|l)h2(wU4;q*DYf8k_3>$q&^huH=~Ot&QYb)WB7^Oz(z6{H@SZ!Md4 zL+{mb9+f$rT+jfPx%|)H|Ga_!c?16+y#XxdSXgVxLZO%@jr3IND%$ryD_e*D7xQuN AK>z>% literal 0 HcmV?d00001 diff --git a/lib/application/assets/path_assets.dart b/lib/application/assets/path_assets.dart index 01846f1..449440f 100644 --- a/lib/application/assets/path_assets.dart +++ b/lib/application/assets/path_assets.dart @@ -73,4 +73,5 @@ class PathAssets { static const String imgGuide1 = 'assets/images/img-guide1.png'; static const String imgGuide2 = 'assets/images/img-guide2.png'; static const String frameSignature = 'assets/images/frame-signature.png'; + static const String imgFinish = 'assets/images/img-finish.png'; } diff --git a/lib/features/auth/registration/view/registration_success_view.dart b/lib/features/auth/registration/view/registration_success_view.dart new file mode 100644 index 0000000..ae97d6d --- /dev/null +++ b/lib/features/auth/registration/view/registration_success_view.dart @@ -0,0 +1,40 @@ +import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; +import 'package:cims_apps/application/component/image/image_view.dart'; +import 'package:cims_apps/application/component/text_caption/text_caption.dart'; +import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/features/bottom_navigation_view.dart'; +import 'package:flutter/material.dart'; + +class RegistrationSuccessView extends StatelessWidget { + const RegistrationSuccessView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + padding: const EdgeInsets.all(24.0), + child: Column( + children: [ + const ImageView(image: PathAssets.imgFinish), + const TextCaption( + crossAxisAlignment: CrossAxisAlignment.center, + textAlignSubtitle: TextAlign.center, + title: 'Registration Successful!', + subtitle: + 'Please wait for the data verification process so that you can start investing.', + ), + const Spacer(), + ButtonView( + name: 'Next', + marginVertical: 0.0, + onPressed: () { + routePush(context, page: const BottomNavigationView()); + }, + ) + ], + ), + ), + ); + } +} -- 2.45.2