diff --git a/.env b/.env index 7fa8531..74bca8a 100644 --- a/.env +++ b/.env @@ -5,6 +5,7 @@ accountSIDTwillo=QFx0qy456juj383n9xuy2194q629q1fj0y7XrXlBl serverAPI=QQQQobSrrFi:QVQ87xU7zwCvmZzZdaxuS2f23Y4mz7MzyOzr8od2br6KYyeFaTVLG3K3hx5ZaUyx7eYvAYpAVdKk-286NTRi3zs9iSOnXtXRIxswg3KecBmsl3VxJ9wO-vIpwu4Pv7dkHkXniuxMSDgWXrXlBl mapAPIKEY=AIzaSyAPFR_XbRN0XZ5Iz3AYDjNYHGJG2s2QWwM email=@intaleqapp.com +mapKeyOsm=maldev@route-dollars mapAPIKEYIOS=AIzaSyDdqkLMCrqjVrn7XmadIqynyoBa7P27OeM twilloRecoveryCode=CAU79DHPH1BjE9PUH4ETXTSXZXrXlBl apiKeyHere=g_WNUb5L-tripz7-F8omHpUmgIzH7ETeH9xZ8RwGG9_G8zX9A diff --git a/android/app/build.gradle b/android/app/build.gradle index 945281d..471c5cb 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -44,8 +44,8 @@ android { applicationId = "com.intaleq_driver" minSdk = 29 targetSdk = 36 - versionCode = 20 - versionName = '1.0.20' // I've used the higher version name + versionCode = 29 + versionName = '1.0.29' // I've used the higher version name multiDexEnabled = true ndk { diff --git a/lib/constant/country_polygons.dart b/lib/constant/country_polygons.dart new file mode 100644 index 0000000..be919af --- /dev/null +++ b/lib/constant/country_polygons.dart @@ -0,0 +1,107 @@ +// في ملف: constant/country_polygons.dart + +import 'package:google_maps_flutter/google_maps_flutter.dart'; + +class CountryPolygons { + // ========================================================== + // 1. الأردن: تغطية الممر الحضري الرئيسي (من إربد شمالاً حتى العقبة جنوباً) + // حوالي 12 نقطة + // ========================================================== + static final List jordanBoundary = [ + // شمال إربد (قرب الحدود) + const LatLng(32.65, 35.80), + // شمال شرق المفرق + const LatLng(32.35, 37.00), + // شرق الزرقاء / الأزرق + const LatLng(31.85, 36.80), + // جنوب شرق (نهاية الزحف السكاني) + const LatLng(31.00, 36.50), + // جنوب / معان + const LatLng(30.30, 35.75), + // العقبة + const LatLng(29.50, 35.00), + // البحر الأحمر / الحدود الغربية + const LatLng(29.50, 34.85), + // غرب وادي عربة + const LatLng(30.80, 35.25), + // منطقة البحر الميت / السلط + const LatLng(32.00, 35.50), + // العودة عبر وادي الأردن إلى الشمال + const LatLng(32.45, 35.60), + // العودة لنقطة إربد + const LatLng(32.65, 35.80), + ]; + + // ========================================================== + // 2. سوريا: تغطية الممر الغربي والساحلي (درعا، دمشق، حمص، حماة، حلب، الساحل) + // حوالي 14 نقطة + // ========================================================== + static final List syriaBoundary = [ + // درعا / الجنوب + const LatLng(32.65, 35.95), + // شرق السويداء (حدود المنطقة المأهولة) + const LatLng(32.85, 37.10), + // أطراف دمشق الشرقية + const LatLng(33.50, 36.65), + // تدمر (أقصى امتداد شرقي للمضلع) + const LatLng(34.50, 38.30), + // الرقة (شمال شرق) + const LatLng(35.95, 38.80), + // حلب (الشمال) + const LatLng(36.45, 37.15), + // الحدود الشمالية الغربية (إدلب / تركيا) + const LatLng(36.50, 36.50), + // اللاذقية (الساحل) + const LatLng(35.50, 35.75), + // طرطوس (الساحل) + const LatLng(34.80, 35.85), + // حمص + const LatLng(34.70, 36.70), + // حماة + const LatLng(35.10, 36.70), + // العودة إلى منطقة دمشق + const LatLng(33.40, 36.30), + // العودة إلى درعا + const LatLng(32.65, 35.95), + ]; + + // ========================================================== + // 3. مصر: تغطية القاهرة الكبرى، الدلتا، والإسكندرية والإسماعيلية + // حوالي 10 نقاط + // ========================================================== + static final List egyptBoundary = [ + // جنوب الفيوم (أقصى امتداد جنوبي غربي) + const LatLng(29.20, 30.60), + // جنوب القاهرة (العياط) + const LatLng(29.80, 31.30), + // شرق السويس + const LatLng(29.95, 32.70), + // الإسماعيلية / القناة + const LatLng(30.60, 32.25), + // بورسعيد / أطراف الدلتا الشمالية الشرقية + const LatLng(31.30, 31.80), + // دمياط / ساحل الدلتا + const LatLng(31.50, 31.25), + // الإسكندرية (أقصى الشمال الغربي) + const LatLng(31.20, 29.80), + // غرب الدلتا + const LatLng(30.50, 30.20), + // العودة لنقطة البداية + const LatLng(29.20, 30.60), + ]; + + // دالة تُرجع رابط API بناءً على اسم الدولة + static String getRoutingApiUrl(String countryName) { + switch (countryName) { + case 'Jordan': + return 'https://routec.intaleq.xyz/route-jo'; + case 'Syria': + return 'https://routec.intaleq.xyz/route'; + case 'Egypt': + return 'https://routec.intaleq.xyz/route-eg'; + default: + // الافتراضي في حالة لم يقع الموقع ضمن أي من المضلعات + return 'https://routec.intaleq.xyz/route'; + } + } +} diff --git a/lib/constant/links.dart b/lib/constant/links.dart index 8a6c161..4fdeb25 100755 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -1,7 +1,5 @@ // import 'package:sefer_driver/env/env.dart'; -import 'package:sefer_driver/env/env.dart'; - import '../main.dart'; import 'box_name.dart'; @@ -9,13 +7,16 @@ class AppLink { static String serverPHP = box.read('serverPHP'); static String paymentServer = 'https://walletintaleq.intaleq.xyz/v1/main'; - static String seferPaymentServer0 = - 'https://walletintaleq.intaleq.xyz/v1/main'; - static final String endPoint = 'https://intaleq.xyz/intaleq'; + static String locationServer = + 'https://location.intaleq.xyz/intaleq/ride/location'; + + static final String endPoint = 'https://api.intaleq.xyz/intaleq'; static final String syria = 'https://syria.intaleq.xyz/intaleq'; - // 'https://api.tripz-egypt.com/tripz'; static final String server = endPoint; + static String ride = '$endPoint/ride'; + static String rideServer = 'https://rides.intaleq.xyz/intaleq/ride'; + static String seferCairoServer = endPoint; static String seferGizaServer = box.read('Giza') ?? box.read(BoxName.serverChosen); @@ -24,8 +25,7 @@ class AppLink { // static final String server = Env.serverPHP; static String loginJwtDriver = "$server/loginJwtDriver.php"; - static String loginJwtWalletDriver = - "$paymentServer/loginJwtWalletDriver.php"; + static String loginJwtWalletDriver = "$server/loginJwtWalletDriver.php"; static String loginFirstTimeDriver = "$server/loginFirstTimeDriver.php"; static String googleMapsLink = 'https://maps.googleapis.com/maps/api/'; @@ -34,7 +34,7 @@ class AppLink { 'https://generativelanguage.googleapis.com/v1beta3/models/text-bison-001:generateText'; static String test = "$server/test.php"; - static String ride = '$server/ride'; + //===============contact========================== static String savePhones = "$ride/egyptPhones/add.php"; static String savePhonesSyria = "$ride/egyptPhones/syrianAdd.php"; @@ -97,19 +97,20 @@ class AppLink { ////=======================cancelRide=================== - static String addCancelRideFromPassenger = "$ride/cancelRide/add.php"; + static String addCancelRideFromPassenger = "$rideServer/cancelRide/add.php"; static String addCancelTripFromDriverAfterApplied = - "$ride/cancelRide/addCancelTripFromDriverAfterApplied.php"; - static String cancelRide = "$ride/cancelRide/get.php"; + "$rideServer/cancelRide/addCancelTripFromDriverAfterApplied.php"; + static String cancelRide = "$rideServer/cancelRide/get.php"; //-----------------ridessss------------------ - static String addRides = "$ride/rides/add.php"; - static String getRides = "$ride/rides/get.php"; - static String getPlacesSyria = "$ride/places_syria/get.php"; - static String getMishwari = "$ride/mishwari/get.php"; - static String getMishwariDriver = "$ride/mishwari/getDriver.php"; - static String getTripCountByCaptain = "$ride/rides/getTripCountByCaptain.php"; - static String getRideOrderID = "$ride/rides/getRideOrderID.php"; - static String getRideStatus = "$ride/rides/getRideStatus.php"; + static String addRides = "$rideServer/rides/add.php"; + static String getRides = "$rideServer/rides/get.php"; + static String getPlacesSyria = "$rideServer/places_syria/get.php"; + static String getMishwari = "$rideServer/mishwari/get.php"; + static String getMishwariDriver = "$rideServer/mishwari/getDriver.php"; + static String getTripCountByCaptain = + "$rideServer/rides/getTripCountByCaptain.php"; + static String getRideOrderID = "$rideServer/rides/getRideOrderID.php"; + static String getRideStatus = "$rideServer/rides/getRideStatus.php"; static String getOverLayStatus = "$ride/overLay/get.php"; static String getArgumentAfterAppliedFromBackground = "$ride/overLay/getArgumentAfterAppliedFromBackground.php"; @@ -117,14 +118,15 @@ class AppLink { static String getapiKey = "$ride/apiKey/get.php"; static String getapiKeySefer = "$ride/apiKey/get.php"; - static String getRideStatusBegin = "$ride/rides/getRideStatusBegin.php"; + static String getRideStatusBegin = "$rideServer/rides/getRideStatusBegin.php"; static String getRideStatusFromStartApp = - "$ride/rides/getRideStatusFromStartApp.php"; - static String updateRides = "$ride/rides/update.php"; + "$rideServer/rides/getRideStatusFromStartApp.php"; + static String updateRides = "$rideServer/rides/update.php"; static String updateRideAndCheckIfApplied = - "$ride/rides/updateRideAndCheckIfApplied.php"; - static String updateStausFromSpeed = "$ride/rides/updateStausFromSpeed.php"; - static String deleteRides = "$ride/rides/delete.php"; + "$rideServer/rides/updateRideAndCheckIfApplied.php"; + static String updateStausFromSpeed = + "$rideServer/rides/updateStausFromSpeed.php"; + static String deleteRides = "$rideServer/rides/delete.php"; //-----------------DriverPayment------------------ static String addDriverScam = "$ride/driver_scam/add.php"; @@ -158,7 +160,7 @@ class AppLink { static String getDriverPaymentPoints = "$paymentServer/ride/driverWallet/get.php"; static String getDriverPaymentToday = "$paymentServer/ride/payment/get.php"; - static String getCountRide = "$ride/payment/getCountRide.php"; + static String getCountRide = "$rideServer/payment/getCountRide.php"; static String getAllPaymentFromRide = "$paymentServer/ride/payment/getAllPayment.php"; static String getAllPaymentVisa = @@ -266,27 +268,31 @@ class AppLink { static String uploadEgypt1 = "$server/uploadEgypt1.php"; //==================certifcate========== - static String location = '$endPoint/ride/location'; - static String getCarsLocationByPassenger = "$location/get.php"; - static String addpassengerLocation = "$location/addpassengerLocation.php"; - static String getLocationAreaLinks = "$location/get_location_area_links.php"; + // static String location = '$endPoint/ride/location'; + + static String getCarsLocationByPassenger = "$locationServer/get.php"; + static String addpassengerLocation = + "$locationServer/addpassengerLocation.php"; + static String getLocationAreaLinks = + "$locationServer/get_location_area_links.php"; static String getLatestLocationPassenger = - "$location/getLatestLocationPassenger.php"; + "$locationServer/getLatestLocationPassenger.php"; static String getFemalDriverLocationByPassenger = - "$location/getFemalDriver.php"; + "$locationServer/getFemalDriver.php"; static String getDriverCarsLocationToPassengerAfterApplied = - "$location/getDriverCarsLocationToPassengerAfterApplied.php"; - static String addCarsLocationByPassenger = "$location/add.php"; - static String saveBehavior = "$location/save_behavior.php"; - static String addCarsLocationGizaEndpoint = "$location/add.php"; - static String addCarsLocationAlexandriaEndpoint = "$location/add.php"; - static String addCarsLocationCairoEndpoint = "$location/add.php"; - static String deleteCarsLocationByPassenger = "$location/delete.php"; - static String updateCarsLocationByPassenger = "$location/update.php"; - static String getTotalDriverDuration = "$location/getTotalDriverDuration.php"; - static String getRidesDriverByDay = "$location/getRidesDriverByDay.php"; + "$locationServer/getDriverCarsLocationToPassengerAfterApplied.php"; + static String addCarsLocationByPassenger = "$locationServer/add.php"; + static String saveBehavior = "$locationServer/save_behavior.php"; + static String addCarsLocationGizaEndpoint = "$locationServer/add.php"; + static String addCarsLocationAlexandriaEndpoint = "$locationServer/add.php"; + static String addCarsLocationCairoEndpoint = "$locationServer/add.php"; + static String deleteCarsLocationByPassenger = "$locationServer/delete.php"; + static String updateCarsLocationByPassenger = "$locationServer/update.php"; + static String getTotalDriverDuration = + "$locationServer/getTotalDriverDuration.php"; + static String getRidesDriverByDay = "$locationServer/getRidesDriverByDay.php"; static String getTotalDriverDurationToday = - "$location/getTotalDriverDurationToday.php"; + "$locationServer/getTotalDriverDurationToday.php"; //==================get_driver_behavior.php============= static String get_driver_behavior = diff --git a/lib/controller/auth/captin/login_captin_controller.dart b/lib/controller/auth/captin/login_captin_controller.dart index 2a6b8b3..c93fa0e 100755 --- a/lib/controller/auth/captin/login_captin_controller.dart +++ b/lib/controller/auth/captin/login_captin_controller.dart @@ -68,8 +68,8 @@ class LoginDriverController extends GetxController { void onInit() async { box.write(BoxName.countryCode, 'Syria'); // box.write(BoxName.driverID, '34feffd3fa72d6bee56b'); - await getAppTester(); - + // await getAppTester(); + getJWT(); super.onInit(); } @@ -150,8 +150,7 @@ class LoginDriverController extends GetxController { // Log.print('response.request: ${response1.request}'); // Log.print('response.body: ${response1.body}'); // print(payload); - // Log.print( - // 'jsonDecode(response1.body)["jwt"]: ${jsonDecode(response1.body)['jwt']}'); + Log.print('payment["jwt"]: ${jsonDecode(response1.body)['jwt']}'); await box.write(BoxName.hmac, jsonDecode(response1.body)['hmac']); return jsonDecode(response1.body)['jwt'].toString(); } @@ -257,17 +256,19 @@ class LoginDriverController extends GetxController { loginWithGoogleCredential(String driverID, email) async { isloading = true; update(); - await SecurityHelper.performSecurityChecks(); + // await SecurityHelper.performSecurityChecks(); // Log.print('(BoxName.emailDriver): ${box.read(BoxName.emailDriver)}'); // await getJWT(); var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: { - 'email': email ?? 'yet', + // 'email': email ?? 'yet', 'id': driverID, }); - - // print('res is $res'); + Log.print('res: ${res}'); if (res == 'failure') { await isPhoneVerified(); + isloading = false; // <--- أضفت هذا أيضاً + update(); + return false; // Get.snackbar('Failure', '', backgroundColor: Colors.red); } else { var jsonDecoeded = jsonDecode(res); @@ -358,17 +359,24 @@ class LoginDriverController extends GetxController { // } } - Get.offAll(() => HomeCaptain()); + Get.offAll(() => HomeCaptain()); // افترض أن هذا الكلاس موجود + isloading = false; // <--- أضفت هذا + update(); // <--- أضفت هذا + return true; } else { - Get.off(() => DriverVerificationScreen()); + Get.offAll( + () => DriverVerificationScreen()); // افترض أن هذا الكلاس موجود + isloading = false; // <--- أضفت هذا + update(); // <--- أضفت هذا + return false; } // Get.off(() => HomeCaptain()); } else { Get.offAll(() => PhoneNumberScreen()); - isloading = false; update(); + return false; // <--- ✅ وهذا السطر موجود للحالات الأخرى } } else { mySnackbarSuccess(''); @@ -399,8 +407,10 @@ class LoginDriverController extends GetxController { var jsonDecoeded = jsonDecode(res); var d = jsonDecoeded['data'][0]; if (jsonDecoeded.isNotEmpty) { - if (jsonDecoeded['status'] == 'success' && - d['is_verified'].toString() == '1') { + if (jsonDecoeded['status'] == 'success') + // && + // d['is_verified'].toString() == '1') + { box.write(BoxName.emailDriver, d['email']); box.write(BoxName.firstTimeLoadKey, 'false'); box.write(BoxName.driverID, (d['id'])); @@ -546,11 +556,11 @@ class LoginDriverController extends GetxController { // 'ding.wav'); NotificationService.sendNotification( target: (jsonDecode(token)['data'][0]['token']).toString(), - title: 'token change', + title: 'token change'.tr, body: 'token change'.tr, isTopic: false, // Important: this is a token tone: 'cancel', - driverList: [], + driverList: [], category: 'token change', ); Get.defaultDialog( title: 'you will use this device?'.tr, diff --git a/lib/controller/auth/captin/opt_token_controller.dart b/lib/controller/auth/captin/opt_token_controller.dart index 35346c2..931d362 100644 --- a/lib/controller/auth/captin/opt_token_controller.dart +++ b/lib/controller/auth/captin/opt_token_controller.dart @@ -111,11 +111,11 @@ class OtpVerificationController extends GetxController { // ); await NotificationService.sendNotification( target: ptoken.toString(), - title: 'token change', + title: 'token change'.tr, body: 'token change'.tr, isTopic: false, // Important: this is a token tone: 'cancel', - driverList: [], + driverList: [], category: 'token change', ); Get.offAll(() => HomeCaptain()); diff --git a/lib/controller/auth/captin/phone_helper_controller.dart b/lib/controller/auth/captin/phone_helper_controller.dart index 3bdb756..0942189 100644 --- a/lib/controller/auth/captin/phone_helper_controller.dart +++ b/lib/controller/auth/captin/phone_helper_controller.dart @@ -59,7 +59,7 @@ class PhoneAuthHelper { if (data['status'] == 'success') { final isRegistered = data['message']['isRegistered'] ?? false; - box.write(BoxName.phoneVerified, true); + box.write(BoxName.phoneVerified, '1'); box.write(BoxName.phoneDriver, phoneNumber); box.write(BoxName.driverID, data['message']['driverID']); diff --git a/lib/controller/auth/syria/registration_controller.dart b/lib/controller/auth/syria/registration_controller.dart index 8529253..fb67c8e 100644 --- a/lib/controller/auth/syria/registration_controller.dart +++ b/lib/controller/auth/syria/registration_controller.dart @@ -8,6 +8,7 @@ import 'package:image_cropper/image_cropper.dart'; import 'package:image/image.dart' as img; import 'package:path/path.dart'; import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/firebase/notification_service.dart'; import '../../../constant/box_name.dart'; import 'package:path_provider/path_provider.dart'; // --- Final Submission --- @@ -564,11 +565,18 @@ class RegistrationController extends GetxController { 'token': (box.read(BoxName.tokenDriver)).toString(), 'fingerPrint': fingerPrint.toString(), }); - await CRUD().post(link: AppLink.addTokensDriverWallet, payload: { - 'token': box.read(BoxName.tokenDriver).toString(), - 'fingerPrint': fingerPrint.toString(), - 'captain_id': box.read(BoxName.driverID).toString(), - }); + // CRUD().post(link: AppLink.addTokensDriverWallet, payload: { + // 'token': box.read(BoxName.tokenDriver).toString(), + // 'fingerPrint': fingerPrint.toString(), + // 'captain_id': box.read(BoxName.driverID).toString(), + // }); + NotificationService.sendNotification( + target: 'service', // الإرسال لجميع المشتركين في "service" + title: 'طلب خدمة جديد', + body: 'تم استلام طلب خدمة جديد. الرجاء مراجعة التفاصيل.', + isTopic: true, + category: 'new_service_request', // فئة توضح نوع الإشعار + ); c.loginWithGoogleCredential(driverID, email); } else { diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index 7d63b19..b4c948a 100755 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -1,32 +1,25 @@ import 'dart:convert'; import 'dart:io'; -import 'package:sefer_driver/constant/api_key.dart'; import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:http/http.dart' as http; import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../constant/box_name.dart'; import '../../constant/colors.dart'; import '../../constant/style.dart'; -import '../../env/env.dart'; import '../../main.dart'; import '../../print.dart'; import '../../views/auth/captin/criminal_documents_page.dart'; import '../../views/home/Captin/home_captain/home_captin.dart'; -import '../../views/home/Captin/orderCaptin/order_speed_request.dart'; import '../../views/home/Captin/orderCaptin/order_request_page.dart'; import '../../views/home/Captin/orderCaptin/vip_order_page.dart'; import '../auth/google_sign.dart'; -import '../functions/encrypt_decrypt.dart'; import '../functions/face_detect.dart'; -import 'access_token.dart'; import 'local_notification.dart'; -import 'notification_service.dart'; class FirebaseMessagesController extends GetxController { final fcmToken = FirebaseMessaging.instance; @@ -76,6 +69,9 @@ class FirebaseMessagesController extends GetxController { Log.print('token fcm driver: ${token}'); box.write(BoxName.tokenDriver, (token!)); }); +// 🔹 الاشتراك في topic + await fcmToken.subscribeToTopic("drivers"); // أو "users" حسب نوع المستخدم + print("Subscribed to 'drivers' topic ✅"); FirebaseMessaging.onMessage.listen((RemoteMessage message) { // If the app is in the background or terminated, show a system tray message @@ -100,225 +96,135 @@ class FirebaseMessagesController extends GetxController { } Future fireBaseTitles(RemoteMessage message) async { - if (message.notification!.title! == 'Order') { - if (Platform.isAndroid) { - notificationController.showNotification( - message.notification!.title.toString(), - message.notification!.body.toString(), - 'tone1', - ''); - } - // await FirebaseMessagesController().showOverlayNotification(message); - var myListString = message.data['DriverList']; - // var points = message.data['PolylineJson']; + // [!! تعديل جوهري !!] + // اقرأ "النوع" من حمولة البيانات، وليس من العنوان + String category = message.data['category'] ?? ''; - var myList = jsonDecode(myListString) as List; - // var myPoints = jsonDecode(points) as List; - driverToken = myList[14].toString(); - // This is for location using and uploading status - Get.put(HomeCaptainController()).changeRideId(); - update(); - Get.to(() => OrderRequestPage(), arguments: { - // Get.to(() => OrderRequestPage(), arguments: { - 'myListString': myListString, - 'DriverList': myList, - // 'PolylineJson': myPoints, - 'body': message.notification!.body - }); - } else if (message.notification!.title == 'OrderVIP') { - var myListString = message.data['DriverList']; + // اقرأ العنوان والنص (للعرض) + String title = message.notification?.title ?? ''; + String body = message.notification?.body ?? ''; - var myList = jsonDecode(myListString) as List; - - // driverToken = myList[10].toString(); - if (Platform.isAndroid) { - notificationController.showNotification( - 'OrderVIP'.tr, 'OrderVIP'.tr, 'order', ''); - } - Get.to(VipOrderPage(), arguments: { - 'myListString': myListString, - 'DriverList': myList, - // 'PolylineJson': myPoints, - 'body': message.notification!.body - }); - } else if (message.notification!.title == 'Cancel Trip'.tr) { - if (Platform.isAndroid) { - notificationController.showNotification( - 'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'cancel', ''); - } - cancelTripDialog(); - } else if (message.notification!.title == 'VIP Order') { - var myListString = message.data['DriverList']; - var driverList = jsonDecode(myListString) as List; - if (Platform.isAndroid) { - notificationController.showNotification( - 'VIP Order'.tr, '', 'order', ''); - } - MyDialog().getDialog('VIP Order'.tr, 'midTitle', () { - // sendNotificationToPassengerToken( - // 'VIP Order Accepted'.tr, - // 'The driver accepted your trip'.tr, - // driverList[0], - // [driverList[1]], - // 'order'); - NotificationService.sendNotification( - target: driverList[0].toString(), - title: 'VIP Order Accepted'.tr, - body: 'The driver accepted your trip'.tr, - isTopic: false, // Important: this is a token - tone: 'order', - driverList: [], - ); - }); - - // Get.to(const VipOrderPage()); - } else if (message.notification!.title == 'message From passenger') { - if (Platform.isAndroid) { - notificationController.showNotification( - 'message From passenger'.tr, ''.tr, 'ding', ''); - } - MyDialog().getDialog( - 'message From passenger'.tr, message.notification!.body!, () { - Get.back(); - }); - } else if (message.notification!.title == 'Cancel') { - if (Platform.isAndroid) { - notificationController.showNotification( - 'Cancel'.tr, ''.tr, 'cancel', ''); - } - MyDialog().getDialog( - 'Passenger Cancel Trip'.tr, - 'Trip Cancelled. The cost of the trip will be added to your wallet.' - .tr, () { - box.write(BoxName.rideStatus, 'Cancel'); - Log.print('rideStatus from 184 : ${box.read(BoxName.rideStatus)}'); - Get.offAll(HomeCaptain()); - }); - // cancelTripDialog1(); - } else if (message.notification!.title! == 'token change') { - // notificationController - // .showNotification('token change'.tr, 'token change', 'cancel'); - // GoogleSignInHelper.signOut(); - GoogleSignInHelper.signOut(); - } else if (message.notification!.title! == 'face detect') { - if (Platform.isAndroid) { - notificationController.showNotification( - 'face detect'.tr, ''.tr, 'tone2', ''); - } - String result0 = await faceDetector(); - // Handle the result here, e.g., show a dialog or update the UI - var result = jsonDecode(result0); - MyDialogContent().getDialog( - 'Face Detection Result'.tr, - Text( - result['similar'].toString() == 'true' - ? 'similar'.tr - : 'not similar'.tr, - style: AppStyle.title, - ), - () { - Get.back(); - }, - ); - - update(); - } else if (message.notification!.title! == 'Hi ,I will go now') { - if (Platform.isAndroid) { - notificationController.showNotification( - 'Passenger come to you'.tr, 'Hi ,I will go now'.tr, 'tone2', ''); - } - update(); - } else if (message.notification!.title! == 'Call Income'.tr) { - try { - var myListString = message.data['passengerList']; - var driverList = jsonDecode(myListString) as List; - // if (Platform.isAndroid) { + // استخدم switch لسهولة القراءة والصيانة + switch (category) { + case 'ORDER': + case 'Order': // Handle both cases for backward compatibility if (Platform.isAndroid) { - notificationController.showNotification('Call Income'.tr, - message.notification!.body!, 'iphone_ringtone', ''); + notificationController.showNotification(title, body, 'tone1', ''); } - // } - // Assuming GetMaterialApp is initialized and context is valid for navigation - // Get.to(() => PassengerCallPage( - // channelName: driverList[1].toString(), - // token: driverList[0].toString(), - // remoteID: driverList[2].toString(), - // )); - } catch (e) {} - } else if (message.notification!.title! == - 'Call Income from Passenger'.tr) { - try { - var myListString = message.data['passengerList']; - var driverList = jsonDecode(myListString) as List; - // if (Platform.isAndroid) { - if (Platform.isAndroid) { - notificationController.showNotification('Call Income'.tr, - message.notification!.body!, 'iphone_ringtone', ''); + var myListString = message.data['DriverList']; + if (myListString != null) { + var myList = jsonDecode(myListString) as List; + driverToken = myList[14].toString(); + Get.put(HomeCaptainController()).changeRideId(); + update(); + Get.to(() => OrderRequestPage(), arguments: { + 'myListString': myListString, + 'DriverList': myList, + 'body': body + }); } - // } - // Assuming GetMaterialApp is initialized and context is valid for navigation - // Get.to(() => CallPage( - // // channelName: driverList[1].toString(), - // // token: driverList[0].toString(), - // // remoteID: driverList[2].toString(), - // )); - } catch (e) {} - } else if (message.notification!.title! == - "Criminal Document Required".tr) { - if (Platform.isAndroid) { - notificationController.showNotification("Criminal Document Required".tr, - message.notification!.body!, 'tone2', ''); - } - MyDialog().getDialog( - "Criminal Document Required".tr, 'You should have upload it .'.tr, - () { - Get.to(() => const CriminalDocumemtPage()); - }); - Get.to(() => const CriminalDocumemtPage()); - } else if (message.notification!.title! == 'Call End'.tr) { - try { - var myListString = message.data['passengerList']; - var driverList = jsonDecode(myListString) as List; + break; + + case 'OrderVIP': + var myListString = message.data['DriverList']; + if (myListString != null) { + var myList = jsonDecode(myListString) as List; + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'order', ''); + } + Get.to(VipOrderPage(), arguments: { + 'myListString': myListString, + 'DriverList': myList, + 'body': body + }); + } + break; + + case 'Cancel Trip': + case 'TRIP_CANCELLED': if (Platform.isAndroid) { notificationController.showNotification( - 'Call End'.tr, message.notification!.body!, 'tone2', ''); + title, 'Passenger Cancel Trip'.tr, 'cancel', ''); } - // Assuming GetMaterialApp is initialized and context is valid for navigation - // Get.off(const CallPage()); - } catch (e) {} - } else if (message.notification!.title! == 'Order Applied'.tr) { - mySnackbarSuccess("The order has been accepted by another driver.".tr); - } else if (message.notification!.title! == 'Order') { - if (Platform.isAndroid) { - notificationController.showNotification( - message.notification!.title.toString(), - message.notification!.body.toString(), - 'order', - ''); - } - var myListString = message.data['DriverList']; - // var points = message.data['PolylineJson']; + cancelTripDialog(); + break; - var myList = jsonDecode(myListString) as List; - // var myPoints = jsonDecode(points) as List; - driverToken = myList[14].toString(); - Get.put(HomeCaptainController()).changeRideId(); - update(); - Get.to(() => OrderSpeedRequest(), arguments: { - 'myListString': myListString, - 'DriverList': myList, - // 'PolylineJson': myPoints, - 'body': message.notification!.body - }); - } else if (message.notification!.title! == 'Order Applied'.tr) { - if (Platform.isAndroid) { - notificationController.showNotification( - 'The order Accepted by another Driver'.tr, - 'We regret to inform you that another driver has accepted this order.' - .tr, - 'order', - ''); - } + case 'VIP Order Accepted': + // This seems to be a notification for the passenger, but if the driver needs to see it: + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'order', ''); + } + // Maybe show a simple snackbar confirmation + mySnackbarSuccess('You accepted the VIP order.'.tr); + break; + + case 'message From passenger': + case 'MSG_FROM_PASSENGER': + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'ding', ''); + } + MyDialog().getDialog(title, body, () { + Get.back(); + }); + break; + + case 'token change': + case 'TOKEN_CHANGE': + GoogleSignInHelper.signOut(); + break; + + case 'face detect': + case 'FACE_DETECT': + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'tone2', ''); + } + String result0 = await faceDetector(); + var result = jsonDecode(result0); + MyDialogContent().getDialog( + 'Face Detection Result'.tr, + Text( + result['similar'].toString() == 'true' + ? 'similar'.tr + : 'not similar'.tr, + style: AppStyle.title, + ), + () { + Get.back(); + }, + ); + update(); + break; + + case 'Hi ,I will go now': + case 'PASSENGER_COMING': + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'tone2', ''); + } + update(); + break; + + case 'Criminal Document Required': + case 'DOC_REQUIRED': + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'tone2', ''); + } + MyDialog().getDialog(title, 'You should have upload it .'.tr, () { + Get.to(() => const CriminalDocumemtPage()); + }); + break; + + case 'Order Applied': + case 'ORDER_TAKEN': + mySnackbarSuccess("The order has been accepted by another driver.".tr); + break; + + default: + Log.print('Received unhandled notification category: $category'); + // Optionally show a generic notification + if (Platform.isAndroid) { + notificationController.showNotification(title, body, 'default', ''); + } + break; } } @@ -376,380 +282,6 @@ class FirebaseMessagesController extends GetxController { Get.offAll(HomeCaptain()); })); } - - // Future driverArrivePassengerDialoge() { - // return Get.defaultDialog( - // barrierDismissible: false, - // title: 'Hi ,I Arrive your site'.tr, - // middleText: 'Please go to Car Driver'.tr, - // confirm: MyElevatedButton( - // title: 'Ok I will go now.'.tr, - // onPressed: () { - // FirebaseMessagesController().sendNotificationToPassengerToken( - // 'Hi ,I will go now'.tr, - // 'I will go now'.tr, - // Get.find().driverToken, []); - // Get.find() - // .startTimerDriverWaitPassenger5Minute(); - - // Get.back(); - // })); - // } - - // late String serviceAccountKeyJson; - // @override - // Future onInit() async { - // super.onInit(); - // try { - // // getToken(); - // var encryptedKey = Env.privateKeyFCM; - // // Log.print('encryptedKey: ${encryptedKey}'); - // serviceAccountKeyJson = - // EncryptionHelper.instance.decryptData(encryptedKey); - // // Log.print('serviceAccountKeyJson: ${serviceAccountKeyJson}'); - // } catch (e) { - // print('🔴 Error decrypting FCM key: $e'); - // } - // } - - // void sendNotificationAll(String title, body, tone) async { - // // توكني الحالي (لا أرسل لنفسي) - // final String myToken = box.read(BoxName.tokenFCM) ?? ''; - // // اقرأ قائمة كل التوكنات - // final List all = - // List.from(box.read(BoxName.tokens) ?? const []); - - // // استبعد توكنك واحذف الفارغ - // final targets = all.where((t) => t.isNotEmpty && t != myToken).toList(); - - // if (serviceAccountKeyJson.isEmpty) { - // print("🔴 Error: Service Account Key is empty"); - // return; - // } - // final accessTokenManager = AccessTokenManager(serviceAccountKeyJson); - // final accessToken = await accessTokenManager.getAccessToken(); - - // for (final t in targets) { - // // ⚠️ المهم: استخدم t (توكن الهدف)، وليس المتغير myToken - // final response = await http.post( - // Uri.parse( - // 'https://fcm.googleapis.com/v1/projects/ride-b1bd8/messages:send'), - // headers: { - // 'Content-Type': 'application/json', - // 'Authorization': 'Bearer $accessToken', - // }, - // body: jsonEncode({ - // 'message': { - // 'token': t, - // 'notification': {'title': title, 'body': body}, - // 'android': { - // 'priority': 'HIGH', // القيم الصحيحة: HIGH/NORMAL - // 'notification': {'sound': tone}, - // // (اختياري) TTL لتجنّب رسائل قديمة - // 'ttl': '30s', - // }, - // 'apns': { - // 'headers': { - // 'apns-priority': '10', - // // لو iOS: حدد نوع الدفع - // 'apns-push-type': 'alert', - // }, - // 'payload': { - // 'aps': {'sound': tone} - // }, - // }, - // }, - // }), - // ); - - // if (response.statusCode != 200) { - // // حاول تقرأ الخطأ وتشيل التوكنات التالفة - // _handleV1Error(response, badToken: t); - // await Future.delayed(const Duration(milliseconds: 50)); // تخفيف ضغط - // } - // } - // } - - // void _handleV1Error(http.Response res, {required String badToken}) { - // try { - // final body = jsonDecode(res.body); - // final err = body['error']?['status']?.toString() ?? ''; - // // أمثلة شائعة: - // if (err.contains('UNREGISTERED') || err.contains('NOT_FOUND')) { - // removeInvalidToken(badToken); - // } else if (err.contains('INVALID_ARGUMENT')) { - // // payload غير صحيح - // print( - // '⚠️ INVALID_ARGUMENT for $badToken: ${body['error']?['message']}'); - // } else if (err.contains('RESOURCE_EXHAUSTED') || - // err.contains('QUOTA_EXCEEDED')) { - // // تجاوزت الحصة—خفّف السرعة/قسّم الإرسال (FCM v1 له حصة/دقيقة) - // // https docs: 600k req/min per project (token bucket) - // print('⏳ Throttled by FCM: slow down sending rate.'); - // } else { - // print('FCM v1 error: ${res.statusCode} ${res.body}'); - // } - // } catch (_) { - // print('FCM v1 error: ${res.statusCode} ${res.body}'); - // } - // } - - // void sendNotificationToPassengerToken( - // String title, body, token, List map, String tone, - // {int retryCount = 2}) async { - // try { - // if (serviceAccountKeyJson.isEmpty) { - // print("🔴 Error: Service Account Key is empty"); - // return; - // } - // // Initialize AccessTokenManager - // final accessTokenManager = AccessTokenManager(serviceAccountKeyJson); - - // // Obtain an OAuth 2.0 access token - // final accessToken = await accessTokenManager.getAccessToken(); - // // Log.print('accessToken: ${accessToken}'); - - // // Send the notification - // final response = await http.post( - // Uri.parse( - // 'https://fcm.googleapis.com/v1/projects/ride-b1bd8/messages:send'), - // headers: { - // 'Content-Type': 'application/json', - // 'Authorization': 'Bearer $accessToken', - // }, - // body: jsonEncode({ - // 'message': { - // 'token': token, - // 'notification': { - // 'title': title, - // 'body': body, - // }, - // 'data': { - // 'passengerList': jsonEncode(map), - // }, - // 'android': { - // 'priority': 'HIGH ', // Set priority to high - // 'notification': { - // 'sound': tone, - // }, - // }, - // 'apns': { - // 'headers': { - // 'apns-priority': '10', // Set APNs priority to 10 - // }, - // 'payload': { - // 'aps': { - // 'sound': tone, - // }, - // }, - // }, - // }, - // }), - // ); - - // if (response.statusCode == 200) { - // print( - // 'Notification sent successfully. Status code: ${response.statusCode}'); - // print('Response body: ${response.body}'); - // } else { - // print( - // 'Failed to send notification. Status code: ${response.statusCode}'); - - // print('Response body: ${response.body}'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // const Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToPassengerToken(title, body, token, map, tone, - // retryCount: retryCount - 1); - // } - // } - // } catch (e) { - // print('Error sending notification: $e'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // const Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToPassengerToken(title, body, token, map, tone, - // retryCount: retryCount - 1); - // } - // } - // } - - // void sendNotificationToPassengerTokenCALL( - // String title, body, token, List map, String tone, - // {int retryCount = 2}) async { - // try { - // if (serviceAccountKeyJson.isEmpty) { - // print("🔴 Error: Service Account Key is empty"); - // return; - // } - // // Initialize AccessTokenManager - // final accessTokenManager = AccessTokenManager(serviceAccountKeyJson); - - // // Obtain an OAuth 2.0 access token - // final accessToken = await accessTokenManager.getAccessToken(); - // // Log.print('accessToken: ${accessToken}'); - - // // Send the notification - // final response = await http.post( - // Uri.parse( - // 'https://fcm.googleapis.com/v1/projects/ride-b1bd8/messages:send'), - // headers: { - // 'Content-Type': 'application/json', - // 'Authorization': 'Bearer $accessToken', - // }, - // body: jsonEncode({ - // 'message': { - // 'token': token, - // 'notification': { - // 'title': title, - // 'body': body, - // }, - // 'data': { - // 'passengerList': jsonEncode(map), - // }, - // 'android': { - // 'priority': 'HIGH ', // Set priority to high - // 'notification': { - // 'sound': tone, - // }, - // }, - // 'apns': { - // 'headers': { - // 'apns-priority': '10', // Set APNs priority to 10 - // }, - // 'payload': { - // 'aps': { - // 'sound': tone, - // }, - // }, - // }, - // }, - // }), - // ); - - // if (response.statusCode == 200) { - // print( - // 'Notification sent successfully. Status code: ${response.statusCode}'); - // print('Response body: ${response.body}'); - // } else { - // print( - // 'Failed to send notification. Status code: ${response.statusCode}'); - - // print('Response body: ${response.body}'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // const Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToPassengerTokenCALL( - // title, body, token, map, tone, - // retryCount: retryCount - 1); - // } - // } - // } catch (e) { - // print('Error sending notification: $e'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // const Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToPassengerTokenCALL( - // title, body, token, map, tone, - // retryCount: retryCount - 1); - // } - // } - // } - - // Future sendNotificationToDriverMAP( - // String title, String body, String token, List data, String tone, - // {int retryCount = 2}) async { - // try { - // if (serviceAccountKeyJson.isEmpty) { - // print("🔴 Error: Service Account Key is empty"); - // return; - // } - - // // Initialize AccessTokenManager - // final accessTokenManager = AccessTokenManager(serviceAccountKeyJson); - // Log.print( - // 'accessTokenManager: ${accessTokenManager.serviceAccountJsonKey}'); - - // // Obtain an OAuth 2.0 access token - // final accessToken = await accessTokenManager.getAccessToken(); - // // Log.print('accessToken: ${accessToken}'); - - // // Send the notification - // final response = await http.post( - // Uri.parse( - // 'https://fcm.googleapis.com/v1/projects/intaleq-d48a7/messages:send'), - // headers: { - // 'Content-Type': 'application/json', - // 'Authorization': 'Bearer $accessToken', - // }, - // body: jsonEncode({ - // 'message': { - // 'token': token, - // 'notification': { - // 'title': title, - // 'body': body, - // }, - // 'data': { - // 'DriverList': jsonEncode(data), - // }, - // 'android': { - // 'priority': 'HIGH ', // Set priority to high - // 'notification': { - // 'sound': tone, - // }, - // }, - // 'apns': { - // 'headers': { - // 'apns-priority': '10', // Set APNs priority to 10 - // }, - // 'payload': { - // 'aps': { - // 'sound': tone, - // }, - // }, - // }, - // }, - // }), - // ); - - // if (response.statusCode == 200) { - // print( - // 'Notification sent successfully. Status code: ${response.statusCode}'); - // // print('Response token: ${token}'); - // } else { - // print( - // 'Failed to send notification. Status code: ${response.statusCode}'); - // print('Response body: ${response.body}'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToDriverMAP(title, body, token, data, tone, - // retryCount: retryCount - 1); - // } - // } - // } catch (e) { - // print('Error sending notification: $e'); - // if (retryCount > 0) { - // print('Retrying... Attempts remaining: $retryCount'); - // await Future.delayed( - // Duration(seconds: 2)); // Optional delay before retrying - // return sendNotificationToDriverMAP(title, body, token, data, tone, - // retryCount: retryCount - 1); - // } - // } - // } - - // Future removeInvalidToken(String token) async { - // // Remove token from your database/storage - // // This prevents future attempts to send to invalid tokens - // print('Removing invalid token from database: $token'); - // // Your database cleanup logic here - // } } class OverlayContent extends StatelessWidget { diff --git a/lib/controller/firebase/notification_service.dart b/lib/controller/firebase/notification_service.dart index 11b7e6b..4e7aa45 100644 --- a/lib/controller/firebase/notification_service.dart +++ b/lib/controller/firebase/notification_service.dart @@ -1,8 +1,10 @@ -import 'package:http/http.dart' as http; import 'dart:convert'; +import 'package:http/http.dart' as http; + +import '../../print.dart'; class NotificationService { - // استبدل هذا الرابط بالرابط الصحيح لملف PHP على السيرفر الخاص بك + // تأكد من أن هذا هو الرابط الصحيح لملف الإرسال static const String _serverUrl = 'https://syria.intaleq.xyz/intaleq/fcm/send_fcm.php'; @@ -10,8 +12,9 @@ class NotificationService { required String target, required String title, required String body, + required String? category, // <-- [الإضافة الأولى] String? tone, - List? driverList, // <-- [تعديل 1] : إضافة المتغير الجديد + List? driverList, bool isTopic = false, }) async { try { @@ -22,14 +25,17 @@ class NotificationService { 'isTopic': isTopic, }; - // نضيف النغمة فقط إذا لم تكن فارغة + if (category != null) { + payload['category'] = category; // <-- [الإضافة الثانية] + } + if (tone != null) { payload['tone'] = tone; } - // <-- [تعديل 2] : نضيف قائمة البيانات بعد تشفيرها إلى JSON if (driverList != null) { - payload['driverList'] = jsonEncode(driverList); + // [مهم] تطبيق السائق يرسل passengerList + payload['passengerList'] = jsonEncode(driverList); } final response = await http.post( @@ -41,15 +47,13 @@ class NotificationService { ); if (response.statusCode == 200) { - print('✅ Notification sent successfully.'); - print('Server Response: ${response.body}'); + Log.print('✅ Notification sent successfully.'); } else { - print( + Log.print( '❌ Failed to send notification. Status code: ${response.statusCode}'); - print('Server Error: ${response.body}'); } } catch (e) { - print('❌ An error occurred while sending notification: $e'); + Log.print('❌ An error occurred while sending notification: $e'); } } } diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index a731240..4137aed 100755 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -191,9 +191,6 @@ class CRUD { 'Bearer ${r(box.read(BoxName.jwt)).toString().split(Env.addd)[0]}' }, ); - Log.print('response: ${response.body}'); - Log.print('req: ${response.request}'); - Log.print('payload: ${payload}'); if (response.statusCode == 200) { var jsonData = jsonDecode(response.body); diff --git a/lib/controller/functions/gemeni.dart b/lib/controller/functions/gemeni.dart index 02a88c7..af1e987 100755 --- a/lib/controller/functions/gemeni.dart +++ b/lib/controller/functions/gemeni.dart @@ -119,7 +119,7 @@ class AI extends GetxController { body: 'for '.tr + box.read(BoxName.phoneDriver).toString(), isTopic: false, // Important: this is a token tone: 'tone2', - driverList: [], + driverList: [], category: 'You have received a gift token!', ); } else { // mySnackeBarError( diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 43df68a..dfa2b5c 100755 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -224,15 +224,15 @@ class LocationController extends GetxController { } _lastPosForDistance = pos; // ✅ تحديث الكاميرا - _homeCtrl.mapHomeCaptainController?.animateCamera( - CameraUpdate.newCameraPosition( - CameraPosition( - bearing: Get.find().heading, - target: myLocation, - zoom: 17, // Adjust zoom level as needed - ), - ), - ); + // _homeCtrl.mapHomeCaptainController?.animateCamera( + // CameraUpdate.newCameraPosition( + // CameraPosition( + // bearing: Get.find().heading, + // target: myLocation, + // zoom: 17, // Adjust zoom level as needed + // ), + // ), + // ); update(); // تحديث الواجهة الرسومية بالبيانات الجديدة await _smartSend(pos, loc); @@ -354,7 +354,7 @@ class LocationController extends GetxController { final payload = _buildPayload(pos, status, loc); try { await CRUD().post( - link: '${AppLink.server}/ride/location/update.php', + link: '${AppLink.locationServer}/update.php', payload: payload, ); _lastSentLoc = pos; @@ -403,7 +403,7 @@ class LocationController extends GetxController { try { print('⏱️ Adding a single point to car_track... $payload'); await CRUD().post( - link: '${AppLink.server}/ride/location/add.php', + link: '${AppLink.locationServer}/add.php', payload: payload, // ← الآن Map ); } catch (e) { @@ -438,7 +438,7 @@ class LocationController extends GetxController { try { await CRUD().post( - link: '${AppLink.server}/ride/location/update.php', + link: '${AppLink.locationServer}/update.php', payload: payload, ); _lastSentAt = DateTime.now(); diff --git a/lib/controller/functions/overlay_permisssion.dart b/lib/controller/functions/overlay_permisssion.dart index a086d27..cfcd9c9 100755 --- a/lib/controller/functions/overlay_permisssion.dart +++ b/lib/controller/functions/overlay_permisssion.dart @@ -36,6 +36,7 @@ Future showDriverGiftClaim(BuildContext context) async { box.read(BoxName.is_claimed) == null) { MyDialog().getDialog( 'You have gift 30000 SYP'.tr, 'This for new registration'.tr, () async { + Get.back(); var res = await CRUD().post(link: AppLink.updateDriverClaim, payload: { 'driverId': box.read(BoxName.driverID), }); @@ -49,7 +50,6 @@ Future showDriverGiftClaim(BuildContext context) async { ); box.write(BoxName.is_claimed, '1'); } - Get.back(); }); } } diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 42bc257..389f4a5 100755 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -428,18 +428,26 @@ class HomeCaptainController extends GetxController { } Future getCaptainDurationOnToday() async { - var res = await CRUD().get( + try { + var res = await CRUD().get( link: AppLink.getTotalDriverDurationToday, - payload: {'driver_id': box.read(BoxName.driverID).toString()}); - if (res == 'failure') { + payload: {'driver_id': box.read(BoxName.driverID).toString()}, + ); + + if (res == null || res == 'failure') { + totalDurationToday = '0'; + update(); + return; + } + + var data = jsonDecode(res); + totalDurationToday = data['message']?[0]?['total_duration'] ?? '0'; + } catch (e) { + print('Error in getCaptainDurationOnToday: $e'); totalDurationToday = '0'; - update(); - return; - } else { - data = jsonDecode(res); - totalDurationToday = data['message'][0]['total_duration']; - update(); } + + update(); } @override diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 92dd0f0..47b37c2 100755 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'dart:io'; import 'dart:math'; import 'dart:math' as math; +import 'package:http/http.dart' as http; import 'package:sefer_driver/controller/home/captin/behavior_controller.dart'; import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:sefer_driver/views/widgets/mydialoug.dart'; @@ -17,8 +18,10 @@ import 'package:url_launcher/url_launcher.dart'; import '../../../constant/api_key.dart'; import '../../../constant/box_name.dart'; import '../../../constant/colors.dart'; +import '../../../constant/country_polygons.dart'; import '../../../constant/links.dart'; import '../../../constant/table_names.dart'; +import '../../../env/env.dart'; import '../../../main.dart'; import '../../../print.dart'; import '../../../views/Rate/rate_passenger.dart'; @@ -196,23 +199,16 @@ class MapDriverController extends GetxController { cancelTripFromDriverAfterApplied() async { if (formKeyCancel.currentState!.validate()) { box.write(BoxName.statusDriverLocation, 'off'); - // Get.find().sendNotificationToDriverMAP( - // "Cancel Trip from driver", - // "Trip Cancelled from driver. We are looking for a new driver. Please wait." - // .tr, - // tokenPassenger, - // [], - // 'cancel.wav', - // ); + NotificationService.sendNotification( target: tokenPassenger.toString(), - title: "Cancel Trip from driver".tr, + title: "Cancel Trip from driver", body: "Trip Cancelled from driver. We are looking for a new driver. Please wait." .tr, isTopic: false, // Important: this is a token tone: 'cancel', - driverList: [], + driverList: [], category: "Cancel Trip from driver", ); await CRUD().post( link: "${AppLink.seferCairoServer}/ride/rides/update.php", @@ -343,21 +339,13 @@ class MapDriverController extends GetxController { 'status': 'Applied' }); - // Get.find().changeToAppliedRide('Applied'); - - // Get.find().sendNotificationToDriverMAP( - // 'Driver Is Going To Passenger', - // box.read(BoxName.nameDriver).toString(), //todo name driver - // tokenPassenger, - // [], - // 'start.wav'); NotificationService.sendNotification( target: tokenPassenger.toString(), title: 'Driver Is Going To Passenger'.tr, body: box.read(BoxName.nameDriver).toString(), isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: [], category: 'Driver Is Going To Passenger', ); } @@ -449,11 +437,11 @@ class MapDriverController extends GetxController { NotificationService.sendNotification( target: tokenPassenger.toString(), - title: 'Trip is Begin', + title: 'Trip is Begin'.tr, body: box.read(BoxName.nameDriver).toString(), isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: [], category: 'Trip is Begin', ); rideIsBeginPassengerTimer(); @@ -546,7 +534,7 @@ class MapDriverController extends GetxController { } else { double costOfWaiting5Minute = box.read(BoxName.countryCode) == 'Egypt' ? (distanceBetweenDriverAndPassengerWhenConfirm * .08) + (5 * 1) - : (distanceBetweenDriverAndPassengerWhenConfirm * .06) + + : (distanceBetweenDriverAndPassengerWhenConfirm * 1100) + (5 * .06); //for Eygpt other like jordan .06 per minute await CRUD().post(link: AppLink.updateRides, payload: { 'id': (rideId), @@ -771,20 +759,9 @@ class MapDriverController extends GetxController { Get.put(DriverBehaviorController()) .sendSummaryToServer(driverId, rideId); - // Get.find().sendNotificationToDriverMAP( - // "Driver Finish Trip", - // '${'you will pay to Driver'.tr} $paymentAmount \$', - // tokenPassenger, - // [ - // box.read(BoxName.driverID), - // rideId, - // box.read(BoxName.tokenDriver), - // paymentAmount.toString() - // ], - // 'ding.wav'); NotificationService.sendNotification( target: tokenPassenger.toString(), - title: "Driver Finish Trip", + title: "Driver Finish Trip".tr, body: '${'you will pay to Driver'.tr} $paymentAmount \$'.tr, isTopic: false, // Important: this is a token tone: 'ding', @@ -794,6 +771,7 @@ class MapDriverController extends GetxController { box.read(BoxName.tokenDriver), paymentAmount.toString() ], + category: 'Driver Finish Trip', ); Get.to(() => RatePassenger(), arguments: { @@ -1303,21 +1281,115 @@ class MapDriverController extends GetxController { var _stepBounds = []; var _stepEndPoints = []; var _allPointsForActiveRoute = []; + bool _rayIntersectsSegment(LatLng point, LatLng vertex1, LatLng vertex2) { + double px = point.longitude; + double py = point.latitude; + + double v1x = vertex1.longitude; + double v1y = vertex1.latitude; + double v2x = vertex2.longitude; + double v2y = vertex2.latitude; + + // Check if the point is outside the vertical bounds of the segment + if ((py < v1y && py < v2y) || (py > v1y && py > v2y)) { + return false; + } + + // Calculate the intersection of the ray and the segment + double intersectX = v1x + (py - v1y) * (v2x - v1x) / (v2y - v1y); + + // Check if the intersection is to the right of the point + return intersectX > px; + } + + // Function to check if the point is inside the polygon + bool isPointInPolygon(LatLng point, List polygon) { + int intersections = 0; + for (int i = 0; i < polygon.length; i++) { + LatLng vertex1 = polygon[i]; + LatLng vertex2 = + polygon[(i + 1) % polygon.length]; // Loop back to the start + + if (_rayIntersectsSegment(point, vertex1, vertex2)) { + intersections++; + } + } + + // If the number of intersections is odd, the point is inside + return intersections % 2 != 0; + } + + String getLocationArea(double latitude, double longitude) { + LatLng passengerPoint = LatLng(latitude, longitude); + + // 1. فحص الأردن + if (isPointInPolygon(passengerPoint, CountryPolygons.jordanBoundary)) { + box.write(BoxName.countryCode, 'Jordan'); + // يمكنك تعيين AppLink.endPoint هنا إذا كان منطقك الداخلي لا يزال يعتمد عليه + // box.write(BoxName.serverChosen, + // AppLink.IntaleqSyriaServer); // مثال: اختر سيرفر سوريا للبيانات + return 'Jordan'; + } + + // 2. فحص سوريا + if (isPointInPolygon(passengerPoint, CountryPolygons.syriaBoundary)) { + box.write(BoxName.countryCode, 'Syria'); + // box.write(BoxName.serverChosen, AppLink.IntaleqSyriaServer); + return 'Syria'; + } + + // 3. فحص مصر + if (isPointInPolygon(passengerPoint, CountryPolygons.egyptBoundary)) { + box.write(BoxName.countryCode, 'Egypt'); + // box.write(BoxName.serverChosen, AppLink.IntaleqAlexandriaServer); + return 'Egypt'; + } + + // 4. الافتراضي (إذا كان خارج المناطق المخدومة) + box.write(BoxName.countryCode, 'Jordan'); + // box.write(BoxName.serverChosen, AppLink.IntaleqSyriaServer); + return 'Unknown Location (Defaulting to Jordan)'; + } -// دالة موحّدة وقوية لجلب أي مسار Future getRoute({ required LatLng origin, required LatLng destination, - required Color routeColor, + required Color routeColor, // تم الإبقاء عليه كما طلبت }) async { // إظهار مؤشر التحميل لو رغبت // isLoading.value = true; + getLocationArea(origin.latitude, origin.longitude); + + String _dynamicApiUrl = 'https://routec.intaleq.xyz/route'; + + // استخدام مفتاح الـ API الخاص بك (افترضتُ أنه موجود في Env) + final String _routeApiKey = Env.mapKeyOsm; var url = - ('${AppLink.googleMapsLink}directions/json?language=ar&destination=${destination.latitude},${destination.longitude}&origin=${origin.latitude},${origin.longitude}&key=${AK.mapAPIKEY}'); - var response = await CRUD().getGoogleApi(link: url, payload: {}); + '$_dynamicApiUrl?origin=${origin.latitude},${origin.longitude}&destination=${destination.latitude},${destination.longitude}&steps=true&overview=full'; - if (response == null || response['routes'].isEmpty) { + var response; + try { + response = await http.get( + Uri.parse(url), + headers: {'X-API-KEY': _routeApiKey}, + ); + } catch (e) { + print("Error calling route API: $e"); + // isLoading.value = false; + // أظهر رسالة خطأ + return; + } + + if (response.statusCode != 200) { + print("Route API returned error: ${response.statusCode}"); + // isLoading.value = false; + return; + } + + final responseData = jsonDecode(response.body); + + if (responseData == null || responseData['status'] != 'ok') { // isLoading.value = false; // أظهر رسالة خطأ return; @@ -1325,17 +1397,36 @@ class MapDriverController extends GetxController { _resetRouteState(); // تنظيف الحالة القديمة قبل رسم الجديد - final route = response['routes'][0]; - final leg = route['legs'][0]; + // --- 2. "ترجمة" الاستجابة الجديدة لتناسب الكود القديم --- - // استخراج النقاط ورسم المسار المبدئي بالكامل - final pointsString = route["overview_polyline"]["points"]; + // استخراج النقاط ورسم المسار المبدئي + // الكود القديم كان يتوقع: route["overview_polyline"]["points"] + // الكود الجديد يوفر: responseData["polyline"] + final pointsString = responseData["polyline"]; + + // افترضتُ أن لديك دالة اسمها decodePolylineToLatLng + // إذا كان اسمها decodePolylineIsolate، قم بتغيير الاسم هنا _allPointsForActiveRoute = decodePolylineToLatLng(pointsString); upcomingPathPoints.assignAll(_allPointsForActiveRoute); // استخراج خطوات الملاحة - activeRouteSteps.assignAll(List>.from(leg['steps'])); - _prepareStepData(activeRouteSteps); + // الكود القديم كان يتوقع: List>.from(leg['steps']) + // الكود الجديد يوفر: List>.from(responseData['steps']) + final stepsList = List>.from(responseData['steps']); + + // [مهم جداً] إضافة الحقول التي يتوقعها الكود القديم + for (var step in stepsList) { + // الكود القديم يتوقع 'html_instructions' + // سنقوم بإنشائها من بيانات 'maneuver' + step['html_instructions'] = _createInstructionFromManeuver(step); + + // الكود القديم قد يتوقع 'end_location' + var loc = step['maneuver']['location']; // [lng, lat] + step['end_location'] = {'lat': loc[1], 'lng': loc[0]}; + } + + activeRouteSteps.assignAll(stepsList); + _prepareStepData(activeRouteSteps); // هذه الدالة ستعمل الآن كما هي // تحديث التعليمات الأولية if (activeRouteSteps.isNotEmpty) { @@ -1347,18 +1438,161 @@ class MapDriverController extends GetxController { } // تحديث الكاميرا لتناسب المسار الجديد - final boundsData = route["bounds"]; - _fitToBounds(LatLngBounds( - northeast: LatLng( - boundsData['northeast']['lat'], boundsData['northeast']['lng']), - southwest: LatLng( - boundsData['southwest']['lat'], boundsData['southwest']['lng']), - )); + // الكود القديم كان يتوقع: route["bounds"] + // الكود الجديد لا يوفرها، لذا سنقوم بحسابها يدوياً + if (_allPointsForActiveRoute.isNotEmpty) { + final bounds = _boundsFromLatLngList(_allPointsForActiveRoute); + _fitToBounds(bounds); // ستعمل هذه الدالة الآن كما هي + } // isLoading.value = false; update(); // تحديث الواجهة مرة واحدة بعد كل العمليات } + String _createInstructionFromManeuver(Map step) { + final maneuver = step['maneuver']; + final type = maneuver['type'] ?? 'continue'; + final modifier = maneuver['modifier'] ?? 'straight'; + final name = step['name'] ?? ''; + + String instruction = ""; + + switch (type) { + case 'depart': + instruction = "انطلق"; + break; + case 'arrive': + instruction = "لقد وصلت إلى وجهتك"; + if (name.isNotEmpty) instruction += "، $name"; + return instruction; + case 'turn': + case 'fork': + case 'off ramp': + case 'on ramp': + case 'roundabout': + instruction = _getTurnInstruction(modifier); + break; + case 'continue': + instruction = "استمر"; + break; + default: + instruction = "اتجه"; + } + + if (name.isNotEmpty) { + if (instruction == "استمر") { + instruction += " على $name"; + } else { + instruction += " إلى $name"; + } + } else if (type == 'continue' && modifier == 'straight') { + instruction = "استمر بشكل مستقيم"; + } + + return instruction; + } + + /** + * دالة مساعدة لترجمة تعليمات الانعطاف + */ + String _getTurnInstruction(String modifier) { + switch (modifier) { + case 'uturn': + return "قم بالاستدارة والعودة"; + case 'sharp right': + return "انعطف يمينًا بحدة"; + case 'right': + return "انعطف يمينًا"; + case 'slight right': + return "انعطف يمينًا قليلاً"; + case 'straight': + return "استمر بشكل مستقيم"; + case 'slight left': + return "انعطف يسارًا قليلاً"; + case 'left': + return "انعطف يسارًا"; + case 'sharp left': + return "انعطف يسارًا بحدة"; + default: + return "اتجه"; + } + } + + /** + * دالة لحساب حدود الخريطة (Bounds) من قائمة نقاط + */ + LatLngBounds _boundsFromLatLngList(List list) { + assert(list.isNotEmpty); + double? x0, x1, y0, y1; + for (LatLng latLng in list) { + if (x0 == null) { + x0 = x1 = latLng.latitude; + y0 = y1 = latLng.longitude; + } else { + if (latLng.latitude > x1!) x1 = latLng.latitude; + if (latLng.latitude < x0) x0 = latLng.latitude; + if (latLng.longitude > y1!) y1 = latLng.longitude; + if (latLng.longitude < y0!) y0 = latLng.longitude; + } + } + return LatLngBounds( + northeast: LatLng(x1!, y1!), southwest: LatLng(x0!, y0!)); + } +// // دالة موحّدة وقوية لجلب أي مسار +// Future getRoute({ +// required LatLng origin, +// required LatLng destination, +// required Color routeColor, +// }) async { +// // إظهار مؤشر التحميل لو رغبت +// // isLoading.value = true; + +// var url = +// ('${AppLink.googleMapsLink}directions/json?language=ar&destination=${destination.latitude},${destination.longitude}&origin=${origin.latitude},${origin.longitude}&key=${AK.mapAPIKEY}'); +// var response = await CRUD().getGoogleApi(link: url, payload: {}); + +// if (response == null || response['routes'].isEmpty) { +// // isLoading.value = false; +// // أظهر رسالة خطأ +// return; +// } + +// _resetRouteState(); // تنظيف الحالة القديمة قبل رسم الجديد + +// final route = response['routes'][0]; +// final leg = route['legs'][0]; + +// // استخراج النقاط ورسم المسار المبدئي بالكامل +// final pointsString = route["overview_polyline"]["points"]; +// _allPointsForActiveRoute = decodePolylineToLatLng(pointsString); +// upcomingPathPoints.assignAll(_allPointsForActiveRoute); + +// // استخراج خطوات الملاحة +// activeRouteSteps.assignAll(List>.from(leg['steps'])); +// _prepareStepData(activeRouteSteps); + +// // تحديث التعليمات الأولية +// if (activeRouteSteps.isNotEmpty) { +// currentInstruction = +// _parseInstruction(activeRouteSteps[0]['html_instructions']); +// Get.isRegistered() +// ? Get.find().speakText(currentInstruction) +// : Get.put(TextToSpeechController()).speakText(currentInstruction); +// } + +// // تحديث الكاميرا لتناسب المسار الجديد +// final boundsData = route["bounds"]; +// _fitToBounds(LatLngBounds( +// northeast: LatLng( +// boundsData['northeast']['lat'], boundsData['northeast']['lng']), +// southwest: LatLng( +// boundsData['southwest']['lat'], boundsData['southwest']['lng']), +// )); + +// // isLoading.value = false; +// update(); // تحديث الواجهة مرة واحدة بعد كل العمليات +// } + // الدالة التي يتم استدعاؤها من خدمة الموقع كل 5 ثوان (أو حسب الفترة المحددة) void onLocationUpdated(Position newPosition) { myLocation = LatLng(newPosition.latitude, newPosition.longitude); @@ -1533,7 +1767,7 @@ class MapDriverController extends GetxController { ('${AppLink.googleMapsLink}directions/json?&language=${box.read(BoxName.lang)}&avoid=tolls|ferries&destination=$destination&origin=$origin&key=${AK.mapAPIKEY}'); var response = await CRUD().getGoogleApi(link: url, payload: {}); - Log.print('response: ${response}'); + Log.print('response: $response'); data = response['routes'][0]['legs']; distanceBetweenDriverAndPassengerWhenConfirm = (data[0]['distance']['value']) / 1000; @@ -1663,7 +1897,7 @@ class MapDriverController extends GetxController { // ); NotificationService.sendNotification( target: tokenPassenger.toString(), - title: "You are near the destination", + title: "You are near the destination".tr, body: "You are near the destination".tr, isTopic: false, // Important: this is a token tone: 'ding', @@ -1673,6 +1907,7 @@ class MapDriverController extends GetxController { box.read(BoxName.tokenDriver), paymentAmount.toString() ], + category: "You are near the destination", ); // يمكن إضافة أي إجراء آخر هنا عند الاقتراب من الوجهة } diff --git a/lib/controller/home/captin/order_request_controller.dart b/lib/controller/home/captin/order_request_controller.dart index b6451d9..592803d 100755 --- a/lib/controller/home/captin/order_request_controller.dart +++ b/lib/controller/home/captin/order_request_controller.dart @@ -224,13 +224,13 @@ class OrderRequestController extends GetxController { 'status': 'Refused', 'driver_id': box.read(BoxName.driverID), }); - if (AppLink.endPoint != AppLink.seferCairoServer) { - CRUD().post(link: '${AppLink.endPoint}/rides/update.php', payload: { - 'id': (orderID), - 'status': 'Refused', - 'driver_id': box.read(BoxName.driverID), - }); - } + // if (AppLink.endPoint != AppLink.seferCairoServer) { + // CRUD().post(link: '${AppLink.endPoint}/rides/update.php', payload: { + // 'id': (orderID), + // 'status': 'Refused', + // 'driver_id': box.read(BoxName.driverID), + // }); + // } update(); } @@ -264,24 +264,5 @@ class OrderRequestController extends GetxController { 'distance': distance, 'duration': duration, }); - if (AppLink.endPoint != AppLink.seferCairoServer) { - CRUD().post( - link: '${AppLink.endPoint}/notificationCaptain/addWaitingRide.php', - payload: { - 'id': (orderID), - 'start_location': startLocation, - 'end_location': endLocation, - 'date': date, - 'time': time, - 'price': price, - 'passenger_id': (passengerId), - 'status': status, - 'carType': carType, - 'passengerRate': passengerRate, - 'price_for_passenger': priceForPassenger, - 'distance': distance, - 'duration': duration, - }); - } } } diff --git a/lib/controller/home/navigation/navigation_controller.dart b/lib/controller/home/navigation/navigation_controller.dart index 6faeec6..36f3242 100644 --- a/lib/controller/home/navigation/navigation_controller.dart +++ b/lib/controller/home/navigation/navigation_controller.dart @@ -1,19 +1,23 @@ import 'dart:async'; import 'dart:io'; import 'dart:math'; -import 'package:flutter/foundation.dart'; // <<<--- إضافة مهمة لاستخدام دالة compute +import 'dart:convert'; // <<<--- إضافة جديدة +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'package:http/http.dart' as http; // <<<--- إضافة جديدة import 'package:sefer_driver/constant/colors.dart'; -import 'package:sefer_driver/env/env.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; -// استخدام نفس مسارات الاستيراد التي قدمتها -import '../../../constant/api_key.dart'; +import '../../../constant/box_name.dart'; +import '../../../constant/country_polygons.dart'; import '../../../constant/links.dart'; +import '../../../env/env.dart'; +import '../../../main.dart'; import '../../../print.dart'; -import '../../functions/crud.dart'; +// import '../../functions/crud.dart'; // <<<--- تم إلغاء الاعتماد عليه import '../../functions/tts.dart'; import 'decode_polyline_isolate.dart'; @@ -33,9 +37,8 @@ class NavigationController extends GetxController { BitmapDescriptor destinationIcon = BitmapDescriptor.defaultMarker; // --- متغيرات النظام الذكي للتحديث --- - Timer? _locationUpdateTimer; // المؤقت الرئيسي للتحكم في التحديثات - Duration _currentUpdateInterval = - const Duration(seconds: 2); // القيمة الافتراضية + Timer? _locationUpdateTimer; + Duration _currentUpdateInterval = const Duration(seconds: 2); // --- متغيرات البحث عن الأماكن --- List placesDestination = []; @@ -45,16 +48,22 @@ class NavigationController extends GetxController { LatLng? _finalDestination; List> routeSteps = []; List _fullRouteCoordinates = []; - List> _stepPolylines = []; // لتخزين نقاط كل خطوة على حدة + List> _stepPolylines = []; bool _nextInstructionSpoken = false; String currentInstruction = ""; String nextInstruction = ""; int currentStepIndex = 0; + // <<<--- [تعديل] ---: متغير جديد لتتبع المسار المقطوع بدقة + int _lastTraveledIndexInFullRoute = 0; double currentSpeed = 0.0; String distanceToNextStep = ""; final List _stepBounds = []; + // --- ثوابت الـ API الجديد --- + static const String _routeApiBaseUrl = 'https://routec.intaleq.xyz/'; + static final String _routeApiKey = Env.mapKeyOsm; + @override void onInit() { super.onInit(); @@ -71,7 +80,7 @@ class NavigationController extends GetxController { @override void onClose() { - _locationUpdateTimer?.cancel(); // إيقاف المؤقت عند إغلاق الصفحة + _locationUpdateTimer?.cancel(); mapController?.dispose(); _debounce?.cancel(); placeDestinationController.dispose(); @@ -82,32 +91,100 @@ class NavigationController extends GetxController { // ١. النظام الذكي لتحديد الموقع والتحديث // ======================================================================= +// Helper function to check if a ray from the point intersects with a polygon segment + bool _rayIntersectsSegment(LatLng point, LatLng vertex1, LatLng vertex2) { + double px = point.longitude; + double py = point.latitude; + + double v1x = vertex1.longitude; + double v1y = vertex1.latitude; + double v2x = vertex2.longitude; + double v2y = vertex2.latitude; + + // Check if the point is outside the vertical bounds of the segment + if ((py < v1y && py < v2y) || (py > v1y && py > v2y)) { + return false; + } + + // Calculate the intersection of the ray and the segment + double intersectX = v1x + (py - v1y) * (v2x - v1x) / (v2y - v1y); + + // Check if the intersection is to the right of the point + return intersectX > px; + } + + // Function to check if the point is inside the polygon + bool isPointInPolygon(LatLng point, List polygon) { + int intersections = 0; + for (int i = 0; i < polygon.length; i++) { + LatLng vertex1 = polygon[i]; + LatLng vertex2 = + polygon[(i + 1) % polygon.length]; // Loop back to the start + + if (_rayIntersectsSegment(point, vertex1, vertex2)) { + intersections++; + } + } + + // If the number of intersections is odd, the point is inside + return intersections % 2 != 0; + } + + String getLocationArea(double latitude, double longitude) { + LatLng passengerPoint = LatLng(latitude, longitude); + + // 1. فحص الأردن + if (isPointInPolygon(passengerPoint, CountryPolygons.jordanBoundary)) { + box.write(BoxName.countryCode, 'Jordan'); + // يمكنك تعيين AppLink.endPoint هنا إذا كان منطقك الداخلي لا يزال يعتمد عليه + // box.write(BoxName.serverChosen, + // AppLink.IntaleqSyriaServer); // مثال: اختر سيرفر سوريا للبيانات + return 'Jordan'; + } + + // 2. فحص سوريا + if (isPointInPolygon(passengerPoint, CountryPolygons.syriaBoundary)) { + box.write(BoxName.countryCode, 'Syria'); + // box.write(BoxName.serverChosen, AppLink.IntaleqSyriaServer); + return 'Syria'; + } + + // 3. فحص مصر + if (isPointInPolygon(passengerPoint, CountryPolygons.egyptBoundary)) { + box.write(BoxName.countryCode, 'Egypt'); + // box.write(BoxName.serverChosen, AppLink.IntaleqAlexandriaServer); + return 'Egypt'; + } + + // 4. الافتراضي (إذا كان خارج المناطق المخدومة) + box.write(BoxName.countryCode, 'Jordan'); + // box.write(BoxName.serverChosen, AppLink.IntaleqSyriaServer); + return 'Unknown Location (Defaulting to Jordan)'; + } + Future _getCurrentLocationAndStartUpdates() async { try { Position position = await Geolocator.getCurrentPosition( desiredAccuracy: LocationAccuracy.high); myLocation = LatLng(position.latitude, position.longitude); + getLocationArea(myLocation!.latitude, myLocation!.longitude); update(); animateCameraToPosition(myLocation!); - // بدء التحديثات باستخدام المؤقت بدلاً من الـ Stream _startLocationTimer(); } catch (e) { print("Error getting location: $e"); } } - // --- تم استبدال الـ Stream بمؤقت للتحكم الكامل --- void _startLocationTimer() { - _locationUpdateTimer?.cancel(); // إلغاء أي مؤقت قديم + _locationUpdateTimer?.cancel(); _locationUpdateTimer = Timer.periodic(_currentUpdateInterval, (timer) { _updateLocationAndProcess(); }); } - // --- هذه الدالة هي التي تعمل الآن بشكل دوري --- Future _updateLocationAndProcess() async { try { - // طلب موقع واحد فقط عند كل مرة يعمل فيها المؤقت final position = await Geolocator.getCurrentPosition( desiredAccuracy: LocationAccuracy.high); myLocation = LatLng(position.latitude, position.longitude); @@ -131,27 +208,20 @@ class NavigationController extends GetxController { } } - // --- الدالة المسؤولة عن تغيير سرعة التحديث ديناميكياً --- void _adjustUpdateInterval() { if (currentStepIndex >= routeSteps.length) return; - final currentStepDistance = - routeSteps[currentStepIndex]['distance']['value']; + final currentStepDistance = routeSteps[currentStepIndex]['distance']; - // إذا كانت الخطوة الحالية طويلة (شارع سريع > 1.5 كم) if (currentStepDistance > 1500) { _currentUpdateInterval = const Duration(seconds: 4); - } - // إذا كانت الخطوة قصيرة (منعطفات داخل المدينة < 1.5 كم) - else { + } else { _currentUpdateInterval = const Duration(seconds: 2); } - // إعادة تشغيل المؤقت بالسرعة الجديدة _startLocationTimer(); } - // ... باقي دوال إعداد الخريطة ... void onMapCreated(GoogleMapController controller) { mapController = controller; if (myLocation != null) { @@ -193,11 +263,13 @@ class NavigationController extends GetxController { currentStepIndex >= routeSteps.length || _finalDestination == null) return; + // <<<--- [تعديل] ---: استدعاء الدالة الجديدة والمحسنة _updateTraveledPolyline(currentPosition); final step = routeSteps[currentStepIndex]; final endLatLng = LatLng(step['end_location']['lat'], step['end_location']['lng']); + final distance = Geolocator.distanceBetween( currentPosition.latitude, currentPosition.longitude, @@ -224,15 +296,12 @@ class NavigationController extends GetxController { void _advanceStep() { currentStepIndex++; if (currentStepIndex < routeSteps.length) { - currentInstruction = - _parseInstruction(routeSteps[currentStepIndex]['html_instructions']); + currentInstruction = routeSteps[currentStepIndex]['instruction_text']; nextInstruction = ((currentStepIndex + 1) < routeSteps.length) - ? _parseInstruction( - routeSteps[currentStepIndex + 1]['html_instructions']) + ? routeSteps[currentStepIndex + 1]['instruction_text'] : "الوجهة النهائية"; _nextInstructionSpoken = false; - // **هنا يتم تعديل سرعة التحديث عند الانتقال لخطوة جديدة** _adjustUpdateInterval(); if (currentStepIndex < _stepBounds.length) { @@ -244,7 +313,7 @@ class NavigationController extends GetxController { currentInstruction = "لقد وصلت إلى وجهتك."; nextInstruction = ""; distanceToNextStep = ""; - _locationUpdateTimer?.cancel(); // إيقاف التحديثات عند الوصول + _locationUpdateTimer?.cancel(); Get.find().speakText(currentInstruction); update(); } @@ -254,41 +323,51 @@ class NavigationController extends GetxController { // ٣. تحسين خوارزمية البحث ورسم المسار المقطوع // ======================================================================= + // <<<--- [تعديل] ---: تم إعادة كتابة الدالة بالكامل void _updateTraveledPolyline(LatLng currentPosition) { - // **التحسين:** البحث فقط في الخطوة الحالية والخطوة التالية - int searchEndIndex = (currentStepIndex + 1 < _stepPolylines.length) - ? currentStepIndex + 1 - : currentStepIndex; + // 1. التأكد من أن المسار الكامل محمل + if (_fullRouteCoordinates.isEmpty) return; - int overallClosestIndex = -1; double minDistance = double.infinity; + // 2. ابدأ البحث دائماً من النقطة الأخيرة التي تم الوصول إليها + int newClosestIndex = _lastTraveledIndexInFullRoute; - // البحث في نقاط الخطوة الحالية والتالية فقط - for (int i = currentStepIndex; i <= searchEndIndex; i++) { - for (int j = 0; j < _stepPolylines[i].length; j++) { - final distance = Geolocator.distanceBetween( - currentPosition.latitude, - currentPosition.longitude, - _stepPolylines[i][j].latitude, - _stepPolylines[i][j].longitude); - if (distance < minDistance) { - minDistance = distance; - // نحتاج إلى حساب الفهرس العام في القائمة الكاملة - overallClosestIndex = _getOverallIndex(i, j); - } + // 3. ابحث للأمام فقط (من آخر نقطة مسجلة إلى نهاية المسار) + for (int i = _lastTraveledIndexInFullRoute; + i < _fullRouteCoordinates.length; + i++) { + final point = _fullRouteCoordinates[i]; + final distance = Geolocator.distanceBetween( + currentPosition.latitude, + currentPosition.longitude, + point.latitude, + point.longitude, + ); + + if (distance < minDistance) { + minDistance = distance; + newClosestIndex = i; + } else if (distance > minDistance + 50) { + // 4. تحسين: إذا بدأت المسافة بالزيادة، فتوقف عن البحث + // هذا يعني أننا تجاوزنا أقرب نقطة (50 متر هامش أمان) + break; } } - if (overallClosestIndex == -1) return; + // 5. قم بتحديث آخر نقطة مسجلة + _lastTraveledIndexInFullRoute = newClosestIndex; + // 6. ارسم المسار المقطوع (من البداية إلى أقرب نقطة) List traveledPoints = - _fullRouteCoordinates.sublist(0, overallClosestIndex + 1); - traveledPoints.add(currentPosition); + _fullRouteCoordinates.sublist(0, newClosestIndex + 1); + traveledPoints.add(currentPosition); // أضف الموقع الحالي لنعومة الخط + // 7. ارسم المسار المتبقي (من أقرب نقطة إلى النهاية) List remainingPoints = - _fullRouteCoordinates.sublist(overallClosestIndex); - remainingPoints.insert(0, currentPosition); + _fullRouteCoordinates.sublist(newClosestIndex); + remainingPoints.insert(0, currentPosition); // ابدأ من الموقع الحالي + // 8. تحديث الخطوط على الخريطة polylines.removeWhere((p) => p.polylineId.value == 'traveled_route'); polylines.add(Polyline( polylineId: const PolylineId('traveled_route'), @@ -306,33 +385,31 @@ class NavigationController extends GetxController { )); } - // دالة مساعدة لحساب الفهرس العام - int _getOverallIndex(int stepIndex, int pointInStepIndex) { - int overallIndex = 0; - for (int i = 0; i < stepIndex; i++) { - overallIndex += _stepPolylines[i].length; - } - return overallIndex + pointInStepIndex; - } + // <<<--- [إلغاء] ---: لم نعد بحاجة لهذه الدالة المعقدة + // int _getOverallIndex(int stepIndex, int pointInStepIndex) { + // int overallIndex = 0; + // for (int i = 0; i < stepIndex; i++) { + // overallIndex += _stepPolylines[i].length; + // } + // return overallIndex + pointInStepIndex; + // } // ======================================================================= // ٤. دوال مساعدة وتجهيز البيانات // ======================================================================= - // <<<--- التعديل الأول: تغيير الدالة لتكون async Future _prepareStepData() async { _stepBounds.clear(); _stepPolylines.clear(); if (routeSteps.isEmpty) return; for (final step in routeSteps) { - final pointsString = step['polyline']['points']; - // <<<--- التعديل الثاني: استخدام compute لفك التشفير في خيط منفصل - // وتصحيح طريقة التعامل مع القائمة المُرجعة + final pointsString = step['geometry']; + final List polylineCoordinates = await compute( decodePolylineIsolate as ComputeCallback>, pointsString); - _stepPolylines.add(polylineCoordinates); // تخزين نقاط الخطوة + _stepPolylines.add(polylineCoordinates); _stepBounds.add(_boundsFromLatLngList(polylineCoordinates)); } } @@ -400,73 +477,97 @@ class NavigationController extends GetxController { } } + // --- (تعديل) ---: تم تعديل الدالة لاستخدام http.get Future getRoute(LatLng origin, LatLng destination) async { - final String key = Env.mapAPIKEY; final url = - '${AppLink.googleMapsLink}directions/json?language=ar&destination=${destination.latitude},${destination.longitude}&origin=${origin.latitude},${origin.longitude}&key=${key}&mode=driving'; - var response = await CRUD().getGoogleApi(link: url, payload: {}); - // Log.print('response: ${response}'); + '$_routeApiBaseUrl/route?origin=${origin.latitude},${origin.longitude}&destination=${destination.latitude},${destination.longitude}&steps=true&overview=full'; - if (response == null || response['routes'].isEmpty) { - Get.snackbar('خطأ', 'لم يتم العثور على مسار.'); - return; + try { + final response = await http.get( + Uri.parse(url), + headers: {'X-API-KEY': _routeApiKey}, + ); + + if (response.statusCode != 200) { + print("Error from route API: ${response.statusCode}"); + Get.snackbar('خطأ', 'لم يتم العثور على مسار.'); + return; + } + + final responseData = jsonDecode(response.body); + + if (responseData == null || responseData['status'] != 'ok') { + Get.snackbar('خطأ', 'لم يتم العثور على مسار.'); + return; + } + + polylines.clear(); + final pointsString = responseData['polyline']; + + _fullRouteCoordinates = await compute( + decodePolylineIsolate as ComputeCallback>, + pointsString); + + // <<<--- [تعديل] ---: تصفير الـ index عند بدء مسار جديد + _lastTraveledIndexInFullRoute = 0; + + polylines.add( + Polyline( + polylineId: const PolylineId('remaining_route'), + points: _fullRouteCoordinates, + color: const Color(0xFF4A80F0), + width: 7, + startCap: Cap.roundCap, + endCap: Cap.roundCap, + ), + ); + polylines.add( + const Polyline( + polylineId: PolylineId('traveled_route'), + points: [], + color: Colors.grey, + width: 7, + ), + ); + + routeSteps = List>.from(responseData['steps']); + await _prepareStepData(); + + for (int i = 0; i < routeSteps.length; i++) { + var step = routeSteps[i]; + if (i < _stepPolylines.length && _stepPolylines[i].isNotEmpty) { + LatLng endLocation = _stepPolylines[i].last; + step['end_location'] = { + 'lat': endLocation.latitude, + 'lng': endLocation.longitude + }; + } else { + var loc = step['maneuver']['location']; // [lng, lat] + step['end_location'] = {'lat': loc[1], 'lng': loc[0]}; + } + step['instruction_text'] = _createInstructionFromManeuver(step); + } + + currentStepIndex = 0; + _nextInstructionSpoken = false; + if (routeSteps.isNotEmpty) { + currentInstruction = routeSteps[0]['instruction_text']; + nextInstruction = (routeSteps.length > 1) + ? routeSteps[1]['instruction_text'] + : "الوجهة النهائية"; + Get.find().speakText(currentInstruction); + } + _adjustUpdateInterval(); + + if (_fullRouteCoordinates.isNotEmpty) { + final bounds = _boundsFromLatLngList(_fullRouteCoordinates); + mapController + ?.animateCamera(CameraUpdate.newLatLngBounds(bounds, 100.0)); + } + } catch (e) { + print("Exception in getRoute: $e"); + Get.snackbar('خطأ', 'حدث خطأ في الشبكة.'); } - - polylines.clear(); - final pointsString = response['routes'][0]['overview_polyline']['points']; - - // <<<--- التعديل الثالث: استخدام compute هنا أيضًا للمسار الرئيسي - _fullRouteCoordinates = await compute( - decodePolylineIsolate as ComputeCallback>, - pointsString); - - polylines.add( - Polyline( - polylineId: const PolylineId('remaining_route'), - points: _fullRouteCoordinates, - color: const Color(0xFF4A80F0), - width: 7, - startCap: Cap.roundCap, - endCap: Cap.roundCap, - ), - ); - polylines.add( - const Polyline( - polylineId: PolylineId('traveled_route'), - points: [], - color: Colors.grey, - width: 7, - ), - ); - - routeSteps = List>.from( - response['routes'][0]['legs'][0]['steps']); - - // <<<--- التعديل الرابع: انتظار انتهاء الدالة بعد تحويلها إلى async - await _prepareStepData(); - - currentStepIndex = 0; - _nextInstructionSpoken = false; - if (routeSteps.isNotEmpty) { - currentInstruction = - _parseInstruction(routeSteps[0]['html_instructions']); - nextInstruction = (routeSteps.length > 1) - ? _parseInstruction(routeSteps[1]['html_instructions']) - : "الوجهة النهائية"; - Get.find().speakText(currentInstruction); - } - _adjustUpdateInterval(); // تحديد سرعة التحديث لأول مرة - - final boundsData = response['routes'][0]['bounds']; - mapController?.animateCamera(CameraUpdate.newLatLngBounds( - LatLngBounds( - northeast: LatLng( - boundsData['northeast']['lat'], boundsData['northeast']['lng']), - southwest: LatLng( - boundsData['southwest']['lat'], boundsData['southwest']['lng']), - ), - 100.0, - )); } Future recalculateRoute() async { @@ -501,7 +602,10 @@ class NavigationController extends GetxController { _fullRouteCoordinates.clear(); _stepPolylines.clear(); _nextInstructionSpoken = false; - _locationUpdateTimer?.cancel(); // إيقاف التحديثات عند إلغاء المسار + _locationUpdateTimer?.cancel(); + + // <<<--- [تعديل] ---: تصفير الـ index عند إلغاء المسار + _lastTraveledIndexInFullRoute = 0; update(); } @@ -530,14 +634,77 @@ class NavigationController extends GetxController { const ImageConfiguration(size: Size(25, 25)), 'assets/images/b.png'); } - String _parseInstruction(String html) => - html.replaceAll(RegExp(r'<[^>]*>'), ' '); + String _createInstructionFromManeuver(Map step) { + final maneuver = step['maneuver']; + final type = maneuver['type'] ?? 'continue'; + final modifier = maneuver['modifier'] ?? 'straight'; + final name = step['name'] ?? ''; + + String instruction = ""; + + switch (type) { + case 'depart': + instruction = "انطلق"; + break; + case 'arrive': + instruction = "لقد وصلت إلى وجهتك"; + if (name.isNotEmpty) instruction += "، $name"; + return instruction; + case 'turn': + case 'fork': + case 'off ramp': + case 'on ramp': + case 'roundabout': + instruction = _getTurnInstruction(modifier); + break; + case 'continue': + instruction = "استمر"; + break; + default: + instruction = "اتجه"; + } + + if (name.isNotEmpty) { + if (instruction == "استمر") { + instruction += " على $name"; + } else { + instruction += " إلى $name"; + } + } else if (type == 'continue' && modifier == 'straight') { + instruction = "استمر بشكل مستقيم"; + } + + return instruction; + } + + String _getTurnInstruction(String modifier) { + switch (modifier) { + case 'uturn': + return "قم بالاستدارة والعودة"; + case 'sharp right': + return "انعطف يمينًا بحدة"; + case 'right': + return "انعطف يمينًا"; + case 'slight right': + return "انعطف يمينًا قليلاً"; + case 'straight': + return "استمر بشكل مستقيم"; + case 'slight left': + return "انعطف يسارًا قليلاً"; + case 'left': + return "انعطف يسارًا"; + case 'sharp left': + return "انعطف يسارًا بحدة"; + default: + return "اتجه"; + } + } // ======================================================================= // ٥. دالة البحث عن الأماكن المحدثة والدوال المساعدة لها // ======================================================================= - /// الدالة المحدثة للبحث عن الأماكن + // --- (تعديل) ---: تم تعديل الدالة لاستخدام http.post Future getPlaces() async { final q = placeDestinationController.text.trim(); if (q.isEmpty || q.length < 3) { @@ -546,7 +713,6 @@ class NavigationController extends GetxController { return; } - // التأكد من أن الموقع الحالي ليس null if (myLocation == null) { print('myLocation is null, cannot search for places.'); return; @@ -554,58 +720,53 @@ class NavigationController extends GetxController { final lat = myLocation!.latitude; final lng = myLocation!.longitude; - - // نصف قطر البحث بالكيلومتر const radiusKm = 200.0; - - // حساب النطاق الجغرافي (Bounding Box) لإرساله للسيرفر final latDelta = _kmToLatDelta(radiusKm); final lngDelta = _kmToLngDelta(radiusKm, lat); - final latMin = lat - latDelta; final latMax = lat + latDelta; final lngMin = lng - lngDelta; final lngMax = lng + lngDelta; - try { - // استدعاء الـ API - final response = await CRUD().post( - link: AppLink.getPlacesSyria, - payload: { - 'query': q, - 'lat_min': latMin.toString(), - 'lat_max': latMax.toString(), - 'lng_min': lngMin.toString(), - 'lng_max': lngMax.toString(), - }, - ); + // تجهيز البيانات لإرسالها كـ JSON + final payload = { + 'query': q, + 'lat_min': latMin.toString(), + 'lat_max': latMax.toString(), + 'lng_min': lngMin.toString(), + 'lng_max': lngMax.toString(), + }; + + try { + final response = + await CRUD().post(link: AppLink.getPlacesSyria, payload: payload); + // إرسال البيانات كـ JSON + + final responseData = (response); - // معالجة الاستجابة من السيرفر بشكل يوافق {"status":"success", "message":[...]} List list; - if (response is Map) { - if (response['status'] == 'success' && response['message'] is List) { - list = List.from(response['message'] as List); - } else if (response['status'] == 'failure') { - print('Server Error: ${response['message']}'); + if (responseData is Map) { + if (responseData['status'] == 'success' && + responseData['message'] is List) { + list = List.from(responseData['message'] as List); + } else if (responseData['status'] == 'failure') { + print('Server Error: ${responseData['message']}'); return; } else { print('Unexpected Map shape from server'); return; } - } else if (response is List) { - // للتعامل مع الحالات التي قد يرجع فيها السيرفر قائمة مباشرة - list = List.from(response); + } else if (responseData is List) { + list = List.from(responseData); } else { print('Unexpected response shape from server'); return; } - // دالة مساعدة لاختيار أفضل اسم متاح String _bestName(Map p) { return (p['name_ar'] ?? p['name'] ?? p['name_en'] ?? '').toString(); } - // حساب المسافة والصلة والنقاط النهائية لكل نتيجة for (final p in list) { final plat = double.tryParse(p['latitude']?.toString() ?? '0.0') ?? 0.0; final plng = @@ -613,8 +774,6 @@ class NavigationController extends GetxController { final distance = _haversineKm(lat, lng, plat, plng); final relevance = _relevanceScore(_bestName(p), q); - - // معادلة الترتيب: (الأولوية للمسافة الأقرب) * (ثم الصلة الأعلى) final score = (1.0 / (1.0 + distance)) * (1.0 + relevance); p['distanceKm'] = distance; @@ -622,7 +781,6 @@ class NavigationController extends GetxController { p['score'] = score; } - // ترتيب القائمة النهائية حسب النقاط (الأعلى أولاً) list.sort((a, b) { final sa = (a['score'] ?? 0.0) as double; final sb = (b['score'] ?? 0.0) as double; @@ -646,9 +804,8 @@ class NavigationController extends GetxController { // --== دوال مساعدة (محدثة) ==-- // ----------------------------------------------------------------- - /// تحسب المسافة بين نقطتين بالكيلومتر (معادلة هافرساين) double _haversineKm(double lat1, double lon1, double lat2, double lon2) { - const R = 6371.0; // نصف قطر الأرض بالكيلومتر + const R = 6371.0; final dLat = (lat2 - lat1) * (pi / 180.0); final dLon = (lon2 - lon1) * (pi / 180.0); final rLat1 = lat1 * (pi / 180.0); @@ -660,23 +817,20 @@ class NavigationController extends GetxController { return R * c; } - /// تحسب درجة تطابق بسيطة بين اسم المكان وكلمة البحث double _relevanceScore(String placeName, String query) { if (placeName.isEmpty || query.isEmpty) return 0.0; final pLower = placeName.toLowerCase(); final qLower = query.toLowerCase(); - if (pLower.startsWith(qLower)) return 1.0; // تطابق كامل في البداية - if (pLower.contains(qLower)) return 0.5; // تحتوي على الكلمة + if (pLower.startsWith(qLower)) return 1.0; + if (pLower.contains(qLower)) return 0.5; return 0.0; } - /// تحويل كيلومتر إلى فرق درجات لخط العرض double _kmToLatDelta(double km) { const kmInDegree = 111.32; return km / kmInDegree; } - /// تحويل كيلومتر إلى فرق درجات لخط الطول (يعتمد على خط العرض الحالي) double _kmToLngDelta(double km, double latitude) { const kmInDegree = 111.32; return km / (kmInDegree * cos(latitude * (pi / 180.0))); diff --git a/lib/controller/home/navigation/navigation_view.dart b/lib/controller/home/navigation/navigation_view.dart index c982c44..9d98b46 100644 --- a/lib/controller/home/navigation/navigation_view.dart +++ b/lib/controller/home/navigation/navigation_view.dart @@ -1,19 +1,22 @@ -// lib/views/navigation_view.dart - import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; -import 'dart:ui'; +import 'dart:ui'; // For BackdropFilter -import 'navigation_controller.dart'; // For BackdropFilter +import 'navigation_controller.dart'; -// استخدام نفس مسار الاستيراد الذي قدمته +// ملاحظة: افترضتُ أن لديك لوناً أساسياً في هذا الملف +// import 'package:sefer_driver/constant/colors.dart'; +// سأستخدم اللون الأزرق كبديل مؤقت +const Color kPrimaryColor = Color(0xFF0D47A1); class NavigationView extends StatelessWidget { const NavigationView({super.key}); @override Widget build(BuildContext context) { + // استخدام Get.find() بدلاً من Get.put() لضمان أن الكونترولر مُهيأ مسبقاً + // إذا كانت هذه هي نقطة الدخول، Get.put() صحيح. final NavigationController controller = Get.put(NavigationController()); return Scaffold( @@ -23,7 +26,6 @@ class NavigationView extends StatelessWidget { // --- الخريطة --- GoogleMap( onMapCreated: controller.onMapCreated, - // --- السطر المضاف والمهم هنا --- onLongPress: controller.onMapLongPressed, initialCameraPosition: CameraPosition( target: controller.myLocation ?? @@ -37,27 +39,33 @@ class NavigationView extends StatelessWidget { compassEnabled: false, zoomControlsEnabled: false, // تعديل الـ padding لإعطاء مساحة للعناصر العلوية والسفلية + // مساحة أكبر في الأعلى للبحث + النتائج، ومساحة أكبر بالأسفل للملاحة padding: EdgeInsets.only( - bottom: controller.currentInstruction.isNotEmpty ? 130 : 0, - top: 140), + bottom: controller.currentInstruction.isNotEmpty ? 170 : 0, + top: 150, + ), ), - // --- واجهة البحث ونتائجه --- - _buildSearchUI(controller), + // --- واجهة البحث (تصميم زجاجي) --- + _buildGlassSearchUI(controller), - // --- إرشادات الملاحة المطورة --- + // --- إرشادات الملاحة (تصميم عائم) --- if (controller.currentInstruction.isNotEmpty) - _buildNavigationInstruction(controller), + _buildFloatingNavigationUI(controller), - // --- أزرار التحكم على الخريطة --- - _buildMapControls(controller), + // --- أزرار التحكم (تصميم عائم) --- + _buildFloatingMapControls(controller), // --- مؤشر التحميل --- if (controller.isLoading) Container( color: Colors.black.withOpacity(0.5), child: const Center( - child: CircularProgressIndicator(color: Colors.white)), + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation(Colors.white), + strokeWidth: 3, + ), + ), ), ], ), @@ -65,94 +73,75 @@ class NavigationView extends StatelessWidget { ); } - // --- ويدجت خاصة بواجهة البحث --- - Widget _buildSearchUI(NavigationController controller) { + /// --- 1. واجهة البحث بالتصميم الزجاجي المطور --- + Widget _buildGlassSearchUI(NavigationController controller) { return Positioned( top: 0, left: 0, right: 0, child: SafeArea( child: Padding( - padding: const EdgeInsets.all(12.0), + padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0), child: Column( children: [ - Container( - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(15.0), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.15), - blurRadius: 10, - offset: const Offset(0, 5), + // --- شريط البحث --- + ClipRRect( + borderRadius: BorderRadius.circular(28.0), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0), + child: Container( + height: 56, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.85), + borderRadius: BorderRadius.circular(28.0), + border: Border.all(color: Colors.white.withOpacity(0.4)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 15, + offset: const Offset(0, 5), + ), + ], + ), + child: Row( + children: [ + const Padding( + padding: EdgeInsets.only(left: 18.0, right: 10.0), + child: Icon(Icons.search, + color: kPrimaryColor, size: 24), + ), + Expanded( + child: TextField( + controller: controller.placeDestinationController, + onChanged: controller.onSearchChanged, + textInputAction: TextInputAction.search, + style: const TextStyle( + fontSize: 16, color: Colors.black87), + decoration: InputDecoration( + hintText: 'إلى أين تريد الذهاب؟', + hintStyle: const TextStyle( + color: Colors.black45, fontSize: 16), + border: InputBorder.none, + contentPadding: const EdgeInsets.only(bottom: 2), + ), + ), + ), + // زر المسح أو إلغاء المسار + if (controller + .placeDestinationController.text.isNotEmpty) + _buildClearButton(controller) + else if (controller.polylines.isNotEmpty) + _buildCancelRouteButton(controller), + ], ), - ], - ), - child: TextField( - controller: controller.placeDestinationController, - onChanged: (val) { - controller.onSearchChanged(val); - }, - decoration: InputDecoration( - hintText: 'إلى أين تريد الذهاب؟', - prefixIcon: const Icon(Icons.search, color: Colors.grey), - suffixIcon: controller - .placeDestinationController.text.isNotEmpty - ? IconButton( - icon: const Icon(Icons.clear, color: Colors.grey), - onPressed: () { - controller.placeDestinationController.clear(); - controller.placesDestination = []; - controller.update(); - }, - ) - : (controller.polylines.isNotEmpty - ? IconButton( - icon: - const Icon(Icons.close, color: Colors.red), - tooltip: 'إلغاء المسار', - onPressed: () => controller.clearRoute(), - ) - : null), - border: InputBorder.none, - contentPadding: const EdgeInsets.symmetric( - horizontal: 20, vertical: 15), ), ), ), - const SizedBox(height: 8), + const SizedBox(height: 10), + + // --- قائمة النتائج --- if (controller.placesDestination.isNotEmpty) - ClipRRect( - borderRadius: BorderRadius.circular(15.0), - child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), - child: Container( - constraints: const BoxConstraints(maxHeight: 220), - decoration: BoxDecoration( - color: Colors.white.withOpacity(0.85), - borderRadius: BorderRadius.circular(15.0), - ), - child: ListView.builder( - padding: EdgeInsets.zero, - shrinkWrap: true, - itemCount: controller.placesDestination.length, - itemBuilder: (context, index) { - final place = controller.placesDestination[index]; - return ListTile( - title: Text(place['name'] ?? 'اسم غير معروف', - style: const TextStyle( - fontWeight: FontWeight.bold)), - subtitle: Text(place['address'] ?? '', - maxLines: 1, overflow: TextOverflow.ellipsis), - leading: const Icon(Icons.location_on_outlined, - color: Colors.blue), - onTap: () => controller.selectDestination(place), - ); - }, - ), - ), - ), - ), + _buildSearchResultsList(controller), ], ), ), @@ -160,28 +149,136 @@ class NavigationView extends StatelessWidget { ); } - // --- ويدجت خاصة بأزرار التحكم --- - Widget _buildMapControls(NavigationController controller) { + Widget _buildClearButton(NavigationController controller) { + return IconButton( + icon: const Icon(Icons.clear, color: Colors.grey, size: 22), + onPressed: () { + controller.placeDestinationController.clear(); + controller.placesDestination = []; + controller.update(); + }, + ); + } + + Widget _buildCancelRouteButton(NavigationController controller) { + return IconButton( + tooltip: 'إلغاء المسار', + icon: const Icon(Icons.close, color: Colors.redAccent, size: 22), + onPressed: () => controller.clearRoute(), + ); + } + + Widget _buildSearchResultsList(NavigationController controller) { + return ClipRRect( + borderRadius: BorderRadius.circular(24.0), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0), + child: Container( + constraints: const BoxConstraints(maxHeight: 220), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.85), + borderRadius: BorderRadius.circular(24.0), + border: Border.all(color: Colors.white.withOpacity(0.4)), + ), + child: ListView.builder( + padding: const EdgeInsets.symmetric(vertical: 8.0), + itemCount: controller.placesDestination.length, + itemBuilder: (context, index) { + final place = controller.placesDestination[index]; + final distance = place['distanceKm'] as double?; + final address = (place['address'] ?? '').toString(); + + return Material( + color: Colors.transparent, + child: InkWell( + onTap: () => controller.selectDestination(place), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16.0, vertical: 12.0), + child: Row( + children: [ + // أيقونة الموقع + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: kPrimaryColor.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: const Icon(Icons.location_on_outlined, + color: kPrimaryColor, size: 20), + ), + const SizedBox(width: 14), + // الاسم والعنوان + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + place['name'] ?? 'اسم غير معروف', + style: const TextStyle( + fontWeight: FontWeight.w600, + fontSize: 16, + color: Colors.black87), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + if (address.isNotEmpty) + Text( + address, + style: const TextStyle( + color: Colors.black54, fontSize: 13), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ), + const SizedBox(width: 10), + // المسافة + if (distance != null) + Text( + '${distance.toStringAsFixed(1)} كم', + style: const TextStyle( + color: kPrimaryColor, + fontWeight: FontWeight.w500, + fontSize: 13, + ), + ), + ], + ), + ), + ), + ); + }, + ), + ), + ), + ); + } + + /// --- 2. أزرار التحكم بالتصميم العائم --- + Widget _buildFloatingMapControls(NavigationController controller) { return Positioned( - bottom: controller.currentInstruction.isNotEmpty ? 150 : 20, - right: 12, + // اجعلها تطفو فوق لوحة الملاحة + bottom: controller.currentInstruction.isNotEmpty ? 190 : 24, + right: 16, child: Column( children: [ if (controller.polylines.isNotEmpty) ...[ FloatingActionButton( heroTag: 'rerouteBtn', - mini: true, backgroundColor: Colors.white, - tooltip: 'إعادة حساب المسار', + elevation: 6, onPressed: () => controller.recalculateRoute(), - child: const Icon(Icons.sync_alt, color: Colors.blue), + tooltip: 'إعادة حساب المسار', + child: const Icon(Icons.sync_alt, color: kPrimaryColor, size: 24), ), - const SizedBox(height: 10), + const SizedBox(height: 12), ], FloatingActionButton( heroTag: 'gpsBtn', - mini: true, backgroundColor: Colors.white, + elevation: 6, onPressed: () { if (controller.myLocation != null) { controller.animateCameraToPosition( @@ -191,102 +288,134 @@ class NavigationView extends StatelessWidget { ); } }, - child: const Icon(Icons.gps_fixed, color: Colors.black54), + child: const Icon(Icons.gps_fixed, color: Colors.black54, size: 24), ), ], ), ); } - // --- ويدجت خاصة بإرشادات الطريق المطورة --- - Widget _buildNavigationInstruction(NavigationController controller) { + /// --- 3. واجهة الملاحة بالتصميم العائم المطور --- + Widget _buildFloatingNavigationUI(NavigationController controller) { return Positioned( - bottom: 0, - left: 0, - right: 0, + bottom: 16, + left: 16, + right: 16, child: Container( decoration: BoxDecoration( - gradient: LinearGradient( - colors: [Colors.blue.shade900, Colors.blue.shade600], - begin: Alignment.topLeft, - end: Alignment.bottomRight, + gradient: const LinearGradient( + colors: [Color(0xFF1E88E5), Color(0xFF0D47A1)], // أزرق متدرج + begin: Alignment.topCenter, + end: Alignment.bottomCenter, ), + borderRadius: BorderRadius.circular(28), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.2), - blurRadius: 15, - offset: const Offset(0, -5), + color: Colors.black.withOpacity(0.3), + blurRadius: 25, + offset: const Offset(0, 10), ), ], - borderRadius: const BorderRadius.only( - topLeft: Radius.circular(20), - topRight: Radius.circular(20), - ), ), child: Padding( - padding: const EdgeInsets.fromLTRB(16, 16, 16, 20), + padding: const EdgeInsets.fromLTRB(22, 20, 22, 22), child: Column( mainAxisSize: MainAxisSize.min, children: [ - // --- الصف العلوي: السرعة والمسافة --- + // --- الصف العلوي: الإرشاد والمسافة --- Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, children: [ + // الأيقونة + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + shape: BoxShape.circle, + ), + child: const Icon(Icons.navigation_rounded, + color: Colors.white, size: 28), + ), + const SizedBox(width: 16), + // الإرشاد + Expanded( + child: Text( + controller.currentInstruction, + style: const TextStyle( + color: Colors.white, + fontSize: 22, + fontWeight: FontWeight.bold, + height: 1.3, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + const SizedBox(width: 16), + // المسافة Text( controller.distanceToNextStep, style: const TextStyle( - color: Colors.white, - fontSize: 28, - fontWeight: FontWeight.bold), + color: Colors.white, + fontSize: 32, + fontWeight: FontWeight.bold, + ), ), + ], + ), + + // --- فاصل --- + if (controller.nextInstruction.isNotEmpty || + controller.currentSpeed > 0) + const Padding( + padding: EdgeInsets.symmetric(vertical: 14.0), + child: Divider(color: Colors.white30, height: 1), + ), + + // --- الصف السفلي: الإرشاد التالي والسرعة --- + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // الإرشاد التالي + Expanded( + child: controller.nextInstruction.isNotEmpty + ? Text( + 'التالي: ${controller.nextInstruction}', + style: const TextStyle( + color: Colors.white70, + fontSize: 15, + fontWeight: FontWeight.w500, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ) + : const SizedBox(), // يترك مساحة فارغة إذا لم يكن هناك إرشاد تالي + ), + + // السرعة Row( children: [ Text( controller.currentSpeed.toStringAsFixed(0), style: const TextStyle( - color: Colors.white, - fontSize: 28, - fontWeight: FontWeight.bold), + color: Colors.white, + fontSize: 22, + fontWeight: FontWeight.bold, + ), ), - const SizedBox(width: 4), + const SizedBox(width: 6), const Text( - "كم/س", - style: TextStyle(color: Colors.white70, fontSize: 14), + 'كم/س', + style: TextStyle( + color: Colors.white70, + fontSize: 14, + fontWeight: FontWeight.w500, + ), ), ], ), ], ), - const Divider(color: Colors.white38, height: 20, thickness: 0.8), - // --- الصف السفلي: الإرشاد القادم --- - Row( - children: [ - const Icon(Icons.navigation_rounded, - color: Colors.white, size: 32), - const SizedBox(width: 15), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text("الخطوة التالية", - style: - TextStyle(color: Colors.white70, fontSize: 12)), - Text( - controller.nextInstruction.isNotEmpty - ? controller.nextInstruction - : controller.currentInstruction, - style: const TextStyle( - color: Colors.white, - fontSize: 18, - fontWeight: FontWeight.bold), - overflow: TextOverflow.ellipsis, - ), - ], - ), - ), - ], - ), ], ), ), diff --git a/lib/controller/home/navigation/route_matcher_worker.dart b/lib/controller/home/navigation/route_matcher_worker.dart new file mode 100644 index 0000000..7ff3bc0 --- /dev/null +++ b/lib/controller/home/navigation/route_matcher_worker.dart @@ -0,0 +1,145 @@ +// lib/controllers/navigation/route_matcher_worker.dart +import 'dart:async'; +import 'dart:isolate'; +import 'dart:typed_data'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'dart:math'; + +/// Worker entrypoint (spawnUri/spawn). +/// Messages: +/// - init: {'type':'init','coords': Float64List} +/// - match: {'type':'match','id': int, 'lat': double, 'lng': double, 'lastIndex': int, 'window': int} +/// - dispose: {'type':'dispose'} +/// +/// Responses are sent back as Map via SendPort: +/// - {'type':'ready'} +/// - {'type':'matchResult','id': id, 'index': overallIndex, 'lat': lat, 'lng': lng, 'dist': meters} +void routeMatcherIsolateEntry(SendPort sendPort) { + final ReceivePort port = ReceivePort(); + sendPort.send({'type': 'ready', 'port': port.sendPort}); + + Float64List? flat; // [lat,lng,lat,lng,...] + int nPoints = 0; + + port.listen((dynamic message) { + try { + if (message is Map) { + final type = message['type'] as String? ?? ''; + if (type == 'init') { + final data = message['coords'] as Float64List?; + if (data != null) { + flat = data; + nPoints = flat!.length ~/ 2; + sendPort.send({'type': 'inited', 'points': nPoints}); + } else { + sendPort.send({'type': 'error', 'message': 'init missing coords'}); + } + } else if (type == 'match') { + if (flat == null) { + sendPort.send({'type': 'error', 'message': 'not inited'}); + return; + } + final int id = message['id'] as int; + final double lat = (message['lat'] as num).toDouble(); + final double lng = (message['lng'] as num).toDouble(); + final int lastIndex = (message['lastIndex'] as int?) ?? 0; + final int window = (message['window'] as int?) ?? 120; + + final result = + _findClosestWindowInternal(flat!, lat, lng, lastIndex, window); + sendPort.send({ + 'type': 'matchResult', + 'id': id, + 'index': result['index'], + 'lat': result['lat'], + 'lng': result['lng'], + 'dist': result['dist'] + }); + } else if (type == 'dispose') { + port.close(); + sendPort.send({'type': 'disposed'}); + } else { + sendPort.send({'type': 'error', 'message': 'unknown message type'}); + } + } + } catch (e, st) { + sendPort.send( + {'type': 'error', 'message': e.toString(), 'stack': st.toString()}); + } + }); +} + +/// Internal helper: projection on segments, windowed search. +/// Returns Map {index, lat, lng, dist} +Map _findClosestWindowInternal( + Float64List flat, double lat, double lng, int lastIndex, int window) { + final int n = flat.length ~/ 2; + final int start = max(0, lastIndex - window); + final int end = min(n - 1, lastIndex + window); + + double minDist = double.infinity; + int bestIdx = lastIndex; + double bestLat = flat[lastIndex * 2]; + double bestLng = flat[lastIndex * 2 + 1]; + + for (int i = start; i < end; i++) { + final double aLat = flat[i * 2]; + final double aLng = flat[i * 2 + 1]; + final double bLat = flat[(i + 1) * 2]; + final double bLng = flat[(i + 1) * 2 + 1]; + + final proj = _closestPointOnSegmentLatLng(lat, lng, aLat, aLng, bLat, bLng); + final double d = proj['dist'] as double; + if (d < minDist) { + minDist = d; + bestLat = proj['lat'] as double; + bestLng = proj['lng'] as double; + // choose overall index: i or i+1 depending on t + final double t = proj['t'] as double; + bestIdx = i + (t > 0.5 ? 1 : 0); + } + } + + return {'index': bestIdx, 'lat': bestLat, 'lng': bestLng, 'dist': minDist}; +} + +/// Projection math on geodetic points approximated in degrees (good for short distances). +Map _closestPointOnSegmentLatLng( + double px, double py, double ax, double ay, double bx, double by) { + // Here px=lat, py=lng; ax=lat, ay=lng, etc. + final double x0 = px; + final double y0 = py; + final double x1 = ax; + final double y1 = ay; + final double x2 = bx; + final double y2 = by; + + final double dx = x2 - x1; + final double dy = y2 - y1; + double t = 0.0; + final double len2 = dx * dx + dy * dy; + if (len2 > 0) { + t = ((x0 - x1) * dx + (y0 - y1) * dy) / len2; + if (t < 0) t = 0; + if (t > 1) t = 1; + } + final double projX = x1 + t * dx; + final double projY = y1 + t * dy; + + final double distMeters = _haversineDistanceMeters(x0, y0, projX, projY); + return {'lat': projX, 'lng': projY, 't': t, 'dist': distMeters}; +} + +/// Haversine distance (meters) +double _haversineDistanceMeters( + double lat1, double lng1, double lat2, double lng2) { + final double R = 6371000.0; + final double dLat = _deg2rad(lat2 - lat1); + final double dLon = _deg2rad(lng2 - lng1); + final double a = sin(dLat / 2) * sin(dLat / 2) + + cos(_deg2rad(lat1)) * cos(_deg2rad(lat2)) * sin(dLon / 2) * sin(dLon / 2); + final double c = 2 * atan2(sqrt(a), sqrt(1 - a)); + return R * c; +} + +double _deg2rad(double deg) => deg * pi / 180.0; diff --git a/lib/controller/home/payment/captain_wallet_controller.dart b/lib/controller/home/payment/captain_wallet_controller.dart index e465bae..de1b098 100755 --- a/lib/controller/home/payment/captain_wallet_controller.dart +++ b/lib/controller/home/payment/captain_wallet_controller.dart @@ -307,7 +307,7 @@ class CaptainWalletController extends GetxController { isTopic: false, // Important: this is a token tone: 'ding', - driverList: [], + driverList: [], category: 'Transfer', ); await addSeferWallet('payout fee', '5'); diff --git a/lib/controller/home/splash_screen_controlle.dart b/lib/controller/home/splash_screen_controlle.dart index 90f6231..da3d7cf 100755 --- a/lib/controller/home/splash_screen_controlle.dart +++ b/lib/controller/home/splash_screen_controlle.dart @@ -10,6 +10,8 @@ import 'package:sefer_driver/views/home/on_boarding_page.dart'; import '../../constant/box_name.dart'; import '../../main.dart'; import '../../print.dart'; +import '../functions/encrypt_decrypt.dart'; +import '../functions/secure_storage.dart'; // Assuming you have a home page to navigate to after successful login. // If not, you might need to adjust the navigation target. @@ -92,33 +94,46 @@ class SplashScreenController extends GetxController /// is expected to be handled by an internal process (like login). Future _getNavigationTarget() async { try { - final onBoardingShown = box.read(BoxName.onBoarding) != null; - if (!onBoardingShown) { - return OnBoardingPage(); - } + // ... (التحقق من OnBoarding) final isDriverDataAvailable = box.read(BoxName.phoneDriver) != null; - final isPhoneVerified = box.read(BoxName.phoneVerified).toString() == '1'; + // final isPhoneVerified = box.read(BoxName.phoneVerified).toString() == '1'; // <-- ⛔️ تم حذف هذا السطر - if (isDriverDataAvailable && isPhoneVerified) { - Log.print('Attempting to log in with stored credentials...'); - final loginController = Get.put(LoginDriverController()); + final loginController = Get.put(LoginDriverController()); - // Assume loginWithGoogleCredential handles its own navigation on success. + // ✅ --- (الحل) --- + // تم حذف التحقق من "isPhoneVerified" + // هذا يسمح لـ "loginWithGoogleCredential" بتحديد الحالة والتوجيه الصحيح + // (إلى Home أو DriverVerificationScreen أو PhoneNumberScreen) + if (isDriverDataAvailable) { + Log.print('المستخدم مسجل. جارٍ تهيئة الجلسة...'); + + // الخطوة 1: ضمان جلب الـ JWT أولاً + // (هذا هو الكود الذي كان في main.dart) + final AppInitializer initializer = AppInitializer(); + await initializer.initializeApp(); + await EncryptionHelper.initialize(); + // انتظر حتى ينتهي جلب الـ JWT + + Log.print('تم جلب الـ JWT. جارٍ تسجيل الدخول ببيانات جوجل...'); + + // الخطوة 2: الآن قم بتسجيل الدخول وأنت متأكد أن الـ JWT موجود + // يجب تعديل "loginWithGoogleCredential" لتعيد "bool" (نجاح/فشل) await loginController.loginWithGoogleCredential( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver).toString(), ); - // *** FIX: Return null to signify that navigation has been handled. *** - return null; + // إذا نجح تسجيل الدخول (سواء لـ Home أو لـ DriverVerification) + // فإن "loginWithGoogleCredential" تقوم بالتوجيه بنفسها + // ونحن نُرجع "null" هنا لمنع "SplashScreen" من التوجيه مرة أخرى. } else { - Log.print('No valid driver session found. Navigating to login page.'); + Log.print('مستخدم غير مسجل. اذهب لصفحة الدخول.'); return LoginCaptin(); } } catch (e) { Log.print("Error during navigation logic: $e"); - // Fallback to the login page in case of any error. + // أي خطأ فادح (مثل خطأ في جلب الـ JWT) سيعيدك للدخول return LoginCaptin(); } } diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index d1a55d2..2a057c3 100755 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -49,6 +49,10 @@ class MyTranslation extends Translations { "يرجى البقاء في نقطة الالتقاط المحددة.", "message From Driver": "رسالة من السائق", "Trip is Begin": "بدأت الرحلة", + 'Rides': 'الرحلات', + 'Your Activity': 'نشاطك', + 'You have upload Criminal documents': 'لقد قمت بتحميل وثائق جنائية', + 'Close': 'إغلاق', "Cancel Trip from driver": "إلغاء الرحلة من السائق", "We will look for a new driver.\nPlease wait.": "هنبحث عن سائق جديد.\nمن فضلك انتظر.", diff --git a/lib/controller/notification/passenger_notification_controller.dart b/lib/controller/notification/passenger_notification_controller.dart index 48f86d0..92a70d5 100755 --- a/lib/controller/notification/passenger_notification_controller.dart +++ b/lib/controller/notification/passenger_notification_controller.dart @@ -58,11 +58,11 @@ class PassengerNotificationController extends GetxController { // .sendNotificationToPassengerToken(title, body, 'token', [], 'ding.wav'); NotificationService.sendNotification( target: 'token'.toString(), - title: title, + title: title.tr, body: body, isTopic: false, // Important: this is a token tone: 'ding', - driverList: [], + driverList: [], category: title, ); } diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index b5dcc72..7d0be79 100755 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -81,7 +81,7 @@ class RateController extends GetxController { body: 'Wallet Added${(remainingFee).toStringAsFixed(0)}'.tr, isTopic: false, // Important: this is a token tone: 'tone2', - driverList: [], + driverList: [], category: 'Wallet Added', ); walletChecked = 'true'; // } diff --git a/lib/env/env.dart b/lib/env/env.dart index 236a6e3..23da2e5 100755 --- a/lib/env/env.dart +++ b/lib/env/env.dart @@ -6,6 +6,8 @@ part 'env.g.dart'; abstract class Env { @EnviedField(varName: 'basicAuthCredentials', obfuscate: true) static final String basicAuthCredentials = _Env.basicAuthCredentials; + @EnviedField(varName: 'mapKeyOsm', obfuscate: true) + static final String mapKeyOsm = _Env.mapKeyOsm; @EnviedField(varName: 'mapAPIKEYIOS', obfuscate: true) static final String mapAPIKEYIOS = _Env.mapAPIKEYIOS; diff --git a/lib/env/env.g.dart b/lib/env/env.g.dart index 5b44783..6f461db 100644 --- a/lib/env/env.g.dart +++ b/lib/env/env.g.dart @@ -11,71 +11,71 @@ part of 'env.dart'; // generated_from: .env final class _Env { static const List _enviedkeybasicAuthCredentials = [ - 540034437, - 284547899, - 2480225776, - 4066237144, - 3775946748, - 1324462773, - 3014529052, - 1420520237, - 107869187, - 1684306855, - 2746960575, - 4032170293, - 1532247262, - 3890671632, - 3332734951, - 2388710455, - 2233334245, - 1143437529, - 3030620501, - 1500708851, - 1043763173, - 2197213744, - 215740061, - 3283880499, - 149885415, - 1831436492, - 4042371343, - 713751178, - 3015385071, - 3364032532, - 1263708655, + 3119662252, + 308341763, + 2015166535, + 3074198305, + 3116745311, + 1299432569, + 3498707833, + 1419509341, + 1523398991, + 134223789, + 1804990251, + 914766455, + 143847418, + 1072907411, + 2552437356, + 183644249, + 2324763500, + 2016445316, + 3005673044, + 3914070117, + 2510335365, + 219328798, + 1940125228, + 3171255662, + 3215469540, + 1508139915, + 3409555914, + 700823808, + 1883137536, + 1425916503, + 586193771, ]; static const List _envieddatabasicAuthCredentials = [ - 540034546, - 284547914, - 2480225694, - 4066237109, - 3775946637, - 1324462788, - 3014529135, - 1420520263, - 107869306, - 1684306897, - 2746960584, - 4032170335, - 1532247208, - 3890671658, - 3332734857, - 2388710470, - 2233334167, - 1143437440, - 3030620447, - 1500708771, - 1043763109, - 2197213697, - 215740074, - 3283880448, - 149885392, - 1831436436, - 4042371453, - 713751250, - 3015384963, - 3364032598, - 1263708547, + 3119662299, + 308341874, + 2015166505, + 3074198348, + 3116745262, + 1299432456, + 3498707722, + 1419509303, + 1523398966, + 134223835, + 1804990300, + 914766365, + 143847308, + 1072907433, + 2552437250, + 183644200, + 2324763422, + 2016445405, + 3005672990, + 3914070069, + 2510335429, + 219328815, + 1940125211, + 3171255645, + 3215469523, + 1508139987, + 3409555896, + 700823896, + 1883137644, + 1425916437, + 586193671, ]; static final String basicAuthCredentials = String.fromCharCodes( @@ -87,88 +87,140 @@ final class _Env { _envieddatabasicAuthCredentials[i] ^ _enviedkeybasicAuthCredentials[i])); + static const List _enviedkeymapKeyOsm = [ + 1061947572, + 1154666970, + 1788134034, + 3441878628, + 4093708564, + 2488457761, + 3745638123, + 3197059312, + 721782794, + 1906372427, + 673202838, + 3487712682, + 3536566818, + 748259304, + 2578078811, + 896175043, + 2615577190, + 1895427507, + 908404633, + 3711829356, + ]; + + static const List _envieddatamapKeyOsm = [ + 1061947609, + 1154666939, + 1788134142, + 3441878528, + 4093708657, + 2488457815, + 3745638059, + 3197059202, + 721782885, + 1906372414, + 673202914, + 3487712719, + 3536566799, + 748259212, + 2578078772, + 896175023, + 2615577098, + 1895427538, + 908404715, + 3711829279, + ]; + + static final String mapKeyOsm = String.fromCharCodes(List.generate( + _envieddatamapKeyOsm.length, + (int i) => i, + growable: false, + ).map((int i) => _envieddatamapKeyOsm[i] ^ _enviedkeymapKeyOsm[i])); + static const List _enviedkeymapAPIKEYIOS = [ - 4136943038, - 3449244315, - 107340984, - 3076029373, - 385057135, - 642126381, - 539124162, - 2357713611, - 3761313890, - 2494097141, - 1095108936, - 2962607554, - 3301710626, - 3691989980, - 832139998, - 2814390270, - 2555873088, - 198198395, - 4035638575, - 2996149545, - 144428047, - 3215439419, - 27103007, - 3795911293, - 3211258620, - 2197099525, - 3217429456, - 2522599190, - 2312325199, - 293686726, - 2126987746, - 3064403961, - 3913472752, - 2795664372, - 785512666, - 1030754237, - 699679564, - 1824768866, - 1285807098, + 2151695670, + 1054308886, + 1870950936, + 88263793, + 4089069531, + 3499077188, + 3476458014, + 3168336394, + 2909695516, + 4260265062, + 91281871, + 2357498250, + 1465939768, + 3162694029, + 2677109738, + 15978042, + 3254043132, + 218012237, + 2437645091, + 2891409295, + 31581396, + 277277467, + 3709929938, + 4286881507, + 819136536, + 172598488, + 2414274591, + 3522656593, + 1841701930, + 2616372343, + 2715457719, + 570092248, + 3920129267, + 2496493162, + 4138678271, + 3433391998, + 939132383, + 3897546811, + 2677079369, ]; static const List _envieddatamapAPIKEYIOS = [ - 4136943103, - 3449244370, - 107340994, - 3076029404, - 385057084, - 642126420, - 539124102, - 2357713583, - 3761313811, - 2494097054, - 1095108868, - 2962607503, - 3301710689, - 3691989934, - 832139951, - 2814390164, - 2555873046, - 198198281, - 4035638593, - 2996149534, - 144428119, - 3215439446, - 27103102, - 3795911193, - 3211258549, - 2197099636, - 3217429417, - 2522599288, - 2312325174, - 293686697, - 2126987680, - 3064403864, - 3913472711, - 2795664292, - 785512680, - 1030754186, - 699679491, - 1824768775, - 1285807031, + 2151695735, + 1054308959, + 1870951010, + 88263696, + 4089069448, + 3499077181, + 3476458074, + 3168336494, + 2909695597, + 4260264973, + 91281795, + 2357498311, + 1465939835, + 3162694143, + 2677109659, + 15978064, + 3254043050, + 218012223, + 2437645133, + 2891409336, + 31581324, + 277277558, + 3709929907, + 4286881415, + 819136593, + 172598441, + 2414274662, + 3522656575, + 1841701971, + 2616372248, + 2715457781, + 570092217, + 3920129220, + 2496493114, + 4138678221, + 3433391945, + 939132304, + 3897546846, + 2677079300, ]; static final String mapAPIKEYIOS = String.fromCharCodes(List.generate( @@ -178,39 +230,39 @@ final class _Env { ).map((int i) => _envieddatamapAPIKEYIOS[i] ^ _enviedkeymapAPIKEYIOS[i])); static const List _enviedkeyemail = [ - 1027434239, - 4102819702, - 209177795, - 2407961950, - 379691571, - 3296955779, - 883306137, - 1667617390, - 3588360294, - 3171672385, - 1409106778, - 2673192353, - 957103810, - 2271991542, - 549234103, + 2147741481, + 3022601776, + 627913709, + 1413637414, + 2903845769, + 3930413881, + 1191268173, + 10965538, + 598619137, + 3142526324, + 3745702052, + 4136725053, + 645579098, + 2625103278, + 60371886, ]; static const List _envieddataemail = [ - 1027434175, - 4102819615, - 209177773, - 2407961898, - 379691602, - 3296955887, - 883306236, - 1667617311, - 3588360199, - 3171672369, - 1409106730, - 2673192335, - 957103777, - 2271991449, - 549234138, + 2147741545, + 3022601817, + 627913603, + 1413637458, + 2903845864, + 3930413909, + 1191268136, + 10965587, + 598619232, + 3142526212, + 3745702100, + 4136725011, + 645579065, + 2625103297, + 60371907, ]; static final String email = String.fromCharCodes(List.generate( @@ -220,65 +272,65 @@ final class _Env { ).map((int i) => _envieddataemail[i] ^ _enviedkeyemail[i])); static const List _enviedkeybasicCompareFaces = [ - 2491896287, - 392098718, - 1305562937, - 1062759314, - 4003876262, - 1000058039, - 1183472243, - 2301601216, - 3235647101, - 3811051106, - 114531494, - 3492489715, - 2522052370, - 561192301, - 2250341443, - 2731788464, - 3416456166, - 1711661046, - 6166493, - 3799214491, - 1448370563, - 2915853691, - 555645939, - 752175138, - 1361040777, - 2779661742, - 407347548, - 3762057903, + 2296343195, + 3793709033, + 3210279611, + 1382972713, + 2835826086, + 3832217435, + 2156224674, + 3937478928, + 3462847201, + 2788598618, + 125364131, + 1409664400, + 3732768056, + 2966368179, + 3018233973, + 4115898929, + 2270981991, + 1746945700, + 2357950794, + 2815430643, + 1906731934, + 2478074234, + 162304442, + 975875308, + 3384793524, + 2071543057, + 2278014588, + 356216334, ]; static const List _envieddatabasicCompareFaces = [ - 2491896229, - 392098804, - 1305562956, - 1062759416, - 4003876298, - 1000058050, - 1183472130, - 2301601190, - 3235646989, - 3811051016, - 114531484, - 3492489629, - 2522052451, - 561192223, - 2250341402, - 2731788506, - 3416456086, - 1711660982, - 6166508, - 3799214508, - 1448370608, - 2915853644, - 555645867, - 752175184, - 1361040849, - 2779661762, - 407347486, - 3762057923, + 2296343265, + 3793708931, + 3210279630, + 1382972739, + 2835826122, + 3832217390, + 2156224723, + 3937479030, + 3462847121, + 2788598576, + 125364121, + 1409664510, + 3732768073, + 2966368193, + 3018233900, + 4115898971, + 2270981911, + 1746945764, + 2357950843, + 2815430596, + 1906731949, + 2478074189, + 162304482, + 975875230, + 3384793580, + 2071543165, + 2278014526, + 356216418, ]; static final String basicCompareFaces = String.fromCharCodes( @@ -290,129 +342,129 @@ final class _Env { _envieddatabasicCompareFaces[i] ^ _enviedkeybasicCompareFaces[i])); static const List _enviedkeybasicCompareFacesURL = [ - 501934616, - 2265000619, - 1773998103, - 1720717179, - 2338466827, - 2542966310, - 3412381954, - 3120223237, - 738943047, - 619603488, - 144527941, - 3819946905, - 1359098221, - 3813956341, - 4076218892, - 966375125, - 2177059548, - 1207218561, - 2105010300, - 2408669880, - 3132249861, - 1706752092, - 2765089519, - 3624076276, - 1385524083, - 891025991, - 3972167440, - 4222415023, - 3169749002, - 3906881194, - 270746686, - 3987315020, - 810076577, - 779865694, - 2728476651, - 841484249, - 587952721, - 2353285846, - 1095090212, - 2745232038, - 1642159326, - 2149222101, - 428339732, - 1194069359, - 610117895, - 598148545, - 2597426734, - 147585750, - 4041462586, - 3886232452, - 343186483, - 307339606, - 1339288143, - 1955248555, - 1879873809, - 1667212160, - 677523670, - 1942240158, - 3697813658, - 3665713525, + 3220389880, + 1896092538, + 3417329582, + 3357206126, + 441079354, + 2518376273, + 3594693806, + 3874086501, + 1406926161, + 1376676982, + 2858004954, + 3740036395, + 2372915802, + 3729233843, + 3036425821, + 4094260731, + 735548888, + 1065243742, + 2676762486, + 2506900532, + 155001808, + 2207687783, + 3288666464, + 3285691569, + 2353472176, + 1047162643, + 961443648, + 2756212231, + 2296500208, + 276303533, + 578074949, + 1168642108, + 2942379661, + 3490271822, + 384214389, + 270731729, + 3394813339, + 895915516, + 3882278717, + 1629572933, + 3416911057, + 1915184088, + 3257220882, + 818616196, + 3018470266, + 4178652202, + 197820745, + 3699620454, + 360071303, + 1575552250, + 1325150033, + 2257081226, + 349100155, + 3414562195, + 3728569996, + 1634090533, + 812808253, + 2152104178, + 278583218, + 3758430418, ]; static const List _envieddatabasicCompareFacesURL = [ - 501934704, - 2265000671, - 1773998179, - 1720717067, - 2338466936, - 2542966300, - 3412381997, - 3120223274, - 738943009, - 619603521, - 144527910, - 3819947004, - 1359098176, - 3813956241, - 4076218985, - 966375073, - 2177059513, - 1207218658, - 2105010184, - 2408669845, - 3132249955, - 1706752106, - 2765089494, - 3624076230, - 1385524039, - 891026036, - 3972167465, - 4222415005, - 3169749097, - 3906881182, - 270746717, - 3987315067, - 810076559, - 779865654, - 2728476558, - 841484203, - 587952702, - 2353285821, - 1095090257, - 2745232071, - 1642159278, - 2149222053, - 428339770, - 1194069260, - 610117992, - 598148524, - 2597426689, - 147585717, - 4041462613, - 3886232553, - 343186499, - 307339575, - 1339288125, - 1955248590, - 1879873870, - 1667212262, - 677523639, - 1942240253, - 3697813759, - 3665713414, + 3220389776, + 1896092430, + 3417329626, + 3357206046, + 441079369, + 2518376299, + 3594693761, + 3874086474, + 1406926135, + 1376676887, + 2858004921, + 3740036430, + 2372915831, + 3729233879, + 3036425784, + 4094260623, + 735548861, + 1065243709, + 2676762370, + 2506900505, + 155001782, + 2207687761, + 3288666457, + 3285691523, + 2353472132, + 1047162656, + 961443705, + 2756212277, + 2296500115, + 276303513, + 578074918, + 1168642059, + 2942379683, + 3490271782, + 384214288, + 270731683, + 3394813428, + 895915415, + 3882278728, + 1629572900, + 3416911009, + 1915184040, + 3257220924, + 818616295, + 3018470165, + 4178652231, + 197820774, + 3699620357, + 360071400, + 1575552151, + 1325149985, + 2257081323, + 349100041, + 3414562294, + 3728570067, + 1634090563, + 812808284, + 2152104081, + 278583255, + 3758430369, ]; static final String basicCompareFacesURL = String.fromCharCodes( @@ -425,91 +477,91 @@ final class _Env { _enviedkeybasicCompareFacesURL[i])); static const List _enviedkeyaccountSIDTwillo = [ - 1399939810, - 2846242046, - 1265957987, - 758232580, - 26709177, - 2841352452, - 1068143975, - 1966192090, - 3211740571, - 1231460606, - 3115341076, - 2920567150, - 1274050026, - 3126241770, - 1383770365, - 2138378615, - 2232118610, - 2218940217, - 2947351448, - 1397024902, - 1778185508, - 1093738624, - 24247276, - 1401104816, - 1850683172, - 3515487537, - 1730627783, - 3853796663, - 2097932795, - 2589328444, - 882293167, - 1396021634, - 1158968934, - 2921090740, - 4107886798, - 2671724146, - 1389186916, - 173243851, - 1726735248, - 4086201450, - 3505996377, + 2934490457, + 3936142346, + 881081269, + 1663353371, + 921098405, + 4272650692, + 321567310, + 1386434013, + 163841393, + 3889058183, + 137435408, + 4232722058, + 868241344, + 73821594, + 1530947120, + 2076743619, + 4167846303, + 4193048880, + 522420519, + 2015502862, + 1500940268, + 2086238974, + 3838402101, + 3109767109, + 1200865270, + 3819869314, + 686415089, + 262105312, + 1510999968, + 3754501979, + 2384065386, + 1622954290, + 2430377995, + 3917284516, + 3696201508, + 1616091150, + 4120537433, + 261073639, + 2271794810, + 964848725, + 1988507286, ]; static const List _envieddataaccountSIDTwillo = [ - 1399939763, - 2846241976, - 1265957915, - 758232628, - 26709192, - 2841352573, - 1068143955, - 1966192111, - 3211740589, - 1231460500, - 3115341153, - 2920567044, - 1274050009, - 3126241746, - 1383770318, - 2138378521, - 2232118635, - 2218940225, - 2947351533, - 1397025023, - 1778185494, - 1093738673, - 24247253, - 1401104772, - 1850683221, - 3515487495, - 1730627829, - 3853796622, - 2097932682, - 2589328397, - 882293193, - 1396021736, - 1158968918, - 2921090765, - 4107886841, - 2671724074, - 1389186838, - 173243795, - 1726735356, - 4086201384, - 3505996341, + 2934490376, + 3936142412, + 881081293, + 1663353387, + 921098452, + 4272650685, + 321567354, + 1386434024, + 163841351, + 3889058285, + 137435493, + 4232722144, + 868241395, + 73821602, + 1530947075, + 2076743597, + 4167846310, + 4193048904, + 522420562, + 2015502967, + 1500940254, + 2086238927, + 3838402060, + 3109767153, + 1200865159, + 3819869364, + 686415043, + 262105305, + 1511000017, + 3754501994, + 2384065292, + 1622954328, + 2430378043, + 3917284573, + 3696201491, + 1616091222, + 4120537387, + 261073599, + 2271794710, + 964848663, + 1988507386, ]; static final String accountSIDTwillo = String.fromCharCodes( @@ -521,325 +573,325 @@ final class _Env { _envieddataaccountSIDTwillo[i] ^ _enviedkeyaccountSIDTwillo[i])); static const List _enviedkeyserverAPI = [ - 1525310016, - 1063979448, - 4187935769, - 1015160159, - 3831356600, - 3900790152, - 2330854338, - 1110436127, - 864160905, - 2384645272, - 1204213839, - 3324574383, - 2075513532, - 1119193840, - 477343232, - 1926828069, - 3015792033, - 1585288237, - 3376764149, - 2856162483, - 2632473569, - 2971226465, - 1057968982, - 1260240120, - 3719007101, - 3487879724, - 3145583141, - 493015952, - 1253582750, - 838392577, - 726939766, - 847166321, - 4235594753, - 2931814201, - 3795812894, - 904074473, - 1252694753, - 821635767, - 3314071582, - 1485993892, - 4148111244, - 1435830168, - 3872065120, - 1393681734, - 2094903843, - 4081530246, - 3189257539, - 3408261340, - 3786645974, - 3682620343, - 608586564, - 696005821, - 495402386, - 245012264, - 1312545965, - 969018388, - 4053335989, - 1101374631, - 1818283873, - 591976356, - 1072705289, - 1050970414, - 2544574472, - 1521995270, - 1389610750, - 3023105284, - 2633540755, - 4235226335, - 3933399153, - 66161145, - 4041579031, - 1169859523, - 1280378923, - 4279388662, - 2622393932, - 3292053698, - 563067583, - 2635280492, - 637506460, - 2466826440, - 262477813, - 1187680311, - 98287780, - 2685591047, - 397043199, - 34275397, - 3680171564, - 757669532, - 1073623724, - 2357945613, - 637235244, - 3209473668, - 1190072425, - 260429977, - 3103550757, - 2765228294, - 1031284985, - 1067770918, - 455452972, - 2302918602, - 55828773, - 3772159733, - 1456559215, - 1269588858, - 3213487646, - 4166029202, - 2901808002, - 2107749783, - 1803470874, - 279387372, - 3152032125, - 3953115380, - 33272057, - 923491284, - 2217830092, - 1063480761, - 3044370952, - 2283803531, - 2095015230, - 597887899, - 2287077219, - 1767826529, - 599099808, - 726127522, - 3147616926, - 425433372, - 3641236568, - 235842529, - 2485594805, - 2548692881, - 2400231270, - 3122804005, - 3619809417, - 1864519301, - 1010360319, - 1953347313, - 3105300984, - 634328518, - 2462939374, - 1054840362, - 3579344936, - 3190711541, - 323761892, - 1938435060, - 2719033796, - 3926380214, - 335056050, - 1173843594, - 1933827034, - 483493842, - 3520395825, - 2061161279, - 4238668512, - 3222871649, - 2396156262, - 3700390470, - 3896671598, - 603584011, + 1640356061, + 1109713156, + 2676970884, + 2982808124, + 1196683320, + 399162653, + 2690719682, + 561644024, + 3698357235, + 1971775398, + 1362089888, + 4098281206, + 486435093, + 585479448, + 3818661702, + 2914085612, + 2833995326, + 2692526444, + 742619015, + 3883726605, + 159594704, + 2309127406, + 3071231165, + 3378547787, + 3529813488, + 32472595, + 2216397977, + 4065490337, + 512551596, + 1762705486, + 1312444727, + 4004186931, + 1195867106, + 1348768429, + 2659874408, + 3475793726, + 713263331, + 4053902124, + 758986971, + 3922301125, + 112346051, + 2139879761, + 3257242346, + 3783957319, + 4081680390, + 1145172966, + 536303801, + 2395235213, + 2439144280, + 4194487110, + 738798915, + 714005630, + 2227714079, + 490748580, + 3967642326, + 1335235689, + 3716697848, + 3469220326, + 2049368821, + 1222309652, + 396757610, + 2968901244, + 3259975456, + 911418890, + 1511077843, + 2132052817, + 2163537371, + 2156825771, + 125152325, + 1561751260, + 1215688927, + 2337973320, + 3930935933, + 3511774723, + 1393568631, + 2897632439, + 2748168494, + 1456172952, + 3811164034, + 2754770638, + 3017984324, + 775114840, + 868207674, + 3891231838, + 401111215, + 3564618284, + 3968379529, + 642347579, + 1486887337, + 2340292518, + 2747818257, + 3203274707, + 2116091974, + 3431377939, + 3119843715, + 782479150, + 2682645724, + 541595749, + 1473082883, + 3224408816, + 2484627503, + 735549272, + 708450675, + 3539721658, + 4199367853, + 3417820545, + 3923134626, + 3216841440, + 1932051787, + 3967046873, + 2641958581, + 812947720, + 3256507827, + 2572765859, + 3748554398, + 1401083577, + 3309283985, + 2574584580, + 3546476886, + 953866243, + 2030531099, + 2826460289, + 3466363490, + 1508488521, + 1201071975, + 4112225860, + 401188585, + 3688992142, + 1824033041, + 1930822798, + 1676220458, + 2359239267, + 3753171603, + 1244067415, + 4092764634, + 4087602641, + 3996943514, + 571326231, + 579542552, + 855778328, + 1093105414, + 3867656545, + 3362611777, + 4176204033, + 2521927795, + 2975541729, + 586837626, + 1908427057, + 2733255700, + 1747354993, + 2588114028, + 726159856, + 1382633340, + 2516901742, + 4034529237, + 1689757631, + 3013787146, + 3644603595, ]; static const List _envieddataserverAPI = [ - 1525309969, - 1063979497, - 4187935816, - 1015160078, - 3831356631, - 3900790250, - 2330854289, - 1110436205, - 864161019, - 2384645342, - 1204213798, - 3324574357, - 2075513581, - 1119193766, - 477343313, - 1926828061, - 3015792022, - 1585288277, - 3376764064, - 2856162436, - 2632473499, - 2971226390, - 1057968917, - 1260240014, - 3719006992, - 3487879798, - 3145583199, - 493016010, - 1253582842, - 838392672, - 726939662, - 847166212, - 4235594834, - 2931814155, - 3795812984, - 904074459, - 1252694738, - 821635822, - 3314071594, - 1485993929, - 4148111350, - 1435830191, - 3872065069, - 1393681724, - 2094903898, - 4081530313, - 3189257529, - 3408261294, - 3786645998, - 3682620376, - 608586528, - 696005775, - 495402480, - 245012314, - 1312545947, - 969018463, - 4053336044, - 1101374686, - 1818283780, - 591976418, - 1072705384, - 1050970490, - 2544574558, - 1521995338, - 1389610681, - 3023105335, - 2633540824, - 4235226348, - 3933399065, - 66161025, - 4041579042, - 1169859481, - 1280378954, - 4279388579, - 2622393909, - 3292053690, - 563067528, - 2635280393, - 637506501, - 2466826430, - 262477748, - 1187680366, - 98287828, - 2685591110, - 397043113, - 34275361, - 3680171623, - 757669623, - 1073623681, - 2357945663, - 637235220, - 3209473714, - 1190072359, - 260430029, - 3103550839, - 2765228399, - 1031284938, - 1067770972, - 455453023, - 2302918643, - 55828812, - 3772159654, - 1456559136, - 1269588756, - 3213487686, - 4166029286, - 2901808090, - 2107749829, - 1803470931, - 279387284, - 3152032014, - 3953115267, - 33271966, - 923491303, - 2217830023, - 1063480796, - 3044371051, - 2283803593, - 2095015251, - 597887976, - 2287077135, - 1767826514, - 599099894, - 726127578, - 3147616980, - 425433381, - 3641236527, - 235842478, - 2485594776, - 2548692967, - 2400231215, - 3122804053, - 3619809534, - 1864519408, - 1010360267, - 1953347233, - 3105300878, - 634328561, - 2462939274, - 1054840385, - 3579344992, - 3190711454, - 323761852, - 1938434970, - 2719033773, - 3926380227, - 335056074, - 1173843655, - 1933826953, - 483493782, - 3520395862, - 2061161320, - 4238668472, - 3222871571, - 2396156222, - 3700390442, - 3896671532, - 603584103, + 1640355980, + 1109713237, + 2676970965, + 2982808173, + 1196683351, + 399162751, + 2690719633, + 561643914, + 3698357121, + 1971775456, + 1362089929, + 4098281164, + 486435140, + 585479502, + 3818661655, + 2914085588, + 2833995273, + 2692526356, + 742619090, + 3883726650, + 159594666, + 2309127321, + 3071231230, + 3378547773, + 3529813405, + 32472649, + 2216398051, + 4065490427, + 512551624, + 1762705455, + 1312444751, + 4004186950, + 1195867057, + 1348768415, + 2659874318, + 3475793676, + 713263312, + 4053902197, + 758986991, + 3922301096, + 112346041, + 2139879782, + 3257242279, + 3783957309, + 4081680511, + 1145172905, + 536303811, + 2395235327, + 2439144288, + 4194487081, + 738798887, + 714005580, + 2227714173, + 490748630, + 3967642336, + 1335235618, + 3716697761, + 3469220255, + 2049368720, + 1222309714, + 396757515, + 2968901160, + 3259975542, + 911418950, + 1511077780, + 2132052834, + 2163537296, + 2156825752, + 125152301, + 1561751204, + 1215688938, + 2337973266, + 3930935836, + 3511774806, + 1393568526, + 2897632463, + 2748168473, + 1456173053, + 3811164123, + 2754770616, + 3017984261, + 775114753, + 868207690, + 3891231775, + 401111289, + 3564618312, + 3968379586, + 642347600, + 1486887300, + 2340292500, + 2747818281, + 3203274725, + 2116091912, + 3431377991, + 3119843793, + 782479175, + 2682645743, + 541595679, + 1473082992, + 3224408777, + 2484627526, + 735549195, + 708450620, + 3539721684, + 4199367925, + 3417820661, + 3923134714, + 3216841394, + 1932051714, + 3967046817, + 2641958598, + 812947839, + 3256507860, + 2572765840, + 3748554453, + 1401083612, + 3309284082, + 2574584646, + 3546476859, + 953866352, + 2030531191, + 2826460338, + 3466363444, + 1508488497, + 1201071917, + 4112225917, + 401188510, + 3688992193, + 1824033084, + 1930822904, + 1676220515, + 2359239187, + 3753171684, + 1244067362, + 4092764654, + 4087602561, + 3996943596, + 571326240, + 579542652, + 855778419, + 1093105486, + 3867656458, + 3362611737, + 4176204143, + 2521927706, + 2975541652, + 586837506, + 1908427132, + 2733255751, + 1747354933, + 2588113931, + 726159783, + 1382633252, + 2516901660, + 4034529165, + 1689757651, + 3013787208, + 3644603559, ]; static final String serverAPI = String.fromCharCodes(List.generate( @@ -849,87 +901,87 @@ final class _Env { ).map((int i) => _envieddataserverAPI[i] ^ _enviedkeyserverAPI[i])); static const List _enviedkeymapAPIKEY = [ - 1709438567, - 2662108570, - 3608901058, - 2563825465, - 4166375794, - 863159257, - 957970911, - 893390784, - 1828151555, - 1937967552, - 2081791952, - 3173411410, - 2266981269, - 2629399070, - 2892209987, - 3101244826, - 1115008369, - 3794506130, - 2232150912, - 142698665, - 581263767, - 1901329986, - 5127359, - 3091490438, - 475448341, - 2549956356, - 650709651, - 2054866488, - 2521926811, - 2730847779, - 3950641112, - 730120886, - 2324114646, - 1006366392, - 1110973815, - 1862713316, - 1078752387, - 1733732363, - 4127065903, + 3080424818, + 2739058472, + 3527425257, + 4028529921, + 1883553841, + 1686420418, + 489737912, + 1701158226, + 2467593300, + 3324064773, + 365079787, + 2661728615, + 2797847661, + 2685221719, + 411361949, + 2671840178, + 12215258, + 2982665395, + 3589247556, + 80296077, + 1358410178, + 3014948061, + 2896599606, + 3486123033, + 2777191306, + 1549359348, + 2947230529, + 4267926550, + 879333647, + 4285596424, + 1014258202, + 940770413, + 1440464234, + 620322144, + 599361912, + 4026766772, + 3024895214, + 1093526381, + 3971290375, ]; static const List _envieddatamapAPIKEY = [ - 1709438502, - 2662108627, - 3608901048, - 2563825496, - 4166375713, - 863159200, - 957970846, - 893390736, - 1828151621, - 1937967506, - 2081791887, - 3173411338, - 2266981367, - 2629399116, - 2892209933, - 3101244842, - 1115008297, - 3794506184, - 2232150965, - 142698720, - 581263853, - 1901330033, - 5127422, - 3091490527, - 475448401, - 2549956462, - 650709725, - 2054866529, - 2521926867, - 2730847844, - 3950641042, - 730120945, - 2324114660, - 1006366411, - 1110973765, - 1862713269, - 1078752468, - 1733732476, - 4127065954, + 3080424755, + 2739058529, + 3527425171, + 4028530016, + 1883553890, + 1686420411, + 489737977, + 1701158146, + 2467593234, + 3324064855, + 365079732, + 2661728575, + 2797847567, + 2685221637, + 411362003, + 2671840130, + 12215170, + 2982665449, + 3589247601, + 80296132, + 1358410168, + 3014948078, + 2896599671, + 3486123072, + 2777191374, + 1549359262, + 2947230479, + 4267926607, + 879333703, + 4285596495, + 1014258256, + 940770346, + 1440464216, + 620322067, + 599361866, + 4026766821, + 3024895161, + 1093526298, + 3971290442, ]; static final String mapAPIKEY = String.fromCharCodes(List.generate( @@ -939,71 +991,71 @@ final class _Env { ).map((int i) => _envieddatamapAPIKEY[i] ^ _enviedkeymapAPIKEY[i])); static const List _enviedkeytwilloRecoveryCode = [ - 463325234, - 2959565278, - 389839068, - 293488036, - 1248440818, - 450513697, - 2687629558, - 1728779781, - 491607319, - 3078280543, - 1606188584, - 2050851537, - 787909747, - 171135451, - 1772500209, - 2494733037, - 4193174444, - 3326851032, - 2280361954, - 429692783, - 4038314098, - 1822316042, - 2516782062, - 2833172281, - 1514641234, - 3988224647, - 3747354872, - 1838480317, - 1273477775, - 670266293, - 1441825692, + 2045483171, + 1182855780, + 789386213, + 2002339966, + 1656705048, + 1862766833, + 4101318183, + 2476323453, + 2245393184, + 1936324598, + 2108788169, + 2271316230, + 1418427378, + 4094204263, + 58396875, + 1445429874, + 1494352246, + 3012324438, + 203234924, + 397956565, + 1514286967, + 1622482287, + 3599184681, + 980425767, + 3151431159, + 2063433465, + 908361499, + 4225441140, + 1469950094, + 3208438559, + 2343271325, ]; static const List _envieddatatwilloRecoveryCode = [ - 463325297, - 2959565215, - 389838985, - 293488019, - 1248440779, - 450513765, - 2687629502, - 1728779861, - 491607391, - 3078280558, - 1606188650, - 2050851515, - 787909686, - 171135458, - 1772500129, - 2494732984, - 4193174500, - 3326851052, - 2280361895, - 429692731, - 4038314026, - 1822316126, - 2516782013, - 2833172321, - 1514641160, - 3988224735, - 3747354762, - 1838480357, - 1273477859, - 670266359, - 1441825776, + 2045483232, + 1182855717, + 789386160, + 2002339913, + 1656705057, + 1862766773, + 4101318255, + 2476323373, + 2245393256, + 1936324551, + 2108788107, + 2271316332, + 1418427319, + 4094204254, + 58396827, + 1445429799, + 1494352190, + 3012324450, + 203234857, + 397956481, + 1514286895, + 1622482235, + 3599184762, + 980425855, + 3151431085, + 2063433377, + 908361577, + 4225441068, + 1469950178, + 3208438621, + 2343271409, ]; static final String twilloRecoveryCode = String.fromCharCodes( @@ -1015,87 +1067,87 @@ final class _Env { _envieddatatwilloRecoveryCode[i] ^ _enviedkeytwilloRecoveryCode[i])); static const List _enviedkeyauthTokenTwillo = [ - 1029286174, - 200278306, - 531505482, - 80924952, - 4085276657, - 1945276688, - 4235267746, - 1153601476, - 869732655, - 1678850858, - 1715330665, - 166118579, - 3985977165, - 2311576675, - 2006540638, - 1997585821, - 2158656980, - 7668744, - 1122826393, - 1556284167, - 1966954644, - 101601463, - 2527183922, - 1740815709, - 434275465, - 978650294, - 1793231685, - 1074674201, - 2046590864, - 2290409320, - 1101181082, - 2494286596, - 1285009426, - 489416357, - 1734631047, - 3862779023, - 307112972, - 1234041999, - 2344446978, + 3482227581, + 931939927, + 1043129482, + 3651497893, + 532948387, + 2286803814, + 4189381494, + 2810745320, + 3305770584, + 2455427241, + 895508588, + 2922817994, + 715264306, + 1709934147, + 3600880978, + 4274898682, + 2817920337, + 2978402175, + 2746255354, + 3739040319, + 2762965271, + 1667025470, + 3382353026, + 1539265897, + 355746883, + 3336334498, + 3174964404, + 2584604919, + 4169347029, + 2269664299, + 2940650629, + 1088566567, + 839701275, + 1983247534, + 3984233019, + 1145706096, + 192818443, + 2770233437, + 2346198292, ]; static const List _envieddataauthTokenTwillo = [ - 1029286185, - 200278290, - 531505471, - 80924961, - 4085276617, - 1945276794, - 4235267799, - 1153601524, - 869732637, - 1678850843, - 1715330653, - 166118620, - 3985977141, - 2311576603, - 2006540650, - 1997585900, - 2158656996, - 7668861, - 1122826414, - 1556284211, - 1966954660, - 101601413, - 2527183882, - 1740815656, - 434275513, - 978650244, - 1793231732, - 1074674284, - 2046590884, - 2290409241, - 1101181167, - 2494286642, - 1285009447, - 489416445, - 1734631157, - 3862779095, - 307113056, - 1234042061, - 2344447086, + 3482227530, + 931939943, + 1043129599, + 3651497884, + 532948379, + 2286803724, + 4189381379, + 2810745304, + 3305770602, + 2455427224, + 895508568, + 2922817957, + 715264330, + 1709934139, + 3600880998, + 4274898571, + 2817920353, + 2978402058, + 2746255309, + 3739040267, + 2762965287, + 1667025420, + 3382353082, + 1539265820, + 355746931, + 3336334480, + 3174964357, + 2584604802, + 4169347041, + 2269664346, + 2940650736, + 1088566545, + 839701294, + 1983247606, + 3984233033, + 1145706024, + 192818535, + 2770233375, + 2346198392, ]; static final String authTokenTwillo = String.fromCharCodes(List.generate( @@ -1106,125 +1158,125 @@ final class _Env { (int i) => _envieddataauthTokenTwillo[i] ^ _enviedkeyauthTokenTwillo[i])); static const List _enviedkeychatGPTkey = [ - 1483286104, - 3835442287, - 3746713533, - 1325541117, - 2950460374, - 3569340280, - 808584026, - 769005738, - 2942841673, - 3442892928, - 346550491, - 1752688747, - 856276757, - 2003283934, - 3794506638, - 3347111005, - 388799052, - 2450067711, - 311952953, - 4021944290, - 1534028415, - 3807240860, - 487331878, - 2542448030, - 4250163995, - 3798115479, - 2516528545, - 573876699, - 455223063, - 863208774, - 1172423869, - 2262209820, - 1915098017, - 70264065, - 2518890302, - 785440294, - 3510993271, - 3572784301, - 317736323, - 41675698, - 3909971725, - 46496702, - 289334098, - 3086142106, - 767160483, - 1725199358, - 2697513689, - 850984204, - 1835436840, - 2151768994, - 2660480899, - 4097404320, - 337426472, - 624087111, - 3673452245, - 700740878, - 3280753794, - 1430354578, + 2771437346, + 520392228, + 3663326768, + 1645768977, + 1163429156, + 1332493464, + 3598252631, + 363261562, + 2321683879, + 663590875, + 1656338901, + 3309075479, + 3744732575, + 2782197588, + 3478826385, + 34811558, + 316875771, + 2013774969, + 2910176781, + 3146637031, + 1743630880, + 2608270501, + 507919069, + 4269764979, + 4163537191, + 151793743, + 202848436, + 289901185, + 927058643, + 1770573204, + 2777887954, + 3308649974, + 1276086820, + 2836951186, + 2198314295, + 655629671, + 1738057797, + 698775614, + 777256559, + 374793617, + 1221262936, + 3207140318, + 3036584754, + 3677920304, + 1426187892, + 2064482478, + 513295986, + 3751814446, + 1434605073, + 3443454051, + 2241274417, + 536759710, + 4098711781, + 920085498, + 252649970, + 3968748446, + 3641155398, + 2485992921, ]; static const List _envieddatachatGPTkey = [ - 1483286050, - 3835442184, - 3746713488, - 1325541065, - 2950460309, - 3569340234, - 808584044, - 769005787, - 2942841725, - 3442893011, - 346550402, - 1752688652, - 856276823, - 2003283861, - 3794506719, - 3347110968, - 388798980, - 2450067621, - 311953021, - 4021944211, - 1534028308, - 3807240907, - 487331913, - 2542448105, - 4250164056, - 3798115502, - 2516528633, - 573876649, - 455223151, - 863208737, - 1172423912, - 2262209881, - 1915098055, - 70264148, - 2518890311, - 785440287, - 3510993213, - 3572784383, - 317736436, - 41675648, - 3909971839, - 46496723, - 289334116, - 3086142155, - 767160465, - 1725199263, - 2697513661, - 850984302, - 1835436827, - 2151769033, - 2660481001, - 4097404375, - 337426544, - 624087093, - 3673452173, - 700740962, - 3280753856, - 1430354686, + 2771437400, + 520392259, + 3663326749, + 1645768997, + 1163429223, + 1332493482, + 3598252641, + 363261451, + 2321683859, + 663590792, + 1656338828, + 3309075568, + 3744732637, + 2782197535, + 3478826432, + 34811587, + 316875699, + 2013774883, + 2910176841, + 3146636950, + 1743630923, + 2608270578, + 507919026, + 4269764868, + 4163537252, + 151793782, + 202848492, + 289901299, + 927058603, + 1770573299, + 2777887879, + 3308649907, + 1276086850, + 2836951239, + 2198314318, + 655629662, + 1738057743, + 698775660, + 777256472, + 374793635, + 1221262890, + 3207140275, + 3036584708, + 3677920353, + 1426187846, + 2064482511, + 513295894, + 3751814476, + 1434605090, + 3443453960, + 2241274459, + 536759785, + 4098711741, + 920085384, + 252649898, + 3968748530, + 3641155332, + 2485992885, ]; static final String chatGPTkey = String.fromCharCodes(List.generate( @@ -1234,133 +1286,133 @@ final class _Env { ).map((int i) => _envieddatachatGPTkey[i] ^ _enviedkeychatGPTkey[i])); static const List _enviedkeytransactionCloude = [ - 2382492294, - 2472828553, - 842077173, - 2972045635, - 163541454, - 1128923133, - 3637971926, - 1759217835, - 260835839, - 3592721217, - 2572866554, - 1744342416, - 1944071538, - 989658798, - 2072548380, - 2979259372, - 667885386, - 427147945, - 166736481, - 3420990906, - 3469786622, - 958419348, - 1478512398, - 114046851, - 3917544582, - 1272927516, - 519912578, - 481992846, - 1989702863, - 3863062628, - 3010872996, - 3070948392, - 1833268256, - 342182924, - 3384997116, - 1620851702, - 2709191726, - 4089110527, - 540506005, - 1679518867, - 1874731963, - 2489861394, - 2633402648, - 2626468543, - 3621232540, - 1883129588, - 2514224136, - 2781505055, - 1111170027, - 2652706771, - 3005864464, - 4001312804, - 3238413251, - 2548939917, - 737358290, - 730648744, - 1439435029, - 1018311360, - 726888032, - 1681146479, - 2986084620, - 3265867275, + 3552601392, + 1577423137, + 1785973818, + 743603516, + 3124269689, + 797794403, + 3058739250, + 3584792697, + 424230157, + 1756658327, + 2429369724, + 2675777515, + 960621346, + 1612616501, + 4008522179, + 991039700, + 797221697, + 2678498985, + 1146920791, + 1564426831, + 678469585, + 2146709224, + 4013109938, + 3896340821, + 2778997782, + 116284095, + 208397719, + 2722575295, + 2531240064, + 939941651, + 3760064637, + 3321328165, + 2819773733, + 817815798, + 39775565, + 2811546729, + 2091663403, + 2910821863, + 3500288704, + 2679091248, + 4146668875, + 3796689044, + 1212250069, + 24258362, + 4183962457, + 3238301856, + 1092442450, + 1020843765, + 708779034, + 413156191, + 1529829900, + 686962193, + 1999810608, + 3514217656, + 2125725207, + 1851375082, + 2170030285, + 4120904511, + 2399566823, + 4149333102, + 2673228079, + 3375827762, ]; static const List _envieddatatransactionCloude = [ - 2382492375, - 2472828641, - 842077078, - 2972045620, - 163541435, - 1128923028, - 3637971898, - 1759217860, - 260835730, - 3592721200, - 2572866457, - 1744342527, - 1944071451, - 989658828, - 2072548390, - 2979259325, - 667885340, - 427148006, - 166736446, - 3420990960, - 3469786544, - 958419405, - 1478512459, - 114046919, - 3917544628, - 1272927556, - 519912661, - 481992911, - 1989702909, - 3863062610, - 3010873085, - 3070948464, - 1833268331, - 342182991, - 3384997070, - 1620851618, - 2709191806, - 4089110469, - 540506060, - 1679518936, - 1874731914, - 2489861462, - 2633402702, - 2626468599, - 3621232554, - 1883129511, - 2514224194, - 2781505117, - 1111170008, - 2652706786, - 3005864542, - 4001312791, - 3238413203, - 2548939976, - 737358307, - 730648829, - 1439435085, - 1018311346, - 726887992, - 1681146371, - 2986084686, - 3265867367, + 3552601441, + 1577423177, + 1785973849, + 743603531, + 3124269580, + 797794314, + 3058739294, + 3584792598, + 424230240, + 1756658406, + 2429369631, + 2675777412, + 960621387, + 1612616535, + 4008522233, + 991039621, + 797221655, + 2678499046, + 1146920712, + 1564426757, + 678469535, + 2146709169, + 4013110007, + 3896340753, + 2778997796, + 116284135, + 208397760, + 2722575358, + 2531240114, + 939941669, + 3760064548, + 3321328253, + 2819773806, + 817815733, + 39775615, + 2811546685, + 2091663483, + 2910821853, + 3500288665, + 2679091323, + 4146668922, + 3796689104, + 1212249987, + 24258418, + 4183962479, + 3238301939, + 1092442392, + 1020843703, + 708779049, + 413156206, + 1529829954, + 686962210, + 1999810656, + 3514217725, + 2125725222, + 1851375039, + 2170030229, + 4120904525, + 2399566783, + 4149332994, + 2673228141, + 3375827806, ]; static final String transactionCloude = String.fromCharCodes( @@ -1372,85 +1424,85 @@ final class _Env { _envieddatatransactionCloude[i] ^ _enviedkeytransactionCloude[i])); static const List _enviedkeyvisionApi = [ - 3580551397, - 2833655610, - 4271278760, - 2016345634, - 4049509470, - 1148142673, - 2581875605, - 1190661695, - 45383595, - 1088143004, - 287929289, - 3661132031, - 1526618717, - 1322174191, - 3885333940, - 3841719909, - 1104106552, - 199286556, - 1556910077, - 2439174273, - 4172693186, - 735948033, - 4162539430, - 3354794392, - 177594588, - 1364556895, - 2031861915, - 1922173729, - 3009938656, - 687764966, - 347301867, - 4251109231, - 1996291566, - 273860368, - 4146805587, - 285367793, - 1755354170, - 469954543, + 2905951827, + 80587575, + 1281388165, + 3950684786, + 4289409921, + 2184820693, + 1571740250, + 3805891557, + 713434862, + 3590025133, + 4097230101, + 1465389943, + 2350497015, + 3922930164, + 524989925, + 4247347078, + 3753788024, + 1019255416, + 1766417757, + 1764121344, + 2949306634, + 1793124845, + 1161986031, + 2487865711, + 1349627846, + 489421602, + 1966851008, + 1647734264, + 88157652, + 1286154285, + 2617793521, + 4115278648, + 817289242, + 2107847429, + 3283281346, + 920896462, + 56255101, + 2646939498, ]; static const List _envieddatavisionApi = [ - 3580551382, - 2833655626, - 4271278825, - 2016345710, - 4049509421, - 1148142624, - 2581875654, - 1190661740, - 45383666, - 1088143048, - 287929279, - 3661131909, - 1526618669, - 1322174169, - 3885333901, - 3841719860, - 1104106509, - 199286618, - 1556910000, - 2439174344, - 4172693157, - 735948131, - 4162539484, - 3354794482, - 177594523, - 1364556905, - 2031861953, - 1922173712, - 3009938586, - 687764877, - 347301791, - 4251109157, - 1996291510, - 273860450, - 4146805515, - 285367709, - 1755354232, - 469954435, + 2905951840, + 80587591, + 1281388228, + 3950684734, + 4289410034, + 2184820644, + 1571740169, + 3805891510, + 713434807, + 3590025209, + 4097230179, + 1465389837, + 2350496903, + 3922930114, + 524989916, + 4247347159, + 3753787981, + 1019255358, + 1766417680, + 1764121417, + 2949306733, + 1793124751, + 1161985941, + 2487865605, + 1349627777, + 489421588, + 1966850970, + 1647734217, + 88157614, + 1286154310, + 2617793413, + 4115278706, + 817289282, + 2107847543, + 3283281306, + 920896418, + 56255039, + 2646939398, ]; static final String visionApi = String.fromCharCodes(List.generate( @@ -1460,237 +1512,237 @@ final class _Env { ).map((int i) => _envieddatavisionApi[i] ^ _enviedkeyvisionApi[i])); static const List _enviedkeysecretKey = [ - 474286252, - 2093448911, - 2684378005, - 762236977, - 1636115471, - 2335636383, - 3438108389, - 236498039, - 3845439483, - 1219568194, - 568189109, - 3198146144, - 2597236636, - 3478657787, - 2095528769, - 3306460347, - 4099659867, - 2067868375, - 2378528724, - 851565325, - 1238150882, - 1917905598, - 796473157, - 628475114, - 2635930320, - 961438445, - 55106694, - 98889609, - 3778890538, - 2237294127, - 1107267931, - 3976670348, - 3085133196, - 1396653988, - 3730501911, - 861350670, - 2826891981, - 746361525, - 921500974, - 324520134, - 2282104483, - 873438043, - 2034566526, - 4133131456, - 3361211050, - 2103075032, - 2402909964, - 3648827490, - 3606181803, - 1625280287, - 312225210, - 52979452, - 987120506, - 2905836688, - 1635995540, - 3743278313, - 2822131172, - 3147130301, - 261013563, - 2651091798, - 189381712, - 1987714901, - 1362076586, - 3247561268, - 304567478, - 443614655, - 1603286510, - 2041406005, - 2874247788, - 1123461851, - 1359138921, - 205019400, - 1009252886, - 3505516063, - 3419773638, - 904849838, - 2815818859, - 4240627414, - 444302486, - 1376754520, - 2708777440, - 468764892, - 891059834, - 2111588260, - 1382310988, - 959681047, - 1776878839, - 287155008, - 376087539, - 2748614849, - 1948258090, - 4112299074, - 908836462, - 650819398, - 3090541747, - 1747270695, - 1416338241, - 3761177989, - 2582062025, - 3153124822, - 1932395370, - 1221695551, - 1404578888, - 3398984226, - 2277249457, - 2905702663, - 3255126533, - 954248048, - 39611761, - 901862443, - 1789694071, - 4055224803, - 1282281428, - 1661773037, + 1897247392, + 217578396, + 3604932159, + 1134659259, + 2897406193, + 1488184280, + 4049259204, + 3875891087, + 3010322606, + 37206943, + 953252848, + 1379133342, + 4253178350, + 4032636035, + 997746907, + 3853132720, + 3724927095, + 1073703566, + 1231405363, + 416538930, + 434334881, + 2442654294, + 783465678, + 1765149931, + 1822551630, + 595423032, + 2686979343, + 2427909507, + 2842125004, + 4281459489, + 1212190931, + 241073308, + 3813032922, + 2046681584, + 2780216544, + 3968784326, + 237838622, + 2861620158, + 689234707, + 1176807043, + 2544911948, + 1550170605, + 256897034, + 2296414562, + 991104958, + 3608833136, + 2299076404, + 81353917, + 994449091, + 1238016198, + 3287199912, + 1461535664, + 2331982794, + 2067282912, + 2863702517, + 2997467372, + 288549004, + 3377079802, + 2963986104, + 1673763312, + 2727115833, + 1565853359, + 4157125833, + 205582348, + 1565404605, + 693909204, + 2916827892, + 2906500658, + 2990833311, + 3317096916, + 2084150430, + 2145739880, + 3015638685, + 2798791833, + 3682972144, + 3487457382, + 1089095481, + 3553867414, + 1181926649, + 323585577, + 3471049767, + 4201783155, + 3077850870, + 920422474, + 2631484402, + 3142364886, + 2789472380, + 3256834822, + 3892541713, + 1623565600, + 1675505490, + 2620698177, + 3673524076, + 2080955389, + 1065100826, + 733588683, + 3421102604, + 3124094348, + 2926088386, + 2572020662, + 3629847241, + 3210685751, + 3777869452, + 2312883476, + 4021833219, + 4154438405, + 3802083340, + 1330722458, + 510261681, + 1877461401, + 2507918858, + 3905113533, + 1049690152, + 679185187, ]; static const List _envieddatasecretKey = [ - 474286294, - 2093448872, - 2684378058, - 762236995, - 1636115552, - 2335636463, - 3438108303, - 236497960, - 3845439438, - 1219568245, - 568189180, - 3198146057, - 2597236714, - 3478657741, - 2095528753, - 3306460406, - 4099659805, - 2067868308, - 2378528662, - 851565387, - 1238150803, - 1917905549, - 796473094, - 628475096, - 2635930302, - 961438427, - 55106767, - 98889681, - 3778890566, - 2237294146, - 1107267889, - 3976670453, - 3085133287, - 1396654036, - 3730501999, - 861350730, - 2826891936, - 746361570, - 921500951, - 324520181, - 2282104560, - 873437964, - 2034566477, - 4133131446, - 3361211100, - 2103074944, - 2402910052, - 3648827476, - 3606181779, - 1625280330, - 312225275, - 52979397, - 987120430, - 2905836709, - 1635995602, - 3743278246, - 2822131126, - 3147130345, - 261013612, - 2651091761, - 189381639, - 1987714854, - 1362076670, - 3247561223, - 304567425, - 443614700, - 1603286426, - 2041406078, - 2874247711, - 1123461780, - 1359138873, - 205019500, - 1009252961, - 3505516123, - 3419773602, - 904849885, - 2815818770, - 4240627438, - 444302567, - 1376754442, - 2708777433, - 468764847, - 891059720, - 2111588329, - 1382310937, - 959681147, - 1776878722, - 287154977, - 376087451, - 2748614834, - 1948258073, - 4112299052, - 908836414, - 650819342, - 3090541765, - 1747270720, - 1416338179, - 3761178084, - 2582062074, - 3153124837, - 1932395294, - 1221695608, - 1404578851, - 3398984219, - 2277249409, - 2905702769, - 3255126611, - 954248005, - 39611689, - 901862489, - 1789693999, - 4055224719, - 1282281366, - 1661772929, + 1897247450, + 217578491, + 3604932192, + 1134659273, + 2897406110, + 1488184232, + 4049259182, + 3875891152, + 3010322587, + 37206952, + 953252793, + 1379133431, + 4253178264, + 4032636085, + 997746859, + 3853132797, + 3724927025, + 1073703629, + 1231405425, + 416538996, + 434334928, + 2442654309, + 783465613, + 1765149913, + 1822551584, + 595422990, + 2686979398, + 2427909595, + 2842124960, + 4281459532, + 1212190905, + 241073381, + 3813032881, + 2046681472, + 2780216472, + 3968784258, + 237838707, + 2861620201, + 689234730, + 1176807088, + 2544911903, + 1550170554, + 256897081, + 2296414484, + 991104968, + 3608833064, + 2299076444, + 81353867, + 994449147, + 1238016147, + 3287199977, + 1461535625, + 2331982750, + 2067282901, + 2863702451, + 2997467299, + 288549086, + 3377079726, + 2963986159, + 1673763223, + 2727115886, + 1565853404, + 4157125789, + 205582399, + 1565404554, + 693909127, + 2916827776, + 2906500729, + 2990833388, + 3317096859, + 2084150478, + 2145739788, + 3015638762, + 2798791901, + 3682972052, + 3487457301, + 1089095488, + 3553867438, + 1181926536, + 323585659, + 3471049758, + 4201783040, + 3077850756, + 920422407, + 2631484327, + 3142364858, + 2789472265, + 3256834919, + 3892541817, + 1623565651, + 1675505505, + 2620698159, + 3673524028, + 2080955317, + 1065100908, + 733588652, + 3421102670, + 3124094445, + 2926088433, + 2572020613, + 3629847229, + 3210685808, + 3777869543, + 2312883501, + 4021833267, + 4154438515, + 3802083418, + 1330722479, + 510261737, + 1877461483, + 2507918930, + 3905113553, + 1049690218, + 679185231, ]; static final String secretKey = String.fromCharCodes(List.generate( @@ -1700,237 +1752,237 @@ final class _Env { ).map((int i) => _envieddatasecretKey[i] ^ _enviedkeysecretKey[i])); static const List _enviedkeystripePublishableKe = [ - 188815829, - 3943697106, - 2848183880, - 3104822147, - 1435948087, - 2104815163, - 2428636292, - 3939806683, - 2821877058, - 3669252554, - 2436712206, - 2694015112, - 3768208794, - 2232164431, - 2741554319, - 907912570, - 1499131141, - 3788821438, - 1615020584, - 4163462357, - 923795973, - 3631068740, - 497492381, - 1570632525, - 32021093, - 2417302365, - 2150711701, - 2924127745, - 1463255705, - 329664665, - 4147396550, - 2057297060, - 615658535, - 3143947133, - 1393500045, - 3164891254, - 3788090727, - 2005096638, - 217606952, - 148408260, - 354800051, - 1192292430, - 1121506665, - 3508945451, - 1951277561, - 649630087, - 1325628019, - 2658565601, - 535772615, - 3319305378, - 2572955169, - 2648164892, - 2329085405, - 2560206914, - 1525445667, - 1910917083, - 2487751693, - 2425311916, - 3130241657, - 3744575381, - 1873539043, - 2527213790, - 3594248396, - 3867467961, - 317621988, - 3194043767, - 463800740, - 1937107260, - 2405017141, - 1533480708, - 264818264, - 2555452563, - 2567958900, - 997267170, - 3245461326, - 572799978, - 3918869721, - 1597530251, - 1769987187, - 3484126211, - 1445399250, - 3508259128, - 3229271396, - 1926798117, - 2165365165, - 2265167321, - 1189666336, - 978904199, - 2674408675, - 1716448983, - 2835152484, - 1583013795, - 260341442, - 3055907005, - 757347463, - 1929207984, - 699799326, - 777612876, - 3847751112, - 1416797453, - 2669312692, - 3708229769, - 3556326563, - 76096208, - 1503568424, - 1277973276, - 2551636297, - 4218249318, - 2597520048, - 4285620625, - 3062469688, - 3298842355, - 1604088825, - 861559262, + 3015344029, + 1902300912, + 3231276264, + 2899582852, + 3414751774, + 3048820708, + 2938359758, + 788704318, + 4294796360, + 2325760221, + 668283857, + 636763806, + 3864077179, + 3133314794, + 4089620169, + 3406632403, + 3280472031, + 2409112535, + 2544678424, + 1665203319, + 3128827340, + 1399406648, + 3946815802, + 2616613898, + 3466566726, + 2373013996, + 4281236182, + 2468083411, + 2884403903, + 1530695097, + 805787659, + 3042168792, + 3182098175, + 3184387801, + 3301549835, + 790709842, + 2870468675, + 395809535, + 2003672118, + 1126578281, + 1757181511, + 4138109188, + 1865840234, + 1887816887, + 2277201416, + 1049779176, + 1521258483, + 3215554434, + 2764388761, + 3673527134, + 3998906571, + 2749969736, + 2878206854, + 2506898070, + 176673685, + 3294114699, + 2214264080, + 2548204183, + 1871676311, + 2391839696, + 706643988, + 1928371761, + 2725799243, + 1288130685, + 3866430893, + 2983353615, + 1513235401, + 59545031, + 2930203308, + 4261877461, + 3267739874, + 4086881993, + 1081823367, + 2336735749, + 1548494954, + 592296762, + 3720331609, + 384751393, + 459098903, + 512549943, + 892921978, + 2126169168, + 2417982449, + 1964779244, + 3698771298, + 1469035931, + 279639423, + 1150759396, + 1870780507, + 1117929296, + 1985551080, + 1481129344, + 2535738267, + 2431004158, + 864860520, + 279233338, + 3841579015, + 2521511723, + 1271814377, + 2716214256, + 3336718305, + 820289748, + 3131475527, + 3571228207, + 1405139317, + 3227740614, + 3127259714, + 2211824789, + 190660135, + 679540510, + 2132032086, + 645665395, + 2706343520, + 3146400746, ]; static const List _envieddatastripePublishableKe = [ - 188815779, - 3943697077, - 2848183831, - 3104822259, - 1435948101, - 2104815188, - 2428636404, - 3939806641, - 2821877021, - 3669252607, - 2436712249, - 2694015169, - 3768208883, - 2232164409, - 2741554361, - 907912503, - 1499131203, - 3788821501, - 1615020650, - 4163462291, - 923796084, - 3631068791, - 497492446, - 1570632575, - 32021003, - 2417302379, - 2150711806, - 2924127823, - 1463255763, - 329664759, - 4147396508, - 2057297126, - 615658590, - 3143947051, - 1393500091, - 3164891160, - 3788090642, - 2005096698, - 217607004, - 148408220, - 354800086, - 1192292471, - 1121506592, - 3508945473, - 1951277500, - 649630167, - 1325627964, - 2658565511, - 535772591, - 3319305423, - 2572955217, - 2648164952, - 2329085353, - 2560206869, - 1525445710, - 1910917039, - 2487751742, - 2425311969, - 3130241589, - 3744575431, - 1873539027, - 2527213753, - 3594248349, - 3867467977, - 317621901, - 3194043711, - 463800775, - 1937107309, - 2405017176, - 1533480773, - 264818206, - 2555452638, - 2567958817, - 997267122, - 3245461308, - 572799920, - 3918869690, - 1597530296, - 1769987106, - 3484126314, - 1445399185, - 3508259196, - 3229271310, - 1926798173, - 2165365231, - 2265167235, - 1189666412, - 978904293, - 2674408603, - 1716448915, - 2835152423, - 1583013776, - 260341415, - 3055907035, - 757347583, - 1929208039, - 699799398, - 777612854, - 3847751163, - 1416797502, - 2669312726, - 3708229854, - 3556326635, - 76096225, - 1503568498, - 1277973371, - 2551636283, - 4218249237, - 2597520104, - 4285620707, - 3062469728, - 3298842271, - 1604088763, - 861559218, + 3015344107, + 1902300823, + 3231276215, + 2899582964, + 3414751852, + 3048820619, + 2938359742, + 788704340, + 4294796311, + 2325760232, + 668283878, + 636763863, + 3864077074, + 3133314716, + 4089620223, + 3406632350, + 3280471961, + 2409112468, + 2544678490, + 1665203249, + 3128827325, + 1399406603, + 3946815865, + 2616613944, + 3466566696, + 2373013978, + 4281236157, + 2468083357, + 2884403957, + 1530695127, + 805787729, + 3042168730, + 3182098054, + 3184387727, + 3301549885, + 790709820, + 2870468662, + 395809467, + 2003672130, + 1126578225, + 1757181474, + 4138109245, + 1865840163, + 1887816925, + 2277201485, + 1049779128, + 1521258428, + 3215554532, + 2764388849, + 3673527091, + 3998906555, + 2749969676, + 2878206962, + 2506898113, + 176673784, + 3294114815, + 2214264099, + 2548204250, + 1871676379, + 2391839618, + 706644004, + 1928371798, + 2725799194, + 1288130573, + 3866430916, + 2983353671, + 1513235370, + 59544982, + 2930203329, + 4261877396, + 3267739812, + 4086881924, + 1081823442, + 2336735829, + 1548494872, + 592296800, + 3720331578, + 384751378, + 459098950, + 512549982, + 892921913, + 2126169108, + 2417982363, + 1964779156, + 3698771232, + 1469035969, + 279639347, + 1150759302, + 1870780451, + 1117929236, + 1985551019, + 1481129395, + 2535738366, + 2431004056, + 864860432, + 279233389, + 3841579135, + 2521511761, + 1271814362, + 2716214211, + 3336718211, + 820289667, + 3131475471, + 3571228190, + 1405139247, + 3227740577, + 3127259696, + 2211824870, + 190660223, + 679540588, + 2132032014, + 645665311, + 2706343458, + 3146400646, ]; static final String stripePublishableKe = String.fromCharCodes( @@ -1943,125 +1995,125 @@ final class _Env { _enviedkeystripePublishableKe[i])); static const List _enviedkeychatGPTkeySefer = [ - 1700412524, - 117529865, - 3410451706, - 3248210384, - 2494331620, - 1591472842, - 2338787152, - 3097313059, - 1617216519, - 4223453966, - 2108435718, - 4212141515, - 3535614385, - 171461231, - 2934868405, - 993555403, - 307043549, - 2702165621, - 1208741821, - 3607579733, - 1676452448, - 1615379119, - 346227638, - 2417165568, - 444595059, - 2915045834, - 4292637591, - 139367570, - 1537829935, - 2223591015, - 1706001564, - 532922875, - 2410978364, - 1893657475, - 878721301, - 302151963, - 312783208, - 405274341, - 1403747729, - 3644789197, - 2948589052, - 1729175639, - 3871375059, - 2751382081, - 1116562198, - 3607186252, - 522904637, - 1688978239, - 697433815, - 818419775, - 1870721953, - 3050898384, - 3391386814, - 134198994, - 4240194500, - 3863009818, - 4122380706, - 2286745684, + 2666721791, + 2549605422, + 2579467960, + 3604768194, + 3273638864, + 885930617, + 1987132445, + 3241854511, + 805847935, + 4126852805, + 2210634215, + 1262082129, + 1892203121, + 1711688944, + 3262797569, + 4294135985, + 3827018561, + 1771201626, + 141420954, + 2640138975, + 1935180514, + 2779250386, + 684638345, + 1626995727, + 284017270, + 2737802415, + 1879894513, + 2734217813, + 654768309, + 3886442942, + 126758245, + 1339780338, + 2443625101, + 4214921302, + 2061854895, + 2097911342, + 2193209040, + 3322993642, + 3998652548, + 4252591704, + 1140633026, + 3935180792, + 324913339, + 1202656668, + 2738325524, + 4255410946, + 2691216859, + 2746573131, + 1573515629, + 135580712, + 3948797874, + 2935580630, + 2673944223, + 1687517458, + 688039226, + 541852631, + 1068385794, + 3272172532, ]; static const List _envieddatachatGPTkeySefer = [ - 1700412438, - 117529966, - 3410451671, - 3248210329, - 2494331533, - 1591472792, - 2338787171, - 3097313098, - 1617216563, - 4223454049, - 2108435817, - 4212141489, - 3535614416, - 171461212, - 2934868460, - 993555389, - 307043509, - 2702165507, - 1208741855, - 3607579756, - 1676452370, - 1615379189, - 346227677, - 2417165617, - 444594992, - 2915045875, - 4292637647, - 139367648, - 1537829975, - 2223590912, - 1706001609, - 532922814, - 2410978316, - 1893657583, - 878721325, - 302152049, - 312783162, - 405274295, - 1403747787, - 3644789183, - 2948588980, - 1729175613, - 3871375072, - 2751382032, - 1116562291, - 3607186297, - 522904684, - 1688978279, - 697433735, - 818419795, - 1870722000, - 3050898310, - 3391386854, - 134198944, - 4240194460, - 3863009910, - 4122380768, - 2286745656, + 2666721669, + 2549605449, + 2579467925, + 3604768139, + 3273638841, + 885930539, + 1987132462, + 3241854534, + 805847883, + 4126852778, + 2210634120, + 1262082091, + 1892203024, + 1711688899, + 3262797656, + 4294136007, + 3827018537, + 1771201580, + 141421048, + 2640138982, + 1935180432, + 2779250312, + 684638434, + 1626995774, + 284017205, + 2737802390, + 1879894441, + 2734217767, + 654768333, + 3886442969, + 126758192, + 1339780279, + 2443625149, + 4214921274, + 2061854871, + 2097911364, + 2193208962, + 3322993592, + 3998652638, + 4252591658, + 1140632970, + 3935180690, + 324913288, + 1202656717, + 2738325617, + 4255410999, + 2691216778, + 2746573075, + 1573515581, + 135580740, + 3948797891, + 2935580544, + 2673944263, + 1687517536, + 688039266, + 541852603, + 1068385856, + 3272172440, ]; static final String chatGPTkeySefer = String.fromCharCodes(List.generate( @@ -2072,157 +2124,157 @@ final class _Env { (int i) => _envieddatachatGPTkeySefer[i] ^ _enviedkeychatGPTkeySefer[i])); static const List _enviedkeyllamaKey = [ - 3998918419, - 197743040, - 659038501, - 1110382817, - 3064666989, - 2325211944, - 694371478, - 2286231933, - 1371358854, - 3653504671, - 1473717576, - 1684642773, - 45905427, - 2398195472, - 3424492570, - 4132117882, - 3981615781, - 2576780333, - 729180749, - 3814948968, - 2619106324, - 4242199080, - 2408787747, - 1573409978, - 3683563941, - 1020295956, - 1878322969, - 1329032750, - 216692169, - 4157891947, - 1539284342, - 1074344715, - 1314258691, - 480973314, - 2758710157, - 2842286038, - 1299508149, - 3979344156, - 2727188172, - 3292157089, - 4022459210, - 916106707, - 1143348079, - 1470446507, - 1472811753, - 3478352621, - 2443804406, - 1373869488, - 3734041550, - 2270455685, - 734187965, - 3712121769, - 3595269438, - 2947465967, - 2526270189, - 839304449, - 2626563929, - 783083074, - 2089929934, - 3666994398, - 3269859888, - 3714368445, - 937068641, - 1535566704, - 3112690489, - 582600433, - 1592205032, - 3625480095, - 3003036808, - 85300373, - 2447577030, - 3007554338, - 2388336387, - 3056641880, + 3555122118, + 2326329705, + 750340608, + 574845812, + 1835686228, + 2935056413, + 2541063708, + 2772965730, + 3906373643, + 1823426502, + 3833446574, + 1697064783, + 2908303435, + 3194041791, + 2304244517, + 3664178553, + 3009453360, + 2287906884, + 157165288, + 1156046268, + 2714638844, + 3449002222, + 3067331485, + 1455287475, + 2836626630, + 370954493, + 1547293137, + 985303965, + 923698635, + 3798229340, + 1521837281, + 3300989696, + 2747825174, + 959818359, + 942817307, + 4222297750, + 928667844, + 3422055366, + 791657294, + 3980303473, + 3934614012, + 1903883342, + 839746301, + 3937922232, + 1208202864, + 531643008, + 1841527350, + 2104341419, + 3937941497, + 538909227, + 434474141, + 1290024891, + 2875325435, + 715412039, + 450789800, + 870839194, + 1707042571, + 1534702655, + 3179636662, + 1535079775, + 4214055026, + 4290924281, + 3472275138, + 2751876129, + 2866770526, + 586980005, + 3783233770, + 198668758, + 2153105586, + 2609121305, + 3577364714, + 1920635702, + 3669329714, + 653495613, ]; static const List _envieddatallamaKey = [ - 3998918465, - 197742994, - 659038472, - 1110382756, - 3064666904, - 2325211985, - 694371577, - 2286231867, - 1371358914, - 3653504714, - 1473717566, - 1684642739, - 45905473, - 2398195540, - 3424492632, - 4132117781, - 3981615823, - 2576780313, - 729180795, - 3814948878, - 2619106382, - 4242199139, - 2408787810, - 1573409998, - 3683564014, - 1020296030, - 1878322986, - 1329032792, - 216692134, - 4157891878, - 1539284302, - 1074344774, - 1314258807, - 480973365, - 2758710203, - 2842286062, - 1299508182, - 3979344204, - 2727188137, - 3292157163, - 4022459164, - 916106724, - 1143348008, - 1470446565, - 1472811661, - 3478352556, - 2443804317, - 1373869536, - 3734041498, - 2270455758, - 734187993, - 3712121840, - 3595269382, - 2947465888, - 2526270089, - 839304556, - 2626563936, - 783083052, - 2089929978, - 3666994361, - 3269859927, - 3714368506, - 937068560, - 1535566649, - 3112690444, - 582600374, - 1592204945, - 3625480176, - 3003036880, - 85300455, - 2447576990, - 3007554382, - 2388336449, - 3056641844, + 3555122068, + 2326329659, + 750340653, + 574845745, + 1835686177, + 2935056484, + 2541063795, + 2772965668, + 3906373711, + 1823426451, + 3833446616, + 1697064745, + 2908303385, + 3194041851, + 2304244583, + 3664178454, + 3009453402, + 2287906928, + 157165278, + 1156046298, + 2714638758, + 3449002149, + 3067331548, + 1455287495, + 2836626573, + 370954423, + 1547293154, + 985304043, + 923698596, + 3798229265, + 1521837273, + 3300989773, + 2747825250, + 959818304, + 942817325, + 4222297774, + 928667815, + 3422055318, + 791657259, + 3980303419, + 3934613930, + 1903883385, + 839746234, + 3937922294, + 1208202772, + 531643073, + 1841527389, + 2104341499, + 3937941421, + 538909280, + 434474233, + 1290024930, + 2875325379, + 715411976, + 450789836, + 870839287, + 1707042610, + 1534702673, + 3179636610, + 1535079736, + 4214054933, + 4290924222, + 3472275123, + 2751876200, + 2866770539, + 586980066, + 3783233683, + 198668729, + 2153105642, + 2609121387, + 3577364658, + 1920635738, + 3669329776, + 653495633, ]; static final String llamaKey = String.fromCharCodes(List.generate( @@ -2232,65 +2284,65 @@ final class _Env { ).map((int i) => _envieddatallamaKey[i] ^ _enviedkeyllamaKey[i])); static const List _enviedkeyserverPHP = [ - 1888643014, - 2654205406, - 2591453847, - 881620460, - 2224893369, - 479618428, - 1554285973, - 1531396425, - 1413811207, - 418849496, - 3573306652, - 1131331153, - 2315413798, - 2218113887, - 145401015, - 4190489567, - 2840364301, - 734913556, - 3226781510, - 1526519771, - 3599135396, - 3741154199, - 2907919098, - 1053893721, - 78389799, - 2807306626, - 357252249, - 2686486277, + 1969208844, + 3685105489, + 3985860788, + 1248760260, + 2708419, + 2098370540, + 3031210828, + 3907121476, + 1991223849, + 332363801, + 2221725065, + 1090835439, + 577358101, + 1608921829, + 3192491663, + 2748071000, + 1318354055, + 3906219165, + 1311207564, + 2232900632, + 2432017873, + 2901844894, + 2566667412, + 3597503333, + 961116967, + 1137778284, + 34728661, + 3025338383, ]; static const List _envieddataserverPHP = [ - 1888642990, - 2654205354, - 2591453923, - 881620380, - 2224893386, - 479618374, - 1554286010, - 1531396454, - 1413811302, - 418849448, - 3573306741, - 1131331199, - 2315413845, - 2218113850, - 145401041, - 4190489530, - 2840364415, - 734913594, - 3226781482, - 1526519730, - 3599135442, - 3741154290, - 2907919061, - 1053893674, - 78389826, - 2807306724, - 357252348, - 2686486391, + 1969208932, + 3685105445, + 3985860800, + 1248760244, + 2708400, + 2098370518, + 3031210851, + 3907121515, + 1991223880, + 332363881, + 2221725152, + 1090835393, + 577358182, + 1608921728, + 3192491753, + 2748070973, + 1318354165, + 3906219187, + 1311207648, + 2232900721, + 2432017831, + 2901844987, + 2566667451, + 3597503254, + 961116994, + 1137778186, + 34728624, + 3025338493, ]; static final String serverPHP = String.fromCharCodes(List.generate( @@ -2301,238 +2353,238 @@ final class _Env { static const List _enviedkeyanthropicAIkeySeferNewHamzaayedpython = [ - 3846622609, - 3946924330, - 1629239431, - 3037116715, - 3639604758, - 1630342515, - 1376479747, - 726066898, - 1155528104, - 2918251927, - 2483349034, - 3851097394, - 1173628683, - 2926721535, - 1607920540, - 721483169, - 2515437261, - 2382206958, - 4155012572, - 3285395508, - 3728160316, - 796750034, - 688513104, - 2165867108, - 1183663797, - 1182793819, - 16819369, - 2244880133, - 3519548028, - 1728497693, - 815460315, - 913864801, - 885436790, - 440954858, - 1285698152, - 419606576, - 2814281950, - 3046470008, - 3990712410, - 3602891590, - 343120566, - 2294458595, - 1784965666, - 1531160834, - 436155294, - 731566310, - 3496283928, - 4289152748, - 2597780223, - 2038896619, - 4290520638, - 808830346, - 4116687188, - 422978679, - 76732108, - 861283063, - 1525655057, - 2630279074, - 2395891268, - 2152770474, - 2305602661, - 572378235, - 2026146852, - 1671614464, - 2706858117, - 3109328970, - 3792030363, - 3817892925, - 2675034713, - 78412351, - 4188178447, - 2701340453, - 3615837995, - 2539064387, - 1292082687, - 2858529722, - 2395126131, - 2286265281, - 3471346658, - 1636204680, - 1732999454, - 3826063880, - 58349213, - 210449734, - 1332642519, - 4140751476, - 2532164197, - 607187783, - 2205735532, - 3702314451, - 1291600707, - 4223219761, - 3044587838, - 987134792, - 1755089986, - 4040259420, - 2808166111, - 2945968477, - 3841440135, - 173229073, - 1483988420, - 3573039219, - 2893760714, - 3991196652, - 1091700284, - 3212916768, - 1168386790, - 1187876436, - 1517384399, - 1729585523, - 1305617152, - 3823765105, - 3428024505, - 3615444777, + 2239590971, + 4285965516, + 3695138759, + 3637297636, + 4099748391, + 3630345505, + 1046761753, + 2316353469, + 1486285890, + 3453922576, + 1461711626, + 1540359714, + 235638062, + 1911640557, + 1341630746, + 2372710779, + 376551306, + 2450254571, + 2261154098, + 2753535277, + 2097738604, + 624429865, + 2691420767, + 1829894372, + 565583722, + 1373608420, + 2161766275, + 2813459082, + 79109545, + 2303720377, + 1409988535, + 4191969475, + 733659744, + 1002946509, + 912373302, + 3851860865, + 1591076025, + 2508500475, + 3898489201, + 2598538000, + 3318881476, + 2239996289, + 3804260000, + 657917637, + 2173392825, + 2181300644, + 1479400036, + 2432630723, + 3487553971, + 544261188, + 936764434, + 3200935935, + 1465469109, + 2178808415, + 1832701799, + 3039462395, + 3931950549, + 2399558786, + 369170024, + 4208016132, + 2006223332, + 2741602301, + 4247906530, + 2689592165, + 823096094, + 2866545522, + 779237718, + 1483928876, + 3465509816, + 3211719782, + 3456757508, + 486099864, + 35839225, + 2906336624, + 3674340640, + 2824942461, + 22847070, + 3081219473, + 3580986795, + 2608626252, + 3702753378, + 4135376, + 2719951367, + 2087574197, + 2800870656, + 206054240, + 2765639902, + 3586847345, + 1832852376, + 2909566728, + 1258389353, + 614454563, + 3210321597, + 2252175412, + 2789694340, + 905281069, + 68021922, + 4033873930, + 2347853514, + 537037329, + 2796433849, + 866713578, + 2015214550, + 743963859, + 427130879, + 580970434, + 2645097993, + 28836884, + 3412571719, + 3610627508, + 2120413846, + 965092952, + 3972526624, + 682605986, ]; static const List _envieddataanthropicAIkeySeferNewHamzaayedpython = [ - 3846622699, - 3946924365, - 1629239466, - 3037116762, - 3639604852, - 1630342416, - 1376479790, - 726066851, - 1155528158, - 2918252024, - 2483349017, - 3851097355, - 1173628710, - 2926721417, - 1607920607, - 721483235, - 2515437280, - 2382206905, - 4155012530, - 3285395534, - 3728160377, - 796749989, - 688513046, - 2165867050, - 1183663860, - 1182793769, - 16819430, - 2244880181, - 3519547941, - 1728497777, - 815460239, - 913864704, - 885436678, - 440954780, - 1285698062, - 419606616, - 2814281898, - 3046469909, - 3990712381, - 3602891571, - 343120637, - 2294458548, - 1784965713, - 1531160922, - 436155348, - 731566261, - 3496283987, - 4289152669, - 2597780120, - 2038896564, - 4290520688, - 808830416, - 4116687111, - 422978589, - 76732036, - 861282997, - 1525655112, - 2630279156, - 2395891228, - 2152770535, - 2305602623, - 572378160, - 2026146837, - 1671614585, - 2706858192, - 3109328897, - 3792030371, - 3817892869, - 2675034634, - 78412368, - 4188178541, - 2701340481, - 3615838024, - 2539064360, - 1292082601, - 2858529674, - 2395126072, - 2286265268, - 3471346610, - 1636204777, - 1732999516, - 3826063968, - 58349229, - 210449701, - 1332642440, - 4140751395, - 2532164141, - 607187763, - 2205735467, - 3702314400, - 1291600657, - 4223219838, - 3044587873, - 987134844, - 1755090033, - 4040259429, - 2808166031, - 2945968415, - 3841440236, - 173229116, - 1483988385, - 3573039169, - 2893760667, - 3991196573, - 1091700315, - 3212916811, - 1168386743, - 1187876357, - 1517384343, - 1729585409, - 1305617240, - 3823765021, - 3428024571, - 3615444805, + 2239590977, + 4285965483, + 3695138794, + 3637297557, + 4099748421, + 3630345538, + 1046761780, + 2316353484, + 1486285876, + 3453922687, + 1461711673, + 1540359707, + 235638019, + 1911640475, + 1341630809, + 2372710713, + 376551335, + 2450254524, + 2261154140, + 2753535319, + 2097738537, + 624429918, + 2691420697, + 1829894314, + 565583659, + 1373608342, + 2161766348, + 2813459130, + 79109616, + 2303720405, + 1409988579, + 4191969442, + 733659664, + 1002946491, + 912373328, + 3851860969, + 1591076045, + 2508500374, + 3898489110, + 2598538085, + 3318881423, + 2239996374, + 3804260051, + 657917597, + 2173392883, + 2181300727, + 1479399983, + 2432630706, + 3487554004, + 544261147, + 936764508, + 3200935845, + 1465469158, + 2178808373, + 1832701743, + 3039462329, + 3931950476, + 2399558868, + 369169968, + 4208016201, + 2006223294, + 2741602230, + 4247906515, + 2689592092, + 823096139, + 2866545465, + 779237742, + 1483928852, + 3465509867, + 3211719689, + 3456757606, + 486099964, + 35839130, + 2906336539, + 3674340726, + 2824942413, + 22846997, + 3081219556, + 3580986875, + 2608626221, + 3702753312, + 4135352, + 2719951415, + 2087574230, + 2800870751, + 206054199, + 2765639830, + 3586847237, + 1832852447, + 2909566843, + 1258389307, + 614454636, + 3210321634, + 2252175360, + 2789694391, + 905281044, + 68022002, + 4033873992, + 2347853473, + 537037372, + 2796433884, + 866713560, + 2015214471, + 743963810, + 427130776, + 580970409, + 2645098072, + 28836933, + 3412571679, + 3610627526, + 2120413902, + 965092916, + 3972526690, + 682606030, ]; static final String anthropicAIkeySeferNewHamzaayedpython = @@ -2545,6329 +2597,6329 @@ final class _Env { _enviedkeyanthropicAIkeySeferNewHamzaayedpython[i])); static const List _enviedkeyprivateKeyFCM = [ - 3854504205, - 2770250022, - 1150798656, - 3634373917, - 261010519, - 3781905294, - 4258528727, - 2172105937, - 2136542715, - 1279417758, - 2873791634, - 781275118, - 94837120, - 3926880084, - 3916390477, - 1297114572, - 866275483, - 1558176997, - 328819633, - 2777815201, - 1527611072, - 1672870473, - 3935109721, - 3577338869, - 176007397, - 990744960, - 430834278, - 3759459040, - 1109091371, - 3207599740, - 3664048673, - 2058699368, - 3328728351, - 1108198607, - 389928056, - 3932874058, - 2558221777, - 106989160, - 3312732874, - 2544600423, - 1206126552, - 2393377705, - 3355662244, - 4063128030, - 2345291860, - 2149586137, - 3808345524, - 2866669361, - 1171282109, - 4127685843, - 783056508, - 2727004482, - 591982832, - 1801510618, - 3439406114, - 2005343869, - 3204318148, - 760387747, - 529796648, - 295222938, - 774924321, - 2270056145, - 975067875, - 1024806937, - 3635121470, - 2250219578, - 344081337, - 2695082038, - 95160157, - 2594734160, - 2178915466, - 1675618887, - 3543522405, - 3107674470, - 2906325409, - 388847459, - 2654429454, - 143770331, - 2742275471, - 4052779508, - 1937873289, - 346443688, - 2019377591, - 2564837967, - 1206468007, - 3952755373, - 1499984600, - 3824385976, - 3052053015, - 1699495138, - 2414730863, - 2906922133, - 1776062052, - 484797634, - 418255292, - 3859298036, - 183904693, - 2213345346, - 775300757, - 1611351121, - 3726366865, - 2635328369, - 2907755068, - 3724041550, - 4085520749, - 859736081, - 1621635968, - 2000915081, - 758280172, - 86644854, - 3929750028, - 2709586028, - 1675267769, - 1448464302, - 2828820843, - 223642348, - 4060003206, - 1597576654, - 1318493329, - 3759630980, - 1201184504, - 3044366616, - 580621062, - 3031703021, - 1588581028, - 4171734958, - 1420322106, - 1612068456, - 1115665318, - 2549517091, - 4124708484, - 3207872561, - 1690609859, - 2227783982, - 853403617, - 1221876710, - 263290963, - 3556043651, - 519199556, - 3232180324, - 4026015618, - 3443544430, - 1357669149, - 1903444943, - 974412716, - 2891588491, - 2361080199, - 279384060, - 3635030897, - 4173212757, - 1948575969, - 3947437366, - 1299967776, - 3184153827, - 2873855557, - 1417610871, - 24248454, - 1606533052, - 1657093445, - 2308658984, - 2050904397, - 156091594, - 1472871716, - 603487983, - 315427054, - 1241372076, - 2034560972, - 2265742174, - 2564211301, - 3652211496, - 479323694, - 1101374140, - 441762521, - 1037402966, - 4232359702, - 113556809, - 2109403682, - 526269885, - 3752201318, - 3370037070, - 2467668949, - 1473675980, - 4213831438, - 2950249131, - 523746706, - 1928574287, - 1267554246, - 1756841076, - 284715802, - 433919551, - 4260584168, - 2764344969, - 2417867472, - 327583746, - 991582732, - 118005002, - 2180833205, - 2889567183, - 3844967551, - 3357172421, - 2571025867, - 1829852480, - 2563750965, - 3472612964, - 2564912992, - 3551300621, - 1672423761, - 3990631326, - 2191487838, - 2746386563, - 1666887593, - 42214701, - 1660181950, - 3533583451, - 1494112830, - 771985294, - 2462169458, - 679082262, - 817556522, - 3497278895, - 7225279, - 1114672346, - 63001316, - 818473570, - 267066948, - 2167351757, - 2939752274, - 976462431, - 2930387191, - 424803968, - 1023732957, - 31482498, - 1972808754, - 3638544959, - 885611306, - 3809979581, - 992970739, - 2299174452, - 2266490295, - 418919531, - 3592084647, - 3595399825, - 3625778004, - 4019136393, - 4128009217, - 153618578, - 1936168926, - 862351581, - 2005133693, - 443611369, - 2135387357, - 1164610260, - 3531355774, - 2218298226, - 3669914157, - 2792502124, - 433098991, - 713885338, - 2773170633, - 1909857230, - 2559410069, - 3921144265, - 3085906503, - 2270517798, - 2249502757, - 1317252297, - 1581927249, - 3376547287, - 627696155, - 1737755974, - 1579373851, - 3931817704, - 2316945900, - 2099650936, - 2601518892, - 2435267616, - 4149513831, - 1193454992, - 4061780529, - 2712576178, - 3801493557, - 4217513052, - 2543057299, - 1261371097, - 1767790882, - 1794335043, - 2795716755, - 4149797915, - 678523704, - 1523729343, - 3334945285, - 165670332, - 379718904, - 393165150, - 206177015, - 1578366966, - 1125999238, - 451064971, - 606090827, - 3282662975, - 1982395083, - 3890137237, - 3781141851, - 1969343387, - 4163159460, - 1959705958, - 3135828364, - 1911422931, - 2257672745, - 780544253, - 3936157008, - 1614206246, - 3260144105, - 1324531936, - 2150717534, - 2106729944, - 146721628, - 2492821827, - 963619454, - 142596525, - 2800436681, - 1391645421, - 660878984, - 753567941, - 1952112862, - 2373837653, - 4285382853, - 451910557, - 2930411011, - 2571740011, - 3042630417, - 1054769556, - 1564446940, - 3465619302, - 2367824372, - 1706430852, - 492712682, - 2226446065, - 78085554, - 734264237, - 2151381936, - 2093208311, - 916445167, - 1633350792, - 2224323812, - 612916288, - 583416221, - 4105211054, - 4023105872, - 2711854767, - 1637995127, - 3794382179, - 2596185009, - 1278977220, - 3562178625, - 1322927511, - 2381457957, - 1997231078, - 2513484095, - 1830949422, - 1271920644, - 121606427, - 3833583249, - 40465152, - 3443531073, - 2652815456, - 1254062071, - 998336258, - 4036295745, - 2289525841, - 1649145318, - 2969803159, - 2810727810, - 64953904, - 2052353147, - 3409379630, - 1407187446, - 3859317667, - 2406660602, - 2163927665, - 4277857344, - 3157701755, - 1809601483, - 3803191386, - 2738230495, - 2994964211, - 1141525770, - 4057581766, - 3761836519, - 3092197872, - 3934942754, - 4284363790, - 3931495173, - 3783340219, - 1353800789, - 263250869, - 825828084, - 1016502407, - 2660556674, - 653664477, - 2357251608, - 1579753861, - 2053423717, - 1626068129, - 3078422399, - 3226540485, - 2609602743, - 2053554855, - 3739359602, - 1545518290, - 3426213415, - 2331688766, - 1308285637, - 1875314641, - 1001077661, - 1710952759, - 2649585296, - 1056717355, - 3809954721, - 1853851951, - 3443183523, - 4112745345, - 3478795440, - 1171979889, - 3032374809, - 2232739902, - 242660694, - 1935555340, - 3287167581, - 118976240, - 1058027318, - 895352160, - 2736170648, - 1049007260, - 1279926312, - 1964737864, - 474183281, - 4214133011, - 1942969452, - 4146280183, - 744646882, - 3804044445, - 2372763053, - 3556976435, - 3251508200, - 3838180088, - 2247357021, - 246730625, - 2838629636, - 4085779590, - 2801567604, - 597481035, - 765249598, - 2501129309, - 607057995, - 2137278025, - 2342873399, - 4209218225, - 2457393384, - 2067457476, - 1917319608, - 599669843, - 1388648028, - 1992827894, - 2951627125, - 679159972, - 3437803506, - 3651155592, - 1118672455, - 1982438388, - 154593325, - 155116471, - 2875134428, - 1804439160, - 2317422324, - 2620004956, - 3663200693, - 3739521492, - 3973726756, - 968173588, - 1617245142, - 2827950667, - 228447393, - 1364611156, - 766273416, - 1653793003, - 3772128071, - 323877540, - 1055659384, - 1157360491, - 2046410196, - 962257060, - 492712398, - 1438481115, - 2467840151, - 3530616620, - 3546675693, - 3012826200, - 2709323988, - 2605772349, - 287559434, - 431045709, - 1164436363, - 1184459480, - 497231769, - 2194864985, - 499993126, - 1635557429, - 2944321315, - 3298473194, - 4101276398, - 2518279216, - 1109520552, - 4223432906, - 457873286, - 3142186346, - 4678109, - 145391563, - 3449951828, - 844118996, - 1015235313, - 1668311711, - 4088410133, - 2998636890, - 3288306242, - 352212054, - 2998322405, - 3039532292, - 4294217423, - 642576354, - 2036938079, - 1380315841, - 3064504080, - 1921908152, - 2679665172, - 1745288471, - 309958845, - 185343309, - 3584327296, - 4125119783, - 4647813, - 2141269319, - 3458590634, - 2375303394, - 424927976, - 1190707658, - 449203281, - 1851407465, - 812149113, - 1905074739, - 3570435790, - 2810031010, - 1272043885, - 1533052850, - 2350379219, - 2821419904, - 1312584112, - 3284923157, - 4260913108, - 722303479, - 4172030234, - 977159053, - 3136387902, - 1864231548, - 3151611624, - 2511691698, - 1643742236, - 2745791653, - 452605184, - 3178278561, - 977776520, - 2184808177, - 480598865, - 1307143258, - 3309074483, - 36971061, - 4064458073, - 1744018978, - 2265443390, - 2236704459, - 3055712485, - 4037433533, - 2936278498, - 4125296100, - 2950957020, - 825747759, - 1834817372, - 1739654311, - 3886784126, - 2414345839, - 2739463809, - 240875176, - 3649978878, - 1938912620, - 2633670238, - 3245534218, - 3984092271, - 2041264303, - 2457591568, - 1754128261, - 3020907821, - 3958813301, - 3612232655, - 1302564416, - 1492299031, - 2600610927, - 185307202, - 756433058, - 3446720744, - 2734875758, - 3261377782, - 3005610432, - 797423725, - 1600617979, - 1606997672, - 3939708047, - 2190754159, - 3532699333, - 3511814917, - 2665940820, - 1911567503, - 3195472930, - 2544179222, - 319798035, - 3989810736, - 2622482557, - 1842553295, - 3147536164, - 2201736964, - 3576314161, - 4023466210, - 4155706465, - 2652186951, - 768751100, - 751468731, - 2079327087, - 2070111469, - 1092838165, - 1589896688, - 1705254480, - 3470428097, - 3463396358, - 2712035859, - 2484221281, - 924786706, - 2939161015, - 2115812306, - 1015578351, - 2956159895, - 3466265169, - 1310472068, - 75095568, - 3617814719, - 1716124065, - 547910554, - 2705589003, - 3664969490, - 383825280, - 3530240018, - 2476818782, - 3332170477, - 3466587722, - 4121533838, - 1315905478, - 988707576, - 3770530538, - 3545732080, - 2602440395, - 1382638521, - 3233052038, - 2340775148, - 694333531, - 3204251368, - 60483857, - 1379204132, - 3253622101, - 3998537184, - 2976950980, - 167916577, - 4229850186, - 678922873, - 550289629, - 671150977, - 858575898, - 3213287090, - 1855622317, - 3924805536, - 3164471035, - 2544278573, - 1940102997, - 3924321676, - 3446998509, - 1904301874, - 1773837975, - 3477935030, - 2770039568, - 3433033111, - 3133284792, - 355528287, - 248254387, - 885571309, - 1900034928, - 2898175275, - 583216134, - 4222052703, - 2694094414, - 44974734, - 2190127698, - 2841037547, - 1926458963, - 2029969541, - 4218236002, - 907051348, - 575931462, - 4114792011, - 3122927194, - 3803226251, - 1435839413, - 2024297588, - 2910662566, - 372014588, - 2807421413, - 3426340653, - 1129382767, - 1207203062, - 3912262179, - 512951630, - 515218454, - 2461174379, - 1463959427, - 3177443069, - 47074055, - 2463025939, - 1253105371, - 291075474, - 795234574, - 2292182723, - 2074524424, - 1063816447, - 2370635511, - 1346763364, - 1144818750, - 4235714149, - 1328709251, - 816625576, - 3370398373, - 3578358645, - 3848947300, - 1740789703, - 380399059, - 1852729899, - 3395933826, - 2013708214, - 2451484005, - 1660028387, - 1101526777, - 3244806250, - 841252757, - 3431343465, - 3382088533, - 2027285539, - 1730994625, - 2434494347, - 1206745672, - 1556639724, - 614331894, - 3237391742, - 3931672701, - 436408690, - 838133838, - 2138256298, - 219520662, - 1127886598, - 882907033, - 266333323, - 66413293, - 730098669, - 629101949, - 1659437088, - 3184963930, - 3537646533, - 3799478269, - 276397533, - 3491759229, - 1105960447, - 3508855315, - 3536149339, - 380875177, - 2300669782, - 992609278, - 2944638924, - 1910455691, - 2595791683, - 523442562, - 1488359257, - 1320517918, - 273684719, - 1738885924, - 3789168341, - 1580816389, - 1955983820, - 1114329102, - 334148094, - 1429301364, - 719830293, - 3212691244, - 1954425662, - 2101020514, - 3420758015, - 1809184329, - 2896989722, - 1368220260, - 1162866139, - 3690930805, - 1079395344, - 3277545312, - 419438516, - 1083693146, - 1241145008, - 4167437799, - 1051602227, - 1736535412, - 4106010486, - 2245166241, - 3666506833, - 2789146914, - 2789264691, - 2892484842, - 4222795520, - 4274327998, - 3756737691, - 3226116167, - 3993502754, - 3813276977, - 1830593612, - 342265210, - 2212238595, - 3495001259, - 440527062, - 478019990, - 554210665, - 2402989970, - 1221544722, - 1989083655, - 1986455501, - 1422232384, - 757740833, - 4010847512, - 513382231, - 2706107978, - 1620153682, - 1291230689, - 2712105854, - 3405471915, - 469865641, - 1616766645, - 2425109357, - 613929194, - 4099588219, - 2811173212, - 2432225649, - 1828175130, - 3292258838, - 1549783171, - 417556417, - 2087575020, - 193696797, - 378992873, - 1678691342, - 3875747991, - 1310061665, - 451135695, - 2547202637, - 1554472082, - 2680645964, - 1233267182, - 2929764823, - 911472945, - 3425019378, - 1701869454, - 155947086, - 1356065852, - 796027967, - 1487300857, - 3309053096, - 1574359423, - 2552464966, - 2471469381, - 3714738276, - 2267021858, - 2947326602, - 251298507, - 2915700586, - 4152939547, - 1444895727, - 587031991, - 3624755576, - 1508480202, - 2010025962, - 1429986922, - 4004489379, - 3821367977, - 2345371862, - 3066443158, - 2751998348, - 172820001, - 2136775811, - 3208412232, - 3766151353, - 2632686113, - 1894306183, - 2641924521, - 609837787, - 3537576350, - 120620360, - 410614397, - 4181336413, - 3509776364, - 1310386473, - 2632385985, - 2262061968, - 2434113408, - 1414886308, - 2700551144, - 1824663425, - 2390204553, - 3311814302, - 3534397911, - 38731058, - 4262356006, - 624901279, - 2966506878, - 2269267950, - 884031537, - 387500798, - 756222458, - 1329450467, - 1918751711, - 1311780727, - 1704117803, - 3628666977, - 3488407181, - 594929589, - 3195669923, - 2453501171, - 667438555, - 358245421, - 3780056217, - 2150558428, - 4102986775, - 114578551, - 3603355798, - 1641745065, - 3352509106, - 3184502192, - 4174572982, - 1117318964, - 2627785507, - 3881017907, - 827807089, - 3441774692, - 2163453245, - 181250562, - 3557108559, - 2468817890, - 2369538005, - 469800625, - 3293457823, - 393714688, - 248199435, - 3076205637, - 2619107289, - 3471173436, - 1891145437, - 1441046370, - 129778115, - 715828256, - 3951648751, - 2761300900, - 2452092597, - 353840329, - 3929142500, - 2986828802, - 792305816, - 3261323132, - 3626792321, - 1394102419, - 3841234500, - 1531120844, - 1790815789, - 1949291958, - 3011035421, - 2967727306, - 2567041695, - 2188656442, - 2659270921, - 2722181777, - 3538576214, - 2011027624, - 3325335297, - 1642683431, - 2495150485, - 1878227351, - 3436031387, - 939750342, - 955875107, - 1955319518, - 1526190877, - 16707461, - 3369892325, - 3297933175, - 2062121535, - 3906427224, - 1635031990, - 276856273, - 736130931, - 3747300955, - 2287427343, - 148284904, - 1808685701, - 210756374, - 1310632052, - 2484028467, - 993748125, - 3235946371, - 2292237082, - 1246327725, - 1647136256, - 1602931930, - 2601463333, - 842214684, - 1629541049, - 3230579284, - 291034662, - 478539366, - 1111902199, - 398449055, - 976443539, - 3428907733, - 2362001309, - 3877349591, - 2765265859, - 2891073724, - 3020010598, - 3273153590, - 801033656, - 2112528979, - 935561993, - 3349814075, - 1462603272, - 3541713591, - 3653367544, - 1123114786, - 3708082497, - 2776273854, - 703160799, - 489376154, - 1074480272, - 2624232256, - 372800892, - 3933527985, - 3142364530, - 3781992421, - 3820269231, - 1772143592, - 2400509137, - 2294181296, - 3831127994, - 3264662909, - 3035735894, - 1546177125, - 171577078, - 4089347790, - 2485586801, - 1102849294, - 3505971494, - 2993031754, - 3129895091, - 2257148941, - 1892173658, - 408611454, - 3362192589, - 639431667, - 817111544, - 661921178, - 1693703655, - 3350255003, - 2339447485, - 3202857167, - 712340918, - 746082239, - 3177132183, - 3374816080, - 2851327290, - 4290235435, - 2030517178, - 3969203718, - 207959394, - 481714201, - 1591308543, - 318519916, - 3050838730, - 867765055, - 1025453796, - 3365095977, - 24527600, - 3660168982, - 1748570069, - 2883339615, - 1145526364, - 3295435237, - 2524334916, - 3292231045, - 1454116737, - 599314447, - 67088937, - 3004669093, - 4265220493, - 132320707, - 2921968216, - 1591358930, - 1334504946, - 3417637291, - 942208695, - 2163071453, - 730072309, - 4133737845, - 1057299659, - 3890787294, - 1516191284, - 2005095563, - 819566758, - 530670143, - 1993209790, - 4224072935, - 2208292520, - 4114233782, - 2035364896, - 2497586811, - 3954526531, - 3777563324, - 3953990258, - 4099617790, - 3620672502, - 3462850145, - 49369861, - 851500299, - 554926733, - 1183465432, - 3233028486, - 305905548, - 3621072474, - 2085993085, - 2928774979, - 1530716296, - 2199019891, - 364307304, - 3604543636, - 463599936, - 3384870906, - 2800849337, - 3473626776, - 1100298262, - 331696537, - 2124547541, - 292337162, - 1291286953, - 2814807796, - 623669477, - 1772000787, - 3735370294, - 3796883389, - 658161941, - 2847084085, - 812524214, - 3913678124, - 3074856481, - 2100544634, - 2012046412, - 2157499913, - 1659490388, - 74507252, - 1878647383, - 3121889204, - 777501839, - 2501298989, - 563593297, - 1735130489, - 2644816034, - 183537012, - 2036589077, - 1448696289, - 1266487057, - 2840887829, - 3957450731, - 1708681016, - 1164564092, - 2586562613, - 173899957, - 3493171025, - 2290552777, - 3782673349, - 1430293696, - 1227046466, - 1280943433, - 720065809, - 2951923232, - 1091978903, - 800721918, - 4008064738, - 2781034173, - 877583677, - 2446639106, - 4252908039, - 2081709678, - 2246444922, - 568056770, - 2494699338, - 270168938, - 2083436013, - 986582177, - 418112397, - 2194400035, - 372399602, - 4108777552, - 931240929, - 137822112, - 3200720879, - 1188277884, - 2346660517, - 3294189050, - 2549895475, - 3063732565, - 1491635475, - 1914961739, - 3423105060, - 2569402254, - 3366453099, - 3081980215, - 169158875, - 548469261, - 3500326249, - 2492150611, - 1930631652, - 2440561576, - 4053760576, - 2198276266, - 2662247606, - 3358187904, - 4135719110, - 100460083, - 1542030485, - 724680284, - 3491769858, - 1469087529, - 1758468732, - 2197767652, - 852864621, - 1474346091, - 3477907044, - 708897614, - 3290113003, - 2008442320, - 199488625, - 1232284136, - 2716508734, - 1202660194, - 3029655827, - 1070122912, - 98778926, - 3826722247, - 3982806444, - 413295076, - 1419340911, - 1959187331, - 181538100, - 1351003970, - 4041847801, - 1807266002, - 815861799, - 68351057, - 2425853582, - 1212338482, - 2734559746, - 3978278467, - 369129496, - 2594375743, - 2289775050, - 2314059870, - 2563690687, - 222237044, - 3148556459, - 3088403558, - 3388612153, - 2778225707, - 4106989389, - 428894253, - 1849098807, - 3738361208, - 3942935834, - 2617881986, - 1132291994, - 4199210429, - 1371226030, - 2004172255, - 189392213, - 1431169584, - 1533206954, - 4272673797, - 4099045101, - 3382388758, - 3012270779, - 3879682767, - 2064294804, - 1316534869, - 3963281399, - 1937474433, - 3676446216, - 409158052, - 3397767257, - 4256538740, - 1558135722, - 1088121850, - 3701257524, - 3982073915, - 3199245152, - 2369435724, - 3659651635, - 3038474353, - 3056398736, - 4066956066, - 1739399662, - 3788038557, - 1604460697, - 2796615342, - 1742609494, - 905732157, - 456877795, - 1080579549, - 3278694108, - 2564648532, - 631291514, - 188706825, - 1263279021, - 4068465922, - 2033056620, - 101191676, - 4154036173, - 1978832470, - 485597161, - 2790185030, - 2329651834, - 1870491790, - 675638986, - 905884611, - 2350315289, - 2489413936, - 4036013226, - 3537882129, - 1665407276, - 13042338, - 3989470804, - 70374654, - 1615848810, - 670490634, - 466641881, - 500736797, - 2401301245, - 2394999280, - 3660981726, - 89835706, - 746966559, - 2812048213, - 1033247907, - 4065207387, - 2248225627, - 2228634095, - 2077825381, - 939651091, - 1248317425, - 241078352, - 3919691604, - 915372507, - 2201667037, - 3678002271, - 3243932990, - 3153820177, - 3701703724, - 63154414, - 369779773, - 1377583557, - 1923254940, - 1289850777, - 137449358, - 1116338574, - 2587918882, - 2404465070, - 3231046720, - 1795555113, - 346892485, - 2282821169, - 3549877022, - 6861931, - 1192535982, - 2774097192, - 1416298271, - 3974470310, - 1829287210, - 1595039228, - 443410003, - 1977167783, - 16798601, - 3084729108, - 3592483267, - 940558647, - 214801737, - 1661285067, - 325089227, - 3917257201, - 692283539, - 3598090371, - 2890054615, - 3585835798, - 1007448531, - 802909263, - 667161015, - 4204654668, - 1116872679, - 3046856895, - 2746142508, - 1688455041, - 1764714239, - 1021603874, - 2631054388, - 1099277726, - 3284658127, - 1291415323, - 309208162, - 1004854274, - 1728258433, - 1494433119, - 2770239679, - 3781947322, - 1699476690, - 308094877, - 3542689036, - 57460103, - 1644179063, - 2678005905, - 3287477172, - 399348415, - 729755862, - 1973211939, - 1672201466, - 497828464, - 4147545675, - 638839951, - 3596504935, - 3069515715, - 4227642406, - 940067584, - 3981431806, - 1801371886, - 2994509795, - 871716079, - 1358015959, - 1805393716, - 1585593522, - 1716308558, - 3170411347, - 609583557, - 4143349454, - 1506754520, - 2357922965, - 43661945, - 182063780, - 1527944330, - 3859165821, - 1160367164, - 2956206746, - 3286400485, - 4024718986, - 129335487, - 1681290760, - 1885565828, - 1851094409, - 2948164470, - 1338396560, - 3916850524, - 245110328, - 2971571446, - 2118654632, - 3313271061, - 3333757845, - 1690630888, - 3185529560, - 1212535434, - 4213195670, - 898648451, - 1335346691, - 2458665663, - 201565987, - 3974251923, - 541073672, - 4199482505, - 2636204013, - 2155783895, - 879115699, - 3521108542, - 2800563696, - 3246451629, - 918114434, - 559266752, - 2797371579, - 2441966846, - 1156510751, - 3698941813, - 234554426, - 4111887127, - 629555668, - 4286197985, - 2785451533, - 1372964652, - 1777745917, - 4222873892, - 3817915898, - 3473048535, - 3225446027, - 2078685189, - 4151434752, - 1106579328, - 297381077, - 1719043808, - 1849951453, - 3614614764, - 524395027, - 914545402, - 3078841068, - 846157480, - 1020454225, - 4057976908, - 3747448405, - 3339502374, - 3623925573, - 2138514183, - 1427239566, - 342939531, - 3970068863, - 1669027788, - 3718141302, - 2558981978, - 330433714, - 1965348464, - 3007793165, - 3881132483, - 1937110008, - 4027015630, - 12595994, - 2319548342, - 1529463385, - 2533675976, - 200496888, - 3061325235, - 499440789, - 2655878676, - 3734618588, - 1515960568, - 1816904922, - 595450675, - 2370301329, - 2439249831, - 535757306, - 4032517942, - 4143104410, - 4091555018, - 3381762092, - 1356955390, - 1506553944, - 3399942569, - 2622735615, - 433866213, - 3611934824, - 3153218123, - 4100976434, - 432144450, - 3463598684, - 2026366607, - 3524689977, - 2553219870, - 3873052547, - 2117006125, - 2343559540, - 2313984005, - 3999330544, - 2419003114, - 2511473495, - 1118365311, - 101197183, - 633646584, - 3044523202, - 3390573193, - 3852731732, - 2308542138, - 3783144880, - 4167629522, - 981532931, - 4066029116, - 1150049213, - 3519690558, - 3030805109, - 761331812, - 1892311879, - 2464243352, - 26929490, - 3647303133, - 555239504, - 3443376079, - 2780530168, - 363644431, - 2278543243, - 3105989658, - 352093764, - 2089201955, - 1675277162, - 3648391347, - 452580299, - 3044860253, - 880443926, - 3733350239, - 3282471639, - 2707309819, - 3970001834, - 3493814085, - 3974811980, - 196523497, - 4280448577, - 2284688700, - 3157177651, - 2994415660, - 2679269030, - 2160836997, - 1056273077, - 1565967333, - 3384744131, - 1052818691, - 1077864799, - 2050498722, - 425397371, - 551906686, - 3586350311, - 3188321079, - 1607997817, - 1965641007, - 1639418448, - 2968244241, - 1345794274, - 1862461646, - 4122474218, - 2190676979, - 1482407424, - 3309624238, - 1331344984, - 3102698235, - 3533525030, - 3024970033, - 2092962530, - 993985669, - 3215984484, - 1313487996, - 3783546000, - 3654398106, - 987854418, - 3765746284, - 1250229445, - 50042447, - 1738126090, - 3376797784, - 1173043993, - 4060971943, - 2735032698, - 2155788845, - 916768580, - 3936532816, - 4184033720, - 3372178548, - 2528156493, - 2946233909, - 1803199729, - 4102884146, - 1972716975, - 1409948915, - 2578867357, - 3892926626, - 2370509741, - 869644954, - 1238324220, - 3574073866, - 1881471935, - 1914351408, - 394753506, - 14755107, - 2133185131, - 1639575009, - 462958221, - 2955685211, - 3772698297, - 777735698, - 1821406432, - 444084093, - 149784923, - 4233270330, - 173901832, - 1295870737, - 4040192316, - 3129173689, - 1803822125, - 1309433705, - 2546841312, - 2799979355, - 4168293650, - 3851577417, - 510753737, - 3692029806, - 929976294, - 627157483, - 379503132, - 2092499786, - 755371580, - 3152336621, - 3854870416, - 900919709, - 3120819494, - 691137569, - 1723387303, - 1394039198, - 1344131882, - 3970482048, - 39676054, - 1517552087, - 4098843267, - 1348906101, - 2281087962, - 2761155742, - 2873899753, - 892453765, - 698092198, - 3100116255, - 3505196196, - 3432365225, - 968807449, - 4208833844, - 2827544057, - 2174244276, - 149266909, - 1701750079, - 2466564653, - 1137802435, - 2430171135, - 3672901854, - 574295906, - 2644195226, - 2906941222, - 3068972737, - 3985460896, - 3360944318, - 1801698787, - 1485490814, - 3124877411, - 3478666631, - 2780753106, - 940617135, - 4012045581, - 3102693087, - 1792038083, - 2626625032, - 1756664922, - 1107347788, - 3681724163, - 2574554947, - 4264544821, - 390581853, - 2422490834, - 425410996, - 1733903427, - 1998589946, - 145407898, - 1864084592, - 3787535053, - 1622557963, - 991123543, - 4174608027, - 2685250128, - 2277780991, - 243142145, - 2689808322, - 3588024418, - 157586666, - 3834356136, - 243957366, - 1018156396, - 2543118159, - 3670839478, - 1445629834, - 2730833785, - 1721791609, - 2688174518, - 158517760, - 3929923175, - 2245881692, - 1916873404, - 497964585, - 4103574994, - 2000654230, - 1740285525, - 1688623821, - 3961974500, - 3128685351, - 2111491768, - 4217530766, - 2452502392, - 1345307591, - 1612780593, - 1722006728, - 3658421593, - 1749409610, - 2906323707, - 1127153307, - 2479025383, - 3367547687, - 2340420545, - 995913014, - 3152647813, - 3949911493, - 2150285865, - 1277891862, - 3801776955, - 2742034980, - 1139075933, - 3898506125, - 2136323180, - 499413504, - 3533846556, - 2502545070, - 2226883996, - 2818284859, - 1847882509, - 43534643, - 815236899, - 3739796064, - 558172098, - 2106499226, - 3955491527, - 1866736829, - 2268932654, - 2385502314, - 2303129650, - 3953502619, - 817967760, - 2067433783, - 3595635061, - 2154541531, - 2881923968, - 4172578124, - 588267989, - 898019764, - 1092048301, - 2517515571, - 1907102299, - 2986924300, - 152969375, - 1308357132, - 3219912272, - 1505941098, - 4270477004, - 1119988639, - 2965991797, - 3963672372, - 4234233693, - 756757937, - 2525413531, - 1666939821, - 248878820, - 4092185192, - 1866000031, - 709569756, - 1308593258, - 3165306464, - 2098974580, - 1532516765, - 1664648755, - 2670172945, - 1178742361, - 470460135, - 3054896193, - 2972597068, - 3786427547, - 3680123457, - 1281847208, - 466504979, - 4002198581, - 667925670, - 2498786201, - 750736203, - 2106365833, - 180766722, - 41977484, - 3673237258, - 1823263129, - 468706306, - 1130609871, - 3271142136, - 1505106138, - 2577252752, - 4148443071, - 3799812281, - 2310506799, - 1651200567, - 3882751687, - 1564716008, - 2077778494, - 2452370882, - 4164522331, - 2939796475, - 1394504975, - 2554422622, - 3164904741, - 183269065, - 1427762959, - 3486295707, - 2754918538, - 438557716, - 2919746609, - 160444938, - 1447166514, - 1632196301, - 4113676797, - 1418251349, - 1322436997, - 57925337, - 4169889527, - 450758906, - 2078151745, - 391696420, - 3190840421, - 1784469475, - 2792514278, - 1049595994, - 3996367191, - 2587996890, - 645335272, - 2626670852, - 463880967, - 844132356, - 2242309348, - 383009477, - 3155336161, - 670841847, - 2473467796, - 4030376864, - 3493206531, - 301930490, - 473581849, - 3567470735, - 2770230937, - 2505193146, - 626344103, - 2536881279, - 35641341, - 1577909163, - 3780222871, - 2793222175, - 3608668311, - 1373623478, - 1000861569, - 2047100147, - 665836620, - 3840883567, - 1832320998, - 383369570, - 3346023246, - 1492979330, - 230255102, - 990714129, - 2099994524, - 3407561860, - 810931587, - 3469272645, - 3181872078, - 2105469648, - 3015463333, - 3365691868, - 2263259080, - 631246111, - 3242428374, - 2092260580, - 300834099, - 850754713, - 927607458, - 3624100162, - 3178675264, - 3054704455, - 3047799152, - 3323309491, - 3003001448, - 973464335, - 1003970862, - 2498211977, - 165144503, - 1171655581, - 1317901239, - 3164486190, - 1160449740, - 3305656201, - 1733796951, - 1274414741, - 1854972764, - 3032369915, - 187202978, - 2111882246, - 1726054315, - 4293700870, - 2273842214, - 526610050, - 2250860725, - 2872552679, - 3743938291, - 374651924, - 3986948127, - 2455138565, - 2982878874, - 1992083439, - 3386923209, - 3663223372, - 2244981852, - 2681628835, - 1710477972, - 2287951129, - 2427790535, - 856745200, - 2077435542, - 3091298486, - 348724720, - 2415274843, - 3225483571, - 4016589754, - 2653062801, - 1571584922, - 1863965477, - 3747443563, - 2235295174, - 1821470081, - 2637812825, - 4019585051, - 3483804758, - 2320565078, - 3709838134, - 28923274, - 326354446, - 3011390259, - 347426817, - 3246562164, - 1721179772, - 952381542, - 3667184747, - 31505695, - 3528381960, - 624345958, - 2422967166, - 890324753, - 4256160573, - 2158465494, - 4025593851, - 701237308, - 461488741, - 1199683669, - 1907079948, - 1164096242, - 1927953423, - 2126631471, - 704050607, - 111006553, - 1683499697, - 2391407490, - 792998128, - 795818422, - 914062638, - 614831464, - 3574372274, - 1710091451, - 3512503333, - 2921379619, - 2461027153, - 946608128, - 3759255948, - 2498122032, - 3624163905, - 4062736082, - 1838657982, - 3779339669, - 2863682871, - 314465907, - 2789292389, - 607088891, - 195541228, - 2385591188, - 3375012575, - 4139801948, - 1717021679, - 3501061221, - 3311697284, - 168735452, - 529596765, - 246917124, - 2733988959, - 3085110070, - 4218207171, - 1038193749, - 2140365901, - 2768777215, - 2628772376, - 1660617140, - 4031458171, - 432055821, - 3391679832, - 1974217618, - 652088005, - 971419913, - 4183606816, - 1366481452, - 2120765536, - 96181110, - 3448437770, - 1136870227, - 3774254381, - 3943587206, - 333415319, - 3807963879, - 2490957537, - 1494762782, - 3078893162, - 1702401946, - 2889938316, - 1543818050, - 1049493705, - 552522331, - 1609473453, - 13809295, - 847211017, - 3564360532, - 1732926068, - 3318769822, - 4083513871, - 867222337, - 3285279203, - 2973866939, - 3752063534, - 75497894, - 1980813896, - 2249858176, - 55343786, - 910167770, - 1186443500, - 4255900618, - 2152682032, - 1561686816, - 3541083462, - 3911825930, - 201579739, - 662664539, - 3800092203, - 1364043358, - 293793215, - 2769775090, - 1458373909, - 1218565882, - 1064379185, - 2660171839, - 2353357631, - 184221765, - 3764109981, - 1244399732, - 2794113483, - 3831236447, - 3499456607, - 72045948, - 2139395112, - 510476810, - 3649952400, - 3894998442, - 1587042550, - 389503466, - 1139094314, - 874021846, - 841041857, - 893377254, - 1555225601, - 922180270, - 2946006913, - 1666393129, - 3108714845, - 1289058519, - 1330390990, - 3153151682, - 3676963365, - 2357670164, - 765474612, - 2695786185, - 627285100, - 3335914913, - 3557610951, - 3974201590, - 1032890290, - 1560390548, - 50508647, - 92239404, - 3347624346, - 4192009347, - 3413475490, - 3594942408, - 2919611765, - 2725735736, - 1340917614, - 3368445373, - 314341665, - 503518170, - 3647385165, - 2221183182, - 979026815, - 2443484392, - 1315413955, - 1886010424, - 3358309582, - 4241337911, - 106826227, - 1650260115, - 3980354109, - 1066688020, - 2304528685, - 4145458648, - 3089114919, - 3884375799, - 1011095017, - 3926560429, - 2612718484, - 3216356931, - 2652205248, - 1434536327, - 2429071678, - 612828249, - 780471162, - 220534974, - 2725845562, - 3910036818, - 3542118332, - 2140908231, - 4206432590, - 3737601889, - 3580569970, - 2192149009, - 3401823116, - 2829689174, - 1785109092, - 181059999, - 3255680351, - 772812886, - 2585355901, - 2701673579, - 68297795, - 507918235, - 3457238031, - 2660657813, - 2826790316, - 844696077, - 643600979, - 1858981331, - 555594340, - 128825659, - 769096901, - 1595358136, - 3399159521, - 547379463, - 319015021, - 2693796452, - 2712892884, - 3132126728, - 2919499576, - 593691341, - 2950810370, - 3878736280, - 3523334673, - 681864480, - 1719310494, - 4077551119, - 542905308, - 3414529551, - 1312690492, - 2673718460, - 2976643234, - 2867857864, - 3353937171, - 2214640897, - 1730598976, - 2966774039, - 722689495, - 3562232717, - 2143162779, - 1543817949, - 199234715, - 921239581, - 2613623703, - 3718163910, - 401905288, - 3098278666, - 3664260070, - 505782321, - 3463040859, - 3682934219, - 1984935573, - 3313344810, - 4037404738, - 1780419127, - 3091803327, - 3392345793, - 886973747, - 3443410703, - 1585891896, - 221072545, - 1002649494, - 379418501, - 884787747, - 620062183, - 326255794, - 3861538963, - 2841112780, - 3502684143, - 2397804479, - 8974608, - 3808871315, - 127085571, - 954017562, - 1021187439, - 1904482169, - 3998288055, - 3717504551, - 2090864569, - 2255284536, - 1038185763, - 235270647, - 3844272103, - 2256584297, - 3169252384, - 3575140435, - 763804254, - 2907899936, - 749220264, - 858258771, - 2700815218, - 3239959651, - 3812973776, - 2888645113, - 4219112152, - 533395059, - 761277077, - 3069308345, - 140974477, - 3945850614, - 3320868055, - 3222640645, - 3775900941, - 3054455286, - 2217876446, - 27641107, - 2205331364, - 2231657440, - 821633763, - 3493265334, - 2570044622, - 3370221387, - 284094895, - 4268145914, - 1565555813, - 2939778084, - 3563453980, - 4141456529, - 2314748417, - 1385582299, - 2697615031, - 3905628914, - 2693825278, - 1760548722, - 3518149186, - 1006997084, - 215575356, - 1793930497, - 2659450286, - 2409011379, - 2196792496, - 373801292, - 749330778, - 2933408790, - 2642938629, - 1972927373, - 2324282895, - 202824213, - 912876631, - 3105697504, - 2873875001, - 3245562835, - 2565229033, - 1066965276, - 385405816, - 3227029214, - 129496310, - 1988607440, - 3728222287, - 2012735791, - 1047488398, - 599253728, - 778496388, - 3531772424, - 173736643, - 2980496871, - 3611367690, - 52109635, - 215977954, - 3766226837, - 2889618193, - 4268201752, - 406209327, - 2663173692, - 3751359520, - 3719597099, - 53646103, - 1152158917, - 293006154, - 1895175028, - 3800779438, - 2476059871, - 10855090, - 2310148463, - 1545894413, - 1285756462, - 3710301000, - 2850849287, - 4278674754, - 425244903, - 2583630568, - 1394562891, - 4268959704, - 302502284, - 2850206045, - 3466880001, - 378755009, - 116337023, - 3354451501, - 2494904405, - 2631300181, - 383463923, - 1014215832, - 1501853211, - 3427029393, - 196243145, - 670851592, - 116846804, - 1619484727, - 2537908399, - 3179475151, - 1284718433, - 136059174, - 2693986196, - 1961113534, - 1716423650, - 577027791, - 3549166999, - 1195911374, - 1886224839, - 3593723441, - 3111160680, - 3297903507, - 792708143, - 2557381680, - 242702549, - 2662158060, - 717062177, - 585908312, - 1304650533, - 716194823, - 3225706111, - 1037523806, - 2546732583, - 3169544070, - 3373558245, - 2007305737, - 394596636, - 1646504155, - 2651491029, - 1110043416, - 3776597717, - 1067807637, - 3154448145, - 2409593432, - 1782627551, - 3762949555, - 3271227397, - 4294675222, - 2022646355, - 3731390535, - 1721236935, - 2865248841, - 2639959521, - 101523952, - 3613578425, - 820741899, - 1514064011, - 3607298475, - 4145672510, - 2506086301, - 1145203475, - 347870786, - 2012793791, - 1488201958, - 2152184068, - 48535877, - 2416483281, - 1112119730, - 2961149472, - 4147951778, - 1435028983, - 2774375031, - 1213675113, - 1441251780, - 1832196955, - 2687394269, - 4290436786, - 4002426276, - 4272602143, - 309114395, - 3605910976, - 1514601096, - 2656273968, - 2430733670, - 168842030, - 546422046, - 3537385619, - 2782610719, - 3330688233, - 3203062447, - 2186486731, - 821154291, - 3681864932, - 3096629495, - 2102193604, - 1725517007, - 3607670547, - 1924947915, - 2546699146, - 514814639, - 2832109876, - 3095954726, - 2380288307, - 3489903036, - 182489461, - 3600927503, - 3296143344, - 2199677584, - 1201724591, - 3026721986, - 3622374635, - 3058124153, - 1961919689, - 3728096679, - 3147262808, - 2844804515, - 3945532479, - 786827844, - 1181812440, - 1446489043, - 988372575, - 2553346708, - 1232439452, - 1029703809, - 100336051, - 1251059586, - 3194719360, - 2190552058, - 2856034405, - 3011026485, - 2064189504, - 971847332, - 3584980545, - 610919457, - 3796006440, - 2938003924, - 625355455, - 2297301165, - 1664969466, - 2416523112, - 2666816313, - 1629448599, - 2520847333, - 3425523931, - 45377449, - 1746366437, - 887832519, - 1494169253, - 3772065637, - 2767688252, - 2966075575, - 3305127439, - 1200181169, - 3762929284, - 3491332402, - 1864979111, - 473979921, - 3412910271, - 1495553919, - 3547506771, - 3662881181, - 1695701417, - 35952535, - 1425915781, - 959972307, - 204448856, - 353190460, - 2319539891, - 2194256945, - 151913387, - 3801899506, - 2782550075, - 2168103622, - 628941964, - 3546230577, - 4189029051, - 1801084836, - 3975791986, - 748999531, - 4201355980, - 1455879547, - 2522477904, - 2055359814, - 3514429243, - 1265849155, - 3674466619, - 940462375, - 3538150299, - 1484620344, - 1157466869, - 2766833769, - 25617424, - 1633466621, - 3062060444, - 2936434244, - 350622994, - 2016557965, - 699063753, - 576144876, - 3546249332, - 2472921308, - 1831166350, - 724070915, - 531743414, - 3102418270, - 56890397, - 3566408096, - 3630750520, - 3113679082, - 870261224, - 2936622279, - 3170989704, - 2148310736, - 2687680067, - 1640942795, - 799704970, - 1670700110, - 3429229938, - 1940307188, - 700684106, - 1189682287, - 2280156189, - 351062611, - 2151513084, - 4068155712, - 766695858, - 3337293087, - 3383087503, - 1682553481, - 492942253, - 3823660928, - 3514765930, - 1936047444, - 2274607156, - 531787747, - 1778929326, - 3265651174, - 701247, - 1781036219, - 1518524113, - 747475411, - 3373951052, - 1843938224, - 682974124, - 4228904077, - 1724442768, - 994422494, - 1372491329, - 3417568531, - 2471998050, - 2244970747, - 3845518214, - 2223453028, - 1714958637, - 3717280141, - 3493930496, - 2606675368, - 3045578565, - 2583620839, - 1960956841, - 4247963108, - 2202862288, - 4060155016, - 3136288967, - 4053236934, - 1300666502, - 1592366543, - 2305826116, - 3190162416, - 3778876369, - 2675984824, - 600971013, - 3867045473, - 1517201626, - 2522457998, - 4019356072, - 1515105164, - 1063665818, - 2489879551, - 1646171721, - 751200702, - 1452456517, - 89697579, - 1057271211, - 126456980, - 1790693795, - 4258702593, - 3123800702, - 3249876729, - 702051889, - 2911394235, - 846200295, - 555020891, - 1904296718, - 1738486238, - 1048445011, - 2712060023, - 3344562167, - 1609470857, - 3111283782, - 1611688324, - 1410322306, - 3690634044, - 1296555543, - 2023444143, - 3108687693, - 52334467, - 2552101040, - 4138520067, - 1069508559, - 2986102746, - 2799892442, - 2736169793, - 4267146860, - 2661198835, - 3416059221, - 4282768929, - 2545901596, - 3859111165, - 3849277860, - 4211116206, - 208748248, - 310690942, - 3663861678, - 741118363, - 1579343490, - 1261100924, - 60243914, - 2733423616, - 3626383549, - 3935713596, - 3987195169, - 3425525108, - 1534420951, - 2364188685, - 2746224271, - 2598637845, - 1712319565, - 3245130191, - 803986294, - 1103839124, - 759247374, - 1925248812, - 1227465681, - 2408554903, - 4092757169, - 951653618, - 144296519, - 3710036776, - 2520469415, - 3058670178, - 685138756, - 4082772553, - 1459881319, - 3509649634, - 742383134, - 4180461769, - 3446891124, - 2789852930, - 2733348956, - 3283297405, - 3734075791, - 3936052400, - 902585298, - 899579842, - 2212015199, - 3070862176, - 2050617479, - 2420350320, - 3808840460, - 3732824167, - 188815983, - 2142559334, - 3568572982, - 2271259441, - 1912561584, - 3077199191, - 1104159954, - 2340772265, - 3317417029, - 1445383921, - 2825206131, - 552160604, - 2826916434, - 1414300050, - 1461687861, - 976219222, - 1845910571, - 609548365, - 3113055935, - 2221731954, - 4201747492, - 3395264671, - 997599377, - 2978629085, - 387372669, - 817880795, - 7936281, - 939452841, - 1600142865, - 2368060474, - 1000862648, - 3610680065, - 2566912422, - 1473995442, - 711647167, - 3078816686, - 149846200, - 2995406195, - 2553454371, - 267920602, - 296431087, - 3960788757, - 883086850, - 4172196649, - 3483094046, - 3501198008, - 906102141, - 4203894850, - 1179293761, - 3444220643, - 2585154041, - 2944428471, - 2570186030, - 4082217148, - 289199299, - 2539416405, - 3444032754, - 1623501639, - 3114063563, - 1751950329, - 3626430390, - 827042684, - 1702630390, - 1721665757, - 3318546376, - 3838836424, - 3371200863, - 2176534146, - 1028117965, - 3417202452, - 1167359999, - 3541133802, - 2193682127, - 3976645276, - 3174265806, - 3475214949, - 3671320086, - 3859299605, - 1827890169, - 3108880463, - 2180185996, - 2129729183, - 2461348706, - 3179780638, - 1725355963, - 4218771898, - 1929517884, - 2261425714, - 1965161214, - 590950363, - 2130274916, - 687897116, - 949120412, - 82445730, - 2589024619, - 1000385198, - 3330756088, - 1476605535, - 1582178283, - 2368592404, - 1378182137, - 1717213524, - 1157286692, - 1020962352, - 1555567436, - 1022780386, - 4165497496, - 621196744, - 2011922130, - 3568984055, - 2419255563, - 1221842320, - 1317515673, - 205897042, - 2489080725, - 1020731459, - 4105431035, - 1629442376, - 1444832182, - 976390727, - 2949020359, - 710180095, - 45827479, - 3260386809, - 3124321306, - 2565740825, - 1846469688, - 3252350682, - 3513930765, - 3030910952, - 1498417657, - 192760201, - 194974793, - 3890892319, - 3332398860, - 583898067, - 231320072, - 4265468011, - 3645217308, - 329142924, - 3730818312, - 1600251298, - 2185029080, - 3552587310, - 3698205323, - 632086870, - 3261042829, - 3134728251, - 2858914781, - 626051034, - 3632673722, - 659555255, - 2015239678, - 48280814, - 751648482, - 1835597336, - 2658460941, - 4133662428, - 486318020, - 757775234, - 2230608110, - 460019577, - 1621365014, - 3798447925, - 569496815, - 3268200903, - 645079188, - 3517509750, - 2678365915, - 1523320438, - 992080542, - 477808374, - 2298477912, - 31547400, - 1275492828, - 1639829210, - 4040991633, - 3713612502, - 1163363499, - 2435073252, - 3357463279, - 2298956387, - 1435389224, - 3553915083, - 805060851, - 2240453411, - 1768854987, - 483771089, - 3492132619, - 1726312493, - 2204733687, - 3347867338, - 3645555930, - 2627372261, - 2923648769, - 1474264082, - 508778772, - 3843941153, - 1632710439, - 1683123712, - 75922996, - 277004429, - 2893618541, - 4273667974, - 770131881, - 227772982, - 3892613838, - 2164825388, - 72741174, - 135492082, - 3910089398, - 2104721839, - 41426384, - 66191620, - 1788168566, - 1688570507, - 2549084473, - 3764304065, - 2832181476, - 681639221, - 498478117, - 2128844182, - 244036584, - 300032493, - 2227290314, - 828259492, - 1957143741, - 1797348800, - 2593470471, - 1089963272, - 4158287807, - 2594585118, - 442663173, - 3049826380, - 956571196, - 1172272778, - 3980158683, - 3127374132, - 1323700698, - 3247505323, - 4203659297, - 1763206254, - 3059619901, - 4142516489, - 2328205500, - 3521441189, - 553735026, - 1606143223, - 682119034, - 2633327488, - 2514776176, - 1210101784, - 343677675, - 4115493280, - 2695360394, - 1236981013, - 1647193599, - 821225422, - 3497880463, - 3416959671, - 3877705652, - 2293329202, - 3327553439, - 3940023209, - 2373474589, - 344673640, - 911677734, - 1143306940, - 2629614254, - 3866515155, - 3048368282, - 1083541693, - 2060401843, - 405966647, - 1195419358, - 3138795967, - 3601601423, - 1299113997, - 3427352229, - 3885297856, - 3553704648, - 3170838595, - 1108753346, - 735442069, - 1385870467, - 715335847, - 2974197714, - 29495055, - 3302936699, - 926638293, - 1444677314, - 862476187, - 2023450991, - 4174126811, - 3498808228, - 3257007818, - 534296101, - 4135276366, - 2298634606, - 130893667, - 2508731878, - 4151440912, - 3664435657, - 3164785119, - 3837071705, - 1990240539, - 3342520957, - 2946051251, - 2437240762, - 1424069723, - 374676093, - 407279693, - 2424334511, - 4087898876, - 1621172825, - 1651954832, - 2315725009, - 2867078210, - 417684133, - 330522074, - 3773327231, - 2143871765, - 3141303310, - 3926278350, - 3276839485, - 141986837, - 4067047809, - 3519175240, - 2036601040, - 3469978422, - 2861153277, - 3298137455, + 3981922267, + 3346880164, + 1795153711, + 2698012958, + 4132435316, + 3688811635, + 1179516278, + 1445266976, + 3576206516, + 3731032608, + 217747518, + 3696124548, + 2263141719, + 3717618969, + 4095666951, + 2140040103, + 127587063, + 2669691846, + 1166813122, + 1566785055, + 2169781176, + 3715844436, + 2574766125, + 1496996005, + 2733377709, + 3813532921, + 2480544916, + 2711200443, + 3506022825, + 4016297390, + 1172688224, + 1046877721, + 1802929883, + 1042164752, + 951282737, + 2844034980, + 9975762, + 4748154, + 3834383008, + 3070877504, + 3773887048, + 31536352, + 1515491087, + 2693026277, + 2651975503, + 1024310652, + 4159993797, + 514813947, + 346211919, + 475669877, + 2397955656, + 1991395847, + 1840266448, + 1462452404, + 3974103842, + 3462434715, + 509397626, + 219257392, + 390049883, + 3529471520, + 214468573, + 3453652672, + 1910343934, + 3248345121, + 688901908, + 158537972, + 1081367554, + 1144831056, + 579791402, + 3921153450, + 2935413203, + 1166676861, + 3190816652, + 1293833360, + 4248466937, + 3169479022, + 660353853, + 2842469670, + 4181906642, + 2981457359, + 148164173, + 2757244746, + 4183233319, + 3320857237, + 2421402856, + 995518725, + 2499473346, + 3030421086, + 2431452981, + 3503323105, + 3651130299, + 3305871179, + 2613582820, + 1428709013, + 1263697053, + 4062366099, + 1538722640, + 1130649655, + 2653561849, + 15230323, + 2551972092, + 2595160154, + 2022102075, + 3702440844, + 1460384480, + 3072636811, + 803630082, + 2081675564, + 214832762, + 1320690276, + 928849104, + 1963194755, + 1239656811, + 3861141955, + 1952317543, + 4009270568, + 3751818032, + 828084598, + 2046606682, + 3841830456, + 1024117130, + 1622140781, + 851018347, + 2901179357, + 1147982066, + 621086028, + 902397950, + 315404987, + 721703774, + 2682047910, + 2201577287, + 423206528, + 3083164524, + 536810114, + 2472119946, + 2424135631, + 2642835754, + 1491819727, + 4012093736, + 4290143603, + 1474727393, + 1711083045, + 277986678, + 2027034039, + 141596097, + 1912798708, + 839576629, + 2707051010, + 3231733031, + 4113749696, + 2995182189, + 3520668914, + 3347369728, + 1587370482, + 3032032412, + 4044443541, + 2251358152, + 1890087915, + 137159941, + 390058573, + 2039802469, + 318909920, + 4018099823, + 4165177100, + 1002670974, + 2250938852, + 3498130702, + 3459389476, + 3863210877, + 2986416063, + 1538245437, + 3292404863, + 2027421018, + 3252408140, + 4239211483, + 2631372546, + 1234318565, + 725089032, + 1077235471, + 2060563404, + 3991627553, + 1926869855, + 4279067974, + 1000061330, + 3868058344, + 4237763167, + 119268378, + 812800771, + 2861588729, + 2078590438, + 295926757, + 2395519663, + 2813650560, + 304734444, + 2271168912, + 1972943089, + 4164895807, + 1963853030, + 634872854, + 1135813757, + 925513981, + 842190267, + 2578819169, + 1098902754, + 4226609402, + 1315029793, + 1719013570, + 922357769, + 363855675, + 2462796564, + 4182689866, + 762698328, + 1013327059, + 2820501760, + 2352460746, + 1845169355, + 1970194130, + 2276456315, + 1536676323, + 509432962, + 3539178299, + 1664748476, + 831963303, + 1959525967, + 1811457412, + 2062538055, + 218553516, + 1481442856, + 1872997940, + 3852052600, + 2944778740, + 3091995932, + 1506369797, + 2184769374, + 469420194, + 3875176671, + 1983082641, + 156830608, + 839208351, + 343698082, + 4121301936, + 3629457187, + 1700254524, + 689767920, + 3756684328, + 3260069022, + 723702027, + 197026869, + 1476158775, + 640147787, + 3242467175, + 1231631740, + 2352884230, + 3030843748, + 1225629893, + 4018512906, + 1960274124, + 726761249, + 383837199, + 4137352616, + 402373395, + 2557391126, + 2529892381, + 3975336585, + 1258243516, + 139409959, + 2633302110, + 1372979774, + 1817975077, + 3445998652, + 60703397, + 261775031, + 4264413027, + 1076874911, + 3629284003, + 56691841, + 2772902920, + 2549778578, + 2897023902, + 314443416, + 2556475300, + 2532810996, + 2908365250, + 3039124861, + 2288454488, + 2588035315, + 1656584557, + 3238121772, + 2055860495, + 3980122022, + 4066805930, + 1841713884, + 1624272622, + 3373977367, + 3879495608, + 3111420203, + 4270547770, + 794961779, + 1527215852, + 1683813883, + 2442868742, + 2861787428, + 30022298, + 2035158296, + 3836016707, + 2830309630, + 2593433932, + 1473903968, + 1918006837, + 1758965873, + 3838393111, + 4276543062, + 2028672394, + 2982328524, + 2644432163, + 3171447640, + 3109668947, + 2279285900, + 2813610336, + 3556231578, + 126863728, + 3361961056, + 644064697, + 1400464097, + 3337005729, + 1295629820, + 3475709079, + 788576723, + 2714460693, + 1011779786, + 735176737, + 2205184000, + 2560984045, + 1791376721, + 1706558866, + 1504402526, + 1409252725, + 1583370247, + 3436434450, + 1394779303, + 3344782854, + 1326542936, + 202837034, + 1767585070, + 3598053939, + 3870190597, + 2525308903, + 3922878132, + 3345261130, + 35974734, + 88009025, + 2643558951, + 422099595, + 922802509, + 4014273156, + 2445899464, + 3830397009, + 4059813928, + 997949196, + 490526152, + 104568815, + 2200019813, + 1490665254, + 834166170, + 1612573889, + 3018054123, + 2828340332, + 797193688, + 1850063835, + 1009072026, + 1778776095, + 1169853008, + 3133255138, + 3518468738, + 3235454781, + 3424004164, + 3198971586, + 1466346705, + 990804455, + 2985664528, + 2322412841, + 3797624473, + 461499860, + 2699134584, + 3471164937, + 3451542450, + 753407706, + 243450021, + 2646197692, + 2920663707, + 1835624057, + 3529662747, + 2823859943, + 1974521902, + 1372038081, + 3795841855, + 2258314511, + 4081322782, + 2079376553, + 1349810440, + 3584271937, + 1026789111, + 2579600666, + 2761777129, + 3779722283, + 222490031, + 1358281311, + 3629320848, + 1363394400, + 3761616985, + 3482912442, + 3463122341, + 2260520948, + 3462604867, + 2112854849, + 106713855, + 835546571, + 3055010322, + 2706334832, + 4219149541, + 2323649721, + 2117406211, + 3337739548, + 2564252217, + 1864066815, + 3499118962, + 4256446057, + 427814795, + 2986028242, + 1330753526, + 2950163024, + 2076444755, + 804386169, + 2537649708, + 2111726672, + 1890911345, + 2281718949, + 1380263834, + 1347026984, + 4112888381, + 1506036804, + 1325045267, + 2664324787, + 2403182096, + 1594677073, + 400265876, + 778544787, + 2378466771, + 1983435814, + 4273276840, + 100850925, + 2328471545, + 2948444531, + 2657126963, + 3820179195, + 1053870924, + 1936709241, + 3223291659, + 162217383, + 1899809393, + 3330523129, + 485846683, + 2941428628, + 4029022001, + 1143446915, + 3622601070, + 541967854, + 2921656107, + 3185611540, + 3808221820, + 38755396, + 1063478778, + 2823129320, + 1151128400, + 2320099643, + 1793881836, + 3916651928, + 2239207923, + 114805489, + 2812828359, + 3281137340, + 3435690511, + 2447225994, + 2135471672, + 2270208634, + 1522002950, + 2471291916, + 923989421, + 3439465690, + 4120179531, + 206342215, + 3313684093, + 3168474229, + 1302409801, + 3376867731, + 4000338950, + 3552032903, + 2999233427, + 472627141, + 2103950265, + 3906389748, + 1100472036, + 2158686899, + 2776152799, + 1314274685, + 2676956660, + 185267205, + 3898859622, + 158099401, + 2116565065, + 413498835, + 128303659, + 1170360952, + 377110976, + 4058533767, + 94806833, + 1390702292, + 2470198701, + 604165455, + 1265797540, + 3794877966, + 2809735777, + 248892698, + 2520837035, + 2488361820, + 1818263725, + 4082245230, + 3511271216, + 2438651903, + 3111384534, + 196299143, + 2666311454, + 2525242050, + 16739257, + 2053349633, + 3134729987, + 1066105875, + 1360956937, + 175246027, + 3578595676, + 3465909725, + 1574260845, + 363562265, + 3942782789, + 3465844926, + 1398218648, + 3641354110, + 2112666588, + 2530899842, + 607827185, + 29748235, + 258779391, + 1818237590, + 2521301460, + 1653013094, + 2165034656, + 468622356, + 471251489, + 1033677310, + 1637958940, + 560140588, + 2439262654, + 2489476406, + 1891002746, + 1302203463, + 2698509219, + 367767764, + 3814967938, + 877251532, + 527587624, + 1998457105, + 1313841305, + 2777432693, + 4158445414, + 3105955884, + 3905457967, + 3421264667, + 3256358445, + 2247911496, + 3048444418, + 1954942624, + 3305736931, + 3154420447, + 1005608254, + 1016886872, + 3586838727, + 846005081, + 2135619981, + 4036641406, + 1885952153, + 2035424707, + 1180695664, + 774703327, + 4008526202, + 1049621549, + 3211906867, + 3252341113, + 2577071117, + 2499523877, + 2385946407, + 2051798557, + 1377061171, + 1139007959, + 2931433297, + 26982963, + 566620856, + 3990593418, + 2891348786, + 985361144, + 3349492759, + 1669250211, + 1849438310, + 215958243, + 2053618149, + 3254450603, + 3373441033, + 808264803, + 2420293120, + 3738956768, + 3030135844, + 1415649519, + 1984045310, + 170593077, + 2191242305, + 2966552220, + 2659661375, + 3135670766, + 3456270730, + 3161215244, + 2113148250, + 1748878796, + 864032655, + 1647138639, + 3149458351, + 1878429497, + 2790604930, + 1804724952, + 563250933, + 3781808488, + 2196738495, + 1297061454, + 1671610258, + 2839219664, + 54190717, + 1321160430, + 1454860780, + 2173840316, + 260448697, + 2616252837, + 1965529454, + 3262117153, + 57624293, + 2383384828, + 3958089900, + 1647811813, + 1247195842, + 3913713453, + 1830407355, + 4237860146, + 3195456369, + 2243691994, + 3466538342, + 2221302929, + 3810228874, + 581191113, + 2109526507, + 2864821491, + 226854103, + 3342940685, + 3662895456, + 2898610202, + 16647994, + 3792169428, + 2989468345, + 2034275766, + 1398459443, + 2533442200, + 662308801, + 2288542311, + 2275925043, + 3096984239, + 2517801243, + 1035651899, + 4050642982, + 3651572392, + 31201715, + 164236749, + 1181532931, + 2908427529, + 2605363232, + 421421039, + 2908707894, + 1327292708, + 950010697, + 2700789657, + 747776745, + 195005289, + 3667940660, + 1301150487, + 143697711, + 3312190461, + 3790729653, + 3960139347, + 659823607, + 1138718717, + 2025037006, + 4151138983, + 1348399036, + 4071700250, + 3809807973, + 1316603836, + 1192309846, + 1387122844, + 868870716, + 3722390529, + 1317568088, + 1087995477, + 1717499282, + 3286993133, + 1702782981, + 1259532729, + 107859979, + 4251967060, + 453409295, + 647529006, + 839106077, + 3854140514, + 2490308537, + 2730383569, + 448604222, + 2094495664, + 2882113069, + 2775497632, + 3967835897, + 2729281564, + 148462246, + 4181103969, + 2402226687, + 2653424843, + 3926326566, + 4035129264, + 250028820, + 3650515189, + 2271621666, + 2645999969, + 1193086188, + 3941118712, + 4004363215, + 813195910, + 1371147395, + 3112788896, + 3797169650, + 2613939839, + 3937421507, + 724668422, + 2878709092, + 3432806086, + 1607090647, + 2826908585, + 2464652415, + 2601849612, + 517899629, + 1495564679, + 2048130762, + 708974837, + 1700315538, + 2579278273, + 2242949441, + 3460308474, + 2388581660, + 2770301444, + 3744537010, + 296354594, + 2054159871, + 3468853396, + 1651514041, + 4062623868, + 3583825578, + 2794129787, + 1410796327, + 4156382012, + 2045715984, + 3813065125, + 3818919944, + 1665102852, + 1278187749, + 4009313486, + 202365681, + 644210391, + 1756153304, + 3866170568, + 3814335054, + 2542750461, + 3813215604, + 1136014057, + 2960011051, + 3772001340, + 586861871, + 3923860481, + 3470266176, + 1546763578, + 1902195736, + 3104501664, + 3876757106, + 2571263930, + 477981763, + 2126062045, + 269049910, + 1290930322, + 1780432887, + 3160595001, + 1417209701, + 514282708, + 1164023454, + 2686453282, + 3115969684, + 4190938705, + 3186443528, + 1676171854, + 531295233, + 289168201, + 1114096568, + 3168586807, + 613594789, + 2970263892, + 3449924641, + 2658965264, + 967110793, + 3220039966, + 4215063448, + 3507754845, + 133270418, + 2334205304, + 1831822609, + 4262324326, + 2309133978, + 3999156776, + 1791457596, + 1256641253, + 2242142937, + 2820499689, + 1229037104, + 2660992190, + 818933150, + 2759281855, + 3717480264, + 112547385, + 2956393135, + 104847229, + 2767915638, + 1000035645, + 3582285910, + 3478042508, + 908731263, + 4060768484, + 2564303962, + 1475213067, + 1339551978, + 3750107469, + 1080002507, + 2787912125, + 2645990150, + 1568173343, + 664951323, + 195563864, + 689296020, + 3577669515, + 1821670056, + 3468814666, + 1594124042, + 817555651, + 3193780319, + 3426486650, + 3320655549, + 547932373, + 1410453440, + 4223791601, + 1233467261, + 3247156510, + 2734757340, + 2515500688, + 2584433606, + 4231237972, + 2317152140, + 2365102013, + 936827045, + 3876510247, + 1680648134, + 940806234, + 986899195, + 2391799027, + 422634611, + 4216371405, + 547540254, + 1508615574, + 3364354997, + 879755265, + 3263706287, + 533120172, + 3594839962, + 3452469847, + 4055859708, + 969997918, + 4262262649, + 1470323788, + 1574987003, + 401859900, + 876195179, + 2787490928, + 1047019857, + 1456393356, + 1268268436, + 1049292964, + 1125089780, + 49962707, + 2656962752, + 3432712111, + 3828147887, + 1008783239, + 745874224, + 2762581588, + 118220858, + 3732108798, + 2127208388, + 2769688285, + 4274667124, + 2951242862, + 3366367927, + 1598191526, + 171242489, + 744919083, + 3925218218, + 67453217, + 202729256, + 1796852965, + 2981855335, + 162603179, + 468499587, + 2498928560, + 1780550188, + 4154629753, + 159800440, + 918301787, + 4009883207, + 1405353177, + 214354366, + 2158957596, + 3869560763, + 3877900345, + 1972516075, + 652141274, + 2653621912, + 2767765677, + 2033835604, + 427710650, + 3066436588, + 2951118829, + 2329045530, + 2837864355, + 369661323, + 2512052550, + 786311058, + 817972640, + 1292779617, + 1845273405, + 3767574573, + 651561825, + 4135562231, + 2180200162, + 857186603, + 3543645467, + 1098876395, + 1744194175, + 122392459, + 4006499324, + 4093925024, + 2047275191, + 1612275583, + 4243136854, + 1515517981, + 967094934, + 4124925157, + 407264543, + 3939504048, + 3065407425, + 3923876406, + 234366703, + 1267806301, + 2103627408, + 3161503390, + 548723491, + 1573785449, + 1523860531, + 3111076264, + 3089072708, + 2099939884, + 2484876526, + 847465510, + 1287516312, + 1277183311, + 3825284788, + 1286852397, + 1071051992, + 4211214318, + 1395725316, + 318332081, + 3887322410, + 3648123850, + 3980865530, + 482308962, + 1393337805, + 953623395, + 869400156, + 4267388190, + 299775582, + 4201609618, + 2407563033, + 2302119831, + 906313690, + 1287024299, + 3047468697, + 1961247671, + 3065780178, + 896060754, + 2281157850, + 43993189, + 3759084088, + 1257965245, + 1712831998, + 3118566793, + 2952627364, + 2536493746, + 2411795166, + 3620642485, + 3555288126, + 1116895003, + 1021126224, + 2579096214, + 1020206011, + 394251688, + 2996670120, + 1892934024, + 2242747375, + 2871062619, + 1033916267, + 233778482, + 902809400, + 2423438189, + 3603630150, + 3726742127, + 3963756685, + 2091120791, + 1461915017, + 846990501, + 1140814285, + 532282682, + 290246973, + 1413926828, + 2836815176, + 1545937573, + 701427906, + 6966626, + 2521894774, + 568079982, + 1507550845, + 1269329458, + 4901247, + 844581908, + 2159007946, + 3652623899, + 2311865206, + 2809893836, + 2653658256, + 559868311, + 1797422328, + 2403522753, + 1340592037, + 2909871562, + 4258339872, + 1990498549, + 1747735621, + 3443076681, + 2839280556, + 2198844498, + 2969323272, + 4067837655, + 1809216596, + 4213935470, + 3721239910, + 3110124563, + 3633212186, + 1076094919, + 3492681160, + 2990603714, + 1282671169, + 1162631115, + 2299938101, + 60794882, + 556699340, + 1151569191, + 3492507576, + 1719539772, + 3827661025, + 3541062772, + 1295482807, + 325546462, + 810664998, + 4164189336, + 2550548636, + 2227159271, + 4052323377, + 993650460, + 624459121, + 533363896, + 3136167602, + 1714985676, + 2299507097, + 3401403324, + 2596403736, + 2580829261, + 1005216985, + 3292487575, + 389098918, + 107392157, + 698445126, + 545507947, + 3517962966, + 3506980667, + 2035236867, + 334294585, + 1567596345, + 2975991597, + 69070171, + 108620321, + 366436803, + 2456257185, + 300297686, + 2562984755, + 2934600353, + 1729676095, + 4066392588, + 4085843491, + 3296227172, + 461743992, + 3702256187, + 2997712950, + 1135886928, + 2600348082, + 4141089362, + 892518763, + 3058189589, + 1934930519, + 4153963813, + 4252640070, + 4262502884, + 1253456086, + 1961772005, + 680562547, + 1185858172, + 634477470, + 2339411373, + 2164550347, + 2803986361, + 924454958, + 3134526712, + 966349044, + 1453429200, + 3082418651, + 401225340, + 3398590822, + 128059545, + 2178637220, + 1774922145, + 2255178124, + 2918720843, + 3327682118, + 2214394413, + 3099747667, + 1661934963, + 1298729940, + 1272558680, + 4053018353, + 3789054841, + 4131648492, + 1773101901, + 686931116, + 1203446822, + 3752734570, + 3235657418, + 1944359995, + 697623116, + 2039237806, + 3348886677, + 2064524550, + 3039942399, + 2701235347, + 3767389171, + 916901056, + 48586704, + 1416585585, + 766915895, + 3115924654, + 331229057, + 3134725303, + 3457203626, + 741448661, + 854943726, + 1524960663, + 1896889473, + 1713382184, + 2640180467, + 3592536672, + 1428546862, + 3838033593, + 3778145286, + 3664325196, + 542063384, + 529023530, + 2782480697, + 173628958, + 958820372, + 774948181, + 1930508149, + 1674876101, + 3703541303, + 3024990863, + 473593391, + 1202061776, + 115478649, + 3136639257, + 3545390249, + 2091581418, + 2249203496, + 2052969697, + 969919513, + 795131664, + 546537576, + 1302855139, + 2724278010, + 1751639238, + 100232685, + 3423489574, + 103164121, + 1984156496, + 3109944628, + 3809627117, + 3362560523, + 1292767560, + 1281284896, + 989446871, + 2926075433, + 1217424066, + 1358302603, + 252442244, + 3489051600, + 2648229275, + 3946622619, + 3719323549, + 1749561460, + 3345174221, + 938188329, + 693952432, + 3443621177, + 2911849161, + 1427624316, + 3678446798, + 2906392291, + 2445546358, + 1977948992, + 801684685, + 2963795578, + 3386667580, + 2100145515, + 936768644, + 1593174223, + 3875136628, + 2590738238, + 2890201689, + 216936839, + 1339115227, + 2635418504, + 119932769, + 1340581862, + 4144168265, + 3938057421, + 1168936317, + 2215987271, + 17184930, + 216656254, + 2188297819, + 2061448278, + 1202480469, + 1405677027, + 292664931, + 953177447, + 3172167786, + 2503470694, + 1562534143, + 1387761019, + 1505457387, + 592131087, + 3951980790, + 1017622389, + 2281683049, + 2074962955, + 3329400364, + 1404464966, + 3295703247, + 3486575464, + 2090288213, + 3184219425, + 761918525, + 2960208240, + 3763970129, + 833445166, + 267175176, + 572901416, + 770701708, + 2145108397, + 3628405300, + 1694398909, + 377464713, + 999531075, + 355730846, + 1936325029, + 1976818713, + 854711490, + 132862484, + 1207569661, + 392699516, + 1081009974, + 836817083, + 8548221, + 3978550238, + 1419003659, + 972930352, + 1428068551, + 4209168645, + 4197520880, + 3943327533, + 99781359, + 1496417935, + 970974623, + 1028307449, + 2504293777, + 2296530467, + 54001860, + 334118479, + 3633345056, + 3002480859, + 1813811374, + 25154938, + 301497518, + 4275021930, + 3282143123, + 1785549025, + 3598774605, + 668914748, + 3160281112, + 190382168, + 3606378643, + 3008775778, + 894795587, + 2920018267, + 992106292, + 605405246, + 1572036356, + 1611796179, + 3432918843, + 2744331545, + 1848223043, + 1152080712, + 1195579261, + 374577063, + 1687993070, + 3507249428, + 3508208098, + 24847331, + 3733363729, + 410066894, + 1140860469, + 1186346254, + 4001954564, + 1781698919, + 1473739648, + 611800377, + 2528535721, + 483659100, + 1465122916, + 1423007157, + 2160485157, + 2603441149, + 814091188, + 839018888, + 2290160479, + 709434822, + 3758915541, + 206497366, + 647739199, + 1332381676, + 3765956308, + 2329586525, + 3933383957, + 2402114313, + 2149614186, + 2027684415, + 3252300857, + 3409909559, + 2129462542, + 3413088674, + 550912561, + 1884734489, + 3454710315, + 3089136778, + 3468891815, + 450825700, + 1068267958, + 1083780482, + 1882776931, + 3387913880, + 2512854824, + 3765561147, + 2082119393, + 3191789998, + 3268009062, + 1072301092, + 989191045, + 902359821, + 2242814577, + 2285401049, + 3185723396, + 1189582677, + 1052972760, + 3007704025, + 2985550861, + 2069850031, + 3678424230, + 1801617804, + 246137952, + 1713777329, + 4040290028, + 1552898325, + 787558002, + 2622943985, + 3295504759, + 3744612268, + 3526116115, + 3352769670, + 3910684858, + 4186388391, + 3972654099, + 2209684028, + 3906598359, + 1607122378, + 4076456035, + 3754124346, + 2634876984, + 4104847148, + 2656001877, + 2198100150, + 3683620463, + 646937365, + 364412410, + 2895405383, + 3041104998, + 2380266516, + 4262451672, + 1818177963, + 3391440962, + 2968709759, + 3349770446, + 1689905488, + 2452371329, + 776949993, + 1046308568, + 1592843043, + 3356487496, + 543456261, + 4019266966, + 3413881002, + 2162344782, + 2906465773, + 604490828, + 2482347082, + 1465834774, + 3590369453, + 4006089194, + 2221173365, + 1680871970, + 2374564446, + 140760082, + 935674497, + 1201104267, + 388802414, + 3253154925, + 3608163578, + 375711410, + 2065707519, + 136847632, + 3867470770, + 802096470, + 3359615282, + 2988900115, + 445520923, + 2627882076, + 1277600524, + 1248782998, + 4211777827, + 1753939330, + 4078827803, + 2202860817, + 1375887292, + 1336540211, + 4107127315, + 3240966349, + 1025999202, + 2217540088, + 635654532, + 3012341919, + 3048508995, + 762060967, + 3937951865, + 757818969, + 286528768, + 2504250232, + 4291469257, + 793464992, + 1934262619, + 3603733483, + 4264651163, + 450041391, + 3683285142, + 3943679854, + 4184673313, + 3112966325, + 2999093658, + 839336362, + 1252897003, + 1520818631, + 1996403225, + 4076122542, + 2679158812, + 1234736508, + 3277957203, + 2521119640, + 477707976, + 2764279211, + 1725521666, + 189237909, + 2649848915, + 1921924037, + 3323989921, + 3497554286, + 3667891284, + 363810963, + 4123651570, + 654290819, + 3828886729, + 1074566868, + 3529808189, + 2376273563, + 3188405429, + 1340442687, + 23366406, + 177240564, + 1418661962, + 2772522930, + 3329973409, + 2499441159, + 2436920191, + 1677149960, + 2838258055, + 3248073812, + 1936894453, + 195979059, + 3336629797, + 2225225170, + 2241276337, + 2103330645, + 867316452, + 1005790753, + 1435458802, + 2518696166, + 1500391368, + 2957570303, + 1399704578, + 1635394098, + 1448662176, + 2140705131, + 2354872919, + 478054843, + 3956581489, + 2386494806, + 3659886269, + 1810497191, + 988357215, + 1183625291, + 3308188174, + 3864913942, + 2139265271, + 3106141222, + 4095094433, + 3908751236, + 1219514047, + 3934434965, + 4198330208, + 2716119872, + 671526211, + 1442746803, + 2980086740, + 1779948513, + 3104658113, + 3039535623, + 2864235814, + 1361080987, + 3301975174, + 2301937357, + 64212135, + 964827543, + 4062021037, + 463814621, + 2591002756, + 3034306082, + 1346952501, + 3616259860, + 3529562482, + 1407376597, + 1300938740, + 1831428582, + 1377054435, + 3494483672, + 747322418, + 216966075, + 3109940556, + 528951892, + 1669013946, + 101428898, + 2355473724, + 1271448741, + 296701196, + 268703684, + 3772961050, + 1364096728, + 3595360865, + 3834654553, + 245756443, + 1180671740, + 3059654943, + 1665841768, + 4037643718, + 1968685557, + 4003118184, + 1863308575, + 3388905795, + 4159463682, + 4075930734, + 3935485977, + 2840325196, + 18372373, + 922566769, + 3339869542, + 2322470696, + 2065294323, + 4265824665, + 429328623, + 2074833176, + 2599110428, + 369418755, + 3008438360, + 2290841335, + 2261453736, + 3219343943, + 3835916767, + 3330072959, + 1011610580, + 4028138814, + 2334037773, + 1160961029, + 3783760768, + 4129099873, + 3347763150, + 1542597051, + 2667694442, + 1899324151, + 4271283002, + 446119623, + 1742983365, + 1490047239, + 3496881753, + 1609204301, + 1618233515, + 1446119000, + 3059663608, + 2392848378, + 2197177325, + 4202324901, + 830381063, + 3172287722, + 2284794326, + 60048900, + 776939959, + 126368974, + 3335316819, + 1617224393, + 1887735511, + 1166521134, + 2051868140, + 204477306, + 2610832872, + 1270236240, + 2858895850, + 2259287284, + 562086299, + 192678059, + 206934821, + 2586951764, + 915075707, + 1531503316, + 2422154594, + 52428376, + 3158676538, + 3151131838, + 136530178, + 1767843381, + 272791523, + 3828859539, + 1225138780, + 163687578, + 3525118767, + 2535968292, + 1924379759, + 283228679, + 4163469278, + 3564332123, + 2796953513, + 3876635710, + 2631269364, + 435019183, + 3612086791, + 3922297413, + 2481322453, + 2240232544, + 264330780, + 665379959, + 121343678, + 3341464509, + 1276481199, + 890467429, + 2406267587, + 2548172695, + 1555519814, + 2624817395, + 2649640796, + 2008390449, + 3369404831, + 3318100743, + 4221083470, + 876058616, + 1611683006, + 3782414599, + 927777533, + 88074728, + 1295423020, + 4122276637, + 3546635539, + 1290911081, + 1656784269, + 1878676170, + 994393576, + 2611964223, + 3332196548, + 613467902, + 4227931359, + 628818529, + 810178161, + 4187267699, + 3258744658, + 1124346511, + 2242608640, + 1767743482, + 3960871523, + 3694411777, + 406925992, + 881968096, + 1110666459, + 2373577443, + 1816382591, + 3578792728, + 3059987639, + 1362889683, + 3276050168, + 85597507, + 3955182174, + 4190965891, + 210511918, + 182308576, + 2970087759, + 681329371, + 217312980, + 3140854762, + 4199572746, + 2423266063, + 611338769, + 188684580, + 387654590, + 4208113818, + 938495350, + 245698597, + 2592260023, + 4067163389, + 519701232, + 1490532487, + 3677927206, + 4258482897, + 3236806699, + 873090090, + 1615040827, + 2684458234, + 1214354773, + 3808440772, + 2406008897, + 3692493684, + 1219698021, + 2285892732, + 100870239, + 3388557694, + 2876509474, + 4244766036, + 1017137303, + 3662418363, + 4236747031, + 837030258, + 3878772982, + 442432038, + 2350568934, + 1377998825, + 580739222, + 3664426791, + 4221279257, + 1015619765, + 2788249033, + 760252448, + 3392519986, + 2585360459, + 140810994, + 2492079986, + 1783515715, + 3751207537, + 1323412349, + 3653658228, + 1639014390, + 887227437, + 2465063999, + 3023598050, + 899721999, + 2706288461, + 1998284994, + 2926476684, + 2950171951, + 3726696418, + 2404322839, + 1986985524, + 1863053884, + 4292239636, + 1500243302, + 2477397933, + 1886915427, + 314868964, + 285534586, + 238835825, + 2091996952, + 1712504420, + 2535782508, + 1059481110, + 1551368040, + 2569309671, + 164825657, + 4197566927, + 3007996126, + 734721058, + 1075862705, + 1190607268, + 3085176441, + 2647730498, + 276950343, + 4188313105, + 2644079974, + 4268419917, + 2118105026, + 2838182688, + 631686803, + 4049268539, + 1213849470, + 395500138, + 411451934, + 3921892282, + 1428122457, + 3020360876, + 3699851865, + 2119420288, + 1032914964, + 911509731, + 379170880, + 1931756704, + 2671028788, + 2596306016, + 524457794, + 2484367349, + 3969243850, + 2002483571, + 3535862375, + 4168823533, + 4122856451, + 299191759, + 4043906425, + 3530247727, + 3073040529, + 2219836774, + 1533630956, + 833955906, + 3525350270, + 1111680406, + 3599551747, + 479339881, + 4188026512, + 3947101254, + 3309992798, + 4150344220, + 1712302370, + 971968818, + 694304365, + 4189216881, + 650392319, + 2475725098, + 1112484136, + 4067521904, + 1457755905, + 1198460893, + 1448917178, + 644122900, + 1977075084, + 2680431451, + 2297523520, + 758780515, + 2362536300, + 69290656, + 3355651761, + 2497463743, + 3637278887, + 817056130, + 1618493112, + 3238323433, + 2576549056, + 4134473132, + 3941966948, + 2468389063, + 1989550897, + 939185386, + 154995128, + 1050055369, + 603118285, + 3385201060, + 1906746855, + 2510736699, + 1496731888, + 3576997171, + 1620074729, + 1769919715, + 3212241340, + 2437369248, + 2845004790, + 773974130, + 2057140996, + 3506691775, + 1774264184, + 835045581, + 2654816329, + 1511846742, + 1592372647, + 3063102621, + 1560480041, + 3994960219, + 776324840, + 3819796405, + 898988054, + 37164886, + 1744208957, + 1089382268, + 3694627279, + 732493848, + 763581161, + 2631056576, + 176492401, + 121625068, + 3815059576, + 3075385388, + 156121283, + 3028625738, + 4214465957, + 2335965573, + 2130896323, + 3930208688, + 3555403758, + 3702865408, + 3804078404, + 3050737015, + 3869289500, + 2102279238, + 3206425564, + 267786674, + 3483225181, + 522554066, + 1984826377, + 3217768675, + 3838297681, + 3405536830, + 2966997290, + 2902635987, + 2810651413, + 2195519628, + 4153919901, + 3765936067, + 2391008749, + 415766520, + 3494083625, + 278039327, + 2195922196, + 3358034354, + 3985136516, + 3706836578, + 319317736, + 1266735130, + 2648410921, + 3052965412, + 3860521011, + 1335678359, + 898803331, + 2771426421, + 1100294522, + 837103821, + 1822780985, + 2468563755, + 2652326421, + 1237920298, + 3888314916, + 3703270860, + 2334954603, + 425709934, + 2923195992, + 3781553449, + 2481380543, + 2836201016, + 4163743535, + 1856271603, + 2514914508, + 2659740260, + 994689858, + 1754129618, + 2572270590, + 933071645, + 3238911999, + 2140596713, + 2324809752, + 2447233203, + 3944524421, + 1464590078, + 1783469000, + 1426484321, + 2831036589, + 669953366, + 2467395920, + 1346745980, + 28384445, + 520057418, + 2605156850, + 3547641409, + 3968632424, + 3586137739, + 1829248051, + 2877202614, + 3505134519, + 972761614, + 669880595, + 2736668144, + 1806406509, + 3613308662, + 3957011320, + 2148405042, + 4260751373, + 2998225764, + 2338191417, + 216214311, + 4183131842, + 374916770, + 2884617637, + 3296738313, + 2074837802, + 2384235525, + 3030717299, + 1950687364, + 967763152, + 4071323425, + 3730628665, + 2438950262, + 1779914536, + 3291569086, + 472167725, + 3873972613, + 3746688797, + 3288172204, + 1586007980, + 20146338, + 1356698351, + 1241784843, + 896604961, + 3504660206, + 1230568383, + 2418737211, + 859280986, + 4002301551, + 2466760899, + 834105300, + 3254854935, + 3968072035, + 4123415185, + 1521003012, + 2749958854, + 546877746, + 1779121879, + 918664132, + 323508823, + 2959053448, + 2234275917, + 391098903, + 1525191579, + 3014675918, + 840072995, + 2289738701, + 2626990321, + 2617163154, + 1509589808, + 1658571668, + 3968660169, + 2750932260, + 965382996, + 3744578228, + 63238035, + 1420213592, + 3547158354, + 659688910, + 1687362099, + 3671914349, + 4088721928, + 3129154106, + 2800628877, + 2056370684, + 655539975, + 419330280, + 3477754689, + 118810946, + 3783215365, + 3617854189, + 2773406401, + 3398689733, + 137446820, + 3445441799, + 1377751978, + 102773037, + 1428576770, + 2126861245, + 282024741, + 137965589, + 799908344, + 2747012104, + 2588842363, + 4079593756, + 1884796543, + 2089878612, + 287438339, + 3042459863, + 284155932, + 2194328115, + 2537630306, + 1115213219, + 1000033464, + 2054992093, + 4288536304, + 3809982624, + 3143688791, + 912790566, + 2690711345, + 3282737653, + 1757552999, + 1662483077, + 2906945953, + 2589432623, + 3764809490, + 3954618988, + 2997904974, + 378410069, + 2557433647, + 2315034770, + 3168371160, + 1074613766, + 3685021410, + 2666944827, + 667360663, + 392246967, + 1963080188, + 241189265, + 2383220761, + 273454907, + 2699152184, + 1178758157, + 3686978840, + 3588348145, + 475514317, + 1401569826, + 2822156887, + 762344545, + 1302677667, + 1336163318, + 1574429551, + 2438801135, + 3464343896, + 2773171189, + 800437699, + 1988558003, + 3139930905, + 2680545570, + 2517347943, + 381423179, + 3749204260, + 171704860, + 4110583218, + 4082557273, + 4117643380, + 1581712905, + 1478575901, + 3213409901, + 3570398352, + 199363079, + 74998555, + 1497479943, + 1588902876, + 2182716719, + 2044279883, + 2530715703, + 3631828968, + 3028359884, + 3296477376, + 3712890896, + 695166934, + 1681668003, + 2116068226, + 541304037, + 98394202, + 3675545685, + 4167724997, + 3036031502, + 2203689807, + 1365103938, + 128733408, + 2267978318, + 2423691132, + 421730666, + 1133375234, + 1488361108, + 921779152, + 2401667467, + 103926862, + 3304404831, + 1435097980, + 104836849, + 2621606137, + 1212957977, + 2886318207, + 125706266, + 3458107665, + 1923375261, + 1974177236, + 1379184180, + 151282983, + 1974411369, + 3532138619, + 3129889958, + 493207527, + 3855901858, + 385431276, + 593699702, + 2003604409, + 1273493811, + 2534089971, + 3801017906, + 1391378085, + 4052598651, + 1493885902, + 2547139905, + 55775436, + 3393276795, + 3022286616, + 3556257664, + 4073739116, + 3010324767, + 253360888, + 1769675772, + 4198702121, + 3004501477, + 934221424, + 2043508004, + 3285425452, + 1261525474, + 1643528612, + 20940993, + 2937444680, + 2920811264, + 3721095898, + 3980255034, + 4082099408, + 2207357862, + 2397279872, + 3133632760, + 3858259552, + 2205386511, + 3119367492, + 1226554158, + 1383031641, + 418493382, + 3495739874, + 3765302976, + 1618904343, + 247540440, + 234268054, + 2441127976, + 2008348696, + 965985008, + 2881602208, + 2608102572, + 2300847298, + 3891718328, + 1421948532, + 3557204540, + 612553099, + 4060595604, + 46753905, + 4050163030, + 1338654393, + 3060241350, + 2974986367, + 2158728507, + 1980012169, + 3427060753, + 4039506524, + 3687711034, + 2625388079, + 122917121, + 65262698, + 1710153628, + 1062178361, + 1192911960, + 966332899, + 2929033306, + 4175997354, + 1820552253, + 3990059547, + 2738720271, + 1415735718, + 1747006761, + 3680962181, + 2550782379, + 1472091423, + 2408227799, + 659637802, + 1330226412, + 3165519077, + 2780611778, + 3779279565, + 3640745234, + 3531581475, + 617584432, + 2625316884, + 2964566706, + 2366391302, + 373228380, + 3957914941, + 1258771570, + 1731935386, + 810067853, + 2605132230, + 1840584526, + 4079026280, + 4094595934, + 829301828, + 565188535, + 1263030328, + 3726343709, + 918653609, + 472976186, + 4286770678, + 4036012713, + 3176300636, + 1107071055, + 4144843767, + 25492387, + 2207649473, + 3633977206, + 2147514011, + 1269991804, + 2683965332, + 2520639290, + 3086660701, + 617169089, + 3432492182, + 3710673013, + 3409402171, + 119439193, + 3963100264, + 3342998344, + 3693521218, + 1853335090, + 2389605173, + 2872784534, + 2317685497, + 3978855008, + 3380967185, + 4286235106, + 1349107887, + 1969512946, + 4208086384, + 581163680, + 1082760276, + 738048149, + 1202565836, + 565233836, + 3445288438, + 3039896757, + 2880462532, + 2474618502, + 1513484970, + 2142309827, + 683739786, + 378146314, + 604326336, + 2048166945, + 2597099465, + 4072040928, + 1755442912, + 2907595471, + 3467550247, + 250062411, + 56058659, + 1145710430, + 3039069266, + 1308673499, + 1714524332, + 581730636, + 2761367602, + 626014209, + 137071723, + 470268169, + 1437302565, + 2321627678, + 22353324, + 1332773196, + 2159532693, + 2158846549, + 2373532920, + 1862594758, + 597810181, + 2340972393, + 3639427680, + 1007863726, + 695031015, + 3011496685, + 270375245, + 506179337, + 2465725881, + 3586616321, + 2004336553, + 2540593185, + 3053313031, + 242205498, + 1129472966, + 2423477468, + 2905078526, + 1273830817, + 3684442631, + 1606743285, + 1856404782, + 997845114, + 3493020767, + 3764183853, + 1210713014, + 775445948, + 2693348766, + 1544199630, + 4134758035, + 2289181747, + 2575820169, + 4039240109, + 1927565147, + 2469436912, + 1147407391, + 88721923, + 4251027520, + 3943603462, + 3343041971, + 4136117809, + 1408968141, + 2011730488, + 1115400373, + 91805372, + 3797413206, + 3231843795, + 254866824, + 50349007, + 3008475015, + 4096823174, + 806995258, + 579015943, + 224913096, + 3452629520, + 3935452085, + 2158823338, + 443232881, + 27590479, + 1626003822, + 1659214304, + 3730751302, + 3304817506, + 2126464135, + 468094930, + 2004841432, + 4244266140, + 3191633824, + 621908160, + 386502852, + 3160550258, + 1846013927, + 3929062191, + 1752552051, + 2020989873, + 3733195436, + 3332803725, + 568035617, + 677499606, + 887350608, + 1910824007, + 1074653741, + 2669527119, + 223941937, + 3638297443, + 3976028795, + 2153246105, + 3107649842, + 2225817714, + 365559155, + 2590904030, + 4267229876, + 565109877, + 1465231259, + 1031473198, + 1393103679, + 3065248506, + 874527522, + 4007089971, + 1754535268, + 468826683, + 3193473935, + 2427827574, + 3093649186, + 3340523571, + 538785348, + 540707700, + 1138431154, + 390508157, + 2231744390, + 3431900480, + 2267895757, + 2586775989, + 458121248, + 4151047812, + 1794590573, + 2207519661, + 757298974, + 2917271667, + 2795562736, + 2743741950, + 1960281059, + 662426606, + 3129250965, + 3284489932, + 2860828788, + 1665561948, + 243380839, + 1919574353, + 2539834343, + 806470139, + 1347773492, + 2588536919, + 1735157985, + 2984222111, + 3613443080, + 2161200608, + 1139265850, + 428233632, + 3310537846, + 130112194, + 1688164293, + 1800051811, + 302537682, + 2956495410, + 1641858969, + 47106965, + 2547135390, + 3629305305, + 2304666287, + 2953885888, + 4274433428, + 3596400556, + 979899549, + 1408111459, + 2891516324, + 3148158119, + 2198724778, + 3377935353, + 3741107315, + 3692011630, + 589770277, + 1491910405, + 3070679829, + 96783510, + 1097094619, + 718459500, + 1566463826, + 2251827641, + 615019390, + 3547997086, + 208891287, + 3237297588, + 3017013236, + 1351182280, + 3220242913, + 1869677811, + 2552355320, + 2314224780, + 3646448874, + 827517512, + 286583337, + 2545551719, + 1652513053, + 2288536154, + 1104922602, + 1453694093, + 3747222644, + 3724572717, + 208872394, + 1298083238, + 2440775102, + 490732304, + 2579371915, + 773048215, + 3117989783, + 3093360535, + 2944738318, + 3420927430, + 610089208, + 3465176615, + 2026748828, + 893684011, + 1051908807, + 1631920906, + 3068536747, + 2517988544, + 1237193659, + 1186253152, + 3445268041, + 1527128786, + 52389220, + 2272891464, + 4216412620, + 162836167, + 285766635, + 1450011436, + 2529126016, + 2774138045, + 363705219, + 1046202415, + 2342962149, + 3660787015, + 1475962515, + 470852383, + 718191623, + 616824944, + 76199769, + 1858153084, + 4018570557, + 3978103333, + 2630348151, + 3609233416, + 3189344676, + 2518740437, + 3931673556, + 1974037890, + 704660142, + 3939759348, + 28317872, + 155880254, + 98267636, + 2179068948, + 1621791453, + 3883686984, + 3889013516, + 3901334336, + 595696159, + 2056195890, + 1766401857, + 3894355691, + 374485730, + 3627058903, + 2345537254, + 774497373, + 2739386696, + 638042079, + 2714586118, + 3681906223, + 3586849544, + 2279548262, + 2388695512, + 2729026734, + 3921872400, + 2742643461, + 3256049952, + 3524792600, + 900652213, + 4027843861, + 1664123083, + 1693946252, + 1091032590, + 3229605224, + 3138471550, + 4076063174, + 1921014104, + 703457779, + 3778215220, + 2874553038, + 1977925517, + 3474710342, + 1397524212, + 1639376229, + 1365339851, + 1396788617, + 4170383328, + 2374091134, + 917644633, + 923930639, + 335414448, + 2894224058, + 2132047519, + 2139834936, + 893152735, + 3658071140, + 1808034705, + 3992989164, + 541814435, + 2467639229, + 4252046851, + 2221776534, + 4010357500, + 3280876403, + 2195433727, + 605914204, + 3580984099, + 1849716223, + 1379095517, + 1444911428, + 1727601518, + 1107293130, + 1360518977, + 3882144643, + 2304676230, + 3161709399, + 4202670478, + 1726836178, + 1352003285, + 1211530781, + 1428143088, + 233742193, + 254065653, + 3778834578, + 2960826705, + 3846707957, + 78125029, + 3035610061, + 4248789487, + 1988353744, + 1488294606, + 2658401089, + 826190398, + 982579256, + 2611299281, + 607386235, + 383744519, + 741541202, + 685070477, + 839618654, + 168365378, + 3600193469, + 3516963641, + 3847439358, + 59984353, + 3531750373, + 4110124515, + 1832015278, + 1109782359, + 224715782, + 1368486037, + 2896735063, + 1631277466, + 2122909243, + 1329181006, + 3883429858, + 2709763262, + 1485532168, + 1454163675, + 3877647488, + 1314197277, + 2191792338, + 1547290735, + 2767848648, + 3165457718, + 2615232542, + 3554360174, + 3461892329, + 437444556, + 2530137891, + 2811265260, + 1462499085, + 344905327, + 3209896916, + 2633921064, + 1629316811, + 1898327023, + 1699291966, + 3173676731, + 2413271340, + 2308589503, + 3010504633, + 2318476076, + 4283542148, + 3136680443, + 1274070160, + 3634534492, + 1621178692, + 2720726637, + 2557726718, + 1593800678, + 3618016582, + 4222420563, + 1427771361, + 2709604096, + 3380881481, + 3429159678, + 1651149672, + 851806684, + 1924253026, + 3042327229, + 2621745272, + 31459648, + 1789941349, + 2699969840, + 4089263817, + 309554307, + 2416205374, + 668142405, + 1028045075, + 2577874596, + 3966935454, + 4013816966, + 952209266, + 2464801694, + 1951540504, + 270149487, + 3537443337, + 1700303154, + 1525434601, + 2016801699, + 1016066231, + 788950326, + 3301786090, + 867188914, + 591182740, + 4147481744, + 1636209111, + 2870738335, + 1379570713, + 1718211426, + 2080443576, + 3117953119, + 787459719, + 454627901, + 2241519126, + 1690518058, + 1687083774, + 721125501, + 177924835, + 596380000, + 3547974950, + 3551038049, + 193705970, + 3903775738, + 2791266941, + 2946582806, + 3677605584, + 4114537422, + 517706327, + 2851515209, + 3606961145, + 3140861945, + 2004897753, + 2934409336, + 2266808973, + 1728851303, + 2963852036, + 3726868429, + 2346475915, + 3284094460, + 2603029281, + 1910866618, + 2201562964, + 922269736, + 3490564305, + 1223267941, + 781137632, + 1409009696, + 1481644162, + 638868514, + 1299363950, + 184622510, + 2140815555, + 972229383, + 3463817591, + 337587666, + 1588378885, + 2458859056, + 734138965, + 829580768, + 1807474494, + 1339021242, + 2949169736, + 2696891033, + 3696602735, + 1454748247, + 829820702, + 3565850641, + 1581233899, + 3083125002, + 1038667443, + 3614790955, + 2537209861, + 429330569, + 3337980755, + 3093601805, + 4279291223, + 1931300006, + 3549963871, + 3073864229, + 3313723218, + 1045894152, + 3527208247, + 3955141082, + 1168948257, + 2252748292, + 1419859777, + 1697615867, + 1861852649, + 2965412203, + 2785614098, + 2019081017, + 3865163652, + 1715960207, + 538250598, + 3777321576, + 2012459609, + 2954119511, + 2929968610, + 3887420692, + 3803424535, + 3695819128, + 3864966792, + 2146529039, + 88966253, + 3171364951, + 3564359251, + 2710751340, + 3483003590, + 2389828882, + 3033472152, + 4212945213, + 3200039359, + 2723039622, + 1234116552, + 1847511641, + 1554459825, + 490403919, + 2702426108, + 1360638138, + 3767662101, + 978930427, + 1673983808, + 2622724125, + 1465277160, + 3276263209, + 104027869, + 1275307505, + 3713601516, + 1892013036, + 2561897658, + 666977991, + 263458610, + 1205359270, + 3825584429, + 1772594848, + 983170947, + 1967517594, + 2312744096, + 1934059502, + 237802706, + 3413186660, + 3980764592, + 4157606336, + 3321271480, + 2228423201, + 2951588029, + 3216481751, + 4263810151, + 3695527411, + 3201086913, + 3465621801, + 3115371457, + 596190060, + 2778927014, + 1192881408, + 4070672649, + 1695932166, + 2461613458, + 3114294227, + 1035068802, + 1219869074, + 1567081138, + 3182031525, + 996055838, + 2184037038, + 1613272955, + 4138419359, + 3574859140, + 2772736437, + 3058734518, + 879110565, + 1620863568, + 451271198, + 1423497993, + 2260885020, + 2287937560, + 2182652781, + 1959408511, + 3417993986, + 2762728750, + 3723683050, + 3620972185, + 4004350356, + 3852922831, + 4042483635, + 817590845, + 4008434170, + 4150679218, + 1818473315, + 2274061975, + 1287134641, + 2606537046, + 2900163666, + 764327589, + 3380352217, + 663960686, + 1574962534, + 908720832, + 732411607, + 3092799659, + 89050124, + 2612418305, + 1167021814, + 2703900926, + 196466092, + 4100558315, + 422322205, + 553572451, + 3812332461, + 2709890514, + 1048889592, + 2536724688, + 1892819687, + 1492915362, + 4123276265, + 656277319, + 1950735096, + 2209777574, + 3597582923, + 207740613, + 1242405110, + 2794288428, + 2384281671, + 789332028, + 2113081093, + 4033156773, + 3430572653, + 2514642758, + 3849776233, + 3999536558, + 2183668968, + 1797714154, + 1574723005, + 291326548, + 1162829322, + 2833518095, + 312882022, + 3489561023, + 311193931, + 226320155, + 1285113365, + 1105912286, + 188068592, + 3599336506, + 2095448637, + 2645627254, + 3743399066, + 2671665149, + 4239787521, + 132154696, + 3481420823, + 3573468233, + 4187070124, + 2530155508, + 2924766285, + 3143247770, + 3915372328, + 1180529678, + 3971354205, + 602939736, + 1999356640, + 874227868, + 3051951819, + 1059212591, + 2567771075, + 3659557483, + 2849657868, + 2790113113, + 3534643290, + 3382123624, + 4227034778, + 3266187526, ]; static const List _envieddataprivateKeyFCM = [ - 3854504282, - 2770250108, - 1150798611, - 3634373973, - 261010464, - 3781905346, - 4258528642, - 2172105887, - 2136542642, - 1279417777, - 2873791717, - 781275010, - 94837241, - 3926880024, - 3916390424, - 1297114549, - 866275538, - 1558176959, - 328819705, - 2777815288, - 1527611046, - 1672870502, - 3935109673, - 3577338770, - 176007338, - 990745071, - 430834256, - 3759458986, - 1109091441, - 3207599628, - 3664048717, - 2058699324, - 3328728398, - 1108198590, - 389927987, - 3932873985, - 2558221795, - 106989088, - 3312732800, - 2544600330, - 1206126509, - 2393377786, - 3355662318, - 4063128053, - 2345291814, - 2149586157, - 3808345597, - 2866669384, - 1171282138, - 4127685801, - 783056467, - 2727004437, - 591982811, - 1801510634, - 3439406097, - 2005343752, - 3204318082, - 760387827, - 529796718, - 295222985, - 774924309, - 2270056120, - 975067823, - 1024807023, - 3635121418, - 2250219643, - 344081392, - 2695082051, - 95160071, - 2594734181, - 2178915489, - 1675618864, - 3543522339, - 3107674404, - 2906325477, - 388847414, - 2654429495, - 143770300, - 2742275561, - 4052779462, - 1937873341, - 346443672, - 2019377617, - 2564837928, - 1206468045, - 3952755397, - 1499984562, - 3824386034, - 3052053104, - 1699495059, - 2414730846, - 2906922231, - 1776061971, - 484797611, - 418255339, - 3859297984, - 183904737, - 2213345328, - 775300857, - 1611351045, - 3726366969, - 2635328325, - 2907755109, - 3724041510, - 4085520680, - 859736165, - 1621636040, - 2000915171, - 758280069, - 86644774, - 3929750104, - 2709585966, - 1675267834, - 1448464327, - 2828820750, - 223642240, - 4060003313, - 1597576583, - 1318493426, - 3759631069, - 1201184446, - 3044366698, - 580621166, - 3031702943, - 1588581064, - 4171735018, - 1420322062, - 1612068368, - 1115665386, - 2549517175, - 4124708556, - 3207872608, - 1690609792, - 2227783958, - 853403527, - 1221876611, - 263290880, - 3556043737, - 519199537, - 3232180286, - 4026015670, - 3443544346, - 1357669166, - 1903444920, - 974412790, - 2891588546, - 2361080276, - 279383982, - 3635030807, - 4173212708, - 1948575883, - 3947437379, - 1299967849, - 3184153754, - 2873855536, - 1417610818, - 24248510, - 1606533061, - 1657093421, - 2308659055, - 2050904440, - 156091522, - 1472871698, - 603487963, - 315427004, - 1241372101, - 2034560938, - 2265742140, - 2564211233, - 3652211485, - 479323723, - 1101374170, - 441762483, - 1037402924, - 4232359763, - 113556863, - 2109403753, - 526269943, - 3752201253, - 3370037031, - 2467668899, - 1473675940, - 4213831495, - 2950249179, - 523746762, - 1928574252, - 1267554189, - 1756841025, - 284715889, - 433919502, - 4260584092, - 2764345018, - 2417867490, - 327583854, - 991582785, - 118005092, - 2180833241, - 2889567107, - 3844967476, - 3357172415, - 2571025819, - 1829852459, - 2563751014, - 3472612885, - 2564912951, - 3551300671, - 1672423723, - 3990631408, - 2191487773, - 2746386651, - 1666887664, - 42214725, - 1660181996, - 3533583381, - 1494112881, - 771985375, - 2462169399, - 679082330, - 817556481, - 3497278940, - 7225342, - 1114672310, - 63001224, - 818473487, - 267066901, - 2167351683, - 2939752226, - 976462359, - 2930387105, - 424804089, - 1023732970, - 31482574, - 1972808819, - 3638544984, - 885611352, - 3809979525, - 992970689, - 2299174413, - 2266490365, - 418919431, - 3592084626, - 3595399888, - 3625777979, - 4019136460, - 4128009332, - 153618650, - 1936168883, - 862351492, - 2005133592, - 443611276, - 2135387294, - 1164610200, - 3531355697, - 2218298171, - 3669914199, - 2792502074, - 433098970, - 713885429, - 2773170564, - 1909857194, - 2559410141, - 3921144249, - 3085906454, - 2270517857, - 2249502817, - 1317252237, - 1581927184, - 3376547254, - 627696220, - 1737756013, - 1579373945, - 3931817607, - 2316945877, - 2099650849, - 2601518920, - 2435267649, - 4149513811, - 1193455102, - 4061780482, - 2712576225, - 3801493508, - 4217512978, - 2543057355, - 1261371031, - 1767790947, - 1794335028, - 2795716806, - 4149797928, - 678523728, - 1523729287, - 3334945392, - 165670379, - 379718795, - 393165062, - 206176918, - 1578366903, - 1125999310, - 451065048, - 606090874, - 3282662994, - 1982395040, - 3890137330, - 3781141817, - 1969343407, - 4163159453, - 1959705933, - 3135828459, - 1911422855, - 2257672803, - 780544172, - 3936156956, - 1614206272, - 3260144001, - 1324531858, - 2150717478, - 2106729916, - 146721590, - 2492821873, - 963619348, - 142596578, - 2800436609, - 1391645359, - 660879034, - 753567885, - 1952112831, - 2373837568, - 4285382788, - 451910570, - 2930411082, - 2571739922, - 3042630504, - 1054769636, - 1564446858, - 3465619262, - 2367824288, - 1706430912, - 492712607, - 2226446004, - 78085608, - 734264279, - 2151381993, - 2093208197, - 916445110, - 1633350907, - 2224323787, - 612916331, - 583416292, - 4105211109, - 4023105890, - 2711854823, - 1637995009, - 3794382094, - 2596185079, - 1278977192, - 3562178597, - 1322927544, - 2381458019, - 1997230999, - 2513484107, - 1830949401, - 1271920746, - 121606527, - 3833583302, - 40465265, - 3443531044, - 2652815374, - 1254061969, - 998336366, - 4036295797, - 2289525760, - 1649145235, - 2969803169, - 2810727849, - 64953922, - 2052353108, - 3409379684, - 1407187363, - 3859317734, - 2406660530, - 2163927577, - 4277857313, - 3157701692, - 1809601414, - 3803191324, - 2738230417, - 2994964120, - 1141525859, - 4057581701, - 3761836431, - 3092197766, - 3934942806, - 4284363864, - 3931495245, - 3783340241, - 1353800729, - 263250941, - 825828016, - 1016502472, - 2660556736, - 653664426, - 2357251631, - 1579753951, - 2053423639, - 1626068181, - 3078422290, - 3226540528, - 2609602780, - 2053554915, - 3739359496, - 1545518245, - 3426213461, - 2331688776, - 1308285628, - 1875314611, - 1001077726, - 1710952801, - 2649585354, - 1056717432, - 3809954771, - 1853852021, - 3443183586, - 4112745462, - 3478795514, - 1171979783, - 3032374892, - 2232739930, - 242660610, - 1935555387, - 3287167544, - 118976170, - 1058027356, - 895352114, - 2736170740, - 1049007301, - 1279926362, - 1964737836, - 474183196, - 4214133025, - 1942969375, - 4146280156, - 744646804, - 3804044456, - 2372763132, - 3556976391, - 3251508127, - 3838180014, - 2247356988, - 246730744, - 2838629702, - 4085779701, - 2801567512, - 597480969, - 765249641, - 2501129325, - 607058041, - 2137277954, - 2342873443, - 4209218206, - 2457393342, - 2067457462, - 1917319648, - 599669785, - 1388647983, - 1992827779, - 2951627045, - 679160046, - 3437803449, - 3651155708, - 1118672398, - 1982438339, - 154593345, - 155116421, - 2875134390, - 1804439088, - 2317422222, - 2620004885, - 3663200739, - 3739521506, - 3973726825, - 968173604, - 1617245088, - 2827950630, - 228447468, - 1364611084, - 766273501, - 1653792979, - 3772128053, - 323877576, - 1055659289, - 1157360387, - 2046410214, - 962257091, - 492712349, - 1438481037, - 2467840251, - 3530616597, - 3546675639, - 3012826112, - 2709324012, - 2605772368, - 287559494, - 431045685, - 1164436456, - 1184459401, - 497231860, - 2194865006, - 499993167, - 1635557474, - 2944321345, - 3298473126, - 4101276311, - 2518279271, - 1109520624, - 4223432954, - 457873365, - 3142186334, - 4678069, - 145391522, - 3449951788, - 844118970, - 1015235222, - 1668311784, - 4088410150, - 2998636820, - 3288306281, - 352212028, - 2998322386, - 3039532403, - 4294217379, - 642576278, - 2036938014, - 1380315833, - 3064504137, - 1921908183, - 2679665264, - 1745288561, - 309958870, - 185343246, - 3584327396, - 4125119853, - 4647919, - 2141269367, - 3458590696, - 2375303302, - 424927885, - 1190707586, - 449203297, - 1851407411, - 812149050, - 1905074800, - 3570435717, - 2810031054, - 1272043791, - 1533052915, - 2350379165, - 2821420019, - 1312584091, - 3284923257, - 4260913029, - 722303377, - 4172030255, - 977159141, - 3136387959, - 1864231430, - 3151611522, - 2511691737, - 1643742303, - 2745791634, - 452605266, - 3178278594, - 977776603, - 2184808082, - 480598883, - 1307143202, - 3309074529, - 36971099, - 4064458004, - 1744019020, - 2265443343, - 2236704422, - 3055712390, - 4037433540, - 2936278419, - 4125296049, - 2950956976, - 825747812, - 1834817388, - 1739654373, - 3886784023, - 2414345729, - 2739463912, - 240875259, - 3649978777, - 1938912558, - 2633670157, - 3245534307, - 3984092183, - 2041264363, - 2457591587, - 1754128335, - 3020907849, - 3958813189, - 3612232584, - 1302564472, - 1492299074, - 2600610875, - 185307143, - 756433147, - 3446720701, - 2734875739, - 3261377688, - 3005610406, - 797423673, - 1600617901, - 1606997708, - 3939708136, - 2190754076, - 3532699325, - 3511814958, - 2665940786, - 1911567596, - 3195472980, - 2544179324, - 319798134, - 3989810693, - 2622482489, - 1842553251, - 3147536203, - 2201737067, - 3576314119, - 4023466136, - 4155706371, - 2652186923, - 768751031, - 751468761, - 2079327014, - 2070111419, - 1092838271, - 1589896597, - 1705254504, - 3470428087, - 3463396462, - 2712035878, - 2484221228, - 924786753, - 2939161073, - 2115812280, - 1015578274, - 2956159909, - 3466265128, - 1310472182, - 75095588, - 3617814737, - 1716124142, - 547910634, - 2705589097, - 3664969539, - 383825397, - 3530240043, - 2476818795, - 3332170395, - 3466587653, - 4121533913, - 1315905513, - 988707474, - 3770530489, - 3545732009, - 2602440350, - 1382638547, - 3233052139, - 2340775134, - 694333452, - 3204251311, - 60483937, - 1379204180, - 3253622038, - 3998537101, - 2976950964, - 167916643, - 4229850140, - 678922752, - 550289546, - 671151064, - 858575997, - 3213287134, - 1855622365, - 3924805524, - 3164470970, - 2544278593, - 1940102971, - 3924321787, - 3446998441, - 1904301948, - 1773838033, - 3477935098, - 2770039584, - 3433033126, - 3133284808, - 355528300, - 248254425, - 885571228, - 1900034907, - 2898175258, - 583216223, - 4222052662, - 2694094390, - 44974814, - 2190127622, - 2841037489, - 1926458937, - 2029969643, - 4218235922, - 907051360, - 575931396, - 4114791974, - 3122927214, - 3803226323, - 1435839474, - 2024297501, - 2910662625, - 372014517, - 2807421360, - 3426340675, - 1129382658, - 1207202972, - 3912262241, - 512951595, - 515218517, - 2461174362, - 1463959483, - 3177443006, - 47074134, - 2463025958, - 1253105384, - 291075552, - 795234665, - 2292182760, - 2074524521, - 1063816360, - 2370635393, - 1346763297, - 1144818697, - 4235714096, - 1328709359, - 816625639, - 3370398440, - 3578358534, - 3848947211, - 1740789678, - 380399009, - 1852729932, - 3395933911, - 2013708167, - 2451483964, - 1660028360, - 1101526669, - 3244806187, - 841252845, - 3431343379, - 3382088503, - 2027285595, - 1730994678, - 2434494399, - 1206745648, - 1556639640, - 614331823, - 3237391640, - 3931672602, - 436408636, - 838133796, - 2138256331, - 219520736, - 1127886719, - 882907101, - 266333344, - 66413226, - 730098585, - 629101864, - 1659437175, - 3184963889, - 3537646474, - 3799478183, - 276397453, - 3491759113, - 1105960372, - 3508855360, - 3536149263, - 380875212, - 2300669700, - 992609237, - 2944638972, - 1910455806, - 2595791617, - 523442672, - 1488359231, - 1320517962, - 273684618, - 1738885964, - 3789168275, - 1580816462, - 1955983870, - 1114329146, - 334148015, - 1429301261, - 719830373, - 3212691324, - 1954425611, - 2101020461, - 3420757931, - 1809184378, - 2896989822, - 1368220214, - 1162866105, - 3690930740, - 1079395431, - 3277545266, - 419438562, - 1083693108, - 1241145045, - 4167437726, - 1051602272, - 1736535344, - 4106010428, - 2245166318, - 3666506785, - 2789146945, - 2789264738, - 2892484779, - 4222795577, - 4274328006, - 3756737737, - 3226116130, - 3993502843, - 3813276993, - 1830593542, - 342265117, - 2212238700, - 3495001340, - 440527076, - 478020015, - 554210606, - 2402990056, - 1221544796, - 1989083723, - 1986455427, - 1422232334, - 757740878, - 4010847581, - 513382144, - 2706108001, - 1620153700, - 1291230676, - 2712105782, - 3405471970, - 469865688, - 1616766700, - 2425109308, - 613929181, - 4099588140, - 2811173175, - 2432225575, - 1828175216, - 3292258854, - 1549783257, - 417556464, - 2087575002, - 193696836, - 378992806, - 1678691427, - 3875748086, - 1310061646, - 451135640, - 2547202597, - 1554472128, - 2680646008, - 1233267107, - 2929764740, - 911473017, - 3425019301, - 1701869566, - 155947009, - 1356065873, - 796027982, - 1487300737, - 3309053182, - 1574359358, - 2552464927, - 2471469322, - 3714738199, - 2267021925, - 2947326714, - 251298449, - 2915700509, - 4152939554, - 1444895678, - 587032025, - 3624755499, - 1508480184, - 2010025907, - 1429986885, - 4004489440, - 3821368047, - 2345371800, - 3066443182, - 2751998457, - 172820074, - 2136775915, - 3208412177, - 3766151401, - 2632686178, - 1894306227, - 2641924603, - 609837724, - 3537576401, - 120620294, - 410614325, - 4181336368, - 3509776263, - 1310386460, - 2632385922, - 2262062016, - 2434113456, - 1414886358, - 2700551100, - 1824663503, - 2390204616, - 3311814318, - 3534397860, - 38731083, - 4262356052, - 624901341, - 2966506797, - 2269267934, - 884031593, - 387500718, - 756222396, - 1329450384, - 1918751637, - 1311780687, - 1704117853, - 3628666889, - 3488407274, - 594929663, - 3195669966, - 2453501105, - 667438569, - 358245466, - 3780056307, - 2150558345, - 4102986852, - 114578499, - 3603355808, - 1641745120, - 3352509174, - 3184502248, - 4174572931, - 1117318976, - 2627785573, - 3881017921, - 827806996, - 3441774647, - 2163453194, - 181250675, - 3557108603, - 2468817795, - 2369537965, - 469800642, - 3293457872, - 393714771, - 248199539, - 3076205599, - 2619107220, - 3471173483, - 1891145358, - 1441046323, - 129778095, - 715828338, - 3951648679, - 2761300935, - 2452092621, - 353840282, - 3929142400, - 2986828917, - 792305886, - 3261323050, - 3626792384, - 1394102518, - 3841234484, - 1531120782, - 1790815844, - 1949291984, - 3011035506, - 2967727245, - 2567041736, - 2188656498, - 2659271002, - 2722181828, - 3538576187, - 2011027693, - 3325335345, - 1642683476, - 2495150573, - 1878227431, - 3436031464, - 939750332, - 955875080, - 1955319483, - 1526190954, - 16707526, - 3369892225, - 3297933102, - 2062121547, - 3906427138, - 1635032004, - 276856198, - 736130858, - 3747300894, - 2287427391, - 148284802, - 1808685810, - 210756435, - 1310631941, - 2484028506, - 993748169, - 3235946474, - 2292237137, - 1246327807, - 1647136305, - 1602931863, - 2601463313, - 842214772, - 1629541065, - 3230579258, - 291034655, - 478539318, - 1111902150, - 398449138, - 976443610, - 3428907749, - 2362001374, - 3877349535, - 2765265841, - 2891073749, - 3020010576, - 3273153603, - 801033706, - 2112528902, - 935562064, - 3349814025, - 1462603329, - 3541713626, - 3653367488, - 1123114772, - 3708082474, - 2776273867, - 703160730, - 489376221, - 1074480337, - 2624232309, - 372800827, - 3933528052, - 3142364491, - 3781992368, - 3820269213, - 1772143568, - 2400509158, - 2294181314, - 3831128053, - 3264662792, - 3035735860, - 1546177075, - 171577013, - 4089347752, - 2485586738, - 1102849317, - 3505971567, - 2993031730, - 3129895142, - 2257148985, - 1892173612, - 408611377, - 3362192547, - 639431613, - 817111441, - 661921194, - 1693703634, - 3350255101, - 2339447539, - 3202857211, - 712340954, - 746082293, - 3177132258, - 3374816036, - 2851327326, - 4290235507, - 2030517200, - 3969203825, - 207959303, - 481714257, - 1591308465, - 318519899, - 3050838662, - 867765006, - 1025453758, - 3365096035, - 24527556, - 3660169054, - 1748570085, - 2883339550, - 1145526319, - 3295435171, - 2524334882, - 3292231158, - 1454116793, - 599314526, - 67088922, - 3004669165, - 4265220574, - 132320651, - 2921968147, - 1591358896, - 1334504860, - 3417637278, - 942208762, - 2163071369, - 730072255, - 4133737760, - 1057299623, - 3890787224, - 1516191238, - 2005095673, - 819566794, - 530670167, - 1993209840, - 4224072840, - 2208292549, - 4114233851, - 2035364940, - 2497586743, - 3954526473, - 3777563346, - 3953990176, - 4099617676, - 3620672434, - 3462850075, - 49369948, - 851500386, - 554926814, - 1183465362, - 3233028528, - 305905659, - 3621072403, - 2085992991, - 2928774913, - 1530716368, - 2199019785, - 364307260, - 3604543660, - 463599912, - 3384870856, - 2800849290, - 3473626831, - 1100298318, - 331696585, - 2124547480, - 292337220, - 1291287003, - 2814807712, - 623669390, - 1772000881, - 3735370334, - 3796883333, - 658161986, - 2847084126, - 812524262, - 3913678169, - 3074856518, - 2100544575, - 2012046364, - 2157500027, - 1659490340, - 74507204, - 1878647323, - 3121889248, - 777501942, - 2501299047, - 563593240, - 1735130443, - 2644816085, - 183536897, - 2036589159, - 1448696228, - 1266487161, - 2840887933, - 3957450683, - 1708681073, - 1164563984, - 2586562628, - 173900031, - 3493170982, - 2290552719, - 3782673318, - 1430293680, - 1227046440, - 1280943391, - 720065863, - 2951923283, - 1091978963, - 800721811, - 4008064676, - 2781034230, - 877583696, - 2446639190, - 4252908150, - 2081709603, - 2246444831, - 568056741, - 2494699264, - 270168857, - 2083435911, - 986582168, - 418112462, - 2194400027, - 372399513, - 4108777496, - 931240840, - 137822168, - 3200720830, - 1188277843, - 2346660558, - 3294188931, - 2549895527, - 3063732581, - 1491635538, - 1914961727, - 3423105141, - 2569402301, - 3366453018, - 3081980259, - 169158797, - 548469365, - 3500326158, - 2492150555, - 1930631604, - 2440561543, - 4053760633, - 2198276292, - 2662247630, - 3358188025, - 4135719091, - 100460116, - 1542030585, - 724680202, - 3491769976, - 1469087565, - 1758468633, - 2197767582, - 852864540, - 1474345991, - 3477906982, - 708897662, - 3290112978, - 2008442281, - 199488574, - 1232284034, - 2716508776, - 1202660108, - 3029655906, - 1070122895, - 98778966, - 3826722194, - 3982806407, - 413294986, - 1419340801, - 1959187415, - 181538124, - 1351004016, - 4041847723, - 1807265930, - 815861790, - 68351073, - 2425853634, - 1212338498, - 2734559844, - 3978278514, - 369129505, - 2594375693, - 2289774990, - 2314059884, - 2563690636, - 222236934, - 3148556536, - 3088403472, - 3388612173, - 2778225757, - 4106989355, - 428894314, - 1849098755, - 3738361140, - 3942935899, - 2617882097, - 1132292008, - 4199210443, - 1371226050, - 2004172208, - 189392158, - 1431169628, - 1533206976, - 4272673870, - 4099045034, - 3382388774, - 3012270786, - 3879682694, - 2064294867, - 1316534843, - 3963281283, - 1937474503, - 3676446274, - 409158086, - 3397767216, - 4256538655, - 1558135785, - 1088121737, - 3701257538, - 3982073866, - 3199245058, - 2369435677, - 3659651669, - 3038474281, - 3056398823, - 4066956099, - 1739399642, - 3788038654, - 1604460737, - 2796615372, - 1742609504, - 905732179, - 456877706, - 1080579510, - 3278694063, - 2564648544, - 631291404, - 188706878, - 1263279044, - 4068466032, - 2033056559, - 101191574, - 4154036097, - 1978832428, - 485597100, - 2790185010, - 2329651715, - 1870491847, - 675638926, - 905884601, - 2350315379, - 2489413993, - 4036013259, - 3537882224, - 1665407359, - 13042408, - 3989470775, - 70374606, - 1615848717, - 670490745, - 466641903, - 500736804, - 2401301129, - 2394999177, - 3660981675, - 89835735, - 746966616, - 2812048229, - 1033247937, - 4065207352, - 2248225644, - 2228634030, - 2077825295, - 939651161, - 1248317328, - 241078372, - 3919691541, - 915372461, - 2201666991, - 3678002203, - 3243933002, - 3153820247, - 3701703759, - 63154310, - 369779827, - 1377583607, - 1923255025, - 1289850784, - 137449438, - 1116338646, - 2587918949, - 2404465128, - 3231046703, - 1795555174, - 346892429, - 2282821234, - 3549877038, - 6861838, - 1192536042, - 2774097253, - 1416298350, - 3974470336, - 1829287275, - 1595039154, - 443409968, - 1977167765, - 16798687, - 3084729198, - 3592483255, - 940558676, - 214801680, - 1661285031, - 325089165, - 3917257140, - 692283614, - 3598090443, - 2890054631, - 3585835856, - 1007448483, - 802909280, - 667161057, - 4204654655, - 1116872622, - 3046856906, - 2746142533, - 1688455125, - 1764714160, - 1021603953, - 2631054461, - 1099277735, - 3284658075, - 1291415400, - 309208064, - 1004854330, - 1728258550, - 1494433077, - 2770239725, - 3781947350, - 1699476640, - 308094968, - 3542689147, - 57460150, - 1644179012, - 2678005972, - 3287477189, - 399348456, - 729755779, - 1973212027, - 1672201396, - 497828420, - 4147545715, - 638840060, - 3596504853, - 3069515669, - 4227642478, - 940067681, - 3981431736, - 1801371784, - 2994509722, - 871716023, - 1358015874, - 1805393783, - 1585593552, - 1716308509, - 3170411299, - 609583520, - 4143349419, - 1506754484, - 2357923067, - 43661832, - 182063847, - 1527944431, - 3859165775, - 1160367117, - 2956206815, - 3286400402, - 4024719053, - 129335536, - 1681290872, - 1885565922, - 1851094510, - 2948164359, - 1338396663, - 3916850441, - 245110363, - 2971571331, - 2118654599, - 3313271072, - 3333757890, - 1690630796, - 3185529516, - 1212535507, - 4213195742, - 898648488, - 1335346790, - 2458665608, - 201566053, - 3974251939, - 541073746, - 4199482554, - 2636203925, - 2155783843, - 879115749, - 3521108488, - 2800563612, - 3246451703, - 918114508, - 559266737, - 2797371629, - 2441966793, - 1156510834, - 3698941730, - 234554467, - 4111887202, - 629555629, - 4286197912, - 2785451627, - 1372964629, - 1777745854, - 4222873885, - 3817915818, - 3473048481, - 3225446114, - 2078685251, - 4151434856, - 1106579376, - 297381007, - 1719043749, - 1849951390, - 3614614695, - 524395083, - 914545299, - 3078840986, - 846157519, - 1020454247, - 4057976890, - 3747448359, - 3339502454, - 3623925617, - 2138514295, - 1427239679, - 342939599, - 3970068780, - 1669027770, - 3718141187, - 2558981935, - 330433669, - 1965348425, - 3007793239, - 3881132456, - 1937109930, - 4027015678, - 12596091, - 2319548386, - 1529463359, - 2533676028, - 200496843, - 3061325309, - 499440837, - 2655878754, - 3734618523, - 1515960490, - 1816904851, - 595450746, - 2370301379, - 2439249809, - 535757234, - 4032517972, - 4143104496, - 4091555006, - 3381762055, - 1356955315, - 1506553899, - 3399942592, - 2622735564, - 433866150, - 3611934755, - 3153218104, - 4100976480, - 432144430, - 3463598608, - 2026366717, - 3524690039, - 2553219878, - 3873052656, - 2117006174, - 2343559448, - 2313984125, - 3999330486, - 2419003020, - 2511473429, - 1118365259, - 101197093, - 633646497, - 3044523186, - 3390573272, - 3852731703, - 2308542205, - 3783144925, - 4167629462, - 981533051, - 4066029160, - 1150049241, - 3519690510, - 3030804995, - 761331730, - 1892311849, - 2464243449, - 26929440, - 3647303099, - 555239461, - 3443376127, - 2780530077, - 363644533, - 2278543345, - 3105989679, - 352093699, - 2089202038, - 1675277150, - 3648391410, - 452580243, - 3044860188, - 880443941, - 3733350170, - 3282471605, - 2707309775, - 3970001880, - 3493814044, - 3974811944, - 196523400, - 4280448558, - 2284688766, - 3157177600, - 2994415713, - 2679269108, - 2160837117, - 1056273091, - 1565967239, - 3384744081, - 1052818757, - 1077864816, - 2050498704, - 425397301, - 551906611, - 3586350211, - 3188321094, - 1607997723, - 1965640964, - 1639418397, - 2968244260, - 1345794187, - 1862461598, - 4122474174, - 2190676901, - 1482407527, - 3309624316, - 1331344898, - 3102698188, - 3533525072, - 3024970076, - 2092962470, - 993985782, - 3215984429, - 1313487891, - 3783546103, - 3654398191, - 987854438, - 3765746211, - 1250229489, - 50042404, - 1738126189, - 3376797736, - 1173044032, - 4060972009, - 2735032592, - 2155788925, - 916768513, - 3936532834, - 4184033786, - 3372178498, - 2528156539, - 2946233956, - 1803199627, - 4102884125, - 1972717036, - 1409948817, - 2578867407, - 3892926699, - 2370509723, - 869645017, - 1238324133, - 3574073932, - 1881471998, - 1914351454, - 394753444, - 14755088, - 2133185054, - 1639574930, - 462958278, - 2955685169, - 3772698327, - 777735772, - 1821406348, - 444084036, - 149784880, - 4233270287, - 173901930, - 1295870807, - 4040192368, - 3129173633, - 1803822153, - 1309433695, - 2546841240, - 2799979376, - 4168293719, - 3851577350, - 510753683, - 3692029711, - 929976254, - 627157382, - 379503150, - 2092499752, - 755371622, - 3152336517, - 3854870493, - 900919761, - 3120819475, - 691137642, - 1723387272, - 1394039217, - 1344131934, - 3970482114, - 39676068, - 1517552003, - 4098843376, - 1348906034, - 2281087926, - 2761155755, - 2873899691, - 892453874, - 698092177, - 3100116332, - 3505196266, - 3432365262, - 968807550, - 4208833911, - 2827544012, - 2174244226, - 149266838, - 1701750094, - 2466564706, - 1137802374, - 2430171056, - 3672901817, - 574295892, - 2644195277, - 2906941256, - 3068972677, - 3985460969, - 3360944337, - 1801698714, - 1485490762, - 3124877357, - 3478666749, - 2780753064, - 940617190, - 4012045664, - 3102693051, - 1792038139, - 2626625089, - 1756664863, - 1107347757, - 3681724270, - 2574554934, - 4264544879, - 390581817, - 2422490809, - 425411037, - 1733903394, - 1998589851, - 145407944, - 1864084508, - 3787535093, - 1622557984, - 991123576, - 4174608075, - 2685250147, - 2277780914, - 243142267, - 2689808361, - 3588024320, - 157586649, - 3834356122, - 243957315, - 1018156295, - 2543118101, - 3670839500, - 1445629899, - 2730833683, - 1721791563, - 2688174547, - 158517807, - 3929923154, - 2245881658, - 1916873433, - 497964657, - 4103574973, - 2000654307, - 1740285477, - 1688623861, - 3961974450, - 3128685320, - 2111491824, - 4217530810, - 2452502301, - 1345307555, - 1612780664, - 1722006715, - 3658421520, - 1749409549, - 2906323614, - 1127153362, - 2479025293, - 3367547759, - 2340420495, - 995913027, - 3152647888, - 3949911534, - 2150285894, - 1277891938, - 3801777009, - 2742034972, - 1139075857, - 3898506204, - 2136323157, - 499413573, - 3533846642, - 2502545123, - 2226884058, - 2818284924, - 1847882604, - 43534697, - 815236933, - 3739795979, - 558172075, - 2106499320, - 3955491496, - 1866736885, - 2268932633, - 2385502220, - 2303129687, - 3953502684, - 817967777, - 2067433824, - 3595635034, - 2154541493, - 2881924024, - 4172578111, - 588267919, - 898019829, - 1092048321, - 2517515590, - 1907102248, - 2986924385, - 152969448, - 1308357231, - 3219912224, - 1505941007, - 4270476933, - 1119988684, - 2965991739, - 3963672406, - 4234233646, - 756757978, - 2525413592, - 1666939840, - 248878773, - 4092185123, - 1866000080, - 709569768, - 1308593246, - 3165306383, - 2098974525, - 1532516773, - 1664648820, - 2670172961, - 1178742286, - 470460080, - 3054896131, - 2972597052, - 3786427607, - 3680123407, - 1281847239, - 466504999, - 4002198554, - 667925651, - 2498786263, - 750736133, - 2106365880, - 180766804, - 41977528, - 3673237330, - 1823263212, - 468706386, - 1130609800, - 3271142062, - 1505106101, - 2577252825, - 4148443095, - 3799812289, - 2310506878, - 1651200612, - 3882751624, - 1564715914, - 2077778546, - 2452370822, - 4164522265, - 2939796403, - 1394505056, - 2554422540, - 3164904785, - 183269053, - 1427763042, - 3486295766, - 2754918596, - 438557788, - 2919746625, - 160444985, - 1447166550, - 1632196250, - 4113676683, - 1418251390, - 1322437079, - 57925344, - 4169889444, - 450758839, - 2078151737, - 391696491, - 3190840336, - 1784469392, - 2792514193, - 1049595906, - 3996367117, - 2587996803, - 645335195, - 2626670920, - 463881042, - 844132430, - 2242309280, - 383009520, - 3155336087, - 670841787, - 2473467856, - 4030376851, - 3493206634, - 301930435, - 473581891, - 3567470837, - 2770231003, - 2505193167, - 626344171, - 2536881165, - 35641279, - 1577909199, - 3780222974, - 2793222228, - 3608668400, - 1373623536, - 1000861674, - 2047100100, - 665836606, - 3840883513, - 1832320928, - 383369492, - 3346023194, - 1492979440, - 230254980, - 990714144, - 2099994591, - 3407561933, - 810931690, - 3469272583, - 3181872010, - 2105469595, - 3015463360, - 3365691802, - 2263259068, - 631246185, - 3242428315, - 2092260493, - 300834166, - 850754815, - 927607527, - 3624100150, - 3178675219, - 3054704404, - 3047799073, - 3323309528, - 3003001377, - 973464378, - 1003970880, - 2498212071, - 165144543, - 1171655596, - 1317901267, - 3164486246, - 1160449695, - 3305656305, - 1733796869, - 1274414791, - 1854972702, - 3032369801, - 187203023, - 2111882305, - 1726054346, - 4293700905, - 2273842291, - 526610127, - 2250860784, - 2872552648, - 3743938199, - 374651991, - 3986948219, - 2455138647, - 2982878941, - 1992083331, - 3386923199, - 3663223320, - 2244981766, - 2681628886, - 1710478044, - 2287951198, - 2427790505, - 856745089, - 2077435581, - 3091298534, - 348724631, - 2415274769, - 3225483637, - 4016589782, - 2653062905, - 1571584985, - 1863965462, - 3747443460, - 2235295135, - 1821470157, - 2637812763, - 4019585139, - 3483804697, - 2320565020, - 3709838165, - 28923389, - 326354488, - 3011390214, - 347426912, - 3246562055, - 1721179700, - 952381485, - 3667184646, - 31505702, - 3528382012, - 624345874, - 2422967065, - 890324829, - 4256160600, - 2158465425, - 4025593758, - 701237355, - 461488703, - 1199683692, - 1907080025, - 1164096139, - 1927953531, - 2126631530, - 704050633, - 111006508, - 1683499719, - 2391407607, - 792998076, - 795818372, - 914062665, - 614831393, - 3574372339, - 1710091502, - 3512503408, - 2921379666, - 2461027133, - 946608176, - 3759256063, - 2498122108, - 3624163883, - 4062736053, - 1838658000, - 3779339714, - 2863682933, - 314465820, - 2789292319, - 607088835, - 195541208, - 2385591244, - 3375012508, - 4139801911, - 1717021601, - 3501061171, - 3311697353, - 168735372, - 529596783, - 246917218, - 2733988893, - 3085110022, - 4218207104, - 1038193724, - 2140365947, - 2768777137, - 2628772441, - 1660617174, - 4031458089, - 432055915, - 3391679773, - 1974217635, - 652087999, - 971419971, - 4183606856, - 1366481428, - 2120765488, - 96181024, - 3448437826, - 1136870198, - 3774254423, - 3943587264, - 333415393, - 3807963793, - 2490957476, - 1494762833, - 3078893062, - 1702401954, - 2889938375, - 1543818036, - 1049493663, - 552522288, - 1609473505, - 13809406, - 847211087, - 3564360480, - 1732925966, - 3318769868, - 4083513982, - 867222310, - 3285279159, - 2973866957, - 3752063557, - 75497962, - 1980813854, - 2249858223, - 55343817, - 910167728, - 1186443435, - 4255900658, - 2152682066, - 1561686870, - 3541083404, - 3911826041, - 201579663, - 662664506, - 3800092259, - 1364043317, - 293793235, - 2769774999, - 1458374015, - 1218565795, - 1064379136, - 2660171787, - 2353357654, - 184221747, - 3764110006, - 1244399620, - 2794113420, - 3831236463, - 3499456568, - 72045861, - 2139395186, - 510476862, - 3649952471, - 3894998465, - 1587042463, - 389503371, - 1139094303, - 874021820, - 841041847, - 893377205, - 1555225723, - 922180329, - 2946007008, - 1666393114, - 3108714772, - 1289058445, - 1330390923, - 3153151667, - 3676963405, - 2357670235, - 765474675, - 2695786236, - 627284996, - 3335915001, - 3557610922, - 3974201523, - 1032890352, - 1560390616, - 50508548, - 92239470, - 3347624441, - 4192009445, - 3413475538, - 3594942463, - 2919611700, - 2725735752, - 1340917567, - 3368445320, - 314341732, - 503518112, - 3647385122, - 2221183166, - 979026699, - 2443484369, - 1315413894, - 1886010482, - 3358309528, - 4241337946, - 106826183, - 1650260152, - 3980354134, - 1066688070, - 2304528762, - 4145458669, - 3089114953, - 3884375712, - 1011094955, - 3926560411, - 2612718541, - 3216356883, - 2652205225, - 1434536438, - 2429071708, - 612828195, - 780471068, - 220534980, - 2725845506, - 3910036755, - 3542118366, - 2140908272, - 4206432609, - 3737601812, - 3580569892, - 2192149031, - 3401823179, - 2829689119, - 1785109043, - 181060044, - 3255680277, - 772812857, - 2585355834, - 2701673564, - 68297765, - 507918251, - 3457238116, - 2660657858, - 2826790301, - 844696166, - 643600950, - 1858981254, - 555594256, - 128825719, - 769096956, - 1595358187, - 3399159474, - 547379509, - 319014915, - 2693796438, - 2712892827, - 3132126832, - 2919499647, - 593691390, - 2950810449, - 3878736296, - 3523334729, - 681864567, - 1719310548, - 4077551229, - 542905221, - 3414529632, - 1312690546, - 2673718405, - 2976643287, - 2867857836, - 3353937221, - 2214641015, - 1730598953, - 2966774097, - 722689459, - 3562232801, - 2143162798, - 1543817882, - 199234794, - 921239641, - 2613623782, - 3718163858, - 401905390, - 3098278761, - 3664260050, - 505782366, - 3463040831, - 3682934162, - 1984935596, - 3313344860, - 4037404790, - 1780419153, - 3091803355, - 3392345751, - 886973696, - 3443410797, - 1585891957, - 221072582, - 1002649539, - 379418549, - 884787731, - 620062174, - 326255841, - 3861538986, - 2841112757, - 3502684121, - 2397804507, - 8974686, - 3808871361, - 127085675, - 954017651, - 1021187420, - 1904482091, - 3998288098, - 3717504627, - 2090864600, - 2255284598, - 1038185834, - 235270548, - 3844272061, - 2256584225, - 3169252449, - 3575140357, - 763804220, - 2907900005, - 749220324, - 858258787, - 2700815140, - 3239959611, - 3812973738, - 2888645025, - 4219112087, - 533394970, - 761277114, - 3069308363, - 140974521, - 3945850559, - 3320867988, - 3222640751, - 3775900992, - 3054455216, - 2217876358, - 27641189, - 2205331443, - 2231657398, - 821633701, - 3493265294, - 2570044598, - 3370221330, - 284094871, - 4268145832, - 1565555713, - 2939778158, - 3563454028, - 4141456628, - 2314748517, - 1385582254, - 2697614990, - 3905628858, - 2693825207, - 1760548624, - 3518149121, - 1006997000, - 215575373, - 1793930538, - 2659450362, - 2409011427, - 2196792522, - 373801219, - 749330749, - 2933408870, - 2642938701, - 1972927458, - 2324282958, - 202824283, - 912876589, - 3105697421, - 2873874945, - 3245562753, - 2565228931, - 1066965361, - 385405770, - 3227029175, - 129496256, - 1988607386, - 3728222330, - 2012735867, - 1047488450, - 599253685, - 778496482, - 3531772537, - 173736615, - 2980496820, - 3611367741, - 52109581, - 215977899, - 3766226909, - 2889618296, - 4268201855, - 406209303, - 2663173745, - 3751359509, - 3719597127, - 53646201, - 1152158892, - 293006194, - 1895174980, - 3800779518, - 2476059827, - 10855165, - 2310148355, - 1545894499, - 1285756483, - 3710300975, - 2850849393, - 4278674728, - 425244801, - 2583630557, - 1394562872, - 4268959726, - 302502364, - 2850205994, - 3466880096, - 378754997, - 116336909, - 3354451535, - 2494904347, - 2631300195, - 383463842, - 1014215891, - 1501853270, - 3427029481, - 196243106, - 670851632, - 116846774, - 1619484752, - 2537908377, - 3179475075, - 1284718350, - 136059247, - 2693986214, - 1961113543, - 1716423589, - 577027766, - 3549167010, - 1195911303, - 1886224772, - 3593723515, - 3111160669, - 3297903607, - 792708161, - 2557381715, - 242702499, - 2662157967, - 717062259, - 585908343, - 1304650594, - 716194912, - 3225706027, - 1037523750, - 2546732655, - 3169544131, - 3373558165, - 2007305843, - 394596655, - 1646504122, - 2651491006, - 1110043510, - 3776597633, - 1067807729, - 3154448220, - 2409593385, - 1782627477, - 3762949630, - 3271227491, - 4294675311, - 2022646272, - 3731390483, - 1721236976, - 2865248778, - 2639959436, - 101523897, - 3613578441, - 820741983, - 1514064068, - 3607298558, - 4145672562, - 2506086360, - 1145203548, - 347870838, - 2012793797, - 1488201867, - 2152184173, - 48535822, - 2416483235, - 1112119781, - 2961149561, - 4147951828, - 1435028865, - 2774374939, - 1213675052, - 1441251753, - 1832196922, - 2687394236, - 4290436810, - 4002426259, - 4272602229, - 309114410, - 3605910950, - 1514601154, - 2656274015, - 2430733596, - 168842010, - 546422087, - 3537385634, - 2782610757, - 3330688219, - 3203062422, - 2186486673, - 821154206, - 3681864915, - 3096629468, - 2102193577, - 1725516936, - 3607670570, - 1924947879, - 2546699213, - 514814685, - 2832109943, - 3095954803, - 2380288349, - 3489903055, - 182489376, - 3600927542, - 3296143283, - 2199677642, - 1201724608, - 3026721923, - 3622374553, - 3058124118, - 1961919661, - 3728096652, - 3147262782, - 2844804559, - 3945532533, - 786827818, - 1181812363, - 1446488964, - 988372520, - 2553346800, - 1232439531, - 1029703913, - 100336127, - 1251059629, - 3194719442, - 2190551970, - 2856034317, - 3011026496, - 2064189547, - 971847380, - 3584980515, - 610919498, - 3796006476, - 2938003873, - 625355405, - 2297301194, - 1664969390, - 2416523013, - 2666816350, - 1629448622, - 2520847236, - 3425523881, - 45377437, - 1746366344, - 887832496, - 1494169290, - 3772065570, - 2767688293, - 2966075591, - 3305127478, - 1200181238, - 3762929387, - 3491332435, - 1864979138, - 473980023, - 3412910296, - 1495553852, - 3547506714, - 3662881256, - 1695701465, - 35952638, - 1425915849, - 959972327, - 204448780, - 353190415, - 2319539961, - 2194256980, - 151913408, - 3801899452, - 2782550120, - 2168103657, - 628942017, - 3546230599, - 4189029078, - 1801084926, - 3975791924, - 748999433, - 4201355941, - 1455879484, - 2522477864, - 2055359786, - 3514429199, - 1265849111, - 3674466669, - 940462449, - 3538150388, - 1484620378, - 1157466783, - 2766833756, - 25617501, - 1633466510, - 3062060485, - 2936434188, - 350623091, - 2016558074, - 699063685, - 576144799, - 3546249281, - 2472921247, - 1831166391, - 724070978, - 531743442, - 3102418212, - 56890487, - 3566408165, - 3630750541, - 3113679009, - 870261214, - 2936622252, - 3170989820, - 2148310689, - 2687680002, - 1640942777, - 799705018, - 1670700065, - 3429229891, - 1940307085, - 700684073, - 1189682221, - 2280156266, - 351062581, - 2151512982, - 4068155766, - 766695812, - 3337293172, - 3383087610, - 1682553592, - 492942334, - 3823661038, - 3514765887, - 1936047459, - 2274607231, - 531787698, - 1778929355, - 3265651074, - 701266, - 1781036247, - 1518524053, - 747475360, - 3373951103, - 1843938280, - 682974145, - 4228904161, - 1724442833, - 994422447, - 1372491301, - 3417568596, - 2471997961, - 2244970701, - 3845518288, - 2223453014, - 1714958703, - 3717280200, - 3493930611, - 2606675359, - 3045578602, - 2583620741, - 1960956802, - 4247963014, - 2202862262, - 4060155133, - 3136288914, - 4053236876, - 1300666609, - 1592366590, - 2305826050, - 3190162323, - 3778876296, - 2675984862, - 600971068, - 3867045420, - 1517201548, - 2522458070, - 4019356133, - 1515105245, - 1063665908, - 2489879473, - 1646171768, - 751200718, - 1452456487, - 89697647, - 1057271264, - 126457054, - 1790693877, - 4258702709, - 3123800604, - 3249876690, - 702051947, - 2911394249, - 846200193, - 555020912, - 1904296783, - 1738486151, - 1048444930, - 2712059982, - 3344562066, - 1609470973, - 3111283731, - 1611688404, - 1410322418, - 3690634063, - 1296555640, - 2023444203, - 3108687669, - 52334572, - 2552101085, - 4138520113, - 1069508481, - 2986102672, - 2799892360, - 2736169766, - 4267146758, - 2661198745, - 3416059185, - 4282768978, - 2545901648, - 3859111062, - 3849277928, - 4211116263, - 208748168, - 310690822, - 3663861739, - 741118401, - 1579343540, - 1261100852, - 60243840, - 2733423698, - 3626383612, - 3935713657, - 3987195202, - 3425525018, - 1534420895, - 2364188789, - 2746224315, - 2598637868, - 1712319496, - 3245130141, - 803986269, - 1103839214, - 759247468, - 1925248840, - 1227465629, - 2408554940, - 4092757126, - 951653567, - 144296460, - 3710036807, - 2520469451, - 3058670112, - 685138710, - 4082772531, - 1459881227, - 3509649589, - 742383146, - 4180461732, - 3446891054, - 2789853002, - 2733348880, - 3283297316, - 3734075876, - 3936052419, - 902585265, - 899579812, - 2212015143, - 3070862167, - 2050617573, - 2420350209, - 3808840539, - 3732824125, - 188815900, - 2142559278, - 3568572931, - 2271259489, - 1912561604, - 3077199165, - 1104159894, - 2340772313, - 3317417084, - 1445383860, - 2825206039, - 552160621, - 2826916394, - 1414300144, - 1461687933, - 976219174, - 1845910598, - 609548346, - 3113055993, - 2221731856, - 4201747538, - 3395264680, - 997599433, - 2978629003, - 387372623, - 817880758, - 7936320, - 939452879, - 1600142914, - 2368060526, - 1000862606, - 3610680143, - 2566912467, - 1473995402, - 711647195, - 3078816738, - 149846241, - 2995406104, - 2553454348, - 267920620, - 296431000, - 3960788862, - 883086971, - 4172196723, - 3483094119, - 3501198042, - 906102027, - 4203894906, - 1179293737, - 3444220589, - 2585153948, - 2944428422, - 2570186105, - 4082217174, - 289199340, - 2539416417, - 3444032669, - 1623501676, - 3114063522, - 1751950260, - 3626430436, - 827042578, - 1702630329, - 1721665710, - 3318546315, - 3838836381, - 3371200830, - 2176534257, - 1028117913, - 3417202477, - 1167359928, - 3541133729, - 2193682057, - 3976645294, - 3174265771, - 3475214879, - 3671320185, - 3859299696, - 1827890067, - 3108880510, - 2180186078, - 2129729231, - 2461348632, - 3179780688, - 1725355912, - 4218771965, - 1929517910, - 2261425731, - 1965161132, - 590950379, - 2130274819, - 687897210, - 949120494, - 82445772, - 2589024527, - 1000385216, - 3330756044, - 1476605551, - 1582178189, - 2368592460, - 1378182079, - 1717213498, - 1157286672, - 1020962421, - 1555567486, - 1022780300, - 4165497504, - 621196672, - 2011922050, - 3568984015, - 2419255640, - 1221842395, - 1317515772, - 205896977, - 2489080829, - 1020731434, - 4105430965, - 1629442350, - 1444832157, - 976390764, - 2949020303, - 710180026, - 45827565, - 3260386715, - 3124321376, - 2565740925, - 1846469633, - 3252350651, - 3513930810, - 3030910860, - 1498417555, - 192760273, - 194974732, - 3890892332, - 3332398932, - 583898044, - 231320166, - 4265467987, - 3645217331, - 329143022, - 3730818409, - 1600251367, - 2185029049, - 3552587386, - 3698205406, - 632086804, - 3261042886, - 3134728289, - 2858914696, - 626050997, - 3632673779, - 659555309, - 2015239623, - 48280737, - 751648420, - 1835597409, - 2658461053, - 4133662345, - 486318063, - 757775319, - 2230608011, - 460019478, - 1621365030, - 3798447990, - 569496741, - 3268200887, - 645079261, - 3517509711, - 2678365848, - 1523320332, - 992080603, - 477808287, - 2298477864, - 31547502, - 1275492740, - 1639829162, - 4040991650, - 3713612474, - 1163363564, - 2435073197, - 3357463170, - 2298956341, - 1435389248, - 3553915064, - 805060759, - 2240453490, - 1768854913, - 483771107, - 3492132682, - 1726312538, - 2204733605, - 3347867300, - 3645555843, - 2627372243, - 2923648841, - 1474264185, - 508778828, - 3843941234, - 1632710416, - 1683123764, - 75923015, - 277004521, - 2893618517, - 4273668018, - 770131865, - 227773054, - 3892613815, - 2164825461, - 72741196, - 135492022, - 3910089457, - 2104721891, - 41426400, - 66191686, - 1788168526, - 1688570598, - 2549084527, - 3764304055, - 2832181379, - 681639268, - 498478162, - 2128844239, - 244036514, - 300032444, - 2227290291, - 828259559, - 1957143702, - 1797348792, - 2593470543, - 1089963354, - 4158287826, - 2594585168, - 442663248, - 3049826314, - 956571251, - 1172272819, - 3980158638, - 3127374163, - 1323700663, - 3247505347, - 4203659374, - 1763206147, - 3059619941, - 4142516568, - 2328205526, - 3521441267, - 553734940, - 1606143132, - 682118953, - 2633327572, - 2514776137, - 1210101824, - 343677594, - 4115493354, - 2695360506, - 1236981112, - 1647193552, - 821225400, - 3497880568, - 3416959715, - 3877705717, - 2293329259, - 3327553453, - 3940023185, - 2373474654, - 344673607, - 911677799, - 1143306960, - 2629614239, - 3866515130, - 3048368337, - 1083541712, - 2060401918, - 405966685, - 1195419288, - 3138795982, - 3601601496, - 1299114063, - 3427352295, - 3885297806, - 3553704611, - 3170838586, - 1108753296, - 735442143, - 1385870567, - 715335825, - 2974197694, - 29495131, - 3302936590, - 926638246, - 1444677370, - 862476204, - 2023450881, - 4174126770, - 3498808318, - 3257007800, - 534296078, - 4135276346, - 2298634526, - 130893593, - 2508731812, - 4151440960, - 3664435589, - 3164785032, - 3837071727, - 1990240587, - 3342520871, - 2946051319, - 2437240795, - 1424069658, - 374675998, - 407279646, - 2424334490, - 4087898781, - 1621172749, - 1651954880, - 2315724930, - 2867078253, - 417684161, - 330522028, - 3773327183, - 2143871780, - 3141303385, - 3926278395, - 3276839514, - 141986905, - 4067047908, - 3519175181, - 2036601016, - 3469978487, - 2861153216, - 3298137426, + 3981922188, + 3346880254, + 1795153788, + 2698013014, + 4132435203, + 3688811583, + 1179516195, + 1445267054, + 3576206589, + 3731032591, + 217747529, + 3696124648, + 2263141678, + 3717619029, + 4095667026, + 2140040158, + 127587006, + 2669691804, + 1166813066, + 1566785094, + 2169781214, + 3715844475, + 2574766173, + 1496996034, + 2733377762, + 3813532822, + 2480544930, + 2711200497, + 3506022899, + 4016297438, + 1172688140, + 1046877773, + 1802929802, + 1042164833, + 951282810, + 2844035055, + 9975776, + 4748082, + 3834383082, + 3070877485, + 3773887037, + 31536307, + 1515491141, + 2693026254, + 2651975485, + 1024310600, + 4159993740, + 514813826, + 346211880, + 475669775, + 2397955687, + 1991395920, + 1840266491, + 1462452356, + 3974103825, + 3462434798, + 509397564, + 219257440, + 390049821, + 3529471603, + 214468585, + 3453652649, + 1910343858, + 3248345175, + 688901920, + 158537909, + 1081367627, + 1144831013, + 579791472, + 3921153439, + 2935413240, + 1166676746, + 3190816714, + 1293833426, + 4248466877, + 3169478971, + 660353796, + 2842469697, + 4181906612, + 2981457405, + 148164217, + 2757244794, + 4183233345, + 3320857330, + 2421402754, + 995518829, + 2499473320, + 3030421012, + 2431453010, + 3503323024, + 3651130250, + 3305871145, + 2613582739, + 1428709116, + 1263697098, + 4062366119, + 1538722564, + 1130649669, + 2653561749, + 15230247, + 2551971988, + 2595160174, + 2022102114, + 3702440932, + 1460384421, + 3072636927, + 803630154, + 2081675590, + 214832659, + 1320690228, + 928849028, + 1963194817, + 1239656744, + 3861141930, + 1952317442, + 4009270596, + 3751818055, + 828084543, + 2046606649, + 3841830497, + 1024117196, + 1622140703, + 851018243, + 2901179311, + 1147981982, + 621085960, + 902397898, + 315404995, + 721703698, + 2682047986, + 2201577231, + 423206609, + 3083164463, + 536810170, + 2472120044, + 2424135594, + 2642835833, + 1491819669, + 4012093789, + 4290143529, + 1474727381, + 1711083089, + 277986629, + 2027034048, + 141596059, + 1912798653, + 839576678, + 2707051088, + 3231733057, + 4113749681, + 2995182087, + 3520668807, + 3347369801, + 1587370379, + 3032032489, + 4044443552, + 2251358192, + 1890087826, + 137160045, + 390058506, + 2039802448, + 318909864, + 4018099801, + 4165177144, + 1002670892, + 2250938765, + 3498130792, + 3459389510, + 3863210809, + 2986416010, + 1538245464, + 3292404761, + 2027420976, + 3252408118, + 4239211422, + 2631372596, + 1234318510, + 725089090, + 1077235532, + 2060563365, + 3991627607, + 1926869815, + 4279067919, + 1000061410, + 3868058288, + 4237763132, + 119268433, + 812800822, + 2861588626, + 2078590423, + 295926673, + 2395519644, + 2813650610, + 304734336, + 2271168989, + 1972943007, + 4164895827, + 1963852970, + 634872925, + 1135813639, + 925513901, + 842190288, + 2578819122, + 1098902675, + 4226609325, + 1315029779, + 1719013560, + 922357863, + 363855736, + 2462796620, + 4182689811, + 762698288, + 1013326977, + 2820501838, + 2352460677, + 1845169306, + 1970194071, + 2276456247, + 1536676296, + 509433073, + 3539178362, + 1664748496, + 831963339, + 1959525922, + 1811457493, + 2062537993, + 218553564, + 1481442912, + 1872997986, + 3852052481, + 2944778691, + 3091995984, + 1506369860, + 2184769337, + 469420240, + 3875176679, + 1983082659, + 156830633, + 839208405, + 343698126, + 4121301893, + 3629457250, + 1700254547, + 689767861, + 3756684381, + 3260069078, + 723702118, + 197026924, + 1476158802, + 640147758, + 3242467108, + 1231631664, + 2352884297, + 3030843693, + 1225629887, + 4018512988, + 1960274169, + 726761294, + 383837250, + 4137352652, + 402373467, + 2557391206, + 2529892428, + 3975336654, + 1258243576, + 139410019, + 2633302047, + 1372979807, + 1817975138, + 3445998615, + 60703431, + 261775064, + 4264413018, + 1076874950, + 3629284039, + 56691936, + 2772902972, + 2549778684, + 2897023917, + 314443467, + 2556475285, + 2532810938, + 2908365210, + 3039124787, + 2288454425, + 2588035204, + 1656584504, + 3238121759, + 2055860583, + 3980122014, + 4066805983, + 1841713803, + 1624272541, + 3373977423, + 3879495641, + 3111420266, + 4270547826, + 794961696, + 1527215837, + 1683813782, + 2442868845, + 2861787459, + 30022392, + 2035158316, + 3836016762, + 2830309589, + 2593433899, + 1473903924, + 1918006911, + 1758965792, + 3838393179, + 4276543024, + 2028672482, + 2982328510, + 2644432219, + 3171447612, + 3109668921, + 2279285950, + 2813610250, + 3556231637, + 126863672, + 3361960994, + 644064651, + 1400464041, + 3337005760, + 1295629737, + 3475709142, + 788576740, + 2714460764, + 1011779763, + 735176792, + 2205184112, + 2560983995, + 1791376649, + 1706558918, + 1504402458, + 1409252608, + 1583370306, + 3436434504, + 1394779357, + 3344782943, + 1326542890, + 202837107, + 1767585117, + 3598053916, + 3870190638, + 2525308830, + 3922878207, + 3345261176, + 35974662, + 88009015, + 2643558986, + 422099661, + 922802465, + 4014273248, + 2445899495, + 3830396951, + 4059813977, + 997949304, + 490526207, + 104568705, + 2200019713, + 1490665329, + 834166251, + 1612573860, + 3018054021, + 2828340234, + 797193652, + 1850063855, + 1009072075, + 1778776170, + 1169853030, + 3133255113, + 3518468848, + 3235454738, + 3424004110, + 3198971543, + 1466346644, + 990804399, + 2985664632, + 2322412872, + 3797624542, + 461499801, + 2699134526, + 3471164999, + 3451542489, + 753407667, + 243450086, + 2646197716, + 2920663789, + 1835623949, + 3529662797, + 2823859887, + 1974521924, + 1372038029, + 3795841911, + 2258314571, + 4081322833, + 2079376619, + 1349810559, + 3584271990, + 1026789037, + 2579600744, + 2761777053, + 3779722310, + 222490010, + 1358281268, + 3629320916, + 1363394330, + 3761616942, + 3482912456, + 3463122387, + 2260520845, + 3462604833, + 2112854786, + 106713769, + 835546513, + 3055010369, + 2706334722, + 4219149503, + 2323649784, + 2117406324, + 3337739606, + 2564252239, + 1864066698, + 3499118870, + 4256446013, + 427814844, + 2986028215, + 1330753452, + 2950163002, + 2076444673, + 804386069, + 2537649781, + 2111726626, + 1890911253, + 2281718984, + 1380263848, + 1347027035, + 4112888342, + 1506036786, + 1325045286, + 2664324834, + 2403182116, + 1594677030, + 400265922, + 778544882, + 2378466730, + 1983435876, + 4273276891, + 100850817, + 2328471483, + 2948444452, + 2657126915, + 3820179145, + 1053870855, + 1936709165, + 3223291684, + 162217457, + 1899809283, + 3330523041, + 485846737, + 2941428711, + 4029022020, + 1143446995, + 3622600996, + 541967781, + 2921656159, + 3185611613, + 3808221771, + 38755368, + 1063478728, + 2823129218, + 1151128344, + 2320099649, + 1793881765, + 3916651982, + 2239207877, + 114805436, + 2812828407, + 3281137354, + 3435690594, + 2447226055, + 2135471712, + 2270208559, + 1522003006, + 2471292030, + 923989441, + 3439465659, + 4120179491, + 206342261, + 3313683994, + 3168474150, + 1302409759, + 3376867839, + 4000339007, + 3552032989, + 2999233483, + 472627197, + 2103950292, + 3906389688, + 1100471964, + 2158686928, + 2776152718, + 1314274576, + 2676956611, + 185267308, + 3898859569, + 158099371, + 2116564997, + 413498794, + 128303740, + 1170360864, + 377111024, + 4058533844, + 94806789, + 1390702268, + 2470198724, + 604165431, + 1265797578, + 3794878057, + 2809735702, + 248892713, + 2520837093, + 2488361847, + 1818263751, + 4082245209, + 3511271239, + 2438651795, + 3111384482, + 196299206, + 2666311526, + 2525242011, + 16739286, + 2053349733, + 3134730085, + 1066105976, + 1360957002, + 175245999, + 3578595606, + 3465909687, + 1574260829, + 363562331, + 3942782753, + 3465844955, + 1398218704, + 3641354062, + 2112666502, + 2530899905, + 607827122, + 29748288, + 258779283, + 1818237684, + 2521301397, + 1653013032, + 2165034707, + 468622399, + 471251533, + 1033677231, + 1637959034, + 560140569, + 2439262678, + 2489476479, + 1891002624, + 1302203437, + 2698509256, + 367767703, + 3814967989, + 877251486, + 527587659, + 1998457154, + 1313841402, + 2777432647, + 4158445342, + 3105955966, + 3905457985, + 3421264726, + 3256358467, + 2247911545, + 3048444527, + 1954942659, + 3305736858, + 3154420398, + 1005608299, + 1016886836, + 3586838668, + 846005097, + 2135620047, + 4036641303, + 1885952247, + 2035424682, + 1180695587, + 774703288, + 4008526136, + 1049621630, + 3211906906, + 3252340993, + 2577071177, + 2499523862, + 2385946477, + 2051798649, + 1377061187, + 1139007888, + 2931433321, + 26983014, + 566620908, + 3990593487, + 2891348843, + 985361069, + 3349492770, + 1669250253, + 1849438208, + 215958199, + 2053618099, + 3254450639, + 3373441134, + 808264720, + 2420293240, + 3738956747, + 3030135874, + 1415649420, + 1984045192, + 170593119, + 2191242276, + 2966552233, + 2659661435, + 3135670658, + 3456270821, + 3161215331, + 2113148268, + 1748878774, + 864032749, + 1647138595, + 3149458404, + 1878429531, + 2790605003, + 1804724878, + 563250847, + 3781808397, + 2196738439, + 1297061432, + 1671610362, + 2839219685, + 54190640, + 1321160381, + 1454860714, + 2173840342, + 260448756, + 2616252823, + 1965529367, + 3262117203, + 57624273, + 2383384722, + 3958089955, + 1647811733, + 1247195808, + 3913713532, + 1830407374, + 4237860107, + 3195456324, + 2243691948, + 3466538281, + 2221302982, + 3810228901, + 581191075, + 2109526456, + 2864821418, + 226854018, + 3342940775, + 3662895373, + 2898610216, + 16648045, + 3792169363, + 2989468361, + 2034275782, + 1398459504, + 2533442293, + 662308785, + 2288542245, + 2275925093, + 3096984278, + 2517801292, + 1035651938, + 4050643009, + 3651572420, + 31201731, + 164236793, + 1181532994, + 2908427621, + 2605363278, + 421420952, + 2908707954, + 1327292778, + 950010639, + 2700789717, + 747776729, + 195005272, + 3667940676, + 1301150500, + 143697733, + 3312190348, + 3790729630, + 3960139362, + 659823534, + 1138718612, + 2025036982, + 4151139063, + 1348399080, + 4071700288, + 3809807887, + 1316603858, + 1192309798, + 1387122856, + 868870782, + 3722390636, + 1317568108, + 1087995405, + 1717499349, + 3286993028, + 1702783042, + 1259532784, + 107860062, + 4251967034, + 453409378, + 647529028, + 839106143, + 3854140423, + 2490308602, + 2730383584, + 448604166, + 2094495731, + 2882113148, + 2775497621, + 3967835850, + 2729281646, + 148462273, + 4181103946, + 2402226590, + 2653424796, + 3926326608, + 4035129333, + 250028835, + 3650515104, + 2271621710, + 2645999918, + 1193086113, + 3941118603, + 4004363168, + 813196015, + 1371147505, + 3112788935, + 3797169575, + 2613939790, + 3937421466, + 724668461, + 2878709008, + 3432806023, + 1607090607, + 2826908627, + 2464652317, + 2601849716, + 517899610, + 1495564723, + 2048130738, + 708974721, + 1700315595, + 2579278247, + 2242949414, + 3460308404, + 2388581750, + 2770301541, + 3744537028, + 296354651, + 2054159803, + 3468853439, + 1651514110, + 4062623752, + 3583825663, + 2794129708, + 1410796364, + 4156382067, + 2045716042, + 3813065205, + 3818920060, + 1665102927, + 1278187702, + 4009313434, + 202365588, + 644210309, + 1756153331, + 3866170616, + 3814335035, + 2542750399, + 3813215494, + 1136013967, + 2960011135, + 3772001369, + 586861895, + 3923860551, + 3470266123, + 1546763528, + 1902195756, + 3104501745, + 3876757003, + 2571263946, + 477981715, + 2126062056, + 269049977, + 1290930374, + 1780432836, + 3160595037, + 1417209655, + 514282678, + 1164023519, + 2686453333, + 3115969734, + 4190938631, + 3186443622, + 1676171819, + 531295352, + 289168154, + 1114096636, + 3168586877, + 613594858, + 2970263844, + 3449924674, + 2658965313, + 967110856, + 3220039975, + 4215063520, + 3507754767, + 133270519, + 2334205217, + 1831822689, + 4262324268, + 2309134077, + 3999156807, + 1791457643, + 1256641239, + 2242142944, + 2820499630, + 1229037130, + 2660992240, + 818933202, + 2759281905, + 3717480198, + 112547414, + 2956393194, + 104847146, + 2767915613, + 1000035595, + 3582285923, + 3478042564, + 908731190, + 4060768405, + 2564303875, + 1475213146, + 1339551965, + 3750107418, + 1080002464, + 2787912171, + 2645990252, + 1568173359, + 664951361, + 195563881, + 689296034, + 3577669586, + 1821670119, + 3468814631, + 1594124139, + 817555692, + 3193780232, + 3426486546, + 3320655599, + 547932385, + 1410453389, + 4223791522, + 1233467189, + 3247156553, + 2734757292, + 2515500767, + 2584433579, + 4231237925, + 2317152244, + 2365102059, + 936827108, + 3876510334, + 1680648073, + 940806185, + 986899132, + 2391798915, + 422634537, + 4216371386, + 547540263, + 1508615623, + 3364355035, + 879755346, + 3263706333, + 533120245, + 3594839989, + 3452469780, + 4055859642, + 969997840, + 4262262593, + 1470323769, + 1574986928, + 401859924, + 876195122, + 2787490848, + 1047019794, + 1456393400, + 1268268486, + 1049293027, + 1125089723, + 49962653, + 2656962696, + 3432712130, + 3828147908, + 1008783282, + 745874291, + 2762581508, + 118220810, + 3732108684, + 2127208336, + 2769688211, + 4274667061, + 2951242846, + 3366367940, + 1598191583, + 171242379, + 744919145, + 3925218297, + 67453201, + 202729328, + 1796852917, + 2981855265, + 162603224, + 468499657, + 2498928520, + 1780550234, + 4154629649, + 159800351, + 918301713, + 4009883178, + 1405353115, + 214354316, + 2158957675, + 3869560785, + 3877900396, + 1972515992, + 652141294, + 2653621934, + 2767765732, + 2033835536, + 427710690, + 3066436569, + 2951118745, + 2329045596, + 2837864401, + 369661422, + 2512052501, + 786311077, + 817972689, + 1292779605, + 1845273436, + 3767574613, + 651561746, + 4135562168, + 2180200113, + 857186643, + 3543645505, + 1098876326, + 1744194088, + 122392536, + 4006499245, + 4093925068, + 2047275237, + 1612275511, + 4243136821, + 1515518053, + 967094981, + 4124925057, + 407264616, + 3939504118, + 3065407383, + 3923876471, + 234366602, + 1267806253, + 2103627474, + 3161503447, + 548723525, + 1573785350, + 1523860596, + 3111076351, + 3089072652, + 2099939967, + 2484876475, + 847465547, + 1287516381, + 1277183359, + 3825284807, + 1286852437, + 1071051944, + 4211214237, + 1395725438, + 318332058, + 3887322447, + 3648123837, + 3980865465, + 482308870, + 1393337748, + 953623319, + 869400070, + 4267388268, + 299775497, + 4201609675, + 2407563100, + 2302119847, + 906313648, + 1287024348, + 3047468764, + 1961247686, + 3065780155, + 896060678, + 2281157811, + 43993134, + 3759084138, + 1257965196, + 1712831923, + 3118566845, + 2952627404, + 2536493762, + 2411795120, + 3620642444, + 3555288174, + 1116895018, + 1021126205, + 2579096287, + 1020205963, + 394251755, + 2996670176, + 1892934138, + 2242747270, + 2871062637, + 1033916190, + 233778528, + 902809453, + 2423438132, + 3603630196, + 3726742054, + 3963756768, + 2091120815, + 1461915071, + 846990542, + 1140814264, + 532282751, + 290247034, + 1413926893, + 2836815229, + 1545937634, + 701427847, + 6966619, + 2521894691, + 568079964, + 1507550789, + 1269329413, + 4901133, + 844581979, + 2159007935, + 3652623993, + 2311865120, + 2809893775, + 2653658358, + 559868372, + 1797422291, + 2403522696, + 1340592093, + 2909871519, + 4258339860, + 1990498435, + 1747735562, + 3443076647, + 2839280610, + 2198844475, + 2969323320, + 4067837666, + 1809216562, + 4213935392, + 3721239890, + 3110124671, + 3633212240, + 1076094898, + 3492681148, + 2990603686, + 1282671129, + 1162631073, + 2299938114, + 60794983, + 556699268, + 1151569257, + 3492507535, + 1719539824, + 3827661008, + 3541062702, + 1295482877, + 325546474, + 810665070, + 4164189352, + 2550548701, + 2227159188, + 4052323447, + 993650554, + 624459010, + 533363840, + 3136167651, + 1714985727, + 2299507153, + 3401403375, + 2596403792, + 2580829190, + 1005216955, + 3292487673, + 389098899, + 107392208, + 698445074, + 545507873, + 3517962883, + 3506980695, + 2035236933, + 334294539, + 1567596363, + 2975991617, + 69070131, + 108620399, + 366436780, + 2456257228, + 300297627, + 2562984799, + 2934600429, + 1729676149, + 4066392674, + 4085843569, + 3296227094, + 461743932, + 3702256193, + 2997713007, + 1135886905, + 2600348129, + 4141089304, + 892518749, + 3058189666, + 1934930462, + 4153963847, + 4252640004, + 4262502844, + 1253456044, + 1961771953, + 680562507, + 1185858068, + 634477484, + 2339411358, + 2164550300, + 2803986401, + 924455038, + 3134526645, + 966348986, + 1453429154, + 3082418575, + 401225239, + 3398590724, + 128059633, + 2178637212, + 1774922230, + 2255178215, + 2918720795, + 3327682099, + 2214394442, + 3099747606, + 1661934883, + 1298729894, + 1272558632, + 4053018305, + 3789054773, + 4131648440, + 1773101876, + 686931174, + 1203446895, + 3752734552, + 3235657405, + 1944360014, + 697623102, + 2039237867, + 3348886781, + 2064524654, + 3039942319, + 2701235418, + 3767389087, + 916901041, + 48586650, + 1416585478, + 766915953, + 3115924685, + 331229169, + 3134725341, + 3457203708, + 741448579, + 854943645, + 1524960723, + 1896889580, + 1713382254, + 2640180408, + 3592536589, + 1428546938, + 3838033608, + 3778145355, + 3664325161, + 542063487, + 529023584, + 2782480714, + 173629044, + 958820397, + 774948118, + 1930508109, + 1674876078, + 3703541375, + 3024990950, + 473593431, + 1202061697, + 115478614, + 3136639346, + 3545390288, + 2091581374, + 2249203480, + 2052969632, + 969919597, + 795131713, + 546537563, + 1302855058, + 2724277934, + 1751639184, + 100232597, + 3423489601, + 103164049, + 1984156416, + 3109944603, + 3809627092, + 3362560613, + 1292767536, + 1281284953, + 989446818, + 2926075470, + 1217424046, + 1358302685, + 252442366, + 3489051572, + 2648229374, + 3946622689, + 3719323628, + 1749561368, + 3345174159, + 938188313, + 693952393, + 3443621184, + 2911849094, + 1427624214, + 3678446744, + 2906392205, + 2445546247, + 1977949039, + 801684661, + 2963795503, + 3386667543, + 2100145413, + 936768746, + 1593174171, + 3875136524, + 2590738188, + 2890201611, + 216936927, + 1339115234, + 2635418552, + 119932717, + 1340581782, + 4144168239, + 3938057468, + 1168936260, + 2215987317, + 17184998, + 216656204, + 2188297832, + 2061448228, + 1202480390, + 1405676949, + 292664855, + 953177361, + 3172167692, + 2503470625, + 1562534091, + 1387760951, + 1505457322, + 592131196, + 3951980740, + 1017622275, + 2281682949, + 2074963044, + 3329400423, + 1404464938, + 3295703205, + 3486575395, + 2090288146, + 3184219409, + 761918532, + 2960208185, + 3763970070, + 833445184, + 267175292, + 572901486, + 770701766, + 2145108431, + 3628405341, + 1694398934, + 377464778, + 999531056, + 355730920, + 1936325012, + 1976818811, + 854711443, + 132862578, + 1207569573, + 392699403, + 1081010007, + 836817039, + 8548126, + 3978550150, + 1419003753, + 972930310, + 1428068521, + 4209168748, + 4197520795, + 3943327582, + 99781339, + 1496418041, + 970974632, + 1028307344, + 2504293859, + 2296530528, + 54001838, + 334118403, + 3633345114, + 3002480798, + 1813811418, + 25154819, + 301497575, + 4275021870, + 3282143209, + 1785548939, + 3598774548, + 668914781, + 3160281209, + 190382091, + 3606378713, + 3008775681, + 894795635, + 2920018236, + 992106311, + 605405192, + 1572036413, + 1611796135, + 3432918850, + 2744331628, + 1848223022, + 1152080655, + 1195579213, + 374577093, + 1687992973, + 3507249443, + 3508208035, + 24847241, + 3733363803, + 410066863, + 1140860417, + 1186346319, + 4001954674, + 1781698837, + 1473739716, + 611800397, + 2528535791, + 483659071, + 1465122828, + 1423007227, + 2160485143, + 2603441040, + 814091149, + 839018968, + 2290160391, + 709434753, + 3758915475, + 206497337, + 647739248, + 1332381604, + 3765956247, + 2329586541, + 3933384048, + 2402114381, + 2149614119, + 2027684430, + 3252300895, + 3409909622, + 2129462592, + 3413088705, + 550912515, + 1884734543, + 3454710353, + 3089136894, + 3468891844, + 450825661, + 1068267994, + 1083780548, + 1882776870, + 3387913941, + 2512854880, + 3765561099, + 2082119335, + 3191790046, + 3268009033, + 1072301170, + 989191158, + 902359876, + 2242814468, + 2285401008, + 3185723472, + 1189582618, + 1052972683, + 3007703952, + 2985550900, + 2069850107, + 3678424277, + 1801617902, + 246137944, + 1713777350, + 4040289926, + 1552898375, + 787557918, + 2622943875, + 3295504658, + 3744612315, + 3526116130, + 3352769717, + 3910684927, + 4186388438, + 3972654148, + 2209684073, + 3906598287, + 1607122308, + 4076456023, + 3754124290, + 2634877003, + 4104847198, + 2656001795, + 2198100222, + 3683620366, + 646937427, + 364412316, + 2895405374, + 3041104958, + 2380266561, + 4262451611, + 1818177993, + 3391440913, + 2968709647, + 3349770411, + 1689905461, + 2452371437, + 776949895, + 1046308521, + 1592843104, + 3356487469, + 543456311, + 4019266983, + 3413881071, + 2162344761, + 2906465706, + 604490755, + 2482347066, + 1465834864, + 3590369482, + 4006089115, + 2221173266, + 1680872055, + 2374564413, + 140760167, + 935674542, + 1201104318, + 388802361, + 3253154825, + 3608163470, + 375711467, + 2065707447, + 136847675, + 3867470807, + 802096481, + 3359615348, + 2988900131, + 445520961, + 2627882095, + 1277600628, + 1248783074, + 4211777909, + 1753939380, + 4078827895, + 2202860875, + 1375887346, + 1336540226, + 4107127365, + 3240966394, + 1025999119, + 2217540015, + 635654621, + 3012341994, + 3048508986, + 762061022, + 3937951775, + 757818976, + 286528835, + 2504250177, + 4291469209, + 793465046, + 1934262578, + 3603733421, + 4264651251, + 450041375, + 3683285196, + 3943679787, + 4184673378, + 3112966398, + 2999093698, + 839336387, + 1252896925, + 1520818592, + 1996403247, + 4076122584, + 2679158894, + 1234736428, + 3277957223, + 2521119720, + 477707961, + 2764279279, + 1725521745, + 189237987, + 2649848870, + 1921924016, + 3323989910, + 3497554263, + 3667891214, + 363811064, + 4123651488, + 654290867, + 3828886696, + 1074566784, + 3529808219, + 2376273583, + 3188405382, + 1340442737, + 23366486, + 177240450, + 1418661901, + 2772522976, + 3329973480, + 2499441230, + 2436920109, + 1677150014, + 2838258127, + 3248073782, + 1936894367, + 195979079, + 3336629774, + 2225225119, + 2241276354, + 2103330620, + 867316439, + 1005790818, + 1435458745, + 2518696085, + 1500391322, + 2957570195, + 1399704654, + 1635394112, + 1448662254, + 2140705107, + 2354872868, + 478054856, + 3956581405, + 2386494766, + 3659886331, + 1810497217, + 988357149, + 1183625343, + 3308188244, + 3864913999, + 2139265159, + 3106141303, + 4095094466, + 3908751299, + 1219514066, + 3934435025, + 4198330136, + 2716119828, + 671526183, + 1442746755, + 2980086690, + 1779948439, + 3104658095, + 3039535718, + 2864235860, + 1361081085, + 3301975283, + 2301937405, + 64212162, + 964827629, + 4062021079, + 463814632, + 2591002819, + 3034306167, + 1346952449, + 3616259925, + 3529562410, + 1407376532, + 1300938695, + 1831428515, + 1377054337, + 3494483692, + 747322432, + 216966114, + 3109940520, + 528951861, + 1669013973, + 101428960, + 2355473679, + 1271448808, + 296701278, + 268703676, + 3772961132, + 1364096698, + 3595360819, + 3834654495, + 245756468, + 1180671694, + 3059654993, + 1665841701, + 4037643682, + 1968685444, + 4003118090, + 1863308596, + 3388905742, + 4159463735, + 4075930631, + 3935486025, + 2840325144, + 18372419, + 922566678, + 3339869492, + 2322470770, + 2065294276, + 4265824751, + 429328514, + 2074833244, + 2599110511, + 369418826, + 3008438327, + 2290841232, + 2261453789, + 3219343987, + 3835916688, + 3330072907, + 1011610559, + 4028138841, + 2334037885, + 1160961116, + 3783760846, + 4129099787, + 3347763102, + 1542597118, + 2667694424, + 1899324085, + 4271282956, + 446119665, + 1742983316, + 1490047357, + 3496881782, + 1609204238, + 1618233545, + 1446118922, + 3059663537, + 2392848332, + 2197177262, + 4202324988, + 830381121, + 3172287659, + 2284794296, + 60048962, + 776939908, + 126368955, + 3335316768, + 1617224322, + 1887735485, + 1166521152, + 2051868066, + 204477206, + 2610832849, + 1270236219, + 2858895839, + 2259287190, + 562086365, + 192678119, + 206934813, + 2586951728, + 915075661, + 1531503276, + 2422154569, + 52428317, + 3158676597, + 3151131876, + 136530275, + 1767843437, + 272791438, + 3828859553, + 1225138750, + 163687616, + 3525118791, + 2535968361, + 1924379683, + 283228722, + 4163469205, + 3564332148, + 2796953478, + 3876635722, + 2631269302, + 435019165, + 3612086867, + 3922297398, + 2481322386, + 2240232460, + 264330793, + 665379893, + 121343689, + 3341464458, + 1276481244, + 890467371, + 2406267556, + 2548172784, + 1555519749, + 2624817350, + 2649640810, + 2008390522, + 3369404910, + 3318100808, + 4221083403, + 876058551, + 1611683033, + 3782414641, + 927777450, + 88074630, + 1295423080, + 4122276692, + 3546635644, + 1290910992, + 1656784313, + 1878676100, + 994393490, + 2611964229, + 3332196493, + 613467795, + 4227931323, + 628818521, + 810178104, + 4187267638, + 3258744627, + 1124346594, + 2242608757, + 1767743392, + 3960871431, + 3694411882, + 406926017, + 881968001, + 1110666426, + 2373577393, + 1816382483, + 3578792736, + 3059987612, + 1362889724, + 3276050088, + 85597552, + 3955182099, + 4190966009, + 210511877, + 182308482, + 2970087804, + 681329385, + 217312993, + 3140854657, + 4199572816, + 2423266165, + 611338832, + 188684622, + 387654540, + 4208113919, + 938495321, + 245698576, + 2592260049, + 4067163288, + 519701160, + 1490532584, + 3677927251, + 4258482849, + 3236806675, + 873090172, + 1615040788, + 2684458162, + 1214354785, + 3808440737, + 2406008869, + 3692493629, + 1219697942, + 2285892661, + 100870168, + 3388557595, + 2876509547, + 4244766014, + 1017137375, + 3662418421, + 4236747106, + 837030183, + 3878772957, + 442432073, + 2350568850, + 1377998755, + 580739246, + 3664426859, + 4221279304, + 1015619724, + 2788248972, + 760252494, + 3392520063, + 2585360397, + 140810933, + 2492079891, + 1783515673, + 3751207447, + 1323412246, + 3653658141, + 1639014292, + 887227458, + 2465064055, + 3023598037, + 899722089, + 2706288424, + 1998284933, + 2926476733, + 2950172024, + 3726696397, + 2404322937, + 1986985484, + 1863053903, + 4292239694, + 1500243239, + 2477397953, + 1886915350, + 314868887, + 285534487, + 238835718, + 2091997051, + 1712504340, + 2535782409, + 1059481183, + 1551367995, + 2569309609, + 164825691, + 4197566908, + 3007996085, + 734721121, + 1075862748, + 1190607349, + 3085176370, + 2647730445, + 276950387, + 4188313125, + 2644079881, + 4268419844, + 2118105082, + 2838182759, + 631686819, + 4049268588, + 1213849385, + 395500072, + 411452014, + 3921892342, + 1428122391, + 3020360899, + 3699851885, + 2119420335, + 1032914977, + 911509677, + 379170830, + 1931756689, + 2671028834, + 2596306004, + 524457754, + 2484367232, + 3969243802, + 2002483508, + 3535862321, + 4168823426, + 4122856522, + 299191719, + 4043906305, + 3530247806, + 3073040578, + 2219836713, + 1533630862, + 833955854, + 3525350202, + 1111680468, + 3599551819, + 479339782, + 4188026562, + 3947101234, + 3309992746, + 4150344305, + 1712302447, + 971968892, + 694304293, + 4189216769, + 650392268, + 2475725134, + 1112484223, + 4067521798, + 1457755946, + 1198460815, + 1448917123, + 644122951, + 1977075137, + 2680431395, + 2297523471, + 758780438, + 2362536223, + 69290711, + 3355651817, + 2497463781, + 3637278974, + 817056241, + 1618493172, + 3238323388, + 2576549002, + 4134473192, + 3941966929, + 2468389041, + 1989550973, + 939185326, + 154995083, + 1050055328, + 603118324, + 3385201150, + 1906746781, + 2510736761, + 1496731781, + 3576997247, + 1620074651, + 1769919649, + 3212241368, + 2437369289, + 2845004733, + 773974037, + 2057141058, + 3506691796, + 1774264143, + 835045567, + 2654816287, + 1511846672, + 1592372689, + 3063102665, + 1560480091, + 3994960161, + 776324825, + 3819796470, + 898988127, + 37164863, + 1744209023, + 1089382200, + 3694627204, + 732493949, + 763581103, + 2631056564, + 176492295, + 121624993, + 3815059473, + 3075385449, + 156121253, + 3028625679, + 4214466001, + 2335965654, + 2130896272, + 3930208737, + 3555403653, + 3702865481, + 3804078449, + 3050736921, + 3869289586, + 2102279214, + 3206425581, + 267786710, + 3483225109, + 522553985, + 1984826481, + 3217768625, + 3838297603, + 3405536892, + 2966997336, + 2902635966, + 2810651474, + 2195519725, + 4153919922, + 3765936022, + 2391008672, + 415766461, + 3494083590, + 278039419, + 2195922263, + 3358034390, + 3985136598, + 3706836517, + 319317636, + 1266735212, + 2648411005, + 3052965502, + 3860521030, + 1335678431, + 898803396, + 2771426331, + 1100294411, + 837103846, + 1822781033, + 2468563788, + 2652326495, + 1237920364, + 3888314952, + 3703270820, + 2334954536, + 425709917, + 2923195959, + 3781553520, + 2481380595, + 2836201082, + 4163743559, + 1856271548, + 2514914438, + 2659740167, + 994689845, + 1754129636, + 2572270539, + 933071740, + 3238911884, + 2140596641, + 2324809811, + 2447233246, + 3944524476, + 1464590026, + 1783468988, + 1426484230, + 2831036641, + 669953331, + 2467395863, + 1346745881, + 28384490, + 520057360, + 2605156811, + 3547641364, + 3968632337, + 3586137855, + 1829248118, + 2877202640, + 3505134530, + 972761720, + 669880678, + 2736668092, + 1806406495, + 3613308561, + 3957011249, + 2148405107, + 4260751448, + 2998225713, + 2338191432, + 216214347, + 4183131890, + 374916817, + 2884617705, + 3296738403, + 2074837837, + 2384235627, + 3030717220, + 1950687430, + 967763135, + 4071323483, + 3730628609, + 2438950210, + 1779914608, + 3291569149, + 472167750, + 3873972683, + 3746688843, + 3288172257, + 1586008060, + 20146320, + 1356698249, + 1241784905, + 896604945, + 3504660141, + 1230568406, + 2418737165, + 859280916, + 4002301486, + 2466760865, + 834105222, + 3254855025, + 3968071974, + 4123415200, + 1521003134, + 2749958796, + 546877786, + 1779121903, + 918664084, + 323508737, + 2959053504, + 2234275880, + 391098989, + 1525191645, + 3014675896, + 840073045, + 2289738632, + 2626990270, + 2617163262, + 1509589768, + 1658571743, + 3968660159, + 2750932338, + 965382975, + 3744578296, + 63238114, + 1420213534, + 3547158310, + 659688884, + 1687362145, + 3671914268, + 4088722031, + 3129154158, + 2800628987, + 2056370583, + 655540043, + 419330238, + 3477754734, + 118810913, + 3783215471, + 3617854122, + 2773406457, + 3398689703, + 137446866, + 3445441869, + 1377752025, + 102773113, + 1428576867, + 2126861301, + 282024782, + 137965689, + 799908253, + 2747012194, + 2588842274, + 4079593773, + 1884796491, + 2089878589, + 287438453, + 3042459900, + 284156012, + 2194328180, + 2537630290, + 1115213252, + 1000033505, + 2054992007, + 4288536260, + 3809982695, + 3143688764, + 912790607, + 2690711376, + 3282737600, + 1757552909, + 1662483187, + 2906946034, + 2589432661, + 3764809557, + 3954618893, + 2997905021, + 378410012, + 2557433717, + 2315034839, + 3168371113, + 1074613870, + 3685021357, + 2666944892, + 667360674, + 392247007, + 1963080100, + 241189372, + 2383220828, + 273454969, + 2699152244, + 1178758254, + 3686978906, + 3588348050, + 475514283, + 1401569874, + 2822156896, + 762344480, + 1302677715, + 1336163239, + 1574429530, + 2438801066, + 3464343842, + 2773171098, + 800437683, + 1988558023, + 3139930912, + 2680545639, + 2517347885, + 381423133, + 3749204297, + 171704872, + 4110583193, + 4082557234, + 4117643302, + 1581712990, + 1478575912, + 3213409795, + 3570398407, + 199363141, + 74998573, + 1497480030, + 1588902796, + 2182716742, + 2044279866, + 2530715733, + 3631828882, + 3028359850, + 3296477370, + 3712890920, + 695166871, + 1681668033, + 2116068277, + 541304010, + 98394159, + 3675545603, + 4167725043, + 3036031561, + 2203689734, + 1365103893, + 128733363, + 2267978244, + 2423691027, + 421730605, + 1133375285, + 1488361202, + 921779168, + 2401667552, + 103926809, + 3304404846, + 1435097879, + 104836756, + 2621606060, + 1212958061, + 2886318131, + 125706275, + 3458107714, + 1923375310, + 1974177254, + 1379184218, + 151282965, + 1974411302, + 3532138499, + 3129890017, + 493207508, + 3855901937, + 385431260, + 593699630, + 2003604462, + 1273493881, + 2534089857, + 3801017963, + 1391378122, + 4052598581, + 1493885943, + 2547139892, + 55775400, + 3393276717, + 3022286702, + 3556257769, + 4073739050, + 3010324859, + 253360788, + 1769675721, + 4198702190, + 3004501396, + 934221364, + 2043508053, + 3285425528, + 1261525380, + 1643528647, + 20941045, + 2937444647, + 2920811364, + 3721095811, + 3980254979, + 4082099366, + 2207357842, + 2397279974, + 3133632668, + 3858259510, + 2205386556, + 3119367462, + 1226554211, + 1383031614, + 418493331, + 3495739858, + 3765303024, + 1618904366, + 247540363, + 234268079, + 2441128017, + 2008348718, + 965984916, + 2881602286, + 2608102654, + 2300847274, + 3891718353, + 1421948487, + 3557204590, + 612553182, + 4060595648, + 46753808, + 4050162968, + 1338654448, + 3060241317, + 2974986277, + 2158728563, + 1980012232, + 3427060807, + 4039506494, + 3687711103, + 2625388131, + 122917169, + 65262652, + 1710153668, + 1062178371, + 1192911872, + 966332844, + 2929033267, + 4175997317, + 1820552271, + 3990059567, + 2738720326, + 1415735781, + 1747006787, + 3680962248, + 2550782445, + 1472091463, + 2408227745, + 659637885, + 1330226362, + 3165519011, + 2780611834, + 3779279541, + 3640745291, + 3531581467, + 617584482, + 2625316976, + 2964566776, + 2366391382, + 373228345, + 3957914969, + 1258771463, + 1731935395, + 810067909, + 2605132175, + 1840584492, + 4079026219, + 4094595850, + 829301813, + 565188508, + 1263030380, + 3726343757, + 918653651, + 472976245, + 4286770577, + 4036012761, + 3176300564, + 1107071008, + 4144843702, + 25492461, + 2207649467, + 3633977115, + 2147514019, + 1269991726, + 2683965438, + 2520639319, + 3086660719, + 617169064, + 3432492192, + 3710672959, + 3409402126, + 119439117, + 3963100196, + 3342998301, + 3693521188, + 1853335107, + 2389605201, + 2872784581, + 2317685454, + 3978854958, + 3380967256, + 4286235050, + 1349107910, + 1969512853, + 4208086344, + 581163757, + 1082760289, + 738048249, + 1202565794, + 565233861, + 3445288398, + 3039896709, + 2880462484, + 2474618602, + 1513485029, + 2142309807, + 683739876, + 378146407, + 604326311, + 2048166999, + 2597099427, + 4072040838, + 1755442901, + 2907595452, + 3467550225, + 250062363, + 56058708, + 1145710399, + 3039069222, + 1308673449, + 1714524366, + 581730562, + 2761367556, + 626014288, + 137071648, + 470268228, + 1437302621, + 2321627765, + 22353300, + 1332773166, + 2159532786, + 2158846563, + 2373532852, + 1862594729, + 597810252, + 2340972379, + 3639427609, + 1007863785, + 695030942, + 3011496664, + 270375172, + 506179402, + 2465725939, + 3586616372, + 2004336589, + 2540593231, + 3053313124, + 242205516, + 1129472933, + 2423477390, + 2905078481, + 1273830886, + 3684442720, + 1606743201, + 1856404822, + 997845042, + 3493020698, + 3764183901, + 1210713036, + 775445903, + 2693348863, + 1544199589, + 4134758141, + 2289181799, + 2575820269, + 4039240160, + 1927565098, + 2469436858, + 1147407442, + 88722021, + 4251027513, + 3943603541, + 3343042023, + 4136117766, + 1408968078, + 2011730517, + 1115400444, + 91805388, + 3797413122, + 3231843740, + 254866909, + 50348931, + 3008475074, + 4096823241, + 806995214, + 579016061, + 224913061, + 3452629625, + 3935452158, + 2158823384, + 443232806, + 27590422, + 1626003736, + 1659214230, + 3730751274, + 3304817447, + 2126464234, + 468094899, + 2004841401, + 4244266212, + 3191633815, + 621908138, + 386502901, + 3160550164, + 1846013869, + 3929062208, + 1752551945, + 2020989829, + 3733195509, + 3332803772, + 568035707, + 677499620, + 887350633, + 1910823965, + 1074653760, + 2669527160, + 223941914, + 3638297358, + 3976028732, + 2153246112, + 3107649886, + 2225817653, + 365559041, + 2590903965, + 4267229921, + 565109787, + 1465231336, + 1031473275, + 1393103622, + 3065248441, + 874527608, + 4007090012, + 1754535205, + 468826697, + 3193473952, + 2427827474, + 3093649161, + 3340523605, + 538785320, + 540707646, + 1138431196, + 390508078, + 2231744465, + 3431900471, + 2267895721, + 2586776002, + 458121288, + 4151047880, + 1794590530, + 2207519743, + 757299014, + 2917271579, + 2795562629, + 2743741909, + 1960280979, + 662426508, + 3129251070, + 3284489896, + 2860828673, + 1665561966, + 243380736, + 1919574277, + 2539834250, + 806470044, + 1347773453, + 2588536886, + 1735157907, + 2984222123, + 3613443173, + 2161200535, + 1139265877, + 428233703, + 3310537775, + 130112178, + 1688164348, + 1800051748, + 302537661, + 2956495443, + 1641859068, + 47107059, + 2547135481, + 3629305242, + 2304666342, + 2953885877, + 4274433508, + 3596400581, + 979899601, + 1408111447, + 2891516400, + 3148158100, + 2198724832, + 3377935260, + 3741107224, + 3692011552, + 589770358, + 1491910442, + 3070679896, + 96783584, + 1097094582, + 718459446, + 1566463764, + 2251827675, + 615019287, + 3547997145, + 208891375, + 3237297624, + 3017013184, + 1351182236, + 3220242871, + 1869677733, + 2552355223, + 2314224878, + 3646448768, + 827517565, + 286583396, + 2545551636, + 1652513092, + 2288536082, + 1104922507, + 1453694202, + 3747222584, + 3724572766, + 208872447, + 1298083301, + 2440775047, + 490732369, + 2579372015, + 773048301, + 3117989885, + 3093360594, + 2944738427, + 3420927373, + 610089166, + 3465176652, + 2026748904, + 893684058, + 1051908742, + 1631921016, + 3068536731, + 2517988527, + 1237193610, + 1186253081, + 3445268010, + 1527128720, + 52389139, + 2272891438, + 4216412582, + 162836209, + 285766621, + 1450011463, + 2529126133, + 2774138060, + 363705296, + 1046202433, + 2342962096, + 3660787056, + 1475962584, + 470852430, + 718191714, + 616824852, + 76199732, + 1858152976, + 4018570617, + 3978103382, + 2630348100, + 3609233488, + 3189344713, + 2518740409, + 3931673493, + 1974038003, + 704660170, + 3939759283, + 28317915, + 155880200, + 98267554, + 2179068966, + 1621791391, + 3883686925, + 3889013631, + 3901334391, + 595696176, + 2056195920, + 1766401898, + 3894355593, + 374485636, + 3627058850, + 2345537203, + 774497303, + 2739386687, + 638042094, + 2714586176, + 3681906252, + 3586849617, + 2279548160, + 2388695521, + 2729026787, + 3921872454, + 2742643549, + 3256050029, + 3524792649, + 900652251, + 4027843931, + 1664123130, + 1693946364, + 1091032684, + 3229605164, + 3138471477, + 4076063116, + 1921014030, + 703457671, + 3778215254, + 2874553061, + 1977925591, + 3474710324, + 1397524114, + 1639376206, + 1365339786, + 1396788688, + 4170383281, + 2374091079, + 917644604, + 923930747, + 335414501, + 2894224106, + 2132047599, + 2139834955, + 893152688, + 3658071072, + 1808034793, + 3992989059, + 541814478, + 2467639183, + 4252046925, + 2221776604, + 4010357422, + 3280876308, + 2195433621, + 605914166, + 3580984135, + 1849716108, + 1379095441, + 1444911407, + 1727601442, + 1107293059, + 1360518929, + 3882144763, + 2304676291, + 3161709325, + 4202670520, + 1726836122, + 1352003231, + 1211530831, + 1428143025, + 233742132, + 254065558, + 3778834684, + 2960826649, + 3846707853, + 78125009, + 3035610100, + 4248789418, + 1988353666, + 1488294629, + 2658401083, + 826190428, + 982579292, + 2611299229, + 607386192, + 383744560, + 741541151, + 685070534, + 839618609, + 168365358, + 3600193535, + 3516963691, + 3847439236, + 59984269, + 3531750322, + 4110124503, + 1832015299, + 1109782285, + 224715854, + 1368486105, + 2896734990, + 1631277553, + 2122909256, + 1329180973, + 3883429764, + 2709763270, + 1485532223, + 1454163641, + 3877647601, + 1314197322, + 2191792264, + 1547290652, + 2767848576, + 3165457667, + 2615232590, + 3554360090, + 3461892227, + 437444488, + 2530137939, + 2811265237, + 1462499144, + 344905227, + 3209896933, + 2633921104, + 1629316777, + 1898326951, + 1699291982, + 3173676758, + 2413271387, + 2308589561, + 3010504667, + 2318476122, + 4283542195, + 3136680355, + 1274070214, + 3634534510, + 1621178665, + 2720726580, + 2557726616, + 1593800629, + 3618016530, + 4222420581, + 1427771311, + 2709604213, + 3380881521, + 3429159578, + 1651149604, + 851806597, + 1924252937, + 3042327186, + 2621745230, + 31459639, + 1789941262, + 2699969865, + 4089263763, + 309554426, + 2416205404, + 668142387, + 1028045099, + 2577874636, + 3966935504, + 4013817059, + 952209219, + 2464801737, + 1951540594, + 270149440, + 3537443389, + 1700303197, + 1525434562, + 2016801738, + 1016066298, + 788950372, + 3301785988, + 867188989, + 591182823, + 4147481811, + 1636209026, + 2870738430, + 1379570794, + 1718211382, + 2080443521, + 3117953048, + 787459788, + 454627963, + 2241519140, + 1690518095, + 1687083652, + 721125394, + 177924742, + 596379914, + 3547974935, + 3551038003, + 193705890, + 3903775616, + 2791266867, + 2946582821, + 3677605527, + 4114537380, + 517706278, + 2851515163, + 3606961097, + 3140861854, + 2004897727, + 2934409226, + 2266809059, + 1728851203, + 2963852138, + 3726868473, + 2346475963, + 3284094362, + 2603029369, + 1910866684, + 2201562938, + 922269724, + 3490564244, + 1223267927, + 781137550, + 1409009688, + 1481644234, + 638868594, + 1299363926, + 184622589, + 2140815496, + 972229474, + 3463817524, + 337587642, + 1588378988, + 2458859134, + 734138931, + 829580747, + 1807474453, + 1339021298, + 2949169677, + 2696891107, + 3696602637, + 1454748205, + 829820794, + 3565850664, + 1581233802, + 3083125053, + 1038667479, + 3614790977, + 2537209949, + 429330636, + 3337980768, + 3093601877, + 4279291192, + 1931300040, + 3549963879, + 3073864202, + 3313723184, + 1045894249, + 3527208306, + 3955141051, + 1168948341, + 2252748369, + 1419859715, + 1697615792, + 1861852595, + 2965412158, + 2785614205, + 2019081072, + 3865163742, + 1715960246, + 538250537, + 3777321518, + 2012459552, + 2954119463, + 2929968567, + 3887420735, + 3803424578, + 3695819037, + 3864966887, + 2146529087, + 88966190, + 3171364893, + 3564359203, + 2710751269, + 3483003647, + 2389828945, + 3033472226, + 4212945272, + 3200039382, + 2723039734, + 1234116526, + 1847511553, + 1554459841, + 490403964, + 2702426000, + 1360638205, + 3767662172, + 978930326, + 1673983766, + 2622724213, + 1465277083, + 3276263245, + 104027788, + 1275307451, + 3713601502, + 1892012973, + 2561897677, + 666977941, + 263458652, + 1205359359, + 3825584411, + 1772594920, + 983171048, + 1967517634, + 2312744179, + 1934059481, + 237802726, + 3413186583, + 3980764628, + 4157606392, + 3321271436, + 2228423185, + 2951588085, + 3216481710, + 4263810110, + 3695527305, + 3201086853, + 3465621870, + 3115371405, + 596190044, + 2778927076, + 1192881464, + 4070672740, + 1695932240, + 2461613540, + 3114294196, + 1035068883, + 1219869157, + 1567081195, + 3182031599, + 996055887, + 2184037079, + 1613272888, + 4138419380, + 3574859260, + 2772736509, + 3058734564, + 879110600, + 1620863518, + 451271243, + 1423498063, + 2260885075, + 2287937569, + 2182652696, + 1959408408, + 3417994095, + 2762728774, + 3723682981, + 3620972276, + 4004350412, + 3852922782, + 4042483673, + 817590891, + 4008434068, + 4150679257, + 1818473264, + 2274062019, + 1287134600, + 2606536974, + 2900163619, + 764327663, + 3380352169, + 663960579, + 1574962505, + 908720822, + 732411552, + 3092799743, + 89050189, + 2612418392, + 1167021764, + 2703900870, + 196466159, + 4100558276, + 422322268, + 553572367, + 3812332444, + 2709890491, + 1048889523, + 2536724669, + 1892819626, + 1492915400, + 4123276207, + 656277302, + 1950735023, + 2209777636, + 3597582857, + 207740555, + 1242405021, + 2794288469, + 2384281621, + 789332086, + 2113081185, + 4033156755, + 3430572545, + 2514642706, + 3849776156, + 3999536605, + 2183668944, + 1797714141, + 1574723027, + 291326525, + 1162829392, + 2833518205, + 312881997, + 3489561035, + 311193915, + 226320225, + 1285113431, + 1105912206, + 188068540, + 3599336557, + 2095448587, + 2645627174, + 3743399104, + 2671665081, + 4239787616, + 132154633, + 3481420916, + 3573468186, + 4187070105, + 2530155413, + 2924766233, + 3143247818, + 3915372411, + 1180529697, + 3971354169, + 602939694, + 1999356624, + 874227885, + 3051951772, + 1059212570, + 2567771044, + 3659557415, + 2849657961, + 2790113052, + 3534643250, + 3382123561, + 4227034791, + 3266187579, ]; static final String privateKeyFCM = String.fromCharCodes(List.generate( @@ -8877,77 +8929,77 @@ final class _Env { ).map((int i) => _envieddataprivateKeyFCM[i] ^ _enviedkeyprivateKeyFCM[i])); static const List _enviedkeyseferAlexandriaServer = [ - 3063756822, - 3896336517, - 2911215884, - 2134260313, - 434658766, - 1093446534, - 2081726608, - 2559054697, - 2237048087, - 2697001661, - 3489577893, - 145292502, - 563733405, - 2039663348, - 628830332, - 574590607, - 3273687277, - 1059262615, - 2788336911, - 1097335962, - 2532667311, - 618167669, - 1403091995, - 3056158670, - 1912750877, - 1822749766, - 2685184393, - 1620404846, - 1509641392, - 1097921977, - 1994985377, - 4153149694, - 1143540718, - 139777617, + 561626930, + 633083736, + 2361828362, + 1447543854, + 3920215751, + 3977052305, + 56439383, + 2924005955, + 2887064304, + 1234943430, + 194442153, + 3626141888, + 1509369656, + 1650057872, + 3519117786, + 3274533490, + 491826437, + 533770710, + 4141862644, + 4187012171, + 2430062877, + 2907455038, + 1742678927, + 2296049884, + 1760389566, + 1221398232, + 935680774, + 1351136606, + 718685809, + 2123102396, + 4254062591, + 2907141589, + 4271154045, + 1848462991, ]; static const List _envieddataseferAlexandriaServer = [ - 3063756926, - 3896336625, - 2911215992, - 2134260265, - 434658749, - 1093446588, - 2081726655, - 2559054662, - 2237048164, - 2697001688, - 3489577923, - 145292467, - 563733487, - 2039663253, - 628830224, - 574590698, - 3273687189, - 1059262710, - 2788336993, - 1097336062, - 2532667357, - 618167580, - 1403092090, - 3056158688, - 1912750958, - 1822749743, - 2685184509, - 1620404747, - 1509641375, - 1097921994, - 1994985412, - 4153149592, - 1143540619, - 139777571, + 561626970, + 633083692, + 2361828478, + 1447543902, + 3920215732, + 3977052331, + 56439416, + 2924005996, + 2887064195, + 1234943395, + 194442191, + 3626141861, + 1509369674, + 1650057969, + 3519117750, + 3274533399, + 491826557, + 533770679, + 4141862554, + 4187012143, + 2430062959, + 2907455063, + 1742679022, + 2296049906, + 1760389581, + 1221398193, + 935680882, + 1351136571, + 718685790, + 2123102415, + 4254062490, + 2907141555, + 4271153944, + 1848463101, ]; static final String seferAlexandriaServer = String.fromCharCodes( @@ -8960,61 +9012,61 @@ final class _Env { _enviedkeyseferAlexandriaServer[i])); static const List _enviedkeyseferPaymentServer = [ - 564223928, - 160308703, - 3325337476, - 834166376, - 1753458287, - 2786616182, - 162547249, - 356455387, - 709918733, - 1742622124, - 998552214, - 4106874090, - 419679674, - 720093772, - 4263836322, - 3961253912, - 466929769, - 3893069171, - 1041143576, - 2536481435, - 1296174812, - 1949099802, - 386800508, - 2920394326, - 994726468, - 2350104968, + 3057656239, + 657535477, + 109621120, + 438746630, + 2825183251, + 1295398530, + 1159685965, + 2235676796, + 2867770059, + 4192319583, + 1581885764, + 1046887200, + 2012669934, + 1054936259, + 1432678649, + 2561003603, + 3003461548, + 3565878351, + 1242339361, + 2750710250, + 3431261302, + 110269137, + 3725624909, + 386615130, + 2112858611, + 2458073767, ]; static const List _envieddataseferPaymentServer = [ - 564223952, - 160308651, - 3325337584, - 834166296, - 1753458204, - 2786616140, - 162547230, - 356455412, - 709918846, - 1742622153, - 998552304, - 4106873999, - 419679688, - 720093756, - 4263836373, - 3961253942, - 466929690, - 3893069083, - 1041143671, - 2536481515, - 1296174835, - 1949099881, - 386800409, - 2920394288, - 994726433, - 2350105082, + 3057656263, + 657535361, + 109621236, + 438746742, + 2825183328, + 1295398584, + 1159685986, + 2235676755, + 2867770040, + 4192319546, + 1581885730, + 1046887237, + 2012669852, + 1054936243, + 1432678542, + 2561003645, + 3003461599, + 3565878311, + 1242339406, + 2750710170, + 3431261273, + 110269090, + 3725624872, + 386615100, + 2112858518, + 2458073813, ]; static final String seferPaymentServer = String.fromCharCodes( @@ -9026,95 +9078,95 @@ final class _Env { _envieddataseferPaymentServer[i] ^ _enviedkeyseferPaymentServer[i])); static const List _enviedkeyseferCairoServer = [ - 3156041929, - 3080678223, - 2606495830, - 1873806485, - 466945714, - 718570449, - 2699180149, - 1623201453, - 699279805, - 1327201379, - 2641434818, - 3727093332, - 3265561095, - 1277564770, - 1323235454, - 2311793948, - 1073819838, - 182153958, - 3050481726, - 3920652352, - 3561169887, - 3556710519, - 3167069004, - 3618894719, - 4107465264, - 2000663324, - 2650673779, - 2763459694, - 182581950, - 10867324, - 424091995, - 2446309043, - 2412102135, - 269243090, - 907343752, - 2137103349, - 2228052655, - 2074368166, - 69527222, - 1795161496, - 166986196, - 3038790020, - 42227738, + 554285807, + 2520419867, + 109597109, + 2517074580, + 1748622146, + 1589310422, + 1962910500, + 1388616353, + 1591217629, + 901955760, + 3647228425, + 3325878060, + 3617317456, + 4039807145, + 3547658771, + 4241136334, + 382653640, + 2515548320, + 2900913398, + 762008712, + 483463271, + 2574305905, + 1510034298, + 2817818771, + 3080340389, + 634186800, + 1446616883, + 422397129, + 3810006153, + 3945475093, + 1466889275, + 786246728, + 1668712427, + 127266347, + 3101393660, + 4048505087, + 365218980, + 1149306274, + 1502064665, + 4151910079, + 2284298730, + 127151816, + 876052815, ]; static const List _envieddataseferCairoServer = [ - 3156041889, - 3080678203, - 2606495778, - 1873806565, - 466945729, - 718570475, - 2699180122, - 1623201410, - 699279822, - 1327201286, - 2641434800, - 3727093282, - 3265561186, - 1277564688, - 1323235408, - 2311794031, - 1073819867, - 182153856, - 3050481755, - 3920652338, - 3561169905, - 3556710427, - 3167068965, - 3618894601, - 4107465301, - 2000663347, - 2650673664, - 2763459595, - 182581976, - 10867225, - 424091945, - 2446309021, - 2412102036, - 269243070, - 907343841, - 2137103254, - 2228052676, - 2074368137, - 69527237, - 1795161597, - 166986162, - 3038790113, - 42227816, + 554285703, + 2520419951, + 109597121, + 2517074660, + 1748622129, + 1589310444, + 1962910475, + 1388616334, + 1591217582, + 901955797, + 3647228539, + 3325878106, + 3617317429, + 4039807195, + 3547658813, + 4241136317, + 382653613, + 2515548358, + 2900913299, + 762008826, + 483463241, + 2574305821, + 1510034195, + 2817818853, + 3080340416, + 634186783, + 1446616896, + 422397100, + 3810006255, + 3945475184, + 1466889289, + 786246758, + 1668712328, + 127266375, + 3101393557, + 4048504988, + 365219023, + 1149306253, + 1502064746, + 4151910106, + 2284298636, + 127151789, + 876052797, ]; static final String seferCairoServer = String.fromCharCodes( @@ -9126,69 +9178,69 @@ final class _Env { _envieddataseferCairoServer[i] ^ _enviedkeyseferCairoServer[i])); static const List _enviedkeyseferGizaServer = [ - 4022391531, - 976302270, - 1014023495, - 4060342789, - 4288674136, - 3799034810, - 3876366720, - 2794557165, - 827217273, - 2642205059, - 3283913364, - 3528321596, - 2650102921, - 2293113344, - 3159498214, - 2092710142, - 4034252593, - 3340791709, - 2134148186, - 2737863208, - 4154633997, - 3618319697, - 3023000434, - 1891701343, - 4275997827, - 1289074791, - 3941649341, - 1647884776, - 510694925, - 3934843960, + 3118946899, + 1712833733, + 4188235609, + 599113098, + 3109348574, + 792973267, + 1258395345, + 587037447, + 4003887963, + 2803488395, + 2456328506, + 717990898, + 396142477, + 1454720050, + 4048815160, + 3557424875, + 2374665328, + 1079536468, + 3505169905, + 3184301160, + 1741109435, + 2836056620, + 3309697657, + 3934656961, + 3247607243, + 1499599720, + 3066487767, + 2683167529, + 1777938433, + 3705455265, ]; static const List _envieddataseferGizaServer = [ - 4022391427, - 976302282, - 1014023475, - 4060342901, - 4288674091, - 3799034752, - 3876366767, - 2794557122, - 827217182, - 2642205162, - 3283913454, - 3528321629, - 2650103034, - 2293113445, - 3159498112, - 2092710043, - 4034252611, - 3340791731, - 2134148149, - 2737863238, - 4154634081, - 3618319672, - 3023000348, - 1891701306, - 4275997868, - 1289074708, - 3941649368, - 1647884686, - 510695016, - 3934843978, + 3118946875, + 1712833713, + 4188235565, + 599113210, + 3109348525, + 792973289, + 1258395390, + 587037480, + 4003887932, + 2803488482, + 2456328512, + 717990803, + 396142590, + 1454720087, + 4048815198, + 3557424782, + 2374665218, + 1079536506, + 3505169822, + 3184301062, + 1741109463, + 2836056645, + 3309697559, + 3934656932, + 3247607268, + 1499599643, + 3066487730, + 2683167567, + 1777938532, + 3705455315, ]; static final String seferGizaServer = String.fromCharCodes(List.generate( @@ -9199,125 +9251,125 @@ final class _Env { (int i) => _envieddataseferGizaServer[i] ^ _enviedkeyseferGizaServer[i])); static const List _enviedkeychatGPTkeySeferNew = [ - 4052142458, - 698815997, - 3815329553, - 1859199137, - 961431167, - 4231762304, - 3028249065, - 3620913086, - 555460567, - 1031054777, - 1525429959, - 2947452078, - 2272185066, - 4273309619, - 2927450712, - 4231945991, - 744124356, - 3286456630, - 4194087111, - 3259957739, - 3407923661, - 559520641, - 3277837135, - 2572711982, - 3793160190, - 1387472378, - 776636367, - 527788600, - 2687422404, - 66670959, - 153892897, - 3853310241, - 1517265272, - 3787270751, - 1223943819, - 1810287324, - 698696983, - 737972769, - 2108071094, - 1062744633, - 1484558766, - 3788965197, - 1645416365, - 3761820541, - 2724239553, - 1910356909, - 1061369507, - 445541858, - 1093837202, - 261357016, - 2034367476, - 3641654568, - 654228989, - 2290445346, - 2247484239, - 1326517103, - 1995393536, - 3302298462, + 524609778, + 1506255114, + 3951712514, + 1694351305, + 1839008247, + 3483857671, + 245629162, + 1769242533, + 3720116699, + 1862455741, + 3294813994, + 1911310292, + 3068955121, + 1450475183, + 358062003, + 1252996373, + 2313134052, + 3185760878, + 4235680692, + 2538405834, + 1389689947, + 2770096344, + 541499838, + 1492773931, + 1622963918, + 337157103, + 2266628558, + 2643161654, + 2578526648, + 776056941, + 913803905, + 395949184, + 1740835306, + 2320829415, + 1921378933, + 938497366, + 2545855153, + 1966896741, + 2309836703, + 4250329085, + 2394004957, + 1406782031, + 982524590, + 1405107857, + 2597439697, + 1423242745, + 861048046, + 2350869074, + 313537846, + 3642066576, + 3487739670, + 1404558371, + 3688027685, + 3676472816, + 70939572, + 2915157867, + 3191591920, + 803835132, ]; static const List _envieddatachatGPTkeySeferNew = [ - 4052142336, - 698815898, - 3815329596, - 1859199227, - 961431115, - 4231762415, - 3028249000, - 3620913140, - 555460532, - 1031054840, - 1525429909, - 2947452129, - 2272184973, - 4273309693, - 2927450624, - 4231946093, - 744124323, - 3286456644, - 4194087042, - 3259957666, - 3407923608, - 559520697, - 3277837097, - 2572712037, - 3793160125, - 1387472323, - 776636311, - 527788618, - 2687422396, - 66670856, - 153892980, - 3853310308, - 1517265228, - 3787270670, - 1223943935, - 1810287278, - 698697061, - 737972813, - 2108071111, - 1062744584, - 1484558807, - 3788965156, - 1645416408, - 3761820421, - 2724239601, - 1910356935, - 1061369583, - 445541841, - 1093837302, - 261356945, - 2034367392, - 3641654651, - 654228901, - 2290445392, - 2247484183, - 1326516995, - 1995393602, - 3302298418, + 524609672, + 1506255213, + 3951712559, + 1694351251, + 1839008195, + 3483857768, + 245629099, + 1769242607, + 3720116664, + 1862455804, + 3294814072, + 1911310235, + 3068955030, + 1450475233, + 358062059, + 1252996479, + 2313133955, + 3185760796, + 4235680753, + 2538405763, + 1389689870, + 2770096352, + 541499864, + 1492773984, + 1622963853, + 337157078, + 2266628502, + 2643161668, + 2578526656, + 776056842, + 913803988, + 395949253, + 1740835294, + 2320829366, + 1921378817, + 938497316, + 2545855171, + 1966896649, + 2309836782, + 4250329036, + 2394004900, + 1406781990, + 982524635, + 1405107945, + 2597439713, + 1423242643, + 861047970, + 2350869089, + 313537874, + 3642066649, + 3487739714, + 1404558448, + 3688027773, + 3676472706, + 70939628, + 2915157767, + 3191591858, + 803835024, ]; static final String chatGPTkeySeferNew = String.fromCharCodes( @@ -9329,103 +9381,103 @@ final class _Env { _envieddatachatGPTkeySeferNew[i] ^ _enviedkeychatGPTkeySeferNew[i])); static const List _enviedkeycohere = [ - 3101421346, - 4019538586, - 3969175105, - 3237435809, - 187979417, - 2954650452, - 3553804271, - 4221875856, - 3142179790, - 3744278117, - 3964078156, - 2522405718, - 4160536589, - 1515569587, - 772552485, - 198566683, - 441124222, - 4049582889, - 3796019370, - 2987769694, - 1249767621, - 2552877703, - 3207788877, - 1628543103, - 3813269270, - 753073254, - 1179729080, - 3053324506, - 1123259571, - 3625303428, - 497480577, - 1224411315, - 4175319756, - 580608521, - 2541150000, - 4217493603, - 4155223994, - 1196576835, - 4022810353, - 985638252, - 423713250, - 1426209992, - 1653071507, - 4170753328, - 3165293513, - 3152379819, - 1782386136, + 3711539293, + 4179110757, + 3130863424, + 2960119040, + 2122625981, + 3820047552, + 652029293, + 4205876489, + 1018002557, + 3268656047, + 4054153249, + 3736768279, + 1660469661, + 518561934, + 3645184133, + 2404489058, + 175727548, + 738686967, + 525251142, + 2845503261, + 416254488, + 1941563430, + 2660301817, + 3655308782, + 3258399601, + 1297901408, + 3704861065, + 2420328274, + 4212767748, + 2471409060, + 510684855, + 3897265290, + 1890967453, + 3949010443, + 1810318671, + 1053079416, + 3414768212, + 3441931396, + 2546433339, + 1616935716, + 911576240, + 1876146680, + 4206294986, + 82871504, + 636793252, + 1709251168, + 3653675524, ]; static const List _envieddatacohere = [ - 3101421411, - 4019538671, - 3969175085, - 3237435862, - 187979517, - 2954650476, - 3553804182, - 4221875877, - 3142179741, - 3744278069, - 3964078107, - 2522405689, - 4160536702, - 1515569539, - 772552525, - 198566737, - 441124118, - 4049582917, - 3796019437, - 2987769710, - 1249767601, - 2552877800, - 3207788824, - 1628543001, - 3813269294, - 753073153, - 1179729143, - 3053324466, - 1123259622, - 3625303505, - 497480691, - 1224411331, - 4175319722, - 580608572, - 2541150049, - 4217493585, - 4155224046, - 1196576787, - 4022810268, - 985638202, - 423713189, - 1426209936, - 1653071585, - 4170753384, - 3165293477, - 3152379881, - 1782386100, + 3711539228, + 4179110672, + 3130863404, + 2960119159, + 2122626009, + 3820047608, + 652029204, + 4205876540, + 1018002478, + 3268656127, + 4054153334, + 3736768376, + 1660469742, + 518561982, + 3645184237, + 2404489000, + 175727572, + 738686875, + 525251073, + 2845503277, + 416254572, + 1941563465, + 2660301740, + 3655308680, + 3258399561, + 1297901319, + 3704861126, + 2420328250, + 4212767825, + 2471409137, + 510684869, + 3897265402, + 1890967547, + 3949010494, + 1810318622, + 1053079370, + 3414768128, + 3441931476, + 2546433366, + 1616935794, + 911576311, + 1876146592, + 4206294968, + 82871432, + 636793288, + 1709251106, + 3653675624, ]; static final String cohere = String.fromCharCodes(List.generate( @@ -9435,239 +9487,239 @@ final class _Env { ).map((int i) => _envieddatacohere[i] ^ _enviedkeycohere[i])); static const List _enviedkeyclaudeAiAPI = [ - 1365430220, - 2681465673, - 4028837026, - 3758113478, - 290823810, - 183477184, - 444021919, - 1822079137, - 4150661315, - 2195886689, - 185480209, - 936677286, - 3369962411, - 3598778802, - 3472480356, - 682966005, - 3336814246, - 1699042367, - 2939164752, - 423247470, - 496514258, - 2327986318, - 1757381746, - 3336091262, - 2911938885, - 3595290428, - 3927782948, - 2641238061, - 2721058630, - 1715148687, - 3534080221, - 1496592786, - 2955477029, - 2898231025, - 3658658187, - 1124384565, - 1087184251, - 1852786750, - 1450452362, - 1178505655, - 2196269830, - 3778486184, - 3070763935, - 3826276128, - 731215470, - 1381439689, - 2958331215, - 832969730, - 533363527, - 3943420222, - 483047435, - 3168946521, - 3287933275, - 359572051, - 2053677536, - 802171785, - 3588839318, - 1078002556, - 3040411173, - 1846488806, - 3214476775, - 4001904909, - 3999864419, - 4152746918, - 2398259734, - 2766643718, - 3555299031, - 1522852425, - 154252196, - 1187116101, - 790409071, - 2618193384, - 4159825071, - 2834987668, - 3536790323, - 3015956829, - 2582315414, - 3423439522, - 4162219441, - 3420229136, - 3940519979, - 1524548884, - 111193079, - 4142377126, - 3846525411, - 542384725, - 1841822753, - 1539238604, - 3540060325, - 2044279449, - 288616484, - 4076976252, - 3167957735, - 2220314683, - 3683542066, - 730668826, - 942445174, - 1663119853, - 2698767065, - 3463927144, - 501058230, - 3330374124, - 1458161882, - 1575547119, - 4017948154, - 473601327, - 126725958, - 1672785905, - 56113764, - 4122787502, - 3795449654, - 249826947, - 4228189218, - 1793606966, - 3288106223, + 4214176629, + 1124638299, + 2619089107, + 1163611692, + 992094328, + 1653463158, + 404137156, + 2307152983, + 4144951281, + 299318335, + 934124021, + 1540305935, + 928421081, + 138086963, + 3167661776, + 1372811540, + 2261648682, + 2885259996, + 1799144723, + 3418493097, + 2389110802, + 2920233976, + 461024631, + 1752528300, + 3565458959, + 4095183340, + 2011007996, + 2726474493, + 305117885, + 762213518, + 2758430717, + 253479114, + 2603590907, + 1779760738, + 2906738701, + 4158441589, + 1229764385, + 798641777, + 1539096011, + 2989341773, + 3454218987, + 1822602079, + 932125700, + 947203612, + 3655438005, + 2447484736, + 2956534335, + 1076145364, + 2247366951, + 423924790, + 1480298822, + 1410357868, + 2744154990, + 1247629533, + 1775582016, + 454725042, + 1801490831, + 3579628558, + 1631065418, + 2465428321, + 3842850690, + 3133403313, + 3724182006, + 4080090221, + 1410035498, + 2171194230, + 106772809, + 2347956017, + 2657386897, + 3121396559, + 4279527128, + 2270046571, + 1730331616, + 4261065335, + 3186987742, + 3773357116, + 3849071379, + 3891297185, + 831998274, + 2341938365, + 3284125826, + 3277664265, + 4041004498, + 2327667910, + 2958647319, + 1020377745, + 1862857570, + 2737445225, + 2191919935, + 3580771524, + 2375606747, + 3097462976, + 3930099097, + 864947971, + 1073786313, + 3471588950, + 1391122894, + 1703809459, + 250205428, + 1750130551, + 4293188922, + 2386528221, + 3933658081, + 3186790479, + 2897706107, + 3287658006, + 1255252420, + 3569289577, + 672671881, + 3536109751, + 995759990, + 3515423137, + 1044370531, + 3466374959, + 4006211974, ]; static const List _envieddataclaudeAiAPI = [ - 1365430198, - 2681465646, - 4028837007, - 3758113463, - 290823904, - 183477155, - 444021938, - 1822079184, - 4150661301, - 2195886606, - 185480226, - 936677279, - 3369962439, - 3598778783, - 3472480284, - 682965922, - 3336814313, - 1699042375, - 2939164697, - 423247401, - 496514213, - 2327986393, - 1757381670, - 3336091185, - 2911938879, - 3595290495, - 3927783010, - 2641238127, - 2721058600, - 1715148742, - 3534080132, - 1496592833, - 2955477102, - 2898230970, - 3658658275, - 1124384595, - 1087184130, - 1852786756, - 1450452437, - 1178505724, - 2196269904, - 3778486249, - 3070764009, - 3826276178, - 731215398, - 1381439716, - 2958331257, - 832969821, - 533363571, - 3943420260, - 483047502, - 3168946451, - 3287933207, - 359572069, - 2053677528, - 802171854, - 3588839369, - 1078002477, - 3040411239, - 1846488750, - 3214476757, - 4001904955, - 3999864332, - 4152746947, - 2398259778, - 2766643785, - 3555298970, - 1522852356, - 154252235, - 1187116052, - 790408986, - 2618193295, - 4159825046, - 2834987743, - 3536790342, - 3015956754, - 2582315516, - 3423439560, - 4162219514, - 3420229187, - 3940520059, - 1524548939, - 111193014, - 4142377106, - 3846525360, - 542384742, - 1841822834, - 1539238553, - 3540060385, - 2044279541, - 288616518, - 4076976132, - 3167957685, - 2220314626, - 3683542102, - 730668911, - 942445088, - 1663119767, - 2698767030, - 3463927097, - 501058203, - 3330374049, - 1458161841, - 1575547063, - 4017948069, - 473601402, - 126725911, - 1672785824, - 56113717, - 4122787574, - 3795449668, - 249827035, - 4228189262, - 1793607028, - 3288106115, + 4214176527, + 1124638268, + 2619089150, + 1163611741, + 992094234, + 1653463061, + 404137193, + 2307152934, + 4144951175, + 299318352, + 934123974, + 1540305974, + 928421045, + 138086942, + 3167661736, + 1372811587, + 2261648741, + 2885259940, + 1799144794, + 3418493166, + 2389110885, + 2920233903, + 461024547, + 1752528355, + 3565459061, + 4095183279, + 2011007930, + 2726474431, + 305117907, + 762213575, + 2758430628, + 253479065, + 2603590832, + 1779760681, + 2906738789, + 4158441491, + 1229764440, + 798641675, + 1539095956, + 2989341702, + 3454218941, + 1822602014, + 932125810, + 947203694, + 3655438077, + 2447484781, + 2956534281, + 1076145291, + 2247366931, + 423924844, + 1480298755, + 1410357798, + 2744154914, + 1247629547, + 1775582072, + 454725109, + 1801490896, + 3579628639, + 1631065352, + 2465428265, + 3842850736, + 3133403271, + 3724181913, + 4080090120, + 1410035582, + 2171194169, + 106772740, + 2347956092, + 2657387006, + 3121396510, + 4279527085, + 2270046476, + 1730331609, + 4261065276, + 3186987691, + 3773357171, + 3849071481, + 3891297227, + 831998217, + 2341938414, + 3284125906, + 3277664342, + 4041004435, + 2327667954, + 2958647364, + 1020377762, + 1862857521, + 2737445180, + 2191919995, + 3580771496, + 2375606713, + 3097462968, + 3930099147, + 864948026, + 1073786285, + 3471588899, + 1391122840, + 1703809481, + 250205339, + 1750130470, + 4293188887, + 2386528144, + 3933657994, + 3186790423, + 2897706020, + 3287658051, + 1255252373, + 3569289528, + 672671960, + 3536109807, + 995759876, + 3515423225, + 1044370447, + 3466375021, + 4006212074, ]; static final String claudeAiAPI = String.fromCharCodes(List.generate( @@ -9677,183 +9729,183 @@ final class _Env { ).map((int i) => _envieddataclaudeAiAPI[i] ^ _enviedkeyclaudeAiAPI[i])); static const List _enviedkeypayPalClientId = [ - 2546917064, - 1760763782, - 4111301791, - 2892075134, - 1163415276, - 2862560809, - 4044785162, - 3789382145, - 279556100, - 4155033829, - 3955903580, - 3615758984, - 428826615, - 1397957481, - 1071268570, - 3024233887, - 3744027552, - 1389800312, - 3728560567, - 788239952, - 4215506689, - 1328839861, - 2179049251, - 3679515433, - 2427163294, - 3637994721, - 3391211511, - 2714277971, - 44033580, - 989586, - 4006795176, - 2585721825, - 1876253894, - 4054925045, - 2480110801, - 1760517155, - 2765999371, - 769880772, - 650732653, - 2329248576, - 1641576865, - 3540864808, - 12969909, - 120485981, - 72159456, - 1842985788, - 3165866973, - 2079901157, - 166383638, - 3425793687, - 3725769043, - 2305948937, - 4104799316, - 1970771841, - 668642279, - 66863882, - 2804343349, - 4171072660, - 1974236460, - 690829850, - 2207997848, - 2621712506, - 340785181, - 3264023107, - 1699673385, - 3265296452, - 2492819575, - 1014218809, - 1259676440, - 658552657, - 2814714069, - 2148566667, - 1212606791, - 1118590357, - 1821286087, - 3347231064, - 1844935247, - 136027790, - 3851215453, - 1474103484, - 1895790283, - 3752840161, - 3130162263, - 1967562763, - 1430064739, - 3332742195, - 2641178240, + 3964014192, + 328188734, + 3257917027, + 2981524744, + 762854651, + 1278558590, + 1661686812, + 895551114, + 3658160604, + 667899397, + 2615598432, + 462222434, + 727405441, + 1476120821, + 2647811886, + 423093032, + 2993338011, + 3614899073, + 2340119251, + 3382347015, + 427437223, + 3792647783, + 3921607588, + 3512761770, + 756769182, + 1603520082, + 3515462204, + 232329925, + 2410859774, + 2460361885, + 820845086, + 4183500369, + 1931262151, + 1689992696, + 120545701, + 3879827173, + 1602543592, + 2969825002, + 61485072, + 3202981946, + 1897507982, + 2652734676, + 540379785, + 149357530, + 4027904299, + 2118640306, + 4265962279, + 1539190296, + 3268313462, + 1830550448, + 1442658137, + 1019852816, + 1010645669, + 1870250713, + 2044570364, + 303096386, + 128904340, + 3176115966, + 1276339843, + 3734426547, + 309957214, + 2899021254, + 4937236, + 2273386592, + 4103933378, + 4095644960, + 1299370727, + 3423053014, + 2037087516, + 981965453, + 3817839937, + 3513283066, + 3550082144, + 1079634613, + 167744721, + 1383127324, + 398219827, + 3256593277, + 3441359548, + 553036197, + 1871961202, + 3081272338, + 2000847044, + 3135285297, + 536392156, + 1633610110, + 1169847617, ]; static const List _envieddatapayPalClientId = [ - 2546917017, - 1760763847, - 4111301843, - 2892075015, - 1163415169, - 2862560837, - 4044785260, - 3789382223, - 279556173, - 4155033808, - 3955903496, - 3615759090, - 428826499, - 1397957469, - 1071268521, - 3024233906, - 3744027609, - 1389800203, - 3728560600, - 788239914, - 4215506743, - 1328839875, - 2179049319, - 3679515421, - 2427163329, - 3637994639, - 3391211398, - 2714277899, - 44033564, - 989633, - 4006795261, - 2585721749, - 1876253869, - 4054924982, - 2480110734, - 1760517202, - 2765999442, - 769880722, - 650732608, - 2329248533, - 1641576902, - 3540864835, - 12969856, - 120485946, - 72159361, - 1842985841, - 3165866882, - 2079901149, - 166383692, - 3425793722, - 3725769016, - 2305949038, - 4104799328, - 1970771917, - 668642258, - 66863929, - 2804343390, - 4171072684, - 1974236537, - 690829935, - 2207997920, - 2621712421, - 340785193, - 3264023081, - 1699673452, - 3265296403, - 2492819503, - 1014218877, - 1259676531, - 658552607, - 2814714021, - 2148566739, - 1212606720, - 1118590406, - 1821286032, - 3347230984, - 1844935231, - 136027847, - 3851215399, - 1474103544, - 1895790221, - 3752840121, - 3130162213, - 1967562835, - 1430064655, - 3332742257, - 2641178348, + 3964014113, + 328188799, + 3257916975, + 2981524849, + 762854550, + 1278558482, + 1661686906, + 895551172, + 3658160533, + 667899440, + 2615598388, + 462222360, + 727405557, + 1476120769, + 2647811933, + 423092997, + 2993338082, + 3614899186, + 2340119228, + 3382347133, + 427437201, + 3792647697, + 3921607648, + 3512761758, + 756769217, + 1603520060, + 3515462221, + 232329885, + 2410859726, + 2460361934, + 820845131, + 4183500325, + 1931262124, + 1689992635, + 120545786, + 3879827092, + 1602543537, + 2969824956, + 61485117, + 3202981999, + 1897508073, + 2652734655, + 540379836, + 149357501, + 4027904330, + 2118640383, + 4265962360, + 1539190304, + 3268313388, + 1830550429, + 1442658098, + 1019852919, + 1010645649, + 1870250645, + 2044570313, + 303096433, + 128904447, + 3176115910, + 1276339926, + 3734426566, + 309957158, + 2899021209, + 4937248, + 2273386506, + 4103933319, + 4095645047, + 1299370687, + 3423052946, + 2037087607, + 981965507, + 3817839921, + 3513282978, + 3550082087, + 1079634662, + 167744646, + 1383127372, + 398219843, + 3256593204, + 3441359558, + 553036257, + 1871961140, + 3081272394, + 2000847030, + 3135285353, + 536392112, + 1633610044, + 1169847597, ]; static final String payPalClientId = String.fromCharCodes(List.generate( @@ -9863,181 +9915,181 @@ final class _Env { ).map((int i) => _envieddatapayPalClientId[i] ^ _enviedkeypayPalClientId[i])); static const List _enviedkeypayPalSecret = [ - 1730972566, - 2955708310, - 47488734, - 3545122270, - 1470106500, - 3517513583, - 1907528599, - 861921110, - 3891890491, - 1675385112, - 2273951479, - 1208185546, - 4067592387, - 200343741, - 2864078116, - 2380947345, - 2496063471, - 2885951755, - 215698755, - 2910829581, - 1763588952, - 289196527, - 3163160798, - 167324419, - 1831608878, - 4080822073, - 3110502740, - 2787835523, - 4268321436, - 129854360, - 841172924, - 4001402980, - 1208232006, - 4170731031, - 2545024225, - 3720747497, - 4283149431, - 3316600531, - 27061615, - 1558787990, - 1538980624, - 4119879939, - 2171887624, - 4032083113, - 1801155794, - 879813522, - 2690668031, - 3868427221, - 2522940346, - 2940018724, - 1428861573, - 257237294, - 3410844115, - 1891897182, - 3646830102, - 3204796517, - 360978542, - 1698668963, - 4283157255, - 1748445203, - 2458376790, - 1750079590, - 4023635523, - 2985156257, - 3168989218, - 3017469456, - 2683050353, - 3908797299, - 2604061526, - 383023134, - 1070411801, - 1934053256, - 2503793269, - 1479447220, - 3391503275, - 1501646076, - 2113868739, - 3060864853, - 1459148896, - 2063337457, - 1992327939, - 3147719206, - 1209533967, - 2571380935, - 2743426774, - 1074474058, + 715208699, + 1261465271, + 996598473, + 2478052279, + 310595984, + 2720144039, + 1222666862, + 1737960009, + 1327584488, + 2592973739, + 2996394985, + 1421742627, + 1995798153, + 2825846452, + 2156655438, + 2273550156, + 269635613, + 3923388057, + 3343844740, + 1995132694, + 398583486, + 3882255302, + 2943192425, + 3774776326, + 1373436436, + 3710933937, + 4144917625, + 3822097863, + 2166662208, + 2911530014, + 2689032097, + 708369246, + 1107873132, + 2229621984, + 2562011064, + 4230198198, + 3772901992, + 40779790, + 1010882163, + 2689693377, + 1090903845, + 2724700338, + 2599493679, + 3026550268, + 2362691949, + 2830309503, + 1598854625, + 2777978578, + 4229328334, + 3764251393, + 2312746858, + 1843437368, + 1030656526, + 188717711, + 1484094219, + 3725653090, + 2694512916, + 651913169, + 6389417, + 2939466111, + 1605509358, + 481546583, + 3874331467, + 1129734256, + 497233076, + 1949853791, + 3370723743, + 2975592290, + 1413242222, + 556588420, + 1975577321, + 310810944, + 217365406, + 4261566681, + 3063855803, + 3984859365, + 441697722, + 4061772989, + 2250337636, + 2718952207, + 3214026095, + 2160181562, + 993668501, + 3221559055, + 2224265074, + 2719932205, ]; static const List _envieddatapayPalSecret = [ - 1730972636, - 2955708372, - 47488671, - 3545122207, - 1470106610, - 3517513502, - 1907528669, - 861921031, - 3891890556, - 1675385165, - 2273951364, - 1208185473, - 4067592327, - 200343693, - 2864078206, - 2380947451, - 2496063367, - 2885951807, - 215698696, - 2910829671, - 1763588925, - 289196428, - 3163160740, - 167324539, - 1831608904, - 4080822139, - 3110502674, - 2787835643, - 4268321457, - 129854379, - 841172868, - 4001402935, - 1208231970, - 4170731131, - 2545024131, - 3720747424, - 4283149348, - 3316600550, - 27061593, - 1558788032, - 1538980674, - 4119880014, - 2171887664, - 4032083175, - 1801155734, - 879813620, - 2690667930, - 3868427235, - 2522940375, - 2940018766, - 1428861640, - 257237323, - 3410844041, - 1891897108, - 3646830206, - 3204796459, - 360978466, - 1698669033, - 4283157346, - 1748445304, - 2458376803, - 1750079550, - 4023635492, - 2985156336, - 3168989281, - 3017469537, - 2683050298, - 3908797232, - 2604061470, - 383023210, - 1070411851, - 1934053358, - 2503793219, - 1479447289, - 3391503297, - 1501645998, - 2113868730, - 3060864888, - 1459148806, - 2063337417, - 1992328027, - 3147719252, - 1209534039, - 2571380907, - 2743426708, - 1074474022, + 715208625, + 1261465333, + 996598408, + 2478052342, + 310596070, + 2720144086, + 1222666788, + 1737959960, + 1327584431, + 2592973822, + 2996394906, + 1421742696, + 1995798221, + 2825846404, + 2156655380, + 2273550118, + 269635701, + 3923388077, + 3343844815, + 1995132796, + 398583515, + 3882255269, + 2943192339, + 3774776446, + 1373436530, + 3710934003, + 4144917567, + 3822097855, + 2166662253, + 2911530029, + 2689032089, + 708369165, + 1107873032, + 2229621900, + 2562011098, + 4230198271, + 3772901947, + 40779835, + 1010882117, + 2689693335, + 1090903927, + 2724700415, + 2599493655, + 3026550194, + 2362691881, + 2830309401, + 1598854532, + 2777978596, + 4229328291, + 3764251499, + 2312746791, + 1843437405, + 1030656596, + 188717765, + 1484094307, + 3725653036, + 2694512984, + 651913115, + 6389452, + 2939466004, + 1605509339, + 481546511, + 3874331436, + 1129734177, + 497233143, + 1949853742, + 3370723796, + 2975592225, + 1413242150, + 556588528, + 1975577275, + 310810918, + 217365416, + 4261566612, + 3063855825, + 3984859319, + 441697731, + 4061772944, + 2250337538, + 2718952247, + 3214026039, + 2160181576, + 993668557, + 3221559139, + 2224265008, + 2719932225, ]; static final String payPalSecret = String.fromCharCodes(List.generate( @@ -10047,101 +10099,101 @@ final class _Env { ).map((int i) => _envieddatapayPalSecret[i] ^ _enviedkeypayPalSecret[i])); static const List _enviedkeygeminiApi = [ - 2238882549, - 2116395983, - 4198234076, - 1524011171, - 1659345828, - 190812471, - 2115491160, - 3396880259, - 1485609869, - 356314288, - 216767588, - 1470739311, - 467091234, - 2579037198, - 4170629927, - 3105773310, - 2015752944, - 954660434, - 1518576091, - 4021123169, - 1786250370, - 1154606544, - 2813579177, - 1901567896, - 4102033107, - 638107559, - 1557298801, - 3160075969, - 1048449973, - 2490227001, - 2143601113, - 357853816, - 1575008057, - 2443927706, - 4022404105, - 2106609561, - 1844821890, - 1872840004, - 2943070743, - 2358209818, - 753387829, - 1497783290, - 375679479, - 3746541730, - 2308792202, - 4061225135, + 897972057, + 3451866454, + 498583348, + 4232329306, + 746850959, + 2080038489, + 2981238258, + 2239809128, + 3452607695, + 4110806216, + 681493908, + 3964436933, + 525233958, + 3061353075, + 1246732706, + 3959080873, + 1758700133, + 3044791945, + 2430431056, + 3044887698, + 1033900895, + 331508253, + 2471939397, + 3918243840, + 2529846383, + 3844772569, + 1036254075, + 1872953211, + 3670441247, + 3249352087, + 879919608, + 3751924622, + 4136608280, + 1707172270, + 2398871554, + 1688096575, + 3758666320, + 4013790547, + 2652210672, + 3933941563, + 3009434839, + 1160634384, + 2822833044, + 1691539047, + 865047485, + 348233834, ]; static const List _envieddatageminiApi = [ - 2238882468, - 2116395904, - 4198234033, - 1524011218, - 1659345918, - 190812484, - 2115491081, - 3396880346, - 1485609952, - 356314240, - 216767580, - 1470739225, - 467091278, - 2579037249, - 4170629974, - 3105773204, - 2015752889, - 954660453, - 1518576048, - 4021123085, - 1786250452, - 1154606490, - 2813579215, - 1901567982, - 4102033027, - 638107539, - 1557298726, - 3160075907, - 1048450035, - 2490227068, - 2143601078, - 357853725, - 1575008084, - 2443927792, - 4022404206, - 2106609632, - 1844821937, - 1872840061, - 2943070753, - 2358209907, - 753387885, - 1497783176, - 375679407, - 3746541774, - 2308792264, - 4061225155, + 897971976, + 3451866393, + 498583385, + 4232329259, + 746851029, + 2080038442, + 2981238179, + 2239809073, + 3452607650, + 4110806264, + 681493932, + 3964436915, + 525233994, + 3061353020, + 1246732755, + 3959080899, + 1758700076, + 3044791998, + 2430431035, + 3044887806, + 1033900809, + 331508311, + 2471939363, + 3918243958, + 2529846335, + 3844772589, + 1036253996, + 1872953145, + 3670441305, + 3249352146, + 879919511, + 3751924715, + 4136608373, + 1707172292, + 2398871653, + 1688096582, + 3758666339, + 4013790570, + 2652210630, + 3933941586, + 3009434767, + 1160634466, + 2822833100, + 1691538955, + 865047551, + 348233734, ]; static final String geminiApi = String.fromCharCodes(List.generate( @@ -10151,101 +10203,101 @@ final class _Env { ).map((int i) => _envieddatageminiApi[i] ^ _enviedkeygeminiApi[i])); static const List _enviedkeygeminiApiMasa = [ - 3889159610, - 1039379257, - 3906481488, - 3463361326, - 2867759432, - 597575522, - 4151229863, - 3466011539, - 3863635533, - 654326909, - 2294602, - 1683204843, - 1725259430, - 843488412, - 1500395702, - 3776321656, - 2053581683, - 994723583, - 674147080, - 2844151488, - 2054361373, - 2331398463, - 3813529000, - 1231151284, - 8236928, - 2208839535, - 1727552188, - 4213143659, - 3667788863, - 1214228954, - 2295607575, - 2967220186, - 2925833758, - 3230073301, - 4190428106, - 2171552084, - 3669638681, - 2371826805, - 673049850, - 3330145806, - 3187653906, - 3706560504, - 1425917783, - 698799149, - 522548188, - 2574234616, + 1068867104, + 789257086, + 2374344205, + 435412262, + 3147772022, + 1418727241, + 3478566266, + 260647262, + 1581763645, + 4236797141, + 1188141620, + 3886173370, + 146107725, + 2771412392, + 58681471, + 1211448302, + 1196653291, + 2982162803, + 2595440940, + 4038610731, + 4160079213, + 2738477577, + 3385793863, + 1602812657, + 2015749603, + 229017089, + 3804968053, + 962800061, + 3024940641, + 1212539540, + 1360148835, + 1408053521, + 3429000386, + 649946, + 2087677916, + 3383687339, + 3251681117, + 299934732, + 1422286964, + 866458004, + 1010537299, + 137700404, + 850882077, + 2135461630, + 3085155084, + 783334757, ]; static const List _envieddatageminiApiMasa = [ - 3889159659, - 1039379318, - 3906481469, - 3463361375, - 2867759378, - 597575441, - 4151229942, - 3466011610, - 3863635517, - 654326809, - 2294535, - 1683204831, - 1725259492, - 843488462, - 1500395717, - 3776321587, - 2053581598, - 994723486, - 674147148, - 2844151434, - 2054361426, - 2331398511, - 3813528991, - 1231151312, - 8237018, - 2208839455, - 1727552137, - 4213143622, - 3667788892, - 1214228972, - 2295607641, - 2967220109, - 2925833848, - 3230073270, - 4190428066, - 2171552099, - 3669638729, - 2371826740, - 673049750, - 3330145887, - 3187653962, - 3706560394, - 1425917711, - 698799169, - 522548126, - 2574234516, + 1068867185, + 789257009, + 2374344288, + 435412311, + 3147771948, + 1418727226, + 3478566187, + 260647191, + 1581763661, + 4236797105, + 1188141689, + 3886173326, + 146107663, + 2771412474, + 58681356, + 1211448229, + 1196653190, + 2982162706, + 2595441000, + 4038610785, + 4160079138, + 2738477657, + 3385793904, + 1602812565, + 2015749561, + 229017201, + 3804968000, + 962800016, + 3024940546, + 1212539554, + 1360148781, + 1408053574, + 3429000356, + 649913, + 2087677876, + 3383687324, + 3251681037, + 299934797, + 1422286872, + 866458053, + 1010537227, + 137700422, + 850882117, + 2135461522, + 3085155150, + 783334665, ]; static final String geminiApiMasa = String.fromCharCodes(List.generate( @@ -10255,87 +10307,87 @@ final class _Env { ).map((int i) => _envieddatageminiApiMasa[i] ^ _enviedkeygeminiApiMasa[i])); static const List _enviedkeyagoraAppId = [ - 2064589429, - 4087362778, - 2735498307, - 744883950, - 437911695, - 2142425812, - 1708066512, - 3364200930, - 1769474291, - 2040922370, - 1827776923, - 46343524, - 1231786490, - 1714084513, - 3065635714, - 3165081705, - 610577281, - 3721151394, - 199022817, - 4236910004, - 1713851985, - 2601659689, - 395521990, - 3201484930, - 2659126203, - 3749211104, - 82721059, - 986034081, - 2502896930, - 2174072236, - 3711453090, - 163336464, - 3401384939, - 4079269973, - 1755512776, - 2995328546, - 1380096887, - 2043175760, - 4179901126, + 2081958950, + 3344593607, + 1531753513, + 2899020569, + 869569789, + 3295793548, + 3082998270, + 1277945613, + 1162903749, + 3972314168, + 2730389472, + 2677575780, + 3810492656, + 542461687, + 2742222978, + 3348808301, + 2181751558, + 1577905018, + 1917907079, + 364195670, + 425739494, + 823877058, + 456543235, + 3687427185, + 3045999446, + 3072327834, + 294249014, + 3900947542, + 3761384921, + 3382746976, + 2311171750, + 3912269023, + 1002146462, + 2802304975, + 3672302120, + 2454273928, + 1301961603, + 2322647617, + 2106877078, ]; static const List _envieddataagoraAppId = [ - 2064589378, - 4087362795, - 2735498363, - 744883926, - 437911743, - 2142425778, - 1708066530, - 3364200840, - 1769474245, - 2040922417, - 1827776941, - 46343435, - 1231786447, - 1714084497, - 3065635771, - 3165081603, - 610577331, - 3721151382, - 199022744, - 4236909953, - 1713852003, - 2601659664, - 395522034, - 3201484982, - 2659126147, - 3749211088, - 82721114, - 986034066, - 2502896914, - 2174072281, - 3711453082, - 163336484, - 3401384915, - 4079269901, - 1755512762, - 2995328634, - 1380096795, - 2043175698, - 4179901098, + 2081958929, + 3344593654, + 1531753489, + 2899020577, + 869569741, + 3295793642, + 3082998220, + 1277945703, + 1162903795, + 3972314123, + 2730389462, + 2677575691, + 3810492613, + 542461639, + 2742223035, + 3348808199, + 2181751604, + 1577904974, + 1917907198, + 364195683, + 425739476, + 823877115, + 456543287, + 3687427141, + 3045999470, + 3072327850, + 294249039, + 3900947557, + 3761384937, + 3382746901, + 2311171742, + 3912269035, + 1002146470, + 2802304919, + 3672302170, + 2454274000, + 1301961711, + 2322647555, + 2106877178, ]; static final String agoraAppId = String.fromCharCodes(List.generate( @@ -10345,89 +10397,89 @@ final class _Env { ).map((int i) => _envieddataagoraAppId[i] ^ _enviedkeyagoraAppId[i])); static const List _enviedkeyagoraAppCertificate = [ - 3911658682, - 1311364766, - 3510175367, - 255285933, - 2149710013, - 4279402420, - 1422255593, - 4042345674, - 1046781582, - 559767974, - 3673551285, - 2320134222, - 2382043916, - 2833839766, - 3727372668, - 1504446878, - 1373335550, - 3067825645, - 3967754157, - 1146679926, - 3540836963, - 3371675, - 3404605628, - 2079632130, - 2734262571, - 1754194969, - 493675419, - 2124696032, - 482893469, - 2227141760, - 2795170086, - 1578321232, - 675027983, - 2300340714, - 3240443880, - 1848759158, - 852765862, - 109150266, - 1877883186, - 1817765139, + 1231343090, + 1126238149, + 2870548765, + 2368799538, + 2481968720, + 811443040, + 3018369170, + 4249215140, + 1068794062, + 1747859621, + 1256909121, + 514271897, + 2763397915, + 2035587145, + 156033108, + 1681890820, + 1886740530, + 1884712524, + 224080234, + 3924776020, + 1905483324, + 450048921, + 1945734337, + 1950078510, + 1350520675, + 965205544, + 261890511, + 1757528176, + 2969984316, + 2637097007, + 819491548, + 3063824946, + 786426118, + 1168115103, + 1869856400, + 396491045, + 3188443334, + 3766826677, + 3664921460, + 3067285639, ]; static const List _envieddataagoraAppCertificate = [ - 3911658704, - 1311364783, - 3510175408, - 255285980, - 2149709956, - 4279402368, - 1422255581, - 4042345663, - 1046781626, - 559767967, - 3673551238, - 2320134263, - 2382043964, - 2833839868, - 3727372564, - 1504446959, - 1373335497, - 3067825624, - 3967754133, - 1146679811, - 3540836946, - 3371693, - 3404605576, - 2079632187, - 2734262559, - 1754194989, - 493675427, - 2124695953, - 482893487, - 2227141881, - 2795170064, - 1578321192, - 675028073, - 2300340639, - 3240443824, - 1848759044, - 852765950, - 109150294, - 1877883248, - 1817765247, + 1231343000, + 1126238196, + 2870548778, + 2368799555, + 2481968745, + 811443028, + 3018369190, + 4249215185, + 1068794106, + 1747859612, + 1256909170, + 514271904, + 2763397931, + 2035587107, + 156033084, + 1681890933, + 1886740485, + 1884712569, + 224080210, + 3924775969, + 1905483277, + 450048943, + 1945734389, + 1950078487, + 1350520663, + 965205532, + 261890551, + 1757528065, + 2969984270, + 2637097046, + 819491562, + 3063824970, + 786426208, + 1168115178, + 1869856456, + 396491095, + 3188443294, + 3766826713, + 3664921398, + 3067285739, ]; static final String agoraAppCertificate = String.fromCharCodes( @@ -10440,183 +10492,183 @@ final class _Env { _enviedkeyagoraAppCertificate[i])); static const List _enviedkeypayPalClientIdLive = [ - 262763334, - 534254223, - 1500251875, - 1672943244, - 4155617553, - 333295894, - 3544678599, - 1378372680, - 512060639, - 1898357687, - 738173158, - 758131943, - 1184208626, - 1963128915, - 1449144948, - 488295958, - 620577983, - 3238757395, - 2457622744, - 875597985, - 3149024838, - 3503487943, - 1702683474, - 2741121478, - 964449199, - 431653282, - 2539098641, - 3981597249, - 3678804692, - 4293259226, - 3106615108, - 2415384729, - 1914133269, - 2534456018, - 3493354006, - 1525177683, - 475818187, - 2270342781, - 3455003271, - 4173758484, - 2032165739, - 2055763478, - 742867360, - 3118133518, - 2011862593, - 2932739130, - 1459049152, - 1240855502, - 3714948271, - 3960921190, - 3168338341, - 1144392883, - 2157470764, - 484554225, - 686355363, - 500759330, - 2239334091, - 3771194796, - 3033067186, - 1065639536, - 2203588788, - 2246970098, - 2990278344, - 3355111546, - 95388258, - 684331161, - 844145907, - 571957502, - 3475231740, - 1455892352, - 1758414079, - 3247993419, - 3101554597, - 908279314, - 3083807997, - 1984711595, - 1239476751, - 1712738491, - 205355684, - 483008600, - 456089915, - 4035549625, - 310543388, - 137472867, - 1483362756, - 1120975417, - 80920464, + 3340953550, + 1570613616, + 3376132438, + 3269724962, + 3804064268, + 857198706, + 2655838304, + 1658530168, + 487036806, + 262438804, + 4209989150, + 231395561, + 2176104869, + 1523997140, + 2510136932, + 2266877306, + 967569581, + 2672444331, + 443322639, + 286613773, + 1656343185, + 2990159011, + 1185149430, + 1099513061, + 2427627413, + 3234351421, + 2378746608, + 3403941308, + 1482230507, + 1093780579, + 781517395, + 1980014253, + 4076106219, + 2265857702, + 3609569037, + 3930502253, + 438896637, + 3540942576, + 2974158627, + 2795685385, + 3956621788, + 1872323052, + 1290224853, + 161517149, + 3847812425, + 3059579803, + 3837252468, + 2561740666, + 3611012111, + 2995567970, + 2224419204, + 2512441842, + 2150558508, + 1252443279, + 1087154235, + 3619101299, + 412198367, + 2313075308, + 1455100416, + 1003205434, + 3446126585, + 3741444825, + 1094255308, + 2226626400, + 194099588, + 3360225415, + 2665093331, + 3251398805, + 3832188177, + 2864838568, + 274314879, + 4288895515, + 1095258347, + 2672193899, + 928261495, + 3489122279, + 1491289826, + 3106670330, + 3212433909, + 1505616325, + 590729829, + 4068093960, + 2764605618, + 3754850393, + 502512782, + 1917766414, + 1760183411, ]; static const List _envieddatapayPalClientIdLive = [ - 262763287, - 534254293, - 1500251813, - 1672943335, - 4155617659, - 333295959, - 3544678568, - 1378372626, - 512060601, - 1898357744, - 738173074, - 758131849, - 1184208533, - 1963128861, - 1449144839, - 488296051, - 620577997, - 3238757503, - 2457622708, - 875597975, - 3149024820, - 3503487988, - 1702683441, - 2741121413, - 964449178, - 431653268, - 2539098697, - 3981597229, - 3678804709, - 4293259177, - 3106615058, - 2415384789, - 1914133316, - 2534455993, - 3493354104, - 1525177702, - 475818159, - 2270342704, - 3455003365, - 4173758573, - 2032165646, - 2055763572, - 742867400, - 3118133620, - 2011862539, - 2932739171, - 1459049205, - 1240855543, - 3714948330, - 3960921143, - 3168338326, - 1144392923, - 2157470806, - 484554182, - 686355450, - 500759386, - 2239334058, - 3771194857, - 3033067203, - 1065639477, - 2203588848, - 2246970027, - 2990278296, - 3355111470, - 95388215, - 684331231, - 844145808, - 571957423, - 3475231659, - 1455892465, - 1758413961, - 3247993390, - 3101554677, - 908279411, - 3083807916, - 1984711582, - 1239476826, - 1712738545, - 205355758, - 483008526, - 456089961, - 4035549665, - 310543470, - 137472827, - 1483362728, - 1120975483, - 80920572, + 3340953503, + 1570613546, + 3376132368, + 3269725001, + 3804064358, + 857198643, + 2655838223, + 1658530082, + 487036896, + 262438867, + 4209989226, + 231395463, + 2176104898, + 1523997082, + 2510136855, + 2266877215, + 967569631, + 2672444359, + 443322723, + 286613819, + 1656343267, + 2990158992, + 1185149333, + 1099512998, + 2427627424, + 3234351371, + 2378746536, + 3403941328, + 1482230490, + 1093780496, + 781517317, + 1980014305, + 4076106170, + 2265857741, + 3609569123, + 3930502232, + 438896537, + 3540942525, + 2974158657, + 2795685488, + 3956621753, + 1872322958, + 1290224829, + 161517095, + 3847812355, + 3059579842, + 3837252417, + 2561740611, + 3611012170, + 2995567923, + 2224419255, + 2512441754, + 2150558550, + 1252443320, + 1087154274, + 3619101195, + 412198334, + 2313075241, + 1455100529, + 1003205503, + 3446126525, + 3741444736, + 1094255260, + 2226626356, + 194099665, + 3360225473, + 2665093296, + 3251398852, + 3832188230, + 2864838617, + 274314761, + 4288895614, + 1095258299, + 2672193802, + 928261414, + 3489122258, + 1491289783, + 3106670256, + 3212433855, + 1505616275, + 590729783, + 4068094032, + 2764605632, + 3754850305, + 502512866, + 1917766476, + 1760183327, ]; static final String payPalClientIdLive = String.fromCharCodes( @@ -10628,185 +10680,185 @@ final class _Env { _envieddatapayPalClientIdLive[i] ^ _enviedkeypayPalClientIdLive[i])); static const List _enviedkeypayPalSecretLive = [ - 3693770904, - 1778642698, - 2571653257, - 2243976323, - 1964483763, - 1630385111, - 3981228927, - 4267514261, - 439522342, - 3141000959, - 220229434, - 2404476438, - 395506725, - 4165048370, - 562692899, - 546639741, - 1421456689, - 1259542382, - 2656703696, - 2105356100, - 3011049721, - 1537242225, - 2714187627, - 1812270841, - 2867791064, - 1246455844, - 4166448653, - 769741310, - 1401013475, - 333165862, - 2310409702, - 3202497973, - 4095272724, - 2264786812, - 3320729359, - 2303050128, - 3303007357, - 1266118911, - 3349365565, - 2957485321, - 2198172300, - 3952924737, - 79433228, - 705664227, - 3587638070, - 521575035, - 643652950, - 24493260, - 237602729, - 952425116, - 2643659470, - 3193806762, - 235754593, - 2120002101, - 2037440942, - 3967615993, - 1174003991, - 1004995749, - 1621216614, - 2673795595, - 269787323, - 4128633284, - 3547980975, - 3695424501, - 1742486767, - 961548452, - 3100677229, - 2101261384, - 961780856, - 3997093616, - 1394365159, - 2992736831, - 3234734977, - 1471026279, - 585423217, - 3795763090, - 2835035713, - 2501740434, - 3066129776, - 751982014, - 1694357670, - 1436828353, - 2497020211, - 2212049678, - 1042860676, - 1341401424, - 3626907230, - 547937603, + 4150202229, + 252730445, + 624717246, + 2264233849, + 2078209126, + 2839093202, + 4269014238, + 599368642, + 873227692, + 2101045030, + 1865908070, + 3124842957, + 851226307, + 3701206028, + 988261854, + 5749222, + 585700967, + 1471622276, + 688943072, + 2605584979, + 3302215221, + 3363138126, + 101067790, + 3391859525, + 683814021, + 2163047615, + 88102227, + 2642479401, + 3395766116, + 2130428901, + 1574877883, + 3517483116, + 4064510891, + 550006229, + 446412299, + 1992849641, + 3206218430, + 3866766348, + 1448477647, + 2408276277, + 2559414744, + 394116727, + 1513483786, + 3065814798, + 3528477663, + 2130023271, + 2237902818, + 2992738881, + 4087784278, + 1409606614, + 2673538539, + 1045314284, + 3172715952, + 1158308776, + 3010695706, + 1018070396, + 2235041561, + 983125766, + 170008713, + 2229027887, + 122619291, + 1906748419, + 1124606812, + 1915461031, + 2892250470, + 384380014, + 539695177, + 1783704777, + 1568626503, + 2978814249, + 3682305140, + 3144081257, + 1099627880, + 1933264226, + 4028856113, + 527740201, + 2294419107, + 2281561033, + 3704438190, + 635533350, + 4214429808, + 1335829969, + 3956191903, + 1658306042, + 2761099708, + 135803759, + 2838960500, + 452339821, ]; static const List _envieddatapayPalSecretLive = [ - 3693770962, - 1778642779, - 2571653325, - 2243976386, - 1964483815, - 1630385062, - 3981228820, - 4267514366, - 439522376, - 3141000891, - 220229468, - 2404476543, - 395506787, - 4165048386, - 562692966, - 546639676, - 1421456767, - 1259542360, - 2656703712, - 2105356047, - 3011049659, - 1537242181, - 2714187547, - 1812270782, - 2867791016, - 1246455904, - 4166448748, - 769741236, - 1401013385, - 333165919, - 2310409623, - 3202498039, - 4095272789, - 2264786712, - 3320729398, - 2303050234, - 3303007237, - 1266118834, - 3349365631, - 2957485401, - 2198172412, - 3952924731, - 79433307, - 705664182, - 3587638023, - 521574955, - 643652967, - 24493223, - 237602714, - 952425172, - 2643659519, - 3193806784, - 235754555, - 2120002141, - 2037441023, - 3967615891, - 1174004089, - 1004995730, - 1621216597, - 2673795662, - 269787379, - 4128633271, - 3547981028, - 3695424420, - 1742486657, - 961548485, - 3100677210, - 2101261436, - 961780776, - 3997093576, - 1394365079, - 2992736774, - 3234735033, - 1471026191, - 585423126, - 3795763165, - 2835035695, - 2501740511, - 3066129681, - 751982057, - 1694357750, - 1436828310, - 2497020267, - 2212049788, - 1042860764, - 1341401404, - 3626907164, - 547937583, + 4150202175, + 252730396, + 624717306, + 2264233784, + 2078209074, + 2839093155, + 4269014197, + 599368617, + 873227714, + 2101045090, + 1865907968, + 3124842916, + 851226245, + 3701206140, + 988261787, + 5749159, + 585700905, + 1471622322, + 688943056, + 2605584920, + 3302215287, + 3363138170, + 101067902, + 3391859458, + 683814133, + 2163047675, + 88102194, + 2642479459, + 3395766030, + 2130428828, + 1574877898, + 3517483054, + 4064510954, + 550006193, + 446412338, + 1992849539, + 3206218438, + 3866766401, + 1448477581, + 2408276325, + 2559414696, + 394116621, + 1513483869, + 3065814875, + 3528477678, + 2130023223, + 2237902803, + 2992738858, + 4087784293, + 1409606558, + 2673538522, + 1045314182, + 3172716010, + 1158308800, + 3010695755, + 1018070294, + 2235041655, + 983125809, + 170008762, + 2229027946, + 122619347, + 1906748528, + 1124606743, + 1915461110, + 2892250376, + 384379919, + 539695230, + 1783704829, + 1568626455, + 2978814225, + 3682305028, + 3144081232, + 1099627856, + 1933264138, + 4028856150, + 527740262, + 2294419149, + 2281560964, + 3704438223, + 635533425, + 4214429728, + 1335829894, + 3956191943, + 1658305928, + 2761099748, + 135803651, + 2838960438, + 452339713, ]; static final String payPalSecretLive = String.fromCharCodes( @@ -10818,35 +10870,35 @@ final class _Env { _envieddatapayPalSecretLive[i] ^ _enviedkeypayPalSecretLive[i])); static const List _enviedkeyintegrationIdPayMob = [ - 1223014155, - 1716638326, - 3475946710, - 1645415511, - 969506659, - 642827893, - 1109033489, - 3383338565, - 795531435, - 3568124023, - 1614596912, - 2490540213, - 3303126165, + 2711867375, + 4094106772, + 66776679, + 2172809628, + 1407400692, + 2483490736, + 2796837216, + 414182399, + 1030457165, + 2912663149, + 1122981724, + 4233525351, + 2783465375, ]; static const List _envieddataintegrationIdPayMob = [ - 1223014203, - 1716638276, - 3475946725, - 1645415520, - 969506645, - 642827846, - 1109033505, - 3383338525, - 795531481, - 3568123951, - 1614596956, - 2490540279, - 3303126265, + 2711867359, + 4094106790, + 66776660, + 2172809643, + 1407400642, + 2483490691, + 2796837200, + 414182311, + 1030457151, + 2912663093, + 1122981680, + 4233525285, + 2783465459, ]; static final String integrationIdPayMob = String.fromCharCodes( @@ -10859,53 +10911,53 @@ final class _Env { _enviedkeyintegrationIdPayMob[i])); static const List _enviedkeypasswordPayMob = [ - 1109268065, - 3431678572, - 704540197, - 4278609638, - 2224592890, - 37328380, - 2659024462, - 1623714987, - 3368408804, - 1167335310, - 1948261826, - 142612776, - 4064759891, - 3732081042, - 3077092186, - 3861586879, - 555303375, - 3312280228, - 2317270961, - 2011696174, - 220636862, - 3210041849, + 3476055420, + 948855401, + 990058547, + 1518961812, + 1986635851, + 1630811721, + 581655628, + 842276458, + 4065253996, + 485180379, + 1152419252, + 3216056255, + 4265257470, + 1371595368, + 1059014342, + 2584071750, + 1033576381, + 3613177506, + 3004037069, + 580262902, + 2164109007, + 508249427, ]; static const List _envieddatapasswordPayMob = [ - 1109267974, - 3431678508, - 704540235, - 4278609549, - 2224592830, - 37328334, - 2659024493, - 1623714962, - 3368408797, - 1167335397, - 1948261859, - 142612800, - 4064759831, - 3732081101, - 3077092212, - 3861586888, - 555303319, - 3312280278, - 2317271017, - 2011696194, - 220636924, - 3210041749, + 3476055323, + 948855337, + 990058589, + 1518961919, + 1986635791, + 1630811771, + 581655663, + 842276435, + 4065253973, + 485180336, + 1152419221, + 3216056279, + 4265257402, + 1371595319, + 1059014376, + 2584071729, + 1033576421, + 3613177552, + 3004037013, + 580262810, + 2164108941, + 508249407, ]; static final String passwordPayMob = String.fromCharCodes(List.generate( @@ -10915,43 +10967,43 @@ final class _Env { ).map((int i) => _envieddatapasswordPayMob[i] ^ _enviedkeypasswordPayMob[i])); static const List _enviedkeyusernamePayMob = [ - 2092053316, - 1470952678, - 1648842357, - 1975980254, - 3410457939, - 1016974753, - 3527962921, - 874416456, - 2365081762, - 591236669, - 285375648, - 1191576132, - 4141935363, - 2881286112, - 2357713406, - 1351758840, - 2650806201, + 2647974768, + 444760733, + 1962118316, + 2567217974, + 2222725922, + 3887608995, + 186704756, + 942365873, + 1496646118, + 3918720892, + 563872343, + 3403095027, + 131129821, + 3430657630, + 3618174847, + 2808387742, + 3979711925, ]; static const List _envieddatausernamePayMob = [ - 2092053367, - 1470952657, - 1648842310, - 1975980271, - 3410457962, - 1016974736, - 3527962905, - 874416508, - 2365081746, - 591236616, - 285375634, - 1191576092, - 4141935473, - 2881286072, - 2357713298, - 1351758778, - 2650806229, + 2647974723, + 444760746, + 1962118303, + 2567217927, + 2222725915, + 3887608978, + 186704708, + 942365829, + 1496646102, + 3918720841, + 563872357, + 3403094955, + 131129775, + 3430657542, + 3618174739, + 2808387804, + 3979711961, ]; static final String usernamePayMob = String.fromCharCodes(List.generate( @@ -10961,581 +11013,581 @@ final class _Env { ).map((int i) => _envieddatausernamePayMob[i] ^ _enviedkeyusernamePayMob[i])); static const List _enviedkeypayMobApikey = [ - 3896271637, - 1435201278, - 2282485366, - 2050151410, - 1781201303, - 1956060278, - 1995952044, - 1885776161, - 1453351172, - 1570352087, - 2123386028, - 1092977547, - 3985989660, - 1504777896, - 4037927487, - 1995960446, - 2068786123, - 398796027, - 3815900296, - 2724958648, - 518475983, - 3984179736, - 1000793228, - 2474341843, - 2172687329, - 3994306480, - 1218117046, - 981492572, - 3791722864, - 1726301567, - 1838254853, - 3527849559, - 316799881, - 1031705909, - 898676955, - 802206615, - 3538279047, - 3657732317, - 4155493289, - 935314214, - 4118713669, - 167703772, - 1296132809, - 1550662752, - 2846649372, - 2104255821, - 4249140883, - 2596172489, - 1667541378, - 1154792393, - 2619967829, - 389385270, - 1286390196, - 3752526310, - 1295377130, - 123227391, - 3551743732, - 2454635975, - 1763803318, - 4247586649, - 1099907899, - 3774959076, - 2308706662, - 446151996, - 826099627, - 1397449050, - 2538354733, - 2546519762, - 933383808, - 2155888844, - 3806757175, - 2433730130, - 1370464389, - 2647847538, - 2156475917, - 3523201413, - 1901163242, - 2900443023, - 1854216653, - 3543602030, - 2636208656, - 3991218168, - 134226716, - 26129429, - 3600715483, - 134625356, - 3004742721, - 3267987344, - 2050839918, - 1468123220, - 4223589676, - 69925246, - 2733725023, - 1797601723, - 491113212, - 3976201295, - 2990269861, - 221703481, - 2153648758, - 793336639, - 1001588939, - 542662432, - 4222993367, - 2962297046, - 1710597450, - 3014393725, - 303952129, - 1138919732, - 268867725, - 1351384115, - 2250951689, - 3121419731, - 3966159341, - 2569305285, - 3986245843, - 809293415, - 2633580826, - 413840690, - 1496720516, - 1941971598, - 1373836041, - 1613221989, - 2100199678, - 2248808062, - 1012776829, - 3059662830, - 3740345990, - 2994194117, - 2325604776, - 3736549109, - 2464004241, - 2603463501, - 3757233404, - 3328903606, - 3198802302, - 3157129569, - 128900256, - 1443299833, - 947329929, - 3013509150, - 450234584, - 886141945, - 4256906240, - 2263627515, - 4043119967, - 3822880104, - 3548506911, - 1541554202, - 552006030, - 3323676296, - 1168913856, - 3980042613, - 2777274218, - 3444804775, - 690740120, - 251144931, - 1591217973, - 2306345361, - 3396219578, - 1140516575, - 3770535972, - 2724038805, - 2493970775, - 1833455403, - 2701407360, - 994542324, - 2646485339, - 3003187662, - 130910207, - 3055544386, - 1414513336, - 1074251973, - 3587702410, - 2560648036, - 3877221087, - 449861186, - 1735823980, - 590373326, - 1863691009, - 3122254929, - 2340658770, - 3511265209, - 798948908, - 1712197981, - 1640096226, - 625266244, - 4153101208, - 2389582035, - 4278486142, - 1520196189, - 3693697677, - 3447727736, - 1051570384, - 562133465, - 3838830758, - 2446398360, - 755633267, - 16063955, - 70714925, - 2651527355, - 2009423664, - 1746613634, - 3482525940, - 87240397, - 2425024428, - 1158847569, - 111889156, - 4065834862, - 1615889170, - 3874956833, - 3248053905, - 2359083821, - 2052557132, - 1319795040, - 527145962, - 1127649439, - 2382673490, - 3564017233, - 3823344899, - 3242356107, - 3651179691, - 319371035, - 3810030717, - 1747291565, - 2117133250, - 1988527949, - 67620344, - 3974460172, - 898768742, - 3002091645, - 1319996682, - 3269181154, - 2212332763, - 2586825331, - 3606686782, - 2654969286, - 1505019596, - 2249785450, - 3295581222, - 96703639, - 1477011818, - 2355086526, - 83160164, - 1012990326, - 3244573159, - 3154372796, - 1360038855, - 2309078331, - 3747020350, - 1725472862, - 2201863087, - 1417740931, - 1479665245, - 4236288421, - 2535332446, - 2137092105, - 2195639556, - 3438069719, - 1652913580, - 658232925, - 144300777, - 2056442629, - 397071297, - 2592790848, - 117161764, - 3249051801, - 4095893416, - 3582999139, - 1124049658, - 4120302946, - 2376800657, - 1627266714, - 2454157933, - 3718623918, - 893864684, - 1281606112, - 1317256745, - 3396466176, - 4146240998, - 1962354472, - 3725289740, - 1737511526, - 3747242680, - 1614956020, - 3575706217, - 203416592, + 828685855, + 2003922353, + 1610524957, + 4020268132, + 3029320301, + 584416750, + 2097617338, + 2656430581, + 590232852, + 411175381, + 2899928614, + 3545462265, + 398848759, + 3348930362, + 1472599123, + 1335140841, + 2989526414, + 936641119, + 2881931450, + 3001913719, + 909318898, + 2115369230, + 58318947, + 3841630227, + 3101810139, + 1598758, + 1900929996, + 2547280721, + 1963966862, + 3348701991, + 1280746724, + 2079631576, + 3353966872, + 3122043968, + 948737010, + 3025891157, + 14633219, + 3749442806, + 3474128764, + 1770506318, + 561336108, + 3279706293, + 3057286896, + 2739927905, + 1214847882, + 3649614550, + 3740147523, + 429130980, + 800539962, + 1747326730, + 2986155220, + 3784059346, + 931468589, + 2556053843, + 1695051336, + 565210774, + 2394664459, + 319319323, + 532947566, + 1327263302, + 796153436, + 1807485744, + 2112147427, + 3609764870, + 2163526008, + 1397560652, + 1019521171, + 2717159956, + 1208318514, + 1614487024, + 2461914970, + 1259364295, + 179599338, + 387280946, + 3969139758, + 1555658809, + 2802707971, + 993407505, + 3844859198, + 682022744, + 1533108341, + 2577239428, + 233497412, + 4090899249, + 3120113155, + 995754974, + 2343578281, + 3874502625, + 1412892991, + 611304529, + 2148220573, + 2651370412, + 567578478, + 4015976190, + 3165504079, + 1049204820, + 1442698986, + 1891280188, + 3352600844, + 2846403957, + 3585683118, + 2551850467, + 3787313460, + 3656015350, + 3284691117, + 1608015952, + 515538285, + 2189782421, + 1391466821, + 2636603430, + 2468609204, + 1060073234, + 1648367099, + 1488429510, + 3551372073, + 4052925145, + 3440751312, + 2136986439, + 141138320, + 2639332937, + 867271229, + 2617488662, + 4222703897, + 3774688720, + 1962912687, + 2580829534, + 3100515184, + 3915324865, + 1073675234, + 3728754394, + 1369413785, + 3562245245, + 3541049993, + 345953852, + 1162168206, + 501629054, + 420299065, + 1915220170, + 4159574324, + 3781839444, + 1680872649, + 1765587112, + 3379185887, + 143625190, + 4166574612, + 256377419, + 3227231865, + 1545512228, + 3772671166, + 1367331674, + 4005379183, + 370879497, + 1396342076, + 1513799130, + 4106479151, + 4181310729, + 3150025761, + 1697297906, + 1132732618, + 4244491943, + 970445420, + 2332386069, + 2189073928, + 2336129536, + 721945876, + 2169869880, + 329898563, + 495162007, + 987261115, + 1676356396, + 1552712735, + 1446907690, + 2547715963, + 3887587915, + 4158817816, + 269531085, + 4287544153, + 3525028879, + 352653816, + 1502259184, + 4036295807, + 3171019519, + 1010900901, + 984710380, + 2005768193, + 1770210088, + 2571690960, + 3396710989, + 963943056, + 3101385388, + 2022568759, + 1209292012, + 1300298396, + 265335891, + 991904992, + 639380949, + 1431991600, + 1387608946, + 549994549, + 2702939610, + 3273679600, + 2105182200, + 1135393101, + 3850554599, + 1074156032, + 4157592924, + 2040967898, + 2200552052, + 900600526, + 1431239582, + 3450853379, + 424812604, + 748566252, + 2935151763, + 1639671366, + 2873892173, + 2657758459, + 543176646, + 2503086081, + 1015282077, + 1574915115, + 1886678515, + 3855981337, + 144435161, + 2220902159, + 444189079, + 3033281155, + 236107366, + 3474077884, + 3302603211, + 2529422655, + 3026277571, + 1583628386, + 1457810148, + 3115490443, + 2160904624, + 1741384831, + 3244563283, + 2971731245, + 2570668609, + 415852065, + 2421463038, + 3122969308, + 3284084600, + 3734895695, + 4255840663, + 3822252728, + 4028017442, + 2984043013, + 2718820681, + 2536154764, + 1678332092, + 1273993299, + 3130509886, + 3456560267, + 1974690290, + 2611477637, + 1878515626, + 2610704538, + 3744175569, + 2078175211, + 1387603814, + 983914748, + 2294272, + 2262161637, + 1228506799, + 3575299528, + 4073732059, + 3877691167, + 3458866392, + 2427088183, + 2099442580, + 1984032360, + 3879635047, + 3815391587, + 126738788, + 2410697558, + 3287972020, + 569488390, + 346969100, + 2635009835, + 3894746345, + 3052633828, + 2319804539, + 1949108754, + 2466211944, ]; static const List _envieddatapayMobApikey = [ - 3896271704, - 1435201210, - 2282485252, - 2050151349, - 1781201382, - 1956060221, - 1995952105, - 1885776246, - 1453351255, - 1570352102, - 2123386078, - 1092977629, - 3985989741, - 1504777920, - 4037927509, - 1995960345, - 2068786092, - 398795955, - 3815900414, - 2724958717, - 518475935, - 3984179804, - 1000793338, - 2474341763, - 2172687243, - 3994306554, - 1218116993, - 981492522, - 3791722794, - 1726301499, - 1838254919, - 3527849490, - 316799985, - 1031705927, - 898676884, - 802206624, - 3538279124, - 3657732334, - 4155493355, - 935314275, - 4118713607, - 167703739, - 1296132795, - 1550662668, - 2846649466, - 2104255768, - 4249140964, - 2596172445, - 1667541443, - 1154792442, - 2619967804, - 389385219, - 1286390246, - 3752526216, - 1295377082, - 123227338, - 3551743662, - 2454635945, - 1763803328, - 4247586614, - 1099907959, - 3774959063, - 2308706603, - 446151950, - 826099704, - 1397449059, - 2538354783, - 2546519703, - 933383874, - 2155888811, - 3806757189, - 2433730110, - 1370464459, - 2647847462, - 2156476009, - 3523201504, - 1901163154, - 2900443079, - 1854216696, - 3543601950, - 2636208708, - 3991218088, - 134226810, - 26129442, - 3600715413, - 134625286, - 3004742707, - 3267987430, - 2050839831, - 1468123237, - 4223589726, - 69925147, - 2733724933, - 1797601777, - 491113098, - 3976201342, - 2990269937, - 221703511, - 2153648705, - 793336645, - 1001588909, - 542662423, - 4222993313, - 2962296962, - 1710597379, - 3014393657, - 303952248, - 1138919747, - 268867815, - 1351384187, - 2250951790, - 3121419746, - 3966159278, - 2569305330, - 3986245791, - 809293314, - 2633580899, - 413840641, - 1496720572, - 1941971654, - 1373836125, - 1613221921, - 2100199559, - 2248807984, - 1012776764, - 3059662813, - 3740346096, - 2994194162, - 2325604860, - 3736549029, - 2464004343, - 2603463465, - 3757233284, - 3328903676, - 3198802188, - 3157129472, - 128900312, - 1443299784, - 947330043, - 3013509225, - 450234504, - 886141844, - 4256906320, - 2263627407, - 4043119890, - 3822880034, - 3548506982, - 1541554272, - 552006143, - 3323676355, - 1168913797, - 3980042540, - 2777274160, - 3444804802, - 690740223, - 251144843, - 1591217988, - 2306345378, - 3396219639, - 1140516522, - 3770536040, - 2724038848, - 2493970725, - 1833455469, - 2701407432, - 994542279, - 2646485274, - 3003187711, - 130910142, - 3055544357, - 1414513392, - 1074251942, - 3587702466, - 2560648021, - 3877221098, - 449861121, - 1735823926, - 590373367, - 1863691092, - 3122254896, - 2340658696, - 3511265261, - 798948960, - 1712197906, - 1640096154, - 625266218, - 4153101295, - 2389582051, - 4278486076, - 1520196105, - 3693697769, - 3447727618, - 1051570328, - 562133393, - 3838830804, - 2446398426, - 755633202, - 16063905, - 70714948, - 2651527368, - 2009423722, - 1746613735, - 3482525830, - 87240344, - 2425024481, - 1158847492, - 111889233, - 4065834772, - 1615889224, - 3874956816, - 3248053971, - 2359083843, - 2052557070, - 1319794949, - 527145903, - 1127649526, - 2382673464, - 3564017177, - 3823345013, - 3242356165, - 3651179713, - 319371074, - 3810030641, - 1747291587, - 2117133201, - 1988527996, - 67620282, - 3974460249, - 898768687, - 3002091582, - 1319996743, - 3269181066, - 2212332680, - 2586825246, - 3606686830, - 2654969262, - 1505019533, - 2249785435, - 3295581203, - 96703742, - 1477011724, - 2355086582, - 83160093, - 1012990240, - 3244573078, - 3154372855, - 1360038786, - 2309078390, - 3747020406, - 1725472777, - 2201863126, - 1417741000, - 1479665169, - 4236288455, - 2535332391, - 2137092220, - 2195639629, - 3438069639, - 1652913626, - 658232894, - 144300705, - 2056442684, - 397071252, - 2592790821, - 117161832, - 3249051818, - 4095893470, - 3582999097, - 1124049539, - 4120302886, - 2376800759, - 1627266727, - 2454157838, - 3718623960, - 893864591, - 1281606072, - 1317256795, - 3396466264, - 4146240906, - 1962354538, - 3725289824, - 1737511428, - 3747242714, - 1614955926, - 3575706123, - 203416690, + 828685906, + 2003922421, + 1610525039, + 4020268067, + 3029320220, + 584416677, + 2097617407, + 2656430498, + 590232903, + 411175396, + 2899928660, + 3545462191, + 398848646, + 3348930386, + 1472599097, + 1335140750, + 2989526505, + 936641047, + 2881931468, + 3001913650, + 909318818, + 2115369290, + 58318869, + 3841630275, + 3101810097, + 1598828, + 1900930043, + 2547280679, + 1963966932, + 3348702051, + 1280746662, + 2079631517, + 3353966944, + 3122043954, + 948736957, + 3025891170, + 14633296, + 3749442757, + 3474128702, + 1770506251, + 561336174, + 3279706322, + 3057286786, + 2739927821, + 1214847980, + 3649614467, + 3740147508, + 429130928, + 800540027, + 1747326777, + 2986155197, + 3784059367, + 931468671, + 2556053821, + 1695051288, + 565210787, + 2394664529, + 319319413, + 532947480, + 1327263273, + 796153360, + 1807485699, + 2112147374, + 3609764916, + 2163525931, + 1397560693, + 1019521249, + 2717160017, + 1208318576, + 1614486935, + 2461914920, + 1259364267, + 179599268, + 387280998, + 3969139786, + 1555658844, + 2802708091, + 993407577, + 3844859147, + 682022696, + 1533108257, + 2577239508, + 233497378, + 4090899206, + 3120113229, + 995754900, + 2343578331, + 3874502551, + 1412892998, + 611304544, + 2148220655, + 2651370441, + 567578420, + 4015976116, + 3165504057, + 1049204837, + 1442698942, + 1891280210, + 3352600891, + 2846403855, + 3585683144, + 2551850452, + 3787313474, + 3656015266, + 3284691172, + 1608015892, + 515538196, + 2189782498, + 1391466799, + 2636603502, + 2468609235, + 1060073251, + 1648367032, + 1488429553, + 3551372133, + 4052925116, + 3440751273, + 2136986484, + 141138344, + 2639332865, + 867271273, + 2617488722, + 4222703968, + 3774688670, + 1962912750, + 2580829549, + 3100515078, + 3915324918, + 1073675190, + 3728754314, + 1369413887, + 3562245145, + 3541050097, + 345953910, + 1162168316, + 501628959, + 420299073, + 1915220219, + 4159574342, + 3781839395, + 1680872601, + 1765587141, + 3379185807, + 143625106, + 4166574681, + 256377345, + 3227231744, + 1545512286, + 3772671183, + 1367331601, + 4005379114, + 370879568, + 1396342118, + 1513799103, + 4106479176, + 4181310817, + 3150025808, + 1697297857, + 1132732551, + 4244491986, + 970445344, + 2332386112, + 2189074042, + 2336129606, + 721945948, + 2169869835, + 329898498, + 495162022, + 987261178, + 1676356427, + 1552712791, + 1446907721, + 2547715891, + 3887587962, + 4158817837, + 269531022, + 4287544067, + 3525028918, + 352653741, + 1502259089, + 4036295717, + 3171019435, + 1010900969, + 984710307, + 2005768313, + 1770210118, + 2571690919, + 3396711037, + 963943122, + 3101385464, + 2022568787, + 1209291926, + 1300298452, + 265335835, + 991904914, + 639380887, + 1431991665, + 1387608832, + 549994588, + 2702939561, + 3273679530, + 2105182109, + 1135393087, + 3850554546, + 1074156109, + 4157592841, + 2040967823, + 2200551950, + 900600468, + 1431239599, + 3450853441, + 424812626, + 748566190, + 2935151862, + 1639671299, + 2873892132, + 2657758353, + 543176590, + 2503086199, + 1015282131, + 1574915137, + 1886678442, + 3855981397, + 144435127, + 2220902236, + 444189094, + 3033281217, + 236107315, + 3474077941, + 3302603144, + 2529422706, + 3026277547, + 1583628337, + 1457810057, + 3115490523, + 2160904664, + 1741384766, + 3244563298, + 2971731224, + 2570668584, + 415852103, + 2421462966, + 3122969253, + 3284084526, + 3734895678, + 4255840732, + 3822252797, + 4028017519, + 2984043085, + 2718820638, + 2536154869, + 1678332151, + 1273993247, + 3130509916, + 3456560370, + 1974690183, + 2611477708, + 1878515706, + 2610704620, + 3744175538, + 2078175139, + 1387603807, + 983914665, + 2294373, + 2262161577, + 1228506780, + 3575299518, + 4073731969, + 3877691238, + 3458866332, + 2427088209, + 2099442601, + 1984032267, + 3879634961, + 3815391488, + 126738748, + 2410697508, + 3287972076, + 569488490, + 346969166, + 2635009863, + 3894746251, + 3052633734, + 2319804441, + 1949108848, + 2466211850, ]; static final String payMobApikey = String.fromCharCodes(List.generate( @@ -11545,35 +11597,35 @@ final class _Env { ).map((int i) => _envieddatapayMobApikey[i] ^ _enviedkeypayMobApikey[i])); static const List _enviedkeyintegrationIdPayMobWallet = [ - 2529674890, - 3818057508, - 2593799892, - 1286314885, - 2976151772, - 598797903, - 2876888904, - 417078230, - 31206855, - 4014792941, - 3926500176, - 3723531664, - 1209611435, + 3751071568, + 3933800217, + 3327767708, + 2603223096, + 3226788798, + 2152717269, + 3488079092, + 849365887, + 4102793661, + 2200028242, + 3289603366, + 1701593398, + 1751264534, ]; static const List _envieddataintegrationIdPayMobWallet = [ - 2529674938, - 3818057494, - 2593799907, - 1286314930, - 2976151787, - 598797948, - 2876888945, - 417078158, - 31206837, - 4014792885, - 3926500156, - 3723531730, - 1209611463, + 3751071584, + 3933800235, + 3327767723, + 2603223055, + 3226788745, + 2152717286, + 3488079053, + 849365799, + 4102793679, + 2200028170, + 3289603402, + 1701593460, + 1751264634, ]; static final String integrationIdPayMobWallet = String.fromCharCodes( @@ -11586,41 +11638,41 @@ final class _Env { _enviedkeyintegrationIdPayMobWallet[i])); static const List _enviedkeysmsPasswordEgypt = [ - 256833770, - 3031946549, - 528165333, - 1241743560, - 1144195966, - 181732193, - 1825181543, - 3395408219, - 39126566, - 256476048, - 3094799040, - 4245732781, - 1873415810, - 2676900350, - 2224107448, - 3033719770, + 2964652601, + 661394472, + 4103522417, + 1801911188, + 2218174362, + 415053497, + 2738166764, + 765909451, + 405014297, + 2439444423, + 3974108013, + 1883547923, + 2491987381, + 3793733862, + 3078233468, + 2849878358, ]; static const List _envieddatasmsPasswordEgypt = [ - 256833696, - 3031946524, - 528165251, - 1241743520, - 1144195907, - 181732112, - 1825181445, - 3395408244, - 39126630, - 256476125, - 3094799000, - 4245732831, - 1873415898, - 2676900242, - 2224107514, - 3033719734, + 2964652659, + 661394433, + 4103522343, + 1801911292, + 2218174375, + 415053512, + 2738166670, + 765909476, + 405014361, + 2439444362, + 3974107957, + 1883548001, + 2491987437, + 3793733770, + 3078233406, + 2849878330, ]; static final String smsPasswordEgypt = String.fromCharCodes( @@ -11632,73 +11684,73 @@ final class _Env { _envieddatasmsPasswordEgypt[i] ^ _enviedkeysmsPasswordEgypt[i])); static const List _enviedkeyocpApimSubscriptionKey = [ - 2939270699, - 1751481029, - 4204111702, - 4050906633, - 1957532577, - 2510885254, - 718031625, - 3049014358, - 3383588163, - 3374074259, - 3123255086, - 1200231798, - 999798832, - 1030041710, - 3494097807, - 1723203017, - 2237168653, - 3826098368, - 1766643864, - 3544771447, - 566011970, - 926732779, - 708406247, - 2258795740, - 93923447, - 3896167586, - 3072562977, - 2886065098, - 3573974067, - 2516851690, - 1583240002, - 960472062, + 1680613404, + 766984278, + 489575845, + 4184529926, + 1083542025, + 2774869789, + 2842389196, + 382068769, + 2082818229, + 1293781006, + 1948330559, + 2730833372, + 623113212, + 2632476463, + 2126610411, + 2716605945, + 3632004881, + 3803177136, + 525648801, + 3759637161, + 1618570024, + 4220960602, + 1995238230, + 3630408850, + 1180468595, + 292798063, + 1954541046, + 3490607301, + 1054257593, + 2301544482, + 1422895000, + 3432042072, ]; static const List _envieddataocpApimSubscriptionKey = [ - 2939270683, - 1751480995, - 4204111715, - 4050906733, - 1957532608, - 2510885349, - 718031722, - 3049014325, - 3383588135, - 3374074353, - 3123255117, - 1200231699, - 999798788, - 1030041695, - 3494097852, - 1723203064, - 2237168751, - 3826098417, - 1766643961, - 3544771394, - 566011940, - 926732754, - 708406226, - 2258795758, - 93923406, - 3896167579, - 3072562967, - 2886065145, - 3573974019, - 2516851672, - 1583239975, - 960472013, + 1680613420, + 766984240, + 489575824, + 4184530018, + 1083542120, + 2774869886, + 2842389167, + 382068802, + 2082818257, + 1293781100, + 1948330588, + 2730833337, + 623113160, + 2632476446, + 2126610392, + 2716605896, + 3632004979, + 3803177089, + 525648832, + 3759637148, + 1618570062, + 4220960611, + 1995238243, + 3630408864, + 1180468554, + 292798038, + 1954540992, + 3490607350, + 1054257545, + 2301544464, + 1422895101, + 3432042091, ]; static final String ocpApimSubscriptionKey = String.fromCharCodes( @@ -11711,135 +11763,135 @@ final class _Env { _enviedkeyocpApimSubscriptionKey[i])); static const List _enviedkeychatGPTkeySeferNew4 = [ - 155006754, - 426273439, - 293322204, - 3361214355, - 3707990982, - 1717641755, - 2048470926, - 3105717601, - 4130231223, - 416145543, - 3401820119, - 1102195489, - 2179183934, - 1253494421, - 2975229818, - 2832946297, - 3090295293, - 4001762435, - 1433689561, - 1179211107, - 1382573813, - 4063793835, - 848322524, - 4014297885, - 1689744022, - 3913694435, - 1330420771, - 1197439765, - 1303356260, - 3892798616, - 1275884028, - 134289226, - 2486781877, - 133789073, - 65072568, - 4025512423, - 2845054066, - 4154199585, - 121081940, - 3821945456, - 1262461924, - 3954075666, - 1400917896, - 1676131528, - 4136617855, - 1920638683, - 2786916316, - 101232486, - 2220605354, - 3044303749, - 3815890877, - 1702233771, - 3065244903, - 3736158636, - 2375794904, - 3694079371, - 3259972211, - 3044536306, - 3802273752, - 2343626752, - 3445835672, - 4288593760, - 2119022353, + 165946952, + 2519274331, + 1711285420, + 1361145579, + 2380979994, + 3780095409, + 3040402589, + 1501335247, + 1544015156, + 1776405554, + 3482217997, + 1223473272, + 3953006632, + 3986682735, + 2615350534, + 3465778657, + 4036685621, + 3227709941, + 3728734684, + 1585693318, + 769867411, + 2387100925, + 3913016003, + 2189494387, + 2810125591, + 3688154746, + 3779108683, + 2432158751, + 3867671973, + 1348640224, + 3635346110, + 3778218683, + 1049974663, + 1157936066, + 3963405148, + 611839680, + 2960325913, + 1180667318, + 188557971, + 1613283441, + 3915082576, + 312029694, + 3405987139, + 750305674, + 286506941, + 600133805, + 708734631, + 3064918952, + 919297550, + 1097290694, + 3165042777, + 537250103, + 2942587704, + 2424548847, + 3345432998, + 1874121802, + 353612717, + 542705171, + 2596302736, + 2850310258, + 2691267156, + 1970156388, + 2668786355, ]; static const List _envieddatachatGPTkeySeferNew4 = [ - 155006808, - 426273528, - 293322225, - 3361214437, - 3707990954, - 1717641842, - 2048471019, - 3105717580, - 4130231173, - 416145643, - 3401820134, - 1102195579, - 2179183954, - 1253494501, - 2975229698, - 2832946192, - 3090295184, - 4001762511, - 1433689491, - 1179211093, - 1382573698, - 4063793914, - 848322451, - 4014297963, - 1689744116, - 3913694337, - 1330420759, - 1197439809, - 1303356170, - 3892798683, - 1275883973, - 134289170, - 2486781895, - 133789161, - 65072607, - 4025512370, - 2845054007, - 4154199640, - 121081858, - 3821945377, - 1262461869, - 3954075751, - 1400917950, - 1676131484, - 4136617782, - 1920638623, - 2786916328, - 101232407, - 2220605434, - 3044303793, - 3815890939, - 1702233854, - 3065244850, - 3736158685, - 2375794871, - 3694079448, - 3259972166, - 3044536234, - 3802273706, - 2343626840, - 3445835764, - 4288593698, - 2119022461, + 165946930, + 2519274300, + 1711285377, + 1361145501, + 2380980086, + 3780095448, + 3040402680, + 1501335266, + 1544015110, + 1776405598, + 3482218044, + 1223473186, + 3953006660, + 3986682655, + 2615350654, + 3465778568, + 4036685656, + 3227709881, + 3728734614, + 1585693360, + 769867492, + 2387100844, + 3913015948, + 2189494277, + 2810125685, + 3688154648, + 3779108735, + 2432158795, + 3867672011, + 1348640163, + 3635346055, + 3778218723, + 1049974773, + 1157936058, + 3963405115, + 611839637, + 2960325980, + 1180667343, + 188558021, + 1613283360, + 3915082521, + 312029579, + 3405987189, + 750305758, + 286506996, + 600133865, + 708734611, + 3064919001, + 919297630, + 1097290738, + 3165042719, + 537250146, + 2942587757, + 2424548766, + 3345433033, + 1874121753, + 353612696, + 542705227, + 2596302818, + 2850310186, + 2691267128, + 1970156326, + 2668786399, ]; static final String chatGPTkeySeferNew4 = String.fromCharCodes( @@ -11852,239 +11904,239 @@ final class _Env { _enviedkeychatGPTkeySeferNew4[i])); static const List _enviedkeyanthropicAIkeySeferNew = [ - 2610326673, - 3859599937, - 3817189797, - 1016221983, - 2466945732, - 3591314314, - 296338265, - 2643961978, - 3116348599, - 654204658, - 2418678533, - 2295831587, - 526320816, - 3750791974, - 3556713905, - 1084201472, - 181486777, - 2194836584, - 1309239454, - 1596113380, - 1254281720, - 528361082, - 3260386834, - 53919805, - 117456370, - 1703873319, - 3498962329, - 1567636217, - 2438572632, - 2077329675, - 2794589542, - 1018464922, - 4144935047, - 2501719004, - 3982986378, - 31386390, - 3279259093, - 3127485034, - 2554208907, - 2933795042, - 2491010742, - 1584305934, - 38010258, - 715200689, - 2425208817, - 3803392667, - 1280661112, - 3325045566, - 108089605, - 2400255195, - 602682010, - 1397817155, - 577436547, - 3926478262, - 3040816415, - 2056842632, - 1148931363, - 1196718495, - 329084072, - 262733470, - 772077707, - 1138427637, - 1878922755, - 503125761, - 1698444872, - 153251550, - 350344728, - 2317991816, - 2804603214, - 2161089074, - 3762572366, - 4213804411, - 2438697108, - 2997637493, - 2984194169, - 3136407148, - 2510124400, - 2089078834, - 1679252412, - 2865145714, - 1765663614, - 1407930739, - 286313925, - 1441428922, - 2813365745, - 970697571, - 3978893920, - 3852187190, - 326843419, - 2172801412, - 2675601456, - 2026056647, - 526489973, - 1665556799, - 4063900401, - 497036913, - 3560439872, - 1754800050, - 1358901676, - 42730167, - 2187895732, - 537668320, - 1356504847, - 3213758394, - 264256342, - 57255313, - 1432749497, - 865496490, - 704237278, - 2882737522, - 2326720568, - 1065303720, - 1437637518, - 301521153, - 739339910, + 1390788784, + 2899333933, + 2601017452, + 583956846, + 3110859152, + 193944522, + 951522168, + 1238163245, + 2618464762, + 3456466756, + 2362895605, + 2392646809, + 1447972066, + 1256291038, + 2920427097, + 1750471581, + 1975295559, + 2468637305, + 1648601760, + 289576623, + 2213687885, + 1815967478, + 178013466, + 2788059547, + 365457058, + 3266752649, + 2540305940, + 1940060148, + 3706825815, + 2164572557, + 2305628851, + 703739885, + 4055255283, + 1950391799, + 1146632371, + 3224019945, + 2341516270, + 3381071414, + 2572375663, + 4138541842, + 689066929, + 3282840646, + 566677748, + 1887412751, + 519910471, + 1089100679, + 3824974340, + 427911784, + 3944412672, + 3700666201, + 1149706331, + 1359925046, + 4040017590, + 894323584, + 2254132999, + 2967896879, + 538439848, + 278878499, + 614393047, + 4202890985, + 156481971, + 1649184035, + 508351254, + 2105159426, + 879175573, + 2488976392, + 3587723789, + 2773795641, + 2908862306, + 390299385, + 4154118259, + 1688160337, + 2322984466, + 4223202135, + 2939324335, + 2707297582, + 3764943743, + 3688611620, + 1321505108, + 358717938, + 671761162, + 1399845294, + 2987873839, + 2252061806, + 2129319815, + 1451107509, + 1128177468, + 4219469215, + 2740115944, + 2533695196, + 2958741446, + 1563390906, + 2248533402, + 553421148, + 2994863918, + 2326073237, + 2418385593, + 3370448551, + 2027834607, + 3366697397, + 2278908194, + 1784228985, + 3785959825, + 3382170346, + 1921601241, + 3292065984, + 2880865390, + 3234799239, + 1573280306, + 1139986144, + 2636040870, + 1654065515, + 3919623519, + 578173425, + 1524095618, ]; static const List _envieddataanthropicAIkeySeferNew = [ - 2610326763, - 3859599910, - 3817189768, - 1016222062, - 2466945702, - 3591314409, - 296338292, - 2643961867, - 3116348609, - 654204573, - 2418678582, - 2295831578, - 526320797, - 3750792011, - 3556713951, - 1084201524, - 181486831, - 2194836492, - 1309239507, - 1596113333, - 1254281677, - 528360980, - 3260386919, - 53919863, - 117456279, - 1703873390, - 3498962368, - 1567636113, - 2438572565, - 2077329733, - 2794589522, - 1018464970, - 4144935107, - 2501718917, - 3982986488, - 31386401, - 3279259044, - 3127484933, - 2554209011, - 2933795025, - 2491010715, - 1584306042, - 38010272, - 715200728, - 2425208768, - 3803392727, - 1280661008, - 3325045513, - 108089700, - 2400255125, - 602682062, - 1397817095, - 577436645, - 3926478319, - 3040816473, - 2056842661, - 1148931428, - 1196718585, - 329084048, - 262733545, - 772077795, - 1138427552, - 1878922825, - 503125851, - 1698444811, - 153251501, - 350344748, - 2317991871, - 2804603147, - 2161089111, - 3762572331, - 4213804311, - 2438697183, - 2997637403, - 2984194113, - 3136407091, - 2510124325, - 2089078865, - 1679252433, - 2865145639, - 1765663539, - 1407930654, - 286313900, - 1441428969, - 2813365693, - 970697474, - 3978893830, - 3852187142, - 326843470, - 2172801486, - 2675601495, - 2026056695, - 526489905, - 1665556809, - 4063900324, - 497036829, - 3560439825, - 1754800064, - 1358901736, - 42730179, - 2187895705, - 537668311, - 1356504889, - 3213758457, - 264256260, - 57255395, - 1432749522, - 865496571, - 704237199, - 2882737450, - 2326720586, - 1065303792, - 1437637602, - 301521219, - 739340010, + 1390788810, + 2899333962, + 2601017409, + 583956767, + 3110859250, + 193944489, + 951522133, + 1238163292, + 2618464652, + 3456466731, + 2362895558, + 2392646816, + 1447972047, + 1256290995, + 2920427063, + 1750471593, + 1975295505, + 2468637213, + 1648601837, + 289576702, + 2213687928, + 1815967384, + 178013551, + 2788059601, + 365457095, + 3266752704, + 2540305997, + 1940060060, + 3706825754, + 2164572611, + 2305628807, + 703739837, + 4055255223, + 1950391726, + 1146632385, + 3224019934, + 2341516191, + 3381071449, + 2572375575, + 4138541857, + 689066908, + 3282840626, + 566677702, + 1887412838, + 519910518, + 1089100747, + 3824974444, + 427911775, + 3944412769, + 3700666135, + 1149706255, + 1359925106, + 4040017616, + 894323673, + 2254133057, + 2967896834, + 538439919, + 278878533, + 614393071, + 4202890910, + 156482011, + 1649184118, + 508351324, + 2105159512, + 879175638, + 2488976507, + 3587723833, + 2773795598, + 2908862247, + 390299292, + 4154118166, + 1688160317, + 2322984537, + 4223202105, + 2939324311, + 2707297649, + 3764943658, + 3688611655, + 1321505081, + 358717863, + 671761223, + 1399845315, + 2987873862, + 2252061757, + 2129319883, + 1451107540, + 1128177498, + 4219469231, + 2740115901, + 2533695126, + 2958741409, + 1563390858, + 2248533470, + 553421098, + 2994863995, + 2326073337, + 2418385640, + 3370448597, + 2027834539, + 3366697409, + 2278908175, + 1784228942, + 3785959847, + 3382170281, + 1921601163, + 3292065970, + 2880865285, + 3234799318, + 1573280355, + 1139986104, + 2636040916, + 1654065459, + 3919623475, + 578173363, + 1524095726, ]; static final String anthropicAIkeySeferNew = String.fromCharCodes( @@ -12097,135 +12149,135 @@ final class _Env { _enviedkeyanthropicAIkeySeferNew[i])); static const List _enviedkeyllama3Key = [ - 4028837932, - 4260546478, - 2508551005, - 2830115036, - 4275125918, - 1490730453, - 289146409, - 2362862906, - 2424096839, - 967130102, - 1130964334, - 3441914849, - 954479367, - 2177094903, - 3482024686, - 1680435068, - 3702454123, - 3537594966, - 3533163963, - 307442529, - 2260008623, - 3517272658, - 3351314603, - 1013774106, - 3125662141, - 599535105, - 3798585315, - 651146867, - 451422242, - 2885441188, - 828862834, - 1063085726, - 3208249501, - 3256674627, - 184803436, - 2264276086, - 991605563, - 3595207030, - 3265834222, - 2013029908, - 2240418454, - 3243091034, - 1911027763, - 3595157051, - 4190178444, - 2221390867, - 756994980, - 4231635283, - 1536025620, - 1598423447, - 1674751250, - 3035210998, - 417297115, - 2656960842, - 548135126, - 1423247845, - 1887960592, - 3731609008, - 3551094608, - 192748373, - 1015484349, - 2808988218, - 816564980, + 3303025890, + 3040127445, + 159804670, + 3638428578, + 2485542120, + 3962641454, + 274247243, + 3629970635, + 3234635792, + 2115979750, + 923341190, + 3294121335, + 3806401870, + 2817630500, + 4261607353, + 990462919, + 2333653192, + 4244395593, + 159390286, + 2585700164, + 3692206516, + 3873181795, + 3445980531, + 2163279259, + 455617944, + 1572817148, + 3630998964, + 3691408189, + 3389804023, + 3521084222, + 2836418047, + 4223664654, + 2858292901, + 656160633, + 3309801784, + 1291082685, + 2478661609, + 371653079, + 267632023, + 1722212424, + 3278786486, + 1940105508, + 243864795, + 850041693, + 3528862299, + 3967016145, + 855965655, + 427497014, + 3032641752, + 411531135, + 2222697726, + 198475334, + 3216809596, + 2987641478, + 493693562, + 2376918683, + 2111796947, + 2192882037, + 1188439978, + 930517079, + 2340764567, + 1769421478, + 3217307146, ]; static const List _envieddatallama3Key = [ - 4028837959, - 4260546516, - 2508550970, - 2830114947, - 4275125995, - 1490730369, - 289146481, - 2362862915, - 2424096884, - 967130003, - 1130964311, - 3441914789, - 954479429, - 2177094805, - 3482024621, - 1680434989, - 3702454106, - 3537594896, - 3533163989, - 307442476, - 2260008680, - 3517272639, - 3351314643, - 1013774147, - 3125662154, - 599535189, - 3798585256, - 651146762, - 451422289, - 2885441244, - 828862795, - 1063085771, - 3208249550, - 3256674674, - 184803342, - 2264275971, - 991605577, - 3595206926, - 3265834148, - 2013030014, - 2240418466, - 3243091004, - 1911027829, - 3595157068, - 4190178499, - 2221390969, - 756995009, - 4231635303, - 1536025688, - 1598423501, - 1674751312, - 3035210915, - 417297053, - 2656960769, - 548135068, - 1423247798, - 1887960609, - 3731609064, - 3551094562, - 192748301, - 1015484369, - 2808988280, - 816564888, + 3303025801, + 3040127407, + 159804569, + 3638428669, + 2485542045, + 3962641530, + 274247187, + 3629970610, + 3234635811, + 2115979651, + 923341247, + 3294121267, + 3806401804, + 2817630534, + 4261607418, + 990462870, + 2333653241, + 4244395535, + 159390240, + 2585700105, + 3692206579, + 3873181710, + 3445980427, + 2163279298, + 455618031, + 1572817064, + 3630999039, + 3691408196, + 3389803908, + 3521084230, + 2836417990, + 4223664731, + 2858292982, + 656160584, + 3309801818, + 1291082696, + 2478661531, + 371653039, + 267632093, + 1722212386, + 3278786434, + 1940105538, + 243864733, + 850041642, + 3528862228, + 3967016123, + 855965618, + 427496962, + 3032641684, + 411531045, + 2222697660, + 198475283, + 3216809530, + 2987641549, + 493693488, + 2376918728, + 2111796962, + 2192881965, + 1188440024, + 930517007, + 2340764667, + 1769421540, + 3217307238, ]; static final String llama3Key = String.fromCharCodes(List.generate( @@ -12235,73 +12287,73 @@ final class _Env { ).map((int i) => _envieddatallama3Key[i] ^ _enviedkeyllama3Key[i])); static const List _enviedkeypayMobOutPassword = [ - 1447406561, - 2093396455, - 889466757, - 267011681, - 195104977, - 1833784255, - 3272320506, - 89917803, - 1074159913, - 135520987, - 3178650278, - 3137300870, - 3076994838, - 880004963, - 3363616614, - 1779597272, - 2249104768, - 4131030435, - 2040638370, - 1407055590, - 3533538704, - 1436496288, - 3367298412, - 2692493120, - 3099221991, - 4156728843, - 827687707, - 462624657, - 1178389723, - 1236190347, - 2869039208, - 3537401798, + 691888625, + 3418568462, + 3667328651, + 3120661808, + 3394738650, + 516854079, + 4156982005, + 2562517432, + 2242685936, + 1982999215, + 955894797, + 508403475, + 388170670, + 1154547106, + 2087642196, + 2350753856, + 2501567039, + 2096072246, + 3678900752, + 212267875, + 161654232, + 2850135153, + 3346306461, + 2248978659, + 189152548, + 3328740901, + 550684179, + 4015886188, + 3643074951, + 2340386410, + 3533334677, + 3289964604, ]; static const List _envieddatapayMobOutPassword = [ - 1447406501, - 2093396437, - 889466879, - 267011627, - 195104919, - 1833784263, - 3272320401, - 89917742, - 1074159882, - 135520919, - 3178650344, - 3137300973, - 3076994853, - 880004885, - 3363616540, - 1779597291, - 2249104824, - 4131030489, - 2040638352, - 1407055490, - 3533538761, - 1436496344, - 3367298332, - 2692493070, - 3099221889, - 4156728924, - 827687747, - 462624739, - 1178389635, - 1236190439, - 2869039146, - 3537401770, + 691888565, + 3418568508, + 3667328753, + 3120661882, + 3394738588, + 516854087, + 4156981918, + 2562517501, + 2242685907, + 1982999267, + 955894851, + 508403576, + 388170653, + 1154547156, + 2087642158, + 2350753907, + 2501566983, + 2096072268, + 3678900770, + 212267783, + 161654145, + 2850135049, + 3346306541, + 2248978605, + 189152578, + 3328740978, + 550684235, + 4015886110, + 3643075039, + 2340386310, + 3533334743, + 3289964624, ]; static final String payMobOutPassword = String.fromCharCodes( @@ -12313,57 +12365,57 @@ final class _Env { _envieddatapayMobOutPassword[i] ^ _enviedkeypayMobOutPassword[i])); static const List _enviedkeypayMobOutUserName = [ - 1013574767, - 639112897, - 1235917157, - 2421515853, - 2708943765, - 6962679, - 1791140139, - 3503992553, - 1933345274, - 3348089104, - 3618708317, - 4115309307, - 3744605613, - 2812610486, - 2659459125, - 298833851, - 2310402761, - 1984545639, - 39077877, - 4200612644, - 3837806856, - 683472974, - 944888381, - 1905499873, + 2722035514, + 758760241, + 3666170111, + 848922883, + 2404908817, + 3220605697, + 4045166960, + 2962281252, + 4053803990, + 1833278131, + 1428760222, + 1119616996, + 2649111811, + 3893320771, + 2133081586, + 3983757096, + 2987459343, + 2007545360, + 1656443894, + 1098117283, + 2501420758, + 3444268112, + 1948142210, + 1554282014, ]; static const List _envieddatapayMobOutUserName = [ - 1013574677, - 639112875, - 1235917072, - 2421515815, - 2708943865, - 6962600, - 1791140186, - 3503992479, - 1933345173, - 3348089167, - 3618708283, - 4115309196, - 3744605638, - 2812610524, - 2659459155, - 298833884, - 2310402723, - 1984545547, - 39077805, - 4200612694, - 3837806928, - 683472930, - 944888447, - 1905499789, + 2722035520, + 758760283, + 3666169994, + 848922985, + 2404908925, + 3220605790, + 4045166849, + 2962281298, + 4053803961, + 1833278188, + 1428760312, + 1119616915, + 2649111912, + 3893320745, + 2133081492, + 3983757135, + 2987459429, + 2007545468, + 1656443822, + 1098117329, + 2501420686, + 3444268092, + 1948142272, + 1554282098, ]; static final String payMobOutUserName = String.fromCharCodes( @@ -12374,9 +12426,9 @@ final class _Env { ).map((int i) => _envieddatapayMobOutUserName[i] ^ _enviedkeypayMobOutUserName[i])); - static const List _enviedkeyA = [790208823]; + static const List _enviedkeyA = [2728777574]; - static const List _envieddataA = [790208870]; + static const List _envieddataA = [2728777527]; static final String A = String.fromCharCodes(List.generate( _envieddataA.length, @@ -12384,9 +12436,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataA[i] ^ _enviedkeyA[i])); - static const List _enviedkeyB = [4157270788]; + static const List _enviedkeyB = [253296250]; - static const List _envieddataB = [4157270876]; + static const List _envieddataB = [253296162]; static final String B = String.fromCharCodes(List.generate( _envieddataB.length, @@ -12394,9 +12446,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataB[i] ^ _enviedkeyB[i])); - static const List _enviedkeyC = [339121326]; + static const List _enviedkeyC = [520289948]; - static const List _envieddataC = [339121384]; + static const List _envieddataC = [520290010]; static final String C = String.fromCharCodes(List.generate( _envieddataC.length, @@ -12404,9 +12456,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataC[i] ^ _enviedkeyC[i])); - static const List _enviedkeyD = [3311153128]; + static const List _enviedkeyD = [1839925402]; - static const List _envieddataD = [3311153073]; + static const List _envieddataD = [1839925443]; static final String D = String.fromCharCodes(List.generate( _envieddataD.length, @@ -12414,9 +12466,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataD[i] ^ _enviedkeyD[i])); - static const List _enviedkeyE = [2362968010]; + static const List _enviedkeyE = [1455985570]; - static const List _envieddataE = [2362967936]; + static const List _envieddataE = [1455985640]; static final String E = String.fromCharCodes(List.generate( _envieddataE.length, @@ -12424,9 +12476,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataE[i] ^ _enviedkeyE[i])); - static const List _enviedkeyF = [217753220]; + static const List _enviedkeyF = [1047134101]; - static const List _envieddataF = [217753297]; + static const List _envieddataF = [1047134144]; static final String F = String.fromCharCodes(List.generate( _envieddataF.length, @@ -12434,9 +12486,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataF[i] ^ _enviedkeyF[i])); - static const List _enviedkeyG = [2767547177]; + static const List _enviedkeyG = [3892417735]; - static const List _envieddataG = [2767547234]; + static const List _envieddataG = [3892417676]; static final String G = String.fromCharCodes(List.generate( _envieddataG.length, @@ -12444,9 +12496,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataG[i] ^ _enviedkeyG[i])); - static const List _enviedkeyH = [2770099039]; + static const List _enviedkeyH = [865934818]; - static const List _envieddataH = [2770098952]; + static const List _envieddataH = [865934773]; static final String H = String.fromCharCodes(List.generate( _envieddataH.length, @@ -12454,9 +12506,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataH[i] ^ _enviedkeyH[i])); - static const List _enviedkeyI = [481580432]; + static const List _enviedkeyI = [3782801626]; - static const List _envieddataI = [481580511]; + static const List _envieddataI = [3782801557]; static final String I = String.fromCharCodes(List.generate( _envieddataI.length, @@ -12464,9 +12516,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataI[i] ^ _enviedkeyI[i])); - static const List _enviedkeyJ = [4150445675]; + static const List _enviedkeyJ = [860165277]; - static const List _envieddataJ = [4150445614]; + static const List _envieddataJ = [860165336]; static final String J = String.fromCharCodes(List.generate( _envieddataJ.length, @@ -12474,9 +12526,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataJ[i] ^ _enviedkeyJ[i])); - static const List _enviedkeyK = [3357377804]; + static const List _enviedkeyK = [3780868384]; - static const List _envieddataK = [3357377867]; + static const List _envieddataK = [3780868455]; static final String K = String.fromCharCodes(List.generate( _envieddataK.length, @@ -12484,9 +12536,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataK[i] ^ _enviedkeyK[i])); - static const List _enviedkeyL = [3190757023]; + static const List _enviedkeyL = [1982378567]; - static const List _envieddataL = [3190757069]; + static const List _envieddataL = [1982378517]; static final String L = String.fromCharCodes(List.generate( _envieddataL.length, @@ -12494,9 +12546,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataL[i] ^ _enviedkeyL[i])); - static const List _enviedkeyM = [1526476099]; + static const List _enviedkeyM = [1120129024]; - static const List _envieddataM = [1526476045]; + static const List _envieddataM = [1120129102]; static final String M = String.fromCharCodes(List.generate( _envieddataM.length, @@ -12504,9 +12556,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataM[i] ^ _enviedkeyM[i])); - static const List _enviedkeyN = [1200434308]; + static const List _enviedkeyN = [3577342690]; - static const List _envieddataN = [1200434374]; + static const List _envieddataN = [3577342624]; static final String N = String.fromCharCodes(List.generate( _envieddataN.length, @@ -12514,9 +12566,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataN[i] ^ _enviedkeyN[i])); - static const List _enviedkeyO = [3304809318]; + static const List _enviedkeyO = [3807693943]; - static const List _envieddataO = [3304809263]; + static const List _envieddataO = [3807693886]; static final String O = String.fromCharCodes(List.generate( _envieddataO.length, @@ -12524,9 +12576,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataO[i] ^ _enviedkeyO[i])); - static const List _enviedkeyP = [313887237]; + static const List _enviedkeyP = [3355353777]; - static const List _envieddataP = [313887315]; + static const List _envieddataP = [3355353831]; static final String P = String.fromCharCodes(List.generate( _envieddataP.length, @@ -12534,9 +12586,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataP[i] ^ _enviedkeyP[i])); - static const List _enviedkeyQ = [1217300771]; + static const List _enviedkeyQ = [2038250624]; - static const List _envieddataQ = [1217300834]; + static const List _envieddataQ = [2038250689]; static final String Q = String.fromCharCodes(List.generate( _envieddataQ.length, @@ -12544,9 +12596,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataQ[i] ^ _enviedkeyQ[i])); - static const List _enviedkeyR = [3157367908]; + static const List _enviedkeyR = [4026835158]; - static const List _envieddataR = [3157367848]; + static const List _envieddataR = [4026835098]; static final String R = String.fromCharCodes(List.generate( _envieddataR.length, @@ -12554,9 +12606,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataR[i] ^ _enviedkeyR[i])); - static const List _enviedkeyS = [1054587655]; + static const List _enviedkeyS = [3309984485]; - static const List _envieddataS = [1054587741]; + static const List _envieddataS = [3309984447]; static final String S = String.fromCharCodes(List.generate( _envieddataS.length, @@ -12564,9 +12616,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataS[i] ^ _enviedkeyS[i])); - static const List _enviedkeyT = [3260807070]; + static const List _enviedkeyT = [2410998883]; - static const List _envieddataT = [3260807133]; + static const List _envieddataT = [2410998816]; static final String T = String.fromCharCodes(List.generate( _envieddataT.length, @@ -12574,9 +12626,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataT[i] ^ _enviedkeyT[i])); - static const List _enviedkeyU = [196339280]; + static const List _enviedkeyU = [4123622442]; - static const List _envieddataU = [196339224]; + static const List _envieddataU = [4123622498]; static final String U = String.fromCharCodes(List.generate( _envieddataU.length, @@ -12584,9 +12636,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataU[i] ^ _enviedkeyU[i])); - static const List _enviedkeyV = [238531588]; + static const List _enviedkeyV = [2664631239]; - static const List _envieddataV = [238531668]; + static const List _envieddataV = [2664631191]; static final String V = String.fromCharCodes(List.generate( _envieddataV.length, @@ -12594,9 +12646,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataV[i] ^ _enviedkeyV[i])); - static const List _enviedkeyW = [3579470790]; + static const List _enviedkeyW = [3105440214]; - static const List _envieddataW = [3579470738]; + static const List _envieddataW = [3105440130]; static final String W = String.fromCharCodes(List.generate( _envieddataW.length, @@ -12604,9 +12656,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataW[i] ^ _enviedkeyW[i])); - static const List _enviedkeyX = [1742540441]; + static const List _enviedkeyX = [2305594320]; - static const List _envieddataX = [1742540509]; + static const List _envieddataX = [2305594260]; static final String X = String.fromCharCodes(List.generate( _envieddataX.length, @@ -12614,9 +12666,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataX[i] ^ _enviedkeyX[i])); - static const List _enviedkeyY = [3258182913]; + static const List _enviedkeyY = [2266378590]; - static const List _envieddataY = [3258182994]; + static const List _envieddataY = [2266378509]; static final String Y = String.fromCharCodes(List.generate( _envieddataY.length, @@ -12624,9 +12676,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataY[i] ^ _enviedkeyY[i])); - static const List _enviedkeyZ = [947721976]; + static const List _enviedkeyZ = [4281016674]; - static const List _envieddataZ = [947721909]; + static const List _envieddataZ = [4281016623]; static final String Z = String.fromCharCodes(List.generate( _envieddataZ.length, @@ -12634,9 +12686,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataZ[i] ^ _enviedkeyZ[i])); - static const List _enviedkeya = [2495545615]; + static const List _enviedkeya = [3819752563]; - static const List _envieddataa = [2495545726]; + static const List _envieddataa = [3819752450]; static final String a = String.fromCharCodes(List.generate( _envieddataa.length, @@ -12644,9 +12696,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataa[i] ^ _enviedkeya[i])); - static const List _enviedkeyb = [3550339651]; + static const List _enviedkeyb = [3279865818]; - static const List _envieddatab = [3550339643]; + static const List _envieddatab = [3279865762]; static final String b = String.fromCharCodes(List.generate( _envieddatab.length, @@ -12654,9 +12706,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatab[i] ^ _enviedkeyb[i])); - static const List _enviedkeyc = [2867404989]; + static const List _enviedkeyc = [2702050004]; - static const List _envieddatac = [2867405019]; + static const List _envieddatac = [2702049970]; static final String c = String.fromCharCodes(List.generate( _envieddatac.length, @@ -12664,9 +12716,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatac[i] ^ _enviedkeyc[i])); - static const List _enviedkeyd = [326372699]; + static const List _enviedkeyd = [3730998599]; - static const List _envieddatad = [326372642]; + static const List _envieddatad = [3730998590]; static final String d = String.fromCharCodes(List.generate( _envieddatad.length, @@ -12674,9 +12726,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatad[i] ^ _enviedkeyd[i])); - static const List _enviedkeye = [1532851634]; + static const List _enviedkeye = [3826033034]; - static const List _envieddatae = [1532851672]; + static const List _envieddatae = [3826033120]; static final String e = String.fromCharCodes(List.generate( _envieddatae.length, @@ -12684,9 +12736,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatae[i] ^ _enviedkeye[i])); - static const List _enviedkeyf = [3527966894]; + static const List _enviedkeyf = [1881927301]; - static const List _envieddataf = [3527966939]; + static const List _envieddataf = [1881927408]; static final String f = String.fromCharCodes(List.generate( _envieddataf.length, @@ -12694,9 +12746,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataf[i] ^ _enviedkeyf[i])); - static const List _enviedkeyg = [290367913]; + static const List _enviedkeyg = [1156001031]; - static const List _envieddatag = [290367938]; + static const List _envieddatag = [1156001132]; static final String g = String.fromCharCodes(List.generate( _envieddatag.length, @@ -12704,9 +12756,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatag[i] ^ _enviedkeyg[i])); - static const List _enviedkeyh = [2413743376]; + static const List _enviedkeyh = [1060697757]; - static const List _envieddatah = [2413743463]; + static const List _envieddatah = [1060697834]; static final String h = String.fromCharCodes(List.generate( _envieddatah.length, @@ -12714,9 +12766,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatah[i] ^ _enviedkeyh[i])); - static const List _enviedkeyi = [1213908065]; + static const List _enviedkeyi = [1267625729]; - static const List _envieddatai = [1213907982]; + static const List _envieddatai = [1267625838]; static final String i = String.fromCharCodes(List.generate( _envieddatai.length, @@ -12724,9 +12776,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatai[i] ^ _enviedkeyi[i])); - static const List _enviedkeyj = [3881650633]; + static const List _enviedkeyj = [3609401216]; - static const List _envieddataj = [3881650604]; + static const List _envieddataj = [3609401317]; static final String j = String.fromCharCodes(List.generate( _envieddataj.length, @@ -12734,9 +12786,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataj[i] ^ _enviedkeyj[i])); - static const List _enviedkeyk = [1801536952]; + static const List _enviedkeyk = [3581851696]; - static const List _envieddatak = [1801536991]; + static const List _envieddatak = [3581851735]; static final String k = String.fromCharCodes(List.generate( _envieddatak.length, @@ -12744,9 +12796,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatak[i] ^ _enviedkeyk[i])); - static const List _enviedkeyl = [45343448]; + static const List _enviedkeyl = [2540206731]; - static const List _envieddatal = [45343402]; + static const List _envieddatal = [2540206841]; static final String l = String.fromCharCodes(List.generate( _envieddatal.length, @@ -12754,9 +12806,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatal[i] ^ _enviedkeyl[i])); - static const List _enviedkeym = [4021093781]; + static const List _enviedkeym = [1113073961]; - static const List _envieddatam = [4021093883]; + static const List _envieddatam = [1113073991]; static final String m = String.fromCharCodes(List.generate( _envieddatam.length, @@ -12764,9 +12816,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatam[i] ^ _enviedkeym[i])); - static const List _enviedkeyn = [2152779744]; + static const List _enviedkeyn = [3783724403]; - static const List _envieddatan = [2152779650]; + static const List _envieddatan = [3783724305]; static final String n = String.fromCharCodes(List.generate( _envieddatan.length, @@ -12774,9 +12826,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatan[i] ^ _enviedkeyn[i])); - static const List _enviedkeyo = [2183384923]; + static const List _enviedkeyo = [2007287074]; - static const List _envieddatao = [2183384882]; + static const List _envieddatao = [2007287115]; static final String o = String.fromCharCodes(List.generate( _envieddatao.length, @@ -12784,9 +12836,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatao[i] ^ _enviedkeyo[i])); - static const List _enviedkeyp = [2778716820]; + static const List _enviedkeyp = [770064759]; - static const List _envieddatap = [2778716898]; + static const List _envieddatap = [770064641]; static final String p = String.fromCharCodes(List.generate( _envieddatap.length, @@ -12794,9 +12846,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatap[i] ^ _enviedkeyp[i])); - static const List _enviedkeyq = [2261730189]; + static const List _enviedkeyq = [1035975926]; - static const List _envieddataq = [2261730284]; + static const List _envieddataq = [1035975831]; static final String q = String.fromCharCodes(List.generate( _envieddataq.length, @@ -12804,9 +12856,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataq[i] ^ _enviedkeyq[i])); - static const List _enviedkeyr = [1038970282]; + static const List _enviedkeyr = [3575839329]; - static const List _envieddatar = [1038970310]; + static const List _envieddatar = [3575839245]; static final String r = String.fromCharCodes(List.generate( _envieddatar.length, @@ -12814,9 +12866,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatar[i] ^ _enviedkeyr[i])); - static const List _enviedkeys = [3241441262]; + static const List _enviedkeys = [708247410]; - static const List _envieddatas = [3241441172]; + static const List _envieddatas = [708247304]; static final String s = String.fromCharCodes(List.generate( _envieddatas.length, @@ -12824,9 +12876,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatas[i] ^ _enviedkeys[i])); - static const List _enviedkeyt = [393589558]; + static const List _enviedkeyt = [1462885198]; - static const List _envieddatat = [393589589]; + static const List _envieddatat = [1462885165]; static final String t = String.fromCharCodes(List.generate( _envieddatat.length, @@ -12834,9 +12886,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatat[i] ^ _enviedkeyt[i])); - static const List _enviedkeyu = [2801377522]; + static const List _enviedkeyu = [3739151416]; - static const List _envieddatau = [2801377434]; + static const List _envieddatau = [3739151440]; static final String u = String.fromCharCodes(List.generate( _envieddatau.length, @@ -12844,9 +12896,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatau[i] ^ _enviedkeyu[i])); - static const List _enviedkeyv = [22318615]; + static const List _enviedkeyv = [2662581886]; - static const List _envieddatav = [22318695]; + static const List _envieddatav = [2662581774]; static final String v = String.fromCharCodes(List.generate( _envieddatav.length, @@ -12854,9 +12906,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatav[i] ^ _enviedkeyv[i])); - static const List _enviedkeyw = [4160147704]; + static const List _enviedkeyw = [3498508020]; - static const List _envieddataw = [4160147596]; + static const List _envieddataw = [3498507904]; static final String w = String.fromCharCodes(List.generate( _envieddataw.length, @@ -12864,9 +12916,9 @@ final class _Env { growable: false, ).map((int i) => _envieddataw[i] ^ _enviedkeyw[i])); - static const List _enviedkeyx = [2379409964]; + static const List _enviedkeyx = [907463890]; - static const List _envieddatax = [2379409992]; + static const List _envieddatax = [907463862]; static final String x = String.fromCharCodes(List.generate( _envieddatax.length, @@ -12874,9 +12926,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatax[i] ^ _enviedkeyx[i])); - static const List _enviedkeyy = [1979465178]; + static const List _enviedkeyy = [4234849242]; - static const List _envieddatay = [1979465129]; + static const List _envieddatay = [4234849193]; static final String y = String.fromCharCodes(List.generate( _envieddatay.length, @@ -12884,9 +12936,9 @@ final class _Env { growable: false, ).map((int i) => _envieddatay[i] ^ _enviedkeyy[i])); - static const List _enviedkeyz = [2793086502]; + static const List _enviedkeyz = [993653623]; - static const List _envieddataz = [2793086539]; + static const List _envieddataz = [993653530]; static final String z = String.fromCharCodes(List.generate( _envieddataz.length, @@ -12895,85 +12947,85 @@ final class _Env { ).map((int i) => _envieddataz[i] ^ _enviedkeyz[i])); static const List _enviedkeykeyOfApp = [ - 3144489466, - 1666483556, - 3055465324, - 308770032, - 2106328215, - 1879446406, - 3679741800, - 2036688183, - 922438476, - 761354798, - 3685794992, - 1572166681, - 673651155, - 194399810, - 1385880161, - 2427574055, - 2030054014, - 1277931034, - 2941645986, - 903371468, - 4229680578, - 3299183019, - 287683394, - 3882716849, - 2488289196, - 433442170, - 2033657495, - 1286814183, - 2604099384, - 1666805869, - 3970501501, - 1187693019, - 375522994, - 4001160297, - 2460191685, - 3238033906, - 1895309082, - 654212532, + 737221370, + 369145243, + 1722608103, + 319218073, + 868553379, + 1243027350, + 305701998, + 2799593867, + 4161860662, + 645216568, + 2274517069, + 3991029625, + 633555885, + 3526090868, + 1017912832, + 1378969199, + 1984596014, + 3743288617, + 1050438536, + 1625963056, + 4294244547, + 4098360146, + 2396486816, + 2776509622, + 244712926, + 3076306074, + 2971868632, + 1585392295, + 2985921549, + 834885838, + 2460877066, + 4260875487, + 3855507550, + 1038313282, + 3524366194, + 3994072033, + 706315910, + 2119621937, ]; static const List _envieddatakeyOfApp = [ - 3144489368, - 1666483461, - 3055465216, - 308769923, - 2106328306, - 1879446512, - 3679741736, - 2036688128, - 922438522, - 761354775, - 3685794950, - 1572166765, - 673651122, - 194399776, - 1385880079, - 2427574086, - 2030053919, - 1277931104, - 2941646023, - 903371455, - 4229680559, - 3299183054, - 287683370, - 3882716884, - 2488289246, - 433442079, - 2033657584, - 1286814109, - 2604099400, - 1666805771, - 3970501399, - 1187692980, - 375523050, - 4001160219, - 2460191645, - 3238033792, - 1895309144, - 654212550, + 737221272, + 369145338, + 1722608011, + 319218154, + 868553414, + 1243027424, + 305701934, + 2799593916, + 4161860608, + 645216513, + 2274517115, + 3991029517, + 633555916, + 3526090774, + 1017912942, + 1378969102, + 1984596047, + 3743288659, + 1050438637, + 1625963075, + 4294244526, + 4098360119, + 2396486856, + 2776509651, + 244712876, + 3076306175, + 2971868607, + 1585392349, + 2985921661, + 834885800, + 2460877152, + 4260875440, + 3855507462, + 1038313264, + 3524366122, + 3994071955, + 706315972, + 2119621955, ]; static final String keyOfApp = String.fromCharCodes(List.generate( @@ -12983,53 +13035,53 @@ final class _Env { ).map((int i) => _envieddatakeyOfApp[i] ^ _enviedkeykeyOfApp[i])); static const List _enviedkeyinitializationVector = [ - 4088523283, - 3088285241, - 3340043865, - 4021052848, - 592798952, - 3788458144, - 3739085495, - 2654765096, - 411384805, - 1550714942, - 3468609073, - 2491061706, - 3644170742, - 772939244, - 2437849604, - 4003899368, - 390918971, - 3324137380, - 4284369570, - 2620429995, - 2087014837, - 2545563767, + 3635815207, + 453767232, + 1182787676, + 3136825516, + 3577950102, + 3014404719, + 2793409857, + 1752764365, + 3187658772, + 4016134702, + 976749, + 3514395586, + 1983825889, + 2267838664, + 3172648930, + 4191582625, + 1892578606, + 1448432109, + 3928659209, + 1151265388, + 4200269382, + 211740698, ]; static const List _envieddatainitializationVector = [ - 4088523362, - 3088285249, - 3340043839, - 4021052873, - 592798850, - 3788458197, - 3739085532, - 2654765151, - 411384714, - 1550714971, - 3468609110, - 2491061688, - 3644170648, - 772939150, - 2437849709, - 4003899294, - 390919011, - 3324137430, - 4284369658, - 2620430041, - 2087014903, - 2545563653, + 3635815254, + 453767224, + 1182787642, + 3136825557, + 3577950204, + 3014404634, + 2793409834, + 1752764346, + 3187658875, + 4016134731, + 976650, + 3514395568, + 1983825807, + 2267838634, + 3172648843, + 4191582679, + 1892578678, + 1448432031, + 3928659281, + 1151265310, + 4200269316, + 211740776, ]; static final String initializationVector = String.fromCharCodes( @@ -13042,53 +13094,53 @@ final class _Env { _enviedkeyinitializationVector[i])); static const List _enviedkeyemailService = [ - 1450026858, - 2580977595, - 960424737, - 854704790, - 188036395, - 2196928057, - 1293224364, - 2655719690, - 3611490876, - 363082939, - 2944077843, - 4018897728, - 1347145060, - 3562962795, - 766628798, - 817301965, - 1358659985, - 2929735171, - 1533112794, - 878845923, - 3207888473, - 3801939677, + 3757736252, + 3530158478, + 1690974045, + 4047876702, + 3547870269, + 4237459698, + 1140595114, + 205393449, + 742714358, + 4221307462, + 2269677427, + 506590645, + 4152850886, + 389921230, + 854624428, + 3274461352, + 2803926361, + 4023450891, + 3556696491, + 4026930413, + 3090981958, + 3577906890, ]; static const List _envieddataemailService = [ - 1450026777, - 2580977630, - 960424775, - 854704883, - 188036441, - 2196928074, - 1293224393, - 2655719800, - 3611490890, - 363082962, - 2944077936, - 4018897701, - 1347144996, - 3562962700, - 766628819, - 817301932, - 1358660088, - 2929735279, - 1533112820, - 878845824, - 3207888438, - 3801939632, + 3757736271, + 3530158571, + 1690974011, + 4047876667, + 3547870287, + 4237459585, + 1140595151, + 205393499, + 742714240, + 4221307439, + 2269677328, + 506590672, + 4152850822, + 389921193, + 854624449, + 3274461385, + 2803926320, + 4023450983, + 3556696453, + 4026930318, + 3090981929, + 3577906855, ]; static final String emailService = String.fromCharCodes(List.generate( @@ -13098,135 +13150,135 @@ final class _Env { ).map((int i) => _envieddataemailService[i] ^ _enviedkeyemailService[i])); static const List _enviedkeysss_encryptionSalt = [ - 3030294076, - 2184386773, - 2441817170, - 4054441645, - 2000225601, - 2109261965, - 293742603, - 1674622103, - 1441995541, - 238379855, - 110551298, - 1063109727, - 318604351, - 3456167431, - 2933306538, - 1540982458, - 8346864, - 1118108624, - 2238359344, - 3571383273, - 2993828196, - 734539916, - 261463279, - 2476253052, - 1562967200, - 506896649, - 300939957, - 562826492, - 1448421480, - 959333922, - 3520986600, - 1487217438, - 78933616, - 437238109, - 427513699, - 4218099813, - 1269328006, - 431315963, - 2971767229, - 138616995, - 3031571110, - 1111974322, - 3457724080, - 3315767498, - 418421439, - 3423699673, - 2818874312, - 2688495353, - 1551340035, - 4062190941, - 187241146, - 2146051190, - 2046082952, - 960611445, - 1453169634, - 3306695269, - 4080810109, - 1614064860, - 2111148331, - 2551320013, - 1844097733, - 298459211, - 3083049535, + 1002437411, + 1276596604, + 3686199103, + 3942226461, + 1476043512, + 3342451630, + 3109239762, + 1188176467, + 148259435, + 1479660765, + 998215119, + 3964599801, + 3253374012, + 447604137, + 3347121049, + 1946668561, + 1357464645, + 2710667364, + 470836777, + 3907619736, + 2060266349, + 636597406, + 4142349334, + 2604926716, + 142934911, + 2025191727, + 3482668585, + 2025098431, + 2744045050, + 2949710863, + 4130944691, + 3787627019, + 399942557, + 1923329033, + 3028447935, + 1087236179, + 3289537550, + 2381295466, + 1293468443, + 968018163, + 2821762394, + 3298370204, + 4247843360, + 823955713, + 3568230274, + 2300037345, + 1309323818, + 2885137547, + 981224663, + 736049254, + 1977988263, + 3414144505, + 331044559, + 1722930122, + 2229941005, + 4096792598, + 3915006122, + 1916175725, + 1187133702, + 686591299, + 1270170285, + 662310015, + 915441541, ]; static const List _envieddatasss_encryptionSalt = [ - 3030294086, - 2184386738, - 2441817215, - 4054441691, - 2000225578, - 2109262049, - 293742690, - 1674622194, - 1441995576, - 238379901, - 110551406, - 1063109742, - 318604389, - 3456167531, - 2933306586, - 1540982466, - 8346777, - 1118108572, - 2238359418, - 3571383263, - 2993828115, - 734539997, - 261463200, - 2476252938, - 1562967234, - 506896747, - 300939905, - 562826408, - 1448421382, - 959333985, - 3520986577, - 1487217478, - 78933506, - 437238053, - 427513604, - 4218099760, - 1269328067, - 431315842, - 2971767275, - 138617074, - 3031571183, - 1111974343, - 3457724038, - 3315767454, - 418421494, - 3423699613, - 2818874364, - 2688495240, - 1551340115, - 4062190953, - 187241212, - 2146051107, - 2046083037, - 960611332, - 1453169549, - 3306695222, - 4080810056, - 1614064772, - 2111148377, - 2551319957, - 1844097705, - 298459145, - 3083049555, + 1002437465, + 1276596507, + 3686199058, + 3942226539, + 1476043411, + 3342451650, + 3109239739, + 1188176438, + 148259398, + 1479660783, + 998215075, + 3964599752, + 3253374054, + 447604165, + 3347121129, + 1946668649, + 1357464620, + 2710667304, + 470836835, + 3907619758, + 2060266266, + 636597455, + 4142349401, + 2604926602, + 142934813, + 2025191757, + 3482668573, + 2025098475, + 2744044948, + 2949710924, + 4130944650, + 3787627091, + 399942639, + 1923329137, + 3028447960, + 1087236102, + 3289537611, + 2381295379, + 1293468493, + 968018082, + 2821762323, + 3298370281, + 4247843350, + 823955797, + 3568230347, + 2300037285, + 1309323806, + 2885137658, + 981224583, + 736049234, + 1977988321, + 3414144428, + 331044506, + 1722930107, + 2229941090, + 4096792645, + 3915006111, + 1916175669, + 1187133812, + 686591259, + 1270170305, + 662309949, + 915441641, ]; static final String sss_encryptionSalt = String.fromCharCodes( @@ -13238,73 +13290,73 @@ final class _Env { _envieddatasss_encryptionSalt[i] ^ _enviedkeysss_encryptionSalt[i])); static const List _enviedkeysss_pass = [ - 995884159, - 887953000, - 714566863, - 4104654898, - 4182278616, - 1782371784, - 3475196250, - 2736672642, - 1305852441, - 1520890666, - 1970450076, - 1918768514, - 1566635078, - 3822570528, - 3050965938, - 1660137143, - 720438416, - 117262387, - 2221839396, - 3580461107, - 2811479356, - 3685523448, - 1302385529, - 1057995272, - 2600180715, - 3665890371, - 3653583442, - 1864560249, - 3851752702, - 2353835133, - 425425138, - 3780492042, + 2747931136, + 2869758478, + 2901687250, + 3674333311, + 2077515912, + 1676896265, + 2820997702, + 2878017126, + 1352680310, + 388738787, + 292462729, + 2947139344, + 3697171721, + 2639866237, + 1006707417, + 3915118699, + 2148369991, + 333802985, + 460129875, + 1288609461, + 2055047045, + 568974885, + 2329885766, + 921811783, + 1672294058, + 1493692829, + 722682121, + 707970428, + 1166456072, + 3944730669, + 48488915, + 2985822875, ]; static const List _envieddatasss_pass = [ - 995884040, - 887952921, - 714566817, - 4104654943, - 4182278569, - 1782371769, - 3475196201, - 2736672744, - 1305852512, - 1520890716, - 1970450155, - 1918768628, - 1566635132, - 3822570574, - 3050965955, - 1660137157, - 720438525, - 117262442, - 2221839470, - 3580461155, - 2811479420, - 3685523401, - 1302385486, - 1057995323, - 2600180700, - 3665890427, - 3653583370, - 1864560139, - 3851752614, - 2353835025, - 425425072, - 3780492134, + 2747931255, + 2869758591, + 2901687228, + 3674333202, + 2077516025, + 1676896376, + 2820997685, + 2878017036, + 1352680207, + 388738709, + 292462846, + 2947139430, + 3697171763, + 2639866131, + 1006707368, + 3915118617, + 2148369962, + 333802928, + 460129817, + 1288609509, + 2055047109, + 568974868, + 2329885809, + 921811828, + 1672294045, + 1493692837, + 722682193, + 707970318, + 1166456144, + 3944730689, + 48488849, + 2985822967, ]; static final String sss_pass = String.fromCharCodes(List.generate( @@ -13314,21 +13366,21 @@ final class _Env { ).map((int i) => _envieddatasss_pass[i] ^ _enviedkeysss_pass[i])); static const List _enviedkeyaddd = [ - 4226733338, - 3680120800, - 818400285, - 3211340566, - 1998008109, - 1068785573, + 1898037812, + 672528233, + 2411052927, + 446276678, + 1096083963, + 3735439123, ]; static const List _envieddataaddd = [ - 4226733400, - 3680120716, - 818400351, - 3211340666, - 1998008163, - 1068785609, + 1898037878, + 672528133, + 2411052861, + 446276650, + 1096083893, + 3735439231, ]; static final String addd = String.fromCharCodes(List.generate( @@ -13338,35 +13390,35 @@ final class _Env { ).map((int i) => _envieddataaddd[i] ^ _enviedkeyaddd[i])); static const List _enviedkeypassnpassenger = [ - 2800786341, - 2219206184, - 2498462578, - 3622221954, - 3357691562, - 3466674944, - 2630475993, - 569427462, - 979640254, - 3480637456, - 3107412054, - 2346508012, - 1982825669, + 4267335078, + 4204657130, + 1281084306, + 1822032932, + 3175750404, + 1137513229, + 1624757084, + 3717224503, + 603175625, + 3573758605, + 1137882763, + 1718864519, + 2367410150, ]; static const List _envieddatapassnpassenger = [ - 2800786381, - 2219206218, - 2498462485, - 3622222048, - 3357691587, - 3466675060, - 2630475963, - 569427550, - 979640268, - 3480637512, - 3107412004, - 2346507950, - 1982825655, + 4267335118, + 4204657032, + 1281084405, + 1822032966, + 3175750509, + 1137513337, + 1624757054, + 3717224559, + 603175611, + 3573758677, + 1137882873, + 1718864581, + 2367410068, ]; static final String passnpassenger = String.fromCharCodes(List.generate( @@ -13376,15 +13428,15 @@ final class _Env { ).map((int i) => _envieddatapassnpassenger[i] ^ _enviedkeypassnpassenger[i])); static const List _enviedkeynewId = [ - 3689825073, - 2474562378, - 3415603076, + 1708961613, + 3143686563, + 3680995221, ]; static const List _envieddatanewId = [ - 3689825119, - 2474562351, - 3415603187, + 1708961571, + 3143686598, + 3680995298, ]; static final String newId = String.fromCharCodes(List.generate( @@ -13394,33 +13446,33 @@ final class _Env { ).map((int i) => _envieddatanewId[i] ^ _enviedkeynewId[i])); static const List _enviedkeyallowed = [ - 3819944881, - 3418260691, - 3772376119, - 3300207136, - 3821994322, - 195386792, - 818039312, - 566350193, - 1677513716, - 388768439, - 2652883742, - 497412022, + 2888874493, + 1093801966, + 3320064253, + 1979931149, + 3388111246, + 2089115130, + 301467299, + 1358596359, + 1608776289, + 4172621919, + 3279148932, + 3240447191, ]; static const List _envieddataallowed = [ - 3819944933, - 3418260641, - 3772376158, - 3300207184, - 3821994280, - 195386860, - 818039394, - 566350104, - 1677513602, - 388768466, - 2652883820, - 497411980, + 2888874409, + 1093801884, + 3320064148, + 1979931261, + 3388111348, + 2089115070, + 301467345, + 1358596462, + 1608776215, + 4172621882, + 3279149046, + 3240447213, ]; static final String allowed = String.fromCharCodes(List.generate( @@ -13430,33 +13482,33 @@ final class _Env { ).map((int i) => _envieddataallowed[i] ^ _enviedkeyallowed[i])); static const List _enviedkeyallowedWallet = [ - 2007626373, - 1391688147, - 1823082158, - 3519929453, - 3680274840, - 926786771, - 537698603, - 3689181525, - 1636860822, - 1860176105, - 675997846, - 87173367, + 3853938684, + 1152968613, + 3956190127, + 2953498893, + 1848046511, + 577904594, + 4200141909, + 3520148177, + 1954672960, + 3846864451, + 1165090405, + 819178616, ]; static const List _envieddataallowedWallet = [ - 2007626449, - 1391688097, - 1823082183, - 3519929373, - 3680274914, - 926786692, - 537698634, - 3689181497, - 1636860922, - 1860176012, - 675997922, - 87173325, + 3853938600, + 1152968663, + 3956190150, + 2953499005, + 1848046549, + 577904517, + 4200141876, + 3520148157, + 1954672940, + 3846864422, + 1165090321, + 819178562, ]; static final String allowedWallet = String.fromCharCodes(List.generate( diff --git a/lib/main.dart b/lib/main.dart index e55f5b3..cbc3455 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -73,11 +73,11 @@ Future backgroundMessageHandler(RemoteMessage message) async { } if (Platform.isAndroid) { - if (message.notification != null && message.notification!.title != null) { + String category = message.data['category'] ?? ''; + if (message.notification != null) { Log.print('message.notification!.title: ${message.notification!.title}'); - if (message.notification?.title == 'Order' || - message.notification?.title == 'OrderSpeed') { + if (category == 'Order' || category == 'OrderSpeed') { final myListString = message.data['DriverList'] ?? '[]'; Log.print('myListString: $myListString'); @@ -97,7 +97,7 @@ Future backgroundMessageHandler(RemoteMessage message) async { enableDrag: true, flag: OverlayFlag.focusPointer, positionGravity: PositionGravity.auto, - height: 1400, + height: WindowSize.matchParent, width: WindowSize.matchParent, startPosition: const OverlayPosition(0, -30), ); @@ -218,10 +218,6 @@ class _MyAppState extends State with WidgetsBindingObserver { Future _initApp() async { try { - final AppInitializer initializer = AppInitializer(); - await initializer.initializeApp(); - await EncryptionHelper.initialize(); - if (!Get.isRegistered()) { Get.put(NotificationController()); } diff --git a/lib/views/auth/captin/login_captin.dart b/lib/views/auth/captin/login_captin.dart index 9816f2b..fc0c1d6 100755 --- a/lib/views/auth/captin/login_captin.dart +++ b/lib/views/auth/captin/login_captin.dart @@ -440,6 +440,7 @@ class LoginCaptin extends StatelessWidget { MyElevatedButton( title: "Allow Location Access".tr, onPressed: () async { + Get.put(LoginDriverController()); await getLocationPermission(); // Assumes this function handles the request logic if (await Permission.location.isGranted) { box.write(BoxName.locationPermission, 'true'); diff --git a/lib/views/home/Captin/home_captain/home_captin.dart b/lib/views/home/Captin/home_captain/home_captin.dart index 3143760..0af0038 100755 --- a/lib/views/home/Captin/home_captain/home_captin.dart +++ b/lib/views/home/Captin/home_captain/home_captin.dart @@ -45,6 +45,7 @@ class HomeCaptain extends StatelessWidget { checkForUpdate(context); getPermissionOverlay(); showDriverGiftClaim(context); + checkForAppliedRide(context); }); // The stack is now even simpler. @@ -187,11 +188,38 @@ class _MapView extends StatelessWidget { @override Widget build(BuildContext context) { - final locationController = Get.find(); - return GetBuilder(builder: (controller) { - return controller.isLoading - ? const MyCircularProgressIndicator() - : GoogleMap( + // جلب الكونترولر الرئيسي + final homeController = Get.find(); + + return GetBuilder( + builder: (controller) { + if (controller.isLoading) { + return const MyCircularProgressIndicator(); + } + + // --- هذا هو التعديل --- + // هذا الـ Builder يستمع إلى تحديثات الموقع + return GetBuilder( + builder: (locationController) { + // --- هذا هو الكود الجديد --- + // نقوم بتحريك الكاميرا يدوياً عند كل تحديث للموقع + if (homeController.mapHomeCaptainController != null && + homeController.isActive) { + homeController.mapHomeCaptainController!.animateCamera( + CameraUpdate.newCameraPosition( + CameraPosition( + target: locationController.myLocation, // الموقع الجديد + zoom: 17.5, // تقريب لمتابعة السائق + tilt: 50.0, // زاوية رؤية 3D + bearing: locationController.heading, // اتجاه السيارة + ), + ), + ); + } + // --- نهاية الكود الجديد --- + + // إرجاع الخريطة + return GoogleMap( padding: const EdgeInsets.only(bottom: 110, top: 300), fortyFiveDegreeImageryEnabled: true, onMapCreated: controller.onMapCreated, @@ -200,19 +228,12 @@ class _MapView extends StatelessWidget { target: locationController.myLocation, zoom: 15, ), - onCameraMove: (position) { - CameraPosition( - target: locationController.myLocation, - zoom: 17.5, - tilt: 50.0, - bearing: locationController.heading, - ); - }, + // --- تم حذف onCameraMove الخاطئ --- markers: { Marker( markerId: MarkerId('MyLocation'.tr), - position: locationController.myLocation, - rotation: locationController.heading, + position: locationController.myLocation, // يتم تحديثه من هنا + rotation: locationController.heading, // يتم تحديثه من هنا flat: true, anchor: const Offset(0.5, 0.5), icon: controller.carIcon, @@ -222,12 +243,15 @@ class _MapView extends StatelessWidget { myLocationButtonEnabled: false, myLocationEnabled: false, trafficEnabled: controller.mapTrafficON, - buildingsEnabled: true, + buildingsEnabled: false, mapToolbarEnabled: false, - compassEnabled: true, + compassEnabled: false, zoomControlsEnabled: false, ); - }); + }, + ); + }, + ); } } @@ -581,3 +605,7 @@ class FloatingActionButtons extends StatelessWidget { ); } } + +Future checkForAppliedRide(BuildContext context) async { + checkForPendingOrderFromServer(); +} diff --git a/lib/views/home/Captin/home_captain/osm_view_map.dart b/lib/views/home/Captin/home_captain/osm_view_map.dart new file mode 100644 index 0000000..22d7e97 --- /dev/null +++ b/lib/views/home/Captin/home_captain/osm_view_map.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_map/flutter_map.dart'; +import 'package:get/get.dart'; +import 'package:latlong2/latlong.dart'; + +import '../../../../controller/functions/location_controller.dart'; +import '../../../../controller/home/captin/home_captain_controller.dart'; +// هذه ويدجت بديلة للـ _MapView في الكود الخاص بك +// V3 - MapView Replacement using flutter_map + +class OsmMapView extends StatelessWidget { + const OsmMapView({super.key}); + + @override + Widget build(BuildContext context) { + // افترض أنك تحصل على الموقع والاتجاه بنفس الطريقة من الكونترولر + final LocationController locationController = + Get.find(); + final HomeCaptainController homeCaptainController = + Get.find(); + + // يمكنك استخدام GetBuilder لمراقبة التغييرات في الموقع + return Obx(() { + final LatLng currentLocation = LatLng( + locationController.myLocation.latitude, + locationController.myLocation.longitude); + final double currentHeading = locationController.heading; + + return FlutterMap( + // يمكنك ربط هذا بـ MapController الخاص بـ flutter_map + // mapController: homeCaptainController.flutterMapController, + options: MapOptions( + initialCenter: currentLocation, + initialZoom: 15, + maxZoom: 18, + minZoom: 6, + // تدوير الخريطة (اختياري) + initialRotation: currentHeading, + ), + children: [ + // 1. طبقة الخريطة الأساسية (Tiles) + // هذا هو الرابط لخرائط OSM الأساسية + TileLayer( + urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + subdomains: ['a', 'b', 'c'], + userAgentPackageName: + 'com.example.app', // استبدل باسم الباكج الخاص بك + + // لاستخدام الخرائط الأوفلاين (بعد إعداد flutter_map_tile_caching) + // tileProvider: CachedTileProvider(), + ), + + // 2. طبقة العلامات (Markers) + MarkerLayer( + markers: [ + Marker( + width: 80.0, + height: 80.0, + point: currentLocation, + child: Transform.rotate( + angle: currentHeading * + (3.1415926535 / 180), // تحويل من درجات إلى راديان + child: Image.asset( + 'assets/images/car_icon.png', // تأكد أن لديك أيقونة السيارة + // يمكنك استخدام نفس الـ carIcon من الكونترولر + // icon: homeCaptainController.carIcon, (ملاحظة: flutter_map تستخدم ويدجت) + ), + ), + ), + ], + ), + + // يمكنك إضافة طبقات أخرى هنا (مثل الخطوط Polylines أو المضلعات Polygons) + ], + ); + }); + } +} + +// ملاحظة: ستحتاج إلى تعديل بسيط في HomeCaptainController +// لإنشاء MapController الخاص بـ flutter_map بدلاً من GoogleMapController +// import 'package:flutter_map/flutter_map.dart'; +// MapController flutterMapController = MapController(); diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index de826a0..c002e8a 100755 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -237,8 +237,10 @@ Future checkForPendingOrderFromServer() async { // MyDialog().getDialog(orderId.toString(), customerToken, () {}); // Now proceed with the UI flow - _sendAcceptanceNotification(customerToken, orderId.toString()); + // _sendAcceptanceNotification(customerToken, orderId.toString()); // await _bringAppToForegroundAndNavigate(orderId); + Get.to(() => PassengerLocationMapPage(), + arguments: box.read(BoxName.rideArgumentsFromBackground)); } else { box.write(BoxName.rideArgumentsFromBackground, 'failure'); } @@ -307,8 +309,7 @@ Map _transformServerDataToAppArguments( void _sendAcceptanceNotification(String? customerToken, rideId) { try { if (customerToken == null) return; - final FirebaseMessagesController _firebaseMessagesController = - Get.put(FirebaseMessagesController()); + List bodyToPassenger = [ box.read(BoxName.driverID).toString(), box.read(BoxName.nameDriver).toString(), @@ -319,15 +320,13 @@ void _sendAcceptanceNotification(String? customerToken, rideId) { // Safely check for customer token final String? token = customerToken; if (token != null && token.isNotEmpty) { - // _firebaseMessagesController.sendNotificationToDriverMAP('Accepted Ride', - // 'your ride is applied'.tr, token, bodyToPassenger, 'start.wav'); NotificationService.sendNotification( target: token.toString(), - title: 'Accepted Ride', + title: 'Accepted Ride'.tr, body: 'your ride is Accepted'.tr, isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: bodyToPassenger, category: 'Accepted Ride', ); } else {} } catch (e) {} diff --git a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart index 512e6b9..b35fe7a 100755 --- a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart +++ b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart @@ -172,7 +172,7 @@ class PassengerInfoWindow extends StatelessWidget { body: 'I Arrive at your site'.tr, isTopic: false, // Important: this is a token tone: 'ding', - driverList: [], + driverList: [], category: 'Hi ,I Arrive your site', ); controller.startTimerToShowDriverWaitPassengerDuration(); controller.isArrivedSend = false; @@ -261,12 +261,12 @@ class PassengerInfoWindow extends StatelessWidget { // 'cancel.wav'); NotificationService.sendNotification( target: controller.tokenPassenger.toString(), - title: 'Driver Cancelled Your Trip', + title: 'Driver Cancelled Your Trip'.tr, body: 'You will need to pay the cost to the driver, or it will be deducted from your next trip', isTopic: false, // Important: this is a token tone: 'cancel', - driverList: [], + driverList: [], category: 'Driver Cancelled Your Trip', ); box.write(BoxName.rideStatus, 'Cancel'); await controller.addWaitingTimeCostFromPassengerToDriverWallet(); diff --git a/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart b/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart index 6cfe0b2..6214f69 100755 --- a/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart +++ b/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart @@ -352,7 +352,7 @@ class SosConnect extends StatelessWidget { body: "Where are you, sir?".tr, isTopic: false, // Important: this is a token tone: 'ding', - driverList: [], + driverList: [], category: 'message From Driver', ); Get.back(); }), @@ -371,7 +371,7 @@ class SosConnect extends StatelessWidget { body: "I've been trying to reach you but your phone is off.".tr, isTopic: false, // Important: this is a token tone: 'ding', - driverList: [], + driverList: [], category: 'message From Driver', ); Get.back(); }), @@ -403,7 +403,7 @@ class SosConnect extends StatelessWidget { body: 'change device'.tr, isTopic: false, // Important: this is a token tone: 'cancel', - driverList: [], + driverList: [], category: 'message From Driver', ); controller.messageToPassenger.clear(); Get.back(); diff --git a/lib/views/home/Captin/orderCaptin/order_over_lay.dart b/lib/views/home/Captin/orderCaptin/order_over_lay.dart index fe609bc..cc8bb6b 100755 --- a/lib/views/home/Captin/orderCaptin/order_over_lay.dart +++ b/lib/views/home/Captin/orderCaptin/order_over_lay.dart @@ -225,24 +225,15 @@ class _OrderOverlayState extends State _getData(8).toString(), _getData(9).toString(), ]; - final fmc = Get.isRegistered() - ? Get.find() - : Get.put(FirebaseMessagesController()); - // fmc.sendNotificationToDriverMAP( - // "Accepted Ride", - // 'your ride is Accepted'.tr, - // _getData(9).toString(), - // bodyToPassenger, - // 'start.wav', - // ); NotificationService.sendNotification( target: _getData(9).toString(), - title: "Accepted Ride", + title: "Accepted Ride".tr, body: 'your ride is Accepted'.tr, isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: bodyToPassenger, + category: 'Accepted Ride', ); final payload = { // بيانات أساسية @@ -294,15 +285,6 @@ class _OrderOverlayState extends State 'status': 'Apply' }); - if (AppLink.endPoint != AppLink.seferCairoServer) { - CRUD().post( - link: "${AppLink.endPoint}/ride/driver_order/add.php", - payload: { - 'driver_id': driverId, - 'order_id': orderData!.orderId, - 'status': 'Apply' - }); - } _log("Server update successful. Writing to storage."); notificationController.showNotification( "Order Accepted".tr, diff --git a/lib/views/home/Captin/orderCaptin/order_request_page.dart b/lib/views/home/Captin/orderCaptin/order_request_page.dart index b803f9d..007159c 100755 --- a/lib/views/home/Captin/orderCaptin/order_request_page.dart +++ b/lib/views/home/Captin/orderCaptin/order_request_page.dart @@ -184,6 +184,32 @@ class _OrderRequestPageState extends State { ), ), const SizedBox(height: 10), + // Card( + // elevation: 4, + // child: Padding( + // padding: const EdgeInsets.all(16.0), + // child: Row( + // mainAxisAlignment: MainAxisAlignment.spaceAround, + // children: [ + // _InfoTile( + // icon: Icons.timer, + // label: + // '${(double.parse(controller.myList[12]) / 60).toStringAsFixed(0)} ${'min'.tr}', + // ), + // _InfoTile( + // icon: Icons.directions_car, + // label: + // '${(double.parse(controller.myList[11]) / 1000).toStringAsFixed(1)} ${'km'.tr}', + // ), + // _InfoTile( + // icon: Icons.monetization_on, + // label: '${controller.myList[2]}', + // ), + // ], + // ), + // ), + // ), + // استبدل هذا الكود Card( elevation: 4, child: Padding( @@ -194,16 +220,21 @@ class _OrderRequestPageState extends State { _InfoTile( icon: Icons.timer, label: - '${(double.parse(controller.myList[12]) / 60).toStringAsFixed(0)} ${'min'.tr}', + // استخدم الفهرس 13 للوقت (Duration) + '${((double.tryParse(controller.myList[13].toString()) ?? 0.0) / 60).toStringAsFixed(0)} ${'min'.tr}', ), _InfoTile( icon: Icons.directions_car, label: - '${(double.parse(controller.myList[11]) / 1000).toStringAsFixed(1)} ${'km'.tr}', + // استخدم الفهرس 14 للمسافة (Distance) + // استخدم tryParse للأمان لأن القيمة "" (نص فارغ) + '${((double.tryParse(controller.myList[14].toString()) ?? 0.0) / 1000).toStringAsFixed(1)} ${'km'.tr}', ), _InfoTile( icon: Icons.monetization_on, - label: '${controller.myList[2]}', + label: + // السعر أصبح في الفهرس 4 + '${controller.myList[4]}', ), ], ), @@ -230,17 +261,15 @@ class _OrderRequestPageState extends State { 'status': 'Apply', 'driver_id': box.read(BoxName.driverID), }); - if (AppLink.endPoint != AppLink.seferCairoServer) { - CRUD().post( - link: - "${AppLink.endPoint}/ride/rides/updateStausFromSpeed.php", - payload: { - 'id': (controller.myList[16]), - 'rideTimeStart': DateTime.now().toString(), - 'status': 'Apply', - 'driver_id': box.read(BoxName.driverID), - }); - } + CRUD().post( + link: + "${AppLink.endPoint}/ride/rides/updateStausFromSpeed.php", + payload: { + 'id': (controller.myList[16]), + 'rideTimeStart': DateTime.now().toString(), + 'status': 'Apply', + 'driver_id': box.read(BoxName.driverID), + }); if (res == 'failure') { MyDialog().getDialog( "This ride is already applied by another driver." @@ -258,43 +287,21 @@ class _OrderRequestPageState extends State { (controller.myList[16].toString()), 'status': 'Apply' }); - if (AppLink.endPoint != - AppLink.seferCairoServer) { - CRUD().postFromDialogue( - link: - '${AppLink.endPoint}/rides/driver_order/add.php', - payload: { - 'driver_id': - (controller.myList[6].toString()), - 'order_id': - (controller.myList[16].toString()), - 'status': 'Apply' - }); - } + List bodyToPassenger = [ controller.myList[6].toString(), controller.myList[8].toString(), controller.myList[9].toString(), ]; - final fmc = - Get.isRegistered() - ? Get.find() - : Get.put(FirebaseMessagesController()); - // fmc.sendNotificationToDriverMAP( - // "Accepted Ride", - // 'your ride is Accepted'.tr, - // controller.myList[9].toString(), - // bodyToPassenger, - // 'start', - // ); NotificationService.sendNotification( target: controller.myList[9].toString(), - title: "Accepted Ride", + title: "Accepted Ride".tr, body: 'your ride is Accepted'.tr, isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: bodyToPassenger, + category: 'Accepted Ride', ); Get.back(); box.write(BoxName.rideArguments, { @@ -398,7 +405,7 @@ class _OrderRequestPageState extends State { '${box.read(BoxName.nameDriver)} ${'is reviewing your order. They may need more information or a higher price.'.tr}', isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: [], category: 'Order Under Review', ); controller.refuseOrder( diff --git a/lib/views/home/Captin/orderCaptin/order_speed_request.dart b/lib/views/home/Captin/orderCaptin/order_speed_request.dart index 47f6f08..a596e32 100755 --- a/lib/views/home/Captin/orderCaptin/order_speed_request.dart +++ b/lib/views/home/Captin/orderCaptin/order_speed_request.dart @@ -368,7 +368,7 @@ class OrderSpeedRequest extends StatelessWidget { AppLink.seferCairoServer) { CRUD().post( link: - "${AppLink.endPoint}/ride/rides/updateStausFromSpeed.php", + "${AppLink.rideServer}/rides/updateStausFromSpeed.php", payload: { 'id': rideId, 'rideTimeStart': @@ -401,12 +401,12 @@ class OrderSpeedRequest extends StatelessWidget { ?[9] ?.toString() ?? _getData(9), - title: 'Accepted Ride', + title: 'Accepted Ride'.tr, body: 'your ride is applied'.tr, isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: [], category: 'Accepted Ride', ); // Using rideId (_getData(16)) for order_id consistently @@ -423,7 +423,7 @@ class OrderSpeedRequest extends StatelessWidget { AppLink.seferCairoServer) { CRUD().post( link: - "${AppLink.endPoint}/ride/driver_order/add.php", + "${AppLink.rideServer}/driver_order/add.php", payload: { 'driver_id': _getData(6), 'order_id': rideId, diff --git a/lib/views/home/profile/profile_captain.dart b/lib/views/home/profile/profile_captain.dart index ae08324..82c246c 100755 --- a/lib/views/home/profile/profile_captain.dart +++ b/lib/views/home/profile/profile_captain.dart @@ -139,16 +139,16 @@ class ActionsGrid extends StatelessWidget { mainAxisSpacing: 16, childAspectRatio: 2.5, // للتحكم في ارتفاع الأزرار children: [ - _ActionTile( - title: 'My Cars'.tr, - icon: Icons.directions_car_filled, - onTap: () => Get.to(() => CaptainsCars()), - ), - _ActionTile( - title: 'Criminal Record'.tr, - icon: Icons.description, - onTap: () => Get.to(() => CriminalDocumemtPage()), - ), + // _ActionTile( + // title: 'My Cars'.tr, + // icon: Icons.directions_car_filled, + // onTap: () => Get.to(() => CaptainsCars()), + // ), + // _ActionTile( + // title: 'Criminal Record'.tr, + // icon: Icons.description, + // onTap: () => Get.to(() => CriminalDocumemtPage()), + // ), _ActionTile( title: 'Bank Account'.tr, icon: Icons.account_balance, diff --git a/lib/views/notification/available_rides_page.dart b/lib/views/notification/available_rides_page.dart index 24e7aa6..981edb9 100755 --- a/lib/views/notification/available_rides_page.dart +++ b/lib/views/notification/available_rides_page.dart @@ -347,11 +347,11 @@ class RideAvailableCard extends StatelessWidget { // 'start.wav'); NotificationService.sendNotification( target: rideInfo['passengerToken'].toString(), - title: 'Accepted Ride', + title: 'Accepted Ride'.tr, body: 'your ride is Accepted'.tr, isTopic: false, // Important: this is a token tone: 'start', - driverList: [], + driverList: [], category: 'Accepted Ride', ); Get.back(); Get.to(() => PassengerLocationMapPage(), arguments: { diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 8ac2ca5..2221ddf 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -18,6 +19,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); + g_autoptr(FlPluginRegistrar) objectbox_flutter_libs_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "ObjectboxFlutterLibsPlugin"); + objectbox_flutter_libs_plugin_register_with_registrar(objectbox_flutter_libs_registrar); g_autoptr(FlPluginRegistrar) record_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "RecordLinuxPlugin"); record_linux_plugin_register_with_registrar(record_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 76bed44..e107b17 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -5,6 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux flutter_secure_storage_linux + objectbox_flutter_libs record_linux url_launcher_linux ) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 383d367..822c7cc 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -24,6 +24,7 @@ import google_sign_in_ios import just_audio import local_auth_darwin import location +import objectbox_flutter_libs import package_info_plus import path_provider_foundation import record_darwin @@ -55,6 +56,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin")) LocalAuthPlugin.register(with: registry.registrar(forPlugin: "LocalAuthPlugin")) LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin")) + ObjectboxFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "ObjectboxFlutterLibsPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 6b44d99..d7896c7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -352,6 +352,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dart_earcut: + dependency: transitive + description: + name: dart_earcut + sha256: e485001bfc05dcbc437d7bfb666316182e3522d4c3f9668048e004d0eb2ce43b + url: "https://pub.dev" + source: hosted + version: "1.2.0" dart_style: dependency: transitive description: @@ -576,6 +584,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.70.2" + flat_buffers: + dependency: transitive + description: + name: flat_buffers + sha256: "380bdcba5664a718bfd4ea20a45d39e13684f5318fcd8883066a55e21f37f4c3" + url: "https://pub.dev" + source: hosted + version: "23.5.26" flutter: dependency: "direct main" description: flutter @@ -773,6 +789,22 @@ packages: url: "https://pub.dev" source: hosted version: "8.0.0" + flutter_map: + dependency: "direct main" + description: + name: flutter_map + sha256: "87cc8349b8fa5dccda5af50018c7374b6645334a0d680931c1fe11bce88fa5bb" + url: "https://pub.dev" + source: hosted + version: "6.2.1" + flutter_map_tile_caching: + dependency: "direct main" + description: + name: flutter_map_tile_caching + sha256: "24412e067317ba6f03d8568c024b400ac37bfe364719033f8048d7bca86b80d3" + url: "https://pub.dev" + source: hosted + version: "9.0.1" flutter_overlay_apps: dependency: "direct main" description: @@ -1414,6 +1446,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + latlong2: + dependency: "direct main" + description: + name: latlong2 + sha256: "98227922caf49e6056f91b6c56945ea1c7b166f28ffcd5fb8e72fc0b453cc8fe" + url: "https://pub.dev" + source: hosted + version: "0.9.1" leak_tracker: dependency: transitive description: @@ -1446,6 +1486,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.1.1" + lists: + dependency: transitive + description: + name: lists + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" + source: hosted + version: "1.0.1" live_activities: dependency: "direct main" description: @@ -1518,6 +1566,14 @@ packages: url: "https://pub.dev" source: hosted version: "6.0.1" + logger: + dependency: transitive + description: + name: logger + sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3 + url: "https://pub.dev" + source: hosted + version: "2.6.2" logging: dependency: transitive description: @@ -1558,6 +1614,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.16.0" + mgrs_dart: + dependency: transitive + description: + name: mgrs_dart + sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7 + url: "https://pub.dev" + source: hosted + version: "2.0.0" mime: dependency: transitive description: @@ -1582,6 +1646,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.0" + objectbox: + dependency: transitive + description: + name: objectbox + sha256: "9fb2810156e8f78d82ecf672c36a1aba2c1de16d7903675335e00e374bdc3ba8" + url: "https://pub.dev" + source: hosted + version: "2.5.1" + objectbox_flutter_libs: + dependency: transitive + description: + name: objectbox_flutter_libs + sha256: dca86b2d1074110573b69cbd9afb6b67ab9d2c824704c6ac5187e546418baf9c + url: "https://pub.dev" + source: hosted + version: "2.5.1" octo_image: dependency: transitive description: @@ -1758,6 +1838,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.9.1" + polylabel: + dependency: transitive + description: + name: polylabel + sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b" + url: "https://pub.dev" + source: hosted + version: "1.0.1" pool: dependency: transitive description: @@ -1774,6 +1862,14 @@ packages: url: "https://pub.dev" source: hosted version: "6.0.3" + proj4dart: + dependency: transitive + description: + name: proj4dart + sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e + url: "https://pub.dev" + source: hosted + version: "2.1.0" provider: dependency: transitive description: @@ -2162,6 +2258,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + unicode: + dependency: transitive + description: + name: unicode + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" + source: hosted + version: "0.3.1" upower: dependency: transitive description: @@ -2434,6 +2538,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + wkt_parser: + dependency: transitive + description: + name: wkt_parser + sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13" + url: "https://pub.dev" + source: hosted + version: "2.0.0" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6b750be..5e9257d 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -104,6 +104,13 @@ dependencies: internet_connection_checker: ^3.0.1 connectivity_plus: ^6.1.5 # pip_view: ^0.9.7 + flutter_map: ^6.1.0 # (استخدم أحدث إصدار دائماً) + + # مكتبة التخزين لتحميل الخرائط أوفلاين + flutter_map_tile_caching: ^9.0.0 # (استخدم أحدث إصدار) + latlong2: ^0.9.1 + + # مكتبة لتحديد النقاط على الخريطة (مثل latLng) dev_dependencies: flutter_test: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index c693221..4ce4e40 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -42,6 +43,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("GeolocatorWindows")); LocalAuthPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("LocalAuthPlugin")); + ObjectboxFlutterLibsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("ObjectboxFlutterLibsPlugin")); PermissionHandlerWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); RecordWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index a30dad1..60bbdb3 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -13,6 +13,7 @@ list(APPEND FLUTTER_PLUGIN_LIST flutter_tts geolocator_windows local_auth_windows + objectbox_flutter_libs permission_handler_windows record_windows share_plus