From 3dd1e6d53e366fe7895c718467156f1137f4fb7d Mon Sep 17 00:00:00 2001 From: jayesh Date: Thu, 21 Mar 2024 17:58:30 +0530 Subject: [PATCH 1/2] update risk profile screen, kyc screen and image picker package added --- android/app/src/main/AndroidManifest.xml | 4 + assets/images/svg/camera.svg | 4 + assets/images/svg/cancel.svg | 3 + assets/images/svg/upload-cloud.svg | 6 + lib/Utils/Common/CommonAppbar.dart | 6 +- lib/Utils/Common/ImagePicker.dart | 36 + lib/Utils/Common/commonBotton.dart | 37 + lib/Utils/Common/custom_drop_down.dart | 192 +++++ lib/Utils/text.dart | 23 +- lib/controller/kyc_controller.dart | 8 + lib/main.dart | 2 +- lib/resources/routes/route_name.dart | 1 + lib/resources/routes/routes.dart | 8 +- lib/view/login/Kyc.dart | 890 ++++++++++++++--------- lib/view/login/LoginScreen.dart | 131 ++-- lib/view/login/UpdateRiskProfile.dart | 107 ++- lib/view/login/uploadKycImage.dart | 384 ++++++++++ pubspec.lock | 236 +++++- pubspec.yaml | 64 +- 19 files changed, 1610 insertions(+), 532 deletions(-) create mode 100644 assets/images/svg/camera.svg create mode 100644 assets/images/svg/cancel.svg create mode 100644 assets/images/svg/upload-cloud.svg create mode 100644 lib/Utils/Common/ImagePicker.dart create mode 100644 lib/Utils/Common/custom_drop_down.dart create mode 100644 lib/controller/kyc_controller.dart create mode 100644 lib/view/login/uploadKycImage.dart diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 2a8ac42..ab55086 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -4,6 +4,10 @@ android:label="Trader's Circuit" android:name="${applicationName}" android:icon="@mipmap/ic_launcher"> + + + + diff --git a/assets/images/svg/cancel.svg b/assets/images/svg/cancel.svg new file mode 100644 index 0000000..578cbc6 --- /dev/null +++ b/assets/images/svg/cancel.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/svg/upload-cloud.svg b/assets/images/svg/upload-cloud.svg new file mode 100644 index 0000000..183197a --- /dev/null +++ b/assets/images/svg/upload-cloud.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/lib/Utils/Common/CommonAppbar.dart b/lib/Utils/Common/CommonAppbar.dart index 4fde113..9c9ec29 100644 --- a/lib/Utils/Common/CommonAppbar.dart +++ b/lib/Utils/Common/CommonAppbar.dart @@ -7,7 +7,7 @@ import 'package:traderscircuit/Utils/text.dart'; class CommonAppbar extends StatelessWidget implements PreferredSizeWidget { @override - Size get preferredSize => Size.fromHeight(height); + Size get preferredSize => Size.fromHeight(height!); const CommonAppbar( {Key? key, required this.titleTxt, @@ -27,11 +27,11 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget { final String? backPageName; final Widget? customActionWidget; final VoidCallback? onCustomActionPressed; - final double height; + final double? height; @override Widget build(BuildContext context) { return PreferredSize( - preferredSize: Size.fromHeight(130), + preferredSize: Size.fromHeight(height ?? 130), child: AppBar( scrolledUnderElevation: 0.0, backgroundColor: Colors.black, diff --git a/lib/Utils/Common/ImagePicker.dart b/lib/Utils/Common/ImagePicker.dart new file mode 100644 index 0000000..20d518a --- /dev/null +++ b/lib/Utils/Common/ImagePicker.dart @@ -0,0 +1,36 @@ +import 'package:image_cropper/image_cropper.dart'; +import 'package:image_picker/image_picker.dart'; + +class ImagePickerMethod { + Future getImage(ImageSource imgSource) async { + final ImagePicker picker = ImagePicker(); + + final XFile? pickedImg = await picker.pickImage(source: imgSource); + if (pickedImg != null) { + final croppedImg = await ImageCropper().cropImage( + sourcePath: pickedImg.path, + aspectRatio: const CropAspectRatio(ratioX: 1, ratioY: 1), + compressFormat: ImageCompressFormat.jpg, + maxHeight: 512, + maxWidth: 512, + uiSettings: [ + IOSUiSettings( + rotateButtonsHidden: true, + rotateClockwiseButtonHidden: true, + ) + ], + compressQuality: 100, + aspectRatioPresets: [ + CropAspectRatioPreset.square, + ], + ); + if (croppedImg != null) { + return croppedImg.path; + } else { + return ""; + } + } else { + return ""; + } + } +} diff --git a/lib/Utils/Common/commonBotton.dart b/lib/Utils/Common/commonBotton.dart index 1c6b2f5..8819c2d 100644 --- a/lib/Utils/Common/commonBotton.dart +++ b/lib/Utils/Common/commonBotton.dart @@ -23,3 +23,40 @@ Widget CommonBtn({void Function()? onTap, required String text}) { ), )); } + +Widget kycBtn({ + void Function()? onTap, + required String text, + required Color bgClr, + required Color borderClr, +}) { + return InkWell( + onTap: onTap, + child: Container( + width: 191, + height: 50, + decoration: ShapeDecoration( + color: bgClr, + shape: RoundedRectangleBorder( + side: BorderSide( + width: 1, + color: borderClr, + ), + borderRadius: BorderRadius.circular(8), + ), + ), + child: Center( + child: Text( + text, + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20.sp, + fontFamily: 'Cambria', + fontWeight: FontWeight.w400, + ), + ), + ), + ), + ); +} diff --git a/lib/Utils/Common/custom_drop_down.dart b/lib/Utils/Common/custom_drop_down.dart new file mode 100644 index 0000000..b2aec98 --- /dev/null +++ b/lib/Utils/Common/custom_drop_down.dart @@ -0,0 +1,192 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import '../text.dart'; + +class CustomDropDownWidget extends StatefulWidget { + const CustomDropDownWidget( + {super.key, required this.header, required this.listData}); + final String header; + final List listData; + + @override + State createState() => _CustomDropDownWidgetState(); +} + +class _CustomDropDownWidgetState extends State { + RxBool onDropTap = false.obs; + RxString selectedValue = "".obs; + @override + Widget build(BuildContext context) { + return Obx( + () => SizedBox( + width: Get.width, + // height: onDropTap.value ? 350 : 55, + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + InkWell( + onTap: () { + onDropTap.value = !onDropTap.value; + }, + child: SizedBox( + width: 398, + height: 55, + child: Stack( + children: [ + Positioned( + left: 398, + top: 55, + child: Opacity( + opacity: 0.50, + child: Transform( + transform: Matrix4.identity() + ..translate(0.0, 0.0) + ..rotateZ(-3.14), + child: Container( + width: 398, + height: 55, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: const Alignment(0.98, -0.21), + end: const Alignment(-0.98, 0.21), + colors: [ + Colors.white + .withOpacity(0.03999999910593033), + Colors.white + .withOpacity(0.05999999865889549) + ], + ), + border: Border( + top: onDropTap.value + ? const BorderSide( + width: 0, color: Color(0xFF393939)) + : const BorderSide( + width: 0.50, + color: Color(0xFF393939)), + bottom: const BorderSide( + width: 0.50, color: Color(0xFF393939)), + left: const BorderSide( + width: 0.50, + color: Color(0xFF393939), + ), + right: const BorderSide( + width: 0.50, + color: Color(0xFF393939), + ), + )), + ), + ), + ), + ), + Positioned( + left: 14, + top: 16, + child: Text( + selectedValue.isNotEmpty + ? selectedValue.value + : widget.header, + style: const TextStyle( + color: Color(0xFFADADAD), + fontSize: 16, + fontFamily: 'Manrope', + fontWeight: FontWeight.w400, + height: 0, + ), + ), + ), + Positioned( + right: 14, + top: 16, + child: onDropTap.value + ? const Icon( + Icons.keyboard_arrow_up_rounded, + color: Colors.white, + ) + : const Icon( + Icons.keyboard_arrow_down_rounded, + color: Colors.white, + )), + ], + ), + ), + ), + !onDropTap.value + ? const SizedBox() + : Opacity( + opacity: 0.50, + child: Container( + width: Get.width, + // height: 216, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.98, -0.21), + end: const Alignment(-0.98, 0.21), + colors: [ + Colors.white.withOpacity(0.03999999910593033), + Colors.white.withOpacity(0.05999999865889549) + ], + ), + shape: const RoundedRectangleBorder( + side: + BorderSide(width: 0.50, color: Color(0xFF393939)), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(8), + bottomRight: Radius.circular(8), + ), + ), + ), + child: ListView.builder( + shrinkWrap: true, + itemCount: widget.listData.length, + itemBuilder: (context, index) { + return InkWell( + onTap: () { + selectedValue.value = widget.listData[index]; + onDropTap.value = !onDropTap.value; + }, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + margin: EdgeInsets.only( + left: 14, + top: index == 0 ? 16 : 0, + bottom: index == + widget.listData.length - 1 + ? 16 + : 0), + child: + text16W400(widget.listData[index])), + index == widget.listData.length - 1 + ? const SizedBox() + : Container( + width: Get.width, + margin: const EdgeInsets.only( + top: 16, bottom: 16), + decoration: const ShapeDecoration( + shape: RoundedRectangleBorder( + side: BorderSide( + width: 0.60, + strokeAlign: BorderSide + .strokeAlignCenter, + color: Color(0xFF393939), + ), + ), + ), + ), + ], + ), + ); + }), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Utils/text.dart b/lib/Utils/text.dart index ce62481..b409ef9 100644 --- a/lib/Utils/text.dart +++ b/lib/Utils/text.dart @@ -56,6 +56,19 @@ Widget text18W400(String text) { ); } +Widget text24W500(String text) { + return Text( + text, + style: TextStyle( + color: Colors.white, + fontSize: 24.sp, + fontWeight: FontWeight.w500, + fontFamily: 'manrope'), + maxLines: 2, + softWrap: true, + ); +} + Widget text16W400(String text) { return Text( text, @@ -177,26 +190,23 @@ Widget text14W300(String text) { ); } - -Widget text14W400(String text) { return Text( +Widget text14W400(String text) { + return Text( text, style: TextStyle( fontSize: 14.sp, color: Colors.white, - fontWeight: FontWeight.w400, fontFamily: 'manrope'), ); } Widget text14W500(String text) { - return Text( text, style: TextStyle( fontSize: 14.sp, color: Colors.white, - fontWeight: FontWeight.w500, fontFamily: 'manrope'), ); @@ -208,13 +218,11 @@ Widget text16W400_DADADA(String text) { style: TextStyle( fontSize: 16.sp, color: Color(0xFFDADADA), - fontWeight: FontWeight.w400, fontFamily: 'manrope'), ); } - Widget text14W400_979797(String text) { return Text( text, @@ -258,4 +266,3 @@ Widget text14W500_black(String text) { fontFamily: 'manrope'), ); } - diff --git a/lib/controller/kyc_controller.dart b/lib/controller/kyc_controller.dart new file mode 100644 index 0000000..dcaa715 --- /dev/null +++ b/lib/controller/kyc_controller.dart @@ -0,0 +1,8 @@ +import 'package:get/get.dart'; + +class KYCController extends GetxController { + RxString panFrontImage = "".obs; + RxString panBackImage = "".obs; + RxString aadharFrontImage = "".obs; + RxString aadharBackImage = "".obs; +} diff --git a/lib/main.dart b/lib/main.dart index 406c806..26695f6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -97,7 +97,7 @@ class _MyAppState extends State with WidgetsBindingObserver { fontFamily: 'manrope', ), debugShowCheckedModeBanner: false, - initialRoute: RouteName.mainscreen, + initialRoute: RouteName.splashScreen, getPages: AppRoutes.appRoutes(), ), designSize: const Size(390, 844), diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 689e3fd..66efd36 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -27,6 +27,7 @@ class RouteName { //kyc static const String kyc = '/kyc'; + static const String kycImage = "/kycImage"; //update risk profile static const String updateriskprofile = '/updateriskprofile'; diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 4d7fc84..0399d69 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -25,6 +25,8 @@ import 'package:traderscircuit/view/secureAccess.dart/Fingerprint.dart'; import 'package:traderscircuit/view/secureAccess.dart/Pin.dart'; import 'package:traderscircuit/view/secureAccess.dart/SecureAccess.dart'; +import '../../view/login/uploadKycImage.dart'; + class AppRoutes { static appRoutes() => [ GetPage( @@ -105,6 +107,10 @@ class AppRoutes { name: RouteName.kyc, page: () => const Kyc(), ), + GetPage( + name: RouteName.kycImage, + page: () => const UploadKYCImage(), + ), //update risk profile GetPage( @@ -121,7 +127,7 @@ class AppRoutes { name: RouteName.privacypolicy, page: () => const PrivacyPolicy(), ), - GetPage( + GetPage( name: RouteName.aboutus, page: () => const AboutUs(), ), diff --git a/lib/view/login/Kyc.dart b/lib/view/login/Kyc.dart index 1225b12..488328b 100644 --- a/lib/view/login/Kyc.dart +++ b/lib/view/login/Kyc.dart @@ -1,7 +1,9 @@ +import 'dart:io'; import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:glassmorphism/glassmorphism.dart'; import 'package:traderscircuit/Utils/Common/CommonAppbar.dart'; @@ -12,6 +14,8 @@ import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/onBoarding/splashScreen1.dart'; +import '../../controller/kyc_controller.dart'; + class Kyc extends StatefulWidget { const Kyc({super.key}); @@ -25,372 +29,554 @@ class _KycState extends State { Color primaryColor = Colors.transparent.withOpacity(0.2); Color secondaryColor = Colors.grey.shade800; - bool isSwitched = false; + KYCController kycController = Get.put(KYCController()); - void _toggleSwitch(bool value) { - setState(() { - isSwitched = value; - }); - } + // DateTime timebackPressed = DateTime.now(); - DateTime timebackPressed = DateTime.now(); + // Future _selectDate(BuildContext context) async { + // final DateTime? picked = await showDatePicker( + // context: context, + // initialDate: DateTime.now(), + // firstDate: DateTime(1900), + // lastDate: DateTime.now(), + // builder: (context, child) { + // return Theme( + // data: Theme.of(context).copyWith( + // colorScheme: const ColorScheme.light( + // surface: Colors.black, + // onSurface: Colors.white, + // primary: Color(0xff9A0000), + // onPrimary: Colors.white, + // ), + // textButtonTheme: TextButtonThemeData( + // style: TextButton.styleFrom( + // foregroundColor: Colors.white, + // ), + // ), + // ), + // child: child!); + // }); - Future _selectDate(BuildContext context) async { - final DateTime? picked = await showDatePicker( - context: context, - initialDate: DateTime.now(), - firstDate: DateTime(1900), - lastDate: DateTime.now(), - builder: (context, child) { - return Theme( - data: Theme.of(context).copyWith( - colorScheme: ColorScheme.light( - surface: Colors.black, - onSurface: Colors.white, - primary: Color(0xff9A0000), - onPrimary: Colors.white, - ), - textButtonTheme: TextButtonThemeData( - style: TextButton.styleFrom( - foregroundColor: Colors.white, - ), - ), - ), - child: child!); - }); - - if (picked != null && picked != DateTime.now()) { - setState(() { - dobcontroller.text = "${picked.toLocal()}".split(' ')[0]; - final birthDate = DateTime( - picked.year, - picked.month, - picked.day, - ); - }); - } - } + // if (picked != null && picked != DateTime.now()) { + // setState(() { + // dobcontroller.text = "${picked.toLocal()}".split(' ')[0]; + // final birthDate = DateTime( + // picked.year, + // picked.month, + // picked.day, + // ); + // }); + // } + // } @override Widget build(BuildContext context) { - return Scaffold( - appBar: CommonAppbar( - titleTxt: "KYC", - customActionWidget: text16W400("skip"), - ), - backgroundColor: Colors.black, - extendBody: true, - body: Stack( - children: [ - CommonBlurLeft(), - CommonBlurRight(), - Stack( - children: [ - Padding( - padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16), - child: ListView( - physics: BouncingScrollPhysics(), - // mainAxisAlignment: MainAxisAlignment.start, - // crossAxisAlignment: CrossAxisAlignment.start, + return Obx( + () => Scaffold( + appBar: CommonAppbar( + titleTxt: "KYC", + customActionWidget: text16W400(""), + ), + backgroundColor: Colors.black, + extendBody: true, + body: Stack( + children: [ + const CommonBlurLeft(), + const CommonBlurRight(), + Stack( + children: [ + Padding( + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + child: ListView( + physics: const BouncingScrollPhysics(), + // mainAxisAlignment: MainAxisAlignment.start, + // crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]), - Row( - children: [ - text18W400("Full Name"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField(), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Email Address"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField(), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Phone Number"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField(), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Date Of Birth"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField( - suffixIcon: Icon( - Icons.calendar_month_outlined, - color: Colors.white, + children: [ + // CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]), + // Row( + // children: [ + // text18W400("Full Name"), + // ], + // ), + // SizedBox( + // height: 15.h, + // ), + // CustomTextFormField(), + // SizedBox( + // height: 30.h, + // ), + // Row( + // children: [ + // text18W400("Email Address"), + // ], + // ), + // SizedBox( + // height: 15.h, + // ), + // CustomTextFormField(), + // SizedBox( + // height: 30.h, + // ), + // Row( + // children: [ + // text18W400("Phone Number"), + // ], + // ), + // SizedBox( + // height: 15.h, + // ), + // CustomTextFormField(), + // SizedBox( + // height: 30.h, + // ), + // Row( + // children: [ + // text18W400("Date Of Birth"), + // ], + // ), + // SizedBox( + // height: 15.h, + // ), + // CustomTextFormField( + // suffixIcon: Icon( + // Icons.calendar_month_outlined, + // color: Colors.white, + // ), + // readonly: true, + // onTap: () { + // _selectDate(context); + // }, + // ), + // SizedBox( + // height: 30.h, + // ), + // Row( + // children: [ + // text18W400("City"), + // ], + // ), + // SizedBox( + // height: 15.h, + // ), + // CustomTextFormField(), + Row( + children: [ + text18W500("Step 1 : Personal Information"), + ], ), - readonly: true, - onTap: () { - _selectDate(context); - }, - ), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("City"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField(), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Upload pan card image"), - ], - ), - SizedBox( - height: 15.h, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - GlassmorphicContainer( - width: 170.w, - height: 105.h, - borderRadius: 8, - linearGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), - ], - stops: [ - 0.1, - 1, - ]), - border: 0.8, - blur: 10, - borderGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xff9A0000).withOpacity(0.5), - Color(0xFFffffff).withOpacity(0.5), - ], - ), - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon( - Icons.file_upload_outlined, - size: 42, - color: Colors.white, - ), - SizedBox( - height: 10.h, - ), - text14W400("Front Side") - ], + SizedBox( + height: 30.h, + ), + Row( + children: [ + text18W400("Upload pan card image"), + ], + ), + SizedBox( + height: 15.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + InkWell( + onTap: () { + if (kycController.panFrontImage.isEmpty) { + Get.toNamed(RouteName.kycImage, arguments: { + "type": "pan front", + }); + } + }, + child: GlassmorphicContainer( + width: 170.w, + height: 105.h, + borderRadius: 8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: const [ + 0.1, + 1, + ]), + border: 0.8, + blur: 10, + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xff9A0000).withOpacity(0.5), + const Color(0xFFffffff).withOpacity(0.5), + ], + ), + child: (kycController.panFrontImage.isNotEmpty) + ? Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + vertical: 20, horizontal: 40), + child: Image( + image: FileImage( + File( + kycController + .panFrontImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 50.h, + ), + ), + Positioned( + top: 6, + right: 10, + child: InkWell( + onTap: () { + kycController + .panFrontImage.value = ""; + }, + child: SvgPicture.asset( + "assets/images/svg/cancel.svg", + width: 18, + height: 18, + ), + ), + ) + ], + ) + : Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + const Icon( + Icons.file_upload_outlined, + size: 42, + color: Colors.white, + ), + SizedBox( + height: 10.h, + ), + text14W400("Front Side") + ], + ), + ), ), ), - ), - GlassmorphicContainer( - width: 170.w, - height: 105.h, - borderRadius: 8, - linearGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), - ], - stops: [ - 0.1, - 1, - ]), - border: 0.8, - blur: 10, - borderGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xff9A0000).withOpacity(0.5), - Color(0xFFffffff).withOpacity(0.5), - ], - ), - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon( - Icons.file_upload_outlined, - size: 42, - color: Colors.white, - ), - SizedBox( - height: 10.h, - ), - text14W400("Back Side") - ], + InkWell( + onTap: () { + if (kycController.panBackImage.isEmpty) { + Get.toNamed(RouteName.kycImage, arguments: { + "type": "pan back", + }); + } + }, + child: GlassmorphicContainer( + width: 170.w, + height: 105.h, + borderRadius: 8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: const [ + 0.1, + 1, + ]), + border: 0.8, + blur: 10, + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xff9A0000).withOpacity(0.5), + const Color(0xFFffffff).withOpacity(0.5), + ], + ), + child: (kycController.panBackImage.isNotEmpty) + ? Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + vertical: 20, horizontal: 40), + child: Image( + image: FileImage( + File( + kycController + .panBackImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 50.h, + ), + ), + Positioned( + top: 6, + right: 10, + child: InkWell( + onTap: () { + kycController.panBackImage.value = + ""; + }, + child: SvgPicture.asset( + "assets/images/svg/cancel.svg", + width: 18, + height: 18, + ), + ), + ) + ], + ) + : Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + const Icon( + Icons.file_upload_outlined, + size: 42, + color: Colors.white, + ), + SizedBox( + height: 10.h, + ), + text14W400("Back Side") + ], + ), + ), + ), + ) + ], + ), + SizedBox( + height: 30.h, + ), + Row( + children: [ + text18W400("Aadhar Number"), + ], + ), + SizedBox( + height: 15.h, + ), + const CustomTextFormField(), + SizedBox( + height: 30.h, + ), + Row( + children: [ + text18W400("Upload Aadhar card image"), + ], + ), + SizedBox( + height: 15.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + InkWell( + onTap: () { + if (kycController.aadharFrontImage.isEmpty) { + Get.toNamed(RouteName.kycImage, arguments: { + "type": "aadhar front", + }); + } + }, + child: GlassmorphicContainer( + width: 170.w, + height: 105.h, + borderRadius: 8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: const [ + 0.1, + 1, + ]), + border: 0.8, + blur: 10, + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xff9A0000).withOpacity(0.5), + const Color(0xFFffffff).withOpacity(0.5), + ], + ), + child: (kycController.aadharFrontImage.isNotEmpty) + ? Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + vertical: 20, horizontal: 40), + child: Image( + image: FileImage( + File( + kycController + .aadharFrontImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 50.h, + ), + ), + Positioned( + top: 6, + right: 10, + child: InkWell( + onTap: () { + kycController + .aadharFrontImage.value = ""; + }, + child: SvgPicture.asset( + "assets/images/svg/cancel.svg", + width: 18, + height: 18, + ), + ), + ) + ], + ) + : Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + const Icon( + Icons.file_upload_outlined, + size: 42, + color: Colors.white, + ), + SizedBox( + height: 10.h, + ), + text14W400("Front Side") + ], + ), + ), ), ), - ) - ], - ), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Aadhaar Number"), - ], - ), - SizedBox( - height: 15.h, - ), - CustomTextFormField(), - SizedBox( - height: 30.h, - ), - Row( - children: [ - text18W400("Upload Aadhaar card image"), - ], - ), - SizedBox( - height: 15.h, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - GlassmorphicContainer( - width: 170.w, - height: 105.h, - borderRadius: 8, - linearGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), - ], - stops: [ - 0.1, - 1, - ]), - border: 0.8, - blur: 10, - borderGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xff9A0000).withOpacity(0.5), - Color(0xFFffffff).withOpacity(0.5), - ], - ), - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon( - Icons.file_upload_outlined, - size: 42, - color: Colors.white, - ), - SizedBox( - height: 10.h, - ), - text14W400("Front Side") - ], + InkWell( + onTap: () { + if (kycController.aadharBackImage.isEmpty) { + Get.toNamed(RouteName.kycImage, arguments: { + "type": "aadhar back", + }); + } + }, + child: GlassmorphicContainer( + width: 170.w, + height: 105.h, + borderRadius: 8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: const [ + 0.1, + 1, + ]), + border: 0.8, + blur: 10, + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + const Color(0xff9A0000).withOpacity(0.5), + const Color(0xFFffffff).withOpacity(0.5), + ], + ), + child: (kycController.aadharBackImage.isNotEmpty) + ? Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + vertical: 20, horizontal: 40), + child: Image( + image: FileImage( + File( + kycController + .aadharBackImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 50.h, + ), + ), + Positioned( + top: 6, + right: 10, + child: InkWell( + onTap: () { + kycController + .aadharBackImage.value = ""; + }, + child: SvgPicture.asset( + "assets/images/svg/cancel.svg", + width: 18, + height: 18, + ), + ), + ) + ], + ) + : Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + const Icon( + Icons.file_upload_outlined, + size: 42, + color: Colors.white, + ), + SizedBox( + height: 10.h, + ), + text14W400("Back Side") + ], + ), + ), ), - ), - ), - GlassmorphicContainer( - width: 170.w, - height: 105.h, - borderRadius: 8, - linearGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), - ], - stops: [ - 0.1, - 1, - ]), - border: 0.8, - blur: 10, - borderGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xff9A0000).withOpacity(0.5), - Color(0xFFffffff).withOpacity(0.5), - ], - ), - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon( - Icons.file_upload_outlined, - size: 42, - color: Colors.white, - ), - SizedBox( - height: 10.h, - ), - text14W400("Back Side") - ], - ), - ), - ) - ], - ), - SizedBox( - height: 70.h, - ), - CommonBtn( - text: "Next", - onTap: () { - Get.toNamed(RouteName.updateriskprofile); - }, - ), - SizedBox( - height: 10.h, - ), - ], + ) + ], + ), + SizedBox( + height: 70.h, + ), + CommonBtn( + text: "Next", + onTap: () { + Get.toNamed(RouteName.updateriskprofile); + }, + ), + SizedBox( + height: 10.h, + ), + ], + ), ), - ), - ], - ), - ], + ], + ), + ], + ), ), ); } diff --git a/lib/view/login/LoginScreen.dart b/lib/view/login/LoginScreen.dart index abacfef..6f8e5d4 100644 --- a/lib/view/login/LoginScreen.dart +++ b/lib/view/login/LoginScreen.dart @@ -3,13 +3,11 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; import 'package:glassmorphism/glassmorphism.dart'; import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart'; import 'package:traderscircuit/Utils/Common/commonBotton.dart'; import 'package:traderscircuit/Utils/text.dart'; -import 'package:traderscircuit/main.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/onBoarding/splashScreen1.dart'; @@ -35,14 +33,15 @@ class _LoginScreenState extends State { extendBody: true, body: Stack( children: [ - CommonBlurLeft(), - CommonBlurRight(), + const CommonBlurLeft(), + const CommonBlurRight(), Stack( children: [ Padding( - padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16), + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 16), child: ListView( - physics: BouncingScrollPhysics(), + physics: const BouncingScrollPhysics(), // mainAxisAlignment: MainAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -80,59 +79,61 @@ class _LoginScreenState extends State { ), Row( children: [ - GlassmorphicContainer( - width: 60, - height: 50, - borderRadius: 8, - blur: 10, - alignment: Alignment.center, - border: 0.8, - linearGradient: LinearGradient( + Expanded( + child: GlassmorphicContainer( + width: 60, + height: 50, + borderRadius: 8, + blur: 10, + alignment: Alignment.center, + border: 0.8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Colors.white.withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: const [ + 0.1, + 1, + ]), + borderGradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Colors.white.withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), + const Color(0xff9A0000).withOpacity(0.5), + const Color(0xFFffffff).withOpacity(0.5), ], - stops: [ - 0.1, - 1, - ]), - borderGradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xff9A0000).withOpacity(0.5), - Color(0xFFffffff).withOpacity(0.5), - ], - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - // SvgPicture.asset("assets/images/svg/india.svg"), - Image.asset( - "assets/images/png/india.png", - height: 25.h, - width: 25.h, - ), - SizedBox( - width: 2, - ), - Text( - "+91", - style: TextStyle( - fontSize: 15, - color: Colors.white, + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // SvgPicture.asset("assets/images/svg/india.svg"), + Image.asset( + "assets/images/png/india.png", + height: 25.h, + width: 25.h, ), - ) - ], + const SizedBox( + width: 2, + ), + const Text( + "+91", + style: TextStyle( + fontSize: 15, + color: Colors.white, + ), + ) + ], + ), ), ), - SizedBox( + const SizedBox( width: 10, ), - Container( + SizedBox( width: 285.w, child: CustomTextFormField( texttype: TextInputType.phone, @@ -157,7 +158,7 @@ class _LoginScreenState extends State { ) ], ), - SizedBox( + const SizedBox( height: 10, ), text14W300( @@ -211,10 +212,10 @@ class _LoginScreenState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), ], - stops: [ + stops: const [ 0.1, 1, ]), @@ -224,11 +225,11 @@ class _LoginScreenState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFFAF2E89).withOpacity(0.2), - Color(0xFFA23E31).withOpacity(0.2), - Color(0xFF0000).withOpacity(0.2), + const Color(0xFFAF2E89).withOpacity(0.2), + const Color(0xFFA23E31).withOpacity(0.2), + const Color(0xFF0000).withOpacity(0.2), ], - stops: [ + stops: const [ 0.3, 0.6, 1, @@ -261,10 +262,10 @@ class _LoginScreenState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFFffffff).withOpacity(0.1), - Color(0xFFFFFFFF).withOpacity(0.05), + const Color(0xFFffffff).withOpacity(0.1), + const Color(0xFFFFFFFF).withOpacity(0.05), ], - stops: [ + stops: const [ 0.1, 1, ]), @@ -274,11 +275,11 @@ class _LoginScreenState extends State { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFFAF2E89).withOpacity(0.2), - Color(0xFFA23E31).withOpacity(0.2), - Color(0xFF0000).withOpacity(0.2), + const Color(0xFFAF2E89).withOpacity(0.2), + const Color(0xFFA23E31).withOpacity(0.2), + const Color(0xFF0000).withOpacity(0.2), ], - stops: [ + stops: const [ 0.3, 0.6, 1, diff --git a/lib/view/login/UpdateRiskProfile.dart b/lib/view/login/UpdateRiskProfile.dart index 8cc0b34..c1bfd49 100644 --- a/lib/view/login/UpdateRiskProfile.dart +++ b/lib/view/login/UpdateRiskProfile.dart @@ -3,15 +3,14 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; -import 'package:glassmorphism/glassmorphism.dart'; import 'package:traderscircuit/Utils/Common/CommonAppbar.dart'; -import 'package:traderscircuit/Utils/Common/CommonDropdown.dart'; -import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart'; import 'package:traderscircuit/Utils/Common/commonBotton.dart'; import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/onBoarding/splashScreen1.dart'; +import '../../Utils/Common/custom_drop_down.dart'; + class UpdateRiskProfile extends StatefulWidget { const UpdateRiskProfile({super.key}); @@ -25,27 +24,54 @@ class _UpdateRiskProfileState extends State { return Scaffold( appBar: CommonAppbar( titleTxt: "Update Risk Profile", - customActionWidget: text16W400("skip"), + customActionWidget: text16W400(""), ), backgroundColor: Colors.black, extendBody: true, body: Stack( children: [ - CommonBlurLeft(), - CommonBlurRight(), + const CommonBlurLeft(), + const CommonBlurRight(), Stack( children: [ Padding( - padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16), + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 16), child: ListView( - physics: BouncingScrollPhysics(), + physics: const BouncingScrollPhysics(), // mainAxisAlignment: MainAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start, children: [ - // CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]), + updateRiskProfileData( + "What is your investment goal?", + "Select your goal", + ), + updateRiskProfileData( + "Add Investment Experience field", + "Select your Experience", + ), + updateRiskProfileData( + "What types of stocks do you prefer?", + "Select types of stock", + ), + updateRiskProfileData( + "What is your Risk Perception?", + "Select your Perception", + ), + updateRiskProfileData( + "What is your favoured Market Condition?", + "Select Condition", + ), + updateRiskProfileData( + "What is your Emotional Response to Market Volatility?", + "Choose your query", + ), + SizedBox( + height: 70.h, + ), CommonBtn( - text: "Next", + text: "Submit", onTap: () { Get.toNamed(RouteName.mainscreen); }, @@ -63,3 +89,64 @@ class _UpdateRiskProfileState extends State { ); } } + +Widget updateRiskProfileData( + String tilte, + String headerText, +) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text18W400(tilte), + SizedBox( + height: 15.h, + ), + CustomDropDownWidget( + header: headerText, + listData: dropHeader[headerText]!, + ), + SizedBox( + height: 35.h, + ), + ], + ); +} + +Map> dropHeader = { + "Select your goal": [ + "Wealth Preservation", + "Capital Growth", + "Income Generation", + "Retirement Planning" + ], + "Select your Experience": [ + "No Experience", + "Beginner (0 - 3 months)", + "Intermediate (3 - 12 months)", + "Expert ( > 12 months)", + "Professional ( 3 - 5 years )" + ], + "Select types of stock": [ + "Swing Trade", + "Options", + "Multibagger", + "Long term", + ], + "Select your Perception": [ + "Very Conservative", + "Conservative", + "Moderate", + "Aggressive", + ], + "Select Condition": [ + "Bullish", + "Neutral", + "Bearish", + ], + "Choose your query": [ + "Calm", + "Neutral", + "Anxious", + "Stressed", + ], +}; diff --git a/lib/view/login/uploadKycImage.dart b/lib/view/login/uploadKycImage.dart new file mode 100644 index 0000000..e47d5d4 --- /dev/null +++ b/lib/view/login/uploadKycImage.dart @@ -0,0 +1,384 @@ +import 'dart:io'; + +import 'package:dotted_border/dotted_border.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:gap/gap.dart'; +import 'package:get/get.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:traderscircuit/controller/kyc_controller.dart'; + +import '../../Utils/Common/ImagePicker.dart'; +import '../../Utils/Common/commonBotton.dart'; +import '../../Utils/text.dart'; +import '../onBoarding/splashScreen1.dart'; + +class UploadKYCImage extends StatefulWidget { + const UploadKYCImage({super.key}); + + @override + State createState() => _UploadKYCImageState(); +} + +class _UploadKYCImageState extends State { + KYCController kycController = Get.put(KYCController()); + String type = Get.arguments["type"]; + @override + Widget build(BuildContext context) { + return Obx( + () => WillPopScope( + onWillPop: () async { + type == "pan front" + ? kycController.panFrontImage.value = "" + : type == "pan back" + ? kycController.panBackImage.value = "" + : type == "aadhar front" + ? kycController.aadharFrontImage.value = "" + : kycController.aadharBackImage.value = ""; + await Future.delayed(const Duration(milliseconds: 210)); + + return true; + }, + child: Scaffold( + bottomNavigationBar: (type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController.aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty) + ? Padding( + padding: + const EdgeInsets.symmetric(horizontal: 17, vertical: 100), + child: Row( + children: [ + Expanded( + child: SizedBox( + width: 191.w, + child: kycBtn( + text: "Retake", + onTap: () { + if (type == "pan front") { + kycController.panFrontImage.value = ""; + } else if (type == "pan back") { + kycController.panBackImage.value = ""; + } else if (type == "aadhar front") { + kycController.aadharFrontImage.value = ""; + } else { + kycController.aadharBackImage.value = ""; + } + }, + bgClr: const Color(0xFF111313), + borderClr: const Color(0xFF990000), + ), + ), + ), + const Gap(16), + Expanded( + child: SizedBox( + width: 191.w, + child: kycBtn( + text: "Submit", + onTap: () { + Get.back(); + }, + bgClr: const Color(0xFF6C0000), + borderClr: const Color(0xFF990000), + ), + ), + ), + ], + ), + ) + : const SizedBox(), + appBar: AppBar( + elevation: 0, + backgroundColor: Colors.transparent, + automaticallyImplyLeading: false, + toolbarHeight: 80, + leadingWidth: 56.w, + leading: Padding( + padding: EdgeInsets.only(left: 16.w, top: 20.h), + child: GestureDetector( + onTap: () async { + type == "pan front" + ? kycController.panFrontImage.value = "" + : type == "pan back" + ? kycController.panBackImage.value = "" + : type == "aadhar front" + ? kycController.aadharFrontImage.value = "" + : kycController.aadharBackImage.value = ""; + await Future.delayed(const Duration(milliseconds: 210)); + Get.back(result: false); + }, + child: Padding( + padding: EdgeInsets.only(left: 8.w), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + size: 25.r, + ), + ), + ), + ), + ), + backgroundColor: Colors.black, + extendBody: true, + body: Stack( + children: [ + const CommonBlurLeft(), + const CommonBlurRight(), + Stack( + children: [ + Padding( + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 0), + child: ListView( + physics: const NeverScrollableScrollPhysics(), + children: [ + (type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty) + ? text24W500("Preview") + : text24W500(type.contains("pan") + ? "Upload Image of pan card" + : "Upload Image of Aadhar card"), + (type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty) + ? const SizedBox() + : const Gap(14), + (type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty) + ? const SizedBox() + : text18W400( + type.contains("front") ? "Front" : " Back"), + const Gap(40), + InkWell( + onTap: () async { + if ((type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty)) { + } else { + var result = await ImagePickerMethod() + .getImage(ImageSource.gallery); + if (type == "pan front") { + kycController.panFrontImage.value = result; + } else if (type == "pan back") { + kycController.panBackImage.value = result; + } else if (type == "aadhar front") { + kycController.aadharFrontImage.value = result; + } else { + kycController.aadharBackImage.value = result; + } + } + }, + child: DottedBorder( + radius: const Radius.circular(10), + borderType: BorderType.RRect, + color: const Color(0xFF393939), + strokeWidth: 1, + child: Container( + width: Get.width, + height: 170, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.98, -0.21), + end: const Alignment(-0.98, 0.21), + colors: [ + Colors.white + .withOpacity(0.03999999910593033), + Colors.white + .withOpacity(0.05999999865889549) + ], + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + ), + child: (type == "pan front" && + kycController.panFrontImage.isNotEmpty) + ? Padding( + padding: const EdgeInsets.symmetric( + vertical: 17, horizontal: 30), + child: Image( + image: FileImage( + File( + kycController.panFrontImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 150.h, + ), + ) + : (type == "pan back" && + kycController.panBackImage.isNotEmpty) + ? Padding( + padding: const EdgeInsets.symmetric( + vertical: 17, horizontal: 30), + child: Image( + image: FileImage( + File( + kycController + .panBackImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 150.h, + ), + ) + : (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) + ? Padding( + padding: + const EdgeInsets.symmetric( + vertical: 17, + horizontal: 30), + child: Image( + image: FileImage( + File( + kycController + .aadharFrontImage.value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 150.h, + ), + ) + : (type == "aadhar back" && + kycController.aadharBackImage + .isNotEmpty) + ? Padding( + padding: const EdgeInsets + .symmetric( + vertical: 17, + horizontal: 30), + child: Image( + image: FileImage( + File( + kycController + .aadharBackImage + .value, + ), + ), + fit: BoxFit.cover, + width: Get.width, + height: 150.h, + ), + ) + : Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + SvgPicture.asset( + "assets/images/svg/upload-cloud.svg"), + text16W400( + "Upload from gallery") + ], + ), + ), + ), + ), + const Gap(20), + (type == "pan front" && + kycController.panFrontImage.isNotEmpty) || + (type == "pan back" && + kycController.panBackImage.isNotEmpty) || + (type == "aadhar front" && + kycController + .aadharFrontImage.isNotEmpty) || + (type == "aadhar back" && + kycController.aadharBackImage.isNotEmpty) + ? const SizedBox() + : InkWell( + onTap: () async { + var result = await ImagePickerMethod() + .getImage(ImageSource.camera); + if (type == "pan front") { + kycController.panFrontImage.value = result; + } else if (type == "pan back") { + kycController.panBackImage.value = result; + } else if (type == "aadhar front") { + kycController.aadharFrontImage.value = + result; + } else { + kycController.aadharBackImage.value = + result; + } + }, + child: Container( + width: Get.width, + height: 47, + decoration: ShapeDecoration( + gradient: LinearGradient( + begin: const Alignment(0.98, -0.21), + end: const Alignment(-0.98, 0.21), + colors: [ + Colors.white + .withOpacity(0.03999999910593033), + Colors.white + .withOpacity(0.05999999865889549) + ], + ), + shape: RoundedRectangleBorder( + side: const BorderSide( + width: 1, color: Color(0xFF393939)), + borderRadius: BorderRadius.circular(8), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: + CrossAxisAlignment.center, + children: [ + SvgPicture.asset( + "assets/images/svg/camera.svg"), + const Gap(10), + text16W400('Click an image') + ], + ), + ), + ), + ], + ), + ), + ], + ) + ], + ), + ), + ), + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index 950f7f8..6eb065e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.17.2" connectivity_plus: dependency: "direct main" description: @@ -65,6 +65,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.4" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" + url: "https://pub.dev" + source: hosted + version: "0.3.3+7" cupertino_icons: dependency: "direct main" description: @@ -81,6 +89,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.10" + dotted_border: + dependency: "direct main" + description: + name: dotted_border + sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04" + url: "https://pub.dev" + source: hosted + version: "2.1.0" dropdown_button2: dependency: "direct main" description: @@ -113,6 +129,38 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + url: "https://pub.dev" + source: hosted + version: "2.6.2" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" flutter: dependency: "direct main" description: flutter @@ -126,6 +174,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + url: "https://pub.dev" + source: hosted + version: "2.0.17" flutter_screenutil: dependency: "direct main" description: @@ -138,10 +194,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" + sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c url: "https://pub.dev" source: hosted - version: "2.0.10+1" + version: "2.0.9" flutter_test: dependency: "direct dev" description: flutter @@ -160,6 +216,14 @@ packages: url: "https://pub.dev" source: hosted version: "8.2.4" + gap: + dependency: "direct main" + description: + name: gap + sha256: f19387d4e32f849394758b91377f9153a1b41d79513ef7668c088c77dbc6955d + url: "https://pub.dev" + source: hosted + version: "3.0.1" get: dependency: "direct main" description: @@ -180,10 +244,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "0.13.6" http_parser: dependency: transitive description: @@ -192,6 +256,94 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + image_cropper: + dependency: "direct main" + description: + name: image_cropper + sha256: "542c3453109d16bcc388e43ae2276044d2cd6a6d20c68bdcff2c94ab9363ea15" + url: "https://pub.dev" + source: hosted + version: "4.0.1" + image_cropper_for_web: + dependency: transitive + description: + name: image_cropper_for_web + sha256: "89c936aa772a35b69ca67b78049ae9fa163a4fb8da2f6dee3893db8883fb49d2" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + image_cropper_platform_interface: + dependency: transitive + description: + name: image_cropper_platform_interface + sha256: b232175c132b2f7ede3e1f101652bcd635cb4079a77c6dded8e6d32e6578d685 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd" + url: "https://pub.dev" + source: hosted + version: "1.0.7" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" + url: "https://pub.dev" + source: hosted + version: "0.8.9+3" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 + url: "https://pub.dev" + source: hosted + version: "3.0.2" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 + url: "https://pub.dev" + source: hosted + version: "0.8.9+1" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b + url: "https://pub.dev" + source: hosted + version: "2.9.3" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" js: dependency: transitive description: @@ -204,10 +356,10 @@ packages: dependency: transitive description: name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.1" matcher: dependency: transitive description: @@ -228,10 +380,18 @@ packages: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" nm: dependency: transitive description: @@ -248,6 +408,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.8.3" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.dev" + source: hosted + version: "1.0.1" path_parsing: dependency: transitive description: @@ -284,10 +452,10 @@ packages: dependency: transitive description: name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 url: "https://pub.dev" source: hosted - version: "6.0.2" + version: "5.4.0" pin_code_fields: dependency: "direct main" description: @@ -356,10 +524,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.1" shared_preferences_windows: dependency: transitive description: @@ -385,18 +553,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.1" string_scanner: dependency: transitive description: @@ -417,10 +585,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.6.0" typed_data: dependency: transitive description: @@ -433,26 +601,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" + sha256: "4ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.10+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da + sha256: f3247e7ab0ec77dc759263e68394990edc608fb2b480b80db8aa86ed09279e33 url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.10+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" + sha256: "18489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.10+1" vector_math: dependency: transitive description: @@ -465,18 +633,18 @@ packages: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.1.4-beta" win32: dependency: transitive description: name: win32 - sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574 url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.1.1" xdg_directories: dependency: transitive description: @@ -489,10 +657,10 @@ packages: dependency: transitive description: name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "6.3.0" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" diff --git a/pubspec.yaml b/pubspec.yaml index bc3d451..f0a1945 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,38 +1,17 @@ name: traderscircuit description: A new Flutter project. -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: "none" # Remove this line if you wish to publish to pub.dev -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -# In Windows, build-name is used as the major, minor, and patch parts -# of the product and file versions while build-number is used as the build suffix. +publish_to: "none" + version: 1.0.0+1 environment: sdk: ">=2.19.6 <3.0.0" -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. dependencies: flutter: sdk: flutter - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 get: ^4.6.5 flutter_screenutil: ^5.9.0 @@ -43,29 +22,20 @@ dependencies: pin_code_fields: ^8.0.1 fluttertoast: ^8.0.9 dropdown_button2: ^2.1.4 + gap: ^3.0.1 + image_picker: ^1.0.7 + dotted_border: ^2.1.0 + image_cropper: ^4.0.1 dev_dependencies: flutter_test: sdk: flutter - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. flutter_lints: ^2.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. flutter: - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. uses-material-design: true - # To add assets to your application, add an assets section, like this: assets: - assets/images/ - assets/images/svg/ @@ -73,29 +43,7 @@ flutter: - assets/images/png/sidemenu/ - assets/images/png/ - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: fonts: - family: manrope fonts: - asset: assets/fonts/manrope/Manrope-VariableFont_wght.ttf - - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages From 0d486ac70d41357aa3962f71421ac981ee2d3d28 Mon Sep 17 00:00:00 2001 From: priyanka Date: Fri, 22 Mar 2024 04:02:01 -0700 Subject: [PATCH 2/2] Faq screen done --- assets/images/png/Ellipse 560 (1).png | Bin 0 -> 150254 bytes assets/images/png/Ellipse 560.png | Bin 11708 -> 0 bytes assets/images/svg/search-svgrepo-com.svg | 3 + assets/images/svg/sidemenu/Gray.svg | 8 + assets/images/svg/sidemenu/Group 51347.svg | 8 + assets/images/svg/thumbs-down.svg | 4 + assets/images/svg/thumbs-up.svg | 3 + lib/Utils/Common/CommonBottomNavigation.dart | 7 +- lib/Utils/Common/CustomTextFormField.dart | 154 +++++++++ lib/Utils/Common/commonBotton.dart | 81 +++++ lib/Utils/text.dart | 22 +- lib/resources/routes/route_name.dart | 2 + lib/resources/routes/routes.dart | 5 + lib/view/MainScreen/ShortTrade.dart | 29 +- lib/view/Sidemenu/FaqScreen.dart | 324 +++++++++++++++++++ lib/view/Sidemenu/Sidemenu.dart | 152 +++------ 16 files changed, 665 insertions(+), 137 deletions(-) create mode 100644 assets/images/png/Ellipse 560 (1).png delete mode 100644 assets/images/png/Ellipse 560.png create mode 100644 assets/images/svg/search-svgrepo-com.svg create mode 100644 assets/images/svg/sidemenu/Gray.svg create mode 100644 assets/images/svg/sidemenu/Group 51347.svg create mode 100644 assets/images/svg/thumbs-down.svg create mode 100644 assets/images/svg/thumbs-up.svg create mode 100644 lib/view/Sidemenu/FaqScreen.dart diff --git a/assets/images/png/Ellipse 560 (1).png b/assets/images/png/Ellipse 560 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..a6ac547a4d6843a91edf04cd6971e1b3496002cb GIT binary patch literal 150254 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≻mc)49`4dJfVw~zP77@%L3^1N_ znct1bVGJ={kr!9ubQRCW024SU?lBt)#X8skYyM}azgGL^rXyfRL%oTjzP4o!J@GVW5z};FCFL%Y1}xqR*@4hQk-0^Y2*T} z%ylrnMx&$-*35LA0|>G*T)A4�hy=W$UY(dQR&4Scxtdxq8GbI-m#)wyBlanAQcr zSSZ(UeVl#}Cn46_0G4KxSI{JY#zn%la1wx!+o>z#)5znxnQ58FYl?oV2&gBd!Y_2n zds>Vu0QR`HFLhcBf8#FWu}foBgwB#~5R5pnVNR{>_IuRV#3hiDkhACm}1? z8R@IvCF_Z}@}H6VEPP`KqGqr_7X}pYHL`#{AT;{=`FPfA3G9{<6GI z+v^qpnaLTV#UJBNYDy~~6#TnylK+~e{TO5B_Fk4YNK)YPCQdvlvO(pk=-}qc_4*C6&b zTXpqaqwbBs$6CYravh%`&Q@y5>H>mS&WVtEP57RNXdFOf&E<=(@Hlf3YUmnX{v1Ty zVoC2+piDAU9bv9eOmtApcw?eCTZt^iJP+>!bM3|EDVHHNP=KQ@kr`}kBx3U?R+I~J z(LGm#QWzOe0%ee7js!90?4xfZfj6Lz&$#-+np{F_k${OZ=RNwF8V3%uFzMEl2AtcH z<`c)ZJjHDKOmczQY|6ERK16ba!8>an|FM zEX?}{dIpiCUz5(qjE*V&Gl#n=en;PMzaROvM;`i<-~01tuFC7My)F}?68wUad=&R@ zt}a0g6!UD(F6}1^bm_#gzN?H`JjQz9H{W%}h+-Cv87cpC)*IsWn zVitT^>F}^xfjBlD%0(DJ7-LIoD$74IJdO%{{*~y(Wm@)TwWh_+_xJaeg{;6byAC#X z9Q~}~<*ei7ynCY}>o9g~w5oc{=2}gTLBB}rY#BgTrCu%<0aTH?JTN)BwFE8}m*OxT zvMFktLRo>)koA=+(ABY~NEx76!+vG_zX9@A(3-tWQV@ntm!-aT6z4R^0z|4iJJqkH|Ho|laij~n$yUk zxegTo>?APq1X?$xiR-Ok-wJaSVj-aZkVT)0xYj}x@AH0P~9!wzpgpr(7rV)bF~%;Gx~rxcUS436oc z@#cAY&Wr%=3?{8vA^gbewe05W4geYDkt+os#f>|&TtC8=)m17O;kHmGwYiaV5aPb)>vLsuIMVniSx4w3QkmYtjt}T=Hd$+5Qa9VeU$)` zrN)Zn@s~hJu+uw6+Gbt4E;6q|y#cmZajqo*RqdB`If`ZNcQoj078*5CCo3(j<3jj-f&bwlrBPHqVJ7hEr{dud`ZJB&I_?i zSf4jPZ3>p@TJJ-cPYmqBx%~ZNd*0%kXcO#S^jVDMvZU`b`9l76S!n5X2Y}O3@L}A( zGh)mw?Qd`L`{CWhPcQp$Q=MV-+nmUqK6JVH*rJJ;g=mvurk+MIdz?2m)dPZFG+~ga z;AMXATke*Zue44K_SCb&sk~bx9jEt2ORRZ!nG=mm%&>T&Nslm6`Z~IR$Ao z*1Ug#Rq>dBz@q1Ln{nA*Oj4_4W~0>lj0mx!BJVV=HH=|04*2SRN1lVub_Mr4i8uE2 z*P&1lY)$dkx{u=N%7B@isJ9q?`D2RXMT!(22Dm(iWhoMT61H0 zxDe((B(Jmfx&pw@{}cN9$z1(`d4?B5#u5g1gO<*-?0&vf;X6&Iv&3eiG+Y_rSgc*b zM9th*Z}m;hB`FJxf6pG{>jvEstmsA%Y2fAgHy?jm6N=K&)}>Q&0q=Q}Q;;wks9)62 zBLG^hzM?q<>GOQF0sS5m7if|L#_;B)UdKxh2H04E(W6>-Mi-M;y_!12swH}&VmM1# zQrAXnE_HnBjskGV7r`8>P0?5~<6h<*#9oTD%FtLjPJQZJnk@ByV+#A}L@l|K;ZTws zQfja%DWlU6JJ#pOxrhsj&jElfSD?{F)cB!Q-CTk`DS%DVKTt*6Fk)*g;?6N(AExA* zsU=#(C61VCmKeGN(Ey^EpD_lysjR?CUD5i=E=M8VW9Vb3ZZbinAB)^Va?w-d^N2Ip z@Hd`DV~}wT%zyX;_aD{5Qd$b2keiz)>0Ghi#7tdfWPu4D-n=;*f3hN}m%?Gq%>7M8 z;RXHsQWk16bKW0|4THx&`9HnB>JGndj38h5$G=M8i!8pL3ur1;ig=Vf19)cPL;Bqn zk`-f8y`7DhuXwNM!5Z(o^?I9Mjnltb&@)TM9(&!}%o&oYlB~oDFwR{=yu$LOC1d#9 z*IttRz{*!H?8+`gUxOEwiht_hnrltfc&)aYvc0npJzfh&lYy+lg4;XTm(vhwAK0vG z?GC1=Z&YFEfH+(P<6-C<#lsS;yINL~E^#by1hCPna0FH+94!`9Z%1n|Gs&nCM46(i zVWHTrR@dl7V9r1lp9|6baK;ecnCWDsz^Fxp^10|nrY|mwHzn>)>_>I>M#V-Kfe=Lh zL=79fi-C%%M)!50brS_^rue5Cf&8i0qczv1{G!7$>jlRQFs}B;T5o*-=V;_yj|NeV zVFFuk$dE+${3!}gLdRmKq01DbVR;cClQ+`v%?O)bANLa@xO9DA?>Sj!Ops!!AZB{$ z9JkT78v##d#z?ZjdhbQrXUyKBxwg=mmHEO;snIV>K9;?Ai63Gz&|rQ_Kl1obzVXW+ z{?lillh;9eT`)izJ@68ISZ*rNE@{RbB96wZroW;_tSfo;J|M*p)y_RI?|~=X&QE}J z9xbZ(VsJIyIo-rtTqzf4wptr!E~JX$Z3()lA&UbAu2+hI)N^fauE?M}kScV0oo?5K z$>RjoazT@uR>7R^*{Ew)l?HWUQEK;crKD_8#ZL}6g(Y1zqz=25t$6KhgbI2+a&&<7K0Ztd>j3L4V3;o2It20wHj(|$^b%7+ywOQ7G zD9h&Q@+q8^l9G{I^WoQvQRF)gfX?V)mRNk#Hc!1Xzoj|`$tsPb?-?e!$mHf1z?754 z8!}ul`!`nA*}1WrY;PvBzfFlwEN&+g+j`d_2^gu9Z&djF+~s{af4!$K5{sczpG7M$ z^YzhJu!nsZ8_RU^*SGeyAUYF*veMcbgYa|iC8(>DGcCM11=gHaWD||!Rp(?zQjmEB z&Z;_sh&t0kNa}Tm?FBVnP>!9=M$+BemZ>H#5KY8D&~ssHIgRj8a1EjuQ$~LjoL{25 zCC(tB;%>>M)iROQcEThBdi?+{uv5nQmZ0Yg6nG1|T}5tkHfCX&j8*j15IS|Sac{g9 ze6N*MWS&AvH;sH)ip8Q{40nVlyWdB+jOhD4o_7i6&|6>X2kIvKb_f4G(Ud@#L}^ z>UP)Zbq(O}4MrM5HX4Q+2YayJlO~KFtQ*3b8w}g(^*aEI5?I+p)}h~P0RWA4K5o=` zl{Nc|)3IsvM(6;SjD>nc7wh0eMJ=*UM`{3JF7L#eDZpvm>&O_4vjW{=zFKpP%oMax zl7^zG&TypQsk%ChJ)F!GXw|XV#*WI)_m994s=hIFOp=+WaSU(6Y~peQ5}aJbNnZC0 zq9_w}!scI+u8B+CPu9p|nZir`4QaK_rw-;6eYKWI-f8hBvp69vqdJ((A<)!eWSJ#^ zB^Q@+fthUr4Z&kdFp9j?#|H7U3tX6A?6}OaUheed%Fco2Nn~gtjaP1;P-C#)=Y;Y#*0-dw$zRA%P^)R(HvVTbVko+*T-56E}8eMfbG zpZlH1e;qgbgZvynTi{p_61B!(oB)PUiwkjCHUF-q~kYx#nle)jQG zFD4Mbo`TN`BL#_fK1p>Zo@C=M*32Hl3TYR2x^k*fk|)pZsQzgPaF~FBG3!c|8CRGx zO0%JK6&T6@x(QzXyVq-StXYL(-^g0MAmy^lMqF}rBvr>p3oT1$YT7ISPp{LJac(Qgw7WP0{7BJXEG;C&Ne#3nSf})6elUDXylU zpTe@uq^+aANOat&+jjx?Tu?#>*vk6UxH58}$gsKL&>3!~Jf^4MJ!3SCh!%ZvFCGm! zE=prOb%o+xp(CSNUxraaSps2~VRFnA!|TL77&E;VfSYW&0~Se#bM-VNVmKYJIgGo-ek(m>qX$2KX(2dO4UGf0!s8Z zvJQJ`$vxRA(^n?aDp4h6G60K{60+}-%#F_dH+l5NO#VN9+{u5=Z__lq{0$^ zLIjB<9QzQuKHZt=(!mhf6B`Y=@9v|pDwfo$+iKJ_u9T4qJ3G5-9X-Iyule_|eP_F^ z>F;MuZIGisnpM3Yby@MtN+6j|$7l!X!slFR{Wd;tGN}o zw-4l*BfdKF;R$L7A$+Xi`qA zkrYf>MdxB=ygA2;oTv#v0qYs|dYYe)8D%KG693eK3-LB&(gm_NW|Rg923j#Ls%{=Q zr)lT&=KS~+>VqJ$7Hgygwom(g$3{6m^hH)l2V^IvS9BkBiHVtD-T`9lf2WKvO0=N& zbLLp9%MO!E7L;5rO>;GI{gl>NX4v3(I1%64t24o4Q(Am!$=tS9QY*W7`r>HT zWdE9se$kt9=^V4x1GB71n?{3V=|py}&XblblU&+TRBT}$e#e}ozas!he?MIQ8TZX6 z#W4^qu4?H@wAgNnnHk8-x)g|a_RK2hi@{?3lxg0CNXKi_j$90;{}M&Wm`tWf4D?+- z+$5Zv#EEs#st8PL@R4IJWhp)C`XHXtvRWxuoPQnmAN7Z-;~Ic{jc|^&)rK73Xi2kP z1DIINR1)7|>b9seW7G)!>?X>VTmk~JIu%tXW7Xwx9}bxeD$pdJu1Z~8K91~<)?5=+ zms9M^J9if?L{4^QY-HfbIRGSZku}j`%!2Pzr{mKU^`)|IS3MaMA*ge-E5%8jAVHmg zKeliXO`~9(=pCYoRyeB(k?!>%1 zzRmi`WTipL8KAIW#PP#qhlMyg#<=uY6r-t*2vxTjYNFb=-+NTLoq<-jBNKN;%G0^v z>)n=;JCV%78%?LoY&PbwmETGx>y~(cn#?=1z&a%hkCKJ8Lk2lFrscnz_`P_zFwK8J zz60&s4uI-lOgaXO(@=q z9f`BC2<;Z^*w4x&f8*=1HqI(HKWb5Hp*sEIU3u>8ma_s+T*6QqD0ozmw;Ikxk!}d< z?^>fSMf}$73|*n_oD;RkP>R~0V^dlmSDlkxMwLJ#FkE~qn_7sCNgR?jh(8hU=<)%P znoiGJB;BYEj%;x-`-g~wBTIV)Ii#gNp z*Qy0ArKyfJ^m{}ftYTMymD&~@^V@(3Tga#SNHW8KtPf)T9=fIsH1#7( zN3%SIzwyp7?^ctQd2syuKmPas#v}4=Zr@e_RDVAS4-JQj#l+=L-li+Pzb!sCe)z^? zkX|>bRBV=ZOQ7I=n|c%>Ncl2)ZF}->(#hp!w5_{ znNF>@WB>-J%35LH#mhN0WmmKSuqBuiI zn1U5`iE-L?=W7^5R$v!}LdNGDr$deDrKOl+Hwz@I9uh2WcyOTiv0QIL?>JKMC781> zvS#K0RFT=_qG%Sfv9WVvo;WKs4G~N!#Z(Dj9yFx5oan*rtOLL&_C!~fcy zj0eK#W~ZlUeK~DsUEMxk2;hReV$; zF2~!=jXIDx-F+gZqz8)+YUyGxDQ+20izjjj>x|~S@tNu}=`QLcXFvSy7KOj900>>R zb9q_%YYZ!k4xA$MOf24J7xoLXhh&b+64q_NVJPG=lwjr@Yu1=#9`C){YW%QH zl%+0DEz#B`hS=LZaOFhVvpzoevNHl@8W$UK&VVW&mvL_%xU)&>>k7#y^JC6PCL-Ca zK+BrVybtrb!W#ioJVVn(-)Ds0yv^vH(mi7-Dg%s5#+U7HdGp15d_0qzeS71Dzij~c z#ou}Saa``>{CuclGy=6{db+gP?C#4}lxTU%u8`hezY9I3ojbqVmRbL71dzrT61-8x zMw~>K6CWG>v)K`56w}ea*wCUW*sV?3XTn0Q>ggskCf#(A6YbtWOJ8aeP4gQ%P( zSqDWj3ceF-H6)9v_49Zk=>kIEHM+BqNpe8BB#a_V7-2qeIw}@WB51`rKh0D<8>!Wq zFZifOx0N8H)>NGvowSDom*^lybn6T&7P>qIiNJ~9Dmt?QT(z$G0%N_VrqaUqGA!Pu zI>gR$RYUYj0Qw^IpxhSJ>ypFgLam{?IaMdnT_@6KGRGnB#O~fu^ZaSF24mbp$8@He zn##Sf1hYQfVFDM&OO*kW&N3XXJqZ;!UH@2AzyeD&A_eYM3RE-?rQWD0Xu4bGGE&oj z^YTtdtN2Oue3L~r<34g@Xz^xUI-?RXI_tj|&i4|9@cAASSsw?J=|0^rJoM~Ki|8D|D0tvvqG|MBM^lW$Y|wgBL#|HBE6HKLhL&@#FKTPR-V-o8`VTUB zz_>qBP*paDF=^BU^kKPzGgL6jqg1PDSR0KU&RUyyak-jU!R5o#j4-jd&qxYdQ;pH& zs_Mv`b5?2PM9dbW2A7h14hpDN>w%O3a;zOvW^tv8bG{}ha$kZaEyj8h6-AvznqoVB z`BWqYh_Spt%y8)3%*B9gZa8)!XS9HG%#)}-@EEKur{&Tuj8D!bhX$lRRRM%n;|xSv z#2)v(-yN%a(s<;u-_V#d!g;Um3{~XUSYh#UPbSN)&z!PL_>ze$atI4dB#}iSN$lL* z&32PLz}!F)dDGy9gw2a5mW%gYmI_mt8Xx}X2fsa{@V5m33lb3g&ZJwc9BSh7nhyY( zZONBIwu|+)#jEQLM1zTHa~&~yT(579*Ff8*mKPLn)b?;M$N$JZKUM3fZx0&fr| zQH1*dY9g&TPk-;J4Y~LDy6o=n=?lKuTG5<;)2VY(CL3Wb;G$MPb5+d7<7tv^iMW?n zg9_QsOvOf5o5Q+Nlw^PE`xYug)IvWwmqseD>Fq1}FHa_xClJyXujl}$=n|K*Ipa!B zMN+1!BBK;Wd(6Vj;xZczwcf9S7(td`1pqGs+z50*-YB3_q$c31TM+AuFa{Wg9O@x8 zjlR~%6&<5k7rV>-S+I$&IZQxWW4Sxtdt4j!s59&Io&-N93|Ng0pkZVjI$uM*@0u3N zrN`p&Tzo3chF%-*CGQUz-vs@RrVd2&MW+K*)dGzsjk4T*=W3*v)U!m-H=6|2sSE<~ zJrOdqX~Qq|dET)l2zx(7YE zzP*cGCn}~*07g#d7f26=kp12$@&U}L=*vPunk@wuS+YNZ*OW$tz}+K?fLi;5DX7Ts z=(wAAmEYWbb08zMh6+`AV+o*-3;=`#LsM|f%z;*3Ssp=1m{%rSs5o7oM(P2q z=nli@!u?b%HY^mM({RGXMFjV<-5;xe;$-H;K{Iu%meDh0mukb0+=%G-&1!tJNS%>a zrp)wXOv+k_?r&E3jNPPc#wBL4`8wj8?dyIMk6*_7rTe=@dEd0&=| z$u9Ps=FK#cYDvudKl*L33V-VvpfMl1@y{YR#=#g2d{!5=xrNXNFq?k##8JsS{tUyk z*6S|q)Fg%1W41OATv>=qCpEtZnJpsogPLD5{cYjGMQX+pys(WL#K3Z1EtAZBM?(j7 zgCp#E(CzA3UBJI{%55@tpsKiXQf1OmV^nl=kszUSrp~!S4UVHO&!7c1YIgN=eel;OdX4J4^&PbO6_M`DBh%2S}7|i?D`2GB$Q<>VwB!zZ?ixa;Gu7-c6zOvg2n&Ie7&y`5N@i%@`#CuBfF55OUj?`^u8EcIIGV%Nm)1L$XB#}sLTyz5gXa;cW zcA%S69o-lpSdcniQaVAi2s-0`yS<)Nsr`B01r;#oyh%+>!?>fMg;aCZ90>VEkk zVKFRuNs-kt!n`wbu)YWlJ=C$`nwjNBizYF&jnOCoZ#s(~?Cv${a)gn4?&P9)0s^S!vW=J>+OEg^97t3u{ZKWLE6Vh{W^k%*CFk`^VeOlIW_r z1>Bt|6*>}>GK>30r%py~WN}*0ohOM}@c?^%O!4()uG7ewpc1@azJ={u27qe#2wgqj z!<&2XR_r107w^Ni_|Tl>>FYEO2fF!|>K&3T3;IQqp^MSRgraBrh@Ge71CmLV5ogoR zO#C@{8N7Wm3wTs0hako%2fT1Sh+-#K8nU*rBK^@o_S$V1iNLh*^zoax8W}~r?3%rK z>MEq!(CNDr*8{iOk496~1E!0HJ8`Uo%0*dLj20uuKefmfHP;`lnQE}GR*eW@6iLDh zU_D$-;>s7CeKE3wqOc}MEo+?*jTFf{u#DLvYl`HfbGmIgQBG65drie>Usspvd(-BN z!oGcOSxB19E%ioHzdOeYC1IhGIWF6>QjJ~s@6GnVnY+v3J>7uhSY_0|{;iA^{+0n? zWcawn7Oz<04fpYz^OG_W_4dU@w)C>hoB_o5&+~fAd{>LBjcO?vAGdtbBd*|PlL?&_ z!Iy}#$qMMoCdPfG(r!!Y^ ztWqg!(W0CQHDLmo5z}HZ&3llRh)68PG*-}>OC4LWR#ly!Oh;T?GRgS7xJ;y1Zya37KZ(WbJBx1e(c3;drLM0M&g6%cWL#^cuNC8yuS zxR}el5>8AagC61=+a?nx8}e|u zxy9Ld!wXWqMs%XUBzt+?TW_N;vd;B8_u1NI`^C_gkRk6xM$&Zt&PjX(K-tquaCuGh zG=L5;S2PI_<_dHzF)s5;lo^GJerAGZB2?8;iSuzQmUH?NQ;eqgsy=q*s#a}d{oYBG zI?6ytM^Iw;7QtXVohb0B0R>}VdV7wSme$yUOm;RUIKjd@fdOXR?>fsfK@s{hy|)BG z&CW7*cOjfQUEFl!7^|kj549hr(_(lX|M8s6^*03rRshymY2IJQB1ilUAgLg$MwFsj z!i|cgInCh0myH>-tFR1LtGGAyqTYiwEE=1Qs?^H#?~79GOJwlC-$Ep6>iRLWYG?{0 zzd&9C?`uBi5?Gih)fHjyKYr${JpIx&-CrW+oMnRXJXr**o6TT5r>~o5Wb=l<#rYSD zw>It|0a2UboHpryL2fhNQtrPVH)+0T@5do~?U8R)m|R}I1V`Cv4klyUyy-24I0 zok9GGVQzYx&64w*Y+u%RAmkL{Hg?GKSJGs9q_ z&D1TzUtJwlqhhE(h_jJBk>` zED}2-lMqW;YNa?0<#4rxnGev;Tuwd$U+9=5izU%DNc{xWFoE;*I(lC;GK20WqoKP` zQB9DLEU!X$9s+63F~z_oM`bo^&Dacab&SP>2Aqj?i4im-vlcDNss3}iHPF(Sr9vo! zaVT{h(}o3vc>!rS2?4&jC|;R~65L25HZ9KOh)s>#~x4`UV-gTtb}E(WQX ziDe#;U2=Z!LFg8ZiHs+t*O!&d6!ArBBS8d<#*NEcF;z6SKFmd*ya4l9|6{%Jo4D-Z z96%;)6o+rD*R`O|bkb3uK8kZ1Ap(FZmrE*!5uh}ZK`6qFr3!GVfekSfu2f`RzL~3Q zTVN`zit5Jl5PL<#+o)@V9*ZgBmAil)VndR^lWr@_m&ZJWtm+ns0;US<#xW!AqnV&J zHA8PEFjTPKzgbAbdVFD4Dx%PP7 z1TQ*(^NG;F!CJ|~QID9apvyx>v%6=}l(fJKryb3=980&qD!ph;9Zo|?&HY?1*;ryEJtJZ?@q&@zh@#-{YZE=RIt?CJHT zR${wk_at3h$`8(b?0@{PKlt9i`)@xe-^BJ!1;8g^_yBu&f3&7~zubtS`Als7r+J{f zSwG7~fUJSyM#nGvY?q#6el&4b4V&2(C;NE&w& za&c#%!Tkz&>Uxn={T10!quG>_8Zq#q;_y6P#^cR`99@B^$4HU!NJUYC6~UoYbw&;{ zv38rvf3P2Qp_!irj@yo2gi*vCaaFAE<(W2zy!p&%vrWKm*D_R%`+ZaZt zvBMZ=r2&g>P*fmPQFJiW^BOZ$U&2t&GuGs$44>2RKTRJ$QJ*~(ivt&Krg}$+(qy@; zMa*OmB&~%)Uk06yX3Oq?6*GZCr$1Gr2K9Etp093qWVKn;P`@Ua<7y>`MIw|2L|;}0 z7%+J&St|iDAG(xS0PZf;1-K?whI5fE&Zt4wN~`-QO52|^&PZZ4w1x$i+#I9yN+E9#t2$-o{?7kq7c8+cOr_g=);RwF zOa|T({m1epO-wT3qN9xGM;LE+=}la=lW6`VV~jA)kwBY>;PcAs%rzR(s%Bq5zbi*t zHR)U%>PyH(r_^uJ<%K#aP4mRCEF85~0qX-;+_%}(B1o!io-ru^m>>3MdMC{U4FJ2g z(~+}K)-$_I7a}(E-}S+O$^Z@4&!xq)GZ@J6mAXtdpg*U;&!~u6wI~&UVi5pa9px1S z&Dh;1N_ydpX{sQKcRLDhHmo@C;AQ4qBnm~s5TH9A4nWt8OKFAw4SV~V^;x3ySq!uo z!_dL-G^YOV(PBHY3S9g9Llx6I5LE|YjP1cp4!Q%))WX}&3@=)+9Dp_4-h-%HlucaE z$vOZKtHu3+^LK32DjFp+GXT#4tjRQfFx3{ouU??e(Fl6gH2K3M(+zcvVBC|bGC~_A zQlLJx4q)BGILUHpyjoeQy242^?`(ev#2H^_xNHxR%(ASz#Inb7Fg@JGEXq-6j0b|= zl(b967K_>5>ErPv1=;;W=lhU^6DGuA$#u5!&MoGH@=a>rGyqigC-V5R-^?7zTYPlB z{vw#uCzzxUYtwzzQglO6AlfMspHuKj1zOi>HvN`wl}i|01mN+)8jG%Oaz)m`2xx5* z0Uk3#FA1ed&tWs{E=*!V(}zCKLS0ICieW6T$hhAcMAp&7YH^-Pl&z!y#@6Zd!Ds+R ztZe}nb)uS=`%bJt$={HX)(Ua%9u#+TFm?TR|6pALJQ_lH>LsZBeC2#!xCeFb5U{x>MyBNWQg3~diTAuu~FA#s5YHZ z^OIIGT+gO+F*Ch0EYT+OEj>~W6_-u2@-F_8sAA^9ac)Z5Cqr|Iy$4!?W^DXx}sdjM(3eTO#zELw+`izp*wuzvQ@d=k7P}bJDqWi57eplDRpi z*1I`fO9pBZVDd%ibRzkBk$B9G=S1m`{IRG(!-+)cy6w5|BsE#n)lX!8g-_Q;P05b) z9DwD#?VeNe*_SUnr&>#JbV2=ObotP^V>B6}H5@4Fj&SX8)rnI-mTN#(}b=C0C5P*FP(`egPz_u z)+w?4-Ntjb2KC9AD9v1KD0 zYYkYp0oW9KbI^ZI-F=&}sC<7Sd)K?thoR-!t6Kp4j{N*P?*J%I)YwG5X#tEDBv^{{ zcf>i?pi=1WVvNS+{_6}UiJF6=t%T`w<_~YbYgJynunYZdHFAU&i5;JPsU^dH;^}Ke zGJ3d$1u{K0Uhw_-z0i!Oo|)4Z%KW<^k(e)$6ytXjy(hYW#oN5sI~`@DU-wvGQV`L| zQk+}XtUG6`P$&>3Dnz4NM@^MlQCxm-WvTi_ns&1qpN;t+E{7fHm?J z=CKhsF@FqjOrO57MP??x?<^%~<^3$8AQxGXTGsw?gI+kf5MD#*1zeI1Yv-09ygiu|by@9A7Q-zG0CFp$~-3 zXcxZ|o;7{`)PWS)r52EnW&*uqRv=Qp>j&ABCeZqVmpt}n?AHQ7}%zIo<`;Fo28KIr*# z!uTSFNV2vWZ#(dARw~flvG7q-L-y3AM#Wx;lmNdxKzB6gs?IdfY|{|0)z2;j z6BD_zKa~N?f8P6p@{^C=EywOSCA$ZGdG_V!o^9s{)L+ zdOK1Iw{dTVa&V1FR0o<8r&TDakK;Z>=P@nXy@96TqN6hvmxKPuIfw(a`ZHH=BsXR? zxPrz+#@lpjLpT9ymAuHks7h8lXpOf=`9s}e^B`Ow`P0Q9Lem`Y0>*3rO^j7I9<9(x-JWJb>7Q2&(e}iq1bmOSGAN3In2=UAjNs~m1 zEK~X}_+D8vS2!ls!7M#qY*tE-*loI|r+qBH4>78SdTsG_`T_BJ?jRPMMPJNwSFg&y z{PPzeu8m}rr=h_4<1smBfVX<3T#z@k8uC}(d9Q4qxLZoAM`UGlRm!bZ8ADV&Xz$8} z3opsuZd)du0TlCn3CDqEm<}NN(dSM3YclMu3Tx{C?6M)d0K7d|kw*ZJ6|yzckpM4v zvssptcb=3}$L|I64CKO#7i9O+3v&JZ%aR`+z?wReljy4fHd?O&oGMi?!KxY~G;EJC z%TpJxd;lW>!F9jimg=1kimh%yx-DsT>2TJU%NH)nGhcpQ^@T+PK&ce~VqLu!#_npy zXzLu8ivU3CLTmJK3}~sf(%^WpI56}r)Y{4+bf9Cc`8%4@Vmwd-2oo68F~)W1PK(ei z4xtKYfZdYuj;72h7^+T`1*&@3R$E(D)x))|UHS5JFS&wAxVn?8HTjL7f15mb*AbT$ zJ6Zg~biFjoSx-h(H7V*GMh>#RfAQRl&*4BeD;3#fB~RZQw=HFzvGPVTzsH{w@qDRd z&V92|ka{3Ql2mLwab5}T;4opGCK8^PzqhbVJ^G`+`M*9P-$46@8K7f-ueB}e+k8-1 z^f=1ih}e|Au!zN7+!WsD`}UZho$JcX0akV-Hw5ySLB=IAvpuI@lb0Z#d?ps9{eeL7 zUJTR=oHL z_i5R>@QRA(B^W1aV0vo6V3uQug2zv8$kC0K=Cad@ZOSxYkO12mwRfbsGLp^VNVa#k z0EPgHLQamZugj=o+wJiaNgG1x|}%GlKW0p?^#fB-dVe+>JVNBqif+>*BAmwUp`2&1(*3%9m5HN$D29X8RX>} zSmps(>nL=7kLNC5mC;IH-f`baDIY1z`KxW|!jfHOIZnee12fr!5$T;j_#RamymIkr z`MF2mCjX}ozKCnKY8Ac{0QiX~FUZ}e)}>i0Mj>*}${HK!VyF>01O#OsAY&RROQxJ% z+Sj6Evt9bxM(P=#`DMY)%#A}t4&^`QCS!>9I>hK=5^!E}nK?`Bc|yK{_6-4`)BP>W z^>{l$iqtcWbh^)ZK^rilj=`Jp!+moHuF$(tT{Kvs{e;$^PL28;=(SLzb% zZp-IicuqRkugm}X=`YEz{p{PNzrQc5=x4V$lNT->XqJ*=u+G+@pK3BC74&qc)=JW- z2T|Q#SIm4i8>rK99st(DZ*(GVlpAtQ0?>ip4 zU*34nQF-#KF9HPj65wa1=`uv^ofp0=qwUMmZG%n1`kNp3!DdIwlD4`d*&9vum>>F) zcgfLv?vnraZ~d;+0CE$$u`oGlRES)27vddjK)fc%wV(nZtu2KFo`rGBvkXW<=J-71{c1 zR<~#Pr#LsD=uyX(L6a^mCbD1$QEAHyFf814*Sg&K(A%U7tK&VZIeFt>e^j3T%GcCj zaT%6_M}P2#nnCbPHL>$)R0!hRm{gvsg033H6*_2CUT{|7Q z088-Cz4u3?bLosKGB|e?z|hge1MP#Z4Ctqlrup?dYulG{1tua zN3*Gx(>%L%AfI`8TdlA6+;d#+Ja$wbd1y_uQ8Nr~+?&V?FTEl!U59@0U?AtNchOfD zVqrm!tdvz0r4u%<PR6;s)Vy#u*?^%@KwU3uo>t~`73KvPw1G)iE{CESyOD%>Y_rqX zQltf~a+#N}eCdm_38M#7dF@@>lI`vo_ogYwFy{R?!`NX(Lj~_WwI=`IpZ&R%(a(u` zNuOm0;Qr4)@_G52Km8Utd15nq1Hxo}&FjO|coBw~?Vffe3wE;TJ&_TK6EP&+cUio# zc>VYh9_h3<%g-^7REJ32#=Ev`sxHasyl(|lf^Q%?Bqy(-k^SYY`7I2v9B*5AX!0tW zF$tYdSXJ~X)oo;Z&P;|S@~v55i}O!V=DsifZp9?JI5T&iAhB#k`$X)_9q0q3KSt~I z94t)KM9lC+idei*z~g5ytbOR2_O2XgrjmNCA&O*zJankBh8ud) zg>mK7@nafM!LYl@U<94rj_iQxR3XmQpg%ivbQLwTwX|G=fh8UYX<1~a15FcYg*8%?QIE1JBaySFXvc3;lpnkafR8A9I<8 zK7{=MNL`5MdoWfUX+bP~@E&>i&f^g0o3hcYXpD0i`aj62FkJNYj_*LcuVcKedO?jy z9OEU7_sT&}qeKQ^kQC#`p-U1=V+j*ZF#Q+fdpSNHzuO+liQ~t?G!N7@=$?D;m%sXB zk4SsemM?wn1$pW6bvXfc*gxpVG3XBOpo4kN%?i4+_b~3K&uzSGc{XrgcNWH9kzp3%d**7$tU%t--v$yM+RSirTf zos|J}Y1AX_LX12+zApXEk(@blR4#z!{g;3H@8#aj8eaOESgl>rmk=*lk+m@>CU%EX z2Iy?SP{HdM!MHKQGPrfEEuVVvnq2HmeJZI4>kO(1JS-(0beYx0`y*yG43Oip7y6sTxG(A2k$&4t95{H zyCd!W1NANJ0PuSdxjTJVySNL`UWe#i2J>wec%OMcEWkUEH-afX5BhixESh0_EM-|O z2d?N5uCuK5K?)I5aam)?=zr)P?~pG)`-;5fp*P9T{U3i(e)+%sKT8b~!$w8-mL}%; zosGJjY{Ccwt8ssVg#*C1g)w#T`TW*U&cYb=#(OrCNtSw-*rf)IBx#0CrHqUu;j=c$ z_LWW~@zBa9(=oK!3@~x@$D+`dDsBAp&%=OUMZ)^-HXa;F5|QppTjO0!4gn3se4Kah;t%wG^Rw{ zh{N#`aI*>Q`M!Ia9MgJNtzZ56A2ymu?wqOPcbp8uBrG#tF)u%VUd8~wlVDqnq&PyW z;+284*YZ-YPvw{1{ZsOVKYv1Ac>a0$fgkxRvh(~`rL{s4v7j$4xD3QO2Znvt)DWW} zK<4-H=dWsX#n1o1ow5bcd+x$DfQZP|4)kdwD}8|Lm_`l_O*0B$dE+uXx6mIeK(@fP z4hCa@QAr+v=-26jZ4Q~Ts-!8W0x(2|x)In2Ak;6eRE|pPt~+HkLf?CrWOw_TynJC# z#r0h#T%`trbx=lS`u~e6b zf8-~m_%HrY9(dzD@*BVT|AHD~OPa^mHP_&=T3+s6Z^-GjhOEIbLy>rEeM!p>Y$ZXHJ(P!fCabWfQO{KO>Q?c> z^Oxj>7ca^L*4Y2sP@=!B(Uqs3|BC#lkM7FnKKpt3J3s$3^0}`*1BN(*a(}9p zQ6?L8c}SyrwE+_ih#FzG03M%zWd~xP$dBB0M80xiS1v)kYeR$v7HBmzLLPx)%!yPgL!@6*NNA_UNy|e?pTB`~Xa}B_96fb^HGe)yq<}t9qGK>qA z&7(4H9hWbC;q&t3r#_`wR+x2$;%yl~`ONlEjV(pyAEd}U8S4EYD3N`hJh~3CcU7Lh zbVV*)-O}{@^=3`p`o_Cp*r>}#KKYbdV!L3;t~Qm?^j>*okfQksJ7B*W##ex`qCbHJ zxd443(|^ry4pFvfA~sZJIxKN%@0s#y<-`%0RU7ILc(A`MgZ=AT8T9fH`XUh&RoKx^!&L!UFfFaqEvJP;`!>s zpQOi&FMY&|zyCcIXT>*^9Qyj0?8y%UOKY<%^;Nw7UTeJ;mzY-#fHr5|XEHz&_~?+d ztSA>zp(QNL4AKuQAM;w z9to13V%8Wl+*ks34?9TQVT_q)k?}ZECmV)Qy>e++Exw|KS^w}5X7k=_b<>>u) z$Pd-QG&V2G?|u3uIWX%G8H>^cqbWegr+$NsipWi60!CE<6YHVRoesq@SWKbsx^rU% zR@JF|@}=vt10dvneDN8{aQE7}^zqyIy^e}?tU*HkT?-c1DlYsej(yKt9*_ZaY%f3z zJ$Gdrz#?+x+Kya>A?1;W?~@<@(I1d=&%YuSoNEKDjYZ3!e(8b~p^toMtt4-I$D5_T z3Vj^`}I zz=QI@o8BO^k&#b*<*Z!V-IB6aexu6^tiJ?1y8XaVQ^Crx+waOS4CG+sLj8IWeK#9L zeV)v+LmN>J``4JjL2Ia3mx>E4xQc&!;~f}nAl_fOtd``RQJ@8xN)Y>xtu*D-dJEuf zG&TQ=VAY)-!}MJ25_2)E;2Qc^d4{90X33ccu=#8+3p3smmzT1)Lz+(>Q?3!S$R%fr zc}kp=*q2cc-p{`z&tH z-T*uI_f~qi0iG@#ng!4V&qO43`b_hrd3s}6elDBQjktcC2$pp_@Iv{LrPSZSEhb$U z1@^$!n1uzBm3;EqbMlwpaz@Gkl;-9!%|Z89AD+p}JyuE^%H;ZG*~Lq@A|shHF)2h; z7W=N(m@BXfJy$4gFs!}qR9@QI6DG;;f+lWOi*mHygyfiyY7m!XwYDyA?6)9Rx?*#7CKHM`u{CiCLOg4*$P)G2 zVrZN>Omxjm&UEp&^Ye4z9O9{DZqSkeE>H|f2nf%YByztsfKCS@ueQBv$LLoDfN9FB zdCt2WeEb&sur1%s-JzvUnaN5M?8x_QJ&O)Etg_El8THPFm4D|k`w28i_`)}4@|+_~CN zv2dkUmH`-1v)P0ppd{~ju}04Ch&)A8GZA5{Q3 zCSAaTUBSI;cPDZp_9dMYI(;!Wox@qtH*x#&8J%}XYT1n=)ScSKX6B~%W<>MS_#2G3 zM=Tu8S&Z!hZFAob(`qfeV)5DLsPJ;`xV(jC_L#g17WisK;74v0(sE1fP#PG4;33OW zO16CvyOrCrEJ7s)qv*j~PbadVNIC5G+r%xweKiSyr%@adi6(O+it2(SbJcj0I60>q z20sk}0vBMR-Kf{31#yoqCc7{;FoEeCPOQiSICrgHk*6=V#dg0e@A|tD5R_;311RxePisLdw&kZ~qua?H)j-x-WvR|qqyu)!gs)>*$8&+RV$-cApR3As z=;o&37@*peBVdLN0x=!KasSC0nc+DP>v9Q;M}GhvYOf=^7cNRQAEo7|!6lqYTT{mFfjucAU@X$`dlrQR2`ABxOfpW1{8%q^)V zOaRPTb!W-Yl8F-;IehC{>MLav(|#-xC*!w%emM6MQ1|r0*DlDlt$n$^*H*>={84>U zxl)!_F1Nu#b}+-&U39%GwAqsx8=yjD&EBHsP>0VjLtMTtgjTHkAv6-5fTPr ztxsOwEuz1D-H+}gl_CqN!yr(CI5!TozQ`0hw}OAHLJzh9BLEBm%oJ11mB7OG@wo<(8e;tEGZ1|n>d0JbG+h-p%NoN2;)o18U9IJ@ zUPb?%8T5H=dD|T=IST#S0nT$3I>yV;H!=qz6CSKVRA*h^V&1|!3|2V=_yb^i5Pf&9 zUUD(NxDQ3#(;nGf=$1y-^kr@1I{>z)R##;O$JC(TWSLMd27IRURh(#fQJ7AqPEu*$ zI=WXbK*xu%0#MbHFVgRk{p}BF#2LxuoxW&k<(zZ6E#n>*3pq_*n=@`qw1&?o+lXt0 zWFv_rm5Am<&m<#@nOpFq@5autxA^zyoOaFyM*PuOkz~1!e)lA5z3y;{9YB&8Uz6!G z8CtSoIWWG)*2+}_vcTWJm7Q-H0P)hl?{EycRjl^bf`l2RSDJAnG1>hWSYL)$$0B7U z($2B2Mf?l0{n<3`HtYKoue33s@l%jKw1n~}!D`|IbPR-&OqMXSvd2!&R_qdRch|)5 zwb8*qRw0JIaxjts7>{B3MliXDPp>QU`tr-$@&hnI_F!pTZ?J6TNSZ}gi`Hd5F{*DW zVOx=aQm(q{YBQ_F(1V;4-HvbO6e#z)L-aqDA=qQ5%j#wWbp@fr?)GS=0M%y>KZeZV z?;hCG0TlT?$cA)?elrXbo2|NRz(B&l+)ocpvy^fgGs`-` zOn}ON(X35ItZu`88jLm+U zzqyGNkzKXi_tX+?Ojb?ovpF{*O?phi0#i4bRAlkTYsJ?{_Bwq{=k(y6oATVnYZ{Ja z@bVsCZOWVOY)QS6m#;v<{;B7oBg7#qCDybht}xwI8Or~hie?p7bA#BI*FxbgrnRI= zPjj03ik8xDd!%(eh5#Yzx|pA@-yduJ-#UQy0KhoZV&zuz;Q>z+WNCGN;LLHk@5C|L zfQZa1Xsoa3H4J-gy!buYzTQ<3<#^XO*QEzzO}&_RcX&3_0_n!kU1kj9LQhlok5oJr zS*Ms;Wc$@&os-%Y|!u&`Gv6%A$jQb_Z=`QnY51rO;8E z*TQ3|3mt)RmT=xT-LWQj9dAgZ>MX!o3?3Ix>ntnHk^O0c)K&mR@I@IxOnEPxN z-VaY96f?v*e?F6_c03S``mmDK-^HE9Qi)k05Xnms&0DXJ7$~hr7_7|#a!eGAHxBD9 z`AY%L%CdF~*6v3j2DffS48A1*oZ9?j!3`}qK7ieNGiLFjWGQ% z*hUQ^UPV@OWyu5KP9Letv9+31po9A%0Nua%?0MBw9k0Q{3tbrN*MejTg|kXIry^LP zTvA;XQ%AXi;@F;t*_9*HgwE`&MpSf(=_r2?VfC6yr;oh8Oxhz(Q<&s6l3K*U@c(B zN~h{##_P}L^7y?Vimvm=-%iSkrdgpN!tC^&<+wMwx zKxb@coN*S~KywDx0sbp1=(C!W3M<&*TqRrst=tT=8+1pSC1#A{n3A7~PX}a!(1#8H z&RXFP?0&l44OZ@VoLTiJ z@4|v?<_!z!OkLbBVUzLaMQgGzTqU68=^(Wzy+;xxI#jU*__0+e{)eiEqQa?!7x+kPMN0cSvW6FWG8rp4bqH2AuSq~PIk9!&P84NX`mz8~ zIKYdaFI1f3Ip?l{tg8i4I<&B;HW(T;d`_G__7J z`W{R}b*W)E9kbcgi#aXeo@Z4&Jm2H3mK^lARTnsfE_ZXKlGXXee-B|gX^udfEcm|B zAerOQoKC<<9Ft3=p3r7w9JjWoS%_jIT>Rd|L08sS?U?wS{s@^BO_?#r<4)h2 z!`h7r7t|gsh`x&qYjMAJW;@`I9s17hAyQ=~W=y-f& ztqEoNNQ3+N(vnv+petk41bzKx0HoGtRkrtFeT3ySZ#o+OMpjm2QSy9V$3(F$M+1j( z=gF6zyFfz(3zk!l7vSDhnDw27&;h&w z&UNkiYha2s+1#va`un`r1$Nn7n9wv|ENPO`Q2Ux{U5>$kS!n>|nm#{(g}NhUfKj7) zMz+olA%+g6-Y7&b%vi;7`YvjeiWnUeML<{mE~odmLBBrThA|X^$ZyYu^XVgD0#t#K zhq_JN5n9Iiq$|*qaxBx()%ZPe&wVm6RXKg%1G4?GCpGlVjU!aIBi8<1D;X_Mpatu5 zE;N#1hfKO#VkuD=j;a7(lIc|}66s8kXigqJ({;KfEX>?+|HQdI7CmjMVNU0>i6T2B zi%zoSor`}Dz5P5kXe9;1%&Ql_NOL|hH#AV18^7^4YB=iQkN^G09{JJV{KF@1wBJnu zFbK`#@*3Ja_S|q^BTIZFmtB0Y^w(vp<@|hzSGN@OQbUWM;Wnu&V&^En9urq92vQ7_ zbhS-&An`J1qCTU~#$PhC*OjIvO0SRq3AA2rsI_Uy%&5;AjN7udf)|@bga8;-ywJT# zs8&WAMLJNxm&wwmZOJ!RB^V797*v@Lu;EKjU<#wz%4{q-h_69JOx1m5jAOveG~E=L zBtVrb|4btySjc>!%72Q)W;)Ury9{N&T8wGbfMt|vrN+aY>~6K?^zpi^9bMPFdliU; zxl&m{lDA|!W-+3vzEl*0StX8lg#M2FTn1n^p~Kv|a9%~!RfyR6FmNIs`@&z2DR?mY|C*6oRNONlx8grUk9VBwgIsN-0p5NXdMC zr6w6F<$pB(oKD~|ts`x3%&0QQC5DtahLxP?7QiMV3;v$*kW)}iUJmat_vRRzm8_PY z(nryFzgN{F9efZxA~*2~yeR{hX6adUY@}baK}x+d z&t%Sk;SEO(7Ey5{e|p8@s?|c~u9T&j8*kj3$qdzG`cLrCWS?`o`iCyV3c(345Usui zyfDmgywZRk&-S&b5Lwee3zl2i+8emY0=#Tvyp#h_BD!DczMwKoMglk}hS86Y z;78Er*k5?@x-^>=sjSqoPepZ(IgCl&HJD6+krgny*vTj=*u#63Q<0ig>1a?OK;3;} zMP9kOD<@At&nE=1z8W0@98+SUar~`7Uuvt(hK4jD@vs3Uf3g;nF6-jC-o zGA_m_uRkDh|B4^}V-gpZZ z<9t)y-jbG?D8_q6)&tE{v!%8OeaP4mt) z@f5kP@3-YBj1DZ-IL0DSVkVZ76SbHvn)Ht@Cu$UlbdrW5WT__kN=>b@6jh70x&)~Qs z449n$)4Rg3yU^V!j;BRnCJ}wIsjd!>F0f7v3Fx# zs(W5*xv?UR&7=5tL~5&RQe9nB zkMj7jyk+U=NeRbLHQ;KVdF5rT_d!=0K04}Iov5ps8+AdTafypfjv0A!c{P$SmYA$@ zh;y7c(p1$#s?)O>t8V<){hpnPDN(Y~JoB1=tVnWg$vYx813=bFGKS217fVNGk<=u@ z&XOMzU3up9^+aEB)!&>1J@<~!_ZQkFMCfqXG)Yi`IrCA7!E%FkLjZiO;_o-F*@eI6 z1}o&D+r5c>Xfx>tFGk~#{!?J}0c%k-SVHf-^Tn%k0+`0@JCakV!y;oVLx)y}4r^=c zs;oClx}7>K?#_2tVH*#=KM9q^b$UH@I-YdKKVHC{5c ztS7hOWhL`5U`jzivAG0s5zH;*lqsmbu-sf1Q-WTPFF9D_OudV9S|}(0t891ra{oO? zac*XTwkkRYWR7$t8FazW#?i|hC@UNfC~iB}PaPr4qwn^{veh2Q)tv)bfu8fi`O8uS z&>kF2V(j5kD{|aOWdD+f2sgS@prE~miPSZ-;nK>o|7*<^$dVf)Ky5UTPo(e{K916 zPGwPW?l*WI6^g-{aMb}VozatFW86v51rT zE&eGsLP+M=SbjMqGQ*_D%iKAw_q+I{B>FKU72W8XUvpCl>X94mabpqK1n(7VN78g|`g!E-s7#^=ns z+$6smUsy2FM9xmYI7>_%Kg^*rAt&7`_>b-{<4Ifn?#5t7YSG18IJG7byEGP+qTkS} zGjp@R_*Uq?tf1OLYXVhh`!&zd&Pv3lf60SHa$y&v73s*9nOBsz;51L_80M zxjE*8Si}WMO>T0*Qr~bj9^Ti_{@DT6c}RerKQy zb@DbKf>vPJrMOBq#`+Z1LQd1et8UM|lWO!}1+xu`!C-+<6+(a2b1x|LR%(d^P|&T# z&~C*NWwikS z8!PjxV;|Ni4xyi%(dC7pL4U-c3|0n_y16NJ=;n%Gatx?lU2kf(7Xlxv*A1B*m7*rb zw1w+v_j_Q%Ww~%}Po93}np-Rib?ql#T}8iOUqMk>D-ABWGDLYW#2kSd+lvr`bNRBH z5OiO`wX-HMZyvK;Yx=8#(WI)oT^M;b?v@SR)ElZnDUj30R+4%zZr)gb0wtegkuqcOi>7D{R*6fM z$<92#wnt!=fM@iZoqv6z6K8_!{8z!-w6IacGi;_iE}YZ*oH@?U>FDj^ewk*L+&A59 z9{%J%_^yN0fSfZd!qutny694 zsN-~?HGLI$`Igft66-d>awcGITWu=`*S2JRV^#jcC%!I!>pgFP!KMQJ8Ph|J^xBH8 zb@aUl)O&&T9b_phU z_0qodM=#1lZ+%FP-MOmPTmro!3*B>Q)S);^z~hy(IJt%h!T?mF+YO$=*u4t0Olur) z6zbOwD{{wseq8Q&=s`LEg^x<-@_BjY>1R|g%YOtk8ck-_IZzK-ZZlVc!K$vQ!6+uL z;2Ew!FWILkjbm87j_kc!=fY4{rs-m8Bw3+Do7N0ALDmV`XHov7v(`#xy2m6;;;0P| zs?8*XKAKLIp{yP5r*0SI7 zHyF_S?2S4$UU1G5pt^-{6?d$7p*orEnX!0V(>U2QjnyL4OCON`n-5;;S*)2qpIwwK zL{c#&VuZ0PO-7WB&u5ph&-we5iUD!|sRG)FL}{{S^jiZ{s{s7^0Ys?HlOkI?U@W`P zV}-gOotyL1oW8Wv8RJ$9IurMxJKI=amr+>M4A1MiKCqyqfS1cT>#15oS*vy$rQxT@ zmM^Cq>FLvAB?1P?Se*o{Pw^43wi8a_evRKE&`~T zR6#hd#;W93PeBQWZBv(cfzcH#IAjYfiiCbgflQ*@hjnI;#=qmMb*WYIYME`VIE(7j z=eIS>%<=VAX~F36rH?-;^{=nVTi^S`vI70*m^DYrHMj2N9Q_E?-~tr^m?-P2%)m++ zg@PRceqft>yE33&u(~NH-|-%K@XmW>>->vy{mD-Q$j0&~pZttQlXNG}F*>GZ)H%l4 zW2paQf(BZEtNBoB_{*}N?cI(teEvo?K@+;%ICFT4Fp^mRb$jSJJc~_5TAgAsyv>21 zq*Kqu+`37wr-)I-e?9!>SF4!&%^kW3zB+G1CpmdGXE(lZ8PfWF`tk8uanL_~ctg?G z+!zC$7<}sh_~eHkZ(*H(WNBXudWprC+U*y8y9FFv24A=OtC(9^RpKX_e#@|~xpSo} z&ph9syY@JLU$V!N8Mx#u@mCc$jep(|Q6}MJ7MLMjCjcTtDCC3Qfs`t0 zdekf@>uXJ|)j_KwEtm%Y5vIBVPmxL$V%YK1VkjaC^mOel_209a!U_7X;ZQBAI)$T` zz|P2!U~n;&WQ>Ms@xe6J0ULTr8ZM@}svKNAC!?LKQrKw9hd=U3`O9y;QyzTiJ{V(| zOn~XEIuN}f;zAUqNX`BNR+wWZ6^<7mQ~|Q}ukNePaTHnp=*U6`WY!*DgY}tiKU0m( z71`|!serE~k#vWq;a{fBQ#&hI`=>K#=>gL?)jJ zLrQ7MDSpTqv+IcN46G@pPqq?YwlZe+4YFAzQ&z ze(#_CxxDYMyj_0uFa59_wD)BOL&$6tY7)^r3>dIZsM`&h*oXzz8A3+!mUV=CR^5Fj z0C$STEW)H-fjDeue;_B09g$OaAC(b+{mSL*vc6K+gb5eGa#(a|r z7FRt}*2k!vfPRjiuLq4S44osB-t7+M;h%j>zV?y-9q8EA$eIfJBRl6a zW^~Op7PZIon9aR6@q7tmRw&-IiRYM3muSuUXUsln?7JEME$RbXQWDxTo|xZtDFEW+kEP%2 zP0ZBuoY^eB7}wPyH^ii%lhwib&F_D4Rg%mWpS5N8oLkhE^fCujX8!lNeoa~a^^mfi&23zULsNWGXD_c7%cf9NEGW+a5)vU(M zWYRZNY1pEs$)5sfh65NKz*@%mw|*S#WwyeI({i~z$ zQ2O0{>9lub)}6|5`!Yc98mzS9r6wQy+;j4YFMM4ddB+3tqmRBvef1dQ8~bST zeVoDSIURs`$*$_@oPKTsiMuI7rj~*Qdfaz)i-%yOOkxnb`Y_SJXf)EBQmEEtrQQa> z7t}aXVO%nR=jCe$a{ZtyYxTOUtrS(qR;w^Jnacl>T;JQ1KCWQ|VC8)RPHLg}lc&~Y zWAltK>1(~kEHE%2?QF|m{OK1l=7H>uowGTg5AX5Vy5dr*`-@zOc!9HMJ>_CiIekV> z{FTS#<^TAv0rCS}&sg?4V7aVP2eFSS#D4VHTCzU-VqlWVCDn=!fl0D}Wiqqh$U=aIH(eK)+>-axEO~{pI=m(QWP4cBX9|vKDCtem?~tS|fy1;X z=C?1`0Y>gGx9;BJtspntBT6K?Y>-J8OID7ISa^e##l{bF+3)km#egfG-fbQ@&5gUz zUDGm_$tvs#3633xOOBssk?{^LOHC|ZQ#dLzLSqJ&(x__|l_4ykG$3?gojmfBzaYg4 zQh-^n3QGQ9mxLHw!Hk+ zSL8aKs&U@cM%h`VVZ3nZq;e4LDzb6rq%@kNp^! z9Yg1a8aZO8V@-a*2ojd4vjPZdXg1N< zViqVW7HDCeNDt@AGp&^xI;@<7MVJ|3YPc`uQcg=vk}-dshDA$G@UQkXC9iOfY|6f&Xwn0g8+Rrq3R=o(xAEPgz;cWvz*= zz(W>RqLBmF*;?O}HWsWq-uZU9^6b|neB}#LhT(}|$waY?lGz7iJ+@klW=_QTL^2@g zfY6^Zkyx2Xg6aJ6jU1V|6|*&;6fGlr84_qBeV#}vg2!-s<2T*u;K_dKK zat32=*p1ug@I8!6j`05Z?F#^?x&N$v_*TF#Yn-_0-tJ+@{N3?C-YVe6`_2Q@VK>PK zH-B4daZUS(6<}tLO55~r=G;!ch*#m1XZq(!M{F0qcr-r|fxTl`0|YPQUbihx=)h`V zXOp30R>A4FO6v`80oZ_X)Q>?y_zEnIIb}=K723$}OKaK!1iHPxH0w3lfueuhpUD1x zUoKtk$pqk7s5WF)Ey`xCB%8-7(ySCU`eVv4HJT>Cmi8fHKYi|s?0)41fYdf{+uLF;6q>}Un|H@8{^d+e+DI)p`-5tKY{F7N6KQ-_DHaZISm z4<-tTMnRAw8DpktjpzMf)|&M-SL^q__q>`dpRNv5XFu(xGzZ~A&fq{(_G zj`vyeeZiiP9C`z&^Yoi>lW|kK^F_&mf1(Vs^ z-UTR@W#ipHtvb5#cpzuq@Ar!>=1o0-8&5zEI>Zgu(qjt8=1xnOwbJdQOC(8@MMbh?|=n{_Eebx>Pfk=1Hs#DU0s zQo$Ja1&aYod5$2G_aSaiF^=mHq4#hv_MiuBGa)L#b~1X0?_Yq(%VVN~x}qCCofcfQ@qVXP>)`qH#R1O8`c{ z`;a85v}?1|*yj{BTGNvmYV4faIt7-Pks7b>h`%gta}+|BvJi8#cTWy=Kg*sgHR?ng zZn@=3i>dM#01%Ah5iz#{fv*Pqe1^rRvuJByfGlrmvkL};TRd0Vn|Ho>1~-4KN&dTB zA8EYp^K0Sa7_y>?M3!HZ-Pgnq-^{IoZa+FC&tNq)&~>%yRe9y?MS0UBKOxOC_bKCG z$k*uy-z@$A_=g%kMmG$)vuJJKVxW_mx-^E*xjG(!tTZc9Fw7O0m%HygCaddf(trV_ zqz=PTYA&#v3BZ-^BouQyU{40h`zv5y?a53P`^Q(RvI$mM!q_ZyWrO~KW_D3A_F!Md zX)>k|<7NZ|%S5U#ViCGYFtbXntce!J!=7BddLUO1hVsf@S9a-t7>ZhVSHMci)^^)n z6*F1wjfI3RcLoZi%(u6KvGkdie?p^32SdLkZ@gKWcG4x#O-g^2*CksiSlq<7A@QrY5zBWSdAxY3#cDEl7M1Bb#&r#7Vc3)nTW8g>g>KxmP3uoH3WUB>+^x>!y3Y zI{1l?GK+y7ivURd-z~IP7yf2m<@Wh~?A*EMSBqCMj`{8~N){760QWhQR6%@(7H5-Q z*5<}4z7uL{_(--Tl->j9c$l$qg>Dmgx#{1``muldsi)e{+AHr5ni^LRn2qsl`^IAt2G z0S7Xc^0**7*T-@V;_6v|LkR$O`bbmm-CU7PSb!PhyWa+LJ9klCTe_X0ynJbR>&XWa*)OmH|7>;HUa|06v+v1DNn!t=>-Um2rfhD#Xwug)FGttm~1CR(Q8Y+i=xh{-2OrPGPE?F#5D80`Qa8y+n*y!O zWQMrc1Blx%U*48AFw!P|dj;bC@zV`u==#JH!-sgr(});E2o#I7F#{yqOy-EBpf(@P zkx63ePc?7)yJ?t$iVt&1A@sR99-k%_d94p|-uSaed0?3tXF9N30>9VV0$ISe3;;g) z;m2E;>))dAxA+F#2t1azEa1g0+fQmSTEfaq1Vl^jov$xRWD9OBe)E>< zxpOQ#Z*p;SE2}?tjeTHFz?tS!kwT>^M^{$lrB}A(SQIV5{B|pq6<7aP8FS4sSP^yE zpp-RYem*8HC4&M$9N7TdgBV?cVWkRo#%p2?5eo|l(eH!UZ35*jk zzcP#|#UTt%BbPmTY8@ZbTFaqGn!nMpWoCtDZbrszZyr1D!t1CL1c*NK@;N-4G49v8 zI!iMo@huz2-8>4d6R)i=f_fN|SV80M4kTjW%H;fu=5Oi)7%klyY;yC{Cb~U)158=w zqLQ8aslQ_S-FV+qNp@0&Gy=(~6GW|sH^W&m(Hl!tRS#U^u8OY~vKMX&P> zhQGXHyYS6O_72~|jZ54L{L`h3D@C|8CAfd~B*Yx*GPiUe3t@tipfxwaXgC@zZa)OUJ+pcKZ;AnP8OJ zQaS*l9k9XYclPA#*Lu2r8okQf0MYYXUD>D?qz2;*!Dzn?Lq`kN-zc#w9lj~zudS5S zO8meb1!+`DatM9QbNMFB>^IY#~9B`f4prdlnGKS-pCp$bKa5c3y~5MqmwjH|{K7>GEm{WCYH^9Mkr}hMvq)yT`m-+mzBsD+ zEzzt^&TkX3MSC;Ots*{TG#r3k9FZJE#npUU2JKxbw~lC9ss3mrtyV+KtS{GkW9Y>y zS|fJ=K%`NGztcU2Oi00xhKLfa!&6pXQpaOH0vazYUj7MmaIELMx8IkqU)+=DuC>)4 z@sWq`kt)v9Xh7cxadno-sAz~AQ{C5L(8&Y9rdqt* zXq}BhROsl=)2pz+4(05%eOSW_vX1S;P6rDI_8ZZ09M@e4Wv_jpOqsrwx}MF4RZ&teN>VG`6? zG*yyW6|q5ObJ2Wo2x0iI@IT6{q2)jru)<~4( zc$>U34!ex}|5^JJXj`)LED-#6oO!y`Je+wx zvHSo2J;aVU=e|t2I;5BP-g6>$?AWpQx4(aOIzOG6)1h%?<&gouC1$DLY!!!X(eDW< zxsM;FATBtc{_<@7UzmgJn>*gZMP~wPz=$4rWI!d;v<~V2nXQF>c(l}Bz=7?@I-}o6 zUl+O&ntrIXzC^DQYr-!r`y(^43RPw(!#RV{NMdIrR@QcR?op|^EsG5)>MLx)oxm`F zaJig$XK;X?NRZJ>Lps8}J?*vNfHLW9 zM&(E0dRmp#;LN`t2w-oHZWgZ}eAxoP&LS6HQzcHAcpVO0876pG;P#k$E5d`79u1FE0dy2C!Gj+`Lu^qVSH`AXNMVShky3?c{;PH zBo&B7)HE!|=-3vL+(8n*Rw7|}sB3~0{bL574xE|!`EH&}=sH_gXZb4KX;0|&ogx36 z(k<2--nhrW%)LB!Zk?^e3m&_f7A9hSH*or0&X}sFT|LUmpJKWvo2$O>&^}89_9PwEM#|zy}#Xe((CevzeJ~c*U-z&pvgn>1%( z?9%x}fv~W|7gsgn#D{cB2R9LID4$MW1u<`r8BC59`^XaAY}Ki~b3+&xE81($SDR(UraTk#j9X6)G zNgBX9I%Vd^ZTFa2_HE4#hZV;b!CG#H|uo7%=7+9UqH0V*TZFHI7Q-x z1&v3j4HDV87>mJUBDy^|dz-q-I<}&w+oRC;+1%;{O-{fkAAedhbi;u2>Q|qqa*hF! zHzff22^)RRZC3eRRy|VbU?rP~$#5>ad7#|QS0puv{Uu5#x%+(EZe}@4tD;1drOdPr z35E*Hm3sM{WOat?PQN7-Of24d<##G%9&grG;0l?&BrW{~M}T2xe6F+Shi$L8pI$z9)pK}iSwwkH6(P!x77^Nb1WFIL&anzZ_SXPD7+2END_Zvjbz^EIir z2EGcKjOd#CI|0DF`tIz>|NFo%qE-HW>dbScd-k4D`u)tu-pln(1)@zBD3^^bBs!iP0|Qd3!`&mw6~%g6m``YQ zvTw>`@*>`9U8c#%6dIC(+^DO8@{&Z7prF$k3)_La2@0j>OXfL%0my)S%Azl>#~~#y zc@d)!J4^y!dSjoB1!cN<)Tet4Xutm3*Xcr&L77?CJ+|EHg%Vxb2OqycclL+Wn$ zb7nt9I$y8TD{N`K4^Ya(Y7GWgVheGVw$_?-p8u5#6-o3^D6r+2S!NyXIXo6sW|c@j z03h!T*g(T93mKLBJrgE}GM9*|xUk+7MmK=i%7DMyna~~n2a$8mGFz@AUK zQxSs^niexyA%X;dGfuIdv_ie{Lf%u}PD^YUF5SQay1twdePN_2NqNnjjMq8dr0QVk z3~;AMht%2I6~hXE9m%Rs_$6o53axFZvdC~H}%L~b%bos{hjK1@VTZ{)?c03)%--ERjxN#P)q-v7@btG zfw^;50pg0ook|Hfx$vJ*7n!EpdIbYaO~Z`BIBZ9)xWCbhq5kZ!+ot@yE=7MTEWRGR z@ftmP=`m)8nl3-~Bt8G--w}p!t23ncH=4py2IH6kr6AD>una@&?e+%LVC!t5%&c%Y zlDv2Ygv)^?O&7w%)*0ZggHf^gJmgt*bN4{}5fPhPW?({G@sO>~+f@cHHi}%i$ktxI z_K$qq(`;Ct(;GW&W<5jtz?F4+f<@35SUf&F9x!98(Ubf)9G4-YZZ^sy>b|^tN;}Ld z0g^dbG;`c%u%PyY*;Zn?NO;3Nod~Qen&t| zi*>%$L#O-YK2t$RTxbPOL|`3)*f(=z04~)NojNC>zae`|#Kh!WMP~!4 zZ)s_eU0YhOIyc=~+Dc4*!*yQsONaHF3id(^iczvdp7ql0y9oE??1W$HoSmSW7ti7T zDQ#|ODsM4JFm*e+`5MuOzMrkLYxK(Xm#JK-h^6u2wX!S@6y+JS62D$SxYk@8sbMij z!~-0sMHJ>fLp(&zK-3FCjgXj`9%}IB`S06oP}o>6u~EZhQ9(r8jN95fIHmVp+mblk zw>`8)C&yiS>e>Yw_2y!{c+bNZ=%~#)x3wzk#ESI&@0-)zy|x%hKKdQ+r9qFuJYtJ0 zgLRdk?MGRheC_qy^xDoLpVy&V5;ixd$2J@EEVC<&P@$md+*+N_>Cm^bXg-W5ROij$ z0vjHV7(fv+_{z-#sx$bTV(=#R78T}ph5)P?H46(mKPyNYU!>iaY&Ogck)Tyf8Ij5S z0>I1Ja5YIV%S=zhD8d^8j5)}Y03#DvE6&+|=rVOXJ-Wi5-+BENQ~fPcGH%a2d4b;b z%;h8#i%vvYalB5EfMk<4^9u7YqEKI$urHnH^q^0O0!yzB$v|k`4d$Z150Rp?WM=2* z;Cx=)I!HI?){M5-ohd*c>SAqiN$J>%G2yYloWkGPO_I5=J&0-;}(2o2_+Pu;mpx zt%;tSx)XfwdL6~kWAS^dFoPPfQKNup3Z^vx2N)fyRg+~V2lj_34c3wMm<2)XzJ16H z2hm_{qBRD(yDUyVywRXr`j?@%C%C40sfCbh>*;L&lI^XY(%K71ZCu_Fc{q>C*xlRO>`sLV#3eHQN}FCbfatBX9nZL2OW zGRTB2Wl&hpHex+xi47hAx|#KBlmrOy^JBp4jZG$-@yx~HvW637Md3fl<9hzmIjS)5 zqGH@3Z%kKeaPQ%M^Ywq?hrdObWE@OjnM0BCEG=Yq;av1S1&$!NBnoz8RCYu4Y*4F| zM3OR!=(LeR=9*3zp8erthf7ehc?mPa{zq>5}IA7$~^10;X|Nk8!n5BVixsxH-DH~*_QxB0oUwd6j;@^aG z4Dg1@BK;c)@2$@0uX0wk08Ep#z5Yyz4hRmj3v1GuiK{Z;>%OrxFn#Z(-?aZB%3B7t zIqRryu|8{y7d|qoOhya_3|Pf#gLQP!TOkAVh(UmjBj?Iufh|{yB8tIPBhNqtqe4NF zB`DDq=J>M+1=taB0;gXF!J-%!)+pX#5twy`+gCQJ*M&}w#XtsyHMTIn!u>d4)>lU~ zNDgVSs*(`}`b88l!UIbIcmAxxpj~2iI$*IGo6`P%TO5?9iwSkQ0~x2hohM^}IHLtJ z&BQu%#8uR1AUt9VHH;y17GrypF1^8hfWC4Jql&HnJ7iH7RUl^Dxzt2i0RHgcWN0@!lDfUH^1@1O+>3}tV^p+@q_8^Tm?avexW=l8 zh}qvwil#hnuzqvHfBFCTL8<9NI-IL+L)RYgd}ijemkD|Cgi>3-=NP6Xy_!#Gomnjw zup+X>*^~WxIjekT?mp-<6(DGuQ=}SAmCf`7DciD6f#L7<@EeT%4;u;J!@n2+qz!h&jhXR=6xT0nx6aQSLrqzB`&Wwcu}%`?Cx!< zUwo9swmcgi`ULDj#OKucOtcx28NEdQeGT`Td&g??1CTXa83^d3$c+8*?Pg-iaRmj0Z6CFH_`9cRoQa7SCg=lvkNK=oWXD-38MiSvi_AwRP+~$*OZv}52-1=%0k_^3a@v!{3gKAk)`x7UBiEDF;so+t%6>v-HZ+| zeI%XNIwahy4#T>PKXNeie!#4!dv*))=TXKIOo5oIm#*+C2-i22wBt_pmNNGcE;uMS z$=$40NPP7B-%T&Qe3w4=+pkeW6)E?rPtxWS z@1RnI;@)Eh4kg9KyJKcs{QW5}_DyDiV1P)Ig)p~jPTAVDRZ>{!NEuZwOA^ycEhi%L zAsZz2kJ{n`H|a-G!?xQ&ZH*r7!+V6E6A1?tBTbW;=X_>#S#$oo&-cDqY=~$*noOvf zFEbFLv}RG9k&zM$;8D(@XgT7X=Ms^E1(9PQK4G>7k@1-OK4c)@LjqG6bS5(qO{F%+ zd@4+CD$Ea-;+YKC!UByH1b}sVHj&unDPo`5k_}e4$*KXA{DdwSPRj+huJ?Id?i_VR zPlyaWMK+#D=}SJ~lnwWz!|ue-wFZyZE*p?gNWIF4`SR|3o7)pa`@=0bL**U4wP0)i@Iip@kNdNE?zeFdj ziyJW`dg|dTbljfP#cF}>?+ibVl9I35>Eh@UI45krY? z45{Ri6L5R8CdG_kOj$6<-Rt#5OfDDlqW3H4BI_L)=-6($bJ%4OyGT{;>@HhjXX3!C znbB409J9+czIUGgHyTfD!T|;sBz54Q1F$w0N_(R@wHa9Y3saCCWim&ziH&MeV&#q* zv?M&ujtj=Fw=ng27gm=AD{+H?A4y*U#4sbkxvvf;48YHuGLx~?Qbtsamdws&2F8gb zX+Q*xHZ?$4uesMomTVYe*eX6nbP8&dkhmKmbniz#aFL$5++-t7MRchWEvzZo6zz}L zFK%t5gsi(ts4I5ossy=0a+Fw+jgcg^@2bpPv~x6+Ts$zR=4~Q@sZ@W$X3}d_r&{#4 zO3qMeMOB)4(9*Huqm`enJ}X%J;nK6duQ+%fUBgdj1zua-z*$WvFDLmXwJmwtnHt^{ zV43R@WF`s?A1bsIW%i_HtEo=?H*_ya*cmO+^3_o&SuhR4!rePlwZ=Ej;i8u2VI@p!B;;68p~Q&a&*qdpb5jT(2nQO&W@s3-|qB~}_qO!G<{tWo>D z!1r%5pdB+vBMl?=B!u>9uxAEhyd}g0L-a<79RAhVnDfEMH)*|D6EHQeDo)fPR(eQj zgEBKW{Yk=r{QM=8EWx|cg!qv$q`5DY_fgIAKD{(Om+r?Zdr^2?kV z-bc|}MY{m5!|NY#vEOivFJRuba*f`?p_YIz1PMw$cZ`K7!>(35KrkabJO%~`50z(F zdlEgKS{gJTPw6&KrIy6y)JyT0l`zJP>Lj>d*w2hllx*_`T;sDaP*XCAvMh1M+fVv# zz6F%Q6$Lsel)G%yrgUYaKzpYw_Dy5Daes#%*=k5$J*0@=Zm?mZ&dh1Lki?y9tqSFt z{pArSTrhb8bIfR>h?&)FDA6P+0*+jLkDW)9$(&hSiMALV>wNxe46YE9TUV~qV$KEdbwqO3$ zUzPeLNV|3S-VWt-hZd}Re0Z%vPi$7{(TkgOb-P6`-#e!Ec)*}nlOz%FV{GzslvpP@ zW3d=<)^j}(3-e5-a>SzVl$;wC$Q(p(Sk5;#n$$k+upY8Ny>_3v48YhN%4^I9S*$PQ zlFfbPGR&|q_qJ8Q_ML%G2LPvZ;%?q%SW?5N06*T+t&Be93LikuC|D zyxkDY!tRF=AIU9T$ATMESQ;{gEh>Ay@}h0>y;|yN@|O9sJ zL}!`#%_d{Th?OrVyJKY#IQ%?dsi9g0es-|7q6`|IbaId0M~ z|H>!nU;opep}+8#{}f$&@@a}1McR1$QCcfqrPFv!+mAg$3pRQb_yJ3-$GdamYxLV+ z`4Y8n9ne4e-#$)%{=fbcRBaOd^5=esfqF{s`p%Ei>Cq9rw7W-dzkG?VZk(e@`IH{! z{$9A2qb=6&tv67ds6_P^KcCv5qi$bB?TakVZ!`0)v0(!8Yz{%ulUNeEMpjBNtdOYA z;3^?=Jgx{I*jjJW@o|SbJiai*Ak+|6UzE>maho}LLB^njBXWz)N(>2jgd1N1LT;@X z16w!`$fKd71+v2I-1M26bPAPLler}n3Uqeb+$R)`lNq}L3`qymH8f*>Q<#)Gv=MB` zHSL!3N>b+*m<~|(O>f{YSwm6;w$q2~FY^dWy@ggCIH(jmN*__?+_Zyo79^J22`5PU zJms@2r>{w{DRkZpf!FP}L0c;MTxWrZ!hJP0wUTeN@#_jj|J4xbn$239b-+|H10GO5 zKqn8HXSwaEYv*}^zid*vk4z!&0gGaLY{)>=$m@GOddEX8vD$7oS)`mwIVEZ_dxArB zgm_oJU4cO)8Zj4Ri|51Zb+&wtB~ihMMdgc|TWm~F^sV3WcG`aFrW8hR)SE1#HmP#F zM~4hZcYg5~=`)}DJUu*^(og@Nf07L+gT$JEevR{2KSG3#mZI{FR#Zyu=WfS$yAKtFu0IC?RT%a*ZC}W?ke~U7Vk1 z{7jIz^N5hqLl&>c5I^u4ookWkWeN@hO+{r4fGb$v2@&Fbs2ZZ9rK z{_OF{^gE#kwwq>xhK|)qTPg+6IASYb$5K>?=xrC8bpPdngpt9K_=FcOn-J*c{xQAh z>IFh=@-FMj>P1t#qE^YV4s9a3y9SG$u?Cwdvaw@I7tYn`Yj-=6e4!Z?=wY@N-`GE; z4{Wc~xl7wrjB|A7jW=ljq)pqc1r0h!^rP>3S{D8P^N;;O>Kz`7A%X3q^y1MTO`my! zHrFrG{V%>q_g=b7_q)e*zQhKDjXZt!-~Osta!a`aU1R|M=u=P9!>l{3ig+?X)+QS|nFD z*906lnrkBR7g_f?>J4e{{wa0X`i)v6RW_O+32dLO8^~{n)K{J1RCJ^$yGhmvgZzaE zDV!~|+-ub5@jf1jRUD4fW)|5b6V}sMIY)wESxE*L?d2Ep(H?dls&Fc1YE`EIFC(7l z43|m5=|c2XzHh1aJTvuE)$}W?FtiCB904&--8O<_mFN>}+J2*_RfbQsLL;=IJ^!`J z+~6%73dtdOIv7aP_h26SN#OuFw9XQx&(WzTUv;D>Yx=3oq|iG1TxpQUB17_l zoHcA9h18=DZP0JNbim*?6W=-sf!k^^+hMRm?!GCDf31QE>ni0X*IfnA9WR6tVFHf_ zL#aVL8ADub&_RDp>vd*NwLD$9yh-&s>*96~Wkc9JzrjX>J{|XZlxNEH+Uu{<8jF^_ z<73+1-lpnWO~m8xtmNtX%Xg{1IiSZbZqsCAjTzqsnvI84Vtrwo#qH)g>mN0X^|~Oe zOo=E72V=H8t5~vr&G~#3MnB%~QimtgYsYPxv0(;G?y)Nund!2=j?azR>b$;D5{vWw zy^f^t>at9G(jU>2tQW+Xp*YlHHWo{AtW4&Ysbc1c#1ky?;y&XA3^iulyS$l{Y#c8V z&JMISaA+mjt*^0Yja2s~BwCH*1ZaYZphK%gYRYDqo)evQ!rkOgZ_r4hh}`wboYScZ znA|2yBpfm-N(_ww`|w6g)4Hr6TTChS3|`gaKvem8oVr`EUQ&tINqL=S`g~e>oW&r0 zpG=c)>ELB?jcs4*8d-E#XSSLJ7yIc0flsFpCJTP69>Sa+yh@kaTdnSviM${g%;m!3 zD(J5|qpy1Tp(xw|RR)0V1Prr5J0_RfS+(bME8m6-gLAj0aC6jY0M*(4n*|{0qnNt8 z&k+Lm@P!67Sq$q9W)gvrV}k;UeCOFhIb^m}g6l%QMm@G}K6<$&A!~?az}WRhLu$aH znU5q}G5{7a6PwJ)AP=sw^8eZ+4^yRDXYqL=Yo=1w;=k8mUE9r_6S~*w(Lr}8>G`H)tDuH>$41C3_^i z=QA%G-6up}WP(P-%P5wj=rNyq%=*!LCu7kQ;@u#!_9!HcL1ELhx`T&Vhtqk#4%l$q4{CcBm+;vPo{Mmp<|r z*-byg^c?7=anu80+AyqLQ|bG-e##$bF5W=;vP|&IbsBX0fs84+Uah)*xf^S+0!6Y-N3_dYNwDKA~M^njL15$dYnr_lVy4 zUEfXBix(&=)r1{szP^aKGt}i}<~SVZ5bN`+cW#4U| z(#~K&ud`lm%5$p1;``GVH>5HgvgB;9=Y{D4%%%7d{2GgSx^eG_o_g{j2C1B=1`z*S zD(C3*WJnuZ4U_R1wK`Z7Mn-F7lu_cEGiSXh2@syJNIaU3sCMZxwYe{O8$AMd7yNIX zLGllL_;LGwwco^2FE2f1Qd8HfQUX?FteeZ==`qkr9R9;V*X`PjLfu?ABNNv!pOBF# zb*}qwRuD-|e+zIrsB2>`R6%>m?9EC@DX!)xF#wQ- zforSb@vR>!wNE6U+W(X5^qKbwHbw`2Y35~)C^ek4^pJ_Q)KGhs0;%N@2*Gl>J1X;u zS~}x_YYqHT*xzP9E)2GvLIs}=2_=;e0<6l(;}VUsL*4NoR^Af zjZ%dMr)?HT8OUl4YHVHN_G&a~cf=j%!bXE$xxGWLpY&;?H=+J7{}P=$cY)R}U8J?k zR~ZP|LVJZ-*_aI$vnh?ZU#iM1lXYh(&@^Q0ZlCWv?VYkHeZtIgmtJL&`t`0!ZGU;I zNmrT-#?^upN17`(&TJz+7>Ojj<7ed+I=1y_*G6PbD2}fj{gJS{-_k3*Vd`p z%^tVe#ZDSpnognALS6__%0{0DpQY!IURpC^bRhDCD=|!D3>0R-$qZrIIsnQz+KC?Luq{OGn8V1DxPtK_05|EsADBG{If+|wys^}`h zCR>`m`NK0L|4I0uX=|&w*(#89EKMga10MWV+|v$Ta&89LQaJTyPvxgh0w^i`PQ4-u zeFMWCO$9m-ohVHnc=#Pm1%?fBVoVxbld({~uL%RRla~96jK&D}diLrzUBA;2D`-9{ zOTIj0O@XQqE*;m8*)rUZi1C7++-?x#2zC1t+SzZ@MP`oxr2_`9{&+!Z!64Y{(|ev? zXK}a6`oRISzk>91%KF7zX(k4NVxuXZB3JUpwWiFVIU3Hm%~QIE(6ZefD()Z9+H1Gz z{FQSw+POpRqqex-w9ai%|7f4ar#-sy#w}WB0DAS_4jUKdbilxL#G<)oz<$?b7igWu z@%6P59kSu&8XJ5}V#&pT8!(V^rytQT2Dkkiami8qKEeSrIB z0LZ)x_cnvswZZlO&hh${u+} z^|hr1tKalGS{>5nz9U*C%O@gm`uA|UtYUuQ^?ss+T-vl`Cm+6vC^2bd-)I6bXMvi3 zJ`s(>D37#tRwXDOfFRKW5iqmsE*m>+Uv!cNeYpuY5p0e)zcCPf@TrUR%8gTc^{_3~ z%sTCn1o9(Rw%wgjwHVX0m$vAjGoYKt9mxmy28+H=GK=bUM|5tzCL;5fzi>~;v*O6^q|9RG3K@> z%%tXY`+z~@?j1Vj``1_;ZFUX`q07fdeFn5C4cI`k@z@pOujmN|v08<7ZsUQ()Hdn` z26g!4ji@~wNQRkuEidjVhb-bFqN5BkzgdvFyDDeuoxF7YuGIIP^1t7`zDMu7%HTPi zOU4=&_G!E@^J>C?+UCy@7d(Z2GKQ6$|7PH9pZ2LYoJitUVUKeyp!d}ICT;PUAzhaC zDbBR@1GO8heea&p$y5zovx3Fu=UwWB2lF76Vl6~U_n%;H1@M|(14cw9zYx7^S}0|# zz}+B{!hadEPNxR&YfERbz_H1sKdEoE^??jFey591wvoUYn^t2@_^c@~OZ8vF2;%ST zp5m>f*rKz5C1fZ5OfQxk0GxPWdWw`(>5^v49KJ9DVyc&e8SX zJY@jT;_M4{9+{YG2;#^J6b)t*GevJNxv3hc{_FVZB*?CIx+7Wd>PgHd!pr z>6n4*+<7vYPq3S_ZV=)gD%3@D{)~+Z<9?To0eP_|OYlFxr`cpcWj1tNcw~$9d@-G$ z#0C_mY+7MphF{@KvMlGta{KiAo8m#2XT2SA`?0jiR^k!$+9$MrsYbPGjc(nzVN_Pk z5>28~HdGu98BB-F+U63@)-2Z;w5A4-d0g(@-)GjwTwoS42s4PXF7pH_xfDcTqMeh0 zIFN(&^+u*@9*i>$)_3miotS4KBj%4p{{SG ztnQxKDN1cSS>~4*J5+KjGT>}<20DF@Q07-58%=Lx=03)Xn$o8QOj1z@ba7fwVkcfo z|AZ9RQsW3QfZPw_K^9|Z*&rND5 z)YXOFhe0gnzmZ~Ui-7=n^&V#37}8cfdZ|U%?|10lUXMlQh3LW7+2UJ~xZ9lVd&HJy zgw0K)wgwC()BaeVVbGsajTss80>TL!AUPNhDIWC1w{XfVt&lJAc{8eQuhVeYmjnfh zfvmZ?Mx)6Qv%87_;AnirVymJTUwWM$VlllQ7wF*LF72=`6TX(HCk!LUpf{!cZePk$ z=K1;SMKJ|a3npP6nlHTc2GuJKDRT70c8m5qGhw?W2HmxCOs8yhMy-yM(TJ_T5rZr< zz2R8;d%_GAb%QZ>n_KI2$k$;6pj#y*NiF6i8_tK`aYY=V!K6*@LgNVSE3{Dpb`&h= z6nDU%i)2$v>(rh9o|*fh3z=y+nNiB$Ncj!d^})-rhr~S5MqvYV{i3W?daI&|PM+ zxm9l%ML&wC&nAQtYy6c=DCiics9OvssHMJ|7$wG26dE7Ov)#IPkM>S_G?ZfIbJ4A} zm?c)=U&sI3=kMw)mX<07soC2sMD+SD>+9IkeD}C3=k$@$xsVfA6r77OY_MSk(JBb< zLx>tc5Sf}EyRt@hbCV_5qJ#F+)~HbCO$-rw^$ke--`%;%DS_eSEsxde zhmrD%I@#6W{(&k$C_41+$2RESe_@vy*O1mWH)(J0P#mXOPNqt&Ky4O>N6hT{_$WrH z%^bC6B|2#LsL$-HkFu4w59s`Qk>CrAAphxf#A0!Ua;Q%c!(Wbph5-S!L}HdFktqfi zJ6J|hbm*9^z+)CY4@YBh9XVw7*BK*+ADO&_e1D|ZIygO+2@YLeGp8G*<&^c2XQdK60_bBi{D7F3NS^2Ror3I6xErH^=+8q@ z)@|Otqp4?cfU0OE=g>*>=I_jTO8ZS>m3xZ=Qzz{!752sTA^A-cEsMyE3O4r7GL_d)&_n&ty% z>$EY%JX6XaPbbPu|<;z~ZOwn)?5s?u9!;9+H!I0VKOqeD5Js2B? zdeDQ5HiOJ$K@|owwwFjv;N9aM?RE#^%Xiorvxv<4H`Fyjx_uTuQN|NBLy*~}$`+HY zR$a<(;`zbE$^gV%f$km+XuV#MtTAAbGrs=#Q?`EWFeoG10|u1QWbOfCDw%f3 zWQ&1Qcs?(Hh_V5&EFLl)jKM{cGU*9KG&Ic(tZdjusciiJ*z+dI{SC@<}~(95KJbs zKhwU@*iLFKDeyn~!6#)=H+bCtGyU=Y*6fWn**q}S*cQqPi*mLh?K1`pbXgR3}@p!1I2}kaoMTxeH$#=zWvfRU24KnS&3zL zll6M%npGaVyZ|Z~BK8=tzjFw=<2K6Wf{X{EN@j~3?Ho+ms@O805U^X9R4{*K0qE<_&;K7k!%%GF2wzZH`oH*sLJ>5#dtPl zKX7wq_4`g#LFvpdYUwVfXyPF=W7mulm*YF=B?wl$5Pj3FlUu>oYqN~ z{8I*-asbjHPN@~o9v)gJAgj+<;|Xa|XS5Qum-#{m%rK>6)M_pF6F>BxznK=(!W$)E zko6@pFPGA~Q~NXt$ffz4_O#w!^B^FQ{<)Ws1(V=qpE(Rk6h}&|&0J;r9}xw*$)t5f z6tFg>5@xs>`p(#$RQjdqmAzg5ZMoTSu+zJLvPewdP^Y%pDAMnI?Y;mZvYQ}PJ!)ns z(UldYC=eW^3;cV`jBz-R=!Dtc`g)6Ay4|J%Tbrt^C2p`qxQ6JDoD%&W3?mXM$LtJo zyKog@UdL>#1ivaVw$$nc*6H=>R(nAAj(W6?n!bz`{lSRa%F~rKW>A;6xKEm{@1N3$ z0Srv;3IleL^@!&fwDLNZ!sTFjNZuTA-;aA^?oW;`G)i=FqfRxjRA#qQp{{Or;{1&vf%_ple%zr#zJENL!?TVjWZn<&C9Ga?1I5c6*wNZ8iQqTB%3za0z`GN zL4?mCybfbqXNLV}zxNs1*l19w)lVBQGMl7wZ%TV0(xfx*j?z;o02EIH+&oZbTBSTC z$ax9`(?SPbO8iwQoNm5_5ZD~aOpwWcpOyTw`>{G3`Bp3u?Z+iMg0w;$erv}vUY&I? z0KV^Urgd*Ac%XDDtFR*pYg56lL-r*}>T-9b4tGUb8W^?WccJrk*HKGnYg*1E6F`Us zh%~S#;2XXJ73_S80V3H+{pTV3b30}FhW4KN%opWuwG^vN$wKjcQ)y+oe5Zq_bmBbz z7p^gj()iz1R{B5xje9J9woU4LWfc1n*w<(xaj!^ewN@+BDT~7k1|Gy0!`T-=@ywO; z{5y$$u3A>ix)=zV$;ETy^M*KB7&>Z=iU0{5i5sn&>vYPW_r>8jNAJFRo;DcJPWl7M{(^cN$K4?tTVmGtMf4Pl z<}7?mUcU`yV9k0-N?Dd*mE~v26$(<^s9A2(NpD8a-`kTimT^>-^i_w4hcsjWgk(_$ zVDryIX0Nyyt~@i0-$F|`9%>1re#mrY7$FiyH0xFRo@dU}_kHkj%PbOcQKjYpoiPW} z?_C8OS89?FrGU&C0d#;wT8A68_8WF`gkBWkn$8dir80n_(vp)-t`Fy*@0SNzP0pf` ztdr~jq!G}8XQYz#F8$F#Pwi&(rlcw9J-yWWk;TTE}=I~I^=Fwkr-HXtyLEc|g$3Q(Ipy~1^tKCI^w9Y=didHy^o`eU(i3lglG^P)J-T;H z@4C1}-`F`2<4T>44J{UQQN=D|aPChTSaU^r{!?a@Pd>CkYYe)0_6m!|)8SNHVW8h! zTdUJ6ciE^?Vo?@pzv2QN4_VI`Pb4YCfUVw0vlTJ8u`Eoz>0DA;!L{Xxt-VIFiNxq5 zmS35WMze^n5Qi2A z=emmnunAeEb0rJEPu7m2(7Kzb6;*mcy7O$`DTSknwK-)B6&%d=%VA$&Fx824C8`^; z`6I&H+KXMhaaJ#%J+yt8C7^Vek~u%0{u5t2uf^o^^RG8R%^8g$sCkahMbFD ztbH=4#~!*Q7U*ji>-3Jt&r58rVv+gU)l1x#qPIQ!IF;5m>G19jZLYD^mGA$ZPhFwg zCvAH7yB?)0+fBAM&#B+-3xjL0eh+yM6L_dtkbXCEb=(On{>Tu<>zf=6Nn}k z3po4IOXZQIgJWXHnZH(71| zG(VRebfw2^dC}V2F9TtgiP&@U>4opku;z5-NRY{WCPDXM4lL%+An@ z`B+P$ffnoczzg#wW{GUbXz`2vMq4i|FXynD5^d zQ5&^^J4gnB;!7CQ#X{_**aslG_gLJ9gE(pgw@*%mZGr9;k@NtrKgeRk*L=@AF42eH z`4G1=C$|wRa*QqQ7wW$AzIl|q%P^XUGV{|jIEw<_kvW5s4s%l5yIcL4Ippb=MFvf& z4kc}PaMAwWe*LK6`vB-Dm~XN|wF_1VnV#Rh?VfFYZ{y_BkkzS7|DB&8Q3_rtU?Qph zc+bWaI>hA3%wZ)e4`1Y$mNH2lwS6dMnV+}Hszd~gwKZ_q>=23g`Jls&2AOM>4*L+C zL*zxpa9l!ANo^PI0$K*U`zKUp zV+C7B#87}ddZ+UV?Q~K5HkL%7irW)Wg+WUU1;$ChI3F|E;+{F)*%?D=YqQCQgP5Ak zxDb~M@a&w9>E+vZ>FY1wrv1Ggdi=^cy0E@QS1+Gu(YH!92CvipNLX8?UZYC2NG-m; z$+|%j+-rnTMm9#PGss@wGRO#SP}>-k}&|VEBQ>doUVF6n+SLzT=c^7Br6tXV#SHS15( zX%|A9Zp$wVM^60ny0OS$MhXsW-vS^^o#zMHToj7B5|pT8FJ_ZYdw@jg#iV zesfOm7hAvx)KzIn7QZ3AjAQ;Wf_|%H$uA43QD(f&$Z5M}=wNih{|2pRt_^>t&r3_O zZc--tL-)6|5MY_xwS0JwYa!iWB2r{}ly#0yzHz?=lh%J@USLGYH9wP zUb@DBHyI7s09-($zfxV|dBys^vSw>+kG^qzPjqjG2Mo?^iHWKWN!Ge?9<{qHgV77I zKF{$tC>|NtA6T>j+^0y6(3{YL``tkybrezOzQBz|VwG_Xi_g$k?%ms!&nlI?sV`D6 z>FmX=rdW_7>=F0yUDwv=+C!Tr3l1BK-1PMk3gJFyUsVE<6rf|~J%{qB{Yv>geU%X- zB4_;aE?s`{yIbkh-0}d6wH-OokvHZ^RB9pE_Ec((CLk||&j6!nIZL#Ac%x5s8@Pif zvi^}25E}z)8OV_n9fYz z6<3*wX15UXPp2sx^|2H^5Uw3N4PyTtkP>~0oI+AIMm z@pIF3cPDB?-iHAogZ0#LW zZ`c>nch0{bAD%Lp)uhvKt0`@4&@5s@1nUlOzJ8mn$yHk93iKLcdk32C>`et&0jQ-) zQR;jkxhs74?jIa5XrU-mj_)xRqf3-Cx-mqZ%%>C2#;~S3Y}7#_Q@G09IqI=xdo0OL z_m0~PhFYxCnDLYGh^kWYZYE)Y>nvJNRG#*Cb|mQoqD&BV0^dfA;kjyFT!M-@tAx>k zKWV77*H&ayn)K4*%XkPV_fD5RQ{#Zugbv5%zOnt6tWQ5nJeNuOU~aAb0+KnT6N`0l zwO#1p98B6wbbrCzbicamq(8xi;GQjUJWjyT-_JXnk*klAIDxxcEiWv+YPknY*Dnd3 z^d;dG+TEhf(;;proi$%u_h(w=&zE49U5+YV(LI&gkL>%mHB=J1nkJ(Opm|CkoM#3p z@&l4!k=vzKTYl0yJ6hH=xSfi0idAJrNuvr(j1(%o$Ex2`&lUN8dcBGcSwlFJGS6ZA z5$W{P%4f=MB6jz2Ag=Ag!Bfp=GYQtOvNiQD{Mfri*M%qwF=a{OEmgo)lj(c?f zuuU&tzsp9J91U6j7qQN9;~}Ktn$V?(uhEx3|26Kzoc7xzy1Un<4}S1jIvFfz@BRS; zAsZz4{JXnt2FWh#BqL#RJrWAPtj3co?Py!1{wlJL|-6Gjp?SYbA}UWU`Q(O02SM(RLMrxe3(LS>*^oiS-rVnwj)k#W3^d|v~qnjKG-oT7roDyfw#yku){zx7)JES_8PTVpH?igxW{sE0bvb`B5kyqVkL%~42&l*H1t`N)Dg0t z6ll!M4COLjxVI&zTqJUAiE*SvA>SVZe%gy!8pWw6Upn?>54 z!#>?@cbM5t=+n#s5>V)@0EiAed)##4>9X887yNpm&B$hg4AQcEHlVW znQfwST!Hm^igk%&7KLF^M)^==slmuW3`b7FvKUcJx+|CQCF{YE{?ja?L=%y)@stFt z1690EgPgOrnmMRExF$vwm6>Rnzb#t~=ayU>Cv4N}`(pFAT2cUp?qB8$9R%5$z61so z_eE$Z(e_Wf|Hn!N%T))LSQ$zA;iD|}yIZW1!d4w;`U~nb{N!DBgvdT{tkMmbwH30n z?0{$5*A5s1Uo{y>#{^aSiB>&jYETofU4B?+lQ!pxFOgCKumyvhbkO(BVTFekm2n5P zlQ`MkiB_pNJ!?!oh6QB`=b`qc1MOd7E5Y-sR6Ay(xjrV4?XvEMS3B{>YDyWQNQqY_vFK;EWbID&@;` z-0f0>hx~MNB2R`Wi$}MbbnoDlL845z4|;T=S)gjG!JyZn8S(Rzc*l!bA#3xP(SmPH(1{m(E+o^YEjYd!9E=^hz=KJNuPh|(iVN? zwOs~g)-y&^dU&hB0LS8Ow=W{&G%oNnM0E3weQvM8`pXl_A#-!JMB`pZB2_A^&un*2 zh542XWd^=6>5)m1-(-;({XzOLL@_rQ5Z7`GiTxEOZF3!(Y~p&JLXgZx3ca%5W4&P{>9hu;1sxBWMKN%`x_3&u$6dO#-J*~G?7yQ& zA7Wi3i>Wtmv4xfmAJ4xIphL2Tg0N3iVwad&|(U;iD+?zsYSf{<+E)}`G0$Yd0Gmfjo&DW{HQBZ^ z)@!ZOH&U7PPo!6ZpEs0Hdac61mgH2>0Z1pC&l!xcolo?9$?d%o);1GfyX5q2A3m}R zk1V>IabE>N;f_dtR}8;PUR=_?``q<)CH>WB!Cu(k5MC)^tY-{(`Z<%s@96%Xnb%@B zTAyc7TQHQrowK>?g?XsV$Wn?yx`m|zQOZxqh5XC~yB~l{a4}!-tzA6VqN`6_qnG~4 zuhWI~7Tr7TNStet0dm;y(fUS9qDPPd9vPn@@-6^~Z1p{5QFXmhqdtQo^?1=S7@qb| z=t6CiKJ(gLnzI<$$ekx-n*Qobx22BoOFJXlW&K`dIH#KoRvXMRUuE$&;%C@78S(VX zQKJ&k-O~ZBRckEDp0fV1PcPn_(HgV2y_2>)>rG~uNT)yHF?*SHf|t&>=*8O|NppWH zS!I}&4!ZK-JvMYO&P#Th9E>q}3*h!O_izy4NoT&VpH(9#L z&J|706%C+}WXJN8hg3$_r)_`T989OcTG5Xn+|A8>Z;@8P?-Uv|8~}#DuLPuIywFxq zB`-7}h29TZIY}>Jj((%Ch9F-|ZG{w>XPNi5^T^hz=MI>QUg0mNW8WzLjx9q{DM4PH z`G9`id)N&RO<{u4aAyb~;>=-O)nw3ic!Cqx&pJKH07KpovJAdz`PO!a)y8?qZP%%L zDKD;@l@{K^_s@zl{)IcLYBAJ-tQ&4OQJ}2P?(A!9S$*a99eVbWbEH^L7Ezt<9(GOQ z)B>1dfeQH|bvws=`hwONB(bxNScIU4y#wQF0Vk888Zb*ojR4(khVo%CsqEwpd6 zd#uA_ak4t4OO-VS*pVbDy>rr)%+Al>yDu4Epko{{s^pNFkI|}Bsfoq)LaRpcyeoy3 zZtNek&Tb|?e@MZF@jM(3X~ZA|f5ZEHKCHEUHg=#k$e1n8bMEsY8$uSWM?@xP6nC#y zN;F|`MiN(8cssqGfJT?~g8(vwyv=PzwF2_|Sv_C4M>*ZNlrMEsK%mpLuQvHEAT-{! z!*BE|X_Uxc?5(=)8cX?n;DOG}Tl;5v?j~UCt5+#;i6*QRu zu48*T4({)Cl+t|ooI0HB0SHpC{>p}XhXg8t!0tzN0Q6NsMWcNyer=3)hwr&I3zqME=JE8VI z?mFmEOqb7Jrk$fQ&9C35t2MTO_H)E`1QDH4>jGseTMT^r2M3Zx8udLMy|&G)2^Qia z?K6`@I{F-ok%z}adV!859Bsts4&bP)7^o9AVM=yN*mv&~B;kAsqI^8TSjL6KJQ=RK zIBnoi$-GfSiHK}%0a?Ac14ETOsePVcUIqGYKZ)H#`F1E73{7c<>~y1)S!3Y{_~VI9nq}-PbrMzNY=l5p>BBH!>eFNNuz5BFTuV=%TjBo z0SJfQKCGWzI;Bu{=PUbnx>+}c0)aRMW*PHCwof`O+L-foYByVQN1zY_!zrBTVUihQ zCs4S{Sq2a~MJp+0WEP=wXE3csrZhmj5hjFQjYE;?A$Y3<$r11= zyPi5v%}O3JGu6u_0gKb4V=D4uAMx+-0X#bB(zHKeF}Y7Y7#;XCWRyXPOz7$+C^*E- z47mW2U|_E|qR+kXI^Ewrr5szKCn$D4pD=(8=#>9HU_BoT(lle8+&stDW(H0qOU1pW zd|u46@(tEec3Ag#pBd^2f4A40OV$_^CAz+MOyk8uavGu@XO7$0KRgjIMY^q-He=Rh zqeh?EU!_*E2@On?$HI!Dv1Kw9M*pp9LC#Uht6-g>^No$fiF!60nK`8uWjA?`Z6PwL z^c*vbFrv_^Yi<{SiJKFOY>g4^+jhXG(#yo!MRbN0k)0`if&~CYo)x-&y3hmHPj6(Q z@S^lO_w89UQ%he2_i`J8Jt36zeG~S+sT;WS94^J$kD0(jS~R6lw{O~2esjql{QS4U z0Na#lB1Bp@DvAG(Ime!9Uu4o>mFm4ei!%F4*bPd+N(c8hiZiZXx;HvCZ(gRkHaeyRuH6EZM#MCq$IdN;-wGGKpfnL%lQ{1)b2r#7zd-6}C}! zC3rAbDhafA&n17DnjbwnM_cdxKhQW=C1}&OSx0w+4G5=$1(o7$ zEOkWt-JU#Or#EH>$a=I9GjIKYN14=#*-c%vJR7(Cem=lR`~@(ht5IJW}s#ZHl&FtGR$vbst1T6q|9S9 z98b;p_Ju|{=T(pwoh7otpuR|@T=AQ7XxVkI+gWB;Iowk)GyLmSI;Bqz=Vj^$CYqe; z+!2&Y%`lx}Y-w<@u#vDLCr6_+fF~8MzuJJHOH&mE>Me5j2y~rUt3@Jr`nBO6BT=wA zHm7{w(}pAEpI2}p6#Qlj*v zfOiECu%Zjz;aE{h91g$t?W;u0Q$(~<3{Cy1%%svQzFKjF6E*o&1WJ2-dUB;a`IpdH zrTXkYbvhI`-;^6Sa|i2&o$Um9MK{^=6$N9ztP9OXh2Ve~o4@iQy70)i)4@@f_U^n! z$2VW0_iPsF>iRYt7$&se8PX#xLVk@66uZpciVRAc*&h%ZhJ@*8BKMfhkOF@sVy23w zY*ijhS}Yg`s;s~3F>}<>h&pVMZLQU4@AQ9x(_xkSTvTap=>#C=nOi89`1zhZkFzJJfI;gN zl9LBWr~7klxvsB@a>*Wn#CVI}Jw#ythLQod+mzA4Dc@J^UXlujIMsUk#Zxc?G9c); z!c6Bvy;b-EQz);L_jFHy$DS|!Gy|!YdhlkDNXcEpne3m|O@g515O{Rxgqlot%1q2e zt*p{O=XPA83~SK72Yw+bvL!;(;Os(^r1;R44^rvz57WQ?m;Z(qY)NhJ-lh*+*`WT( zsrcWO@-aQOS*OQ0t90+6O(#5qC(P0!)`!7bx^-on_HOObV2EmL1#uM_O(0e_C}MLd z3=NVVitmSN5>E7Jzu=jrBd~XzU`S!)(I{s zL)plqgR<{i8^2F+K#u*Y4L1H@zS-SP`T3S@n@r$U0ENCGH}6%lPCWCX3{a|sQH4<* z+Rtes84znQNl7)yQcEx(wz~P0Q75z79l%raT>gHc(bO9)Eb!`J?i-{vPYy7(Daw>~ zPvEG8+embRF+tlhjM}T$5DJ&SMM3`(JsWvMPCzGAoZ?unz?oP`-M`4cP}inoeSy{@ zLxWQt@(-3k0Qnam4z(8}+yqcWp|orjl5M*{!p2h8%(v>WW9*(Bp*|iHlO_g+F@q*<&qW3alve@OLKL$b0Uy9+WlL$|oMdm!y~nYE2rpNBBF`NAyNN~t2@ zYwbQN8#Eb z|BmhVIy^^v5m0`{HfMlE8kb!rwmL2C=ce}3TS|T6e`NZh(|z1P~fU6}Dp#>4@kw&Z}6qY3u3MEvpOhwR7N088LiQ>0&@5c&fF&_U15AUAI1z=c>!nz6}X&`@{vRM7ke-?Kjr;K4j4)Fk#!cwzx>8P zM06Fo_ve_{s%=y+y=A*gTFkJjAPWM1;gSwm9));Gp@bAgYBl%T`5D^@>UKr@ zU2>xTL~E0{7R8Tp7v4*aN8iUFG^Ecx_eln%0qq|3sNG>kS1n3^Q2zsUI5sN--Q-kZB^;fa}9d>Vv8CKh>F1qF~!KBf&-BiaF{j&un4@sPx4ZZ3XwK>G@?+CPG?}< z8Gm?bDfZhHK5c)`-~4#n5&5=f7MLD(z|x6LlUs(rCAu)ZbaxeiKnO+&Cb}1{jLyz8 zK4l-+<|efF5U=+XP??viEQ8cqFOAGw)A=ofUe?iBrJvgVV%#m%3TTcTGYg)}0j1WV zal`%8c8$ad%X2@Sh+}tIwD9Y^HyQlKVktCUSlVm_9w zCW?$ZjEKG#9F_DnCtzswQIUWvdU1chP4(tF?RN9h7q=nFD{@)SQg7CL<}$G)z@%we z7f$}Wu#M1^r-QktgE^!$d3L3O|4~3-QtT_3QeKbj#b8B=YB{7~4+4<*JKw;nVl`c18aHI@N99jvRQO9?jk$5c8cV*B&VqV0r0KnL*Q;t5YcAzgEGiDl_OQBS6rSo5-oVuM}lhT~8D$MY3(JYFGIkJ9zo2 zdqNkNS_Q%LWqObTZB67kazsnRAINIv1*(8EBu&ib5mlf30m?Vei;fLe(A}N8V)@Lo z9<4X%&_m4VB-$ZYG)}<9qAVVWv1kq8gQ$#aTQvrpNOWLGa!}6|*odHMlL4?08;fw0 zL2$F#5GDzIB8Y)7I)EWSiUAe6vYaxks>-5wj=w{O6{Ow*D8wj6#BJrdeSjH^EV-Pu z0^4VfY#MqzImFw%)aqRbd&PIq@wM1+v&sFf!M9IYrYQ_Bv(b`q@rdpG$th)-q50i` zvl&z+zKY7C8}50)I!yR69u5G+k$-D`syj7@%IwO@fiY3&q~@hwyD+^$K~v(WOq9}r zd!WlssO%i}V4Iy!woCSRmmncD7zCjywB+OGAL$I7u>J5J9V#)}$*lt`ZDRBc+qJ#d zhRJ1@lOHQj0Ft%gyAT37Q3?p2xr^QXxBXiy4z6 z4n{ddZu=rVh}mo0ByrWSlrfyRkxMf_6|8>c+gaA%$rF0uO`gONr*Hs+XHS$Zw93jC zva+yk$HrD2?yRN0_#K$i1^N7iI@JdiTr86b>8p69=N|tNYFvG<)X+sj&ncoa?%rZn zHl+oCL(l0d1KVsm7ppX4W3l@ggGekpImB03Nn_0#;**Imtrm~(WFg8C8V?t2Ek6^=Os~G*_`0RN$ThF&UO=NVF1#F*7V}5xd=*!G{@Jm-U2VZ{_==pX2G6 z0W=bD1CW8OLM#G6BBP73Kx%3f3sh&eDme|UdZfyIhyGF9am%S>)bTyUWl3%-R$lX- z!At>ldF%HV*@Y9?P0xsyITQXC<#{ZMG|IPFtuUZ!QTtaeb14emznj(`5dw_CMX{!o zD65@8WW|QPnl~i4ky=7J0AZZ~kL`!H03*+*ozg}7kTK=vsJ~}`PNdG9+baB41$}a$ zssicHuX{?7gp{P^y03LodLT6pffVHKuhMHar51|=`en0VnX;HUmWKnBcMqdiP%Iav z;ekVkr>LOcCU=<&sYz&i0(zn4)PJ6I&<>glK)0_(InjYK{h|jPZiLOEbHI~;PxdeX z@A{~+yLk%0lK~H3aCn%pq-1wZ_bPp&M?n{(?Ov>lj0ty6XJBEg?v)Ra-hNifUZM-o z1rAQTbnpHxw!n@UP;&IPb4}K#Ng+%Y6%pP=qGPL8@{%(UY3UIe0ckW^MD*UrF4EpX zmriLyv++zEgxBFmH(7|x2txxBi$25_*{&Eal(4Hx$rM-zshk49;HSsn1<_l?QZnEI zLkHYaN_jI4Au5mgJ}x3-Zv0}XQZW51=3&r?Y>qxn^`dc8ffF=9RK#4Jl%ACPz?gzs zC0dDtHC`9MPtt%1_?ZmQ;`B^LBvyeD#6V{xGXnmHg;JIK5>u_wqB{qt^!BT!Zirv) zPBKU>Zo5{zGq435r6{x36Tk>2hn)>}+>-QnzfczknZR=FJK(P=4W`Nrexo$-}PJ2?Gpu5W%RVz$~Hsl(0Oa6zd9sFwqUFKnD<< zE9a=Cd$}X+pSKL&;e=Vva1)&7zVrQ}l&IqGM=Ax9tNN1cQk4FVC}E&s2eo6?QR>;V z;77q;J&tSCc;us$BpXaSj0Fi=W%RAR9I2L9x>_5 ztp5Y(AWL#?#w{~oO+er5B!wtFnt-9r&F7>9Owb*+moRu3Cj*GeFjnOGFR-iy12Fsr zTX`XB5@t5lO0uu$s37kHks6ZnYGF12w}3^RNTwfJEgk7KW0$uI?i;K#U#va6UlMa_ zjwqk#0N?ZH{?}UsORx$Tc=(_RQ&awLzI1;|jZ``D#!BmQpKe1J(4Fp4nWE*jP-UE77xpj(f?H#Y04GS31GQ)SFNW9EwaoVoLiDp4<=%N(B~HR& zQm-NrZ*jzwp`JQ}(nP8A!-x0mQH8)q{vP3ZuFY&e!&f7_y8B$8;Xt|6rg>v2dYuB) z%1td7b&;>b`d#c?~UiOprwGvf5KAHu)tCwXF)}Yz7Kjkh?j-D5jVy21^}85HWiEUjBgBzk+3teBE9GUl>tx@ z%e6s)aN&tFvSr3NH@4%3Fg2eTA~G&6V3K0xjf~D(^k2B%isBI8u^B{>SyjFWl?5me zxXVvI%?6N~uvXM9F4Q;ZmAidoq;ZKX>}yP1Q4G*gKnUzsPJX2>Lf|oMDGpst!qi*Z zSyGd^pNOmW`eahsE;va_dmUQh>!B#c?o={vOY_bGnIk#m*JohN(Eg^jb)B^7`$)@2 zh*7~O0Vd{w#rTXq)r)RanVsIT@ zu_LB*ri#QOTDkV^bkbwS#wdasz_6a;-;Gyq)8V~43}P`|sLbfejk-((_`QMIVFeUz z4P3AzfDf2ot6G-l6H6^G@;Vzcn#?TMn2`ZQYQ?Btv!NW1Tp|15o`Tg*ut zURYD+^Tbouch_z%_Suxa?OIE4K8{~l`CycFxyT@K01%G$YWuQ6Yf@r0O<(WMTgmQ7 zr9d#vqIB?N{UJBmV!Yb0^Su=I*3o6k#a;!?r(U7kH>Lm`!A>E=C(0R{2I{A>WS zf->!c@fCB%RR%_Husvj{HusOD&%!qCY!%>#>kiUrDN`U8pH=Ejdi-xIvc|Y5m_OlMHvbf*X01g@twT2udy30U6F4I4 zfGt_Vmdx1%%K{(_){!S1eug{9c7Kvjit4~P#4k#&OC2ge`K2RV1V+X*!=h+uA?oA- z+*c}A6h`5MxTS+J)C>KbYbNg-w3gs-d`P85Vre?$nu;=t`GEORU{bf+a>`hsmeDqA zL|E02tYJa<9WjM5lrqLpBCvZOVuNiw_vQQa+*c3j>5u*hT^o>yp}CyRkI(aSIA$PYU}|@cS&v4vSfr%kOLakEde+4mQ%wz2wn#6_WVxvIaDKo(m>glrB3=8hUL{T8I zDV`KyP%P&tULYo!;R4}rWPJN@Uvx9d=Zp?d8!I86KOeaXj2CO-exb8;n}o#bMg~}M zz};nLL+fz=N-ohi`GuivIZON+lV_(YmwI_-{wV7MsEkv%I7%z?bL0GFW~OzqvMU8A zXv8Adc-@rf^EW%(&j~$sxoQ0&V-E)I&3lEt13Jr6<(F6|sZMSktWO6sq>^@ZfWj`TPzWf#G^PrE5AeXx<)vj}pTj+VcxiaOPMz)B zOmuwd^_dVby{Z{n?gi8;u@`{@09-srbE8LcyF~*3%6^^Aoae zgKtQO?Gd@+Nr{EoFty|Mg#OVlzDzIN>q|zJKlNSTL+x =fzC7cN|A9y6|!(TIU? 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 + + diff --git a/assets/images/svg/sidemenu/Gray.svg b/assets/images/svg/sidemenu/Gray.svg new file mode 100644 index 0000000..17309fc --- /dev/null +++ b/assets/images/svg/sidemenu/Gray.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/images/svg/sidemenu/Group 51347.svg b/assets/images/svg/sidemenu/Group 51347.svg new file mode 100644 index 0000000..224da5c --- /dev/null +++ b/assets/images/svg/sidemenu/Group 51347.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/images/svg/thumbs-down.svg b/assets/images/svg/thumbs-down.svg new file mode 100644 index 0000000..a272caa --- /dev/null +++ b/assets/images/svg/thumbs-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/images/svg/thumbs-up.svg b/assets/images/svg/thumbs-up.svg new file mode 100644 index 0000000..eb958fd --- /dev/null +++ b/assets/images/svg/thumbs-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/Utils/Common/CommonBottomNavigation.dart b/lib/Utils/Common/CommonBottomNavigation.dart index bedce78..b4f406a 100644 --- a/lib/Utils/Common/CommonBottomNavigation.dart +++ b/lib/Utils/Common/CommonBottomNavigation.dart @@ -6,8 +6,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:glassmorphism/glassmorphism.dart'; import 'package:traderscircuit/Utils/Common/MainController.dart'; -GlassmorphicContainer bottomnavigationbar( - MainController _mainController) { +GlassmorphicContainer bottomnavigationbar(MainController _mainController) { return GlassmorphicContainer( width: double.infinity, height: 83.h, @@ -76,9 +75,9 @@ GlassmorphicContainer bottomnavigationbar( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.4), + color: Colors.grey.withOpacity(0.2), spreadRadius: 15, - blurRadius: 10, + blurRadius: 5, offset: Offset(0, 10), ), ], diff --git a/lib/Utils/Common/CustomTextFormField.dart b/lib/Utils/Common/CustomTextFormField.dart index 18fba02..54bd94f 100644 --- a/lib/Utils/Common/CustomTextFormField.dart +++ b/lib/Utils/Common/CustomTextFormField.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:glassmorphism/glassmorphism.dart'; class CustomTextFormField extends StatefulWidget { @@ -145,3 +146,156 @@ class _CustomTextFormFieldState extends State { ); } } + +class CustomTextFormField1 extends StatefulWidget { + const CustomTextFormField1({ + Key? key, + this.validator, + this.textEditingController, + this.hintText, + this.leadingIcon, + this.prefixIconColor = const Color(0xFF737373), + this.isInputPassword = false, + this.validatorText, + this.value, + this.readonly = false, + this.enabled = true, + this.maxlines = 1, + this.texttype, + this.inputFormatters, + this.onInput, + this.onTap, + this.suffixIcon, + }) : super(key: key); + + final dynamic validator; + final TextEditingController? textEditingController; + final String? hintText; + final Widget? leadingIcon; + final Color prefixIconColor; + final bool isInputPassword; + final String? validatorText; + final String? value; + final bool readonly; + final bool enabled; + final int maxlines; + final TextInputType? texttype; + final dynamic inputFormatters; + final Function(String)? onInput; + final VoidCallback? onTap; + final Widget? suffixIcon; + + @override + State createState() => _CustomTextFormField1State(); +} + +class _CustomTextFormField1State extends State { + late bool obscureText; + + @override + void initState() { + super.initState(); + obscureText = widget.isInputPassword; + } + + @override + Widget build(BuildContext context) { + return GlassmorphicContainer( + width: double.infinity, + height: 50, + borderRadius: 8, + blur: 10, + alignment: Alignment.bottomCenter, + border: 0.8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xFFffffff).withOpacity(0.1), + Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: [ + 0.1, + 1, + ]), + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xff3A3A3A), + Color(0xFF3A3A3A), + ], + ), + child: TextFormField( + cursorColor: Colors.red, + initialValue: widget.value, + readOnly: widget.readonly, + onTap: widget.onTap, + enabled: widget.enabled, + enableInteractiveSelection: false, + maxLines: widget.maxlines, + autovalidateMode: AutovalidateMode.onUserInteraction, + obscureText: obscureText, + controller: widget.textEditingController, + + decoration: InputDecoration( + hintText: widget.hintText, + prefixIconColor: widget.prefixIconColor, + + hintStyle: TextStyle( + fontSize: 16.sp, + color: Colors.white, + fontWeight: FontWeight.w400, + fontFamily: 'manrope'), + + // ignore: prefer_null_aware_operators + prefixIcon: widget.leadingIcon == null ? null : widget.leadingIcon!, + suffixIcon: widget.isInputPassword + ? GestureDetector( + onTap: () => setState(() => obscureText = !obscureText), + child: obscureText + ? const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(right: 20.0), + child: Icon(Icons.remove_red_eye), + ), + ], + ) + : const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(right: 20.0), + child: Icon( + Icons.remove_red_eye_outlined, + color: Color(0xFF959595), + ), + ), + ], + ), + ) + : widget.suffixIcon == null + ? null + : widget.suffixIcon!, + border: InputBorder.none, + contentPadding: EdgeInsets.symmetric(horizontal: 10, vertical: 10), + ), + style: TextStyle(color: Colors.white), + keyboardType: widget.texttype, + // validator: widget.validator ?? + // (value) { + // if (value == null || value.isEmpty) { + // return "Empty value"; + // } + // return null; + // }, + inputFormatters: widget.inputFormatters, + onChanged: (value) { + widget.onInput?.call(value); + }, + ), + ); + } +} diff --git a/lib/Utils/Common/commonBotton.dart b/lib/Utils/Common/commonBotton.dart index 1c6b2f5..b3a1616 100644 --- a/lib/Utils/Common/commonBotton.dart +++ b/lib/Utils/Common/commonBotton.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:glassmorphism/glassmorphism.dart'; +import 'package:traderscircuit/Utils/Common/sized_box.dart'; +import 'package:traderscircuit/Utils/text.dart'; Widget CommonBtn({void Function()? onTap, required String text}) { return InkWell( @@ -23,3 +26,81 @@ Widget CommonBtn({void Function()? onTap, required String text}) { ), )); } + +Widget CommonYesNoBtn({ + void Function()? yesonTap, + void Function()? noonTap, +}) { + return Row( + children: [ + GestureDetector( + onTap: yesonTap, + child: GlassmorphicContainer( + width: 170.w, + height: 50.h, + borderRadius: 8, + blur: 10, + alignment: Alignment.center, + border: 0.9, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Colors.white.withOpacity(0.1), + Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: [ + 0.1, + 1, + ], + ), + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color.fromRGBO(70, 5, 1, 0.8), + Color.fromRGBO(102, 102, 102, 0.8), + ], + ), + child: Center( + child: text18W500('Yes'), + ), + ), + ), + sizedBoxWidth(10.w), + GestureDetector( + onTap: noonTap, + child: Container( + height: 50.h, + width: 170.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8.r), + border: Border.all(color: Color(0xFF9A0000), width: 1.w), + color: Color(0xFF6C0000)), + child: Center(child: text18W500('No')), + ), + ) + ], + ); + + // InkWell( + // onTap: onTap, + // child: Container( + // width: double.infinity, + // height: 50.h, + // decoration: BoxDecoration( + // color: Color(0xff9A0000), borderRadius: BorderRadius.circular(5)), + // child: Center( + // child: Text( + // text, + // textAlign: TextAlign.center, + // style: TextStyle( + // color: Colors.white, + // fontSize: 20.sp, + // fontFamily: 'Cambria', + // fontWeight: FontWeight.w400, + // ), + // ), + // ), + // )); +} diff --git a/lib/Utils/text.dart b/lib/Utils/text.dart index 413446d..2260d9f 100644 --- a/lib/Utils/text.dart +++ b/lib/Utils/text.dart @@ -12,6 +12,18 @@ Widget text20W400(String text) { ); } +Widget text20W400_center(String text) { + return Text( + text, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 20.sp, + color: Colors.white, + fontWeight: FontWeight.w400, + fontFamily: 'manrope'), + ); +} + Widget text18W800(String text) { return Text( text, @@ -154,6 +166,7 @@ Widget text12W400(String text) { fontFamily: 'manrope'), ); } + Widget text12W500(String text) { return Text( text, @@ -231,8 +244,8 @@ Widget text14W300(String text) { ); } - -Widget text14W400(String text) { return Text( +Widget text14W400(String text) { + return Text( text, style: TextStyle( fontSize: 14.sp, @@ -243,13 +256,11 @@ Widget text14W400(String text) { return Text( } Widget text14W500(String text) { - return Text( text, style: TextStyle( fontSize: 14.sp, color: Colors.white, - fontWeight: FontWeight.w500, fontFamily: 'manrope'), ); @@ -261,13 +272,11 @@ Widget text16W400_DADADA(String text) { style: TextStyle( fontSize: 16.sp, color: Color(0xFFDADADA), - fontWeight: FontWeight.w400, fontFamily: 'manrope'), ); } - Widget text14W400_979797(String text) { return Text( text, @@ -311,4 +320,3 @@ Widget text14W500_black(String text) { fontFamily: 'manrope'), ); } - diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 341676a..5b30872 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -39,4 +39,6 @@ class RouteName { static const String termsandcondition = '/termsandcondition'; static const String privacypolicy = '/privacypolicy'; static const String aboutus = '/aboutus'; + static const String faqscreen = '/faqscreen'; + } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 47e36af..c43f5a7 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -3,6 +3,7 @@ import 'package:traderscircuit/Utils/Common/noInternet.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/MainScreen/ExploreUnseen.dart'; import 'package:traderscircuit/view/Sidemenu/AboutUs.dart'; +import 'package:traderscircuit/view/Sidemenu/FaqScreen.dart'; import 'package:traderscircuit/view/Sidemenu/PrivacyPolicy.dart'; import 'package:traderscircuit/view/Sidemenu/TermsAndCondition.dart'; @@ -133,6 +134,10 @@ class AppRoutes { GetPage( name: RouteName.aboutus, page: () => const AboutUs(), + ), + GetPage( + name: RouteName.faqscreen, + page: () => const FaqScreen(), ), ]; } diff --git a/lib/view/MainScreen/ShortTrade.dart b/lib/view/MainScreen/ShortTrade.dart index c6693d2..9c803a5 100644 --- a/lib/view/MainScreen/ShortTrade.dart +++ b/lib/view/MainScreen/ShortTrade.dart @@ -30,7 +30,7 @@ class _ShortTradeState extends State { return Scaffold( key: _scaffoldKey1, backgroundColor: Colors.black, - drawer: Container(width: 320.w, child: SideMenu()), + drawer: Container(child: SideMenu()), extendBody: true, appBar: AppBar( scrolledUnderElevation: 0.0, @@ -50,6 +50,7 @@ class _ShortTradeState extends State { ), ), ), + // title: text22W600('Short'), ), // CommonAppbar( @@ -136,7 +137,7 @@ class _ShortTradeState extends State { Widget ActiveCallsTab() { return Obx(() { WidgetsBinding.instance.addPostFrameCallback((_) { - if (selectedIndex == 1) _unlockbottomsheet(); + if (selectedIndex == 1 || selectedIndex == 2) _unlockbottomsheet(); }); return selectedIndex == 0 ? Column( @@ -235,18 +236,16 @@ class _ShortTradeState extends State { void _unlockbottomsheet() { Get.bottomSheet( - SizedBox( - height: 500, - child: commonGlassContainer( - width: double.infinity, - height: 500, - borderradius: 0, - customWidget: SizedBox( - height: 100, + commonGlassContainer( + width: double.infinity, + height: 439.h, + borderradius: 4, + customWidget: Center( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 35.w), child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, children: [ + sizedBoxHeight(50.h), // Image.asset( // 'assets/images/png/Group 1000003722.png', // height: 100.h, @@ -254,7 +253,11 @@ class _ShortTradeState extends State { // sizedBoxHeight(25.h), text20W400('Please subscribed to unlock'), sizedBoxHeight(30.h), - CommonBtn(text: 'Subscribe Now'), + CommonBtn( + text: 'Subscribe Now', + onTap: () {}, + ), + SizedBox( height: 100, ) diff --git a/lib/view/Sidemenu/FaqScreen.dart b/lib/view/Sidemenu/FaqScreen.dart new file mode 100644 index 0000000..149889c --- /dev/null +++ b/lib/view/Sidemenu/FaqScreen.dart @@ -0,0 +1,324 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:get/get.dart'; +import 'package:traderscircuit/Utils/Common/CommonAppBar.dart'; +import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart'; +import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart'; +import 'package:traderscircuit/Utils/Common/sized_box.dart'; +import 'package:traderscircuit/Utils/text.dart'; +import 'package:traderscircuit/view/onBoarding/splashScreen1.dart'; + +class FaqScreen extends StatefulWidget { + const FaqScreen({super.key}); + + @override + State createState() => _FaqScreenState(); +} + +class _FaqScreenState extends State { + List containerTexts = [ + "Subscriptions", + "Investments", + "App features" + ]; + + final selectedIndex = 0.obs; + late RxList isExpandedList; + @override + void initState() { + isExpandedList = RxList.generate(Faqcard.length, (index) => index == 0); + super.initState(); + } + + List> Faqcard = [ + { + 'title': 'How to create new account?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + { + 'title': 'What is Traders Circuits ?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + { + 'title': 'What is Traders Circuits ?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + { + 'title': 'What is Traders Circuits ?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + { + 'title': 'What is Traders Circuits ?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + ]; + + List> Faqcard2 = [ + { + 'title': 'How to create new account?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + { + 'title': 'What is Traders Circuits ?', + 'content': + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.", + }, + ]; + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CommonAppbar( + titleTxt: "", + ), + backgroundColor: Colors.black, + extendBody: true, + body: Stack(children: [ + CommonBlurLeft(), + CommonBlurRight(), + Stack(children: [ + Padding( + padding: EdgeInsets.symmetric(horizontal: 16), + child: ListView(physics: BouncingScrollPhysics(), children: [ + text25W600('FAQ'), + sizedBoxHeight(20), + CustomTextFormField1( + hintText: 'Search Chats', + leadingIcon: Container( + height: 20, + width: 20, + child: Center( + child: SvgPicture.asset( + 'assets/images/svg/search-svgrepo-com.svg', + ), + ), + ), + ), + sizedBoxHeight(20.h), + SizedBox( + height: 60, + width: double.infinity, + // color: Colors.amber, + child: ListView.builder( + shrinkWrap: true, + scrollDirection: Axis.horizontal, + itemCount: containerTexts.length, + itemBuilder: (context, index) { + return GestureDetector( + onTap: () { + selectedIndex.value = index; + }, + child: Row( + children: [ + topContainer(containerTexts[index], index), + sizedBoxWidth(10.w) + ], + ), + ); + }), + ), + sizedBoxHeight(20.h), + Obx(() { + return selectedIndex == 0 + ? Column( + children: List.generate(Faqcard.length, (index) { + return customExpandableItem( + isExpanded: isExpandedList[index], + title: Faqcard[index]['title']!, + content: Faqcard[index]['content']!, + toggleExpansion: () => toggleExpansion(index), + ); + })) + : Column( + children: List.generate(Faqcard2.length, (index) { + return customExpandableItem( + isExpanded: isExpandedList[index], + title: Faqcard2[index]['title']!, + content: Faqcard2[index]['content']!, + toggleExpansion: () => toggleExpansion(index), + ); + })); + }), + + // ListView.builder( + // shrinkWrap: true, + // itemCount: Faqcard.length, + // itemBuilder: (BuildContext context, int index) { + // return Obx( + // () { + // return customExpandableItem( + // isExpanded: isExpandedList[index], + // title: Faqcard[index]['title']!, + // content: Faqcard[index]['content']!, + // toggleExpansion: () => toggleExpansion(index), + // ); + // }, + // ); + // }, + // ), + + sizedBoxHeight(30.h), + ])) + ]) + ])); + } + + Widget topContainer(String text, int index) { + return Obx(() { + return selectedIndex.value == index + ? Container( + height: 38.h, + width: 136.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: Color(0XFF3F0502), + border: Border.all(color: Color(0xFF9A0000), width: 1)), + child: Center(child: text16W500(text)), + ) + : commonGlassContainer( + width: 136.w, + height: 38.h, + borderradius: 5, + customWidget: Center(child: text16W400(text)), + ); + }); + } + + void toggleExpansion(int index) { + // isExpandedList[index] = !isExpandedList[index]; + for (int i = 0; i < isExpandedList.length; i++) { + if (i != index) { + isExpandedList[i] = false; + } + } + // Toggle the expansion state of the container being toggled + isExpandedList[index] = !isExpandedList[index]; + } + + Widget customExpandableItem({ + required bool isExpanded, + required String title, + required String content, + required VoidCallback toggleExpansion, + }) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + GestureDetector( + onTap: toggleExpansion, + child: commonGlassContainer( + width: double.infinity, + height: isExpanded ? 55.h : 65.h, + borderradius: 8, + customWidget: Padding( + padding: EdgeInsets.only(right: 13.w, left: 13.w), + child: Center( + child: Row( + children: [ + Text( + title, + style: TextStyle( + fontFamily: 'manrope', + fontSize: 16.sp, + fontWeight: FontWeight.w500, + color: Colors.white, + ), + ), + Spacer(), + Icon( + isExpanded + ? Icons.keyboard_arrow_up_outlined + : Icons.keyboard_arrow_down_outlined, + color: Colors.white, + size: 25.sp, + ), + ], + ), + ), + ), + ), + ), + Visibility( + visible: isExpanded, + child: Column( + children: [ + Container( + height: 198.h, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(8.r), + bottomRight: Radius.circular(8.r), + ), + color: Colors.black, + border: Border.all(color: Color(0xFF3A3A3A), width: 0.5)), + child: Padding( + padding: EdgeInsets.only( + top: 11.h, left: 14.w, bottom: 25.h, right: 28.w), + child: Text( + content, + style: TextStyle( + color: Color(0xFFFFFFFF), + fontFamily: 'manrope', + fontSize: 14.sp, + fontWeight: FontWeight.w400, + ), + ), + ), + ), + sizedBoxHeight(12.h), + commonGlassContainer( + width: double.infinity, + height: 65.h, + borderradius: 8, + customWidget: Padding( + padding: EdgeInsets.only(right: 8.w, left: 13.w), + child: Center( + child: Row(children: [ + Text( + 'Was this answer helpful?', + style: TextStyle( + fontFamily: 'manrope', + fontSize: 16.sp, + fontWeight: FontWeight.w500, + color: Colors.white, + ), + ), + Spacer(), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + text16W500('Yes'), + sizedBoxWidth(2.w), + SvgPicture.asset( + 'assets/images/svg/thumbs-up.svg'), + sizedBoxWidth(8.w), + text16W500('No'), + sizedBoxWidth(2.w), + Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + sizedBoxHeight(5.h), + SvgPicture.asset( + 'assets/images/svg/thumbs-down.svg'), + ], + ) + ], + ) + ]), + ))) + ], + ), + ), + isExpanded ? sizedBoxHeight(40.h) : sizedBoxHeight(18.h), + ], + ); + } +} diff --git a/lib/view/Sidemenu/Sidemenu.dart b/lib/view/Sidemenu/Sidemenu.dart index ca68bf7..97c692a 100644 --- a/lib/view/Sidemenu/Sidemenu.dart +++ b/lib/view/Sidemenu/Sidemenu.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; +import 'package:traderscircuit/Utils/Common/commonBotton.dart'; +import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart'; import 'package:traderscircuit/Utils/Common/sized_box.dart'; import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; @@ -108,7 +110,7 @@ class _SideMenuState extends State { decoration: ShapeDecoration( image: DecorationImage( image: AssetImage( - "assets/images/png/Ellipse 560.png"), + "assets/images/png/Ellipse 560 (1).png"), fit: BoxFit.fill, ), shape: const OvalBorder(), @@ -141,11 +143,8 @@ class _SideMenuState extends State { ), ), ListTile( - leading: SizedBox( - width: 25.w, - height: 25.h, - child: SvgPicture.asset( - 'assets/images/svg/sidemenu/sub.svg')), + leading: + SvgPicture.asset('assets/images/svg/sidemenu/sub.svg'), title: text18W400('My Subscription'), trailing: Container( height: 35.h, @@ -176,11 +175,8 @@ class _SideMenuState extends State { ), ), ListTile( - leading: SizedBox( - width: 25.w, - height: 25.h, - child: SvgPicture.asset( - 'assets/images/svg/sidemenu/content.svg')), + leading: SvgPicture.asset( + 'assets/images/svg/sidemenu/content.svg'), title: text18W400('Content bytes'), selected: true, onTap: () { @@ -206,7 +202,7 @@ class _SideMenuState extends State { width: 25.w, height: 25.h, child: SvgPicture.asset( - 'assets/images/svg/sidemenu/sub.svg')), + 'assets/images/svg/sidemenu/Gray.svg')), title: text18W400('Update My KYC'), trailing: Container( height: 40.h, @@ -256,11 +252,8 @@ class _SideMenuState extends State { ), ), ListTile( - leading: SizedBox( - width: 25.w, - height: 25.h, - child: SvgPicture.asset( - 'assets/images/svg/sidemenu/sub.svg')), + leading: SvgPicture.asset( + 'assets/images/svg/sidemenu/Group 51347.svg'), title: text18W400('My Subscription'), trailing: Container( height: 35.h, @@ -402,7 +395,7 @@ void navigateTo(int index, BuildContext context) { switch (index) { case 0: { - // Get.toNamed(RouteName.FAQScreen); + Get.toNamed(RouteName.faqscreen); } break; @@ -420,124 +413,57 @@ void navigateTo(int index, BuildContext context) { case 3: { - // Get.toNamed(RouteName.contactUs); + Get.toNamed(RouteName.termsandcondition); } break; case 4: { - Get.toNamed(RouteName.termsandcondition); + Get.toNamed(RouteName.privacypolicy); } break; case 5: { - Get.toNamed(RouteName.privacypolicy); + Get.toNamed(RouteName.aboutus); } break; case 6: { - Get.toNamed(RouteName.aboutus); + // Get.toNamed(RouteName.settings); } break; case 7: { Get.bottomSheet( - Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - SizedBox( - width: double.infinity, - child: SvgPicture.asset('assets/images/svg/logout.svg'), - ), - Text( - 'Are You Sure You Want To Logout?', - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, - fontSize: 20.sp, + commonGlassContainer( + width: double.infinity, + height: 363.h, + borderradius: 4, + customWidget: Center( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 20.w), + child: Column( + children: [ + sizedBoxHeight(60.h), + // Image.asset( + // 'assets/images/png/Group 1000003722.png', + // height: 100.h, + // ), + // sizedBoxHeight(25.h), + text22W600('Confirm Logout'), + sizedBoxHeight(30.h), + text20W400_center( + 'Are you sure you want to logout your account?'), + sizedBoxHeight(50.h), + CommonYesNoBtn(), + ], ), ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - InkWell( - onTap: () { - Navigator.of(context).pop(); - }, - child: Container( - width: 150.w, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5.r), - border: Border.all( - color: Colors.black, - ), - ), - child: Padding( - padding: const EdgeInsets.all(18.0), - child: Text( - 'No', - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, - fontSize: 16.sp, - ), - ), - ), - ), - ), - InkWell( - // onTap: () async { - // FirebaseAuth auth = FirebaseAuth.instance; - // final GoogleSignIn googleSignIn = GoogleSignIn(); - - // if (auth.currentUser != null && - // auth.currentUser?.providerData.any((userInfo) => - // userInfo.providerId == 'google.com') == - // true) { - // await googleSignIn.signOut(); - // Navigator.of(context).pop(); - // Get.back(); - // Get.toNamed(RouteName.login); - // } else { - // SharedPreferences prefs = - // await SharedPreferences.getInstance(); - // prefs.remove('token'); - // Navigator.of(context).pop(); - // Get.back(); - // Get.toNamed(RouteName.login); - // } - // }, - onTap: () { - Get.back(); - // Get.toNamed(RouteName.login); - }, - child: Container( - width: 150.w, - decoration: BoxDecoration( - color: Color(0xFF3192D8), - borderRadius: BorderRadius.circular(5.r), - ), - child: Padding( - padding: const EdgeInsets.all(18.0), - child: Text( - 'Yes', - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.white, - fontSize: 16.sp, - ), - ), - ), - ), - ), - ], - ) - ], + ), ), - backgroundColor: Colors.white, + backgroundColor: Colors.black.withOpacity(0.3), ); } break;