From 5890884adb8bc56673eaf91ba1457c62fb340f86 Mon Sep 17 00:00:00 2001 From: barhen Date: Tue, 15 Feb 2022 19:01:31 +0000 Subject: [PATCH] init --- .DS_Store | Bin 0 -> 10244 bytes ._.DS_Store | Bin 0 -> 4096 bytes .gitignore | 30 + InViewList.txt | 79 ++ README.md | 16 + android/._.gitignore | Bin 0 -> 4096 bytes android/._.gradle | Bin 0 -> 4096 bytes android/._.idea | Bin 0 -> 4096 bytes android/.gitignore | 7 + android/.idea/.gitignore | 3 + android/.idea/assetWizardSettings.xml | 156 +++ android/.idea/codeStyles/Project.xml | 122 +++ android/.idea/codeStyles/codeStyleConfig.xml | 5 + android/.idea/compiler.xml | 6 + android/.idea/gradle.xml | 76 ++ android/.idea/jarRepositories.xml | 55 ++ ..._deep_ar_0_0_1_android_libs_deepar_aar.xml | 11 + ...p_intermediates_flutter_debug_libs_jar.xml | 9 + ...__androidx_activity_activity_1_0_0_aar.xml | 15 + ...__androidx_activity_activity_1_2_3_aar.xml | 16 + ...__androidx_annotation_annotation_1_1_0.xml | 13 + ...droidx_annotation_annotation_1_1_0_jar.xml | 13 + ...__androidx_annotation_annotation_1_2_0.xml | 11 + ...tion_annotation_experimental_1_0_0_aar.xml | 13 + ...androidx_appcompat_appcompat_1_0_2_aar.xml | 16 + ...androidx_appcompat_appcompat_1_1_0_aar.xml | 19 + ...androidx_appcompat_appcompat_1_2_0_aar.xml | 19 + ...androidx_appcompat_appcompat_1_3_0_aar.xml | 16 + ...ppcompat_appcompat_resources_1_1_0_aar.xml | 15 + ...ppcompat_appcompat_resources_1_2_0_aar.xml | 15 + ...ppcompat_appcompat_resources_1_3_0_aar.xml | 13 + ...__androidx_arch_core_core_common_2_1_0.xml | 11 + ...droidx_arch_core_core_common_2_1_0_jar.xml | 11 + ...roidx_arch_core_core_runtime_2_0_0_aar.xml | 15 + ...roidx_arch_core_core_runtime_2_1_0_aar.xml | 13 + ...inflater_asynclayoutinflater_1_0_0_aar.xml | 15 + ...le__androidx_browser_browser_1_0_0_aar.xml | 16 + ...le__androidx_browser_browser_1_3_0_aar.xml | 16 + ...__androidx_cardview_cardview_1_0_0_aar.xml | 13 + ...__androidx_collection_collection_1_1_0.xml | 11 + ...droidx_collection_collection_1_1_0_jar.xml | 11 + ...raintlayout_constraintlayout_1_1_3_aar.xml | 11 + ...ntlayout_constraintlayout_solver_1_1_3.xml | 9 + ...atorlayout_coordinatorlayout_1_0_0_aar.xml | 19 + .../Gradle__androidx_core_core_1_1_0_aar.xml | 19 + .../Gradle__androidx_core_core_1_2_0_aar.xml | 16 + .../Gradle__androidx_core_core_1_3_0_aar.xml | 19 + .../Gradle__androidx_core_core_1_3_1_aar.xml | 16 + .../Gradle__androidx_core_core_1_3_2_aar.xml | 19 + .../Gradle__androidx_core_core_1_5_0_aar.xml | 16 + ...adle__androidx_core_core_ktx_1_3_2_aar.xml | 15 + ..._cursoradapter_cursoradapter_1_0_0_aar.xml | 15 + ...droidx_customview_customview_1_0_0_aar.xml | 15 + ...oidx_databinding_viewbinding_4_2_1_aar.xml | 13 + ...dx_documentfile_documentfile_1_0_0_aar.xml | 15 + ...dx_drawerlayout_drawerlayout_1_0_0_aar.xml | 19 + ..._exifinterface_exifinterface_1_0_0_aar.xml | 16 + ..._exifinterface_exifinterface_1_3_0_aar.xml | 19 + ..._exifinterface_exifinterface_1_3_2_aar.xml | 16 + ...__androidx_fragment_fragment_1_1_0_aar.xml | 19 + ...__androidx_fragment_fragment_1_3_4_aar.xml | 16 + ...dx_interpolator_interpolator_1_0_0_aar.xml | 15 + ...egacy_legacy_support_core_ui_1_0_0_aar.xml | 15 + ...cy_legacy_support_core_utils_1_0_0_aar.xml | 15 + ...idx_legacy_legacy_support_v4_1_0_0_aar.xml | 15 + ...roidx_lifecycle_lifecycle_common_2_2_0.xml | 11 + ...roidx_lifecycle_lifecycle_common_2_3_1.xml | 11 + ...lifecycle_lifecycle_common_java8_2_2_0.xml | 11 + ...fecycle_lifecycle_extensions_2_1_0_aar.xml | 13 + ...lifecycle_lifecycle_livedata_2_0_0_aar.xml | 15 + ...lifecycle_lifecycle_livedata_2_1_0_aar.xml | 13 + ...ycle_lifecycle_livedata_core_2_0_0_aar.xml | 15 + ...ycle_lifecycle_livedata_core_2_1_0_aar.xml | 13 + ...ycle_lifecycle_livedata_core_2_3_1_aar.xml | 13 + ..._lifecycle_lifecycle_process_2_1_0_aar.xml | 13 + ..._lifecycle_lifecycle_runtime_2_2_0_aar.xml | 15 + ..._lifecycle_lifecycle_runtime_2_3_1_aar.xml | 13 + ..._lifecycle_lifecycle_service_2_1_0_aar.xml | 13 + ...ifecycle_lifecycle_viewmodel_2_1_0_aar.xml | 15 + ...ifecycle_lifecycle_viewmodel_2_3_1_aar.xml | 13 + ...fecycle_viewmodel_savedstate_2_3_1_aar.xml | 13 + ...adle__androidx_loader_loader_1_0_0_aar.xml | 15 + ...anager_localbroadcastmanager_1_0_0_aar.xml | 15 + ...Gradle__androidx_media_media_1_0_0_aar.xml | 19 + ...Gradle__androidx_media_media_1_1_0_aar.xml | 19 + ...Gradle__androidx_print_print_1_0_0_aar.xml | 19 + ...dx_recyclerview_recyclerview_1_0_0_aar.xml | 16 + ...droidx_savedstate_savedstate_1_0_0_aar.xml | 15 + ...droidx_savedstate_savedstate_1_1_0_aar.xml | 13 + ...panelayout_slidingpanelayout_1_0_0_aar.xml | 15 + ...eshlayout_swiperefreshlayout_1_0_0_aar.xml | 19 + ...eshlayout_swiperefreshlayout_1_1_0_aar.xml | 16 + .../Gradle__androidx_test_core_1_0_0_aar.xml | 17 + .../Gradle__androidx_test_core_1_2_0_aar.xml | 17 + .../Gradle__androidx_test_core_1_3_0_aar.xml | 15 + ..._test_espresso_espresso_core_3_2_0_aar.xml | 17 + ...sso_espresso_idling_resource_3_2_0_aar.xml | 17 + ...radle__androidx_test_monitor_1_2_0_aar.xml | 17 + ...radle__androidx_test_monitor_1_3_0_aar.xml | 15 + .../Gradle__androidx_test_rules_1_2_0_aar.xml | 17 + ...Gradle__androidx_test_runner_1_2_0_aar.xml | 17 + ...droidx_transition_transition_1_0_0_aar.xml | 16 + ...droidx_transition_transition_1_4_1_aar.xml | 16 + ...ectordrawable_vectordrawable_1_0_1_aar.xml | 13 + ...ectordrawable_vectordrawable_1_1_0_aar.xml | 15 + ...able_vectordrawable_animated_1_0_0_aar.xml | 15 + ...able_vectordrawable_animated_1_1_0_aar.xml | 15 + ...rcelable_versionedparcelable_1_1_0_aar.xml | 15 + ...rcelable_versionedparcelable_1_1_1_aar.xml | 13 + ...androidx_viewpager_viewpager_1_0_0_aar.xml | 15 + ...adle__androidx_webkit_webkit_1_0_0_aar.xml | 19 + ...adle__androidx_webkit_webkit_1_4_0_aar.xml | 16 + ...oncurrent_backport_util_concurrent_3_1.xml | 13 + ...e__classworlds_classworlds_1_1_alpha_2.xml | 9 + ...almworks_sqlite4java_sqlite4java_0_282.xml | 13 + ...ica_mobile_ffmpeg_full_gpl_4_4_LTS_aar.xml | 15 + ...ukiSuda_Mp4Composer_android_v0_3_9_aar.xml | 13 + ...e__com_github_yalantis_ucrop_2_2_7_aar.xml | 18 + ...com_google_android_annotations_4_1_1_4.xml | 13 + ...ework_accessibility_test_framework_2_1.xml | 13 + ..._datatransport_transport_api_2_2_1_aar.xml | 13 + ..._datatransport_transport_api_3_0_0_aar.xml | 13 + ...nsport_transport_backend_cct_2_3_3_aar.xml | 13 + ...nsport_transport_backend_cct_3_0_0_aar.xml | 13 + ...atransport_transport_runtime_2_2_6_aar.xml | 13 + ...atransport_transport_runtime_3_0_0_aar.xml | 13 + ..._exoplayer_exoplayer_common_2_12_1_aar.xml | 21 + ...id_exoplayer_exoplayer_core_2_12_1_aar.xml | 21 + ...id_exoplayer_exoplayer_dash_2_12_1_aar.xml | 21 + ...oplayer_exoplayer_extractor_2_12_1_aar.xml | 21 + ...oid_exoplayer_exoplayer_hls_2_12_1_aar.xml | 21 + ...r_exoplayer_smoothstreaming_2_12_1_aar.xml | 17 + ...roid_gms_play_services_auth_16_0_1_aar.xml | 13 + ...lay_services_auth_api_phone_16_0_0_aar.xml | 13 + ...lay_services_auth_api_phone_17_4_0_aar.xml | 13 + ...gms_play_services_auth_base_16_0_0_aar.xml | 13 + ...roid_gms_play_services_base_16_0_1_aar.xml | 13 + ...roid_gms_play_services_base_17_0_0_aar.xml | 15 + ...roid_gms_play_services_base_17_1_0_aar.xml | 15 + ...roid_gms_play_services_base_17_5_0_aar.xml | 13 + ...roid_gms_play_services_base_17_6_0_aar.xml | 13 + ..._gms_play_services_basement_16_0_1_aar.xml | 13 + ..._gms_play_services_basement_17_0_0_aar.xml | 15 + ..._gms_play_services_basement_17_1_0_aar.xml | 15 + ..._gms_play_services_basement_17_5_0_aar.xml | 13 + ..._gms_play_services_basement_17_6_0_aar.xml | 13 + ..._gms_play_services_clearcut_17_0_0_aar.xml | 11 + ...ay_services_cloud_messaging_16_0_0_aar.xml | 15 + ...oid_gms_play_services_flags_17_0_0_aar.xml | 11 + ..._gms_play_services_location_16_0_0_aar.xml | 13 + ..._gms_play_services_location_17_0_0_aar.xml | 13 + ...roid_gms_play_services_maps_17_0_0_aar.xml | 15 + ...ices_mlkit_barcode_scanning_16_1_4_aar.xml | 13 + ...rvices_mlkit_face_detection_16_1_6_aar.xml | 13 + ...ices_mlkit_text_recognition_16_1_3_aar.xml | 13 + ...gms_play_services_phenotype_17_0_0_aar.xml | 11 + ...services_places_placereport_16_0_0_aar.xml | 13 + ...services_places_placereport_17_0_0_aar.xml | 13 + ...gms_play_services_safetynet_17_0_0_aar.xml | 11 + ...oid_gms_play_services_stats_17_0_0_aar.xml | 13 + ...oid_gms_play_services_tasks_16_0_1_aar.xml | 13 + ...oid_gms_play_services_tasks_17_0_0_aar.xml | 13 + ...oid_gms_play_services_tasks_17_2_0_aar.xml | 13 + ...oid_gms_play_services_tasks_17_2_1_aar.xml | 13 + ...id_gms_play_services_vision_20_1_3_aar.xml | 13 + ...play_services_vision_common_19_1_3_aar.xml | 13 + ...ision_face_contour_internal_16_1_0_aar.xml | 13 + ...le_android_material_material_1_0_0_aar.xml | 14 + ...radle__com_google_auto_auto_common_0_8.xml | 13 + ...ogle_auto_service_auto_service_1_0_rc4.xml | 13 + ..._com_google_code_findbugs_jsr305_2_0_1.xml | 9 + ..._com_google_code_findbugs_jsr305_3_0_2.xml | 13 + ...radle__com_google_code_gson_gson_2_8_6.xml | 13 + ...rorprone_error_prone_annotations_2_2_0.xml | 13 + ...rorprone_error_prone_annotations_2_3_2.xml | 13 + ...rorprone_error_prone_annotations_2_3_4.xml | 13 + ...e_firebase_firebase_annotations_16_0_0.xml | 13 + ...ogle_firebase_firebase_auth_21_0_1_aar.xml | 13 + ...ebase_firebase_auth_interop_19_0_2_aar.xml | 13 + ...ebase_firebase_auth_interop_20_0_0_aar.xml | 13 + ...le_firebase_firebase_common_20_0_0_aar.xml | 15 + ...irebase_firebase_components_16_0_0_aar.xml | 17 + ...irebase_firebase_components_17_0_0_aar.xml | 15 + ...irebase_database_collection_18_0_0_aar.xml | 15 + ...base_firebase_datatransport_18_0_0_aar.xml | 15 + ...base_firebase_dynamic_links_20_1_0_aar.xml | 13 + ...ogle_firebase_firebase_encoders_16_1_0.xml | 13 + ...ogle_firebase_firebase_encoders_17_0_0.xml | 13 + ...base_firebase_encoders_json_17_1_0_aar.xml | 15 + ...base_firebase_encoders_json_18_0_0_aar.xml | 15 + ...firebase_firebase_firestore_23_0_1_aar.xml | 15 + ...rebase_firebase_iid_interop_17_1_0_aar.xml | 13 + ...base_firebase_installations_17_0_0_aar.xml | 13 + ...ebase_installations_interop_17_0_0_aar.xml | 13 + ...ebase_measurement_connector_19_0_0_aar.xml | 13 + ...firebase_firebase_messaging_22_0_0_aar.xml | 13 + ..._protolite_well_known_types_18_0_0_aar.xml | 13 + ...__com_google_guava_failureaccess_1_0_1.xml | 13 + .../Gradle__com_google_guava_guava_20_0.xml | 13 + ...dle__com_google_guava_guava_27_0_1_jre.xml | 13 + ...e__com_google_guava_guava_27_1_android.xml | 13 + ...e__com_google_guava_guava_28_1_android.xml | 13 + ..._com_google_guava_listenablefuture_1_0.xml | 13 + ...9_0_empty_to_avoid_conflict_with_guava.xml | 9 + ...m_google_j2objc_j2objc_annotations_1_1.xml | 13 + ...m_google_j2objc_j2objc_annotations_1_3.xml | 13 + ...ogle_mlkit_barcode_scanning_16_1_1_aar.xml | 13 + ...le__com_google_mlkit_common_17_1_1_aar.xml | 13 + ...google_mlkit_face_detection_16_0_7_aar.xml | 13 + ...google_mlkit_image_labeling_17_0_3_aar.xml | 13 + ...mlkit_image_labeling_common_17_0_0_aar.xml | 13 + ...age_labeling_default_common_16_0_0_aar.xml | 13 + ...ogle_mlkit_object_detection_16_2_4_aar.xml | 13 + ...kit_object_detection_common_17_0_1_aar.xml | 13 + ..._google_mlkit_vision_common_16_4_0_aar.xml | 13 + ...e_mlkit_vision_internal_vkp_18_1_0_aar.xml | 13 + ...om_google_protobuf_protobuf_java_2_6_1.xml | 13 + ...ogle_protobuf_protobuf_javalite_3_14_0.xml | 13 + .../Gradle__com_google_zxing_core_3_3_0.xml | 13 + ..._libphonenumber_libphonenumber_8_12_24.xml | 13 + .../Gradle__com_ibm_icu_icu4j_53_1.xml | 13 + ...rton_threetenabp_threetenabp_1_2_3_aar.xml | 17 + ...yapps_zxing_android_embedded_4_1_0_aar.xml | 15 + .../Gradle__com_karumi_dexter_6_2_1_aar.xml | 15 + .../Gradle__com_squareup_javawriter_2_1_1.xml | 13 + ..._squareup_okhttp3_mockwebserver_3_14_7.xml | 13 + ...dle__com_squareup_okhttp3_okhttp_3_0_0.xml | 13 + ...e__com_squareup_okhttp3_okhttp_3_12_13.xml | 13 + ...le__com_squareup_okhttp3_okhttp_3_14_7.xml | 13 + ...adle__com_squareup_okhttp_okhttp_2_7_5.xml | 13 + .../Gradle__com_squareup_okio_okio_1_13_0.xml | 13 + .../Gradle__com_squareup_okio_okio_1_15_0.xml | 13 + .../Gradle__com_squareup_okio_okio_1_17_2.xml | 13 + .../Gradle__com_squareup_okio_okio_1_6_0.xml | 13 + ...c9fc8fe011352879e3bb6660966eafc0847233.xml | 9 + ...c9fc8fe011352879e3bb6660966eafc0847233.xml | 9 + ...c9fc8fe011352879e3bb6660966eafc0847233.xml | 11 + ...c9fc8fe011352879e3bb6660966eafc0847233.xml | 9 + ...c9fc8fe011352879e3bb6660966eafc0847233.xml | 9 + ...radle__io_grpc_grpc_android_1_28_0_aar.xml | 17 + .../Gradle__io_grpc_grpc_api_1_28_0.xml | 13 + .../Gradle__io_grpc_grpc_context_1_28_0.xml | 13 + .../Gradle__io_grpc_grpc_core_1_28_0.xml | 13 + .../Gradle__io_grpc_grpc_okhttp_1_28_0.xml | 13 + ...dle__io_grpc_grpc_protobuf_lite_1_28_0.xml | 13 + .../Gradle__io_grpc_grpc_stub_1_28_0.xml | 13 + ...radle__io_perfmark_perfmark_api_0_19_0.xml | 13 + ..._annotation_javax_annotation_api_1_3_2.xml | 13 + .../Gradle__javax_inject_javax_inject_1.xml | 13 + .../libraries/Gradle__junit_junit_4_12.xml | 13 + .../Gradle__junit_junit_4_12_jar.xml | 13 + .../libraries/Gradle__junit_junit_4_13_1.xml | 13 + .../Gradle__nekohtml_nekohtml_1_9_6_2.xml | 13 + ...Gradle__nekohtml_xercesMinimal_1_9_6_2.xml | 9 + ...adle__net_bytebuddy_byte_buddy_1_10_15.xml | 13 + ...radle__net_bytebuddy_byte_buddy_1_10_5.xml | 13 + ...radle__net_bytebuddy_byte_buddy_1_9_10.xml | 13 + ...e__net_bytebuddy_byte_buddy_1_9_10_jar.xml | 13 + ...net_bytebuddy_byte_buddy_agent_1_10_15.xml | 13 + ..._net_bytebuddy_byte_buddy_agent_1_10_5.xml | 13 + ..._net_bytebuddy_byte_buddy_agent_1_9_10.xml | 13 + ..._bytebuddy_byte_buddy_agent_1_9_10_jar.xml | 13 + .../Gradle__net_sf_kxml_kxml2_2_3_0.xml | 13 + .../Gradle__org_apache_ant_ant_1_8_0.xml | 11 + ...dle__org_apache_ant_ant_launcher_1_8_0.xml | 9 + ...org_apache_maven_maven_ant_tasks_2_1_3.xml | 13 + ..._org_apache_maven_maven_artifact_2_2_1.xml | 13 + ...che_maven_maven_artifact_manager_2_2_1.xml | 13 + ...he_maven_maven_error_diagnostics_2_2_1.xml | 13 + ...le__org_apache_maven_maven_model_2_2_1.xml | 13 + ...ache_maven_maven_plugin_registry_2_2_1.xml | 13 + ...__org_apache_maven_maven_profile_2_2_1.xml | 13 + ...__org_apache_maven_maven_project_2_2_1.xml | 13 + ..._maven_maven_repository_metadata_2_2_1.xml | 13 + ..._org_apache_maven_maven_settings_2_2_1.xml | 13 + ...ache_maven_wagon_wagon_file_1_0_beta_6.xml | 13 + ...agon_wagon_http_lightweight_1_0_beta_6.xml | 13 + ...ven_wagon_wagon_http_shared_1_0_beta_6.xml | 13 + ...en_wagon_wagon_provider_api_1_0_beta_6.xml | 13 + ...__org_bouncycastle_bcprov_jdk15on_1_52.xml | 13 + ...kerframework_checker_compat_qual_2_5_5.xml | 13 + ...rg_checkerframework_checker_qual_2_5_2.xml | 13 + ...s_mojo_animal_sniffer_annotations_1_17.xml | 13 + ...s_mojo_animal_sniffer_annotations_1_18.xml | 13 + ...container_default_1_0_alpha_9_stable_1.xml | 13 + ...ehaus_plexus_plexus_interpolation_1_11.xml | 13 + ...rg_codehaus_plexus_plexus_utils_1_5_15.xml | 13 + ...Gradle__org_hamcrest_hamcrest_core_1_3.xml | 13 + ...le__org_hamcrest_hamcrest_core_1_3_jar.xml | 13 + ..._org_hamcrest_hamcrest_integration_1_3.xml | 13 + ...dle__org_hamcrest_hamcrest_library_1_3.xml | 13 + ...Gradle__org_jetbrains_annotations_13_0.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_3_21.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_3_50.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_3_72.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_4_20.xml | 13 + ..._jetbrains_kotlin_kotlin_stdlib_1_5_10.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_3_21.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_3_50.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_3_72.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_4_20.xml | 13 + ...ins_kotlin_kotlin_stdlib_common_1_5_10.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_3_21.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_3_50.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml | 13 + ...rains_kotlin_kotlin_stdlib_jdk7_1_5_10.xml | 13 + ...adle__org_mockito_mockito_core_1_10_19.xml | 13 + ...radle__org_mockito_mockito_core_2_28_2.xml | 13 + ...e__org_mockito_mockito_core_2_28_2_jar.xml | 13 + ...Gradle__org_mockito_mockito_core_3_2_4.xml | 13 + ...radle__org_mockito_mockito_core_3_5_13.xml | 13 + ...dle__org_mockito_mockito_inline_2_28_2.xml | 13 + ..._org_mockito_mockito_inline_2_28_2_jar.xml | 13 + ...dle__org_mockito_mockito_inline_3_5_13.xml | 13 + .../Gradle__org_objenesis_objenesis_2_6.xml | 13 + ...radle__org_objenesis_objenesis_2_6_jar.xml | 13 + .../Gradle__org_objenesis_objenesis_3_1.xml | 13 + .../libraries/Gradle__org_ow2_asm_asm_7_0.xml | 13 + .../Gradle__org_ow2_asm_asm_analysis_7_0.xml | 13 + .../Gradle__org_ow2_asm_asm_commons_7_0.xml | 13 + .../Gradle__org_ow2_asm_asm_tree_7_0.xml | 13 + .../Gradle__org_ow2_asm_asm_util_7_0.xml | 13 + ...radle__org_robolectric_annotations_4_3.xml | 13 + .../Gradle__org_robolectric_junit_4_3.xml | 13 + .../Gradle__org_robolectric_pluginapi_4_3.xml | 13 + ..._plugins_maven_dependency_resolver_4_3.xml | 13 + .../Gradle__org_robolectric_resources_4_3.xml | 13 + ...radle__org_robolectric_robolectric_4_3.xml | 13 + .../Gradle__org_robolectric_sandbox_4_3.xml | 13 + .../Gradle__org_robolectric_shadowapi_4_3.xml | 13 + ..._org_robolectric_shadows_framework_4_3.xml | 13 + .../Gradle__org_robolectric_utils_4_3.xml | 13 + ...e__org_robolectric_utils_reflector_4_3.xml | 13 + ..._org_threeten_threetenbp_1_4_2_no_tzdb.xml | 9 + android/.idea/misc.xml | 9 + android/.idea/modules.xml | 66 ++ .../android.flutter_local_notifications.iml | 82 ++ .../android.shared_preferences.iml | 78 ++ .../-1276585138/android.image_cropper.iml | 92 ++ .../android.flutter_country_picker.iml | 107 ++ .../android.path_provider_linux.iml | 26 + .../android.shared_preferences_web.iml | 26 + .../-1728921030/android.firebase_core.iml | 83 ++ .../android.url_launcher_windows.iml | 26 + .../android.shared_preferences_windows.iml | 26 + .../-18267466/android.google_ml_vision.iml | 113 +++ .../-1866279700/android.video_player_web.iml | 26 + .../android.cloud_firestore_web.iml | 26 + .../-1989292847/android.image_picker.iml | 81 ++ .../android.flutter_webview_plugin.iml | 97 ++ .../android.flutter_inappwebview.iml | 95 ++ .../-2124854993/android.qr_code_scanner.iml | 119 +++ .../-243381778/android.geolocator_web.iml | 26 + .../-307671483/android.firebase_auth.iml | 102 ++ .../-313411879/android.google_sign_in.iml | 99 ++ .../-324416137/android.url_launcher_web.iml | 26 + .../-330149543/android.wakelock_macos.iml | 26 + .../-44543866/android.cloud_firestore.iml | 110 +++ .../-46297941/android.url_launcher.iml | 141 +++ .../-47428831/android.google_maps_flutter.iml | 102 ++ .../-60485287/android.firebase_auth_web.iml | 26 + .../-612426157/android.permission_handler.iml | 78 ++ .../-650502802/android.path_provider.iml | 89 ++ .../android.path_provider_macos.iml | 26 + .../-947249395/android.firebase_core_web.iml | 26 + .../1008465727/android.webview_flutter.iml | 79 ++ .../1012871005/android.video_player.iml | 87 ++ .../1117910010/android.camera_deep_ar.iml | 103 ++ .../android.image_gallery_saver.iml | 107 ++ .../modules/1230809797/android.camera.iml | 145 +++ .../modules/1251705732/android.share.iml | 79 ++ .../1253542358/android.url_launcher_linux.iml | 26 + .../android.shared_preferences_macos.iml | 26 + .../modules/1338561407/android.sqflite.iml | 81 ++ .../modules/1526031749/android.wakelock.iml | 108 ++ .../android.firebase_dynamic_links.iml | 87 ++ .../android.flutter_libphonenumber.iml | 108 ++ .../1659896315/android.flutter_ffmpeg.iml | 79 ++ .../1662699662/android.google_sign_in_web.iml | 26 + .../1725698125/android.video_thumbnail.iml | 78 ++ .../modules/1856912349/android.geolocator.iml | 83 ++ .../1909590549/android.url_launcher_macos.iml | 26 + .../android.firebase_messaging_web.iml | 26 + .../212933758/android.firebase_messaging.iml | 102 ++ ...droid.flutter_plugin_android_lifecycle.iml | 82 ++ .../368333755/android.wakelock_web.iml | 26 + .../modules/412216427/android.location.iml | 190 ++++ .../android.image_picker_for_web.iml | 26 + .../modules/566149743/android.tapioca.iml | 108 ++ .../android.shared_preferences_linux.iml | 26 + .../android.path_provider_windows.iml | 26 + .../830712510/android.location_web.iml | 26 + android/.idea/modules/app/android.app.iml | 190 ++++ android/.idea/runConfigurations.xml | 13 + android/android.iml | 19 + android/app/build.gradle | 114 +++ android/app/google-services.json | 66 ++ android/app/proguard-rules.pro | 13 + android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 85 ++ .../kotlin/com/example/teso/MainActivity.kt | 6 + .../main/res/drawable-hdpi/app_notf_icon.png | Bin 0 -> 1042 bytes .../main/res/drawable-mdpi/app_notf_icon.png | Bin 0 -> 589 bytes .../main/res/drawable-xhdpi/app_notf_icon.png | Bin 0 -> 1613 bytes .../res/drawable-xxhdpi/app_notf_icon.png | Bin 0 -> 3066 bytes .../res/drawable-xxxhdpi/app_notf_icon.png | Bin 0 -> 4824 bytes .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 23392 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 23392 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 23392 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 23392 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 23392 bytes android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle | 54 + android/gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.properties | 6 + android/key.properties | 4 + android/settings.gradle | 15 + android/settings_aar.gradle | 1 + android/teso_android.iml | 29 + assets/images/AirtelTigo.png | Bin 0 -> 2540 bytes assets/images/MTN.png | Bin 0 -> 6848 bytes assets/images/Vodafone.png | Bin 0 -> 3234 bytes assets/images/background.png | Bin 0 -> 70707 bytes assets/images/blank.jpg | Bin 0 -> 916 bytes assets/images/blue.png | Bin 0 -> 75420 bytes assets/images/cashOut.png | Bin 0 -> 1856 bytes assets/images/categories/agrix.png | Bin 0 -> 1134 bytes assets/images/categories/antique.png | Bin 0 -> 1264 bytes assets/images/categories/antique2.png | Bin 0 -> 884 bytes assets/images/categories/autos.png | Bin 0 -> 721 bytes assets/images/categories/bags.png | Bin 0 -> 839 bytes assets/images/categories/clothes.png | Bin 0 -> 1437 bytes assets/images/categories/electronics.png | Bin 0 -> 661 bytes assets/images/categories/food.png | Bin 0 -> 626 bytes assets/images/categories/gifts.png | Bin 0 -> 805 bytes assets/images/categories/health.png | Bin 0 -> 720 bytes assets/images/categories/home.png | Bin 0 -> 809 bytes assets/images/categories/machinery.png | Bin 0 -> 1055 bytes assets/images/categories/pets.png | Bin 0 -> 759 bytes assets/images/color-filters.png | Bin 0 -> 1653 bytes assets/images/destination_map_marker.png | Bin 0 -> 3539 bytes assets/images/driving_pin.png | Bin 0 -> 5311 bytes assets/images/empty.png | Bin 0 -> 15957 bytes assets/images/emptyBox.png | Bin 0 -> 25653 bytes assets/images/facebook.png | Bin 0 -> 120013 bytes assets/images/facebook_new.png | Bin 0 -> 745 bytes assets/images/firstTime.png | Bin 0 -> 116017 bytes assets/images/gold1.png | Bin 0 -> 4914 bytes assets/images/google.png | Bin 0 -> 42155 bytes assets/images/grey.png | Bin 0 -> 18807 bytes assets/images/loading.png | Bin 0 -> 7771 bytes assets/images/payGold.png | Bin 0 -> 5793 bytes assets/images/prominent-disclosure.jpg | Bin 0 -> 270755 bytes assets/images/rawLogo.png | Bin 0 -> 119222 bytes assets/images/rawLogoOverlay.png | Bin 0 -> 5918 bytes assets/images/rawLogoOverlay1.png | Bin 0 -> 5081 bytes assets/images/rawLogoOverlayOLD.png | Bin 0 -> 98509 bytes assets/images/red.png | Bin 0 -> 12537 bytes assets/images/redBack.png | Bin 0 -> 50957 bytes assets/images/refer.png | Bin 0 -> 247704 bytes assets/images/silver1.png | Bin 0 -> 6575 bytes assets/images/silverAnimated.png | Bin 0 -> 739968 bytes assets/images/store.png | Bin 0 -> 80017 bytes assets/images/tesoCouponInsignia.png | Bin 0 -> 23392 bytes assets/images/tesoDP/dp1.png | Bin 0 -> 6023 bytes assets/images/twitter.png | Bin 0 -> 6983 bytes assets/images/wallet.png | Bin 0 -> 18318 bytes assets/lovw.gif | Bin 0 -> 62042 bytes assets/styles/dark.txt | 285 ++++++ assets/styles/light.txt | 160 +++ commentOld.txt | 339 +++++++ fonts/.DS_Store | Bin 0 -> 6148 bytes fonts/._.DS_Store | Bin 0 -> 4096 bytes fonts/AlexBrush-Regular.ttf | Bin 0 -> 49020 bytes fonts/Allura-Regular.otf | Bin 0 -> 49000 bytes fonts/Arizonia-Regular.ttf | Bin 0 -> 50736 bytes fonts/Billabong.ttf | Bin 0 -> 132528 bytes fonts/ChunkFive-Regular.otf | Bin 0 -> 43460 bytes fonts/Deadhead_Script.ttf | Bin 0 -> 50224 bytes fonts/GrandHotel-Regular.otf | Bin 0 -> 48388 bytes fonts/GreatVibes-Regular.otf | Bin 0 -> 52928 bytes fonts/Lobster_1.3.otf | Bin 0 -> 42564 bytes fonts/Locanita.ttf | Bin 0 -> 46956 bytes fonts/OpenSans-Regular.ttf | Bin 0 -> 217360 bytes fonts/OstrichSans-Medium.otf | Bin 0 -> 15824 bytes fonts/Oswald-Regular.ttf | Bin 0 -> 81076 bytes fonts/Pacifico.ttf | Bin 0 -> 75568 bytes fonts/Quicksand-Regular.otf | Bin 0 -> 28196 bytes fonts/Roboto-Regular.ttf | Bin 0 -> 171676 bytes fonts/SEASRN.ttf | Bin 0 -> 39464 bytes fonts/WickedGrit.ttf | Bin 0 -> 320828 bytes fonts/Windsong.ttf | Bin 0 -> 84852 bytes ios/.DS_Store | Bin 0 -> 10244 bytes ios/._.DS_Store | Bin 0 -> 4096 bytes ios/._.gitignore | Bin 0 -> 4096 bytes ios/._Runner.xcodeproj | Bin 0 -> 4096 bytes ios/._Runner.xcworkspace | Bin 0 -> 4096 bytes ios/.gitignore | 32 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 2 + ios/Flutter/Release.xcconfig | 2 + ios/Podfile | 80 ++ ios/Podfile.lock | 734 ++++++++++++++ ios/Runner.xcodeproj/project.pbxproj | 575 +++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 ++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/GoogleService-Info.plist | 38 + ios/Runner/Info.plist | 127 +++ ios/Runner/Runner-Bridging-Header.h | 1 + lib/.DS_Store | Bin 0 -> 6148 bytes lib/Classes/.DS_Store | Bin 0 -> 6148 bytes lib/Classes/API Clasess/BusinessProfile.dart | 49 + lib/Classes/API Clasess/CampAd.dart | 32 + lib/Classes/API Clasess/Campaign.dart | 57 ++ lib/Classes/API Clasess/CommentsPost.dart | 38 + lib/Classes/API Clasess/CouponDetails.dart | 109 +++ lib/Classes/API Clasess/CouponHead.dart | 59 ++ lib/Classes/API Clasess/Desire.dart | 41 + lib/Classes/API Clasess/ExploreObject.dart | 36 + lib/Classes/API Clasess/FacebookUser.dart | 53 + lib/Classes/API Clasess/GoogleUser.dart | 55 ++ lib/Classes/API Clasess/MuxURL.dart | 1 + lib/Classes/API Clasess/Post.dart | 51 + lib/Classes/API Clasess/PostFav.dart | 34 + lib/Classes/API Clasess/PostUpload.dart | 38 + lib/Classes/API Clasess/PostedAd.dart | 60 ++ lib/Classes/API Clasess/PostionAP.dart | 25 + lib/Classes/API Clasess/Product.dart | 47 + lib/Classes/API Clasess/ProximityCoupon.dart | 80 ++ lib/Classes/API Clasess/ReferralClass.dart | 11 + lib/Classes/API Clasess/Registrar.dart | 26 + lib/Classes/API Clasess/ResetClass.dart | 30 + .../API Clasess/SilverPurchaseRequest.dart | 36 + .../API Clasess/TesoBusinessDetail.dart | 70 ++ lib/Classes/API Clasess/TesoUserDetail.dart | 81 ++ lib/Classes/API Clasess/ThirdPerson.dart | 45 + lib/Classes/API Clasess/TokenHandler.dart | 30 + lib/Classes/API Clasess/TwitterUser.dart | 53 + lib/Classes/API Clasess/UserAuth.dart | 39 + lib/Classes/API Clasess/UserFavCategory.dart | 28 + lib/Classes/API Clasess/UserFinance.dart | 23 + lib/Classes/ChatMessage.dart | 22 + lib/Classes/ColorFilters.dart | 10 + lib/Classes/Connection.dart | 51 + lib/Classes/CouponRateCalculator.dart | 32 + lib/Classes/CustomCacheManager.dart | 14 + lib/Classes/Firebase/Comments.dart | 29 + lib/Classes/Firebase/Posts.dart | 40 + lib/Classes/NotificationSpliter.dart | 103 ++ lib/Classes/Payload.dart | 63 ++ lib/Classes/Product.dart | 47 + lib/Classes/QRClass.dart | 15 + lib/Classes/ReportedContent.dart | 37 + lib/Classes/Router.dart | 3 + lib/Classes/ScalePosition.dart | 27 + lib/Classes/TesoShop.dart | 70 ++ lib/Classes/TesoUser.dart | 101 ++ lib/Classes/TextE.dart | 14 + lib/Classes/Uploading.dart | 31 + lib/Classes/categories.dart | 61 ++ lib/Classes/customLoginButton.dart | 87 ++ lib/Classes/customTesoButton.dart | 55 ++ lib/Classes/friend.dart | 33 + lib/Classes/inbox.dart | 33 + lib/GeneralWidgets/generalInput.dart | 29 + lib/GeneralWidgets/inputText.dart | 36 + lib/GeneralWidgets/inputTextLimited.dart | 39 + .../widgets/uservideo_player_widget.dart | 48 + .../widgets/video_player_widget.dart | 104 ++ lib/GeneralWidgets/widgets/widgets.dart | 1 + lib/Notifications/NotificationPlugin.dart | 271 ++++++ lib/Pages/BusinessLocator.dart | 620 ++++++++++++ lib/Pages/Campaigns.dart | 141 +++ lib/Pages/DesireComeTrue.dart | 293 ++++++ lib/Pages/LandingPage.dart | 196 ++++ lib/Pages/PageWidgets/Alerts/AlertTile.dart | 110 +++ lib/Pages/PageWidgets/Alerts/Redeemable.dart | 106 ++ lib/Pages/PageWidgets/Alerts/Refund.dart | 93 ++ lib/Pages/PageWidgets/Alerts/header.dart | 138 +++ .../Alerts/personalizedCoupon.dart | 157 +++ lib/Pages/PageWidgets/Alerts/post.dart | 95 ++ lib/Pages/PageWidgets/Alerts/requestTile.dart | 184 ++++ .../Alerts/timeline_description.dart | 31 + .../BusinessProfile/BusinessHead.dart | 181 ++++ .../BusinessProfile/BusinessItems.dart | 69 ++ .../PageWidgets/Campaigns/campaignTile.dart | 142 +++ lib/Pages/PageWidgets/Campaigns/header.dart | 45 + .../PageWidgets/ChatScreen/bottomBar.dart | 81 ++ lib/Pages/PageWidgets/ChatScreen/header.dart | 106 ++ .../PageWidgets/ChatScreen/recipient.dart | 46 + lib/Pages/PageWidgets/ChatScreen/sender.dart | 46 + .../PageWidgets/CoinPurchase/AmountInput.dart | 34 + .../PageWidgets/CoinPurchase/MomoType.dart | 56 ++ .../PageWidgets/CoinPurchase/PayGold.dart | 46 + .../CoinPurchase/SilverAmountInput.dart | 32 + .../CoinPurchase/SilverPurchase.dart | 186 ++++ .../PageWidgets/CoinPurchase/phonenumber.dart | 26 + .../PageWidgets/CoinPurchase/selector.dart | 33 + lib/Pages/PageWidgets/Coupons/GiftFriend.dart | 77 ++ lib/Pages/PageWidgets/Coupons/mycoupons.dart | 223 +++++ .../Coupons/personalizedDiscount.dart | 297 ++++++ .../Coupons/personalizedFreebie.dart | 280 ++++++ .../PageWidgets/CouponsList/activeCoupon.dart | 433 +++++++++ .../CouponsList/activeFreebieCoupon.dart | 347 +++++++ .../DesireComeTrue/DesireTile.dart | 81 ++ .../DesireComeTrue/DesiredItem.dart | 190 ++++ .../PageWidgets/Editors/SampleThumbnail.dart | 52 + lib/Pages/PageWidgets/Explore/business.dart | 90 ++ .../PageWidgets/Explore/categoriesTile.dart | 48 + lib/Pages/PageWidgets/Explore/header.dart | 60 ++ lib/Pages/PageWidgets/Explore/popular.dart | 75 ++ lib/Pages/PageWidgets/Explore/products.dart | 64 ++ lib/Pages/PageWidgets/Explore/trending.dart | 139 +++ lib/Pages/PageWidgets/Friends/friendTile.dart | 82 ++ lib/Pages/PageWidgets/Friends/header.dart | 46 + lib/Pages/PageWidgets/Home/homeTile.dart | 27 + .../HomeProximity/ActiveDiscount.dart | 575 +++++++++++ .../HomeProximity/ActiveFreebie.dart | 453 +++++++++ .../HomeProximity/DummyDiscount.dart | 314 ++++++ .../HomeProximity/DummyFreebie.dart | 291 ++++++ lib/Pages/PageWidgets/Inbox/header.dart | 77 ++ lib/Pages/PageWidgets/Inbox/inboxTile.dart | 149 +++ .../PageWidgets/Inbox/newMessageHeader.dart | 58 ++ lib/Pages/PageWidgets/Login/bottomCurve.dart | 32 + lib/Pages/PageWidgets/Login/email.dart | 52 + lib/Pages/PageWidgets/Login/emailSignup.dart | 39 + .../PageWidgets/Login/forgotPassword.dart | 27 + lib/Pages/PageWidgets/Login/password.dart | 34 + .../PageWidgets/Login/passwordAlter.dart | 31 + .../PageWidgets/Login/passwordSignUP.dart | 28 + lib/Pages/PageWidgets/Login/phonenumber.dart | 61 ++ .../PageWidgets/Login/signupusername.dart | 33 + lib/Pages/PageWidgets/Login/username.dart | 31 + lib/Pages/PageWidgets/Login/validation.dart | 133 +++ .../PageWidgets/Login/verificationCode.dart | 40 + lib/Pages/PageWidgets/Personal/Empty.dart | 93 ++ lib/Pages/PageWidgets/Personal/header.dart | 192 ++++ lib/Pages/PageWidgets/Personal/scrolls.dart | 125 +++ lib/Pages/PageWidgets/Posts/comment.dart | 137 +++ lib/Pages/PageWidgets/Posts/posted.dart | 40 + .../Posts/user3P_commentTitle.dart | 56 ++ .../PageWidgets/Posts/user_commentTitle.dart | 69 ++ lib/Pages/PageWidgets/Posts/user_posted.dart | 35 + .../ProximityList/ActiveDiscount.dart | 587 +++++++++++ .../ProximityList/ActiveFreebie.dart | 470 +++++++++ .../ProximityList/DummyDiscount.dart | 310 ++++++ .../ProximityList/DummyFreebie.dart | 289 ++++++ .../Recently Viewed/viewedItem.dart | 176 ++++ lib/Pages/PageWidgets/Redeem/activeCard.dart | 275 ++++++ lib/Pages/PageWidgets/Redeem/detail.dart | 308 ++++++ .../PageWidgets/Redeem/discountCoupon.dart | 274 ++++++ lib/Pages/PageWidgets/Redeem/dummyCard.dart | 177 ++++ .../PageWidgets/Redeem/scannedDummy.dart | 177 ++++ .../PageWidgets/Settings/AccountSettings.dart | 153 +++ .../PageWidgets/Settings/EditProfile.dart | 440 +++++++++ lib/Pages/PageWidgets/Settings/privacy.dart | 30 + lib/Pages/PageWidgets/Settings/terms.dart | 62 ++ lib/Pages/PageWidgets/Settings/webViews.dart | 30 + .../Third Person Profile/Empty.dart | 54 + .../Third Person Profile/header.dart | 305 ++++++ lib/Pages/PageWidgets/Uploads/Pending.dart | 89 ++ .../WalkIn Coupons/ActiveDiscount.dart | 359 +++++++ .../WalkIn Coupons/ActiveFreebie.dart | 318 ++++++ .../WalkIn Coupons/DummyDiscount.dart | 271 ++++++ .../WalkIn Coupons/DummyFreebie.dart | 245 +++++ lib/Pages/Personnal.dart | 184 ++++ .../Camera/Picture/PictureReview.dart | 76 ++ .../@Generic/Camera/Picture/TakeDP.dart | 314 ++++++ .../@Generic/Camera/Picture/TakePicture.dart | 335 +++++++ .../Camera/Video/Editor/TextEditor.dart | 212 ++++ .../Camera/Video/Editor/VideoReview copy.dart | 840 ++++++++++++++++ .../Camera/Video/Editor/VideoReview.dart | 554 +++++++++++ .../Editor/textstyler/src/color_palette.dart | 92 ++ .../Editor/textstyler/src/option_button.dart | 30 + .../Video/Editor/textstyler/src/toolbar.dart | 87 ++ .../Editor/textstyler/src/toolbar_action.dart | 8 + .../src/tools/background_color_tool.dart | 24 + .../textstyler/src/tools/font_color_tool.dart | 24 + .../src/tools/font_family_tool.dart | 66 ++ .../textstyler/src/tools/font_size_tool.dart | 123 +++ .../src/tools/text_format_tool.dart | 237 +++++ .../Editor/textstyler/text_style_editor.dart | 223 +++++ .../@Generic/Camera/Video/RecordVideo.dart | 499 ++++++++++ .../Camera/Video/Trimmer/file_formats.dart | 45 + .../Camera/Video/Trimmer/storage_dir.dart | 32 + .../Video/Trimmer/thumbnail_viewer.dart | 81 ++ .../Camera/Video/Trimmer/trim_editor.dart | 537 ++++++++++ .../Video/Trimmer/trim_editor_painter.dart | 150 +++ .../Camera/Video/Trimmer/trimmer.dart | 300 ++++++ lib/Pages/Sub_Pages/@Generic/Error.dart | 22 + lib/Pages/Sub_Pages/@Generic/ErrorRedeem.dart | 60 ++ .../Sub_Pages/@Generic/ProductImage.dart | 85 ++ .../Sub_Pages/@Generic/RedeemingCoupon.dart | 49 + .../Sub_Pages/@Generic/SuccessRedeem.dart | 376 +++++++ .../Sub_Pages/@Generic/productDetails.dart | 384 ++++++++ .../@Generic/prominentDisclosure.dart | 92 ++ .../prominentDisclosureBackground.dart | 105 ++ .../AccountSettings/BlockedUser.dart | 172 ++++ .../AccountSettings/changePassword.dart | 200 ++++ .../AccountSettings/genderPicker.dart | 107 ++ .../AccountSettings/newPassword.dart | 410 ++++++++ .../Sub_Pages/Business/BusinessProducts.dart | 85 ++ .../Sub_Pages/Business/BusinessProfile.dart | 260 +++++ lib/Pages/Sub_Pages/Business/Posts.dart | 17 + lib/Pages/Sub_Pages/BusinessDetails.dart | 152 +++ .../Sub_Pages/Campaign/AuditionPage.dart | 153 +++ lib/Pages/Sub_Pages/Campaign/CreatePost.dart | 200 ++++ .../Sub_Pages/Campaign/SubmitAdvert.dart | 195 ++++ .../Campaign/Video/Editor/TextEditor.dart | 212 ++++ .../Campaign/Video/Editor/VideoReview.dart | 560 +++++++++++ .../Editor/textstyler/src/color_palette.dart | 92 ++ .../Editor/textstyler/src/option_button.dart | 30 + .../Video/Editor/textstyler/src/toolbar.dart | 87 ++ .../Editor/textstyler/src/toolbar_action.dart | 8 + .../src/tools/background_color_tool.dart | 24 + .../textstyler/src/tools/font_color_tool.dart | 24 + .../src/tools/font_family_tool.dart | 66 ++ .../textstyler/src/tools/font_size_tool.dart | 123 +++ .../src/tools/text_format_tool.dart | 237 +++++ .../Editor/textstyler/text_style_editor.dart | 226 +++++ .../Sub_Pages/Campaign/Video/RecordVideo.dart | 500 ++++++++++ .../Campaign/Video/Trimmer/file_formats.dart | 45 + .../Campaign/Video/Trimmer/storage_dir.dart | 32 + .../Video/Trimmer/thumbnail_viewer.dart | 81 ++ .../Campaign/Video/Trimmer/trim_editor.dart | 537 ++++++++++ .../Video/Trimmer/trim_editor_painter.dart | 150 +++ .../Campaign/Video/Trimmer/trimmer.dart | 300 ++++++ lib/Pages/Sub_Pages/CoinPurchase.dart | 173 ++++ .../CoinsPurchase/GoldTransactions.dart | 152 +++ .../CoinsPurchase/GoldWithdrawal.dart | 171 ++++ .../CoinsPurchase/PurchaseingSilver.dart | 149 +++ .../CoinsPurchase/SilverPurchase.dart | 190 ++++ .../CoinsPurchase/SilverPurchaseFixed.dart | 188 ++++ .../CoinsPurchase/SilverTransaction.dart | 241 +++++ lib/Pages/Sub_Pages/Coupons/Acquire.dart | 226 +++++ .../Sub_Pages/Coupons/CouponLocation.dart | 338 +++++++ .../Sub_Pages/Coupons/LoadGiftRecipient.dart | 88 ++ .../Sub_Pages/Coupons/MyCouponOptions.dart | 408 ++++++++ .../Sub_Pages/Coupons/ProximityCoupons.dart | 404 ++++++++ .../Desires Come True/AddDesire.dart | 236 +++++ .../Desires Come True/NotListed.dart | 100 ++ .../Explore/Categories/AllCategories.dart | 45 + .../Explore/Categories/ExploreCategory.dart | 139 +++ .../Sub_Pages/Explore/ExploreBusiness.dart | 80 ++ .../Sub_Pages/Explore/ExplorePeople.dart | 46 + .../Sub_Pages/Explore/ExploreProduct.dart | 80 ++ .../Sub_Pages/Explore/Latest/AllLatest.dart | 75 ++ .../Sub_Pages/Explore/ML/FindProduct.dart | 220 +++++ .../Explore/Trending/AllTrending.dart | 75 ++ lib/Pages/Sub_Pages/Explore/search.dart | 290 ++++++ .../Sub_Pages/LandingPage/FinalProcess.dart | 280 ++++++ lib/Pages/Sub_Pages/LandingPage/Login.dart | 773 +++++++++++++++ .../Sub_Pages/LandingPage/NewProfile.dart | 212 ++++ .../Sub_Pages/LandingPage/ReferPage.dart | 143 +++ .../Sub_Pages/LandingPage/ResetPassword.dart | 244 +++++ lib/Pages/Sub_Pages/LandingPage/SignUp.dart | 207 ++++ lib/Pages/Sub_Pages/LandingPage/Success.dart | 140 +++ .../Sub_Pages/LandingPage/createPassword.dart | 356 +++++++ .../LandingPage/facebookRedirect.dart | 59 ++ .../LandingPage/registeringProcess.dart | 80 ++ .../LandingPage/resetVerification.dart | 112 +++ .../LandingPage/resetpasswordCode.dart | 446 +++++++++ .../Sub_Pages/LandingPage/verification.dart | 279 ++++++ lib/Pages/Sub_Pages/Notifications/Alerts.dart | 868 +++++++++++++++++ .../Sub_Pages/Notifications/ChatScreen.dart | 345 +++++++ lib/Pages/Sub_Pages/Notifications/Inbox.dart | 145 +++ .../Sub_Pages/Notifications/newMessage.dart | 126 +++ lib/Pages/Sub_Pages/Payments/PaymentView.dart | 65 ++ lib/Pages/Sub_Pages/Payments/Withdrawal.dart | 292 ++++++ .../Sub_Pages/PersonalSub/Categories.dart | 602 ++++++++++++ .../PersonalSub/CompleteProfile.dart | 262 +++++ lib/Pages/Sub_Pages/PersonalSub/Friends.dart | 91 ++ lib/Pages/Sub_Pages/PersonalSub/Posts.dart | 92 ++ lib/Pages/Sub_Pages/PersonalSub/Recently.dart | 175 ++++ lib/Pages/Sub_Pages/PersonalSub/Referral.dart | 241 +++++ lib/Pages/Sub_Pages/PersonalSub/Settings.dart | 246 +++++ lib/Pages/Sub_Pages/PopUp/Personalized.dart | 154 +++ lib/Pages/Sub_Pages/Posts/CreatePost.dart | 196 ++++ lib/Pages/Sub_Pages/Posts/SpecialPosts.dart | 585 +++++++++++ lib/Pages/Sub_Pages/Posts/UserPosts.dart | 515 ++++++++++ lib/Pages/Sub_Pages/Posts/ViewPost.dart | 920 ++++++++++++++++++ lib/Pages/Sub_Pages/Posts/comment.dart | 332 +++++++ lib/Pages/Sub_Pages/Posts/deletePost.dart | 155 +++ lib/Pages/Sub_Pages/Posts/postedDetails.dart | 103 ++ lib/Pages/Sub_Pages/Posts/user_comment.dart | 289 ++++++ .../Sub_Pages/ProductDetails/CouponList.dart | 111 +++ lib/Pages/Sub_Pages/homeSub/HomeFeed.dart | 204 ++++ lib/Pages/Sub_Pages/homeSub/HomePosts.dart | 79 ++ lib/Pages/Sub_Pages/homeSub/MyCoupons.dart | 107 ++ .../Sub_Pages/homeSub/ProximityCoupons.dart | 322 ++++++ lib/Pages/Sub_Pages/homeSub/VideoList.dart | 66 ++ lib/Pages/Sub_Pages/userProfile3P.dart | 747 ++++++++++++++ lib/Pages/codeQR.dart | 125 +++ lib/Pages/explore.dart | 369 +++++++ lib/Pages/firsttimer.dart | 46 + lib/Pages/home.dart | 218 +++++ lib/Pages/notifications.dart | 131 +++ lib/Pages/productView.dart | 364 +++++++ lib/Pages/scannerqr.dart | 106 ++ lib/Pages/splash.dart | 164 ++++ lib/Services/DynamicLinks.dart | 44 + lib/Services/locator.dart | 10 + lib/Services/navigation_service.dart | 14 + lib/Services/services.dart | 1 + lib/Services/services2.dart | 1 + .../uservideo_controller_service.dart | 67 ++ lib/Services/video_controller_service.dart | 66 ++ lib/blocs/blocs.dart | 1 + lib/blocs/video_player/uservideo_player.dart | 3 + .../video_player/uservideo_player_bloc.dart | 28 + .../video_player/uservideo_player_event.dart | 16 + .../video_player/uservideo_player_state.dart | 36 + lib/blocs/video_player/video_player.dart | 3 + lib/blocs/video_player/video_player_bloc.dart | 28 + .../video_player/video_player_event.dart | 16 + .../video_player/video_player_state.dart | 36 + lib/main.dart | 107 ++ lib/main_screen.dart | 905 +++++++++++++++++ lib/providers/app_provider.dart | 62 ++ lib/providers/device_provider.dart | 300 ++++++ lib/providers/pageAnimations.dart | 187 ++++ lib/providers/referral_provider.dart | 19 + lib/providers/user_provider.dart | 874 +++++++++++++++++ lib/qr_code_scanner.dart | 2 + lib/resetpassword.dart | 439 +++++++++ lib/simplewidgets/custom_alert.dart | 82 ++ lib/src/qr_code_scanner.dart | 145 +++ lib/src/qr_scanner_overlay_shape.dart | 165 ++++ lib/util/SizeConfig.dart | 29 + lib/util/consts.dart | 180 ++++ oldupload.txt | 33 + pubspec.yaml | 204 ++++ teso.iml | 18 + test/widget_test.dart | 30 + 867 files changed, 62824 insertions(+) create mode 100644 .DS_Store create mode 100644 ._.DS_Store create mode 100644 .gitignore create mode 100644 InViewList.txt create mode 100644 README.md create mode 100644 android/._.gitignore create mode 100644 android/._.gradle create mode 100644 android/._.idea create mode 100644 android/.gitignore create mode 100644 android/.idea/.gitignore create mode 100644 android/.idea/assetWizardSettings.xml create mode 100644 android/.idea/codeStyles/Project.xml create mode 100644 android/.idea/codeStyles/codeStyleConfig.xml create mode 100644 android/.idea/compiler.xml create mode 100644 android/.idea/gradle.xml create mode 100644 android/.idea/jarRepositories.xml create mode 100644 android/.idea/libraries/Gradle__C__src_flutter__pub_cache_hosted_pub_dartlang_org_camera_deep_ar_0_0_1_android_libs_deepar_aar.xml create mode 100644 android/.idea/libraries/Gradle_______build_app_intermediates_flutter_debug_libs_jar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0_jar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0_jar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_browser_browser_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_browser_browser_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0_jar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_1_1_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_1_1_3.xml create mode 100644 android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_2_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_java8_2_2_0.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_extensions_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_process_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_service_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_media_media_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_core_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_rules_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_transition_transition_1_4_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_webkit_webkit_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__androidx_webkit_webkit_1_4_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__backport_util_concurrent_backport_util_concurrent_3_1.xml create mode 100644 android/.idea/libraries/Gradle__classworlds_classworlds_1_1_alpha_2.xml create mode 100644 android/.idea/libraries/Gradle__com_almworks_sqlite4java_sqlite4java_0_282.xml create mode 100644 android/.idea/libraries/Gradle__com_arthenica_mobile_ffmpeg_full_gpl_4_4_LTS_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_github_MasayukiSuda_Mp4Composer_android_v0_3_9_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_github_yalantis_ucrop_2_2_7_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_annotations_4_1_1_4.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_2_1.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_2_2_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_3_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_2_3_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_3_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_2_2_6_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_3_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_common_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_core_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_dash_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_extractor_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_hls_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_smoothstreaming_2_12_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_16_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_17_4_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_base_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_5_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_6_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_5_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_6_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_clearcut_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_cloud_messaging_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_barcode_scanning_16_1_4_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_face_detection_16_1_6_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_text_recognition_16_1_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_phenotype_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_safetynet_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_20_1_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_common_19_1_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_face_contour_internal_16_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_auto_auto_common_0_8.xml create mode 100644 android/.idea/libraries/Gradle__com_google_auto_service_auto_service_1_0_rc4.xml create mode 100644 android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml create mode 100644 android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml create mode 100644 android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml create mode 100644 android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_2_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_2.xml create mode 100644 android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_4.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_annotations_16_0_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_21_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_19_0_2_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_20_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_common_20_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_components_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_components_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_database_collection_18_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_datatransport_18_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_dynamic_links_20_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_16_1_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_17_0_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_17_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_18_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_firestore_23_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_interop_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_19_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_22_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_firebase_protolite_well_known_types_18_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_failureaccess_1_0_1.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_guava_20_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_guava_27_0_1_jre.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_guava_27_1_android.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml create mode 100644 android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_1.xml create mode 100644 android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_3.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_barcode_scanning_16_1_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_common_17_1_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_face_detection_16_0_7_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_17_0_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_common_17_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_default_common_16_0_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_object_detection_16_2_4_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_object_detection_common_17_0_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_vision_common_16_4_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_mlkit_vision_internal_vkp_18_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_google_protobuf_protobuf_java_2_6_1.xml create mode 100644 android/.idea/libraries/Gradle__com_google_protobuf_protobuf_javalite_3_14_0.xml create mode 100644 android/.idea/libraries/Gradle__com_google_zxing_core_3_3_0.xml create mode 100644 android/.idea/libraries/Gradle__com_googlecode_libphonenumber_libphonenumber_8_12_24.xml create mode 100644 android/.idea/libraries/Gradle__com_ibm_icu_icu4j_53_1.xml create mode 100644 android/.idea/libraries/Gradle__com_jakewharton_threetenabp_threetenabp_1_2_3_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_journeyapps_zxing_android_embedded_4_1_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_karumi_dexter_6_2_1_aar.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okhttp3_mockwebserver_3_14_7.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_0_0.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_14_7.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_7_5.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okio_okio_1_17_2.xml create mode 100644 android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml create mode 100644 android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml create mode 100644 android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml create mode 100644 android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml create mode 100644 android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml create mode 100644 android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_android_1_28_0_aar.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_api_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_context_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_core_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_okhttp_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_protobuf_lite_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_grpc_grpc_stub_1_28_0.xml create mode 100644 android/.idea/libraries/Gradle__io_perfmark_perfmark_api_0_19_0.xml create mode 100644 android/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_3_2.xml create mode 100644 android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml create mode 100644 android/.idea/libraries/Gradle__junit_junit_4_12.xml create mode 100644 android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml create mode 100644 android/.idea/libraries/Gradle__junit_junit_4_13_1.xml create mode 100644 android/.idea/libraries/Gradle__nekohtml_nekohtml_1_9_6_2.xml create mode 100644 android/.idea/libraries/Gradle__nekohtml_xercesMinimal_1_9_6_2.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_15.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_5.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10_jar.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_15.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_5.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10.xml create mode 100644 android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10_jar.xml create mode 100644 android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_ant_ant_1_8_0.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_ant_ant_launcher_1_8_0.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_ant_tasks_2_1_3.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_manager_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_error_diagnostics_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_model_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_plugin_registry_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_profile_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_project_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_repository_metadata_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_maven_settings_2_2_1.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_file_1_0_beta_6.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_6.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_shared_1_0_beta_6.xml create mode 100644 android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_provider_api_1_0_beta_6.xml create mode 100644 android/.idea/libraries/Gradle__org_bouncycastle_bcprov_jdk15on_1_52.xml create mode 100644 android/.idea/libraries/Gradle__org_checkerframework_checker_compat_qual_2_5_5.xml create mode 100644 android/.idea/libraries/Gradle__org_checkerframework_checker_qual_2_5_2.xml create mode 100644 android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml create mode 100644 android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml create mode 100644 android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml create mode 100644 android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_interpolation_1_11.xml create mode 100644 android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_utils_1_5_15.xml create mode 100644 android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml create mode 100644 android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml create mode 100644 android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_21.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_50.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_72.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_5_10.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_21.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_50.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_72.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_10.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_21.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_50.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml create mode 100644 android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_10.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_19.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2_jar.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_core_3_2_4.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_core_3_5_13.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2_jar.xml create mode 100644 android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_5_13.xml create mode 100644 android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6.xml create mode 100644 android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6_jar.xml create mode 100644 android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml create mode 100644 android/.idea/libraries/Gradle__org_ow2_asm_asm_7_0.xml create mode 100644 android/.idea/libraries/Gradle__org_ow2_asm_asm_analysis_7_0.xml create mode 100644 android/.idea/libraries/Gradle__org_ow2_asm_asm_commons_7_0.xml create mode 100644 android/.idea/libraries/Gradle__org_ow2_asm_asm_tree_7_0.xml create mode 100644 android/.idea/libraries/Gradle__org_ow2_asm_asm_util_7_0.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_annotations_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_junit_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_pluginapi_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_plugins_maven_dependency_resolver_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_resources_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_robolectric_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_sandbox_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_shadowapi_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_shadows_framework_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_utils_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_robolectric_utils_reflector_4_3.xml create mode 100644 android/.idea/libraries/Gradle__org_threeten_threetenbp_1_4_2_no_tzdb.xml create mode 100644 android/.idea/misc.xml create mode 100644 android/.idea/modules.xml create mode 100644 android/.idea/modules/-1049254250/android.flutter_local_notifications.iml create mode 100644 android/.idea/modules/-1055924779/android.shared_preferences.iml create mode 100644 android/.idea/modules/-1276585138/android.image_cropper.iml create mode 100644 android/.idea/modules/-1421881264/android.flutter_country_picker.iml create mode 100644 android/.idea/modules/-1535218591/android.path_provider_linux.iml create mode 100644 android/.idea/modules/-1650556252/android.shared_preferences_web.iml create mode 100644 android/.idea/modules/-1728921030/android.firebase_core.iml create mode 100644 android/.idea/modules/-1778056475/android.url_launcher_windows.iml create mode 100644 android/.idea/modules/-1802215405/android.shared_preferences_windows.iml create mode 100644 android/.idea/modules/-18267466/android.google_ml_vision.iml create mode 100644 android/.idea/modules/-1866279700/android.video_player_web.iml create mode 100644 android/.idea/modules/-1981871334/android.cloud_firestore_web.iml create mode 100644 android/.idea/modules/-1989292847/android.image_picker.iml create mode 100644 android/.idea/modules/-206538769/android.flutter_webview_plugin.iml create mode 100644 android/.idea/modules/-2085143847/android.flutter_inappwebview.iml create mode 100644 android/.idea/modules/-2124854993/android.qr_code_scanner.iml create mode 100644 android/.idea/modules/-243381778/android.geolocator_web.iml create mode 100644 android/.idea/modules/-307671483/android.firebase_auth.iml create mode 100644 android/.idea/modules/-313411879/android.google_sign_in.iml create mode 100644 android/.idea/modules/-324416137/android.url_launcher_web.iml create mode 100644 android/.idea/modules/-330149543/android.wakelock_macos.iml create mode 100644 android/.idea/modules/-44543866/android.cloud_firestore.iml create mode 100644 android/.idea/modules/-46297941/android.url_launcher.iml create mode 100644 android/.idea/modules/-47428831/android.google_maps_flutter.iml create mode 100644 android/.idea/modules/-60485287/android.firebase_auth_web.iml create mode 100644 android/.idea/modules/-612426157/android.permission_handler.iml create mode 100644 android/.idea/modules/-650502802/android.path_provider.iml create mode 100644 android/.idea/modules/-879170400/android.path_provider_macos.iml create mode 100644 android/.idea/modules/-947249395/android.firebase_core_web.iml create mode 100644 android/.idea/modules/1008465727/android.webview_flutter.iml create mode 100644 android/.idea/modules/1012871005/android.video_player.iml create mode 100644 android/.idea/modules/1117910010/android.camera_deep_ar.iml create mode 100644 android/.idea/modules/1144720755/android.image_gallery_saver.iml create mode 100644 android/.idea/modules/1230809797/android.camera.iml create mode 100644 android/.idea/modules/1251705732/android.share.iml create mode 100644 android/.idea/modules/1253542358/android.url_launcher_linux.iml create mode 100644 android/.idea/modules/1297275587/android.shared_preferences_macos.iml create mode 100644 android/.idea/modules/1338561407/android.sqflite.iml create mode 100644 android/.idea/modules/1526031749/android.wakelock.iml create mode 100644 android/.idea/modules/1642035704/android.firebase_dynamic_links.iml create mode 100644 android/.idea/modules/1655291913/android.flutter_libphonenumber.iml create mode 100644 android/.idea/modules/1659896315/android.flutter_ffmpeg.iml create mode 100644 android/.idea/modules/1662699662/android.google_sign_in_web.iml create mode 100644 android/.idea/modules/1725698125/android.video_thumbnail.iml create mode 100644 android/.idea/modules/1856912349/android.geolocator.iml create mode 100644 android/.idea/modules/1909590549/android.url_launcher_macos.iml create mode 100644 android/.idea/modules/1986125268/android.firebase_messaging_web.iml create mode 100644 android/.idea/modules/212933758/android.firebase_messaging.iml create mode 100644 android/.idea/modules/261057220/android.flutter_plugin_android_lifecycle.iml create mode 100644 android/.idea/modules/368333755/android.wakelock_web.iml create mode 100644 android/.idea/modules/412216427/android.location.iml create mode 100644 android/.idea/modules/469809666/android.image_picker_for_web.iml create mode 100644 android/.idea/modules/566149743/android.tapioca.iml create mode 100644 android/.idea/modules/641227396/android.shared_preferences_linux.iml create mode 100644 android/.idea/modules/769777073/android.path_provider_windows.iml create mode 100644 android/.idea/modules/830712510/android.location_web.iml create mode 100644 android/.idea/modules/app/android.app.iml create mode 100644 android/.idea/runConfigurations.xml create mode 100644 android/android.iml create mode 100644 android/app/build.gradle create mode 100644 android/app/google-services.json create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/com/example/teso/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-hdpi/app_notf_icon.png create mode 100644 android/app/src/main/res/drawable-mdpi/app_notf_icon.png create mode 100644 android/app/src/main/res/drawable-xhdpi/app_notf_icon.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/app_notf_icon.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/app_notf_icon.png create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/key.properties create mode 100644 android/settings.gradle create mode 100644 android/settings_aar.gradle create mode 100644 android/teso_android.iml create mode 100644 assets/images/AirtelTigo.png create mode 100644 assets/images/MTN.png create mode 100644 assets/images/Vodafone.png create mode 100644 assets/images/background.png create mode 100644 assets/images/blank.jpg create mode 100644 assets/images/blue.png create mode 100644 assets/images/cashOut.png create mode 100644 assets/images/categories/agrix.png create mode 100644 assets/images/categories/antique.png create mode 100644 assets/images/categories/antique2.png create mode 100644 assets/images/categories/autos.png create mode 100644 assets/images/categories/bags.png create mode 100644 assets/images/categories/clothes.png create mode 100644 assets/images/categories/electronics.png create mode 100644 assets/images/categories/food.png create mode 100644 assets/images/categories/gifts.png create mode 100644 assets/images/categories/health.png create mode 100644 assets/images/categories/home.png create mode 100644 assets/images/categories/machinery.png create mode 100644 assets/images/categories/pets.png create mode 100644 assets/images/color-filters.png create mode 100644 assets/images/destination_map_marker.png create mode 100644 assets/images/driving_pin.png create mode 100644 assets/images/empty.png create mode 100644 assets/images/emptyBox.png create mode 100644 assets/images/facebook.png create mode 100644 assets/images/facebook_new.png create mode 100644 assets/images/firstTime.png create mode 100644 assets/images/gold1.png create mode 100644 assets/images/google.png create mode 100644 assets/images/grey.png create mode 100644 assets/images/loading.png create mode 100644 assets/images/payGold.png create mode 100644 assets/images/prominent-disclosure.jpg create mode 100644 assets/images/rawLogo.png create mode 100644 assets/images/rawLogoOverlay.png create mode 100644 assets/images/rawLogoOverlay1.png create mode 100644 assets/images/rawLogoOverlayOLD.png create mode 100644 assets/images/red.png create mode 100644 assets/images/redBack.png create mode 100644 assets/images/refer.png create mode 100644 assets/images/silver1.png create mode 100644 assets/images/silverAnimated.png create mode 100644 assets/images/store.png create mode 100644 assets/images/tesoCouponInsignia.png create mode 100644 assets/images/tesoDP/dp1.png create mode 100644 assets/images/twitter.png create mode 100644 assets/images/wallet.png create mode 100644 assets/lovw.gif create mode 100644 assets/styles/dark.txt create mode 100644 assets/styles/light.txt create mode 100644 commentOld.txt create mode 100644 fonts/.DS_Store create mode 100644 fonts/._.DS_Store create mode 100644 fonts/AlexBrush-Regular.ttf create mode 100644 fonts/Allura-Regular.otf create mode 100644 fonts/Arizonia-Regular.ttf create mode 100644 fonts/Billabong.ttf create mode 100644 fonts/ChunkFive-Regular.otf create mode 100644 fonts/Deadhead_Script.ttf create mode 100644 fonts/GrandHotel-Regular.otf create mode 100644 fonts/GreatVibes-Regular.otf create mode 100644 fonts/Lobster_1.3.otf create mode 100644 fonts/Locanita.ttf create mode 100644 fonts/OpenSans-Regular.ttf create mode 100644 fonts/OstrichSans-Medium.otf create mode 100644 fonts/Oswald-Regular.ttf create mode 100644 fonts/Pacifico.ttf create mode 100644 fonts/Quicksand-Regular.otf create mode 100644 fonts/Roboto-Regular.ttf create mode 100644 fonts/SEASRN.ttf create mode 100644 fonts/WickedGrit.ttf create mode 100644 fonts/Windsong.ttf create mode 100644 ios/.DS_Store create mode 100644 ios/._.DS_Store create mode 100644 ios/._.gitignore create mode 100644 ios/._Runner.xcodeproj create mode 100644 ios/._Runner.xcworkspace create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Podfile create mode 100644 ios/Podfile.lock create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/GoogleService-Info.plist create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 lib/.DS_Store create mode 100644 lib/Classes/.DS_Store create mode 100644 lib/Classes/API Clasess/BusinessProfile.dart create mode 100644 lib/Classes/API Clasess/CampAd.dart create mode 100644 lib/Classes/API Clasess/Campaign.dart create mode 100644 lib/Classes/API Clasess/CommentsPost.dart create mode 100644 lib/Classes/API Clasess/CouponDetails.dart create mode 100644 lib/Classes/API Clasess/CouponHead.dart create mode 100644 lib/Classes/API Clasess/Desire.dart create mode 100644 lib/Classes/API Clasess/ExploreObject.dart create mode 100644 lib/Classes/API Clasess/FacebookUser.dart create mode 100644 lib/Classes/API Clasess/GoogleUser.dart create mode 100644 lib/Classes/API Clasess/MuxURL.dart create mode 100644 lib/Classes/API Clasess/Post.dart create mode 100644 lib/Classes/API Clasess/PostFav.dart create mode 100644 lib/Classes/API Clasess/PostUpload.dart create mode 100644 lib/Classes/API Clasess/PostedAd.dart create mode 100644 lib/Classes/API Clasess/PostionAP.dart create mode 100644 lib/Classes/API Clasess/Product.dart create mode 100644 lib/Classes/API Clasess/ProximityCoupon.dart create mode 100644 lib/Classes/API Clasess/ReferralClass.dart create mode 100644 lib/Classes/API Clasess/Registrar.dart create mode 100644 lib/Classes/API Clasess/ResetClass.dart create mode 100644 lib/Classes/API Clasess/SilverPurchaseRequest.dart create mode 100644 lib/Classes/API Clasess/TesoBusinessDetail.dart create mode 100644 lib/Classes/API Clasess/TesoUserDetail.dart create mode 100644 lib/Classes/API Clasess/ThirdPerson.dart create mode 100644 lib/Classes/API Clasess/TokenHandler.dart create mode 100644 lib/Classes/API Clasess/TwitterUser.dart create mode 100644 lib/Classes/API Clasess/UserAuth.dart create mode 100644 lib/Classes/API Clasess/UserFavCategory.dart create mode 100644 lib/Classes/API Clasess/UserFinance.dart create mode 100644 lib/Classes/ChatMessage.dart create mode 100644 lib/Classes/ColorFilters.dart create mode 100644 lib/Classes/Connection.dart create mode 100644 lib/Classes/CouponRateCalculator.dart create mode 100644 lib/Classes/CustomCacheManager.dart create mode 100644 lib/Classes/Firebase/Comments.dart create mode 100644 lib/Classes/Firebase/Posts.dart create mode 100644 lib/Classes/NotificationSpliter.dart create mode 100644 lib/Classes/Payload.dart create mode 100644 lib/Classes/Product.dart create mode 100644 lib/Classes/QRClass.dart create mode 100644 lib/Classes/ReportedContent.dart create mode 100644 lib/Classes/Router.dart create mode 100644 lib/Classes/ScalePosition.dart create mode 100644 lib/Classes/TesoShop.dart create mode 100644 lib/Classes/TesoUser.dart create mode 100644 lib/Classes/TextE.dart create mode 100644 lib/Classes/Uploading.dart create mode 100644 lib/Classes/categories.dart create mode 100644 lib/Classes/customLoginButton.dart create mode 100644 lib/Classes/customTesoButton.dart create mode 100644 lib/Classes/friend.dart create mode 100644 lib/Classes/inbox.dart create mode 100644 lib/GeneralWidgets/generalInput.dart create mode 100644 lib/GeneralWidgets/inputText.dart create mode 100644 lib/GeneralWidgets/inputTextLimited.dart create mode 100644 lib/GeneralWidgets/widgets/uservideo_player_widget.dart create mode 100644 lib/GeneralWidgets/widgets/video_player_widget.dart create mode 100644 lib/GeneralWidgets/widgets/widgets.dart create mode 100644 lib/Notifications/NotificationPlugin.dart create mode 100644 lib/Pages/BusinessLocator.dart create mode 100644 lib/Pages/Campaigns.dart create mode 100644 lib/Pages/DesireComeTrue.dart create mode 100644 lib/Pages/LandingPage.dart create mode 100644 lib/Pages/PageWidgets/Alerts/AlertTile.dart create mode 100644 lib/Pages/PageWidgets/Alerts/Redeemable.dart create mode 100644 lib/Pages/PageWidgets/Alerts/Refund.dart create mode 100644 lib/Pages/PageWidgets/Alerts/header.dart create mode 100644 lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart create mode 100644 lib/Pages/PageWidgets/Alerts/post.dart create mode 100644 lib/Pages/PageWidgets/Alerts/requestTile.dart create mode 100644 lib/Pages/PageWidgets/Alerts/timeline_description.dart create mode 100644 lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart create mode 100644 lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart create mode 100644 lib/Pages/PageWidgets/Campaigns/campaignTile.dart create mode 100644 lib/Pages/PageWidgets/Campaigns/header.dart create mode 100644 lib/Pages/PageWidgets/ChatScreen/bottomBar.dart create mode 100644 lib/Pages/PageWidgets/ChatScreen/header.dart create mode 100644 lib/Pages/PageWidgets/ChatScreen/recipient.dart create mode 100644 lib/Pages/PageWidgets/ChatScreen/sender.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/MomoType.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/PayGold.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart create mode 100644 lib/Pages/PageWidgets/CoinPurchase/selector.dart create mode 100644 lib/Pages/PageWidgets/Coupons/GiftFriend.dart create mode 100644 lib/Pages/PageWidgets/Coupons/mycoupons.dart create mode 100644 lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart create mode 100644 lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart create mode 100644 lib/Pages/PageWidgets/CouponsList/activeCoupon.dart create mode 100644 lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart create mode 100644 lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart create mode 100644 lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart create mode 100644 lib/Pages/PageWidgets/Editors/SampleThumbnail.dart create mode 100644 lib/Pages/PageWidgets/Explore/business.dart create mode 100644 lib/Pages/PageWidgets/Explore/categoriesTile.dart create mode 100644 lib/Pages/PageWidgets/Explore/header.dart create mode 100644 lib/Pages/PageWidgets/Explore/popular.dart create mode 100644 lib/Pages/PageWidgets/Explore/products.dart create mode 100644 lib/Pages/PageWidgets/Explore/trending.dart create mode 100644 lib/Pages/PageWidgets/Friends/friendTile.dart create mode 100644 lib/Pages/PageWidgets/Friends/header.dart create mode 100644 lib/Pages/PageWidgets/Home/homeTile.dart create mode 100644 lib/Pages/PageWidgets/HomeProximity/ActiveDiscount.dart create mode 100644 lib/Pages/PageWidgets/HomeProximity/ActiveFreebie.dart create mode 100644 lib/Pages/PageWidgets/HomeProximity/DummyDiscount.dart create mode 100644 lib/Pages/PageWidgets/HomeProximity/DummyFreebie.dart create mode 100644 lib/Pages/PageWidgets/Inbox/header.dart create mode 100644 lib/Pages/PageWidgets/Inbox/inboxTile.dart create mode 100644 lib/Pages/PageWidgets/Inbox/newMessageHeader.dart create mode 100644 lib/Pages/PageWidgets/Login/bottomCurve.dart create mode 100644 lib/Pages/PageWidgets/Login/email.dart create mode 100644 lib/Pages/PageWidgets/Login/emailSignup.dart create mode 100644 lib/Pages/PageWidgets/Login/forgotPassword.dart create mode 100644 lib/Pages/PageWidgets/Login/password.dart create mode 100644 lib/Pages/PageWidgets/Login/passwordAlter.dart create mode 100644 lib/Pages/PageWidgets/Login/passwordSignUP.dart create mode 100644 lib/Pages/PageWidgets/Login/phonenumber.dart create mode 100644 lib/Pages/PageWidgets/Login/signupusername.dart create mode 100644 lib/Pages/PageWidgets/Login/username.dart create mode 100644 lib/Pages/PageWidgets/Login/validation.dart create mode 100644 lib/Pages/PageWidgets/Login/verificationCode.dart create mode 100644 lib/Pages/PageWidgets/Personal/Empty.dart create mode 100644 lib/Pages/PageWidgets/Personal/header.dart create mode 100644 lib/Pages/PageWidgets/Personal/scrolls.dart create mode 100644 lib/Pages/PageWidgets/Posts/comment.dart create mode 100644 lib/Pages/PageWidgets/Posts/posted.dart create mode 100644 lib/Pages/PageWidgets/Posts/user3P_commentTitle.dart create mode 100644 lib/Pages/PageWidgets/Posts/user_commentTitle.dart create mode 100644 lib/Pages/PageWidgets/Posts/user_posted.dart create mode 100644 lib/Pages/PageWidgets/ProximityList/ActiveDiscount.dart create mode 100644 lib/Pages/PageWidgets/ProximityList/ActiveFreebie.dart create mode 100644 lib/Pages/PageWidgets/ProximityList/DummyDiscount.dart create mode 100644 lib/Pages/PageWidgets/ProximityList/DummyFreebie.dart create mode 100644 lib/Pages/PageWidgets/Recently Viewed/viewedItem.dart create mode 100644 lib/Pages/PageWidgets/Redeem/activeCard.dart create mode 100644 lib/Pages/PageWidgets/Redeem/detail.dart create mode 100644 lib/Pages/PageWidgets/Redeem/discountCoupon.dart create mode 100644 lib/Pages/PageWidgets/Redeem/dummyCard.dart create mode 100644 lib/Pages/PageWidgets/Redeem/scannedDummy.dart create mode 100644 lib/Pages/PageWidgets/Settings/AccountSettings.dart create mode 100644 lib/Pages/PageWidgets/Settings/EditProfile.dart create mode 100644 lib/Pages/PageWidgets/Settings/privacy.dart create mode 100644 lib/Pages/PageWidgets/Settings/terms.dart create mode 100644 lib/Pages/PageWidgets/Settings/webViews.dart create mode 100644 lib/Pages/PageWidgets/Third Person Profile/Empty.dart create mode 100644 lib/Pages/PageWidgets/Third Person Profile/header.dart create mode 100644 lib/Pages/PageWidgets/Uploads/Pending.dart create mode 100644 lib/Pages/PageWidgets/WalkIn Coupons/ActiveDiscount.dart create mode 100644 lib/Pages/PageWidgets/WalkIn Coupons/ActiveFreebie.dart create mode 100644 lib/Pages/PageWidgets/WalkIn Coupons/DummyDiscount.dart create mode 100644 lib/Pages/PageWidgets/WalkIn Coupons/DummyFreebie.dart create mode 100644 lib/Pages/Personnal.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Picture/PictureReview.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakeDP.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakePicture.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/TextEditor.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview copy.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/color_palette.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/option_button.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar_action.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/background_color_tool.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_color_tool.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_family_tool.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_size_tool.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/text_format_tool.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/text_style_editor.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/storage_dir.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/thumbnail_viewer.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor_painter.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/Error.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/ErrorRedeem.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/ProductImage.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/SuccessRedeem.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/productDetails.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/prominentDisclosure.dart create mode 100644 lib/Pages/Sub_Pages/@Generic/prominentDisclosureBackground.dart create mode 100644 lib/Pages/Sub_Pages/AccountSettings/BlockedUser.dart create mode 100644 lib/Pages/Sub_Pages/AccountSettings/changePassword.dart create mode 100644 lib/Pages/Sub_Pages/AccountSettings/genderPicker.dart create mode 100644 lib/Pages/Sub_Pages/AccountSettings/newPassword.dart create mode 100644 lib/Pages/Sub_Pages/Business/BusinessProducts.dart create mode 100644 lib/Pages/Sub_Pages/Business/BusinessProfile.dart create mode 100644 lib/Pages/Sub_Pages/Business/Posts.dart create mode 100644 lib/Pages/Sub_Pages/BusinessDetails.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/AuditionPage.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/CreatePost.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/SubmitAdvert.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/TextEditor.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/VideoReview.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/color_palette.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/option_button.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar_action.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/background_color_tool.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_color_tool.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_family_tool.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_size_tool.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/text_format_tool.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/text_style_editor.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/RecordVideo.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/file_formats.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/storage_dir.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/thumbnail_viewer.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor_painter.dart create mode 100644 lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trimmer.dart create mode 100644 lib/Pages/Sub_Pages/CoinPurchase.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/GoldTransactions.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/GoldWithdrawal.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/PurchaseingSilver.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchase.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart create mode 100644 lib/Pages/Sub_Pages/CoinsPurchase/SilverTransaction.dart create mode 100644 lib/Pages/Sub_Pages/Coupons/Acquire.dart create mode 100644 lib/Pages/Sub_Pages/Coupons/CouponLocation.dart create mode 100644 lib/Pages/Sub_Pages/Coupons/LoadGiftRecipient.dart create mode 100644 lib/Pages/Sub_Pages/Coupons/MyCouponOptions.dart create mode 100644 lib/Pages/Sub_Pages/Coupons/ProximityCoupons.dart create mode 100644 lib/Pages/Sub_Pages/Desires Come True/AddDesire.dart create mode 100644 lib/Pages/Sub_Pages/Desires Come True/NotListed.dart create mode 100644 lib/Pages/Sub_Pages/Explore/Categories/AllCategories.dart create mode 100644 lib/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart create mode 100644 lib/Pages/Sub_Pages/Explore/ExploreBusiness.dart create mode 100644 lib/Pages/Sub_Pages/Explore/ExplorePeople.dart create mode 100644 lib/Pages/Sub_Pages/Explore/ExploreProduct.dart create mode 100644 lib/Pages/Sub_Pages/Explore/Latest/AllLatest.dart create mode 100644 lib/Pages/Sub_Pages/Explore/ML/FindProduct.dart create mode 100644 lib/Pages/Sub_Pages/Explore/Trending/AllTrending.dart create mode 100644 lib/Pages/Sub_Pages/Explore/search.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/FinalProcess.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/Login.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/NewProfile.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/ReferPage.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/ResetPassword.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/SignUp.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/Success.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/createPassword.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/facebookRedirect.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/registeringProcess.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/resetVerification.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/resetpasswordCode.dart create mode 100644 lib/Pages/Sub_Pages/LandingPage/verification.dart create mode 100644 lib/Pages/Sub_Pages/Notifications/Alerts.dart create mode 100644 lib/Pages/Sub_Pages/Notifications/ChatScreen.dart create mode 100644 lib/Pages/Sub_Pages/Notifications/Inbox.dart create mode 100644 lib/Pages/Sub_Pages/Notifications/newMessage.dart create mode 100644 lib/Pages/Sub_Pages/Payments/PaymentView.dart create mode 100644 lib/Pages/Sub_Pages/Payments/Withdrawal.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Categories.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/CompleteProfile.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Friends.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Posts.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Recently.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Referral.dart create mode 100644 lib/Pages/Sub_Pages/PersonalSub/Settings.dart create mode 100644 lib/Pages/Sub_Pages/PopUp/Personalized.dart create mode 100644 lib/Pages/Sub_Pages/Posts/CreatePost.dart create mode 100644 lib/Pages/Sub_Pages/Posts/SpecialPosts.dart create mode 100644 lib/Pages/Sub_Pages/Posts/UserPosts.dart create mode 100644 lib/Pages/Sub_Pages/Posts/ViewPost.dart create mode 100644 lib/Pages/Sub_Pages/Posts/comment.dart create mode 100644 lib/Pages/Sub_Pages/Posts/deletePost.dart create mode 100644 lib/Pages/Sub_Pages/Posts/postedDetails.dart create mode 100644 lib/Pages/Sub_Pages/Posts/user_comment.dart create mode 100644 lib/Pages/Sub_Pages/ProductDetails/CouponList.dart create mode 100644 lib/Pages/Sub_Pages/homeSub/HomeFeed.dart create mode 100644 lib/Pages/Sub_Pages/homeSub/HomePosts.dart create mode 100644 lib/Pages/Sub_Pages/homeSub/MyCoupons.dart create mode 100644 lib/Pages/Sub_Pages/homeSub/ProximityCoupons.dart create mode 100644 lib/Pages/Sub_Pages/homeSub/VideoList.dart create mode 100644 lib/Pages/Sub_Pages/userProfile3P.dart create mode 100644 lib/Pages/codeQR.dart create mode 100644 lib/Pages/explore.dart create mode 100644 lib/Pages/firsttimer.dart create mode 100644 lib/Pages/home.dart create mode 100644 lib/Pages/notifications.dart create mode 100644 lib/Pages/productView.dart create mode 100644 lib/Pages/scannerqr.dart create mode 100644 lib/Pages/splash.dart create mode 100644 lib/Services/DynamicLinks.dart create mode 100644 lib/Services/locator.dart create mode 100644 lib/Services/navigation_service.dart create mode 100644 lib/Services/services.dart create mode 100644 lib/Services/services2.dart create mode 100644 lib/Services/uservideo_controller_service.dart create mode 100644 lib/Services/video_controller_service.dart create mode 100644 lib/blocs/blocs.dart create mode 100644 lib/blocs/video_player/uservideo_player.dart create mode 100644 lib/blocs/video_player/uservideo_player_bloc.dart create mode 100644 lib/blocs/video_player/uservideo_player_event.dart create mode 100644 lib/blocs/video_player/uservideo_player_state.dart create mode 100644 lib/blocs/video_player/video_player.dart create mode 100644 lib/blocs/video_player/video_player_bloc.dart create mode 100644 lib/blocs/video_player/video_player_event.dart create mode 100644 lib/blocs/video_player/video_player_state.dart create mode 100644 lib/main.dart create mode 100644 lib/main_screen.dart create mode 100644 lib/providers/app_provider.dart create mode 100644 lib/providers/device_provider.dart create mode 100644 lib/providers/pageAnimations.dart create mode 100644 lib/providers/referral_provider.dart create mode 100644 lib/providers/user_provider.dart create mode 100644 lib/qr_code_scanner.dart create mode 100644 lib/resetpassword.dart create mode 100644 lib/simplewidgets/custom_alert.dart create mode 100644 lib/src/qr_code_scanner.dart create mode 100644 lib/src/qr_scanner_overlay_shape.dart create mode 100644 lib/util/SizeConfig.dart create mode 100644 lib/util/consts.dart create mode 100644 oldupload.txt create mode 100644 pubspec.yaml create mode 100644 teso.iml create mode 100644 test/widget_test.dart diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fe5a922a13479246aef7ea41eaa2532b44b8a570 GIT binary patch literal 10244 zcmeHMU2Ggz6+Xvyl9|bm$Ig#4+x#q9xi;V=cH-CxN!#^LVoYM$vYpzF6K`gB#?BXn*``vHuJ$DuWusd(G0mK17qMJ!|9VIJVte)M=uBxzPGf59$S92vh!BVnC?dethdA9#CPTR- zBwsox;YR?HHB`(m%F{W3+r&ee4CRuL+?0HZ(*uU47#=ZDm{Wb6sgq2Ga!E*G4k*k4 z!6D)*n*dC*-3>YZJOdUu;FsIOEwZ{=V!!>r*^@tm{O0I(c+PCAEqY@qR!TC5>G)`mylEi5o9dVaWKBr=LmVUTKu2D6JxlT=KnK zlX)%0qncWFEB)c$D|#AgrRV%yI5+R4bGGFNt*!U4s=8*?>NS$Atd-YpSSz0yIp@xe z1bUG7yLB(6ZX2--Gp&1LmJysAHJzijIcqwD-U&T0y-B7#>bf>5h`gSD(lX~#>ZTso z33SUbJ?>BVI6Y=LhCA2o<{iW5`k`~4AJT(!f)P{wH&O2QC8)6>2gjF;pmPWuFNe_&?& zooSc+&l1FgxxjKA|4GyHNlxgVr#mxd_xu@KPn-6j)9nU;+&1GnL!Qa(#x2UT zekPvyn}8;fJYL8&i;M~hk)bGG#ZgDknzEco4uyphG{Rx%gCS1lFToYK0pEw8z;EC_ z{1yIzhzf4R&A0=1;wSJ?Y{JlQRbgsk1@}TCeNrq;jqT6&2$EJ^DNIc%NwxmZDJP19 zSU$e7jBDq!j-OKNGP<3~+r-l@+h!y7i*t0!cfEjcC&iSi=6!S6Bt2`^>?Lh7T>;@l zvQ>0ezP)bq_Fa#Dy7j$*gV{F#)t+Z`& z9P4mUmS5k}uywr_)3z0=DorFcA&uwL)>C;anCETm*r_R}4eH&1Yp_-f^<_!sHHn>? zHpyywJd;vGl6Y}bv!;ytG-_236fo(OIqHwaTYrq^V14wNT!xv`Iuyb(N@XS2|=O zuv#N(4=INw;;Fh?)IP2xW%i1xAf6jzy)rFfmF#;c_in*Ua0h+`za`Gyhd;qz;9aC$ zA2;Au&bM8dz((AId$A4oVLLvCj}!B{um?}z01o01v2PMj;}oV)C-z<7?91UiUc$?` zNG$vUevvr%W&CQ$!f)U=@h0A`;9P%!Z9?Mr9&m1U#B*%dnV}N4oK{oxWI?(-`l#AO zHG4~uXizw03=0H)+^=vf9b|7Hu(R2vzH{kv2R^iXg^51`Tm0kD|hyW z#y!(JR{_mB3h45Xrl5<3gBc3&Yzmerz$*uf z1(|rU1gzzD^Ax;g!7jIB0byA%Cc`isg)ZoY0g`*jq9Q2d;c#jACh;KHr(W%$NnG9n z1#)FA)P(v$c~59JE)PwM;6#}Sfe3*Jfe#XaYT+!-zW*P6`2YVOWRsDv2!RNJj~D`2 z(>v1JO`R&7>MQ%lzO~2cK1(;dnBJ0*+=LRQ!piyQczR%;$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6742f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# ---> Dart +# See https://www.dartlang.org/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.packages +build/ +.vscode/ +.VSCodeCounter/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# dotenv environment variables file +.env* + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map + +.flutter-plugins +.flutter-plugins-dependencies diff --git a/InViewList.txt b/InViewList.txt new file mode 100644 index 0000000..bda900d --- /dev/null +++ b/InViewList.txt @@ -0,0 +1,79 @@ + // Stack( + // fit: StackFit.expand, + // children: [ + // InViewNotifierList( + // scrollDirection: Axis.vertical, + // initialInViewIds: ['0'], + // isInViewPortCondition: (double deltaTop, double deltaBottom, + // double viewPortDimension) { + // return deltaTop < (0.5 * viewPortDimension) && + // deltaBottom > (0.5 * viewPortDimension); + // }, + // throttleDuration: Duration(seconds: 1), + // itemCount: 10, + // builder: (BuildContext context, int index) { + // return Container( + // width: double.infinity, + // height: MediaQuery.of(context).size.height, + // alignment: Alignment.center, + // // margin: EdgeInsets.symmetric(vertical: 50.0), + // child: LayoutBuilder( + // builder: (BuildContext context, BoxConstraints constraints) { + // return InViewNotifierWidget( + // id: '$index', + // builder: + // (BuildContext context, bool isInView, Widget child) { + // return ViewPost( + // play: isInView, + // postedAd: new Post( + // aspect: widget.postedAd[index].aspect, + // path: + // "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", + // postID: widget.postedAd[index].postID, + // publisherID: widget.postedAd[index].publisherID, + // thumbnail: widget.postedAd[index].thumbnail, + // timestamp: widget.postedAd[index].timestamp, + // title: widget.postedAd[index].title, + // ), + // //url: + // // 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4' + // ); + // }, + // ); + // }, + // ), + // ); + // }, + // ), + // Align( + // alignment: Alignment.center, + // child: Container( + // height: 1.0, + // color: Colors.redAccent, + // ), + // ), + // Align( + // alignment: Alignment.topLeft, + // child: InkWell( + // onTap: () { + // Navigator.pop(context); + // }, + // child: Container( + // height: 40, + // width: 40, + // margin: EdgeInsets.symmetric( + // vertical: 30.0, + // horizontal: 10, + // ), + // decoration: BoxDecoration( + // color: Color.fromRGBO(0, 0, 0, 0.4), + // shape: BoxShape.circle), + // child: Icon( + // Icons.arrow_back_ios, + // color: Colors.white, + // ), + // ), + // ), + // ), + // ], + // ), \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..49d9662 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# teso + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/android/._.gitignore b/android/._.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..338bd7ba27b62046d75470a7732f6f1b01806cb5 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/android/._.gradle b/android/._.gradle new file mode 100644 index 0000000000000000000000000000000000000000..338bd7ba27b62046d75470a7732f6f1b01806cb5 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/android/._.idea b/android/._.idea new file mode 100644 index 0000000000000000000000000000000000000000..338bd7ba27b62046d75470a7732f6f1b01806cb5 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..bc2100d --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,7 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java diff --git a/android/.idea/.gitignore b/android/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/android/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/android/.idea/assetWizardSettings.xml b/android/.idea/assetWizardSettings.xml new file mode 100644 index 0000000..dcde322 --- /dev/null +++ b/android/.idea/assetWizardSettings.xml @@ -0,0 +1,156 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/codeStyles/Project.xml b/android/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..88ea3aa --- /dev/null +++ b/android/.idea/codeStyles/Project.xml @@ -0,0 +1,122 @@ + + + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+ + +
+
\ No newline at end of file diff --git a/android/.idea/codeStyles/codeStyleConfig.xml b/android/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/android/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/android/.idea/compiler.xml b/android/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/android/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/gradle.xml b/android/.idea/gradle.xml new file mode 100644 index 0000000..1a265c6 --- /dev/null +++ b/android/.idea/gradle.xml @@ -0,0 +1,76 @@ + + + + + + + \ No newline at end of file diff --git a/android/.idea/jarRepositories.xml b/android/.idea/jarRepositories.xml new file mode 100644 index 0000000..cfbe04b --- /dev/null +++ b/android/.idea/jarRepositories.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__C__src_flutter__pub_cache_hosted_pub_dartlang_org_camera_deep_ar_0_0_1_android_libs_deepar_aar.xml b/android/.idea/libraries/Gradle__C__src_flutter__pub_cache_hosted_pub_dartlang_org_camera_deep_ar_0_0_1_android_libs_deepar_aar.xml new file mode 100644 index 0000000..a503c4a --- /dev/null +++ b/android/.idea/libraries/Gradle__C__src_flutter__pub_cache_hosted_pub_dartlang_org_camera_deep_ar_0_0_1_android_libs_deepar_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle_______build_app_intermediates_flutter_debug_libs_jar.xml b/android/.idea/libraries/Gradle_______build_app_intermediates_flutter_debug_libs_jar.xml new file mode 100644 index 0000000..106c5b3 --- /dev/null +++ b/android/.idea/libraries/Gradle_______build_app_intermediates_flutter_debug_libs_jar.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml new file mode 100644 index 0000000..458ea8f --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml b/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml new file mode 100644 index 0000000..e732b26 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml new file mode 100644 index 0000000..b2158ac --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0_jar.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0_jar.xml new file mode 100644 index 0000000..5b17db6 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml new file mode 100644 index 0000000..74437d7 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml new file mode 100644 index 0000000..7114b1a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml new file mode 100644 index 0000000..d64d5a8 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml new file mode 100644 index 0000000..24aabd0 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml new file mode 100644 index 0000000..be80a6d --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml new file mode 100644 index 0000000..b49aedd --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml new file mode 100644 index 0000000..416e446 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml new file mode 100644 index 0000000..781df5a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml new file mode 100644 index 0000000..49e4e24 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml b/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml new file mode 100644 index 0000000..2208415 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0_jar.xml b/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0_jar.xml new file mode 100644 index 0000000..a7f501b --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml new file mode 100644 index 0000000..231a5b3 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml new file mode 100644 index 0000000..ab8cda3 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml new file mode 100644 index 0000000..3437956 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_browser_browser_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_browser_browser_1_0_0_aar.xml new file mode 100644 index 0000000..a32ed76 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_browser_browser_1_0_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_browser_browser_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_browser_browser_1_3_0_aar.xml new file mode 100644 index 0000000..d7e7180 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_browser_browser_1_3_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml new file mode 100644 index 0000000..22bc731 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml b/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml new file mode 100644 index 0000000..eafc05e --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0_jar.xml b/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0_jar.xml new file mode 100644 index 0000000..ecb16c3 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_1_1_3_aar.xml b/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_1_1_3_aar.xml new file mode 100644 index 0000000..c90f313 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_1_1_3_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_1_1_3.xml b/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_1_1_3.xml new file mode 100644 index 0000000..e040f45 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_1_1_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml new file mode 100644 index 0000000..d330830 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml new file mode 100644 index 0000000..c20cd6d --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml new file mode 100644 index 0000000..88e6e46 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml new file mode 100644 index 0000000..27b3e2f --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_3_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml new file mode 100644 index 0000000..f9147cf --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml new file mode 100644 index 0000000..67868aa --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml new file mode 100644 index 0000000..c15ec16 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml new file mode 100644 index 0000000..0a4b25a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml new file mode 100644 index 0000000..9732751 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml new file mode 100644 index 0000000..e2aa786 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml b/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml new file mode 100644 index 0000000..5942d8a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml new file mode 100644 index 0000000..ab91b59 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml new file mode 100644 index 0000000..6db1200 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_0_0_aar.xml new file mode 100644 index 0000000..39f8b14 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_0_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_0_aar.xml new file mode 100644 index 0000000..c5da476 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_2_aar.xml b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_2_aar.xml new file mode 100644 index 0000000..4c69758 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_2_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml new file mode 100644 index 0000000..bf6125c --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml new file mode 100644 index 0000000..3c33b63 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml new file mode 100644 index 0000000..bf1f715 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml new file mode 100644 index 0000000..6a11726 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml new file mode 100644 index 0000000..9ce25f0 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml new file mode 100644 index 0000000..a41ba15 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0.xml new file mode 100644 index 0000000..f7d6479 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml new file mode 100644 index 0000000..a1e1912 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_java8_2_2_0.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_java8_2_2_0.xml new file mode 100644 index 0000000..fc8d677 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_java8_2_2_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_extensions_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_extensions_2_1_0_aar.xml new file mode 100644 index 0000000..c6278db --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_extensions_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml new file mode 100644 index 0000000..33a56f8 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml new file mode 100644 index 0000000..6242132 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml new file mode 100644 index 0000000..1722737 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml new file mode 100644 index 0000000..4c7595c --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml new file mode 100644 index 0000000..5fcddfb --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_process_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_process_2_1_0_aar.xml new file mode 100644 index 0000000..beaeb32 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_process_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml new file mode 100644 index 0000000..866c83f --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml new file mode 100644 index 0000000..dc4d837 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_service_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_service_2_1_0_aar.xml new file mode 100644 index 0000000..ca08d04 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_service_2_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml new file mode 100644 index 0000000..4206bab --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml new file mode 100644 index 0000000..5c0364a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml new file mode 100644 index 0000000..9dc2797 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml new file mode 100644 index 0000000..487b7a5 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml new file mode 100644 index 0000000..65c7e48 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml new file mode 100644 index 0000000..c77bcfd --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_media_media_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_media_media_1_1_0_aar.xml new file mode 100644 index 0000000..8cfd7d7 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_media_media_1_1_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml new file mode 100644 index 0000000..34f2bce --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml new file mode 100644 index 0000000..e31d8ab --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml new file mode 100644 index 0000000..0f039c1 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml new file mode 100644 index 0000000..56c5eb9 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml new file mode 100644 index 0000000..96842d2 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml new file mode 100644 index 0000000..102aee0 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_1_0_aar.xml new file mode 100644 index 0000000..c8038ed --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_1_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_core_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_core_1_0_0_aar.xml new file mode 100644 index 0000000..e62fac7 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_core_1_0_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml new file mode 100644 index 0000000..9fafd22 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_core_1_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml new file mode 100644 index 0000000..844e738 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_2_0_aar.xml new file mode 100644 index 0000000..0e30610 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_2_0_aar.xml new file mode 100644 index 0000000..f76b616 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml new file mode 100644 index 0000000..7f1c03a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_monitor_1_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml new file mode 100644 index 0000000..06204c6 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_rules_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_rules_1_2_0_aar.xml new file mode 100644 index 0000000..9bef00e --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_rules_1_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml new file mode 100644 index 0000000..52bcd4a --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_test_runner_1_2_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml new file mode 100644 index 0000000..5055e4c --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_transition_transition_1_4_1_aar.xml b/android/.idea/libraries/Gradle__androidx_transition_transition_1_4_1_aar.xml new file mode 100644 index 0000000..cd4b8ec --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_transition_transition_1_4_1_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml new file mode 100644 index 0000000..7333da0 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml new file mode 100644 index 0000000..d2a1226 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml new file mode 100644 index 0000000..3205cee --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml new file mode 100644 index 0000000..de23b15 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml new file mode 100644 index 0000000..62a7361 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml b/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml new file mode 100644 index 0000000..b020836 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml new file mode 100644 index 0000000..21f2000 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_0_0_aar.xml new file mode 100644 index 0000000..a4c7123 --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_0_0_aar.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_4_0_aar.xml b/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_4_0_aar.xml new file mode 100644 index 0000000..6e6c36d --- /dev/null +++ b/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_4_0_aar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__backport_util_concurrent_backport_util_concurrent_3_1.xml b/android/.idea/libraries/Gradle__backport_util_concurrent_backport_util_concurrent_3_1.xml new file mode 100644 index 0000000..63bd40c --- /dev/null +++ b/android/.idea/libraries/Gradle__backport_util_concurrent_backport_util_concurrent_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__classworlds_classworlds_1_1_alpha_2.xml b/android/.idea/libraries/Gradle__classworlds_classworlds_1_1_alpha_2.xml new file mode 100644 index 0000000..1b2e2c4 --- /dev/null +++ b/android/.idea/libraries/Gradle__classworlds_classworlds_1_1_alpha_2.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_almworks_sqlite4java_sqlite4java_0_282.xml b/android/.idea/libraries/Gradle__com_almworks_sqlite4java_sqlite4java_0_282.xml new file mode 100644 index 0000000..d6d593b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_almworks_sqlite4java_sqlite4java_0_282.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_arthenica_mobile_ffmpeg_full_gpl_4_4_LTS_aar.xml b/android/.idea/libraries/Gradle__com_arthenica_mobile_ffmpeg_full_gpl_4_4_LTS_aar.xml new file mode 100644 index 0000000..d761f51 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_arthenica_mobile_ffmpeg_full_gpl_4_4_LTS_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_github_MasayukiSuda_Mp4Composer_android_v0_3_9_aar.xml b/android/.idea/libraries/Gradle__com_github_MasayukiSuda_Mp4Composer_android_v0_3_9_aar.xml new file mode 100644 index 0000000..f3362a6 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_github_MasayukiSuda_Mp4Composer_android_v0_3_9_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_github_yalantis_ucrop_2_2_7_aar.xml b/android/.idea/libraries/Gradle__com_github_yalantis_ucrop_2_2_7_aar.xml new file mode 100644 index 0000000..7cc028c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_github_yalantis_ucrop_2_2_7_aar.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_annotations_4_1_1_4.xml b/android/.idea/libraries/Gradle__com_google_android_annotations_4_1_1_4.xml new file mode 100644 index 0000000..d6a5e2f --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_annotations_4_1_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_2_1.xml b/android/.idea/libraries/Gradle__com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_2_1.xml new file mode 100644 index 0000000..c2c61c3 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_2_2_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_2_2_1_aar.xml new file mode 100644 index 0000000..611ca42 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_2_2_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_3_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_3_0_0_aar.xml new file mode 100644 index 0000000..62b73ff --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_api_3_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_2_3_3_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_2_3_3_aar.xml new file mode 100644 index 0000000..f4faa6c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_2_3_3_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_3_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_3_0_0_aar.xml new file mode 100644 index 0000000..7e813a5 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_backend_cct_3_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_2_2_6_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_2_2_6_aar.xml new file mode 100644 index 0000000..b1cdf86 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_2_2_6_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_3_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_3_0_0_aar.xml new file mode 100644 index 0000000..3b67a8e --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_datatransport_transport_runtime_3_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_common_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_common_2_12_1_aar.xml new file mode 100644 index 0000000..f2be4d9 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_common_2_12_1_aar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_core_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_core_2_12_1_aar.xml new file mode 100644 index 0000000..50fb837 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_core_2_12_1_aar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_dash_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_dash_2_12_1_aar.xml new file mode 100644 index 0000000..189e454 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_dash_2_12_1_aar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_extractor_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_extractor_2_12_1_aar.xml new file mode 100644 index 0000000..f6399e2 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_extractor_2_12_1_aar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_hls_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_hls_2_12_1_aar.xml new file mode 100644 index 0000000..b9c5823 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_hls_2_12_1_aar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_smoothstreaming_2_12_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_smoothstreaming_2_12_1_aar.xml new file mode 100644 index 0000000..391602c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_exoplayer_exoplayer_smoothstreaming_2_12_1_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_16_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_16_0_1_aar.xml new file mode 100644 index 0000000..ba64677 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_16_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_16_0_0_aar.xml new file mode 100644 index 0000000..bbe067c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_16_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_17_4_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_17_4_0_aar.xml new file mode 100644 index 0000000..f6d6aa6 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_api_phone_17_4_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_base_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_base_16_0_0_aar.xml new file mode 100644 index 0000000..4406780 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_auth_base_16_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml new file mode 100644 index 0000000..2147066 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml new file mode 100644 index 0000000..bd11a08 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_1_0_aar.xml new file mode 100644 index 0000000..bccf01e --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_5_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_5_0_aar.xml new file mode 100644 index 0000000..8f5f08b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_5_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_6_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_6_0_aar.xml new file mode 100644 index 0000000..7f74ca3 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_6_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml new file mode 100644 index 0000000..f67639b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml new file mode 100644 index 0000000..d69c573 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_1_0_aar.xml new file mode 100644 index 0000000..84d15b3 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_5_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_5_0_aar.xml new file mode 100644 index 0000000..99a43be --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_5_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_6_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_6_0_aar.xml new file mode 100644 index 0000000..98ca021 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_6_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_clearcut_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_clearcut_17_0_0_aar.xml new file mode 100644 index 0000000..8b996ff --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_clearcut_17_0_0_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_cloud_messaging_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_cloud_messaging_16_0_0_aar.xml new file mode 100644 index 0000000..71b0a9e --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_cloud_messaging_16_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_17_0_0_aar.xml new file mode 100644 index 0000000..927bf05 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_17_0_0_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml new file mode 100644 index 0000000..1f533d5 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_17_0_0_aar.xml new file mode 100644 index 0000000..74443c7 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_17_0_0_aar.xml new file mode 100644 index 0000000..7d49e8a --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_17_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_barcode_scanning_16_1_4_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_barcode_scanning_16_1_4_aar.xml new file mode 100644 index 0000000..e41ce50 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_barcode_scanning_16_1_4_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_face_detection_16_1_6_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_face_detection_16_1_6_aar.xml new file mode 100644 index 0000000..d0ae51b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_face_detection_16_1_6_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_text_recognition_16_1_3_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_text_recognition_16_1_3_aar.xml new file mode 100644 index 0000000..00d9610 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_mlkit_text_recognition_16_1_3_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_phenotype_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_phenotype_17_0_0_aar.xml new file mode 100644 index 0000000..c0a896f --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_phenotype_17_0_0_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml new file mode 100644 index 0000000..9b15220 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_17_0_0_aar.xml new file mode 100644 index 0000000..ac597b5 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_safetynet_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_safetynet_17_0_0_aar.xml new file mode 100644 index 0000000..4cba870 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_safetynet_17_0_0_aar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml new file mode 100644 index 0000000..40951c8 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml new file mode 100644 index 0000000..06e84e2 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml new file mode 100644 index 0000000..4a53e9d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_0_aar.xml new file mode 100644 index 0000000..23f5c93 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_1_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_1_aar.xml new file mode 100644 index 0000000..d6c0263 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_20_1_3_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_20_1_3_aar.xml new file mode 100644 index 0000000..561315d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_20_1_3_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_common_19_1_3_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_common_19_1_3_aar.xml new file mode 100644 index 0000000..cb4ca12 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_common_19_1_3_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_face_contour_internal_16_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_face_contour_internal_16_1_0_aar.xml new file mode 100644 index 0000000..946b0f1 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_gms_play_services_vision_face_contour_internal_16_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml new file mode 100644 index 0000000..ab4e8d4 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_aar.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_auto_auto_common_0_8.xml b/android/.idea/libraries/Gradle__com_google_auto_auto_common_0_8.xml new file mode 100644 index 0000000..2ad93de --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_auto_auto_common_0_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_auto_service_auto_service_1_0_rc4.xml b/android/.idea/libraries/Gradle__com_google_auto_service_auto_service_1_0_rc4.xml new file mode 100644 index 0000000..f262130 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_auto_service_auto_service_1_0_rc4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml b/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml new file mode 100644 index 0000000..2b834ea --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml b/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000..a96d725 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml b/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml new file mode 100644 index 0000000..45500a2 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_2_0.xml b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_2_0.xml new file mode 100644 index 0000000..9aaff30 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_2.xml b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_2.xml new file mode 100644 index 0000000..61dea6f --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_4.xml b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_4.xml new file mode 100644 index 0000000..705d2d6 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_errorprone_error_prone_annotations_2_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_annotations_16_0_0.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_annotations_16_0_0.xml new file mode 100644 index 0000000..0d56cda --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_annotations_16_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_21_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_21_0_1_aar.xml new file mode 100644 index 0000000..16b2556 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_21_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_19_0_2_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_19_0_2_aar.xml new file mode 100644 index 0000000..a72fb8e --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_19_0_2_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_20_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_20_0_0_aar.xml new file mode 100644 index 0000000..7d946c6 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_auth_interop_20_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_20_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_20_0_0_aar.xml new file mode 100644 index 0000000..3531f0b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_20_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_16_0_0_aar.xml new file mode 100644 index 0000000..fd79fd9 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_16_0_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_17_0_0_aar.xml new file mode 100644 index 0000000..a3f38fc --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_components_17_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_database_collection_18_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_database_collection_18_0_0_aar.xml new file mode 100644 index 0000000..2072f4b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_database_collection_18_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_datatransport_18_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_datatransport_18_0_0_aar.xml new file mode 100644 index 0000000..a3d7d6d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_datatransport_18_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_dynamic_links_20_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_dynamic_links_20_1_0_aar.xml new file mode 100644 index 0000000..2a93c65 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_dynamic_links_20_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_16_1_0.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_16_1_0.xml new file mode 100644 index 0000000..2a624fc --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_16_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_17_0_0.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_17_0_0.xml new file mode 100644 index 0000000..5d78a1d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_17_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_17_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_17_1_0_aar.xml new file mode 100644 index 0000000..9b96bfc --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_17_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_18_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_18_0_0_aar.xml new file mode 100644 index 0000000..c4bbdb7 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_encoders_json_18_0_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_firestore_23_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_firestore_23_0_1_aar.xml new file mode 100644 index 0000000..d3427e0 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_firestore_23_0_1_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_1_0_aar.xml new file mode 100644 index 0000000..d298cfc --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_17_0_0_aar.xml new file mode 100644 index 0000000..cb719e2 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_interop_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_interop_17_0_0_aar.xml new file mode 100644 index 0000000..8a7604d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_installations_interop_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_19_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_19_0_0_aar.xml new file mode 100644 index 0000000..a4dc94a --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_19_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_22_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_22_0_0_aar.xml new file mode 100644 index 0000000..f03940d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_22_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_firebase_protolite_well_known_types_18_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_firebase_protolite_well_known_types_18_0_0_aar.xml new file mode 100644 index 0000000..d6463a5 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_firebase_protolite_well_known_types_18_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_failureaccess_1_0_1.xml b/android/.idea/libraries/Gradle__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 0000000..aeb2fc7 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_20_0.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_20_0.xml new file mode 100644 index 0000000..11bc9db --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_guava_20_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_27_0_1_jre.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_27_0_1_jre.xml new file mode 100644 index 0000000..bb089ad --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_guava_27_0_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_27_1_android.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_27_1_android.xml new file mode 100644 index 0000000..62babcf --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_guava_27_1_android.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml b/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml new file mode 100644 index 0000000..703e775 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_guava_28_1_android.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml b/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml new file mode 100644 index 0000000..09da23b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 0000000..11f8cce --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_1.xml b/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_1.xml new file mode 100644 index 0000000..51270bf --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_3.xml b/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 0000000..7a61cf9 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_barcode_scanning_16_1_1_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_barcode_scanning_16_1_1_aar.xml new file mode 100644 index 0000000..010c59b --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_barcode_scanning_16_1_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_common_17_1_1_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_common_17_1_1_aar.xml new file mode 100644 index 0000000..c1416b4 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_common_17_1_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_face_detection_16_0_7_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_face_detection_16_0_7_aar.xml new file mode 100644 index 0000000..6db2f52 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_face_detection_16_0_7_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_17_0_3_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_17_0_3_aar.xml new file mode 100644 index 0000000..eb2681c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_17_0_3_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_common_17_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_common_17_0_0_aar.xml new file mode 100644 index 0000000..35915bf --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_common_17_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_default_common_16_0_0_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_default_common_16_0_0_aar.xml new file mode 100644 index 0000000..e5a009a --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_image_labeling_default_common_16_0_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_16_2_4_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_16_2_4_aar.xml new file mode 100644 index 0000000..8343c0e --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_16_2_4_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_common_17_0_1_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_common_17_0_1_aar.xml new file mode 100644 index 0000000..98cbd11 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_object_detection_common_17_0_1_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_vision_common_16_4_0_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_vision_common_16_4_0_aar.xml new file mode 100644 index 0000000..043c878 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_vision_common_16_4_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_mlkit_vision_internal_vkp_18_1_0_aar.xml b/android/.idea/libraries/Gradle__com_google_mlkit_vision_internal_vkp_18_1_0_aar.xml new file mode 100644 index 0000000..12a460f --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_mlkit_vision_internal_vkp_18_1_0_aar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_java_2_6_1.xml b/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_java_2_6_1.xml new file mode 100644 index 0000000..63fd339 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_java_2_6_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_javalite_3_14_0.xml b/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_javalite_3_14_0.xml new file mode 100644 index 0000000..52b2a18 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_protobuf_protobuf_javalite_3_14_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_google_zxing_core_3_3_0.xml b/android/.idea/libraries/Gradle__com_google_zxing_core_3_3_0.xml new file mode 100644 index 0000000..6238603 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_google_zxing_core_3_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_googlecode_libphonenumber_libphonenumber_8_12_24.xml b/android/.idea/libraries/Gradle__com_googlecode_libphonenumber_libphonenumber_8_12_24.xml new file mode 100644 index 0000000..4a9f03d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_googlecode_libphonenumber_libphonenumber_8_12_24.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_ibm_icu_icu4j_53_1.xml b/android/.idea/libraries/Gradle__com_ibm_icu_icu4j_53_1.xml new file mode 100644 index 0000000..d8c1108 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_ibm_icu_icu4j_53_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_jakewharton_threetenabp_threetenabp_1_2_3_aar.xml b/android/.idea/libraries/Gradle__com_jakewharton_threetenabp_threetenabp_1_2_3_aar.xml new file mode 100644 index 0000000..28bc2f0 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_jakewharton_threetenabp_threetenabp_1_2_3_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_journeyapps_zxing_android_embedded_4_1_0_aar.xml b/android/.idea/libraries/Gradle__com_journeyapps_zxing_android_embedded_4_1_0_aar.xml new file mode 100644 index 0000000..213ae93 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_journeyapps_zxing_android_embedded_4_1_0_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_karumi_dexter_6_2_1_aar.xml b/android/.idea/libraries/Gradle__com_karumi_dexter_6_2_1_aar.xml new file mode 100644 index 0000000..2bb8bb4 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_karumi_dexter_6_2_1_aar.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml b/android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml new file mode 100644 index 0000000..662b001 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_mockwebserver_3_14_7.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_mockwebserver_3_14_7.xml new file mode 100644 index 0000000..f2ebd6c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_mockwebserver_3_14_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_0_0.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_0_0.xml new file mode 100644 index 0000000..039b57d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml new file mode 100644 index 0000000..a3c5c8f --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_14_7.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_14_7.xml new file mode 100644 index 0000000..d978f4d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_14_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_7_5.xml b/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_7_5.xml new file mode 100644 index 0000000..980c165 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_7_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0.xml b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0.xml new file mode 100644 index 0000000..913412c --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml new file mode 100644 index 0000000..4d41f7a --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_17_2.xml b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_17_2.xml new file mode 100644 index 0000000..f0b1401 --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_17_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml new file mode 100644 index 0000000..ca6737d --- /dev/null +++ b/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml b/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml new file mode 100644 index 0000000..e17b3f0 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml b/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml new file mode 100644 index 0000000..6acbc04 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml b/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml new file mode 100644 index 0000000..1c09e87 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml b/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml new file mode 100644 index 0000000..9347162 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml b/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml new file mode 100644 index 0000000..7cb597d --- /dev/null +++ b/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_91c9fc8fe011352879e3bb6660966eafc0847233.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_android_1_28_0_aar.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_android_1_28_0_aar.xml new file mode 100644 index 0000000..71aed14 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_android_1_28_0_aar.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_api_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_api_1_28_0.xml new file mode 100644 index 0000000..81418a3 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_api_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_context_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_context_1_28_0.xml new file mode 100644 index 0000000..c3a7a28 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_context_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_core_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_core_1_28_0.xml new file mode 100644 index 0000000..d3e97dc --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_core_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_okhttp_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_okhttp_1_28_0.xml new file mode 100644 index 0000000..4e36813 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_okhttp_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_protobuf_lite_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_protobuf_lite_1_28_0.xml new file mode 100644 index 0000000..3f12f22 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_protobuf_lite_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_grpc_grpc_stub_1_28_0.xml b/android/.idea/libraries/Gradle__io_grpc_grpc_stub_1_28_0.xml new file mode 100644 index 0000000..eb084c0 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_grpc_grpc_stub_1_28_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_perfmark_perfmark_api_0_19_0.xml b/android/.idea/libraries/Gradle__io_perfmark_perfmark_api_0_19_0.xml new file mode 100644 index 0000000..42a2f96 --- /dev/null +++ b/android/.idea/libraries/Gradle__io_perfmark_perfmark_api_0_19_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_3_2.xml b/android/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_3_2.xml new file mode 100644 index 0000000..10c7813 --- /dev/null +++ b/android/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml b/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml new file mode 100644 index 0000000..62012ea --- /dev/null +++ b/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__junit_junit_4_12.xml b/android/.idea/libraries/Gradle__junit_junit_4_12.xml new file mode 100644 index 0000000..6c078d6 --- /dev/null +++ b/android/.idea/libraries/Gradle__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml b/android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml new file mode 100644 index 0000000..24e5b72 --- /dev/null +++ b/android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml b/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml new file mode 100644 index 0000000..4405e64 --- /dev/null +++ b/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__nekohtml_nekohtml_1_9_6_2.xml b/android/.idea/libraries/Gradle__nekohtml_nekohtml_1_9_6_2.xml new file mode 100644 index 0000000..6494c6f --- /dev/null +++ b/android/.idea/libraries/Gradle__nekohtml_nekohtml_1_9_6_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__nekohtml_xercesMinimal_1_9_6_2.xml b/android/.idea/libraries/Gradle__nekohtml_xercesMinimal_1_9_6_2.xml new file mode 100644 index 0000000..299d016 --- /dev/null +++ b/android/.idea/libraries/Gradle__nekohtml_xercesMinimal_1_9_6_2.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_15.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_15.xml new file mode 100644 index 0000000..3611b6a --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_5.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_5.xml new file mode 100644 index 0000000..1249c11 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10.xml new file mode 100644 index 0000000..cb99df1 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10_jar.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10_jar.xml new file mode 100644 index 0000000..ade5463 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_9_10_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_15.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_15.xml new file mode 100644 index 0000000..809e4b0 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_5.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_5.xml new file mode 100644 index 0000000..f9a3975 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10.xml new file mode 100644 index 0000000..c281715 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10_jar.xml b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10_jar.xml new file mode 100644 index 0000000..e1f93e3 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_9_10_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml b/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml new file mode 100644 index 0000000..fbe9697 --- /dev/null +++ b/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_ant_ant_1_8_0.xml b/android/.idea/libraries/Gradle__org_apache_ant_ant_1_8_0.xml new file mode 100644 index 0000000..92b47eb --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_ant_ant_1_8_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_ant_ant_launcher_1_8_0.xml b/android/.idea/libraries/Gradle__org_apache_ant_ant_launcher_1_8_0.xml new file mode 100644 index 0000000..4242676 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_ant_ant_launcher_1_8_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_ant_tasks_2_1_3.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_ant_tasks_2_1_3.xml new file mode 100644 index 0000000..bc6f73d --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_ant_tasks_2_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_2_2_1.xml new file mode 100644 index 0000000..68294bc --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_manager_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_manager_2_2_1.xml new file mode 100644 index 0000000..306563f --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_artifact_manager_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_error_diagnostics_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_error_diagnostics_2_2_1.xml new file mode 100644 index 0000000..3f19977 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_error_diagnostics_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_model_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_model_2_2_1.xml new file mode 100644 index 0000000..f139cd7 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_model_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_plugin_registry_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_plugin_registry_2_2_1.xml new file mode 100644 index 0000000..d4df38f --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_plugin_registry_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_profile_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_profile_2_2_1.xml new file mode 100644 index 0000000..c9200a0 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_profile_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_project_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_project_2_2_1.xml new file mode 100644 index 0000000..b3c646e --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_project_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_repository_metadata_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_repository_metadata_2_2_1.xml new file mode 100644 index 0000000..ccc7df1 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_repository_metadata_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_maven_settings_2_2_1.xml b/android/.idea/libraries/Gradle__org_apache_maven_maven_settings_2_2_1.xml new file mode 100644 index 0000000..6d99611 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_maven_settings_2_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_file_1_0_beta_6.xml b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_file_1_0_beta_6.xml new file mode 100644 index 0000000..bb7012c --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_file_1_0_beta_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_6.xml b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_6.xml new file mode 100644 index 0000000..8fbfa8e --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_shared_1_0_beta_6.xml b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_shared_1_0_beta_6.xml new file mode 100644 index 0000000..21d3ae8 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_http_shared_1_0_beta_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_provider_api_1_0_beta_6.xml b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_provider_api_1_0_beta_6.xml new file mode 100644 index 0000000..2926330 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_apache_maven_wagon_wagon_provider_api_1_0_beta_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_bouncycastle_bcprov_jdk15on_1_52.xml b/android/.idea/libraries/Gradle__org_bouncycastle_bcprov_jdk15on_1_52.xml new file mode 100644 index 0000000..be770e8 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_bouncycastle_bcprov_jdk15on_1_52.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_checkerframework_checker_compat_qual_2_5_5.xml b/android/.idea/libraries/Gradle__org_checkerframework_checker_compat_qual_2_5_5.xml new file mode 100644 index 0000000..b511655 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_checkerframework_checker_compat_qual_2_5_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_checkerframework_checker_qual_2_5_2.xml b/android/.idea/libraries/Gradle__org_checkerframework_checker_qual_2_5_2.xml new file mode 100644 index 0000000..3029dfe --- /dev/null +++ b/android/.idea/libraries/Gradle__org_checkerframework_checker_qual_2_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml b/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml new file mode 100644 index 0000000..63ace91 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml b/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml new file mode 100644 index 0000000..5a17a38 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_codehaus_mojo_animal_sniffer_annotations_1_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml new file mode 100644 index 0000000..d12ead0 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_interpolation_1_11.xml b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_interpolation_1_11.xml new file mode 100644 index 0000000..0ed0970 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_interpolation_1_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_utils_1_5_15.xml b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_utils_1_5_15.xml new file mode 100644 index 0000000..c3d9ab8 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_codehaus_plexus_plexus_utils_1_5_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..09cf23d --- /dev/null +++ b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml new file mode 100644 index 0000000..6b1e2e7 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml new file mode 100644 index 0000000..1a77dd8 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml new file mode 100644 index 0000000..3d45e8e --- /dev/null +++ b/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml b/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..1fa0fa9 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_21.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_21.xml new file mode 100644 index 0000000..46d4722 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_50.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_50.xml new file mode 100644 index 0000000..e03b2f6 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_50.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_72.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_72.xml new file mode 100644 index 0000000..cd57d89 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_72.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml new file mode 100644 index 0000000..ab42e17 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_5_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_5_10.xml new file mode 100644 index 0000000..679895a --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_5_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_21.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_21.xml new file mode 100644 index 0000000..234e981 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_50.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_50.xml new file mode 100644 index 0000000..861597d --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_50.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_72.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_72.xml new file mode 100644 index 0000000..c769fec --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_72.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml new file mode 100644 index 0000000..2b85444 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_10.xml new file mode 100644 index 0000000..85b2bef --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_21.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_21.xml new file mode 100644 index 0000000..b3d2714 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_50.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_50.xml new file mode 100644 index 0000000..8dfcb21 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_50.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml new file mode 100644 index 0000000..bbc2ab9 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml new file mode 100644 index 0000000..652c287 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_10.xml b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_10.xml new file mode 100644 index 0000000..49249c1 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_19.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_19.xml new file mode 100644 index 0000000..2cbfdd6 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_19.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2.xml new file mode 100644 index 0000000..1e41346 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2_jar.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2_jar.xml new file mode 100644 index 0000000..eceaa19 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_core_2_28_2_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_2_4.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_2_4.xml new file mode 100644 index 0000000..e5c5e6f --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_2_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_5_13.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_5_13.xml new file mode 100644 index 0000000..0c7fe05 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_5_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2.xml new file mode 100644 index 0000000..f82a718 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2_jar.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2_jar.xml new file mode 100644 index 0000000..0d6ca6f --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_2_28_2_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_5_13.xml b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_5_13.xml new file mode 100644 index 0000000..aca221b --- /dev/null +++ b/android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_5_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6.xml b/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6.xml new file mode 100644 index 0000000..325842c --- /dev/null +++ b/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6_jar.xml b/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6_jar.xml new file mode 100644 index 0000000..699ee35 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_objenesis_objenesis_2_6_jar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml b/android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml new file mode 100644 index 0000000..74cff28 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_ow2_asm_asm_7_0.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_7_0.xml new file mode 100644 index 0000000..3456c1b --- /dev/null +++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_ow2_asm_asm_analysis_7_0.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_analysis_7_0.xml new file mode 100644 index 0000000..184b5ab --- /dev/null +++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_analysis_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_ow2_asm_asm_commons_7_0.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_commons_7_0.xml new file mode 100644 index 0000000..933a0aa --- /dev/null +++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_commons_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_ow2_asm_asm_tree_7_0.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_tree_7_0.xml new file mode 100644 index 0000000..7ad2ccd --- /dev/null +++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_tree_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_ow2_asm_asm_util_7_0.xml b/android/.idea/libraries/Gradle__org_ow2_asm_asm_util_7_0.xml new file mode 100644 index 0000000..393422f --- /dev/null +++ b/android/.idea/libraries/Gradle__org_ow2_asm_asm_util_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_annotations_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_annotations_4_3.xml new file mode 100644 index 0000000..15918c5 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_annotations_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_junit_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_junit_4_3.xml new file mode 100644 index 0000000..e77546e --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_junit_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_pluginapi_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_pluginapi_4_3.xml new file mode 100644 index 0000000..50a3c61 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_pluginapi_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_plugins_maven_dependency_resolver_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_plugins_maven_dependency_resolver_4_3.xml new file mode 100644 index 0000000..b8ac20d --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_plugins_maven_dependency_resolver_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_resources_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_resources_4_3.xml new file mode 100644 index 0000000..67d097b --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_resources_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_robolectric_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_robolectric_4_3.xml new file mode 100644 index 0000000..0375256 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_robolectric_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_sandbox_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_sandbox_4_3.xml new file mode 100644 index 0000000..f2c9508 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_sandbox_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_shadowapi_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_shadowapi_4_3.xml new file mode 100644 index 0000000..bdd9382 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_shadowapi_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_shadows_framework_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_shadows_framework_4_3.xml new file mode 100644 index 0000000..ce7a276 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_shadows_framework_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_utils_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_utils_4_3.xml new file mode 100644 index 0000000..2537286 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_utils_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_robolectric_utils_reflector_4_3.xml b/android/.idea/libraries/Gradle__org_robolectric_utils_reflector_4_3.xml new file mode 100644 index 0000000..4f585fe --- /dev/null +++ b/android/.idea/libraries/Gradle__org_robolectric_utils_reflector_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__org_threeten_threetenbp_1_4_2_no_tzdb.xml b/android/.idea/libraries/Gradle__org_threeten_threetenbp_1_4_2_no_tzdb.xml new file mode 100644 index 0000000..fd349c9 --- /dev/null +++ b/android/.idea/libraries/Gradle__org_threeten_threetenbp_1_4_2_no_tzdb.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml new file mode 100644 index 0000000..860da66 --- /dev/null +++ b/android/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules.xml b/android/.idea/modules.xml new file mode 100644 index 0000000..7501c7e --- /dev/null +++ b/android/.idea/modules.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1049254250/android.flutter_local_notifications.iml b/android/.idea/modules/-1049254250/android.flutter_local_notifications.iml new file mode 100644 index 0000000..45852df --- /dev/null +++ b/android/.idea/modules/-1049254250/android.flutter_local_notifications.iml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1055924779/android.shared_preferences.iml b/android/.idea/modules/-1055924779/android.shared_preferences.iml new file mode 100644 index 0000000..e467485 --- /dev/null +++ b/android/.idea/modules/-1055924779/android.shared_preferences.iml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1276585138/android.image_cropper.iml b/android/.idea/modules/-1276585138/android.image_cropper.iml new file mode 100644 index 0000000..3239e92 --- /dev/null +++ b/android/.idea/modules/-1276585138/android.image_cropper.iml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1421881264/android.flutter_country_picker.iml b/android/.idea/modules/-1421881264/android.flutter_country_picker.iml new file mode 100644 index 0000000..34a1722 --- /dev/null +++ b/android/.idea/modules/-1421881264/android.flutter_country_picker.iml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1535218591/android.path_provider_linux.iml b/android/.idea/modules/-1535218591/android.path_provider_linux.iml new file mode 100644 index 0000000..1daa47d --- /dev/null +++ b/android/.idea/modules/-1535218591/android.path_provider_linux.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1650556252/android.shared_preferences_web.iml b/android/.idea/modules/-1650556252/android.shared_preferences_web.iml new file mode 100644 index 0000000..db48941 --- /dev/null +++ b/android/.idea/modules/-1650556252/android.shared_preferences_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1728921030/android.firebase_core.iml b/android/.idea/modules/-1728921030/android.firebase_core.iml new file mode 100644 index 0000000..fd11fd4 --- /dev/null +++ b/android/.idea/modules/-1728921030/android.firebase_core.iml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1778056475/android.url_launcher_windows.iml b/android/.idea/modules/-1778056475/android.url_launcher_windows.iml new file mode 100644 index 0000000..5ca22cd --- /dev/null +++ b/android/.idea/modules/-1778056475/android.url_launcher_windows.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1802215405/android.shared_preferences_windows.iml b/android/.idea/modules/-1802215405/android.shared_preferences_windows.iml new file mode 100644 index 0000000..4adc2ac --- /dev/null +++ b/android/.idea/modules/-1802215405/android.shared_preferences_windows.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-18267466/android.google_ml_vision.iml b/android/.idea/modules/-18267466/android.google_ml_vision.iml new file mode 100644 index 0000000..9ef466a --- /dev/null +++ b/android/.idea/modules/-18267466/android.google_ml_vision.iml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1866279700/android.video_player_web.iml b/android/.idea/modules/-1866279700/android.video_player_web.iml new file mode 100644 index 0000000..8fba3c0 --- /dev/null +++ b/android/.idea/modules/-1866279700/android.video_player_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1981871334/android.cloud_firestore_web.iml b/android/.idea/modules/-1981871334/android.cloud_firestore_web.iml new file mode 100644 index 0000000..3fc7c22 --- /dev/null +++ b/android/.idea/modules/-1981871334/android.cloud_firestore_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-1989292847/android.image_picker.iml b/android/.idea/modules/-1989292847/android.image_picker.iml new file mode 100644 index 0000000..b729ad9 --- /dev/null +++ b/android/.idea/modules/-1989292847/android.image_picker.iml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-206538769/android.flutter_webview_plugin.iml b/android/.idea/modules/-206538769/android.flutter_webview_plugin.iml new file mode 100644 index 0000000..d1e5ff2 --- /dev/null +++ b/android/.idea/modules/-206538769/android.flutter_webview_plugin.iml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-2085143847/android.flutter_inappwebview.iml b/android/.idea/modules/-2085143847/android.flutter_inappwebview.iml new file mode 100644 index 0000000..e8c4840 --- /dev/null +++ b/android/.idea/modules/-2085143847/android.flutter_inappwebview.iml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-2124854993/android.qr_code_scanner.iml b/android/.idea/modules/-2124854993/android.qr_code_scanner.iml new file mode 100644 index 0000000..424021d --- /dev/null +++ b/android/.idea/modules/-2124854993/android.qr_code_scanner.iml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-243381778/android.geolocator_web.iml b/android/.idea/modules/-243381778/android.geolocator_web.iml new file mode 100644 index 0000000..c1b15cf --- /dev/null +++ b/android/.idea/modules/-243381778/android.geolocator_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-307671483/android.firebase_auth.iml b/android/.idea/modules/-307671483/android.firebase_auth.iml new file mode 100644 index 0000000..7f52145 --- /dev/null +++ b/android/.idea/modules/-307671483/android.firebase_auth.iml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-313411879/android.google_sign_in.iml b/android/.idea/modules/-313411879/android.google_sign_in.iml new file mode 100644 index 0000000..eff8732 --- /dev/null +++ b/android/.idea/modules/-313411879/android.google_sign_in.iml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-324416137/android.url_launcher_web.iml b/android/.idea/modules/-324416137/android.url_launcher_web.iml new file mode 100644 index 0000000..8890d86 --- /dev/null +++ b/android/.idea/modules/-324416137/android.url_launcher_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-330149543/android.wakelock_macos.iml b/android/.idea/modules/-330149543/android.wakelock_macos.iml new file mode 100644 index 0000000..f82abd6 --- /dev/null +++ b/android/.idea/modules/-330149543/android.wakelock_macos.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-44543866/android.cloud_firestore.iml b/android/.idea/modules/-44543866/android.cloud_firestore.iml new file mode 100644 index 0000000..bc2633e --- /dev/null +++ b/android/.idea/modules/-44543866/android.cloud_firestore.iml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-46297941/android.url_launcher.iml b/android/.idea/modules/-46297941/android.url_launcher.iml new file mode 100644 index 0000000..61e8b5c --- /dev/null +++ b/android/.idea/modules/-46297941/android.url_launcher.iml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-47428831/android.google_maps_flutter.iml b/android/.idea/modules/-47428831/android.google_maps_flutter.iml new file mode 100644 index 0000000..868ecdf --- /dev/null +++ b/android/.idea/modules/-47428831/android.google_maps_flutter.iml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-60485287/android.firebase_auth_web.iml b/android/.idea/modules/-60485287/android.firebase_auth_web.iml new file mode 100644 index 0000000..79dbc72 --- /dev/null +++ b/android/.idea/modules/-60485287/android.firebase_auth_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-612426157/android.permission_handler.iml b/android/.idea/modules/-612426157/android.permission_handler.iml new file mode 100644 index 0000000..96be5c4 --- /dev/null +++ b/android/.idea/modules/-612426157/android.permission_handler.iml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-650502802/android.path_provider.iml b/android/.idea/modules/-650502802/android.path_provider.iml new file mode 100644 index 0000000..35df564 --- /dev/null +++ b/android/.idea/modules/-650502802/android.path_provider.iml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-879170400/android.path_provider_macos.iml b/android/.idea/modules/-879170400/android.path_provider_macos.iml new file mode 100644 index 0000000..06703ba --- /dev/null +++ b/android/.idea/modules/-879170400/android.path_provider_macos.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-947249395/android.firebase_core_web.iml b/android/.idea/modules/-947249395/android.firebase_core_web.iml new file mode 100644 index 0000000..d15a24c --- /dev/null +++ b/android/.idea/modules/-947249395/android.firebase_core_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1008465727/android.webview_flutter.iml b/android/.idea/modules/1008465727/android.webview_flutter.iml new file mode 100644 index 0000000..2f4da49 --- /dev/null +++ b/android/.idea/modules/1008465727/android.webview_flutter.iml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1012871005/android.video_player.iml b/android/.idea/modules/1012871005/android.video_player.iml new file mode 100644 index 0000000..23e4477 --- /dev/null +++ b/android/.idea/modules/1012871005/android.video_player.iml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1117910010/android.camera_deep_ar.iml b/android/.idea/modules/1117910010/android.camera_deep_ar.iml new file mode 100644 index 0000000..6f1fe76 --- /dev/null +++ b/android/.idea/modules/1117910010/android.camera_deep_ar.iml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1144720755/android.image_gallery_saver.iml b/android/.idea/modules/1144720755/android.image_gallery_saver.iml new file mode 100644 index 0000000..4f4581d --- /dev/null +++ b/android/.idea/modules/1144720755/android.image_gallery_saver.iml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1230809797/android.camera.iml b/android/.idea/modules/1230809797/android.camera.iml new file mode 100644 index 0000000..8dd7551 --- /dev/null +++ b/android/.idea/modules/1230809797/android.camera.iml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1251705732/android.share.iml b/android/.idea/modules/1251705732/android.share.iml new file mode 100644 index 0000000..a8fa576 --- /dev/null +++ b/android/.idea/modules/1251705732/android.share.iml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1253542358/android.url_launcher_linux.iml b/android/.idea/modules/1253542358/android.url_launcher_linux.iml new file mode 100644 index 0000000..d57d5b6 --- /dev/null +++ b/android/.idea/modules/1253542358/android.url_launcher_linux.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1297275587/android.shared_preferences_macos.iml b/android/.idea/modules/1297275587/android.shared_preferences_macos.iml new file mode 100644 index 0000000..3eb1cc0 --- /dev/null +++ b/android/.idea/modules/1297275587/android.shared_preferences_macos.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1338561407/android.sqflite.iml b/android/.idea/modules/1338561407/android.sqflite.iml new file mode 100644 index 0000000..936dabf --- /dev/null +++ b/android/.idea/modules/1338561407/android.sqflite.iml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1526031749/android.wakelock.iml b/android/.idea/modules/1526031749/android.wakelock.iml new file mode 100644 index 0000000..49f483d --- /dev/null +++ b/android/.idea/modules/1526031749/android.wakelock.iml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1642035704/android.firebase_dynamic_links.iml b/android/.idea/modules/1642035704/android.firebase_dynamic_links.iml new file mode 100644 index 0000000..979d08c --- /dev/null +++ b/android/.idea/modules/1642035704/android.firebase_dynamic_links.iml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1655291913/android.flutter_libphonenumber.iml b/android/.idea/modules/1655291913/android.flutter_libphonenumber.iml new file mode 100644 index 0000000..aba231f --- /dev/null +++ b/android/.idea/modules/1655291913/android.flutter_libphonenumber.iml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1659896315/android.flutter_ffmpeg.iml b/android/.idea/modules/1659896315/android.flutter_ffmpeg.iml new file mode 100644 index 0000000..50fbb30 --- /dev/null +++ b/android/.idea/modules/1659896315/android.flutter_ffmpeg.iml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1662699662/android.google_sign_in_web.iml b/android/.idea/modules/1662699662/android.google_sign_in_web.iml new file mode 100644 index 0000000..794da20 --- /dev/null +++ b/android/.idea/modules/1662699662/android.google_sign_in_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1725698125/android.video_thumbnail.iml b/android/.idea/modules/1725698125/android.video_thumbnail.iml new file mode 100644 index 0000000..a9cf91d --- /dev/null +++ b/android/.idea/modules/1725698125/android.video_thumbnail.iml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1856912349/android.geolocator.iml b/android/.idea/modules/1856912349/android.geolocator.iml new file mode 100644 index 0000000..b4f7d56 --- /dev/null +++ b/android/.idea/modules/1856912349/android.geolocator.iml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1909590549/android.url_launcher_macos.iml b/android/.idea/modules/1909590549/android.url_launcher_macos.iml new file mode 100644 index 0000000..3c4b332 --- /dev/null +++ b/android/.idea/modules/1909590549/android.url_launcher_macos.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/1986125268/android.firebase_messaging_web.iml b/android/.idea/modules/1986125268/android.firebase_messaging_web.iml new file mode 100644 index 0000000..c5b8b6e --- /dev/null +++ b/android/.idea/modules/1986125268/android.firebase_messaging_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/212933758/android.firebase_messaging.iml b/android/.idea/modules/212933758/android.firebase_messaging.iml new file mode 100644 index 0000000..a5cd06d --- /dev/null +++ b/android/.idea/modules/212933758/android.firebase_messaging.iml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/261057220/android.flutter_plugin_android_lifecycle.iml b/android/.idea/modules/261057220/android.flutter_plugin_android_lifecycle.iml new file mode 100644 index 0000000..7e82009 --- /dev/null +++ b/android/.idea/modules/261057220/android.flutter_plugin_android_lifecycle.iml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/368333755/android.wakelock_web.iml b/android/.idea/modules/368333755/android.wakelock_web.iml new file mode 100644 index 0000000..f920152 --- /dev/null +++ b/android/.idea/modules/368333755/android.wakelock_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/412216427/android.location.iml b/android/.idea/modules/412216427/android.location.iml new file mode 100644 index 0000000..c7fb245 --- /dev/null +++ b/android/.idea/modules/412216427/android.location.iml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/469809666/android.image_picker_for_web.iml b/android/.idea/modules/469809666/android.image_picker_for_web.iml new file mode 100644 index 0000000..f60bb14 --- /dev/null +++ b/android/.idea/modules/469809666/android.image_picker_for_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/566149743/android.tapioca.iml b/android/.idea/modules/566149743/android.tapioca.iml new file mode 100644 index 0000000..42679d6 --- /dev/null +++ b/android/.idea/modules/566149743/android.tapioca.iml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/641227396/android.shared_preferences_linux.iml b/android/.idea/modules/641227396/android.shared_preferences_linux.iml new file mode 100644 index 0000000..469f5fc --- /dev/null +++ b/android/.idea/modules/641227396/android.shared_preferences_linux.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/769777073/android.path_provider_windows.iml b/android/.idea/modules/769777073/android.path_provider_windows.iml new file mode 100644 index 0000000..f6d37d6 --- /dev/null +++ b/android/.idea/modules/769777073/android.path_provider_windows.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/830712510/android.location_web.iml b/android/.idea/modules/830712510/android.location_web.iml new file mode 100644 index 0000000..18f384d --- /dev/null +++ b/android/.idea/modules/830712510/android.location_web.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/app/android.app.iml b/android/.idea/modules/app/android.app.iml new file mode 100644 index 0000000..706232c --- /dev/null +++ b/android/.idea/modules/app/android.app.iml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/runConfigurations.xml b/android/.idea/runConfigurations.xml new file mode 100644 index 0000000..e497da9 --- /dev/null +++ b/android/.idea/runConfigurations.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/android/android.iml b/android/android.iml new file mode 100644 index 0000000..a56cf0c --- /dev/null +++ b/android/android.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..1888222 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,114 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +/* release config */ +def keystoreProperties = new Properties() + def keystorePropertiesFile = rootProject.file('key.properties') + if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) + } + /* release config end */ +android { + compileSdkVersion 31 + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + lintOptions { + disable 'InvalidPackage' + } + packagingOptions { + pickFirst 'lib/x86/libc++_shared.so' + pickFirst 'lib/x86_64/libc++_shared.so' + pickFirst 'lib/armeabi-v7a/libc++_shared.so' + pickFirst 'lib/arm64-v8a/libc++_shared.so' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.sparentechBacware.teso" + minSdkVersion 21 + targetSdkVersion 31 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + signingConfigs { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null + storePassword keystoreProperties['storePassword'] + } + } + buildTypes { + release { + ndk { + abiFilters 'armeabi-v7a','arm64-v8a','x86_64' + } + minifyEnabled true + signingConfig signingConfigs.release + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + // buildTypes { + // release { + // // TODO: Add your own signing config for the release build. + // // Signing with the debug keys for now, so `flutter run --release` works. + // ndk { + // abiFilters 'armeabi-v7a','arm64-v8a','x86_64' + // } + // minifyEnabled true + // signingConfig signingConfigs.debug + // proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + // } + // } + +} + + +flutter { + source '../..' +} + +apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.firebase.crashlytics' + + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' + implementation 'com.google.firebase:firebase-crashlytics:17.3.0' + implementation 'com.github.AbedElazizShe:LightCompressor:0.9.4' + def camerax_version = "1.0.0" +// CameraX core library using camera2 implementation +implementation "androidx.camera:camera-camera2:$camerax_version" +// CameraX Lifecycle Library +implementation "androidx.camera:camera-lifecycle:$camerax_version" +// CameraX View class +implementation "androidx.camera:camera-view:1.0.0-alpha24" +} diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 0000000..ec35575 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,66 @@ +{ + "project_info": { + "project_number": "280510379185", + "firebase_url": "https://teso-ghana-default-rtdb.firebaseio.com", + "project_id": "teso-ghana", + "storage_bucket": "teso-ghana.appspot.com" + }, + "client": [{ + "client_info": { + "mobilesdk_app_id": "1:280510379185:android:b778de8dca1cf49219de90", + "android_client_info": { + "package_name": "com.sparentechBacware.teso" + } + }, + "oauth_client": [{ + "client_id": "280510379185-0shp8sia3i5m589bov645t3kuddb1032.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.sparentechBacware.teso", + "certificate_hash": "40b68890dd51d72454ccdc7289623c4d56273248" + } + }, + { + "client_id": "280510379185-87k85sksrd30mu9fjgfmacb3bkcjnmdq.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.sparentechBacware.teso", + "certificate_hash": "4f655cf94cd94864838475611b711c2528e33601" + } + }, + { + "client_id": "280510379185-ac7qjglm9cct9u0diqrns6om8t2mb9ug.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.sparentechBacware.teso", + "certificate_hash": "063304c2da41f90c824fad163b5ad481edf6db11" + } + }, + { + "client_id": "280510379185-58chj1fi4pts4p7p7sieq16miapvtepi.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [{ + "current_key": "AIzaSyAHBguF6oqPEq7em1vLrh_NP2LoPuabe6o" + }], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [{ + "client_id": "280510379185-58chj1fi4pts4p7p7sieq16miapvtepi.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "280510379185-67vianhh973klriv75ip2tb9cf8ibitl.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.tesoapp", + "app_store_id": "1573175173" + } + } + ] + } + } + }], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..0ee5f4b --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,13 @@ +-dontwarn android.** +-keep class io.flutter.app.** { *; } +-keep class io.flutter.plugin.** { *; } +-keep class io.flutter.util.** { *; } +-keep class io.flutter.view.** { *; } +-keep class io.flutter.** { *; } +-keep class io.flutter.plugins.** { *; } + +-keep class com.arthenica.mobileffmpeg.Config { + native ; + void log(int, byte[]); + void statistics(int, float, float, long , int, double, double); + } \ No newline at end of file diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..35e1620 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..39f4814 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/example/teso/MainActivity.kt b/android/app/src/main/kotlin/com/example/teso/MainActivity.kt new file mode 100644 index 0000000..cf2e6ad --- /dev/null +++ b/android/app/src/main/kotlin/com/example/teso/MainActivity.kt @@ -0,0 +1,6 @@ +package com.sparentechBacware.teso + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-hdpi/app_notf_icon.png b/android/app/src/main/res/drawable-hdpi/app_notf_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6f6f5626863676e1b95730b7f26cb5d17a76f9 GIT binary patch literal 1042 zcmV+t1nv8YP)qaQYlpatv$GluKXJa7nH0C&M06&rcbZBU@HHXhtyu1VA~ zf!SMUl0h${Bb!BP*xA7@ut{S*5Ig|~!AUU1TZiU@4kmJhhK&gffM}5DX0N%lJ1WWU ztwR$*tR$}+8#DO8BoF7ccqY75p~=NIjd?ZI7cwvnTmkpNSsrZ>BjzlBhX|%W1Tq19 z13$qZa20epb4WA?ET@9Ef*4;qGYYiRflFWmr~=(g>`)imcxqPLa37k*+(}ef8_Ofw zh(a@5-_RUUq-tDy$-eUSLAxIivf$lF?RDW%(1uNGH3wB(#sV0<#W($ z(Cg3+a2>3ZoY2ssk&0_!oP8p|Lpt<|Q>4g9Fzu{N>aAj@*P%F;w#>^RinZ0up-vBb zgtN8OvxPWZG^m6}d_u27lCV*ng)EA-2)2rCay%aPF;TC2T-wS)wiFT8G`$X4*b=PD z2~R>#4SCFw)#m1fAejQ&r8u&54*zDO`dJ!&3lR3aC`=ej}U-WHUU^ypXYCvfe7;Y$ZkTlJ}a7IF>@rI(C=0)C^9E zan3U4vF&7TNl*Jo#dh#|f>B3iW7vy1?e*}TzK^ZI&dzV=5ZBD8R8p M07*qoM6N<$g4Y`GVE_OC literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/app_notf_icon.png b/android/app/src/main/res/drawable-mdpi/app_notf_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc09fe1578903d8c8e6773ca950981fecac5ac5f GIT binary patch literal 589 zcmV-T0EMC&@)#FQRHVJP2MFrGV^pzX<4r>Tc{YA z{GT;H?M;oflC2HQN#T~_aH#%M_`fb5Yu9(79Y)j?v$d8Si$c3>2B0j0yTfW^G+G1J zXMVsJcp`)O>Z-S(Sy$((+I3yD22#{}+NH#LQ2$A_O8K&Cq9C5LPlsB0AC$L?Dyq_R b|5tJhME(-esKR-U00000NkvXXu0mjfZ0rjG literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/app_notf_icon.png b/android/app/src/main/res/drawable-xhdpi/app_notf_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c187a9bb1c8398ffa5d018da2b551b702e58b825 GIT binary patch literal 1613 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 + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5462f903852ef602456c64639a1324c52b067 GIT binary patch literal 23392 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 GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5462f903852ef602456c64639a1324c52b067 GIT binary patch literal 23392 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 GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5462f903852ef602456c64639a1324c52b067 GIT binary patch literal 23392 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 GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5462f903852ef602456c64639a1324c52b067 GIT binary patch literal 23392 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 GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca5462f903852ef602456c64639a1324c52b067 GIT binary patch literal 23392 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 GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..96a0b36 --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + Upload started + Upload in progress + Upload canceled + Upload failed + Upload complete + \ No newline at end of file diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..1f83a33 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..35e1620 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..c76eee0 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,54 @@ +buildscript { + //ext.kotlin_version = '1.3.50' + ext.kotlin_version = '1.5.21' + repositories { + google() + jcenter() + } + + dependencies { + // classpath 'com.android.tools.build:gradle:3.5.4' + classpath 'com.android.tools.build:gradle:4.0.1' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.google.gms:google-services:4.3.5' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' + } +} + +allprojects { + repositories { + mavenCentral() + google() + //maven { url 'https://jitpack.io' } + jcenter() + } + configurations.all { + exclude group: 'com.google.guava', module: 'failureaccess' + + resolutionStrategy { + eachDependency { details -> + if('guava' == details.requested.name) { + details.useVersion '27.0-android' + } + } + } + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + + ext { + flutterFFmpegPackage = "full-gpl-lts" + } + + + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..468e05a --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,6 @@ +org.gradle.jvmargs=-Xmx1536M +android.enableR8=true +android.useAndroidX=true +android.enableJetifier=true +android.enableDexingArtifactTransform=false + diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..08cef93 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/android/key.properties b/android/key.properties new file mode 100644 index 0000000..4344f92 --- /dev/null +++ b/android/key.properties @@ -0,0 +1,4 @@ +storePassword=BrazilbrenAPKDEV2020 +keyPassword=BrazilbrenAPKDEV2020 +keyAlias=key +storeFile=C:/Users/BARHEN/key.jks \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..121d30d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,15 @@ +include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} \ No newline at end of file diff --git a/android/settings_aar.gradle b/android/settings_aar.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/android/settings_aar.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/android/teso_android.iml b/android/teso_android.iml new file mode 100644 index 0000000..1029d72 --- /dev/null +++ b/android/teso_android.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/AirtelTigo.png b/assets/images/AirtelTigo.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4613689e2f81fe287007e704ee19a7d2b9bfc6 GIT binary patch literal 2540 zcmVPx&08mU+MgRZ*{r~^w00960{^H!BII(6LO>F5Iq3n*y!xVq{T8vqbl=l}%z z@bLfuLASxv2qk9oh>Q2d#uhPd02N%|QZ%E{2& z>_ti`Lwl2;yZ{YV`uqEdm$p}GmIWeX=@}pB?C=`}mO#nk`+N&4#Qaf7Dt@%8ri`PJIw_~qr9roZ*} z`0|8?hLyDK@AIXw$Dpgi?rCiR4p&ZOk@dd6=nWM0yu2hncLXA4fRL~4SzhKB8}EIA z^tHG1sjBAb@ACBasJl0(%0ghsl%wU$b5{gD@J{SlCkSMK}=$g>IV+@&CcvjQ}Tw1X?mjg($n#Q zg&;h3`QqgBp`^&p+WYqR_tw_#a(C+s67iRr`~LqnPK0ZHqW%8-=M@%?oVlQ^#|bKv;_Lt!VV$SI>`_+o zla~7J?c@Le>t$){R9W<~vm!fm`2YVvSBf%9fWXJs=?W0}@9tl7ousbCke<4tu*T>t zGCNX)Q)!b}ZkOs17+7nX>kk#?Ff;n|^Wy{vZh)rstgexsx%cVmNnefXLq+e2i|8UI zps2uHaGURBXzEK(@R5@9+S=vl?Cy1T^}xcmzR>vB+2|c2`QPB|B`f;<{+67%_w4N8 zbq?iNp8x;`ib+I4RA}Dqm>lcV)a#cRCu0)v{CI5T5*N~qymy^L^Grt7Ol$%gD+Zw^kqvS_aS zM1?+RId(5zS*f)%wVj)`C z=eH$vOW#y4pwZOjgX{h5IYg-}dqy@oDwRq(LS})&i^I#?8g8duy8U-H?x7wS`rYyC zs}ovrTmsbYZ_4o)wADsm0+g=)LoV#${%a$fs&r^L9iU8?k;9tEk#elmbgVSO=~o1C zp&S-db$>sg(zXm8380JZAEJQ=K`yK%Fu3I2<+KOH4p;nI&$7ak zPTgqxcQ`%5!D&eg`JY&@09+s%d~qaszX{@fe_^= zgeN2Ia*zw-t#uWtwY6irqVbepy)bvQJgPNQ69Iz#xo-5rWB0;7om?mr_fmu`nd~l_rVwt2wG_gW0aDO~s)-Xd&@M)Ky|ArZc)g}|7l5Kv zgNXW{oxpoae=Xpe7%O%1HC>3Cg^l?=D@z{KzD!l;X}&^culESQP?b*FvSD4;W=7Xn zD~^9HJcXB!lcdTJ8<5nc9-{jfa|Ja`?BiujSq02wU67~NC}EqSyP-n;U17YBFQdbo z6v^|ELfGGE$!p;eqOm=3V~VMhN`Pnr-Cra!i&d`MpM^G1QR>;c6up~Ds#LS^@^`%@ zjD5NhU?WTCree|x9VXst?ai#+>oXUQ-^^4mecTuqIUS~m#6GmeQ}aEP>M~qW4rAnr zbMwGX?sR7)HC#KgFVnY?@KkM$Nt+l^hmmW^+PIv_RM$2dDY_8jXi;~oGC5(uu)sdC z30i`0^Ko#E;pM|lQO1r=HiHd{GnFrx;fxB_WnXQ0Yo3OX8b=MO_lIRHlnbFOyqWRf z7A8WcAQv(Fa@1tm9+L40>2!s`#TFsF&M{D3oMHMHI(FuoRbO)B)&V&1xU2lR#q)bA z)m4GCU&haVqtZ}@S8fZPZ3Qd&{Dd)>2g6a7!<>fVzB8= zj?KYl)4l9XQTWRamy3Dx7&tX1*eGhQac}x)zBh4sM;k?wuBqwW9QPAF=(y>9(YVQr zKEdl?iAgFB)5K?so4iWP{hj~%(Kk?E0YZ9yfix;JY1V`!XPc-wA9imx6UN?D2YIF#U^~S&sBQXERt4}(P-Xy&R4dD=97@er!OuNZG zsfYc5`#~z#?+?QH$rF1orelyKV#z`no_Qn_-${0}toc+=B=+x17xft<;ZLzkySuf8;!xb(U5i86;w~*-C{P@VyHngLPCwkG*uvtn_~PvE@fW=J zCYd>Nk}Jt1bCP@ScP$M?oHvwj5D*Y>l$GRkUJ?4b=P;08&!pbA;a5O$kXDyQKxjzB zdbUP=<%pg-iZTdwQ`AQY2*?OpYI^eUF>*r3pYXpp@G(+&KLUIJ0hnL{0N~Xa7$XNJ z=z$0DJ~apMd;uRu0jAg?2;9IpIeZ8Kn3n=3$btRTEd(C;I3=(X1stXUqvXIGIdDo1 z>{9^?bz@k^jg3v5 z%CW%zV$Oh%($h08tQaXMD7bxoadB}yR#PEJdZ@%!_Vn~F){vN)neE|FQG8ATRt$i3 zdm9@Y;Bgr^`+aH4cxJ$Kmqv3NM?1W>|I$x!^qvg>p20_#adB}vG8iSpi`dxM6&00D zP0hZ(zGqs@goK1pB^ChezDLX;B_);9H_O7pEGQ@_9Z`BLz{=>B?&0B4JH85iUFysy zBCPOPelQpeEGpO4{oZIKp`oE!IXH93YuD1!(oL#cTV4IxJ^^e80C1>`02*wV?75XP zBqVqT86UW5w@7bW9N%hlfYg)3f^e z`l6zu#YIKki(4=l?4^tHCY&xIAtBTr+uH&QfbY-GFFEMEiH?pz;I>s%RJ?Rx+}+)| zy1W=18p-g-1@_~Cll+DRf~ILOa654GmG0V)p3)}%CYbJsPvTUPW%KIcOqY4Do#dpO zv?Kz5u8jC;X3kg<0|4lNhY8^5EGH-ZZR)ADsVl1X6@9K zO87i7hHelJ9RGq9mfttD$jQmwR@B0W@vl>}Ph`|jR1JWv0?7V(af(JY0s@(ZvYfP@ z-zqf6UrN{T&tD=X@nwPw()sb`Z<+WqNDR_S^bssI*0oZL^qgtxg4$lh8E=rB-Iq-e z-G4JWR~wi)FLoNZxK{ftcBWlme8N_!M-F}yl;W)DY^8%y$9fL7#iS1%tp&79~W6E)Z$pp{R}NJWwc-nZ@@ieLJhO=FLLm&s1GsC!xiTP0ZT5ZS`lFa#>bf ztiyuN2&A&;oBBdq$k$Yu)1MnQgErd}c|s;Y4b>z@%KNA1TUh5q5_>*-f{e@yqM#(& z-tpBet&p)5Fh)Y=K~r6WPc6NORpEEeB{|{_1-FqvN#xgcIgYg#Y$}APBAyORt3^#s zO~rNyRL(Ub9C7)xAhSQ%wIv@mTXyQ{N-E0q3P-ilslj%9hw7v~(vqc^g~e!CTa;z= z=edJlmSS-rVtV?Iu^?S-?I!KYOHxAt8KOXAOX@4`x2r`(#xZ5FpjG>j6 z3?Cz8FiBK9Dm~{_`zEd*V9V7U;9pQF;lCMXXgOr^)!V9n2PJ7Aw4RUUQ%&n!cC!3$ ze)qwBv=$s1%8zRdS;o!8y}Ge7E|{a@V?9-~U-s6r&lcPS1UtLvZUhO|h(Sbu zTS`vm=q*a;y02OZrWSte;c!NjnLiAdzmAGqUuha!0kU_}2 z;%_nZh&IYc<>=Xii*q@9Q&v;h5wF-rdP2MV&WcW`FG_Ua-scL1{NsWv27lT}_Bgpw zb)~~t631najc#yfDNd~l|EZKyLc=ZjFK5Xb%BKG1c+BHgtCu2!Ee#HS_3v$`ZRHhj zD~fc85?4>Kn=Q#LO$;MNk2_~SrTZj*R3;c|Z0AJ|TAyiT3dJ?Doc^R&jYoXj>Z)(b z_N;gr!etn@B1#!f63Z32<3+b zxHJ}nmwbm!Cn{YlU`lMO_T?KtEQ}oKVq<+3I{zEa$|s z49Y5_m51-@hS)MqAzUgvvM#61RI?~gvk(Xcq^syPk$&mBzx6UN#3j);&ArVvO=EMh ztz}Kk<^c<}=(1pBS%NBi{5Ix!Z>HSj9`o$vm!QY~F?~e($f!SD84-iZ?PkT;?aG9Y zVJaHEO2ttb7$}9vv9$xDP544}#$U|!GZLKNWv;34kckHNXl*12_ZYKtztgO%vWw0= zz+W39N|{#F>uj-W(M%VAz8FN}@wB{jA01@ro#i77Y*BqfrXpeMMnadG`m8`t0F^U! z5#xT;)9rZwzJ)5-GPdR;I77ds6-Jr2daj*_2#EBdco##lcPJy?u438WB&^KW)^8_n zgP&&o9=W%agZNbTft$(Ar%~=8>r@le-yPEcH8rO#L|vFmzm}6r;6xYZU0zE@pKf@h zTHCW(aUv5$g8f&?(D{%{7C`SKrb82{cNaPT->0H^qYf5{gjyQ5 zf(+=FCrEb|W1GEA)zTrhDs6t~Tfk5up5_Thg5qv+rJ;BvaVHp`9^K?V zC8+r4gMaKWZMYCL=tewb9Gu}j$R1vcmz}6-DLEG*s^etzpRU-?;8b(cXwrX9J~nAOc9J)h3v|&iCS#qSGQ%?x(BEz|kgI_~MQ%bxY-3)+ znEBd@C<;Gq_kZREBh+!{-f@A`{@mVPrGAFE8TlBgQRO)V#O@ zH@u;kD10~nMUO~tMRC~%JKAAGjqZzsge*3r(<>`Dc`wVh^SAFn(Dx-K6ZUZy;H3zk zLzs^dds~D-S7mP03ZG3JmTqJDG#<5l8ye>VYEXq}igzt%im$et*J~m3I z@p~(W#*8lt7Bjxq4I&j z<}J36rf=0@Z=%t#IVn`}GhX%(S@5gz2LG~SZWRR+L2`tJ^5RIj!qDJ9j+)F}2lRBU z-f{nsRwM{WJFCI9%ojZ8$?!J4#D5k+!}-$@_NLFP%Yq?B^BFxM6qC^q>mWnK$#RTR zo~;T2WP*Llbwv@@HGTvNhD_GCuNTE}yl;z!HZQ(a8~wu%HGN4>a1TVQ+>9WHVMR-^ z=B>-G=q_nG(mmaXi5tYzou`trMOXA6u8jX|y7eUoK?J-@igkZ0|&bc~$ z_scXxWBz?J-VN8{v*f^{oG>#aLn2Zza8LI?lOZO4h^AxOj{8dD%MGb3*99>cZi zx#-(g5PuPjj+S{N$;SMQ><8t#!G>ykB!q-!Qwa7nuAReWUPY=q6W0n8UfmFLpA27WT3T6*CiVskUmQj+Pfzd{Kg z*M&F6xdH=ZZo&ASjQmzaW+07s7BQ1NV)LRcelaUO&B+MtKWX1&Y}rQE=BZIWvutsZ zXgKces2*w_r;?hTGqU4KPNSJ@1+#8zUTXzWZGQRG+8xbGsCu~f(d4=ZJ)$!sedL~5 zs%WT^Tue0b*ok^|$`REBhz7}@aD-6te1lv(fF*Y1ck0ycd2TjAeFE9PzTOfC^#6Ho zLB*;1;r6ap?}cSUy#;ZlFNC_U{i(sZ@`H(gU-W%(g0~D6!6QXLf)RGJ*V?De2nTu* zUqp~I+wN}*&p-mG_x2Dfn`=G7>J3TgX!wm%N%9+JueE;f5kT5=zIj{AFo>egO&IR3 z16rLK@OPwWn4N7^;|GLBNXpKnOk>Dq?8Tsj8FlCGidS_)iur-Ue)QC-sX_E9Sj@-c z2MWEF{br4LbpE?$-($}<=f)4F%+t5kcz$whQh$78s$DYXrPbt?``l~iR&KK{7!GF- zKmx_r&*ypAsqB}f;bC9g;VogHP&!F{CDd$mN`=D_?`9QELicGy%-efI+k?ln5i^ic zJV2{ij+~dmpFBM1)_V(X9y{OiAGt?&up|U_y=M`tq(((X-xRvo$GXFzJ{0aw+`)&B z_kEkH+HIRb%<=8D=$JcUU6(8_V{$#bBONa3W`_#vD@@i*v5>?RhMs@lWb^TIs3!s(+3_> zRZa)lNlC;)NmlY6(17|qQB{@t=7+_GI)9`d=-8y2hGPqb35V8LscZ{Hu+yT0hYK!l z+WWsEhIIE|b|+bnxTS-G zp)uJvS8H*9bYOE4YOLNTY5bv|5i3`-l1}of5yAK8$#0XZv_4UONBY3^A%0g>AMFo*w(QYTMDHC;pWEk?-k?iU^vf}ag0cWa5mI-{+f8O4p;|^i5vL!Yr?qfhqeC;$ z9sc`JWTW38m=#qvIi|a+=h5MOWoAsP&PBlPI)=Zd6`#TkLtYJMBMF3wp}P-|-REpr zG``)haZ-N|riTN^=Sh$wEuLnYk=-i-asi zcS4C5af<~X_k898A!hWyNo)Mk@gpUJe;%K_+(Pr6*~`=JZpuy+a1q^amoLr{!#2V% z!d3suXqdFH=8yH1n2LVxI2)m^lIQ!3OJbbV^e)-tSDF)lGBngtx#%{MggJ?WA6mc9 zd>q{WkNG%i@_Sk$TNu7cS61A;|9a~w_Iivzms#gd*cu5xnKt@?4m3+XsY|yasB$Up zW-bD=QMtI}A9+?jLAukA8=Z4|r$LX(l2PkppDLNsz1FKQTb=F#1YRDKkmdGOKY^~h zfxxIIC;hITif{+UxP7_SHJu7ZZ+q;HcY;g-G!!WuyvaDTbBDpH+MXjCPa#V>jqGBh z<4Suji)I}D!d0wG^)86g)zzU$mM4OJRW9?U+iC7M zX_AngJmn@_R|h9N5uGcsKLnuic-J2ccv0poh}eXBI*9ykw(^L!m1tWL+}=!*QNQN1 zOB-2JY~k@E)dG|KX5Kr$@lBL!O39>FHa;AZ?;tL57j^MIMP~|}qc2PF4Jc>(>X(aA zrDLX9=kdswyI|{ft6KL|PdYCo@!VLI{1--0!C0eRZc69UMTxn*6)6bf0+@IS@T#1q zSACP{|H9QjZQJjzSjcoALQ+qeRY?{W)C^Q8znmJNA1o}`R;Bfa8W}d6)u?c+nR^~h ztjETh2~bZ}W>IAuBfpiV{Mcdta22(_;e5tYFgYa1YAclY3pO+$U*TI7X0Ms|9|+6S z{Z$4RE3U5=CXlKPA(}nbyGXBXdFbGzfr6f7%4p-?33P@0weNNxU!J7U0&{P>F zdnK%@SbxP7LvRQ~j$4`=x|w#uHF^JVicQ_HxcHO|*a`ifJmh)$!uKt~g^*4E%Ay(P zc!WP@HI8Ys{>!QO)G7iJV^;3B?95Z>oU3)4+qJC7#xr1XzSjRN^p6-4*hyC3kFtFF^eWT0ZI1SIJi=SYsizZ@ z@5<}5$-ZVM7IGeTU@D`{j}T&>4W43U#Sto>YvOWQs+SbDBqWF;@^Z~fS7&gCAOaqL zZJ2ZqTnWL5CT`bBBma@|v_B|~OsX=laUID~)70W(VzyQaAayW{8qg5dE>;v3Gx(zq z(%_V*X)?Jvb+gAKhS11l2Jbsj{Mlyb2<4_d4McbBpH#f{yhhLX)Ajs|TP`;%*`v(r zp{rxgYI0^J=Wh8to2t5d>8DPC-d+hmwVu1t!*l^id?Mm>96fKXu|(5cZ3`9U?`<;A zVRtnh+tzJcvJYoz*w`>gBGMUMs5h~$bQM)gN*h{|P?F9WJ+coedSfA=SZ?Y(Zdx^O z-t-y|vP)k#_67Y9%XP5VQ2Mtyc~#K~?c@4{8hhJ}L1 z3-xbiKDL@9#^1`ljH44)Oj*CRT6G`7@|Q*-I2Ex*3g@*(tnH)U&%Gl8ugWhLc>a*|chB{NG#+Fx%b zs@jxO-r%5qPcQICgu~Mny?BFlf>jHl-aPkfWn1|e#sCfq5#zXx=lXDF|M!BDtYRE| z9N(+Ho~hGJFfe%*y?*WAN1aJDI!=Lohp<5x)?D!@>NV9q;?Dc+@1~vp1>ZCtB=$;C zg)9le4&E}dsa^zmY#Jx$V1arodMYYdo^+b4a!oR1THI-tWqL#O z&K+O13^P_ST=pD=XJ?;^Tu75*x}v9VE_$>{*+$`mdLYTFpvy;nFIFrxhHpVDICJB1 z&zy-an2z|wcx&1)8O4L2(!_Ctq6646dgtO7BK88mUV3>&K&C~6!G$ET#t? z;w%8Q7y)x@aA(n|V0m>GRiRW(NC(|TgM1U~-2S=9-@y@0f4Ozk=CG|Wmt;q_JMkfK z5#~yth6$fQ9rz6*t!GM`@Gbo*?6RB6QJ~*{o#>!I1|0KmMx=cEKXbuJ34&!ss(+v^ z^p{nbr8VU0qd+8N?CG*NIC^z3FB>-mdZ9e(n~=DThSP z&ylYvFaGz@a?>faaq=a=22aeP!Ik&9!?1lX&iG^Srh>1^T6LScNe{|#Lir{ox5v0I z)uVnaoxHC>{^Si&$BBy=mhA9{UK+1xFZgpoQg)DB+SwDKVlPJ0-`{7M;=w~_aMnGH sM6oi<8M4Rg|5sc3e`#IsiN4Um<~3clji+&5r%DLQ@)~k=GFD;#18Ui%nE(I) literal 0 HcmV?d00001 diff --git a/assets/images/Vodafone.png b/assets/images/Vodafone.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdb35f0f6fd3f2fa78ba187de07a895a5f3d098 GIT binary patch literal 3234 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

pO3j`&Nj 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 literal 0 HcmV?d00001 diff --git a/assets/images/blank.jpg b/assets/images/blank.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f951c2a00fca8a7a0b863c1110295f37159111eb GIT binary patch literal 916 zcmeH^JqiLr428eUSO|)k+QW#ow~)2=65hkBY~ca?cU8QCwOt%xSr?bUwt^1^!uOKQ zW5x=*u|(P{d=x8{<3S|3=~PDB!tQh!*@M9(Tg>KUIUts!T?&ebA}T?})=X2}qfJN)4Aqr*=QKRf)N|NWKGe&ziyFSLGe A^Z)<= literal 0 HcmV?d00001 diff --git a/assets/images/blue.png b/assets/images/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..1e051edc4fc5e2415819145ca886a6b5120b91b0 GIT binary patch literal 75420 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νw*C% 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 G)chYZj|MFO literal 0 HcmV?d00001 diff --git a/assets/images/categories/agrix.png b/assets/images/categories/agrix.png new file mode 100644 index 0000000000000000000000000000000000000000..7877e566a244324b3939a558ebaf05b52e5060f6 GIT binary patch literal 1134 zcmV-!1d;oRP)@GXI(;ar^ntRt-7F-q*FvNtLOlEe@ zx#xW6JKsIC1Y5kw7U#z{fd4lGSH8UH6$sgxO-G4@(SP(rQ=R40cd47Q=Z2$=y!Z_< z(9`95S(22iYYAD`;~yVydgp!S_n!cuKvXxdyRorxHXTe)*XO4t$Es)m2B4?w{6~@`pEW7;wF*=lXL;Br0X%vFA7 z_PC}$EGyC<8`eN~cXzQY&~XrwtLxgK<4vcoWz)f>i=EeOHv3D4VGfF-P`f4oZNS+F z;LWwf#qB1kQx2&8D}8-G6+IVOu=i3E6|2P&3BJvE3bX+yKPu~76Ur0OJ?Xx|-wO)n zCL}jCgdJ-ua!LG9AM%q$O)f~B})1J9Gf3|i*DeN z(i^MBqdXlxh_&;AI9UC$bOHjsn+ z_r>+*Uz&uMd%DI%L99v`1~g5>;$nga5d?zi$$R`>k{{IHKKPxqTJ%`Vj`=yqx|63E zu+B6~zOWDh(j+)NJ%vEPkK&?2*zGnvxo_m^3)Qy{Wy<39IFU#Q+!WF)Frn2UPD>#O zBJ9+I2c_#MRF)0PBm-9U5mm*ao~)erQ`d24bc8?44he-16o3#q{NZc8Ox=~~AR-GA z!eN=e@@S9YulTFWFven0xF^Q({JvjMSvZ}taRAnMoDYVUReyJE45}JQIuoG0EGf+9 z`YT63(Q8F95(2zFC#VVNhKye$?}0+bj{JP&RAh{WwijnP-}Zfje5&jBT)3|aa(o3ucZ7&0tXPbALP}u%QQ`R zXJ+`FX=yg#NA0dVsNFRRBH$cv!AcQ&Jsz+ty-}7332>yPy@QSFjH~67=K8Xo<=5IE>~z7faD-DZu-2Qs&I(gR<5DADL!Lu%m(6%3+EdY zS?+ba$5Q|-e@f^ppSE>=Z~gw)x8Tg_lMNI&1)%yLry&BkveBLiOj~Q~e!p+(3;}AG zodUN_Q*1uxa@|h%-_U=;Y%HwTwhdsLfh}j?Z!{|DHR+@u#{d8T07*qoM6N<$f)?2t APyhe` literal 0 HcmV?d00001 diff --git a/assets/images/categories/antique.png b/assets/images/categories/antique.png new file mode 100644 index 0000000000000000000000000000000000000000..d7df0a1805a985e6f81980ab1b2a6600a5216033 GIT binary patch literal 1264 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 RdHw(Z002ovPDHLkV1mTUk&yrZ literal 0 HcmV?d00001 diff --git a/assets/images/categories/clothes.png b/assets/images/categories/clothes.png new file mode 100644 index 0000000000000000000000000000000000000000..b54cb64dc7b1a54be87c5fd55927e8103374c81e GIT binary patch literal 1437 zcmV;O1!DS%P)zPb)^LzaS#`?>6Vx!d*`CgIWyla zS9`~g18$M zg~oh9W(AOovm|w~nPtsBQbKoiG3dp`@E`5N5|V<6BoP!v+!O^^-m6BUe;jpvS`|jW z`V)urMif&de&-W7!A0+#a=RDIwjDD9Y_vP=HZ}F#0h7^`NpL@%#sMyhqIH#EYOP=@ z4B&^t;Cp?T{B;0(b$ZNIsj~I<1w%n^N_h92$K{y`Vn%??4#(B^_4?XcjRqf2OybL; zLM2B`lJI>zh5M|nx6yzqwHjYXBGDc`x$B(AeLQb~Mn}Vi zW>)*UY(5#FUCZJvrxQ1>^ID+f|$wfZcAlQ6%;Ex8@>^JfSNV!=<`XFy#h_Hzz<$ zBoTZN1kXQIfTlGle8~iJ3j!&akzf17e4YoJ33Gfa2|F;l^p<$Y1gve6B;;DwE{doWfXclrax{wy&6NFo>KeR8-sX*iAEy*1_ zcBn6&Kaaut_m$(OHPB#dtWepEP@A=&%k`kNQ}W6o#8OBMN017{koJbaUGpIpPCz-H zbLXON&1#%zJCQnlszWjMqcKf^jr9(xy{$DX@g|282TexYN~LiF0>UKVjqs1>flbfA zAOcH4p-Qd7o?r-P-7aOEyhTmTEjZWZo>p(#hvufO$I2?ow%MIda^;E@kO5kY&C?3z z`p_~SPynv<{DCuWmpC#sa=fkmbr3X8&cR1_O>-G=1(IRP?7Q-V7;0^9WP0*q=9TJWC$Xl0)|r(x_OD{ rcv8okNx8fM@{#^o#=HP{?h5=1CfY+k*5%OR00000NkvXXu0mjfpFyqG literal 0 HcmV?d00001 diff --git a/assets/images/categories/electronics.png b/assets/images/categories/electronics.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a6535dade643282ba94a9cda5d1e2c6710a521 GIT binary patch literal 661 zcmV;G0&4wBX%*iJoeNLZJt5den;u9t=51 zz4<_zZPBJ6hKkS%J_?G}TiQI_yqazHF|rF=lI(7GQ^}r&d3?W_`Oo+NmY~TWX>xp6 z0E2@!4{Ms-*(g|&HdRX5Ke1TkclBBefamXg;5ate2%u0XBA+jUQY_5QM*Cd=;rkrN z-U5i<3q(~_B$FusG)D+|5Q|0cZVNC62L^cR1z^q*gs82amd@ef+k5Ar>m&@$ucswHhmj)NQKjO`&9wSC7l|iKHSMdBqk0@pr&DC9jb)y+Lkj3?LOPHQNj_LWXn&6tooSd7BEY}kq z&CV{-E(U+%Qt*ed`;ydB6U(#6JRi1wrp00jL#N+kHQ9l8O97`OcYmgKW~XQD+FA-% z&wRC9O&!Ty1Kldx+kK}pnM}-FtSBmUQ)_FLEmvdCA%qD@5|&-9!YL1&?!@eGL<8Nf z`zjULc;vZUq26yCSTs%uS#Y)Mv9XB+A?Vekl*A{Kzzaj{VLjC{`L7^3tYJ2IiTY`cVK~bmy z4XuJS1tH?WgFR@AA17;}$<|8SwK3Xc_uW@ENXRzXC0i|caE`k(^P73*ogu8T(HiH+ ze}F~diDdL38Q8V=Z0b(#d9+O=Vf$Z^=tJt%7QIOQ%)kXAd~R(OhB*)iF!{%T$z=38 zV{{3eH%StW2RBn#5YSA7L`i2os|HLAMbB~I8aJ@VqYx|>z)q|-3rmvpqBmn`tz2F2<3*ayl zc^d%3Cz9e@k8R+barI|Ln<>4l#1g5Y{`7#QgW17u?sn;P^((a5X>i7BLc?;pTzsX2 z@kDRK0IiTm;Y$|U_q=UQM+cu;0ja*;yx{e0bm~Gcm7pp)#_peaGw~wYet2#;TJ$Zt_&T<0J=}Alv2pUBEX2kA>v1;d%u*o{CTL zjtoGDoIBw!!tz+e&c_j8$_4oMIRlp8tdynN-}SL`IT!cW^q&L#0)(E*II>#F^8f$< M07*qoM6N<$f&@P+r2qf` literal 0 HcmV?d00001 diff --git a/assets/images/categories/gifts.png b/assets/images/categories/gifts.png new file mode 100644 index 0000000000000000000000000000000000000000..e27bd767b2f9d2d77afca2f3c6e54eee51bc40cb GIT binary patch literal 805 zcmV+=1KRwFP)2fg_&FAVp@B6&}-}AiB!+8jzY$VG1 z*gQaW)y4gQM7EKPG;xb^!tgXWfoBBAFO@g=9>bt}}>Qr5I=@bE)HzF?j7>oL0 zEVfYh_U;0-_Y|(XDgc$HhN~^hfSNi2Qu{Z6PCExR#>5hiAhUSyVP?&B)IfhC!4*X{T%d#+}bwv*#Mw*}b4mlY^ff|TU z6efene%IxNeb}n$0nhu3915UR$DM9$y8R$9(IOr=JS!2SX6e9D1`Qknj=kG>qfVS00000NkvXXu0mjf&RJ;& literal 0 HcmV?d00001 diff --git a/assets/images/categories/health.png b/assets/images/categories/health.png new file mode 100644 index 0000000000000000000000000000000000000000..568b580ace46efa3357f1daea926bbeea3bdf23c GIT binary patch literal 720 zcmV;>0x$iEP)JjL zDyWQs$OMOou*sBx3@>ajbtr9@bn7O%7TV_0*GrZ6Y z^TD!Ul#exHM4d$lt<{Rd8272N((Lkh-ja&7B#3jda}-4di$Dm{s-j*huULMgaL=@W zk487scDjdDrHWOc5CyU#2Hft-p}*fTEf|S&?-4+)5!RrRB!Q|Zd7j-yUvPVU*DVVQ zTcg26LD2eNa3K7e^{uG4B#6i3P6}{80A6MUv)K#*uJ3lRzN)>J1S9uqfHE3nU+{bwXW5VEDJPa?X^%P`D@X#wAMYn0BUmO@|+ z09y@`BtkBiGhMy*V#z7uIv<{~@n2gFnqqf=SRT+tMGM0x)?Za)=|hW$TLenZI*gDI z83Z+*niQjHoZfacZ+i`Hfw198F+eRl72l8V%#)CZ0 z5%btz*Hw9{rJ)p@c**>uV1mvhm*~|?B4md?lJj%s=b-*j1-ore!jgb{9QMduv!DCO`Ni%D_F_mcV!Bmy$-~d?Z?PvL z-AXzIVq}n*r#9}}<=ubs`E+pN3ABgY(@+>i2bze2RU7WHC$1bf11~AiHu#>--NL&U zt>{<6qr>Jd{DGXVYs|6cn`Yrt3amgZP0{}X8=T)2NCYTzqAOtl00003_7b7p4ORaeuEG)-4+#ZV*5N{S#-1TVUipb(0RKq?e5stdd5Lb|9nO2z)X z4kEhM3WN{|%S`+MrPA_eH7#{r-F0{7#GcjFO*fZ7>Z0%JocYeY&w1Z(UNn_)mP}8RK@#k(XKU_gv6JWbnc^$I83PRY9sH`=uW+ z)LzRStW`vy{Klf}n|UZTttN&B;8D;Bw7hP^+txO&y(cdh2M+CpC<;MY>jFe698_n7 z_x96Mvv^e75FmEC^c0Ly!5ysve6BvhBT@{L(3{4&7)@3|WC`=0c-+3f5CF(No(Vg% zV}S{n4=d$8!KH!DsC-?JE)`~EWHtF`@Tshj1LRZ%2D#G*$OI_;h6#5*>Ka@D084Qe z2HbrJqeeK4S9vdT-UHh(|n6F z{RkhF=ewjyI^U$I$iPI#1m#Ea_MN`m7OTJiLyo4Y(W(jp8qSk&Yi?0TsGHAHmfxAp n=Bai62LZwV!R9|;-Ozplp~)sF6aiq^00000NkvXXu0mjfgL7`Q literal 0 HcmV?d00001 diff --git a/assets/images/categories/machinery.png b/assets/images/categories/machinery.png new file mode 100644 index 0000000000000000000000000000000000000000..836bc1ceb2a9104ea982a282c39d970edebfc0a5 GIT binary patch literal 1055 zcmV+)1mOFLP)OaHIXmWGi<66ceI5tb}VaI~eCkdPVe3!=>VrkJREG4Y{3@nmPj z`LKy23r`v~Qfz4z3dvYUY6Py4X@bnowe&+qg5 zdpLN?5BHS)LtTJdw`Lqhqo>f_-K{hl(5`@`rLT;olJ!%B3?DFu2x*U1RsGEGe{pPK zVfMXhRr@0t9E{fk+Z7;5@uLXg`;=xY~u0nj)g*}@9YQKk-?1{@h>pOXIZqeESuBmBru2| z7=TiZIR=Bl08Xb15JEM-grrR;PDDz3L3RKnNpb-wzW_kTqetsC$9B5|Fvhj>#o{Jx zY^1?#wt&rMXPLbp2!vyGXTXG#H1}7bknhOnbKvo`0;N^CQYl^JIDFh>GW9%sxDJ}8 zg3s3mnx+i(^@YE$3&2K^QZdcMsnk|!nwwi-b2C3NFmU=EX1{jrhl(uAB$G*l*Xyg5 zOVhM(`uajIA6TM9B0;j*WDH|`CYQ@LmCGe?ySkWt*+Oa+}3s&Y<4@iT#n^j zuH41+vMd)Pk%;zx*p4ZhpPvaKL|z4`W)MPe=krwKYtxl8et&rC_U)^dlP8DrI%v+?*Y)=BV$qn>-Qh~9qdZS8>vlyc z2Lpk@g@ysqXq0bnZ+%N3;wQ{mmC|%YRX*~1-EWvorstWBU51qAJ`4sU*@gjngjcS7 zd585t{}u!SE$(LaSzizKTb@`f=4@#>w7NAVoTzK9HcQEBwHOse>kkA%^LtLwe$MrO z6BFmdV`J~mPEAb?6P`@#y_lQ(slUH}VD7*vst2NLE?v6tQa1be=X2+x$$dAu5vTQP Z{{vAGq$pg*z~KM@002ovPDHLkV1h|a1J(cl literal 0 HcmV?d00001 diff --git a/assets/images/categories/pets.png b/assets/images/categories/pets.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1fac0d945aac27bb267181859876c63d278ae7 GIT binary patch literal 759 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 R8VCRY002ovPDHLkV1k@%_;3IK literal 0 HcmV?d00001 diff --git a/assets/images/empty.png b/assets/images/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2d8b599221a739941d7c0ec280d10c93b472f8 GIT binary patch literal 15957 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 Eg1-R*zW@LL literal 0 HcmV?d00001 diff --git a/assets/images/facebook.png b/assets/images/facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..f31095b7752708d3d08dc46997c060dafa12a154 GIT binary patch literal 120013 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

~ms`uD{~Meg!iBW*a?V%Q?v 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�RSQ_zZ7#@SZj3=9L;^u64D| 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 b0Bj1k{fZp6b))7K7r0E1T9C?!uC)IHwA~qJ literal 0 HcmV?d00001 diff --git a/assets/images/facebook_new.png b/assets/images/facebook_new.png new file mode 100644 index 0000000000000000000000000000000000000000..d2e92a6818cd0b93caa07c6424e792cfae72b22f GIT binary patch literal 745 zcmVsaK?Fc}9+?6X#HKg697f*7$Uq5^+)=yA225512ZpA%6< zL?sbDd5(P}q6SwVWyQ1-0aq!6colqTFlUfGz5@y&M9XOW64TuKYmzu#(fB1!J|tW= zb`HP&8RfVB=!odxvR`Z@_E3`DClinuAsT1Xmome>TN5BWyERDmj5QJ|5RkAE(YaHO zLEk^aLJy1xq{DKEF4&!z3H-MCG%y9t2gCgx1g89OXCYSyMwvV#uDD92Yy7EAaUvH& z^h^YL%;yt_TuBVexz&wbTb9!YmCkpWu!F4^s2h7=Qlri$i7RM50_uO8T&_gLD5tMX z^O&%M%`>Dr9T*?rqC|w%%9YQ#;k!E2P|}%19#9L!qG5RE16-=lm{-9C72}UK+nxn( z!Wa~cbCtIu!HME4keJh>ERjq#3Z{BuD=5DLi8<|v>7G4m{&%+IO~r~r{Ry=pmc(7e zSQS&i{Tn#;TZUxn)`(HaA@j&}u8EJ;nj78;>XZVB&?r9JzI76FcRh=2vkT2-bB&{B zOlWuULZU}Cwl%z~?nJV<*cdJqq$JTKBDFra{P2>*u(8$nrDg?c?sVG7YK+U4jY?ur zI|vEmxXjI#S!{#eX{vbBxxFqGuVgq+4C9)o=tvCcBBZoG?u@{w>my4nLwbw{xkndk}fyvCRoDE~lmvK8=FOFMmMhu7wWn zQ~R86_;x$wK6zv&GtKp^oZ5OJ^evkfWD3Y}6>wPDVV)^?MZIOi{l1g*V_VB+y3cbQ bMnwMrB#`f3E`LX<00000NkvXXu0mjfAbL>& literal 0 HcmV?d00001 diff --git a/assets/images/firstTime.png b/assets/images/firstTime.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e2b11744318cbd8200db18294842d4cf69cf04 GIT binary patch literal 116017 zcmZ^~1yq$^&^}6ccek{(bT>$YbT`u7CEeZKph$OjA5!T$q)696MBpCa_kDNW_`_ns zd)WER%rmoR&l{zpB!h}XgaiQrfhs2}sRjW7MFjx?V~PL;{shkunF;(0(p61H9HM5L z6Nc#;PnWbmo^ z$?<%_*OImy8w-mfbXFW*ObQZKRjfdmS=pQZYE!)+(BGq;dRa=!jzTSsg@ROEPL`E3 zYy8I0LF8`p*|EUgm2h4m2$A7<*Qw!n)wcEa)cvg8GgqmCI>QwqmnC6xzv}B(k3D@f z_zddf)ZA)+9tNZ^Q=@@XkH(L%$;kjq*LIR4tWPH>IvLcvQ+#Y^TW4AKwEH6PagiwXf_}D?4 ztQOTlActZJEF(neo4D z5yM1+wkGs}u-&f)V=lA!1qm^f=yl{}makqP*bMkMrTKUkr-ux(NY+hRc1m3%K8$hD z^gBtLl`LEK&J60TO_;w&_C39X9e^IBX35~hxR4%rirm_DwQ$w^AwR0FNws~82Rk?n zOx!x|cRR34IYs|tKxUSrUggG^G!zc+*W<*S+G33Vud-R#Xu-o%Qu ztU%RrhZ`Fk`{T!tK6oeSmX6-uz`DS~`g+XlN%Q%7Z9zQZFr#16^f>X7;?U3`l?T`N z>~|6pgHe(wL|;@nZe~@23DGmhQPL>3rkO-h_2x)jpI{T^;2TzA?`66P!%PF=IyF#& zgK(;YVQ@Mj45dd1MsxM52|-+D0;nx96dr=;T}a8@!kpDBC>4$}EOGX?rZK2pXiOlU3?Y9OEfqv&K;K~U7B#C6mgdzFN1&t zo-FPkI~>tEJ0JH+$Z)6~3Jw&pxCs?i(BIjA_ke0e<`1S;`@jrF#Ezd(dkDSlrV?HbzgD(D3<-SntA7{IIF@Xt8)MGh>cP%TYb& z$?4~mchSZg`{ZTdEk47prFG6K1l!SkthXibwHFC*7-h5~6WxEGdD>|_fokWg%*Q)^ z*ndHr%n&ge@_^ZIAged-#z;hdiU`{vMX5ELa_Q>=S<6Xs;|u-7uyEkvb_@R2OW#Ki z&noKgH$U&Q=E`?(rzoZhtV2ltVv{^h<5|FC+-gl&j=2Y5Rxpzw%gY+|2Q|JQ3>RQ; ze>XgQdU~3cwx1+xzB>}9GF=)j-8$-h1TU;&sH&->6LsM4@2{w+sMlgg8MNTKY!X50 zy_Zy^Vm%m+%Gz}?Fv;4xzTQ;U&?RWLuSR%nj9Sn9K33!-6Ls7<1bDwYg<-R?-DaqE zu7v{5%0WLl6t1K1C)y485-v$&{jnPzlrCu3{B%=1T$?-}ICLJ=QJH`)BO5i=QmPKq zQ`x)mS)EQ#u^qoTa*Ms(XtE>GP|(Ues_68iM9|YIrYd?$f zXCTA+l{qNSigO1fUt-5{C`H`c(TaqvWsby0=Ktz)&Bj!Wh={QL{JFu#*3GS{soLxJ zk1D!6xA_&Tg2yUl1ITY;oQ;-%Y#v8Le}5rW!S7$cetmj+az9=adc0X!r>t0Mv|9T4 zbHigTZ_e7y$q9q+NF!WoALQLW>9dvuOtr*`4j~lah=ZZgs&_RW%3aCj>^`OT%-}o@ zvmC00JSZV@ozdeN;l#Lc&Q6F2CB)yP0*v{bXdeMiztz3(Q2pOzEM z>JxBoa}8Eu)7L#iNaH2RPYSlS^$k>3Zfa!eaFM#^RIc4>sHXEA zLmMz-B{%H+i{}@gOD{pZ7@%xFmqt}(B|^mDtd*zdT?}i_pLN$6T&an_5Adt2tFnZI zguyl(AZSj$A$kBkP6Wo3QZuD0kl@S|4M#vG-mJZTpHGYNxPctW!eE+&OQNIR(%fan z`0>gTU|%MuC_p-wD6*(>Y|vyp;2cvio%4yWxt>1nByRL?%DC6`K8j>?w6oCwrVRh? z1q_LU;|Oq=aIB+?OnGeovLZPiki&22S9DZ%m}96rx4F)RqYUHMKd&)upQFB(zRH@m zFA_!B0oYs}i~dP!`>R#8sDF00uT(BYN#yoNyX#>ekJEVayN^l&r>Ry2z8wPr)?lu} zih|)9^MPwaBRi+ShM0q^7E(_*(W5B^$NLEJ|{Lsy?WzCF}iHH_#U z)Xtvc0pLVG5($)Hn`HY*)?*tluaEfgo#Ibz!>5?`>K;rjM~!5gAv6+*Uw1T8lOUC+ z3<@7!K=5idbFIX~X;eA3b6a#!;o4Eow0e>u zhpG*b2_ECt>Pvdh$mp~6u%(9+Rc+7-8p2loHygq7t*T0|)!`HvF@p^AZx-eLglSA7e4~BxXv$LEWB13n#|3ZZ_de}f|3i3N`P5yk@?Z-BKGo#c%sW>f$CM!0B zP|8Na7jEm7?oX)aIc-7Bnlxc<0Nv39nM1ZkRHpJZ^~;JedU1lB_STi!N#a#z1=zT@ zBQ#uA`hjhuyPhU@E?Ke^3*GL!Q6G<=kFn3S8w$C$tx@@XNXDn@W(Y4ND1iEl8I$28 z(}k0SZoEb5(QebbE;6}ii54cZLb1Xvt8p9CWt4dx9lvc-h~%j@gEznHWeYT-Syi^7 zEELG=Rb~Lpt7G?XJ6ydOThxb{CpKD|luiPiRWWme1+Y-yPDYKQIyyRL0zr+onziBY zYdU_bFH|TRbboGMI?m$orlRS0x$yB12<$rrEq@#o3lcaUz{?baI|>%9tFC6wsbBoA z$K!0e`vvy;;jfQPO?d~AS}fg8Y{rb0ACbn*!{ddzn;VXJ1H1>TF{|7QFN%hD$Dv+1 z4>Q&EszvU*SlCmC8$lk6(#0#Vgkb}3eCk0(6crEicKm4{(LwHZ!k51qkY^0I9Hn`8 zKBMpX_}7@=hhidh2$@81+U*f<5u*XK+(_)vq>}K_{b9cE^TU?!@2ZMr^2$iDTNWCoksX$ZBH!rEHa3)kKZO*w2`7;|Z4+@)7;c z0CYA?N4l}C)Xbl(w=s>`N{x*ItWGuGc$Z$ndx)~13&~Tyy6f(pi&n4(beB{wkz*Q} z+lp)vLD_L>qa@aq7x0h2!g7?V>MU-sHl~gjo0RrQy9DawXz7YGQnc}hDme;zmc`yp$b=%L2V zot-&Xa)Fw7q0Wc&auS+Ep6^bB-&5%3vJR3=n{xm!37%vtl5zJf5*4X1EAUWolxgfe zoGIhcfD?WE_6D@7R9COo7Uk~tt_Xi!8nTOo+U?vVT+T+ih}SwuF-ZU$UYY~ZCh_cIWQyA z9!=`61_D9{#5|{?(Obxbzx{zeH*7F(Va4CdBsoHQaD69bQb}=$wB1wc+LJ4=eFH~A z@{jMYK%*utrn1$;gZl9B2PI|R43GOROs&O`gq_=nb+m;0drq^h?+X0sN@#~JmxWt; zpL9N{>aNZ$t~8WUV=&(O4Az@-;2`yXw6A_iAkd@f$D47Iiu#>{X@H#K%mJ9pBq$vAK{T( zHgoi_DSKDWe8Y~l9T!kEyow z3qnqmAS!Y~=&~#*W1{QH_g?P~9^YRJ;mqsjSBLGpwm}Cd^RMDxp%erR?71pu?GPB8 zMz_NID+Tu1TDWHAj_xAs@YN0yyWK-6CD0waXvZt?XT+5!&t?AHw_gJ_HjU)m(jCW9n$=`}jcv*kq=G80KoX&CSrzb7`!tLpx}hv?=c8Q>;B~ zQ7zdmSs!NZPnZbU$REJRi{RkkNtRA7qPU)8gY#%fsv=_wf*a29(n7`qA{IhY(qJil z7M^cV(n)s!*$888ba31m%oiO!Rf~loT0L_pR|YtDgdz$n9vT}pz5M!{NH@3)4jw)# zd*8fQ!V%7mwTP=kg#=~U`MI}6*%n=R@5G3gTe+xkGk5aIhVw*cWZ&760#kxt&Z@(+ zzq+9{m%F{jd^uxXcW=`B@u~X$-lAgvqH}6;g0giDdX!g4$=uu^KX)z18O{~$dA84* z-{$u21`Qp}ic_a{^7OXdKj7DtOUDAC3`dG0-_$70w8CnVQYlANPteTiT?Q)3yKG&! zc^kok;yLa0m=treEJ7jFh0IaQgR3^7VW6y))#%AeV+M&YO2CYcRo>#}X0URK{5#in z=G@>~NW|fiIdF(Jyo?={@hK`wzm0w)Y76< zQ3MZXZ$XrAgZp7#f=_iz5^Z)%IO+7Y}}mF)78aA%P3W| zNf_;P*!cT5d_>m0thTh$MEsMdqt@i&_qaH0_ATK+nhzY?vU*|}lk!7??M(O`1==*pP&EX?_d8m4Q_*aBwbzIugvk4B5jut8$Y*rh}+6jYI!XA-^H~S5J zUVK$Qg0C;}-fje0EUTF>n@+~?#y`_?LfkGwnUN#T-l8mboQGmMmT2ZIqrG?@_;tjq zORe<-<&=9;vV!}_VVfti)xKG48BZg64MF$SYA4kyspN&U={;HnYx?(0lVvGfyKy+) z`td!%PiJQ}JH^E+V~0)iXCwz7ay||>R7sk;_3g`cy67l#A76(SAN74jJ%vUD^O*}@ zgTsUAru7^z*TJxL#LVtUopQb)Uw$N6z#m|G8XAn>tO74dutxD5Z)pE`{}YrYUcR-h z?VvLQSZx@B5dZ~<6cZ{pH#d>W63;2)dt+k=`HGH?tV4srFmxkbM0qW3Y7AE?DC@s| z$*QU*%^Yqtlr?|1{}vWw75<~kt6MAa0|MYzMHm<$xV02^0^+obBE;)Fnd^4=12i=X z>vq!dLe|#3OlrXz1uC-JY}Ql))`3&*K+Eu;dwuvlaDt(vy1KZlfk;n)gMT84{9D}V z$W$jZWb0B|Y@AAs!~EXSLir9RjoIbUg)F}f@wqwH{5BQofz$5CGBaT#P-q$QWc1^T z#?&F@5`pt|AlW^|m94EU{(D_6+r{duD;K3_dTAdnqA<%s)OAd(eOQaGPmz!qxA%U@ zkzapdpujx_i2Q@R#9(1zDW~!*A%ig$=Jd07!zo-aulGF2V1%k(8)cEOIsXmvI>u1$zabk-TgxVN>m$1;>53C^g0_G8*ag=AP{JAQS-MNrpuSsSRV7| zNJ0wzNO8f`3aVg2PRk!lOA?$-^zuF2FB}0+c|~F>;*{YlygM8GcxX;z-s^tAaSoeV zcaLnDug`@g3onQ$W68D6E+W3`;!CR3datNh-CabIf$VVcS6+T{LG`*Kp?=9<$Ui~& zX0{|jc(tV&dUColJSLiLCCja&wQ~(v_pe{2u4(=h1diW&N4;3vtM7q?W~G3Fx+q@* z2Bx`;XipvmdPX!~m#ozLpAZk;sQ~s$>wjdKwA*)PcRUX32!X~o@bK{ajsAjIys>QU z>xeQ`m~9vi6dCQ|#`Ifrb7Hu~rGwa(49ku%k=POtaoaRsT`Q>kDOHgYIRph2;E#X* zrqEzi>mwUqLU@%klyngW0W$Nj5@i^=ym6 zo80RglU)dzY|GT6ylC?pl5MO;kbD}*tONrrxVAKA!AaxB1C6@`kC(D-U7pnRfqNC(3e9=9ppDv1RM&62!gs* zGvh8o*HC3TGht7kr>?5YIWieq%nNTq@*J~u9YLbj45l2{A*{>b{vx0?Ge&e9R8dcG z(NmGwl*1?YX6lqIK37_qr;Gw$BwBFL$T(9%l5cDj=(x6+-X9z=DGwYq|E{qpzq80& zUA=YcVwqB7$CW{*%Nr=o&$l!pw2a-BZ%RFK6-}8X5o_6SAY;)Iamt=4vJr_6^sp#b&QFw+a$WY% zc&wOi69CkHQyDq}>9*T(<&zK*j`+EDRM3X|0tdpdiGJ^nrw*Qet*+|l@BMc*NlHo@ z7Z*pD>-43!)Tgwwxv6sbn0;pLpKz_W9$yH}KIo$cwWQgN^+{LB0j200*xZ8@WuY zMj!GaX*~o>r{dAM<54vNqC6OqW2HK6T9n>FnFWXAT+;-RVgK?TK*z;WF?!g{(cTl> z|NS&iVvyRQ*3sN)b{8FVhu+fMY|_6F6*_pD&+j=6i?8oAy|yKM7#U{RI+{fI{wuxh z%6!vK82(bVZq{V!hLQ{;CaTvII%#Kv_N5ymAuDSf3dr-2Bz@_ajckUckIUqdlI`JB zYeP*93keYxCGOb(J5C5ELJ9(TAJY^E%STVo)_eCLFOmU@Z;NokNMU6V$PkWjq9UaT z81y8IKYqYGa`Es`o6MKWT_l24xoBCy_yf`y9cgNv$hGIn%mf9o*u+GeAY?0i!N~Gu zHFd_cxqq>yar@m5>r95AP{$Ln&|HPuDZ_^6;K4 zSKI@6dRByo+c8d-%Scbi%iDhY1|{ss%nwuRwXSq+%Q_y4T|t{R!Y(_s+d`$3anBfY zX-UybN?CBdz_m#3Bl_td)>)}}qYfWcA1XM!3%Hq+Iq!WA$YBOhi+RC{5`gp4yn1b> zKd52`#?7&^sMc@FN<*0!g8&={I=Lzt-eeg7H3F;116fR9E#Zr3i=cqGY}|~%5cDgu zMsJ8T*EZ)*3SaJ*sVyvo46h|1psAe$E4dDDXw=eq2wXb531vri%j}r5LfyNB0|k?^ z1>JpA4gBfVPU<*HaocMtvszJ$@!+l~sQ9PqJs z+N>w0;JQ6mhY4{@lsijfe)lF;IwdPtfaqiUdSdQnvC6`)4%9ld#xK-g)iFKcdIq!3)tP5+4!s7Xa-yE9s;as=bPV|VDHki3xIwmpC3d(} zUE43ijR=h<)6+@u7*xV3+KE%1Q=4KI^g>i){j-z3;yu40QI5WR%+FcbjP?F55aYUw zSkAFIJxys;x4e&B?#hcx_5h8Ef9P4e&m_K5sG2i~+It$k1O4hSv< zktyYtyV=dWVU~OoCCyICNN6wfPaH9iO9h@_a1NC6SgT$rTqdl?l3;PI7ipouR#-_s2DRwkD$kk&S^eq_Ht$2sfV z!pASzxUI6Zskr!S`QkBpsC@L}{=SNemKJ_bP;Y7STu6)Gu*Ii1&Trqo@!hsIHEk~# z7lu#<_MN+%a~{}#uAok7xv*rO^s62ICtJ=W+sRt9p4pUZO?}>rxUg(;JvdK~P6$q` zdaO3tWIie8aNpkEidoV?(FZTKOJISM92k^}lUBDlw6OfaSt^JgMKnhj(V~n4?|@DO zc$BbVNr=9PQka&X`mE}3Oe%lfvSK|da)#|B24&{>nWGE|o<{nCAW;_JS=L<4R$K^M zEuPL|ksl7mXrv!&fa>uD8aT27jp+-gpg$5ywOjihdg+{}PWS)Bl3kRRQmYm&-KW?^ zl1|7;KHJzM!$=@phf%L+M0cQhI+XT`V3L0SUQ<(9RYQ-coU4L=3Nb%p#>jFs=-$i8y%=5as-q1Zgmxj?xnpp5t{Wv;34MU+ooUh+9 zr_6;gmq1Evxlnb&h1dudH%7h|fXzbrxwf|E>*M33PjAU@E%J^N<+BKn1aBh!w2F<5 zjk@~6SmgZ!poPDd^o7ePL+iU-W*1QCY{mu!SsM%F+Fe-IvvbqNEl62f9qE4)#QN+W z6|NDFw@>ZTMvm<}KR`V>sgCX50e2*$<>}8{eDm@}`R)0-f+xOyHKth>S$_V(scdKO zD7Tt0!1!&#Y9^nw=KDt)Qw&Y+lq>JtfZjEeXSkrrEadwsM>~F(MPsg%TTR$#x;s?< zuKYx%7}nGeA_{dO6~?|~HU0hlxUAiR-dE<{)DTpcUQ;2g*Dh}SgfVfJ7g>G>cgU4c zaw-sb!7hdH1ZB<5?%>?_7OV>gIqOO-B7$AV1a_>2jG$*^s#F;+U#mcf&7F^N5DxUt&7Z-t^!+QZ!6<8@o=YhzJ{ejK zH3M}ceyg+G--u~xpFX7F?ti+yZ8yg{s-F|CrQ01FslIXI{_wjgnT09sW4TKdu+X>Z zTj#f~%gXO_6Se_9TZ@KP)1Qb)<6+myGU0?S?WSfhoUU5s*s~Nuzx0FRTaGx($+ZLWhc3xL2%6qP2u1m?#RY4i6;Yai$tMN_eHG^|`k)&u6`Usqm+@G(^8(k1G@<{LKfYsj!T8# zeA!YWD`Kdn4sKx{WDweh%-GQXlC13P?0`cXzxeFz?6oJKQAE1jAgDj@l4Pyj+`JzD zHh=i=$xARq;t_mp0KR)xK_Ejh9P8_Y=n}`dgH`LFkLjdV{%K56?C$Q)hBv_AxT(k% zpMSp(1@XSQsR`^ibpye76o3EvRPF@$2PS_4mllYds1#x&W`_I@RFaGs~t7URW$EdynWS{U z%#<-MmBJTzf79l>v%q>MbY-W0E;>R^&n?2A2*^CNQ=$t%@hNWiCZ#xxjEfbAgARG5 zS5edNG9TZ`apdP}th z>dmc(hn;(SgO@P&=da}opPNiotwvld=BM5GbK7 zwwWdViU<=UEnVW!df#XTG81azv?Tm~X(?XBW{!dI*Cb31n@%_Vle+rjP7G_V_d(Y8 z@81U{Bye$Yog@MSdzX%P&l&`tcVscC9DZ*`;FEw@1eaW1@}+dO@d2RXo`9A+wG{1pOTd%(0} zPnf%|V9+Vrf5pma$9qi?V(qg9C(AVrL#CV_wM2zhZ5KFa@hUl>+dlq3aRrZ-ld#X z@7E=_yD_Jb0JPb!2kHjTnF?B42K^5uY@aUo4*D}i)YRYu-=)YU=uMq)>$;hrI^Gv{ zBcH?cmVuEds)w|)m>Zy8tlgTOoAaJx|G2ukmRyxOdO8RwwituXPO>tcBFzn!gu+PJ zI=5N`rv_Ko)=ZfHgmVN3-D`{-yXtBBSX;B%>i}g#b-^i;6gp-9NxfkF;5mznHz{L+p!_$;p(4o3^Db9V`5I_Q`kuNJ~adI5>`n0wt(+vk@ z773F_!>OZFTE{Y$fNF;KsPHk9{tmeiwF~wEU-=IElHnstn2UYqf^3Bxi>yvc z!gK)=4Dib7wYC%lK7~O)N_eh&@)Ui=Si6J{*?wwt zJ<~2k7%_8%d_TBor&Ng@Wd5I{=jM#J)_ZQc(ZntoZi^*`O1BR;I z8102u(L4TGv~QRC7M%4wM}bqOaJicDgS>v>!?FFnofUNY;t?WL!`=Vc9%2%#$ zVVfYAK%a2=3)?Wtqj`1cW0XSQ)3l|!IyTGX&hW?dJin{P8KG96TcT@x6a{xKHy|)8 z!q*p3=f$Xoi_pvvM+!0C3vv-7kFP%0lLD4~TshH8c!%L7fExTM3fe^~L&tX&;5Za_ ztD#*03#6sF2o7&Em=3RqFk`=9uOdq4I&4|Hagorw_jAQdu15Rn3r7wm)z2T5&g@Uo z$UJUNsW`@rVovU}-DxuJwzvReI|ue1onR{buUtiZO%%7R*LN@R1scM?`jO$&5`0%- zv2Ehw?^I|kpm^-KNVzkk8T*k;^6;OO_L*ZOqZ z@^IGK+d28Ko#-z)0*vXUBsdcESqf}4)=GT$!pQV35%#24@WA>$S!bSfGh!MkHtt8o zh)2Jv7USGu)G0ly(#%@14ufUQipk^azkn^3X>FwksZ9mOxy8k;pF#xDIEt0Ew;7>% z?QR^TcNsWYy(}rNq2fTd#fbxwgU)wnrWJ$d)9nU28B6=JD0lrVHB*IYLFMJ$T#+7=!Z zOr{C}LIK=PQCV;>)wzxv z)1S^_->Mwb>|E|Hr1@(yFk$r^?X`Rg;98@OH2M0faBd0qMNb&^z0*Kod3h~L9 z=yN|4%-)bFzg=*NSzzdHWhMPqoyqRs+hZoiuhW9pCxeIYm+PE&Pg}Qw$tCJjEs&kX zF%J5~4AyzoKuEeib#%F6|YcH?Jo-pdn-xy?5i{HP4Z+00N7?NrqCAiy|>$OpQ`YU-g8{jSzz>3?A*X%`D-1n$(9RF-8 zd|dltDNndV+_)-iJZoj=j(r|0e}S`^35&xmYvHK2={#q9nO~H0vEaE9UA^k+sO!A~ zx12m@j2*X}^n5+JkD1ZJ1XDRgMoye)w$oC*5f0G@iQ?Tj_yzaswqXOg&Kg|Gl$1}e znS7r>ec8U`x{rTczbopQrFWKAR@3IN*QEKuE@%!5vT*9IM32w-uJX~0h4g4u*Vxw% ze;ez_Wg*F)u0bnas8A9y1%AoS{yg#TNICGct!;?Nc1}Y>gD8cu_5jERAtOCKT%7V3 z{JGUWIPwN3Pa7;I;|0#z%o2oH%=VuGX1YB$y|rX~@o}BaD-lE>^&mr*`q=vxS7&4I zD=z$g9$mHR=YReB`C2V}!+!0M>v{EVX+BxJh_}$hZioPBD@N(W|deCi1<yXW6^9b!h*Pb}l-%KqHY&g+H4Q1>OO}2Wj8dd}LgX z^k?@OJRYc(S|{a)0pyolTf`s2aqy=20STB8Q`L_iS&9tetOw2oIh3%m-$$Q(r)iTL z*U>80P8Iaz+^nrD3xs?v{Uu0;oTlbt$bC=hBglLZsDhQ~k+(EHeR`KN4g> zTwDyU?aTMti9*I>&J?s*z1p8#s@8$mtTjwgA`EC??yv}WAS^&Ocfs?_=618lFFu7W zr9$aFML&JXen$&I;{mi$b99j)&oXgSy0=7|oO5QB>Q2b64L)ASqBQ1>M8>qYo)g^R zNC$Eyf#Ai93dvnFlt$*ORJFLzoM}n2_J+b`o$GD?-XN-%JAWW^zrlQG@$RVUgCG|X zVwzivXYb9xY8um`$mP(r(4$;ytGO2!XZC;)Bj`S6%9Cwjr6~>Rk2TX)O_9j%G{Q@)^f+TK|6K0W=bHt<_mQuo23q`JyQ;cLN(8;shxzKmAE;O=`U_g3 zYw(E%Y(CY-Fd}Nd_T+*iT(e?KAikmyQAl*bC^Vw%K&ji8Ev$f>puv=s{+mlDwO*TB&2P2z4)z6%- zDP6V@Cjq3yfk{b8-%kM94GIxSQ^p_lhiUZj$wF zG5oXad0#pkYX32g77HN2q?A3D;iu?Tw$l=h!So&HtaFI_x<|2$2gl4tdW%b)9>*7T z?Mv4LMQogW4cNiWs9F=)X0)1(6gzU-bIX#ujtdy8jr^#K+2=T#+MZRh(Yb6$$#^_W z(^4uBPE!NX(N616cLzL%_kfd(J&*`X$G7bpEG}g=q+@FV#x&8gkP`&mQ$ht-x^>?f z7VvK1OfWXjp1zuf#gN${C*Yeu-G*6$;|))O<0^H8^nYQHBX#X>18C$Du_=_`I+%SA+3`#RT}&&sWyOrSRkM z+V1YtFu0;9JvCL74NMdb;}t!KLBN(y5dLe=?jUarQ)=>7$mU38PP}9mSTz0Aw6u3v zQKRI6U1eovlj)$AmUzGLLCEhnAhhrL?HnoNFd<@RYp5~e#^GgkSU2FrwRpX6Y;&oZ zj`=8l-aDT{Hb6^(FQ(pIG*e>Z)H%6t_t`!20XT8<-q3H4HSiL-ck3bRo5;hM+4ITq z>D|L4F}K~<%F2s}kOQmh5=8aW=3YTicD-4QWBIV<=IJNnO)m9=7mOf*=)v|fSE^GJ z9*L6ULQcTzdnapfQUq{!xKwM@+uPIAlZ}98c5!jU*hjF&oa1R_CZMHs zNM#$p_s?*OvcPHkVSY)_46O9QvR`z5@;s&6d+u z_TipQ`fUIW79!l@?&bFA_99q-{ru#eyyBQ_P8y@4qodebe9io@@# zh#4AL>l1Ro<^|8$vP*DwAFCBuS>gpi2ooPSZzwH=X$ZEY$N?vP!;tX<4h6QxGU}W! zhw%eX%*cbo~G~PBz#=T*e;Fqs9eJsjFH0)0aG1|6q1}^wxP%qaHe7sH8>l=!4 zCx2Yt=d@Is{NG*>pcJ+czje4DRKfsl*$y0)llRP%F75hY{cJ67ZEYRaJK9ogu$X zv>=2(G?{{0571<$fF^x28BGW5H&U@(i&61p102H)`3mv*(Y#T2pa{$+vyj~y4r z77Y-n4N4u@`nrPVNCdr7Yi!@>UaQ@uKYirUd5XSfph*k7d*F7^|M>U$>HPWeU?c|# zmU%K+tM@7p&(4VYnENEf)?riB{A?Yz-da2y|MmpRjIzal)Ckp!I+z2baa;=l4paQ& zp^^wXttE;bSwLer@y_}uA|bR(OhP`KlpRHp?S^x%fqhS9ap1U5n=%$^Bs^I1lqxy| z`;E}WDq&A4Do$a7t?%MDd!}4-fp~xhKjt)V5 z9nDBIKOdJOY9ymR*p+&@zEpJLykL3er|-h6E`yLoxx<29av^9GpSEz`)ChZk-q?;n z_6JJ?YY+q1Qf4nkO0UOMLrK`4P|pay_b`(D*}*FOY8TN%8($dsY8x?BS5&iC+4XIu zUE^cdrz<%vv?!;o)kLTfyV4*G9Dec~_s>B<^Q8Rw4mw@zm*;_Z7|3o8zSyYUs-xV$gzF}ZY-+%I~lC27+7&cJE`NFR|OOH1&FrXIy!%&rgt{xus6%sLo z9MjlaRu~*dy#Jm}@E?T%PcN^Oi92J6_bN9&i@wN_Bs56(=7H-0@qe4CM9PD+C%pp= zkN>BgyzV*#!&iwd`tofX2=(927cizR0XF&T;*fIQ01UopgIB#L5f9P;*G+UgV4eKSFfhhRdc=&`@MJ>^QDn^{p9(AY|YN?D^&DgoOWM|xWtRb%$OGt zR_F~yUe*$}la^qTYP0F|vJ@oPmf18{{(aU4?RLA7q}}PXFt5GUr}O5nWbk`$f2eA; z#l|=EA4GGsBwpaBH@v5j&dr3P(Yo|`6*NxgKjAnFopJMI2pw=ed!@m@PZ$AeCrGc$ zxvZ@xo{`SW-+1dA3pQ?#!0a&FQDy;M+09*Bza*{d!aau?|3bjGH-7}q4#K{!SS9uq z`!I3#_*Y1fhIwD@m>%c9EiIFd1Vl*p=s_clEm!roWK|6RePT#`bz=%056quYi4A`1goh(L zY?&npmJ8nNev+PbMf6!x8`>nXIoA?oYuz2XRtdn$Pv znO-3twv`030ucJ0l-Cl$YF8FC8IB{s^=iU6yRf_4Bv&l)uM-mdr(H|&Iv!1lUEh$E zEl(_XIO4~cG*w)9GQMy13<*0Zfu(@P9eb;VWU>}FzKiiJ9QU@`{vh2w!=O^~>{q~| zm%;{OAfPDI21vD}UoOPJASBT{DL^I%SieEA=|$g(^CrYySW4nV`LewSt}KOcdY!8@ zA_fnqH=%(TLcL(_OGAj>6pS^IF5UhI2e;pU|2D)2rN0j~_DJxX3xRrT0(LQp_JO$v z7~XR_Z#skD@~}Cj1X+axWhSe&4>o^(r))f<{^)X&Uz5fvs819#w(cCbF1_6Ggo0f%&AFO{j_tD^E* z{k6yckrLQt8Bi%RuT@&udCmN%ZyUCpXv?Dj2Jr1gfA~@#l0ev7F{|jSJ<@NQ@A2(X zJpK=^EGK{ZpYoyA7+^*Q0t}4l5(nU4Nh)jy08^^=QZESqYU5!$iX+;FsxO>}G)x@+ zudz<(349{JlO2B~e?!Jd;vX?M8vKbi8}NG0E?Oq1?1E~EL87?~da3Jq(c9S8Iefzv zwEHe-$hS@fRLTryV3SuJPv$TddCq-#0R(J^_#=Z8_}W9|X?cYzmd}CsZzg{g7-sPx z0vKpEODBC#bAH*pgn^gTr;VdVqm}q(YfI&T|fPns|8YKD7|M^WW|1WJFT_O%4eIy2Ez8OPz@ahR6 z$k`RlO3rmafD3IbYa{A?=_A(buAB?Sd1*TXpZ$s6?8RXDQfyH;2txt#{>Oh!iU?%h zwpdz2*5;KKC7Gqe9`AvkyvV!T>Gdgfb2%8xt1olNM^* z`F>^oFt6kA@=~5ndL+6r)H%Kx8$2!&`fOneDS5UWk_A%Yz%Kk-yD>@_>cq;@kb0o= z8@K;|0Dhxm`;0ZO$%9R-2~U|onlwWOT~y|`_u$qJ79F*N=C>JI9(6JY$kQ19A2N7h;gwYcK&+JEGy%ct3f#EA z{TtOtpm{qG?#{|`%`gg382$R6S^4%>%pCtncv%bVU3y80 z>|qB!w*{8$|FQDu|9VB=a>aZ#JGJo$yO-Ftg5YkN>4j0^x<7QnW7t`;FQ3IhB(m1S z|L4Gz{_oKH`OONzl87h>CC6C44Dl~Y2V=Mi{Whhk?@RPOBFr_JvHYKU=I?Gh>x1xM zzpSv=`O*VUJi#w&S7|W5p2v%i+=$2*8>)kr@DalsY?yGB+jNezm`${%fp=bcDibj9qg)LJ-5Y7I1Msj=@2 z`0%mlx5u=HfwRU&jy9^H(XvkFBv~5aL8C|FSq(eMMNg16@yPF7HED&3-YHOhkMt>% z8g3Hrr0*kroRj$>5&uKV{;Ua{h|ANl>LVU2Z#l&}VDNycNS zPg3RoA}q^-CNmox1Afy$#^oCmqnub9N}hG|ZkXmA5L2T#9R+{27`-`>HAI0B31_5$ z87XDp|03ck#vQ&-%+Hiunjqb>t`{@-?9W;7F9uY^fU>3{1*>xl&C`sx;2H z6;U5Qe*7yPktK%+7xrU}(#!QG=P~5Q5Rkssz~WyH4i3g3frK!Mh&0k?4u76t4$!F7lmkFeeozsQ`N7`f8XE85 z4=)7zs@-PL0|tLK|5n4Bi{#;o4@~(SN=JaofuyJ^l~JO#u+fT^P{k7qzas$0_`EX5 zw%8NaCW^TFXShq;6(5(6C=?LhvmT8<>dG=>g zv}7EiU{sy_{=I#(ksQ^0u7RkResdwkIF|KFs%#c=xGxf8?WexdJPXnscz{I= z&SR)^{v#QLx}g~6WQcj82Z3;=oVgGi6t51(lvM!|?n*->^PDA-GG!GjrJ@)VqL(tt za&MS)ztE9rVxmhpB@x-0%|^i6DA|{BzXcLY4AQzze09GkrYWDNBJYIm8h-L9s56f z1sKun33)dHa(zXduZ_yYi%Tu$e_r)ZqVbrzW8S93Cih!)#w5b1#4uE(0|MSu!M^%R!JVjLEUU=4rMR;W#|0tAD;FEP;)IH)|ds9@Ae3^o;x zpa2ksoMynHX7)-x{@4rAxU?byOxsW~Un?h#fLF)0H125g0`WCw7dDIW(m44z8llCw zBp)Difs$IF>wJPSaBmNcQm1MzDyc0%I|h6+j`y11Ri^~+MjM5&OdhYU=4F@)iA-|C zKoAD3(q`%COAOmK29g4VV3*^KM6naXBhKT7*OG^-)RGs2nq-+Y?I>`0o+Zmg4DhtW zc(=D?QLXxnCvks~zWEAav`}ijE*6!r(BC5LOo&%S1Ir2=WQydEf-LMXD_5LCPBf^= z%I*D9exO^zWP2!jdorInyz=mPaP+@5M23}~5nX>%GX=9!UOsUyMY>o?-EBXP{BsmO zHEKX1%TAS?3_`Em7b^)dZl(HgID2pluG7k9!dJGlZb2V!@1wGeHL&WRnS1urr}FUi z>yNU`7sP_=5ekY=qSur0!e!anJJ+0@*3@1?(wHO=Kl^Iy_QG`$s#xB!nr53EPM#5C zv|}(*j(|YnxRLx}o9qha6tU15af<4x7_Vo)-M#sjF!-&d`Rr^uU~tgJcHk)>ClviYL^Iyj z%ZujY*o$v0@2sql^hniR$S!Adl9bmp=P;4svvPQ@~n=ooHM!I;8unJ`EGK3g^8 z*LnOmsIZJE@H5Fa5E%@#LDx z$*F}_3CEfA^R)60kXK@DjP}}+e4&f7)##+*%t;eX5fp5=xmEzM)hE~vf;P6x4onSq6$#HaTt*`qult^Ty^TB!%kXi;V-2Xo7K8~ncDecVuJ!A(| z{q4$JXT{ac4aDdOV`Dpu*!Q#OBds7t6x+Lpn>-2@ZVrT871(o?j=56Vs;XI%pTCv! zz>6d#`N;Q<-y;%W>|zb|3i$tH{Sh5OSdK;uYob~%WYh&IuframG+y1tWWYGN%IWsR5o z*jSbSsUgEHf}`gcTYwQxv9)*5_JVa}VLTWDaDL=v7;Q9EIxMe@wX4nBZ*U0-HzcAw z?eBvyT}9HA2eZYnnF-?hEft)*qcuO4eX>L`d}SDYM2dbtners5>T#@tr(h^we_%d z)V5n;Ex2E_W7w&o{(XH~>P;7x5FLot$}W#MbUdZALXfD5XUL#h-z=7#^X+Vf^dgPf zI)5Aa&Mq!;MY#iA_%Xxt@jettjZWduk!5Imp;8Pb{s#+iyJ{Y2CI7cYakIZuz;RjG z=OU{9^3P3KuC8wu8|%ues?04|xvGxz)!^&vI$yIi^bGZWylsDE>1?%U+ zQm@lusBqgXeh6APpRmteSgbupb;&%htL*)k3sxd>NftF?4JspY4MQ zqW{W^GzNNSUA=&WG!onD$U2Sj#qbaK!Baix!bd$n?_W-ZjT-M9(q^X zsP|4)3RrfDtNHIGc(mLuEM0Y_-rN>!W_c_EQl2}%L%_l7py4nO2*c{Yhc`vMt89*P zh2bq{V=9t4Nd-rdoV;%w96C)c2tTAyNnNic6%|Q?R)7My0if7x3&qcQzk~1*Bi#PZZMMC-ZRl;JZ)ke<2OBD=b~9#bD^8# zCUrUAhtKEZp*_CS+PW6WnO*C3y3y68FqB=oFf(&DZQ1|#hkZ4wtE#O`9yG8R@ z*VjLct&6zCnb|okHijLg*)%%{1Z9n zBdk3h=4*=^CKr!cDo*aF^c+x*scF6=^0+^_j`2jlJIX9ChtPctD!MSV}t zJu8EYZ~+3$NCHWEx;O5Z%md*zdy^LzPvnYUWJG7%!f&hQCbdz!8Z8ez7MF|z%{SlT zv@0+(-4(fM1z@l(sP(MaJ$BjiNcjG^I&{>k+T5hl)e0DFiQUPkmO(%4x9wlQZZna^ zO163K_nSPYLh8AjnHKz$o{moWtM9K*)_U12j)C9bC-2!FmO3NIPxvUtmW@nur?em; z_(dM`g%o}=+Samr#`D1u)VMq=@S1V8HKiDN#RjZ|Y@28O%a<=e7+pa&9QrM9WE@^~ zOJxh6PptaipXO9!3RpQ280Z zo&4++gOke1J@VwvqGQ_A=}}XG>9Ax&5Nh3OoHrLP4hcJ{3M#QC!MM5?5B^1{beM_; zrAv&oGzU}VX9xW4{?wK~tBemHt6j{t$5hvF|Lo|s1X*VL-CSq9y*WiE7S}R1 zz8I19x0y0;7I6Rmoqd1bFwaRe6q4LslaEDrx>cYqi00tX#DBA0lH&0 zHsbEv1RnluYD?W8^O^X0Ef_93-;_w6b7^VVbw;f_4FCZCb-(HTMN#TYK#QmeGi%n@ zEY7*`0f0iKtD3pDmLppf6KJ{^Xp&g50#?p6^>LpKOVo4xR%2T#A}O z-nHe+M~9>#yEjw$N?7vwZ(KG8@Kta4DQ8`e>BqQb-E1dqx1hWTCP61I8ml;peYm%Q6)(<&~s8%RDAgA ze}|nSx}M{;krOkvQT)P*z-@hnZFgo;eM;y-lnD(;kt65>~9y7>z(t8akH!M@QdX zLr;dxGC-{&6u0?k@(Y|Q&HLHUwcc|r`?11TF=%t~Nn(NyCiG6i71DrD*u`H>2e820 z%Ee3Fd)lME3F7ChTc|x}+kM?GIXYAWlkw|=dG7x0u%<<#$86U2? zxlX@-^^N7=ZP=>T?Pd7dF=(Bg@OaF_egPYrYz_? zay3#HR|broS}_4r9qQxFT3~7d@-~a<0-2@l0t}48aiLD|^slEqMn>;CDQ&X7Hni27 z0%EJjv+$|uNux`)&jo_3v*TQk0 zD1s6yyph(f-lR05v9uR-+8pawtLjYeN9C!RNz@UeZ*7Id-}OK7aF#l#UDfv{;8Vd7 zaXt_^>GAp&A*AIb6fb!LOL`rjS1O&_a#qAAu)Ue-G88U(_D(BK;zB=Dha(FT^U-)7 zB@UsPn3wwubGhb6)4qc%QAvv1eIBvz)*I7XA_(Wil#&1mPHo=vZ*Vnsd4WZ19N0)z`F&g7iHUA*$( ze4T1o$Ni%8flaobDEk7D&B$iUp6?-NC}14YCjD@%l1kFNk}AbW&#-6z#`uS|F0bXU zU&;9~ACwcm7uiJ*uX^r^*myS{Z1rf^Rp!XGOwk{Cp-E!jczDz#Wkt3GqcQxHYO#KvgZ&qQ`B$^?44S}o4c zWm0B=YeZVi&#tT2)FW2yPijE#uImsfRFzHhvR zZCxc_kFp#LOPmg<@HLK1ExgFBZfXMCo7kuFIu#|o+lYqVPEs9|@Q5LJ3<&B}Y1h** zXDvjPquMyLoanaw8+M5_!z9ThZU^8`bty+zq>B$hwye8X+wotk$JK4dn@A>bTiEHjDU& z>DJWa;kS=#H>d6~$4ToR`rqW(=5W$Hx?M2iaz~G|1UzO=HwITThXT{IUjx>ZLbQM% zD$8Yx;oIxeoCj4X1F4hFd{w7-DJEc5lEk6DF@FP?sgSN`!jR(g*mf~48huZ#bTty7DV|D+atf%e2L@# zRR>sL<~|EFxy9eVGAAS?JZU6y>M6pJ+r28VW?|k)y8_(5)*r|^I9uQN&&wj|VuYc)1-aAN)2RJFL3z-#=`fZI5qr zsl6^~dUjC1y9i*gxE{Nu1#$WDp}1&gn3WhKfeJK)LPiblfCVM7`6%kQ?{33cVg(v1 zmBdWL1Q^PK*kse;3&zF(KfI^lPAwL7r}P_$xIIm$YDBd^$b~nMmN2V$bB?|DSRfwN z3J?M?ZZO9O|9ocu<_+sQFfGLU+jwmmc$JXn(gKy*Rr0`=63j+SK!D>i?>1#TU&*AA zC5|F3iPqa0q>)O&g`1m3`FIjAiL#Un+xKulg|9_YodklYClqu=BUY~3sGFe&-I5mq zJm((Gr}S;W;x5&pVNngn#d&1lZm4hKHH4n>#4s$2@+pJwndU&!G<}~2^|h1Dd~}WZj0LfSk-#JrJWC=Az``F0O#WvDIXx=BtZ;3T9w(WU zvXHE}Vg%VJsEOK@`AjA9D3!GIm~)THb)|p@1^P+;3D`Xr1pFG|2jmP|0j~-Q ztn-yf9pD{6ByM>pwHhO6#lqyL{N>em<&QluG@T-p7by8L3nb>^oZ!uL}Iru!D`O^SqW#3j}|DR?9XWYfWhnSu_EV50U(Z?2s(9| z1YSRZ+HFA5x|N9P=;}qv%onEB>;>&Ryf(8Gd2OZvwt>VGP^U(2bMiaP3TY2Y#$H^W zn^W`Ft&!yqOFf9YRkD_&@Q~J6_a$RJd*&Wx#AeCGKeOjG*Oo3Xa{zd~sG+#<3t9OI zgz^go8$`}3$q)4-e;WqSh$i^{I9-SzQK?GU| z4I#nT5D&cf=7xr+zECcO^U6hHOg5;%0mxT*%#>|a$YymyC^3z6kp!nsO1(eJ*iu)c@qTCLz{Yi}AifL3OmSM}1c@Wat`s0G_(F5+z`Jzky}70PXPtkI-zxc##FN-gb+N69a<<#R z=A0FU5RiiRE6%)``a-!IVt~j}j|Sn?h^8}zQ%sQK>a3~K;?yo()clCt#_s99$;FCX z`m^!;SkLdOozcYYm#+Tfuftg`R%p^o?eXFV$D(SI>xH&F=jV<-zZj2h{$$$^{Z2$H zbN!v|Jy=G=3fslV2J*@{BA2&tI;U(L9@Azc&uD(=W6_9N%$6viVg-lEG9LozQk=T) zj<%kO*Lo<&Vt?}*R?9MhK(u}U7dG3!nPVUHjoY^x{`G7VZ z>_QZ+1gM+&Q`e-)CI)};6goPPdqd+((SBV6&A|nPi|2f^(PUbsbDmj8V^g{d0r7e- zdV~+!{BZ!TlPam?>Fr>!qQJZc{xjpP@G>@fZh1mA!QH8^-Jh6@Mcvv7pKI)OJ#u6l zK(ox>j=%}D-)c={SCruvdN-k|NJy~e?}g)QB`R!Xc4t6Fu<+-4{?lE47$CBS)8Z6YB&D#{ndpvYMd zm;y(WKeF9gF&(AWlgWofcX?oFQUP~eO&_`a*#I}y_wV2Lw23;6byO|+oDKrJ*X5^E zM(F6$oIpnUbFv2)vB0}I0(2xWGC^;*s(9#BH8bi+uGr7CWsaA+%1?0&^I4VBXz!N%dt{8bHl=Up{gEZHKH^2&XvW@SS6nR!6 zb!SJge(2{RE4|88@Oru_uNBEDa5mQpCW&_$>6-oW>iqZ3`KLJjS`Bw< z%bqO(TBo|{!8QRO#p&YlE5nH*DvoSTi*&YVzuuozt{f`1F;2|#vv7w5`Di(L8!z4A zgA^_f!qFFWm}r1YH!p{ut5B~_(qmD zV<$PEuRTDH%4|kMf)>CX9WR1aW7u?4G&+hZ8Y(C%Zl6svc0=zmFMWw0O1Vl%6;O_P z@HZR-Cxg%I#?E$jZbV!*#Ba6=s&ZyztbqNKR9mttl7HoS%e922K-u1=*~oNR%b#_= z%lXq>{rb%ue}?|K`H2bJmZ&Jq4pGPH5ud$EMGse`A{`SV#;b87iMU$M>2*vf@QU4J zUwJH?Pjv&SxkPH_(&Xe|;5$!YNnubH#OZqsvL9XY6o>8FU@_>ln{dmq|(0;#2RND%%?@=&@4}-d^6&nRk zAz7N!NMk@qXWoZ48dHTBIUTaqW~Y_5blQ4hOn;b(d#Wm^?CI0H zP5*l!Q*VSi3ctk90(!4#W#Z2SLKo*Oo7V!#oX1|0l?<*7h#H5z3L&#POBm)d8OZmU zlretQu?*p3`#okr6L&_lGwToQA&rf#l~4;GmqyC55fhzb%lc{k#y!1tgs|#R4{DNS z|4ls&jp*nAyFR%;1AH+uNXP*GXYDYCJV9fs=a?@*U=G^A6L{9eh5HcR@1;z)$+D|j zf(Y>dIOcDEawG( zHH&|i_h(Y#VIwik-*i605jjI?6Ricdco%!_8^ne`XEdHY04F8!GXN^%4dlzW1LNxb z;}`M1dzLcX0Sh;~rVr_?*MCoBflY>9V1UhHqZj3cdIBO^2xqxC<1Gu%lCL?uBDRth z6cqF%SAipF2ML={{}8lHj_N&z7Ku`*=hBno)&#j4ru8Vw~Ltilw zhiS&p8lZfTgUGg$kQR%#adk082(V|-NMl#wb%F+}svz&fj|{45 zH-`RA7RZIS3zG_+0>!pjX{%gmvWb0`(JT7D*;O;219oi+@k4;gJB>-JQofigjSZqX z2SC%lySas`pNvXR5|gM?_+JKMGni>`#SA54N+&*wE{YeiMtGWSLCFJ-Q_q>$DOXW} zqa$1p>mG#|#x1X=ee3VeXv0@ERqDVh=roE@oGoVV`(phg`bD>@)8c%Ep9Ikeu&M+) z7*$!}ZoW`%gW9_l0_W}i`Gs_9GoSWM?6H3ZPD?)%d@(0w^IQ0L1S_oJxa-k+WrmY# zYpn(*?v{40Kuu-gIE%~?ftuK0V>$tz7@ZhP7$_k~Ss%PdYrz$KPqzi^+nDK>D2vr{ zYCL-dL`p1yWPTy+93xKuTg8{=_hz;e+wNXIi*nrC=M7pf(|OQO>q4)$+M3ynYTXlm zyVj1EsXki;Tw@B6*d8K^;wdq4UH$#sx9_pBZo*;jMC|&`Fb8Qcu#y;B*9#-Kl9`M8 zp*RW=$_fG3MR<`IAVV#XY?oSiAx|dVe2-QCV2tWJh zA)GHV+p@xt9K5%w-_tM*NTS{ajtvB2JOkNO0z_Cv_{^F;f1DfR?X+Tvs@=c#d_YeH z8MY}Smlwb~ayFh?c`dN3MfzAn+Yp}8{k_;BTMkDaJx19}Ud5Ma=fJ%N^U z=E|!+(nQAZP;^a47FAz&wM*-pV9inbNKW-~=BNgoSWK=9vQ3kAZbeKR?Nxb^;kfLv zTj^`W#EmOLS-44yZmm{a5`wZ%j3TI%ezYj+aJJ)=%D1qkHk?s6SH>35sDDggmyE@+ zLJ?WkPOP!TdC|WjEay!6as{2j%h~K3%(AB;9;?blc8pJm?Z_n^dCOVpm z-fv7v#n5oj^eG%gNluq^=+8L3KFsIfn~IB7)275>8h>6;=)z=8T|t3?iA|2AFXUD4 z7+Sg0#;djnco~X8RQV5w-SLpom-Spmh#KH6yOvUA=D4}pGIRUL=wX7&1B!NZ3VQKyobQrXGta85b zVlogP1{6>TLE2py`FZ_E*yPOX+q71)G{uy=GfPw5*T&8Cy|uldF_QJp=Kil&6(BRF zZK84R(`a^iwEM@h++^a}fbMqIWuR6b%ON=T+x5)yVG)V`bvz>H>f~Yyt(vaXRA}y-bt-$K1lKm*?rGdTehxqbNOq zdgtHvH>P(dsl<|3x#EP>!M1u&4@axID@ZNIXWI8(SH76$xd5@RH(;XdhWV1N^1@Mc zqg0eDEc{x&R#sApLW}LyqL|l!2n@6nlDh6y=Vt`Y(z-qp5h)nH5}m$q?&uOKAakxw zdaLqOSu53&kBX|VW00(UVoHq3KOk{Ou9Jb1XF`oRM_^(~kI%H3?mHx|F}9 zgmI0%!Hd|mmq$nK8;azxyiOnq2JBY`XiuMi9BdfXGE+?W?za1qN7%f_n273(h#oNY zSyOeoUQZo1tq4f#G-ZC@|KvwOJ8&wYXGCW;Gw=U!H}BZ6|7?=s@7{#tS7$N4*rId) zlbQ$X=FbKouNxUd3@5fNroB0!MHOcJ-;Xu}p%PIVhfd>TO(*1Ups8bkmU5P9sxS)XyN+2{xU zdlc_`c)gB8>E+n8AGeY6A|vCu>!thr`48`nfeb0P8`YD0_hH|KraSTy)lWIXb)QNO zvu_!gjw{-!J@2H;GJ8d;iBh|%oxJbl9&xAlDO6&zs-UxbnQv%6V%;=3Dos_~vJu1?OD{zOR0ED!UusclAE&pF^Ip zkl{){JE1;&_!S|t7W&Ewn7FNoWne%Ol8cKu4)~1%t$PMV2cyxwy+tGrbgm>G zde{4(Hasd(b*$aI7n^dJKbjJI8=rjj;Mz|wk}8N$8_gQk-+BK0z6Sp07M*y(dwQjM z>dTVML+}dA7mbdGxuv`N(A4ZVZ|zK4-VIJ(JX!znOI4YF@Alx*|Ef*pu~-9OV|e?7 zoO8AQ7*!8b+gAKpwp z9nN~byV3H;ZFOTqYUuq zGfghxTaem#n7?W2^4!I&{Y>TH;iM}3t*H!fh$jPw-(REPU<{<*r|=pp zBZCdqZ8#NWPNxgM>)t!{00!DjOJ!K31T}Zr$VPv_#DHSxBONC$Ya!5)uD@UNJz$X2 z-oDWj6S;XcAWgjNq@l_Har#!n*w^iU*|79ZJUPjX$xJeEy25=QSS!~7Jqnh{XJ@9n zvDD_XP(Gi$AD>i=z>{Qa3AO(_(Dd@cc7zw_cPoHyq)+clWOuc^yrkM7P?Y?h zYUGT|%P}yUu`Ca!L5@%kKi)MuyZ*yBUb3>X4p0{if*>E>=zYG~0J35rc|p|^q`O$&0I2c%L%>xu-cnA zAxKy1vX0Nl_x#u0#qgIsiUDIiy(vDwV|;NzED&=H@wnV%M!195CmD)Jo;^Df=e`NsR$_`wUh z9RPCn7He7E9kj1@!v?;gP(Ye_%9?e{d;q*FXI2znQgA3%Y-xs;GDWuyS-qJ$;OcG`Ajb zcQ*%bH_v~_-~SD>{wM7kh0gFLvvOnOp6{#g+shCCdYJzSg#FLY{vV|5|MddlWyFIl z#PZ?Gz!%;-@4p;zo-pzsR_))v|KAVz?kDR*xK-D^ahkF5?fk*xe~rR_KJ33Q{vSu< z|M`Ode!H8?f8HtoKm6CfIpBXk-R}U!d*a@hy9P)@{YBk^-ai=Te?Y_kzW9HnivOQ4 z`0uwnJN#!dnEiw8{pZtlqQ?LE_q*SBY513U8O47N?En8*{remK`|Y-uGX6!Qw*G@6 z{^!#H)9hM`P4MEdZ*OOI)7|u6Wa)nn?Ef)VM6P>NDf8Q|qRw>=q^aHOCqTX><_vZ? z8xmz#Y!>>Mc^1}2aI*Nb&ck%U%^_p*U0cofylD~OPfmPxJb!y$^W(y*v8CP*x|`%y zM>muCYq2J@=bN2N!DwmsYOfVUt;A3{CJ>RipyFNi!>P_F1ul{$LR_Ax4)~P-urFP% z(CJ3tc!!Dc-`)->XC}t0vHR(_sZ*Yo4IA$M`&0h_f9UkLPsf43HlCTl-mj-aJ#`lc z|Middj%|bPuY6CPR%`P2qCWzOz4UgDeO~kCz|POf4nmFCf?hh*w(j-7w7}>eRl40`Gw%<{FY$c2+$i;%z|$T z0`kasx_DFiCz$ru(El=2^7il#_u$^sMiV}sEEpSLFu|L8dhJvA*MuN2Xcav?LZ64D z6NZ53u#w<}9x*Cm_gc;Gy4gVN`jso?B4lnt>Rd3ESrDtZT=S7ZI#Etk%tFj~OerXz zukL^@Z!9@tP7Mn{BoP8&uXQ6?H#CY|@lae6%tGyHxu!3ftVzAa)gsXWbE|94_0A?a z86BfrPP5AO^F+LT1;h~C5p7c5&(T8A$8vVC^a7CXNJ_`(sAe)BA0Hzf9UC8LY0l|js1VByk((Dx(D3<`yzzcRK~6MoJE}3`?A3F zCECSrhqzrcsYqdlh2tK$NpVix`JmwVw*!1+wlM3oawlPNAt4GJj6!^&K%WT(VNr6Z zc{+GrDf!E2zTGU=cf6!%{g65IUKRlfvXwDjGlJ--b_j*h=rj&`5R{Ev{y{?+if3HF ztdn^B{PA#AsTwj8MMxRXm=$4>sOB<{o5T_-LZ1`?DdlXkCh5T}bWwa>g+fWgvXP7i zhy=8~?+t_*pAMIlCTs|;RNzStf_D9>1JX~l^jk?XN%`jK;s(I8~z zb0Un!IySIKlgeD0JOwXxtGBTFC6@vS6U0(CP8AFV@h^b6B4a`agk@h)q5r=0rqQ8g z=UEM~2oAoRFKb06#I?!6o2__JT%;Lkd=3&%HqcfRiBYX1qenSyP2-Ft^%y?Ia=nL{ zZ7w};PX`)#ywuaH=Flgp;)sfhnwH_ANWrfwr&O*Q?BHcfQWBuj*F{6XLbglr49W@C zD)zwYC^ZR1>dEzTGf(6UY$wPbg`-tL;g(Yq6C)&%6tZXrh1G3H#WmJ&g-Q(}>G7(| zJ$d^BHnLpgLjHPSQcnDf2TyjUZ#eZh?_K|wxY(OiIr0`g15fy=0C=iw9E*Okp zPN;ycX{SO|alVtVjB{h!BC?`YizDj`r&-gaII3Li5UzHxoxZn4Qv|f@N{W)0z$?_u z=4q>GwwBhS4-6rNQK6n8G~q1?DtO;XaZeVBjxV=23*;H&D0fYLul#Y zguSAxL&+6q1`_3hDMW9ge{tlTm3cl^Agsb4M0A8pkCwQ;& zjK>-pyl?8gU1p4wG?l<4AIrY1Xk`XsECsa6z>YRa1t zSPS?Yi$dBs&b8XsKZ5yI)%u|ROItlo&n!cOTTjNuk~;+w1_?yqwfbYF)R7bdJOu@# zP^JjwEm@i{{10F*d;&t6$N3TxP5Pkss(iI`HP2NkaZs4)_9}XjwQ?+yqESjg6N={0 zu&B?2#pkyI9lfepr~7oYv}@vht{oQdUa|d*$t9*9t4)#_$4D5aBPGI$g@-GXNQ#Sx zBve7VDhM;JdqR9SG>iWzR+@E6xZ_kevPnJ2@2pTz-609J zX+^c&T!{i7L!VZ%K0p`^Aj)DA!NdBM4dzN!AfYboh0>m@0uf(nH5(i1;9-4I1>s=X z$3oI9T>0oL&CPyQFre!iyp=qG6w0*DCF`GMplG0E(A9_3U3KcTJWl+bxCNuQOeh^+ zIdgV>=dImKv73-wl}I+1q`vxVnG0Da1B*-g8Xag;Lc@u<>j>Yn;6_;e>QqpK`$BAw z^@S)1oP_u{{gGiNaGq0Xmq~l^0|x3<^#zn@@hsKqcs+$)+zt|nHB#!AfQ6i%S(jtU22jV&{R;7`OhOZofJK%ghDHI zb>b(^Lr)$*Zf8Y|gWX8g#&y^hB!e?HadleXj)E<=c^ouJ@03!*Ml!hpTXqsIOt9Tv z=3NNhhlF;!^f;B&<4RlDj#eVSE^szwORHI!Aa9IDVZD;~#DKyQybKD_V6YRCE=f@L zavn|Mhu~_5p=b_JG|3WW$rKaN-)N`uqesvcN6Mk~93CDfl}VfbMDoAicW?m8J7+-_ zwOm@%%mX}OA0VNlW+N~Fmrextu_o}#%GHZB%&OO~&0t1C82V)r8K~~DY zbNSmKM6Mz1fwZn^u4TN&VIFq061^688d#e1cC$lIiCD&9Y*Q)LnFL`GJLu@>FxkH~ z0;a&Wd`dJ#7$l$ab#ApPBPU!lKr^3>%QbBSmfGp48g?g~Z1j=8e_kn%fF9AB_oOYc zXFDURM-h!HgjB7;R%U#n$W2hSMyL&}1j_1VhvF@e+PQPB)=;gnVrX;Fb0S`%Y;Qqb zLXyBGj*@oeefbh6m#!eNQ?&<2&BdauV~sMRg*%mY^7PXdQ`)71 zZ<5fSkCUJ(_o1<7p$+i;QYsPY%6Y;nBRu0&V(glvrWwF63Ra%QuVwrI0ubYK8Ujp> zuSG@YfZSXmf(Pard+M;cP=wISX{yoUV)kDI`!rS@0v!_Gl(aFsDyd zpY4XNw?E_1K(tZx)!PhL zYZ=srym|A+z_8qJhlP_gp4=?ZqF=wS-0aNG!C^fP`cmXpaS{wC(K0fkh;H|?BPz@6 z&gINF=E@o+&wz)?sg@pL6QJr1tN4S&9U^I8 z;ornPU5?N>vw75CIPzkTD~qMisAoc>OK8m(j>Xvatw-K(=9Rd$fHQ|M?i#_(2W&Mg}(lya;2}s?J}L@tO=C^vd?tnQFq94`L>|4u!4SH-zHU* z)fhC}9#05$08ODARG>@+@7Fd@oqZ)hASr~I$54doKT{1I#rP`vCXaF_k6>HAlk_;! z^4M0GOoox}y{lOUf8kj)$5!qU4LbYaC>2-8423F~3+S>oK>K|pi6<-~YF;x8d5WUT}2kFC=Jf0 zzh)1q4Q=8SJ`v)C8nWSQC-#6xpY~NhjFNmNY3tE2+yD5XXuW7FSlZbAq!;J`+hlA! zUaYQ|G`X>H)1|`W~ABPW5a+ozlT!6P+j{Tc%^N zn^LTl#MyqVqv&AISfGpwqNNvpUT#nw);2)8u)Sq#qiP|rDz8cZl>a%tJMvQHr*yhli5E z3_!z?^#9aKq(LP>Nc8*y*^F`hocIBVe5VPTwn__ZZO3oUT@y|CmCrtXswUU&(aIEc zquuYbfb!H0@VO`#@Q}SEQb|dZL47@{2(A6pa@9YG|9ozg`4=J;pfy0=ADHR2U`;sgh7@P(tA5N3<04r znH7P#a`}K#hBdx6V0R(y9tla`)mT{7BOMrI&^ovn6e5OFb$QzhZqK4MLe1MruZf5;p&EB2IY#4U4 zJ4S$~H5)a@L1;u^f)jIn!G5^UONZWDy*b6dFaf_cjs1<9kF=` zyLuwI>+{R>(0AM~lHo4D5m}4c2iJ2i6e{PZ?}soZt9BeEp0*^rah9OvxI-T znCA*F<7Q83-DvR9_%T~$tJhdIW0s@2x|e;)4&IkLwhS*9 z3d#cex;j^%f3kYvnDO^e(GP(`9c}+m1L)~bTsvHClpOkwd$4t$gVw)f_K_q%B-m51;R4CFPG+>uO)&c*!FAcjLuWeUK(q2KBASES|xp;Ew)W! zPbH4_o*}Wz^tdxDX5xM5jW0=^v$GUB8EyE(A(zbTFr3yCX>MurdgbGFGwQfXnJ#eK zda1?N3?J635)(7LtDLNTCVYJC$n>-|=4$hI+2M4FDaZMJYom2HSSxWkk%sO{<;BB? zvk_2DXnGz8Pw>B@|G~H+FJGE{D!*-=*tjBe8=X$LDc>z4y2K%p&$Z&>d_G`mAoA{= zQYj!&`)1_Q^%NlcdRDSVgsb3lN2Z>j%9)@ppU1ac@le53O>VxwPeGL{XVANScznor zU0dUQ-g7iSd2@rja(=XyZof&x=$chpozZ2mEHixM)pa2&bmy?kk}#_H&q%TTNB_c^ zF>#w;HLCYrY$X2;eQ<6t`z?-I`OBoF;3=}immm7%fxD6<9#7JR8C9k|yJhJDLXD?X zH7KciYzEU|3y6WayU%$Tir$FdH999cYBS6~*=(;}-v%jaxVR`;5c&5sipy9Y(AP*i z%`KDB#E$R&C-_*Ii>qAU*$N|T`}C|=Gzh8T-i>F9c38lm+iHEeI}S3nPy>XH7nc(i zCRJD<{ud1vBMtOCg>2f&%IZ1-O|70H%wLt&bT5bK$}P|KP1sAr@M6!rUYm0xbT!wQ zcUoOrOMLWenbn-)A6I-@BI6gPEQTeGMm+@+kBSNtGaXOe>YT$>3dd*}i(2<{Mp9Dr z|84-&I9-h?13g`d*;vh;(Cd9gww%Y~dVZq!>=8pU&*g8c@+OpO(V?%rT*<|ZmGz6E^7>SpRf zSW~pg!#a<-nVjqjWvR>u#S@+`va$nak!qIEbmM2YEFT?_g>x z8)}D0^-f5KJ5m(lqR12WN-ftG?GzOzxVkz9UZnfH+yf{#zodS{62HALH!QX0D~K2X zv%b0OZ&rVXZtwrS{~U~nlFpb}i4P{fwUVHSg(Eu? zekA#^4&n3;m=Z|$dfQ*JLGW2dMpANqv5w$e^Tm5!hw!9OuBh(lW>W7FX7aO>{<6J; zc}n(f>F^glK%EZ79zWYZzQ3RF8TVS8l@7ZxxZJDIYOod2aTfJDDON23SxO*$Hg?!r<5lBMhqCuz6iicnCD>E_Bg2n&8rWoZ*gFm2~*#-C>K*Se( z#UpiGR}?oLjzZ`JC2o0Iw^G)1NsY%+zz<;SrsC|3#O;1Z6+}II7we8RwfM9&HHS_P z@bcc>o}Ola$G~HVWykdwF8_RXuUV{V1Jl<;tUC{vU|mWIq3n?JY33F3tCsqb^BL zzXK^4ui?1Bw-9xSuC6GACmA^#&7c88@DmqKSZnV2xq=UjKE3w6-M#HA#NxXCE4Ufz z{@5rQAojqnHjv$dw6pkjHpnA0QvB4eukMOyprBfmw}blQtmW3PXK%uDWZ~?`dG_Pp zcyfcqW#H@G9aYE8^{eZI04nf{6cwg@e~;}~78>9BmYM>;OJdh$R&4649_()|E+(wW zeWP7Af))4LiJh>5=YAmnPM7)mlnBg)9m6%D5fP@CCFMm-bY&V1-hD#E?wdUzqf6E^ zRece&WY^+2cRX~BQP3_j1@k@;o@;^PH;Jwzr8WbhQz=>hP$epdN8rs(sJjY@o3q zX<}kxje9KR(K1zBTWdKSM>8p{r$;qb1xf`LCaP6eZ`*I5*J0Nf=}O8gDtzvDa0XMD z4bV#x=noBLetuSTc5Yixvbbd3NA*7UzimJ32AL9@>y*UMPZa;eu8#B`cVUHo3;|Ez z^~DGih~D>%eZ zlKA_83{UfMwQK~>?hk9~dQ_t-gC0wZ5et%cQDJ@pAm5+y#qCv9U8m0}OWE;K zqG3r%XJv5t`l{B*9+bO=%c+gOx%l52gkAuU1GLl{Pw#)x*7n;40gq2%>B(GY_NDa` zdnc#1Q~?laye1EzX6SC&kuDk0Ns8R);^g0E4lQQj`NQL*|7W3Rd}93P22`(gt+l7a zv4&-r4Vb;LG-urYY`2kJx1h1t^$wjI5|WOz8W%;^wbq`!Zn>SE9Xd67pQWX7pVOv2 zKnZAfyEK(g;|_PrR&lCtYa6ol3K1L2s%!AsCL_7uK<&5$XW(_qX)_|eDGTT~SF#3K zS0r`E%Rs=Q@TR9f7&J)0L!SFsDy{YRi?QI-dF+|nga@}q)QB((C7h&)j?T)(US{Pq zO60tflAzzNNEh5ucAE|2xFq*B-{HQ|e8p0u<@IoX;G%eFL;$x%z-fis{VX>O2B+`P#R`_T|m1CA93m0xbkl4~AUMnmkmy}&nOE7i3`PXHk z+qKym$nxAnV)rTgKkl$^y$C>e7BZlr0Uc6QgcHHRUJ3@&eW`wSN!cMG2obbP?Y4a~ z9H?%|oO7=7^2jt_KBOWi-$RA2xUWFRUiZd=sN}Y+Wl=2;V-?9Ln;{STV8g(r>!r7n zpmhglf`Uoldr6H2`fyO$mBLnS%tK_W;rQc6l06nSXhrb|l}%iJP3rzHFH%Gy+`HQ*ZY>4muAIrEj`-~*q`(j4CF zcQa9mic27 zo=`Hy$W00&P^#HzuI%|FS+1WSdiN*H$S`g9#wY7$orGi)6E?E@k%$zpUN7+dS^fq; zC|xir%d+2U(DVM39@jKHn3OO)yz;NPc!I0AxR~I}$0u-L#(annGavtXaCAtUM5;#i ztwQ9*9HoVOw8ZW6>(?M>NK^d+ zy8C@mE9(h)0|O2Fk8Pns!<;*JyRs<}xP+nd^eI;_5@w{Eo^O_#9MjnQr@YhOD+auy zgXbw_NMNmBJ>xnvxw*R1&;EPA+}F#+#Z}Yu%~6>swYyxSQs2+mz<3JTpE@b|^h9%I1(Xw(l}rrPmx=V>L@>+tM@~`2!!mwTglW7F za>%u)I$r)D61tCM9cuSJB!e{rY2__93-XLhFtTlA2zw^oK+%I1!|eGK`?D$U%n;6; z==lI=7njX1Ik!BC3Nj5H7Zyp4+)yISQNT5>5NnjA9ZqRBcmBU$gu^`szq_BJ`*_|F znWwXu&4CDc2q;k#%+Wus=iI_uXPM*;fM1I27;Uka!-QtWCo+Y|{qu$g@;+3_G_V;V z!-*@zt&4J8w4hRo7R9<9VQdMj%16kxsZbt3=2{kh0CzeGh68S$tWQeaEf7mV<)1Hq zeKY;~k#?l6tSl9C4z&bv1y^*@Fk+vydkXoxiTBiGLapO($V#$jQ+}G!*})!zCF)dB zbcRpy%)@`>ELPV)A(%_W88G8nj`I4ufrO{esiPjPbx8V8hR!d!oan!Ea+Bb0yg>&J zyJdS`*u}4dsm(q_noE#sPUnjwLzII{!gPV&3KPB(!wq_Wg@Zg5UJC4XJ^A??6<#M+ zf!w!%h8fcXt3eguHF4)XD~i(YRmk z@~a&+461#(+YI&U*|~5^-&=iEBk;&jr8ZNX!<+ug18v*5aXSxgv~y)z6ro~jv`b;# zpH%Rl6SLr}g1^Sa{X{uNW*1ZVSW@|r>2b=l*!*-cQbbMWKLzCV03}F>TVVT><~5CO zev7)k0cxzFouefTt~`N3yXfb~EW653h9wPA_CkM2LWAG2F~3}`ROJA0RPC1%!I5wa z29*M4K-Iid77rd?GUa%@hRyq^q3+asaNiViF>UZi!xh0bK7E^rlpFeYmE+TBjcrx<9H@(6}#XC1EwaBv@Ug!HRE2SL9)cD$yZ&S2AwB3@+U z1ws-8dCnS54(5>WnV3d(jwY+@!vwuoqk(z<{=HIIm2pDR&zHFD8rH>M7KxALzV+%t3RTDs)S37lV)@1(Y&yQ!7^SX~13%@iZH1jG;MIdVxKGnTNhz+~G zg_?_CA862l<;#Dv2nHY8J-!4QDQPXubu-4ykf4!K3?t^jqwkZAFaLs9{erp2^h673 zo&Dxe)mR;2^dK2vzv|u3{djOO8L1Owd$qIbaYn)G^WvGg=JRmSKcUtBL~+VGe%y;p zka95CF-vkUl?#v3WiIPX-`5{baDZs!OHGe|uutD}*LJ2eAsyuarmKes=OZa{+0sJ= zKS;wxTwO6R;gpeQfO|p`Z3_2MY0ckPU@?a@`PDP|%jrSZO^!`1Obkz0^V`2^S^D?K zC|{SRrsyuE7+q=LaY>AGXes`AvFsyN7%PR*cF$pw!t78WPP!($4z9nw-+qo00`uc6 z!aW>TbL<>->Zj$&s2qwXYne$%iQub&kt5lhJ)$l4 zKIa`7%@+NRD+~&BT(tj(ZYAHtb;rzS`ivc6A0d&!&GC0K(&RIY2K7*MD!lDe-0X2Nw5P~z@DKEC?o;|tQ!Q&?}{*2OR)hTCfXRp0oXks_qTlh!?FrfIQ9}VC}{TgpdiIM1Fl@s*46daT@1bf!o&b+vS1QBZ7 zD=X6qHQa93e1yyzJWg4tHo-b43^G*OctL_{lZh@*~+_=>F7|NIE+V;Oq5@h+gZ zdNCC9hW`zaOsxOT^~FQK7o)jhx|S5JQt|FMdIqu;AR=79f#TQ&tmf$Zg~Koren01* z1A(V3QBRl4Zng9+K|hdb52-no#x2SRV??)7NFI9))Qgzk&!3_{Z<*tvJmNBvOJRW7 zvEceG0<*8^8!w!jX1qaK&|ch}LaWjC@)Aw*yf1lStU4-VP#q#3|$H|-bo{l7>b&-)83AYVX0)tOIyI;I>ZOQVN10A7Sb{`a)agRPp0l;lqzZqs2D>BQi-;6G&fv+DgPCTYA8jL#SFA46Z|dKm*l z*u+Kgy;wB$sUU*3;}{3h7KkLe{83fk$S`!=xuh*>p-WmrUzrFn8t1`uar{4Tp`Dj}7wt zcZ)8HRVTI_?LB`nEG{i3;c&J%#m?X!zifu?dLc(7A@TY5<1?e%WMN$bs_X3XvYa@t z0;P(}VG)&!^Yxm?guv`3Tq;wWo}ufd({FzUE5^MWbxBus`ef25hiyuB&b0f48oQSf zJx*I)*DZN2fa^^3Qe;RRaCipO$MMC^?Xv5w-i!PE>r2P$fLoKr2(}ON9q|6AE3H*p zsIaEDgS>Y3`SeyK6C*>o!>`(-@2YBv4vKl-5rND#JEMpy4w4|W>0^yvt741L<}2O$ zyhI9-ssG*AQC4upj(oEw4KiZKCe!yu>i2}0mq#!dT714Pn$W&ZKl3?*6>7e5)Vo`& zk66_MWVe?uU#iW2zNF|bWnO;I#tKKz3f8h~3Gdt?c{V@!1rOcq;h{r}T5uW(R2Oyd zeXNg&czv3sdO2AW^8EYMvsJX+3E-)?)MeDS@1KY}Dq1QMX$R;966$d$Zpz1DNnT)S zR0xO z_WC%v_Y+2D<7=0s*=Wjxzg306Nf_JvpuoIy1*YO8hZ{EwI1~5BN9i<9Bi6J|?)lkd zm&f<8pD6lh-Y@CW4y4<6=j39K@>uWw3_zqSE*5K?IcYqJ=x}nf+41g{rqc0Pan^fX zoTn`=q0VHtGf7_SjKOaD62JR1nt7`~09p<5fZf2`0V9(#(FlP3&9ie7bKjem)YsRv zJQkTHB&x_%Hz5qddLEGylDB6;B2jl-NH$1srS zoC|4b>OUrJ(#Rj&P_X?b-p3-FsC$2)_e@3%RQ(SrR9_*t<}au)A>kS zA3%@r-G?Ccc~y_63^867LZWfrG3?4SK3$YKq(69!1xfExn627<9}~3fP6%*G1FofE z;q9xgM-?NRbf}pQSs?w%dg%MM6gB6T7oCR>s61a@y$t?U$-2Wnw77d*sL<;WEPcjv zbI0NGh)P$GaZ{zBv1KabCZLk1Wu!CuS6RR2vg)?&a(y+~9Ck8Pm@&+q+Z0CNdh@}L zxjb@hB4TU2V1$P#31<33_5OY?jcATW*)yom^FZcDcTifGPxAs>wGAMDPk{SmMFrQH zH)gBFcww4w?9egas>A7mS!UaI;}%#c@{}-Yn+slTHA=1kqG;SX2srZ$I-?_364IK!qR$YMV?&If}_lRU&stFzk&?xH&rHmLQ64bRBzC z{&?&2>WVJp_$MAj&=?E#d1_Q*$Z)48!c)$B5Ys7F~z>EG3i;+uZc1jq@XbNLaR z2tKCS&*e#CIN6kbt z%>)S`C)H3g zWd-Lg0~x1UdMYYF<{isb#IsbQ$q)pl5d@p>51>=qz1F)qE>R?EpEpf-MTnXDInmUU z4aRR67GV$(2ZMjXt+Aq1LObEM?aa{SGYCknjxO;yEFy2*PP%p%X1EvgKZ?UCv6It_ zhF>`0QQ+ZKgQkk5#pciuNV9ZjY~2W?El^aL-1gp)DT4zsv9DL~6(p5F5#6@|NP40r zD9KctC%{|jQ_I610nD;~=Oa!;vq8~7*R~^~V^0?pt)JA0UcIg4i~2t9{KM{x!0s{5 z+7gP@uWTe;#bRG;;%6uf01s(^hXmn84OR6q`OlDU-)>HJSp=|W3qyt`{dcTf-|RUn z_e12lx4IfQoQANlFv{C*7STN#mf}ZaS;P!Ji<$jW4hZ>Wk#DfsOIO|)at;LX^8*7M z88F#T?!bqK11E;K_%6#9n5kIoR$Kj6b#HJNbKqIUMH@z@s{1^hw+4h>s*YLem*0pC zkbni_D}ta%c7V^zObXpgShEMuoF|9Oy5J#3!<10oNho%}@huFs3{0H!b91b_dXJ0q zZCIbfed>$DA3I4!HI=bowQMhxSd%y!+ks3}9yL;#~f+cbCWB zf&YT^Th1x!U6wfZdl(IoFBt4w*GZ`7Uqg1p2HS%f3;Vh^o5phgv!VanEZ~DCE z;u5JLIFw9d<7#z6eswHaao)<&p8J-u@6tW4-^|Rsv$*!G*9}&v- zVRHV`&py8%x4~wSi~o5MU=!e3PU|^cN&DvVtvkk1f_#rUME{+Vo~}4c_RseBXf?k{ zX{E+xO>s0dTnrY{Zg~RsNi^~GR>XW))aZ$YS~Mb*s;luZQZ)%p zuF*3hr8lojo@+%6g%3x-N>UQzcrH2aTt-JH-4w!>#r0YtWN28YnC*{~R_P~%{raSe z(T~{gNAnH}>+5fDIvRI?(x_Ld_2e6bu@tdYj`^?R1(EY1C0)@BR zvg1W-jY0$b<{a%CsUxSHxDG^Cg}7;H=~()Qoan*A_ITo%O zw06@R#(guqmo$q68oXRQ7!MvBRv#`O9^3_#zYYY-VU-c^U~a`g>o4l-{>JUjvVaD5 z3WfCP-m;Bo7D|bkI2s^j3q=IO*BG2ER(Oird`QZ9ATrFGN+|e%9!?30og-IFM^nU) zj+2u-oK#X1V`|5-L#TVt9BUY;8I@n+rlyV+j*dB*ah#i=sYS7dNz<-#ij*cKmXGc- z-fd`N1jc6=N}trx1j_9~VMPl^WH5{(Fknv-#>TSUOU-HJ*NpQb7JT%hF5_vy{qQU= zWI4so^ME+_wU7HR_6QkCI^WXbINzDF8k82a8iq)vuPr2V?mlbZ7k^bbNi^|-_E73$ zX%y4#n97)FL&R=M^p(aDW&<~VC|8<5!rhM+as%u=D8DiQTR4)L)e1tjNjxlo;2y9Z z6(7LkC3>|`89mj$UrhsE;M()CLDYQL%g*#KBEn6ZTLeL81wLjrbe!iQE*X%_baGK1&q zq?S>g(xjEyg|7T z#~zzxB)9J}9BQyr|_; z{C|b8ULaT;2bX=U96C@HCwD0$YLh^2#T@z_8jo~Hl*C7Y05~` zMh}N&;+Pm{Pt9#Yp+%9%4=D^;Y_ofo7iy|nA3VfIM5LR;JQ%+ljdRrh1{m8Z0{E)QXA}gNs)$ueKGUf1ty}+_~_7qSWK5;($(xV?DHo! zkm}G@K8sKwzy7|f4~_SY(pYf0COMWqZ7YJOpp`xB;QeEZW@>{VSS|l}kHBW8A>+O- z6B2Tc>y(MN?_9IVzpbwNH7}OZW3p-e^ z51!nW(o;Td+#Wa9feCHQ7SGO<^+H>GG7>3cD5*?D*|8J5n<|+PUwLgZeO@Tk0pr;W zES2AGdkrftdw(@(Us=K)S|DW56)TNSj`#Hm@}W>TB}Z`!s69TJPJm6~&}c)3v1prP z;lnY+m*^AJU_d@&-l(@*8;=N<7&0g<;PQHx-h>s|_eLfeKlYC*b=9@b)$l#O-v7N? zbby@O4_57(icE>LgZ|-;g?kFGmDe? z8~a?6=9&V6uSk@cg^5m1!f3`0LU8>Uqp}zb7l5snRkc5U)(<5M@m*|n2{`}zQQl6a zYX)D|u!{_j@f;*{m(yh)L5u6Bu5OKB%>g1;ZTf_lZk+O_!{U;5AYJLWfoj;bCprYr zi`YzKF;A z_y}Zd>1sakB|7B(;=d$WTB&y+oTDdt=SuuzwxiZZN2ju(e*ba}=VNmO$do(*;_EJ? z1hImQd8x^0b`jjo@o|(D>RPGa1)_9;!Ph_QTq70w)k^|(IsRhIL`&c&YsTr4g4-<8 z4zb5E#A9s1*_(yS73>EJj3Rjc)y|B!gU`$Xrt|{TH2^q~l`;AFpke3r(Oi}BS2jDJ zsN777Vyfiy^as&&V8#+wBt{wx=^u124y#Di8;(D&Pd($S0tag^4|Ziv@~`m{3On zE=Fx}v-`izzDBQJ=Imr$shOH&JjJR@08)+3;jw|8EH>O#5C1Hs}+|en>gsJfZs2`L14B3AOnIxj?I;P zI0cjiE^Oup(qsxhrXIRBfchGoMMUMf`uYfyK+PY5(ObFLW~h^ZMrp{Pgrpb(nFKSF z4fUea@?$)S=sqdb^E=v4M~D;;C(7dpnxENUUUKKr9y`VLB>z&;P`#AmFONfm z|C7S=N|bAT0!oMU8YoOJpo^pkGncs>&Cku?(2bH2 zJ=V}HOmwYE;!}2p&!#S@`2l`wnTMQEM$OvWRk`c$yL1b!VxfPr@B(A)Qk8u`P++BF207 zrWa!(8>+3~(emz67>|!X!!6Mi2@hyt=@Rd77^m7^DE7pM3IkrD0$7SIeuqd0oS9Fgod( zefg)-jEnewV$eN{Ini1`Hj*5Zi_9tBNJM~5X91xS~V`H8wE|51Bi zj&U{EEZsd_9x{>mT*PW6IhOhn*ftvMjo)C=>AG!&tAgLvakM1yPx8DCvf9N)@$Fo; zk~nc$l((jn<>h7X8TmCEo0VqwYb&r4*qQtT)}vmQN*Rz&;qYUl{VV&lKSr%7p>ivc zfbZ+3OpB{B3fMo-|CG#E6@T-iw^)JZMMXi`kJx&>v@2EiaV&l&)eXy!2xcx_{aF3c z#6}c7uIuBjYt>;7!5nTfH(43F*>EnFTHoS*$RQMJ3MH&w=MHded93?A8s=zN-&GC7 zRrpL!yQF{CL zkJ|Nh`+sUJK0~w?ySU`(fdd8T4gdIj{)OsUFU|EQFNlkqlI8ZZlcoSNlQS$~B`T$* z%}PXBBRRc<*`hc^*egKCZ-hQRF4bGRh3;g%4#TSANv7y$u@Lc^Z+_+$W?g5*UPm%B zm+;+9e#aZ@#)lpLhJ&&OINoI0#l?D?#j826;652kO?^B43YDcL44xlsKo^p_o`=oB z?${Afxl=W@JSx#evn=Ek89F^hAp|Ir*vKcv)&Lk@@aC@(*lp=FeZTL5Wh!8pgF%=` zW=n4woWgL<>d+Iy;kg`DAuWExc(=8Qf^H?s%fhy{oj`(iAfXYo1FvpnFF>_Qu?#cI zg|X5d0g7XmD;hZudl^s+$=PjQmp-yzW_N}3;em=5EN~G@9LFOJ({&uHdu#S7p(8}u z3gF{=v`>^1Y%9XU$2Su4*!^Y}9^R+xae}=2sT|{r?*ZiPmm|QBF}}eVvr1kE!p`%s zdizgT{liLAjaTcR8WT$mc8}mh8Z8g;a$+_|LZxa4BG~hDhKGjpaXZ*Xc7t*L=8Ke2 zyVUEkS;H!5JvxqX;2J%9^UZSOQ<_j3F>2k=eoxvjHCuj&AS#neVm5$mo8%J{cAVgU zX7^}g&~ovD3Ob1BpifbKdzA&LxVnP zzcGj3v>I&k5+~Iog0g}cY0>#OZ>n~aG4IFLx;jKj#oGouyMR2Uq^i!m* zZ3@YC`WvQm~p0f;F1KFU|3vRca70CBYC3L6iS&k#Uq5LiR<;#Len_M5bYtN zXewNMm=*>4PsLaLLx9uP8PRL7rK@>9DE#yI%Hy-kmg%P{Rg-u&lfY=}t72%MLi4l+4umcCUYgS5YJCU!>ZVt~z!-ZDdc) z&81&oV}MF&N}Gr<6t`tTpU$NFTl#r>(yV|aS zJF^2J{{CJb44Q*!Q*BvTrX17X>m4UxJosOi5!uYfvdUELT7l+5Zc0Dy`to$YANgx4 zIvNU<_cx{efF<#+KhiFv@|jq%B-FH}fSy{cvf7y$>VhBiN-~g5>Rnlq5~_(=xLJ zB-AQ7jmKITMBAnM>vJ*`BZ_K!O8FESsm!tBNF#YRBi!-wau=j>mmfWcR{Pf7`!sV& z93K76bp%Q3ql9yz^IH=s7W9>ld-Y9@do>Z9c8jbghsJY)HK7X;CX-R(W{v!#8hK-B z9BsL6R_wf^wE7uWPPdHOjbLwX2xDMh#wOt#c|9)NRQ7uG1!en$1QIRf{uMC^?h*6! zsbbxq;;AEpLn_jUAH!4lg>Soc?VJBq3yb&d$`2unGw!np)bRh^6H@w5KdZ^^fO z9Rws%9ek@Qiyj%Susrx@jeHpu|4`sbJiUeNZ=cU0rdJ(agnD2{mY<(|kczEZwFX=4 z+FDj#JH|%nf)xA# z^J_9p82o_%myOpofHeLzLEdt~L|uDP!Sm4oH;@nYnL~!}^{4narc{x7W)aDLK4ZWi z^}9#-TmdgTDDmM;A$wz4Q`Japhv9FA3F(ZNk7M^n%o5#tU&WZx;0g(#JwYgVJjM(lWv)Ix-o z@SZw>yi6d=TlJ7BZ;oDaR(~}avlWN=>4RY(`om?JP*8zSaQcVVQ@Tq4dF|sI5rJyz@|3u%kljv#hJ}^yUu~ z@RG2Mr=fY4MMN$A96n-_%8OV@L0Brmm^22UEy65|NDKQMaNKWyiP7|xEq-Jl;Tgq>92YGiU0lD)l@tV{6-zf`a3^IIIHVw zP!Sy)M*99zu4@2cROe*Z*JXg5d+X)gUCzAzM0@kGpNK0fhf(gOku9Iu#CLo^-Lj*I z=%|rx2mO{;7co)}3td||L)KQw_hS1?K-v%f2>fPv9rZ#QQLL1$7;KtSt->5icpY@r zfmG7Z3{r^Q!gR&<1prwnj#==r@8iAjub31MDYB5~PYlYwY!o~*9K~coklL1{;Wcxx zRd9YvPHwDqs#8(2UU?7p(3N!@h`GQTMN!Zq}yYKaMdIvVv z2fL^sciF4pP~zmYGj@>}d7xMwB4$5*Hn4P%X3^2r+vI|9t%J4{zZAld#@~p`Yj&B0 zD|ANx0@uL3wcj*LtX(L*uL<{y%6^jETs+f4330aJzn^Fqerhqznk>dK1@A2WlWjYt zf3+&xf7d9kH8|@jjOF!y`O_E!!aH(D34G+w6Qjn3!mlK^g?f&T<+}BL{K%>6e!E_RxG6hU?I_ zGM5+%#fKa(mc-?5*H}?}c;Uot#&VKv)unubX=>pVO>$}prt^!3QjRGI4BjtDQFAMK z^YjL@5)cTnMfuSM4754uJWdIO+bS7^$H9h}1>}F6b1`v8UaiqD>gwb6lw~LJrx9#E ze{T)}-=F2d3A48!HkzDX8mnzYa7d)T&Uxey-Y3#>N7C0BdobZC7YMx`87#K39t`Cr z>Aw5A5$3a9`dsJI{xD$Ygq1=XyNe$D%O!Vv>&RJa@ZjX6?_@LLLpQ?{Qy=L&Mu#=b z9tTHharC%~l9C<=m5f7UNY)~8Lbb17#Zt6D%e3?i6G9dNL=X^>M}`L^Fbm|o(~C8N z1TD*=f;r4n7<1#t#pn@0iNT~^Z%#%50(8zt`F&UurzqLe9OCY43KR2ykl&D)65M9i z;ta;h84}mBcOOa~$k4XCwhijR!%Z+@G6RL`cSWxsdKchYZJq{;*n2jv1NOqz)z!K^ zm3+!C$KIe#Y=@m6ik^=`T4^H-5=Wx~7EXjC!*7bOH08|kwIcUM9_XE2c3C?4clTGl!`;TsjpmXwUdDQ*`FSTX z(V+loR)6Ub;{q(xH$k7DU(TCTRp@F`^oPyz(I0g^9hJAf=D@d3UZ${1oksf&c&fDX za69ctqdzD(w&v#l<(`5Zzrz~$CZIVme5=j_WRE^t+G0=&xc{b1uAN*K(Tb515fOoD zYYn`Y-e5RBeD||%etNnZnC*}W<~Ei^vj+i)8Ab4}6KHC`)+gaD%%6dMZnfF@2n0U_ z+%AlNEd!sa{im;DIO|P7SM&iOUoQ|R1dd0cnPD&!1`~c2xg!7tB!7(}>lzxE03yM# zQi(G5;?ch#SvsG!ukS;t12Ac?+V`N=+bn$t`a^v^XU!7uxs!4CuL2B3e(#F5n~1&~;Lzo;-gof;8fXVl9YF=C&&lCo7pn;8&y}v6LA#n+ z^>@F(^GvDne_0UOp7-? ztDPU<$Jz;843ZIWm8szzO8Sh*hK!IF=WL!w5b;@i%txxlC(g68vjY!Ch^D`P)y4Pg zAo?lu2e1X114V&GyD^fW@dQ z^Q>8(!M)JPo>WcuLqxam>~!muk1 z9U^o~CEpmFBb?y4{VtdAnTJ~8Gxpj1B(uea?qmDSA^{@ycm|K7De1mem0{msjSJ8< zvN%NL19mjcS512fBGjQcXNg03EiElyIfAx812r-3zG8li@nM>e@W_Nwe;5xKj3Rjt z8|&-Kp-}nl$J2P2wYdrLiNZlWDjr5^L9_PDQ0yM)Ho+@VuL!I??=RTte4NN=oBubE z`TdB=Co~H5oIaE$_j{!lZ1ofPaQnRI#>dy0nAC}j$BWStr5`qgZ~*Zni}=(H88T}q z*7f;Lh&k*jV`}5aT{IO6&sEm9nwzJmy$R z%3>WssPI3M^9ik?BS*zl!RHuRCXs&i*Q2AyQ;+recJGrJ#SSzCj|lz?Dek(O8pTBZ zr{AI$gX78IEZ;_3>N@2KdZ3mi{h|2w%*5_2d+n*|K;)iy8h>r8v{|ZeZ*K<<79gAm zZCwCCofFCboB|!5{#*6-TLk&3YT#|8@3BvF+fDX++S_j41T(PYx`;4a#$^UB9-cHg zIsn-pf<|t56-vd7QlVWMMwFA~rdTJF{D&7nG5^AhJFA#LKjM8<*1&1E3WU1Yec|z) zL_HKJ@lPKbmi*YC7tp<1tEwCxZ%%p{?+Y*^xHsXvq{$_d^4a|OUjN75S-w>nb=_VC zK_nyuX^=*`yGx{{OOWpFln|t)rMp48yE`}1-Q69Vvv{8K{sHIndHDtxdtW>5d#yF+ z9OE}sg~-OZo;0tMz7zJ4hpFxBs9~(Xj1Wo%a(fltpkPyLJsWQ#chc z`Q{D+1)O@EUqJp(e7mm&?>7{*wfT5?7ykYGX+Sr&ZLd)L_b>Q}U+T!sPJF%ec?(qM zn)1cP#Yi1Ll2;;ZnO{6>@U(tvN}K^dbqfv0le0jgkx5ZT#`l4kf-W3BzRo)pW#xaV zh*-a;h|)na()WSMf?xmWUa7(6j+?#-?dv%_Z5!4?fBOD%l6Y}qqJESgaYgF=V7&5$ zxT~k?f4_EUr%$i7wRJDu+UDu8Mf2&w9afSXXL@F4W@RNybouFl#ROXc=&A3iV-aFW zJhZc}4|yZvZ0r{v6Jfk~Y1NL=z#UF#!^K_5Px`V;u;J~10rTD{p@K9=w)*cz0LGR! zDCBkp7mu(8?C$}fYji$Zxa1A9+LI4D^RpJ|<@*8asg#z!q3U68Z*Oi+!=wn!_1zLc zzJXJaM+@yHzZ*l0q4WgThg~YG=~s%BsbX{jtT} zV?RuyCn+hnzh`-0+4}28%2vM7=W);bI?%)cJj7pk4!75^OzmI~u&EBgq7!DU@^PNB z6ndxck1$SU0C&-&GwplznG^^1)qtO(8U~X8OA$c?7n?P7t%o`corVj{k-l*q+N=9T z(8$Yg`N>M>0o*54A`+bYsU-5AzIuu41VYS0ghNb(lnUP}V`R*u3Q6lSUL1n6@k85Sc?`qEYccv@wz%HR1~!J9ei}sag!-K zwQwzULorh^*B)j~o;iX58ma6k2K)OIXPZ<`S9C5ha`J2<&ox`m5DjV)=D@6+5=#?< z?54sB(*c7-!P+GsuNWkM;c`*o*dZi;v!-7fuey2u6TCh5@HiZ%(7(1jypJg0k{+uv}Sv>tW4& zVp7s29s9joYiW=_YDRIfwDl^uj&5((Bcef5<#wgy4vhO6^}2(>Sw(OBn>#=7{Dbkq zc-m3S`#|7#N?l!TSzUeR2P6Z3vnXa+{9iE-LHrlxVcu0ECq-sj(=Ic>pp$GrqcP&*&@&^&?V#azFW_#;`T}VY*mji2GCSfwlXYmj2}yU7 zXP~_@jkkAotuH*V8M8ImQ^hb~#<7I8OfD~Hq7^A#x8pK1GdpTJmu1e_7KLI?_TfJj z|If;6H0F)ck8_-xcD})v?k4T;J2eIA6YexmZdj zsNF(eAdywPH-9{ZA+&jb9D^z76+qF~AJ*_ZAJ$e$;u&=Q*6zKS7J#C#jsO;~i}#xV zRs;`o_M{{}cPD-QtWS^p`308wCFZ=x4sc>PPs&lz?$9f`x~(hpPTnBoZrGk zIii8My#a$pl?hldHi&U#C&*v>UV|>n3h7(bBW($<79+*oF0~;WPQ_FI*x{&X7P{8n zqz<$mJ)pbVfPI8oaF+~vUjqB>sSL;C0U&*>1IZjv@)36Cm;9w5T3I{2wAi~;q&}3p zq|mk=wQha9(jDUgs>q4sDN!Pz(sI!~2?7wIqg~@YvjM#QefP!&UivJmjpM_;rE*Kn z{gJJ!IF-DVqJrXJf8hqKw~ZgdVxkqb9@ z@XUM>V2MakQQKY~>~rnE34pawP*7+;@_N9TbcrbgB@O|PQ$7Q$1PQnr0p!7L`rRAq zUx6AQg8(k6E|`Z37MY=4hcs{C4_2-JqC zl;xX5-X!poX&@Xt{dNB?z8-A}_A6jdi&>TSzJxFe9)JUmGdX%3R4PS+&=mwODKBTP zHz-UlwRpO#s>UCooN?_3x*WeKIsUTghn^0}51!N4*H;T5v0;p=wwdUAK5@MHppO+Q zLuC4^@-Gc|bIe@Ntq^2eZx@4y6sTVm_(@GAJUl)rOaNMz^$6ROv-c1M#CShHzje94 zeakhD=0K3FsHh0NWXyUqO|)Xp43YI%YEr*lJ4POmN4%Q&i=V(+@-&IoBaEVe#r4DA zNQjlJwYiyKZp;IwM*t;*3}5m)XAr+#5PqpD6KW9f7{U4VfHJCoGgl_*ptdonCQ%(Q zA(>taV!R2!pPYXjUvT$*wQE+T&U)i_X?_)7t5;=Dphyoa-TS+`D8CTYLYCZ1>$F-i4t_%I{lyH*)A)c?xOzfBEgRg>V>ixsB!WAV@5j z<>G-Wmb=AxBh8`%fDRA0=MYo#^Q}W0O5r*wei_9`d@XM>^xcC4GNRuirIN{Bcm3RX zBu}0!FNV{35lC3>5UYQWg^J}`T@zqO?7fIOPZKM+7)oI2%^WY>+XHZdV5vSNo}G79 z@^J1GW1t!=3ErAT`$?V7@Y>f|#62XZ1eil8(T1hkFN> z%U+Uo%PpYCG;^Gc%q5Y=Ni{K6v*J99lper?JV7MZH;>b9fPkT8zQ4ckFD<6!dU`l- zy{axVrl9XMP|2g>OJZ<3H6wkjk}_2z?+L z(;<)*Vq_KVKQ-3t5;WMmaQ96@#Y6i8-Ip42=?97g5M*nzG(PSQ9{wHb0DCP!_eRC5kLrK~y=dEpy@qGc^NxR`FF%U<-&e$8QvI27c_5qNjlKBq)M zgWrE9x8K&WIfA(s;4C*4J|8K$>%I(_-@SgVf0{pk5*Hh9F<0jraeJ;(q9J)B^w5TG zQ;+|wp37rsw3s@WeFh3>DeElzTmPK+<>Ti5Z_sq>wXp-Mf>zZ&ACsr2KEU0a#g!z%-8I%997iat90fDRwKkl!!JwE}Sa6@T z!91N!3+ze%Yq?_;Ig!np z(5`PaLg3VdaYZtRE*^4nhkp%yj09@p=DIoyoBUp}?%aZaK^82$?x;mRIukWz?TE%V zKZW}rXzXD@_jEaGISI{!w!J5Tj}1dr;Da7|W!AgEPQY?HJ~*(jvLe92VMdBrK6d0r zh74_7&pwPEJm#?szQ_cJ554JDP>*C}d?a|${M7S6aQ^fd{Bkk4r_sEb6n>|J+uOOk zG2X)&dc@VZzIfJ~q4|`@BE=v3#imCu*HlxbrlG;WeKQgF{3{~ty@MGhe%X7Ettf!qrLsP{2J8E-?TA(X;EFoEbJySL zVi`TU$ZErB@gIhHZRV@?R)jjPd_(*V#w75dMBS4lX*y}g8IZ@}hCrY@jqftf4%8o**2Y$|W48uUc)Lo6NZAiXhy zt*@(Q&P~uhv_*^}z9CcaH&J_=35lcIe!{+XKuJd$QJ8k)pc>VFZ2HxqWrnc+_sSdL zmCuXjDFx!O7(cWgAqol-A^zm9&A*AS+V4e1$z@o~MnaEeHxP%x2#WaT3FV6XRwn39 zxRNpOe`ZbK@2Kxlg;}2efr=PhQU9;Qs{eh044nV{4F2~scplvT?{)CMpTYl!*8!2h zh7*uW{9O=0L55Z*qd;=Pi_7=N;y3K&iMOksc4uUuJlUR9|4~4+OQ5V8e+@F)0lU>r5~)Yt4~fC;XKe%Ad9ISwxHN#)0&hsh~Aj#s?v$RRAppyfQXE&m zKvQ9Wvx8#KpURiRK2Z~074ZZ8vG!{ z5*v{JDw5>!WyIS*_%(wyo+_yfNG3g4|NWGxs#K>?)F4AQA_budn+I2}K^C<0HME25 zp&3i51Ez|`Ln+Op(2#Aq1^cyZfUC!YL6NxL(baRX*gR8>Tg(}$gtG>N9f}bbLzz!-Ko=E7yT3;%D0kK zv%TOK!3oNwcgbwdC>NEM^Kq7%HLTY2ry!gR^9;VCziVdf*Q$e3gbf=HS+v7v?KjU#k##Z8#)$|D?@fAPVPSt*wC3C#uq@r(0UXA8 zR}?`~&5ia^reIgid3NUe>Q!8mo}AtP3X=E-T;M@!<3RrC)1r6}vwl!r?{*5a<=i9} zWVGSp0mt4*gmKYQ+k9E;aj#-CX{y+KsR6Qm1?%Z$JYu?OAskn1Sg70Amax6@0!G!E zD|zf?N&ay$4q+*Wxp8#D#>`B`owC zmmJPjl~gsMe`7k+VX*&{D{t`foJ-3J^8UYHFmI0t&SoP)c(G+W+==MGkl=gB_7L}d zvb`+-CWa(Ug8gP3f9u7P`;q5kEat2ans+ws3St9t>7h-oG)qY7wJUSoee&U(JA$|z zEp8J0fR}h`H7RWNjK3}2kW@KWE^$z3Flr}Ef4w1LY(DA^#J4+gH9oF9Zb69{Um8CJ z=$(bfY4;vC_@=l)eXfOIa*LR%$>jx3q`d!rzy3bvvXoIdIXUAdF@vDPlrfH0I+|zF zW7+k!zsi!(y8|I!=X4e!Ivb`qRT+faB_nbZyXPXVS)hBbNwrYPt zHCvdtSCw$(QdfnPr%Z?xj_lwbgPA|UJCeR>%Fr;I#G7d6&CCX_HK^mX<`|V{O#+>a>;g3~$ zT_32o3`CR4eTXCxL$tE)*&Mf1|5BH8_!Im|@?$C%_r@)u2n08yICHtR4)lFaf{uNo2 z4l_XpEuPwTp zq3Z4c_`BhG6(XIAU!2Cd;XuLL;$vV&l{x^DhMn8ik#CxX=7+fL>qVIfgZ*hQT_ZG` zJBCaRq-iYG)#nWxc#mu(CAIYxJVk89Vl4~f2a(<(xi`0D+KgXW&QF(U;z@PA>dt7s z(%=Mx{E@#$TX8CbHO=2jGtuY&?{ZAvL@38g_|9L1LU#E(5AyWRjGCl!cMgy)Bp9bD ztExMVE+2z=kXNJUpbC7Gf;!6-n+cmtLc{W!Iy})t-SjsVTT^F}#rQ8tRyyq4Bby6e z5v?;sD0NLEp@x*vR-hfRt3;xLf5Afs*|w>pgGAfAq#S)_#J_m`Rh*0&+S zMP}w8XgWBjqSMlniAGcDy<}K7hxNkD+yt-d#76V=Y-w?!87r2#sW~1F?x`y;T-ASd znncA}oQ?<++PHpo<5b6~52Y;wjG^SCy!ZP$P_xdtYOzR?(!pOnEE%3y z$F`HU(O5^ZDE@GjDhr03z8~d?qdq6e=B=_XSmg~yR#)`LB#dkfRn6}Ya2*n}^xtXSOV9e@pyK##~@9roX{FdsGwN z-tJQ|5d4UurlqY|>De1Tvc-Nm!WJ*}A6Y4XLzx|W%N!iNL{Ejs%coTdLR;wT50g{> z_(A{8c>$V-yg%KE91uH57PS;y*lnDq!|EAFijVUpFAE2g&%(LtP*~eH zgAy^y!ph2MJ2zSMx87{EnnF3YSl@(m8v$6fr7FqVVDYcW?v3kuI$4oHG(M5F;6Z zi*&#AUJ&lxE_S|0_X6cQFcU|Z_D{cLf%m0+wZPD6hX3HlUWtdBvh$}-0_#$lc5h;v zIz|!BuLg!CP#+)Hd-{eeyr<@ywr)Sq=4tK6%@T8t7|hstaosX=;;K<-pq7VgRc3Cl zlLmj98-e%K)mAd$W#H{6^e@}eo%>Gr4_xt`RhEOSr<>rEt0hj0`&0NA_ruH9O&bF{ ze|h@A`S_6zPOG$4i68TuXRZr-)*49076#dUhv)T=o$5tZwt8YRBC5_hdNx%g_&7U< zvR&dpr>(|en2B?eYj>3xTZE5OnOnik&3^aMBp^16<;idddq<}?5S<>?qwDnh_EVtW z*pN44GS}ravp-?KH1}5(yA4}FQCd(qotcU1O>=>s<|W6`#MS7dIGaQ?8xc4e*qmMb znKp0qtlQCI->NDaZT0Wc6#?z&1wxj4{{hBj^v8(q~4~AfuI8a>N|~j1XAvOW5^q?uT0hyyMtsYr};EE z*F43)zAO2^A{=x=znFQ*o9Vi`WkCs?H|IP|{$9ZFHrs+GrQZcPtES?W-Tslqs6jNn zvDNkz9S$V9rT1WNFR|fluOz89TrBIKax76C=-0JNyb@-4YPaD^{ubeEW56k|ZnuV$ zhwuJi3)9SZy?9ysA=QgtONm`?%We~sb;%@*JXfrEzh=-kf!)Z4U5yrNWBLkqymyq1+h_5Rk56JVVi{z zPzSpZ{Pk)1CO0PF9l;m;>Nz&T(oH{hexI6Zc;+_v>F)G9K%Nm9dd%EDt)g5i6s!om z-#d*r?S=Hu-ZM1puzZ-F{>SU~v!JUp zHh_gE+iIwBs%GZ^@`&9KB<*BLE{+Txc zDL{l8GN6VNXzD7%^G6m(r1KFl{axLHc(^sThW?3lYzmdqB=wW&9e4+Kpw$kpm*FQU zv8Q}igzU4vF%b@c#C}ov`ARwRw|;)!@#Y5=fkzjI`G7BZ1h!n2{Yn!<*e}xru;0LW zd`w%m;T-%_zjge*o`0zEQHEvx+TD|1 zjus1qco!&j>^tHGu%yU>=;13z=csk3#^B(Nm}atdJ$3=D*rUN-Ck zu^h;KW@ZLFxtClhC@65RUeYbEmXSvOHZ;r{N1JE2=L#WBk|AXwB+B~O1^22YGVj11Q_F~%`mA5{Y-WZEvmkSR&5ChHf+74*Dy3gJ^!Iub4k>PHhy-@S8Y>Hw-wUn{b+-}u~-&o}@)5@2!t&brM0 zxECeB$|@*E7s!hKTO0)*S>Xr1)i_D;cUbyrV6~5mS&hYyX{;h!n)`WOk91M2L@73z&^ii)eLuYyr>zlYPTb*=emO^uvDx2Fi@!k%PhKEw zjP?swBST_CpJb9k<|W(qy&E=LGin*azwzI|H8Qk+S!nH>TQ41%UtEk&KrlRNADs*Y z-ti#`x?g`N>tX}fDrH`4t3Y)BZ=G-7MgWeB<`;gPq`G>-1VxHCGuN98K}ksjanX;L zIAw-R&666K9v*FDEQw@)ej<@{%7kzBbsruWw_d!?mC;eX-eSYk^_7=&og5+XJaVP( z#E>x(j*PldBf$!TZ}KtV{cc!+9Q#k4x!XVA*|ny%?%+~_aKNETf;hloLN?5>5+`ug z?#`oT{xc6g4&L>iytU%hExwg=BKGSKYh8YZ|Ei=!L$v;8mI>5AOJd(GaWptq>btP6 zopWjbb)i_b<0&al2o~?;FO4066JGsmGNkbJE0?F+)Zqxu4e9Z7w8qB4-Y&G%yz~+E z-SD5gA$&hfI)?Au4zeCJG&M7bhJY5oGxG}>`UOraVMsS>U&sE@ zkr9&okM612shXP~Fh(QE^@it0C3wT%)552w=I-3)gi##pb2hUWO{+-K%0X`{pL=Fn zRZ%sNG#zsQ!nQ#ic4VQ^+ESPspu9Lguc@jkAy&8pjY`M7)a)ay0zi$)L{nz5=jL*sjlWgi#oaAX%ws4OJz2Cru$#qhwta zp)EBq&3~;;+TN)7NzWN}84o8`Th6m@=+ieuL@ERYFp^^YpikFSb?51*m(uQu3Ca%q zLxDxF)#pJx{OS~b=BJ>xg0v_KRyxAbSHxRsuB~?$e$XNMfOm^k!=`u5CtkO{-jo+E z<*a{#he*WZl8Ygq{uc4C`DYPu-6!;>&D5Ed+~ukbNYB@+_YzoRVQRMMj_f*WaMhH{ z)=D*34lz!+FtTVGBmk$drRQaig|h^X&=>Y~CxhfYu4J=eCr*3W4-#JdJFLdx$#>D7 zd2{ik1BTnY0W3T31Sx}7S4WPP5Fkdb!eZe+C`E*3#&_jQaefq?MHuh}@Swjn)YFGq z)E*ICu-R%7ddiR>R8ZAPQg%0-QzgqhX%{e8!4F@NzXEpKX9)#miUTXxZq+(a$mjt1 z;W@Otmr$SU5GXqbqES%RY~$$NeGF|tFhH5VnimiQ zcNdbk6!?6LoiVNtr@irXnl%7fxC9Ukh*(2YwXAOL60%&IG1cbN6@P6iT=Id8%iqug z2$L#CBE=KCn{?Y>b;%~N`^16={mnHZF~51{R(A!lHCCK)9+c@vVg$K3Yj5AbZddf2 zt4avvgQir=z#ES!6;_;|v}ik-PIN0wOhooF8KgjV+gy&jMs!D<*K?(9qah?^nGlp$0bOr0{0C`6o=Kq=^+3W0R5`| z)<^g#uZ!_}hb;4HtLKn1XngBKPC>ygz`>38QxX-OvvG6ZmD7>_6nZ8?0{o(+tFO(1 zZSUgp-Bhico7>n+N&s<&+TC4H97gg#?v5@y%@dJCl8B?`i5n~I0zP~ScXeb?*EcT% zvReRaT?SYIfJ3?g1`pL@H8hm%pWOKR`U&nw^~U{CK04?+lV(&Bre(Qmxj(w^X7Fk!3#5~W{vr)eN7&j9PtoknTfRCh znTc*G)u?_uTyO*a1vFbDjE&JFjOCyG0^hZChXaYc{>=LRd`^*K9>obC8Hsb41HG?K z9qpEfY&j2KnKht0+_2>l@0kEF3glM6u~Cz;!6d&FU9(dy@{K?^=_s~+fC))K=pT^b zK8$AIJ3a^*IiI zR?Vh8UYEGEk~Q%kmIeJ?rAen@zRQOJzH4TR$#=#qMm=vEn)#DBd0qz^5Y+VQEB$;` zPM4&*t8Y-XmA80Vcsf;BBg zMYqd;st>?*qCX6*YRdM~I%#er>FwMbL%L-s)SX{c(is26M2Tb}VOlb2)FE*OMCt1z zJm|L+`Ywf;h4&jNhi|E#jR(ULDr)nn-6Dl%QmN1;AsQY%Kpxka`W6bHpXtYo`zY|erpn#x1YGtn%qL_wc%pT&a91! zY6Dne4`6+eO=L}Ivr5)~ap5s*_`&0{NT)kU5iJ7A$CMQQRqEUvvl8FK32EKWG)s%( zhO+^=al@<23*6F%WiP~ELw}I|pj4u|{*Gv+r@uO`p4Q6#jxz><$dmw0FRH ziG24iWbp;*L`JOK!C!uJiT>lUs zoWdwo+Gw@?wk%1Wrd9psN#{GgT*qsq_n5cO95=?7CLh*UQnB4Oid0?`5v_=DR<2?5 zH&O8i$M%^Jy06)8#u|Q%D7Czo4cxWCy~%2W_7Xt-aNct0x?)WnTvy$nQ&wyLl14{wNOoPD86h2PZ43R>p?OLS_lta zB`r4nTR7)pEv7pAB$||ydi=OM6G1+5@iI3ZLFm4*!j^}tWOjx)A3Q7XY2?mCUYZ}; z%%jJf#P5y6vdKT2&Hgorpm1eZQ~-Iu2!JNoNqzb9oZU14aKhydOjtti;&<9{bziR~ z)fpHMn0@d4g1cVvUI8OQPLR=XKspm-j4UPcIL`qqBafC!`pX`_fbNb0_0ne@w>Pqy-SBuHR^o)NtHY59!ThD~*t*o8Gy%pGbu?MVaGZq^H{_kuY) z?2dc*4&YVLpRR2UC#^<-5CYByU`3!5CjoDP4|N^D7xU8j@M->@{8L@#eY}7Ky}4d~ zVw^KC&Z{;8r$KV>Kd2Je^^L#dJ>k5NgtwjA85$eY(_YL5p0K=< zk`M45$QWqk&$Iobv)^A9gzEP)3 zWL|+=;x*z#HF&}_8{fCkKaa)61``B5zjhMn20{0x9QeRS|1holW5}j(mdBx8+&(a( z@}z>;jG&T%!ToRn=!Sfs2uD&PMf)##+{_uiGQ`y=){fm*(R5f+&d%@3=JSh^T#o8L zR9962ryLqB>Os@>lDi#ZfM5|2wx&h_IvR6`lpN*{S84=zCZ@Vj@#r_k7qe+}IxTkN zncXIiD?SqcCg1CTz!F$K*4_g>Zc|MJesSFc&Ps(b)=qK^W^=>By-6&y{8E9PtN6H> zoFGo@&B8+eLwWvGWHd%C+1j<=$%gYP>?`)yjy3Go8pofz2YvZVBUxB*x|zy)>BDWY z_w1D&OA<$j#7A<|qhVU?=F|tJ4V6m-sgP>RalVl08JK~ z^8{rzee?z~ow?G3iuiw1<~C@kze*?ABVAl1CRk)=--wJ2UF@=;@SX@xVe&Zhy1Tl* zUVU?m>gUxXdx?uOaR`O z^d67|iPL=gf}@a+Vp?pL%wQmx0LYJps>+xc#T)fyhVwO+fDGe+-1_5-LxNtFZ*oI} z9q%NFlA4>F`yw?c%YSPy2{KxHf8&IN@d2H;mL8T{p(?+)1gB@l9l*hNEIuD!&-w2U zL~w?~0g@4ys|!b~rn-8KuNFy}3_=VCu>54L9>alu!5^~oI8+(ttD7zBurUirRZl@t_aEXGsd zjG@$n3;5a_gM`f2QT2Qd3?K=t7RtIqSOO-b(CzLmBr1K|9-OrFk3GM%{|l{j;T6XK zR5eE};o#U<(q{Ddu6a&_fGMw7$n zuGkf_M1Oqr&uFZpcr?A%UrbcnFo^qu;MfDrw(c0+jndH=z{g#{kSU z8HGb}NWA2>PuJrc1U$oU`3^6Czf^-Smo60Ll?~Z=kNNsf&X^>#X~h^eO7X=UO{vZP zZ;>k@?_dRj*oz*q6Q)=8KhEjr`n(?!mK6$q7@63t`~-R35K;R2a)SW{CEh4mYNB|> zjcngH5rYM98?*vC_t`5>%Vmm|brp385pa!q$eI|>BDyh88b19hPZ6c7xxCV6xeN;J zbmG#*MQ04#y>z#b2zObivWyso4`V8Af)%Q_XsRTin>`v-e;J|b`7~R>B750wUME`5 z$$}^sr=(ox>6*56TK|tGvoe^+QUB>}k6sqORRo|JIXG1ZcK8U6UC*q`@jdimkkwc$ zimKHdd%5>w=*Oj`uzUK};I*U{jN*RIq4l5+Pz`-wuxiC5)0 z)wC7WHC6dQ{-ql4fDg3qyHap)CmADe_rptTLuE0Fq=Cdjg$tcBo6#PGOW3SKf)dL^ zI;Cu+0T<7sxT%zw3_aqVJTl>{KLYW|$avEq?R$oH^9RT!94!1bZeOrTyh@?=*!dm; z!MQ)aUXt-ql)ESM#KAt;-#;Et>;En}6hhs%YPVO_U#0dHmw0i0T3cN?Jk{hUl&xA> zqt2A;4&JRA7m_PS4q0adjG=sA{`XYWbUmW2cb6sCOV_AVfB1|kY8h3ntv?ikwgqqf z#w=y32i$(n1VZQ!CbZ8uC;-MGjJk8qbG2m5;3mZHo^cjDkt>OzVDuPJy}>Astux)B z6`jZW-N~)}MPz3_GV(j#$Dt@`cIU})_;}SAg_Lg|+l>O)_(A3Y_FR0F6=!b&&d%@^QX`<`$Ago_2_0d)6(Ycf?&7eBC~peu?-^Gb2G{# zyI)n?1mW+&y|TIqm3HE_2WY|BirDL=d+hy?FoJu`&uAT4Wh?ry$(+O)c`xq?n+#jAmL2>mb>56S$Z%;$5m1DM|*f$*` zi=kr&H?3PcSh~G~GA$HH8B0J4n?=asS18v0RJV%SV%3>X_~E(hO0p6~KXPp^OoEtj z%YeLYc211no{@J#EX9G( z6V~!czeLjZU1M;H6 z!p|?J`rF!G;Qvi4DYpcGV%&%6s>ifeNmu> z;o;%grQ84AxWIfq?-a8gC0-zfa!YoRw@It4=&{Z5grNE=&6Wjf_DUbn9SC{R#!-Ge*r9uwUPuRS zb$P21w-(6jWM}04a=Y8jtLFtt#4Q&&43UC34bn7jc;VEj!uCUPAnG>>Ux|6a3aJ|O zUFa{rcBPp`Ajuh@Zm0nu8Yf_>#S7x~{HVhY#DR#gVWTJmzUJI=z{6^6Jn>esh!?Kx@+$VJm-gN49 zyqYy6S4Jz73yv~_J^l6=o|&ntI#L|t%}hh}?LSpjCf9LBYY#RKU|ExXA-V<(o)m=L zw0wNpl*u+7sx4=j+88~(}ZqG zR)Z>ya5BmcFUku1kPh(enWD>O1}n7VAjf^KL&c=rZ~d^-fN8Yu^~oZ)uHfqm!jEcYNdZ-BU_{H+?1p^;Hu1HSUUdU zLc4nor_? z@gCSPrL6>BOF^2A-?C(Du#xr2+6oFwOMeMh7|E)XziJs(&h2WCpy5gB%CnejQV=-D z$Ey5J80M6Z&~yp&yjD+^EwHvV>CAwE2}Kc%e^Iv8y;EWfSr#T!4E?kEE^|4=hnr{`WgJ!CpD?SK+;^e5= z9!qWcsmw%CTlM{==_iznYY|6I<(W;4G|r>TX;po}T#!H=9GRY-TLpS+f#>~{Mepe1 z=(X?sh&=M@>qYtp?yV@wWjl$IaTqT3f4Hs;FmW37`c*mr-c6tZD7Fa-l%kY9F8}F} zI|P(45g0P6+A08WCAJX~T&F=mr`QJI;Y_0i5_K=?5=%Q$2#z@E3HD6tj-%FpOQ!VR7+TB>`d?qL7G{ z=T&7|_m^jnbTzf0m?60^<2C?mG=Z}q72FqN4=eV>fN7g~b)J;Z@Sa}bEk`4n@+Yk= z9>a*E{Pve0_?M>_5AEHf%E<^t!@bwbd7MVyxp;D2vXNd=YFMZ?zx1Xh)M>i;VL`F& zOH+y; zN^VboiT70KXx!tJL-!#g;*g!sYVe2BpI$8bf!&If_e@$fy=7s)IZP;Jcw%ia{v^eP z#O@;&MqEUn%3J2J;fDElOd3uZDw;;De(BctzoBM1M7X2tEL(u);@G3-lBN!?d?u>f zUYZ*y1e?X=cX&^bT3%Coz34b?3A&vGPVMt%pCC#vt3*C#aOkiYkI+)n{Y%S|$2KwU z%Iv_2)ZHwLn-N>1o~f!BN_VzXGs>RztK4V-7EW!K)t?9PtI9nvA99I=nkZ*7ve3Mq zhFC@)Ko@w>2<)j5Ioc0sZ}T8~$NDxY2b=u|Cf3W!hkU=6Uq9^2HwIk4_y+UyGS?B{ zYBs<~o{s2K!Lfw0ic03Y#Erqi7JDfk9cHFn3VlJ6r`TqNOorm#k;GRwo=88lT5q>B zcMjBzQxw5yb$I0$PP*m%9B8Jtm((r|hVhn(28Y4D&y59pA`ih+Q9fpxN zAXYQJ!4($nGoY%*Ai|Skj3}??|-u0miE5WDa*)n~>Ey7)p9u$hVrvo2=OGuc+UA+s) zLhs`N&-7@YKv#6~NY-+r?TA@>CXFk>`$Z1aBe7+I&uahnG`!acTFZcX}`8c^b_{y zIPL7U)9WTGsL8Ou#RxL#Z?xJ-plC%UW~|1~kKWGk77XOKC>>Hl|DyC=6*}1brP+fO zZZg8rtx23y&)tKne}pJrsxF5N8uFP;-|>>|oxnqzVOk4oYM<6)4vkgIrg8gkfoK`A zUhyV=XNf$wrlWKB!a|zQ#oCQ=8u0iwFZMkqvf-LCrUInSPV-*Mm7m;g#% zP=C%?&T9ZeE+$f8AodEFXf#6aN&(?o703s*Uar{WFk7^@=2bdqZ zdI9Fi`;>g!O~L+3ir*A2b)3(9FXF&6vEI_X9}4E9fvzaorg@bttWseZsM@f z(@**^#4NAne64PQCic;IY+#INCwoX<%r$moSmYX5R7;%TS_SySt;0Qh(jzj>5l@ z9vRtAz*Eb{I`srNY0$apQUXGp`jrlr)+fK?!+KpWX3V^|S$+bB0p{Kxf?)pwei0G4 zHkXgyJj@LF4!;%R^lqXBSX7tOxF)`+W@9ziw;htw>M7IKkG$!~$gI)#>NqwM72{Q} z31&N0vxA`Z(c6z*Fe&=kU001wV?P@#yvQ0X*4>q@kOnZI$$@B>>#t-&Yb;?PaoxxI5N zW%4I-BQaSeg=N2~%kzH;9S?&{P$U_GTUf3;EK@PkV%P@-5>pDu0$FjbMV(w^*z_h7 zet=|>m34mpAMB7^Tg4k#%rL6SwGJsM?zx&CfxI;uUbm!+vNJkG(tr z1EY4!gE`O{lyD`m0e*gM>bw@JYROWZM;oHrqCbog5D@4L=3pTBPqCo^4sB*0qNq{0 z@V3#E9aOl{ApF{PEr^o8+5iDpUldCP@Lc}hTkRl2PizhVA}@i*xgA7ubbs{*@T-%{ zhHgLyuK+WlZq-!KwxyDpzI%E-r_%)Ef?U=8hU{07gOR7Fr?N3oC@o6NH7MVhGBcH!0NaNs<+|*Rt_#VgIu`O zk4`@aA(Zouo*jS=Tr&e8+E}ZoAb1K_$JSfVUCqq=?qcu-Ym8?v#pva+({#RZ4GsIJ zVEh3>1`ebHedmkA)VT%gA9VqM+D$eAPD%On_t6)5^zSyTKRc?ZD3DX|Le4|MGf-bW zJpnVG+e;8Y`Y$B2G>vR?%FC9G(JyY^t&;fp2*n_gDs$z3iNj8Qq$ zH*Zhzd_h#*$q-A9ai&&>E2sp@#&Y;do_JN|yE`TOu}>WM4HnEH?OlE*#n2;OtVXGO zAq#j(2?^z1ueZ4`S>kOsQ&J;`|NJKT@liT8JAtidEnht8bXw3kS^#JRzWYvWf|+Xs zUTMjoDv*VD(jVZOPIsw)1IT5KWpm!ta@i4#CBxRG>EdcCEw4v=_i~ZDOBV$)}0D;M@Xhfa3(p-y^rmQwQH=}IizH^KQW%14hn> z?omK3|7cd3FUsEAv}#OU()kKu_gd@(ln$=|)Zh58*)CnWWJzbwJk%OQpULaf?Yyoh zNJ8R3YyD{!C_e;%7pxbsHniVWoI|eyu8lW`8HJFVcVbD>kT{PqFDgOXQ(FPtS3ou@ zXRWL^|0{Nud5&iPv?)-fELsq7V}|yVqlN-!s3I__Zh=S>@wJ-owrJ4$pJ2bV>&_>4 zI3c)5k+WbU)2nqlr7;xp_o}ewsmP;VEtAgjzz-bxDM|bjFUV2MHhxGcvs&}8>i!#A z@9aFR=MGh<(UHFE!W!?s9ef)(U8n;n5B?6FGxCo-?F+1H=vBQvh+Uiq-Ob>huhH16 zjb~OHL%SX^O!747B%&v`$-r{H+P~+y`Ah9ifr_RtJYQk=N=f%s({tbOp{b2D%cvWu zf3$MJQ7sMN*!m_l^Q>W(YvRbA`x|~^v&WDq$zFBYJ$Xqpb@@8(e#F2__nN3Qn+-Yr zy!z^`_nXWV*wN>A3uQ1GbeAU5Eb_$r0$?%~HMMPtOTCAGanY0k0@r}5sj80#LB`B; zUl`g1qg@Zti=D2p}Z01$hyV!j2uznvGACeX#eKikBN4MU_|@D}_TX1;Rt zF?4rWPZT#ja1lrRRy4TrJYYKo@!LmSSkOtpxWBYZXcmR2m7>d$|$8p=Q zT{f?LktO=UTo-F>PBr&fOw=g=h)l8#Isxl+%$%9> zlt;}aa6s`(-SKE9)DAw4UUd!#kfp$nKnw)eyBy?*V`2nVHSeVky>MUvjhyqt zmX4&%pS&q&425=(b{Emr5ohju;3x|xw({LXff*Z0>B2Jgpky|<(KldgWLjtqGVntgoS&^XT98y2bIaG$qpJ(fHNS))e7 zR{A7fT0qybE95Ld|x3?DgY&4%zZ; zo3QNK&MYlUA=J#BaC^T?R>GgHDZeU6jisXE@=TVn8>qFFm9@*?(CeC;!C*$foyW!p zU;k*taUdj`T)KM;!$c7pYaWqFF};|z?r==>b|JNNbV_sw)3g3|=6Vn8c1fc+Aq&eZ zD|8y9BdxdpKIxOe$G@KJrB&~Ah2SUnw$9Q!Ip3o+6~$THF?py_KHPtIH;!B-QmJ;h z^t6Z6Wf{KnKdiIg?&CvRxDN~RwBr!SxT;)nVU)VbFJf1sdS~)^)ASZ6-na9lwmc3F z51$tH_Q^H<43%tl{*)vT{vCL^XEG1p3ATG9bV^C0g0`I8csulo@h+;{O(e@COiKFU zk1n&O@0wS^)o!Q^2?}~RY**)FIU^z2ICGTo^|?Zz#>I?k38HAch2omQ*=PRO0_NRS zYv7>LIsaCi4V~gs4z||z3s$JB_g$K7*?Ezn`5g9{zLQe|vx>@51%&k$u}d%CW3qqD z#p6tWK6;)}^Gap3%Nm4B9{2bAA7x)7`W1Ac5+7GdHc<#wZI@$Ta+>bmKh%lNeOm4{?c`I1z4X9OG$}|kx{6VCFdSMzw_SN zRc%MFN|2)-?Wd}<5K8bclf@KSAuWi>cxgkP2Q!nsB2)}VganVd{vC&qu(zS0V7DZ} zW7B_VsB?faUcr|mz}ip`p0o03A;lv|4KUiS#Y^o(uY1U4xB1-N<`KRA>IQmw`V04K zS``KNpQb<5ON^uz=)zq9#Y0dNoY9_b2cD(MspK0=vA@jIQ%EWG@bBp1T`@rSfP3=0 z?5{w;A(KydXoVSD-KhG(h^ruIZY@(Ng1~I)PupXlq>*o5yhQkIOdb!^kAph?=@@n% z6{^rruPz_tm6V1AfBOSDSrIhz-aYfPm&X-c+$dF5W#>BAf5A0!d5X_G&(^oxun4Lv z!wl^;?md7GS!qqqx9gp*jbn6!68z!hsUrPJir)=vrl^LnH>*dAtalDe!8?o*^#$~I<@k2+hSxVOJz@Jn)!_CL`;Hi+7qjFie zZ9TY!L}KM9@mDXhojc9|h~)YBcVQtZ@3bY=^`HjjhXlvg2z(o7+D&;qF2^R`U`nFV z;-oiGCue7-Xuvo8kE^Xt2h1Ar9hcV*_?|VJ09A7n_N)F^Y-QQ-IPEQ*#R;JHsO%&* za{nDXxD!_&I8VHJUD6vNDCwZAR%Sa-wWPdm5{7c66c_u0Oc9NOwZ5@|L>6~a~;7k9n`in^_<=6&7ZPy}HybJZ@7 ze~TE9^Yr{@1_KmVUD@xoS+BJ9Nwf-CT^qkj{15+u!|fz~w)FL#d&{-w?XEbE_fBSC z*!o=K(F4S^y`^Ai>EyvBr9$Z(SLJ*xH%#>~!-QraDrkXgR2_gA)Fv!!1V};tvDO-W zfaA;W7C`7Y6KGRw{}c7l$NJSD5@SvqNA5D=oW~gG))e)zr`91FVO(ywL2&p=HUbLi3X%>~&a9h&R`?(wRfB@*B{2p@^sO zBz@{0I6BV|cz=;99(9X-dtQGZ3&c4&PRnvV%gFGq%XOw`$^yi?;#S8II4rWfm)JW1 z{1?J<6LTQm)emzrhAMtonHnw96aZ$*#V#(-*4l060vPL0JwFK(c!dyp3wepwVh=LDxN%fLw;LayMJc8 zgVzjV;a47gXsWcI<|(RTCMLJQojbQLt0D*v3zuG?OmorPORH)t_gN#llNUhSrl{2C z--cgw+}NP23Xw7FJC!J8LF~z>by##`_A64$8sDcBeuH=F*&srX3n|3x95+M0O~J%B zYP!;6lJAVSa9inGP-mXuv}etb+Iwo9EjVJp@zrso^DTH7X9M=o2j0gJN@`^Rap4wR^ypo zH=?Z9H>gLnu!OU@t?dBV$>HJQ<*GYgM{%sVeYBi>bc+O-vkeUde0-+?0Y@g`Euvmj z$2c&fl7$MXq>*}r?`<$*%Ce_KCs%S4@PVaG)W!~j0LpUjdW^?=y0CFX`>1uj-DWg( z^x+cNB%$RUHrTm5@|Rcyp_bqicK#i~s=I>}dGI6UhL+ zx^5QF$y9(4I78rnVPK!{z>p_Y?O9UZM4jj5X1=Ph^|rEObeUDj>XmcY2l5`(9=Br9 zD4x0whXr|gCI7a(JdGfuTt?w+U20v2!RA1ZlwYiU#_|Wu78IBN7_CpoRq=DlemP%9 zZzl5K87Ult>7Zcg74UYSpPnYd&VHNoaJT%9%M7tL#5Ui_YtD@Ml}q}`7`wTl0Wu99 z;TCA6(25AHNJwA~ma14$$XG74IDg#p*ol4C(&S$J#0ZP>khZ?kXALwe`+&I|QY^KMO#Q-7DCt3> z_lJH>M57F%)-k|B=>u4YUSA1-95mMU1Hk+Y9D|0;QKyX^>wK|XtV!;C2r66PaB{vC z0OD!JhJnVYj)#x5`@X{(lxrWQ1rVmBrA)uD;M}Lw(yrWZeY`_TL@!A*ZD}pw5+R9i z7)^M3%xNn#*4;FyDdb9$#EZ?%eS#Jz=0ulUrkDGJH9(;>qn~s3_FI}yHW=!PX@Z9^ z*FI6EU=t&H8KFNrdg@#9aH=Y6BJ3=yvRvvG!#ChK`3MC0h{PF>Q(w!`7QDW%kVUA~ zu-@?MCRa2~^jSKSy}qM*)0^krrYYl$Ls#$i)Yj+u+}G32i3;Mj{btJwE7SEbm18~u zGf`DdIax$9(|6CEW*hr}prWjjhKBwd!#9E>qV0ty8!IwwYDDpqaxP}hnVP)3oCcev zoo}yvqygTOfG&F$BhexPH=KtSCYP$s;8ZoCtb}@2Sj2G#z^pPl##DgEq%Bf`-;00Q z`khsqYj|5EG=`&OcCs=zWH-Sir?DGuS@% z)?n!x4-w<2OyXPBot^6`*7nxT1%MeShB;qhde!Ry^~{n#2LK3I8&7;;)%LG7z0S8l8Y zwjLmQsA71Z2avfS?(fDG$}MM|RnM~wKBD2P1VD(tuaU6j{c^!PRm*B^<>B?*#}@$b z{>?L@>ihYfBuC!N6Dg0yvrqb#u1q;K3~UTXGih$y=;8UPLOx>+q}d6vN+FZdr2hs8 z24dy(o=V801^Vft_Osj%Ti2iNXohvW^Vgf-w2VmeMweY@W@qKB&Hoaoob~SO=7_Tt z%9fQ?9v%}$MT$|%S$B(!kQ4?^kJYm^mh0694I*DWrC`{$UsBYTbrdEUUYeU4Gs?_m!kqh(r77|mzG?fe-gdU_CXa+z zQx9XmKFYbW^fb>dvpHSM*}h$8y`^J^vq&+a1m`+OBuSVuW^4XQ$_S(Mx#_|4z3EBg zS%xmgAdr2#!s^WC;ucK?`$&_q{^fUiAM7V|U9$XcZ)I$E5q$1-KN*rFAD&my{M_03 zv>wg-U^hSn2h&X}my|PqF}3A=zcO4=D=Tn}r}x}9up#a=k9@Mf{^WJ|_*Zd& zcnnfAx3>DgwGm4#DHdi9veDyJZ>-Ejc^^cnTjN^)5O|yaVM1qT(ddBVI>D}@bOawe39-#^YZd`4#W}Ez1-Z)&$MryIR*J!0X-u-tiy!a zKP{<_&Pg~*W#h-00wo=tj1U4B&I+I+a>T%xwYhHW zF=F$KU!WEsjSyO-^PWmFN-dUa&Bjf~Wq0N$vOU6>NlAOYVA6^}z=vP4>Ht~JN=!VG zcyCsrfyD+8o>))mLS)#9?(E+hW@T%0`Ez4qtxcyE>?jEtC8}nd)uqAsqGEvqKoZ0h zC~wstMSwm%9*&J=GihQoNpN=sk3Y#_!AcHCh<&mQK*Cd?fq#MKo5DxQKv})dfrs5~ z?v9Fwe>eUxrrB^yiQg~`qfkyF3*qA7!G2@>%sx-V%#^DBVHG$+WZUE)RX`mD64jxq zBQb8gea6|aa5M89@_u$O3er~^wWgDLTgp%22uw4jDm1ap>pn-V8-YA2zqtJBUW)uG zfypMovlMwxo+fjDe^1~x0r5){2(SVYQd7ybOhk_^_%1}{ep(>uERV8kPOxp43@bKo z?$1_H1eaVVOVs=~4j#?1CO6kVQ!$0hFIbsu6UlA9Vl_q&#Rkp@IpPmpH>W8ZJM5>K z^J?aC6o0Lp=Wr|rF)$ziVzSfDW$CVl{z)*~EYb~BrU$eZh9aswsXM|rw+JJdnVA6D zN=qxvqP?*(q?GJ{0Xm=8^2?jf!fG$g`V%`gE@sEm(hq+A2|biC+^E(puYCKVzm-Wz zEOJlz95zr=Lp-$mIKW|szP$!DzCD+BRC*f7c}}s)*a;WWOGAb;<@jXjrox zoF+h*Chu(_3KWVEu+teXjiJV$Fz7fWkj)hgDb2Wr{aMT%Bc*3Q$T9b1hq*7aC_~5d z;%BuWXBQ~sOXgq|!!1_o4?8oZ0>s+W-u=ckUt67tWu_G^o`OTU`xT7OPd8XQE)Z(H zvG<8PrFiB^;%f@2Tm#wV<-BQZTAG?X+}sE~z&lv#B1zVab0cwWtz&Gga&nR?v-{jE zwD1Q|y*bS9U#qFj69c=T)$L0$l3w79|1VehF^V)w8g` zDMdtz&L*>gh!gakuFJN*DJdn9<%8r>E`9eTm@T5> z@;j9TE(3IbOaNNWZ;G#8Foe|ayprC*fuvy~VZX-##=QbkgXw`hF`=Bk0V28>T1zl# zE*Y0o*cCR6O<8%lAVot#MQp4>7Kfm#9S6EF$3PHus0gau%;KU9V)8(d64~#MtNm@C z$k2u%sixKR;902&G#`I!uNtB95xfz4oaK z>cB6rxtSc7z^K!I0SH4g`67?~HM0F#`q(KYBZOxTMKJZ{7jnke?zIlWUx5|E-rjt0 zEJ-#T%Yx$6;D!qPp$G4uZnQu7tE)N9mU0;Y)_9J*x(0KmaayQ{@^@j6pQB8qI{JHz z#_;&1hU5umGbv{Dx9}j zO>6*pNQihzFRnsrah8KDpi0tX$p1xzVZsu8F0~E6X4_3V)VOHfNvsg%(T1fgHukEG+U_o8|mZS?()R9v7-Sc z|I>kz&SNLMq|F~1d+PLR%&y<3JHp%RZ+lol+!G;&)P(jt(!)+#F4gn#c=!t)hK~yk zGNL|>JouVk2VMOcZeCVe!y(yVC&|}WvNVbp+>SUFzp%r6AKh^ug!oNGiFkeSanydZ z&ClwO3C7;PXDFrR1wbXz+xJS)ikord{is768Ac@=O_w=4wIa=b0}d$EvuN>>aKZ&J zdqScO(1(5pPa=TRQGhTdF<1;@Xv3VUghj)am5-58&|Nb}utW4VovF&tqe+g#p6VR7 zQx7EdEdn3)bECboJI~Jf*%7VIHoc`Ipo=kcmHzxI@nU0V;>%5r=v8ys{kFCxVJ@a? zD71Nyl%;_>9gG@Aq$2OpWm7eLj2h*WV7s(#uPK-DX;3d-sy{16zmdBmw&IuyLbnWWmvjb*JMR^JkNz@m z(pxrw%{q~WqYqhQ_zf+_<&^;qiBPahQ(C~_PqH>}&@F5dBT zHJ5fs;fwR`=Sg^@(d=!nSqN=QcW(IkyQDq2OczUH)RW`W!-X2Yc1y|i(^;f67adbXDI!`nHyj5`Z1HzNfAtW^`!hnKmRKDU22EdT*$kTt7=T3j<`S= z2jMp4qfO7DeHy(u?wLdD$d5_?Z8_>xX1-&j-sz;_zHjbVatAUYnoqsU;AIO0sI*%?LnV&1&h>x6pC-ChX5w}0| z7uv!Dt!?6bOBkirojLX3QSyE)7C`xA&&T4FXsw8L=WjOej151|+TC07Q=Z~Ebu*-c@O^^zkl<^Sp zpPT$tD<5mKQG#QB68Z_w2*SGi7oeKd%;7yaI}<}ZOSJFu_#ucp9ZaYoDn%N3YwoWg zOxyjfj~or&mkzX?jIPX5(;~&XguJQk(bm=U3Q=Z?|f0=#z+tncbnq|Ku%lU{F8IOx+ zX{qb>A`xQI`f*d4LWkKXwKYG%NtLfr5f9ChsZ2+9MF;Nw{FYOgziN0a3IPH8q}}>f zl1bBKb{|Po4Kd=zEy>3#Xr-5`@JghZIhz zCXF31CmS+<2)Cy_R$UFUEyrGJ$(hj~22+<+Jm2hBvS!R(?N$LZggAt_6ftHvj78vk zX{S9VnxD;?uG~lS+E;|~eBZ@B$6XSS_)L|vW@91ss`Hj}mntPE3R74yoU14Dr@&+7 zNGWD$J&NY8;2cdN)2KE2dzIEoeiNL2iu-hoj4-$(?VLpQbPU7qArYU40oaW`K24tNZjW!hC02_zK9ld0azEex-G3_uUp}Q&@W+Rj!;0ItVI5LXXU4=>p>g zX;ruAPZhCi9fRS4vbz2d#ez&eWl$dQ#HibaGrJp=eo%m6+L`8g`jIL9eqmC(%r$RRKgP0P*;TO0my%IG1~vI?~sO2q}c9|BE;zX zHHk)Ns{}^7roS1o&giek=&uW+oe0Ud*43rhP@oQ7{SXAd9MtCF2C=#79s0jN51g95 zuZH;NeENjUh+-B0NtQ@;Kyz+{t5%Xml4fYw=W#l1ly#U4eO!~z=rV5TC^u{Csa${1?5X3I@V?pOiQZ~bwseq43Wkj9x&f>wa%lI1#JN}BYr_Pn~e6O z2_ZVsu|`J*5Eamv1(C{l(x*5sD1>fZy(NHw{B*;wqY$ZuD@G{LL*FqFh6cO2?gQX0 zrdG`|Dd9t7Yrv?N?mZbqqw9J5)ALOh=3AC+L`(f9w_P_oGzDy?u;ozp06X@@ycFlSrN)!WmO;pjAvCp_pZuc7sm_ zaZeBa8b-0QT6|ivYPVW*OLCGZ^s$y;J)CsyLjo)dl7oETGCx@+0b zTD&>QTQja3h-Iyq$;#4Zwte$2O5(NO2HaU+b8#~M(_??<(HJ9aGyvF1?zKhIS+eqN zFNtccY0Hpnf|j)3e^~|!6)wlufrxVI8Squc<7Y!y11k`dY4)9-g<|CuN*M6(g2QVY zNO1^;Q#7*X_sP|nPTfcfwuqMoeJ%4ks7$aMrW5Tsw+r(Gz_L(6vtKYr`Cf`kxvrHq zw-h8jUcz9Q3#S940KBkCYxLU^ zD`Ps1p`!A9-d@$e53;qeSzE+M3>15Q?weY?8Y-2yu;5LUHD<}#A{kcpo!evQm2F%e zS;UzhS!%8WL4}1&m6oLy%2a__2MN9fODS?STKoa@w-#b_Ji88NA9Ly$5^jR=-!97Y zqB2|F-_Y(fjS~`)Oh%hB0$Lr8#;0_~tP!K^TiY8phtz+KKj7~L=F0b%s_^J~Oyc51 zx#{Qv3?O05EbmPyE}Hv+03-(QJ1&}x|HY1CYIB8noR%8E_Ztp6Ic#=3OQ*535fW(K zKEVMk&O0}8PY+KRXc|k)Axq0RuH_N1O%bVCnZU-q8$7_~Vw`Erb+mEy)Vnulw|Z*J zS!zkOsHGTNt~FTmUs`mmi2GfY!w&3%Uc1{(@!bwidZJQXcP4A2x%;#Py7ZP)?jB&a z!P1D_RCg`yVB@8Vwf11ev-DvJs%@twh~&J#yFXZM^)4q~LkW1OKL(1=5qgdb9Hz67 zV(i+swKxp+L<90CT}@@O|53#g(QR1LvEad%s4XKzN3hGLGn$>Pq?VQfYM4ZZc4a-a zb35ETZ|^g~-woB11Q+7lm->Hf%Q~SI*27gvZiW*x#-@hgLgs&@U_!`G9XbSsdzq+o z4GjfrOo!p(`rjht1dF+#%#%X?(Y1pW>} z=^*M+91;=uJf7eG<*0~m%J|;c!+fGN#(#bCg&~a6u<>nte7@4FN4kJoQYz@5QDh?z zO1q*!mu>5+som&Oogy9~M3`lNtg^fmP~epU1XFE_V~5s|;9wThhVq&fq6@7fQ21k~ z8VlWUog*Mxtcgm;i0;+@Ts41e=gG`vHZ{~M&10}HZDvCjAIYO*N}O;DgDOjU$|{{q zX;mW7e2q=$`xc$NJ*eIn`*W~{t7zB36u%*H_+hm{AVV6oKKJ-EG`7ot_1MPW*h65) zz^Q-E!ob^@+p_lvSU;cd1So^Wg?)VeE+qe>s4D)sMCC0O=)Hb6s&@0#^5l(8@3b>` z4eaZQ<~#uxWgZw>F74E=rZVJC=Smj$c3li^o6&=4agd!( zW|7k7vUS3aT6|fVF3^>eu~4`dbhQ9ICeCX+54^$fHJ&sdzdyH({GdI!6Jluq|L^k$ z*ZOvTlirLyJ_ z_`;D0N><9a7Dzu~q-*RstR~3R9@`)26588hD3(U#Ak}mnel^|IsP)EmeWs>oNT5PjEOFo0bGU*otq~fbYFP1ngZckO9T$HsdTSzr0ky8!1$u}ZQk$3=B{kpsc&aHU z6`_TmWv(gnno^)Hs?%nSSg*CTm*-peME9CnOm)`prvggU&Enf?YFTX8Ld}+o(Ek0}$c~o2q%e z)8REaGQMqn?hzgo;YA^Uh2rf2#)Ekp&87!)w{q>sPOhKZ`Pa>z{*Gw=xQ2nWshS^J zEV1T}m38;xheRMtC?&ePb-VHf8F4w-WN}!5FGWZQqHzi_n0R{$eVaGgJ$csLjt1{I z)WF{D--|4YwuSQo>SYk-eV*}P2z;~1d{&)h_U@qF^oY6Q_=dv+5RfhBL8 z>+bIFnohL`_StC5IML+=W(@qLspCgAlZLku1BFb7fbA;@?iVP?BoB_V44EQ2mb71y z&G;_%f7EbbF+AaUF!8Ld&KBD)A6wtBms`H>3_X@4MVUD+w%@Jq2WPD{J!F3r%gc*i zeV@>?eV$ILKMt_*B}2}^S%8!bVAaR?@8ZqBw}bV(<#XQ-bYG7;o=!h3TWGjYpnaoX z?QkD%$XMxoN6F52v$wC`uR zbh%^cJ%XD(M|@9j=g(eViB##lE%pmX&(dr2n-&@fLPh$B4X=>HG;Ty<;aTIS$%NK- zLO%Rkq}CB`(U_BdKC`Vhmp`3K4R1R=5zqqzMJM%jr6h-St@dn)Mv0l$zbi#K_z-TPJtwBGD^6GvX@C>4#7rl zZgn-e*7?46PIlRi1$=y*8;mTO=^*22Rpz~#DP7WiS7FJh>e$I(2^sNpr!5PtbUjri zs0?e(#=Br!uUez$J8kA|XWZT}BkfmjVfr2p1EHRa0l~f@Y(Nhpb3^i9oxt>mHT|-U ztH`DEah+mY@%>N6JU}(w%$TgM77fSr-Va&7S4(Po<&WOfyCF?0e6`R-yjKgBJgxNTAKh{Rb0%O$#a1!mG zz-H+egK`Tt$pYBc%Zo2ZQVdnT+ZA+p>@Mt$rf4O(`aj;`&EB?2Zy&=<5u%?4y>9PV z{@=@sy4>~s$RGP7hWG(+tB0B>R_1P$^WAga03*tr8-D*R#ex1h?XSQfIKtBlU@qQ@ zqs#=9fPERlbPXUhq@b6d($pC$=UvLW{QHWX@`OY0b{(7cPy?_R_*m)y?n_{2$A33aA|PIE@P%Lkc|{OO zHoCRFtVazWu+;z#)@LHSKS0u-!}Ba%B0ja{`6+j@nELSkyMk7utzNSO`OS2Vw>U4M zxIQ3j1*A3g02x!n5Qu&O9MO7$<{xB2kDHr-;yf`y*Ku|>Pq^pw^fYv`I(z**AUwTN zpExFr^2+0M3p?Y(f5MmQPbd+EFsKjq>ivun#?%-QfrI#=QQZjSCIx`C8W`zWbDY%0 z(({mDB_y@H{Pa>920}@dr@)8*{&mn8)fDdO|OL_H+lmwPGV@8$OS>}M9Q zE`v!n1eM6EB~Ay?eAS!H6u{Poj7$^>qvB=91@w_WErz6q9loIvl3?d5q!!ZYF$&^f z9|Q3a$`e_Zt9>xwuehj&sQ$tWvG^&VD=rR|_pOq%uVH|4=?4Ysp)|!`knf*BG(`&< zBVcNM0m}}+fpA-y$rM?bD1NKjq!44Wh5;i^D|X`RFJX|Im{PN_185X7K3UR(Yfo)x zDAejt2v9E&fSsh{^@LqNwpu;nhJMr~U<;`T4KhGaJFJcDzki*tE?HIny!26UW5M}z zPG>l8)MeN?ielR<3{xt)Q&%Ibp<3^%RhPu}WW@gn24DIi=LLKOp`Waa*AWMZxL<+j z_uHzU5iv%u-1%0D>xai}r-J|P>N~_lboPt^&%6DO_nRkv%MK6oy26^n+x9|+{+}~@ z_z()p3?B}2iGL>?@8F5Azhu=bebd*ku^Fn6MrpSD&n5tKZ$4yQvHgFRseVGDjhjIq z4zm{;;AfXZ&jh&JFE@z){m_?|RV%_Vc+bzC->p9<2fR(t@Akm#gMC-|_iWjTF@Ek*Qd zj_qkCY|ufiY}?0kfW`6OHu~LJzIs4_2zPt)SJ;m=e&37lI0$dEC%sJc$p3RefWSBV zQCMjV2ER3c#`^^Ee;z;ozqT?y_%3-Ox$%@by!sxUJ)d}c$W`UT2z?M{fQ0*@6h?CA z0a|E(yD6Pt6Gcb1fb%ELzQGlO47^zz=i(wSnqMt?%VI-|%2Cfn^li%8e+Em>0X_D5 zjbraQ9w4$l1phTK=0na1ve0K(z2mc>F6Jt#@9CQSJ39yPz zmX=xJODJgf#AdjNlDBgK-^mF$En5j zP_#fa(zQ$khuA?oCNR98cnJG7@KabWRg%eIO_@bl`9Rz@o{5|(nMzq@sXfXmp4W$1t<frvh=(OOLIj`aJ-NwMhz{W&IBd~{l?VIe16=5~qk2GY*Q>ZI06=Pkk zr|Y+uUS_uLPtxYY{b*!F>T@dJMDeBG@#i-2$#7gWgRGy2@aL~p2=56af80E)2{T6q zJet&5X=}0Plx3X1B9)f*8N&7_(y38{`_w6nFv1np%ZjCohKJWZx}d~I(gf^}(0?g$ z;wn0~nzGdHh91&M3~cnh3sftBDyW4aGz>`O@pJFtFp^bvG}~R%Cz(#4&6?Ic~e8P{p1umz`d|Pd*Lck z9lw^x}wn@0kLzdn$2e#MNo(j16eY16dY$ipHUQbhg8oWtfZm z`sKkaPm$`!7ZvPx3c(;Ulq>w}PSW<*gSr5C67$iEP#-WrnS6DtB{7X@}YGeL!R9d+`&7-F7Jz51TERWp}VH*W&kEDWL;;i9A)J zG+K9dH_KFyJSD+}77*5*g_51raJ=F4!beXT!~CyeYwN?OW;x2Sgf#o8#fynW zG~JXLZ8t&RBO;Z_X`XcKf`BM!yGPKvlX31j-kYq)>^*l=z1fvWli6}Tw|w^8lhshM zY8{CiYFCq6I*HI9EUDUHyeAZE$f_FlH{ESyst5XQrUy!f;pnUI7t+3|Zk*vEuq+iO zk~o@J7gfYwVq96;)EeFLvg0dAyt?x+%_ObS1jB6uclaPMAO5%6zig(mYF;R&M1go?kNJ`z_)RR=^E!LZjmYw4aDAJyvXdQI1!!PkO0 z*$t}{j-FuG)L^hQ*-y)RJ+d%@6Don`Sjv9X;zDa`zS%~DlWIfV@^vscpIdW4K?wRU z6jNzx{U#-j3un5GxpfMAf&Ec}9d!m9T~BOqKQmaH9!$#;)|)6NusS=(?b#P$!D6N| zH*>TJ*mM5~zWW&@Y_$L4@vJnD?|eiApReFg$qRk{3gK`dQ>zvWR^~n}P_V{2`w2T- zAuiNFf}#C}?LW#;4BBO}LqF>p6~jCz=AJvh{C+0u=$Y zoUp4Q2{b%Y>1b7DW644;&Xc2@Fek|&th@7t+mov5#f z{-K?3sd@s>H$#ep5y|t$@XMh^!$o5$4mV8GYjw1IMt$l(&T)saD-BbUwp&^VrxIf< zQYyE_ZhjjMSDs2nl>z!nRyBuSDH!8Ls??hNT#+A3>Ls65;zRGfQmlk!()o9%Ypq2UbSet=Gi~nEW}^)Rt!1^2PR3;Th^?5+oW)Fkl5wb_-Guy* zg??NBpMgLW!p`BH!H81Juu^bTUXZXR87m{Nwba-Mm$>$A?>L=CjWOVF?0o8F(_*(~ zmnkuqav|GHNR&f$9ULpoXw+xTca1RVqt%KOF_D4`>5jGgbQa@Qs@_DmMe|G@)(Gl% zCJRKrG?dXY_rr@7E+y4XEG#J{g!|^fX$$TF`xC$&R*Ot0Sd@efMXjBA$yJpf&d#!V zx}2WiVaq#v56zUsQ^?ULgn>Yyc0N87KC+=JN%V@_1ZX^yU}Pa(JY8y*OeTKw*dVo> zzwxk5Se%vSmX+#^AgjX~BZ0d?Ia=*D{rxC{&h|TidgA`Ko?PwAchmf^BNHrbbr#zW z)pbUSVNP+IWM5jL5CR%4vPQi}#sT~Uf~2KAx0=d`b%Vq?yl z8cdSldw%18Vg71mK!?vpMy?cCW;7QbZC!}CU-Pk|!l>7sN=O{_*D``L_y||H`pOf-%pL+u(TXjBWXs+a= zArm?*d7KH<;1&VL8pm}HaK-+67|hr6 zGU`4mlLqT~p>6=&-QbnZmgoM4Wqcqa!s!&$zNt1(Xb!3ZV26q|8OpugEMu8ID{1Vm zx7azqGo?fIJ|QFVFV`IYs#*_mR#On#MErzJMp_;uxyF2BUNXHqV|m8S}a6W z4w9^>Y!uW$8uli=jOAYZwrS)tD&1e%(5JNLF*}jaR1Ka%KWSD-(KLQ=%gUqwKOCKd zL!Av9hqG0fFhzOm zJNZX+8c|Vt!)ymVg*EM+g0lJq!nA&tebZa*desH9CXlSD}lzf!Ln#;}YQ zi;bZT)`(LqXfP*o_d(FY2-Ht@9AHm(Auv>$MO*xN(uDH-UayGu4khF2{SHN97??&p zmsB>QK~tFtUvFWjUqKUR#jV^bOklPC#FjaZn>DmT1Hnz!6<2&GlPE@(?2^G686U}k ztv*v0R|%&PlbjDJIfcWnHUg7JXGrE+FBrJ$QA z_E@IjkxzkQP}TmeLD)l0Qmr0IO7j!kLoqO4q9DvSI(<4N*RoCnFy5UN6SQv zDfp;+KiL(}p^T)od5)CaPDy#)Nh?y88bC%wT#IZt3Wk(6NQwRqncT4= zmk{eQ1J5rk8Py=hey80&c}j#r>ewg?k$v-Ufu9dc8#3&7*Uq+BYON z%1By{3u*HW;v6Z);<5r(cVm8X$2ZxT<+?b%=;yN>YA8kCEaD(urjy@9uuv&}=b2|1 zP@of6m)nUQvKA+aQX0^h^n2QN~Pi4fn03Tlzm5~lEL!A zQhA}F?9js&ioG2GgKQ!}vw>D#MuvsnNCw+$W<~oc{U6Zm9gAR@J7<3p{4vYVk*xGC z-kd})wz(2e|GE+}6QK{nM!z=J(;_u*q-wE-TLEw%7Z;qY4GrF`-YMXUgT9kx5bd!? z@%~;Z&MHt@l8v63D7M&6o)#Cv8>NV`mCP{>&MCp5btT{#{3a)+MHMWpyPBME z%u7`qZVHTnOnEuBjM9|7x~+}FUj2LWmP3nu%7=}RUxX|b5Q0V=h)0et3e^7bw3loEI~ z>2PcIsUCCfS>7y+7#Uw9imH_AyaW)g{BIvvt5~I@PG{j9E&U@$p3Tz-6S$1Y~EcKYPhWx8h;M_+AEMK)E}FF8e;N38?r8itnxjbV z;ImcJjxEu4U!!<0@pQ2^K)rUoL+7U>)?m}Oy{uE2sWqP``qf7)r&}z8l3hb}UNcWZ z?^&t#>qyzXEN@9ELr3tTnq!&Q*eBpzP=V7hP4#T0-MvCf?EdANoIE=cIa1`V9t#Vj zcPmo@SC8-oJD%E^=@Bxpo|2`fx`3-nf70&5w&oFrnxv-PiPLHDID^NN`Muhrr>BQx zG;_9EfEyE~6K9*5zHEU3oLredy4H!(G(sfS4b zOBX9nn=Gj&&5PiI;+LwelO9$?Mj0N=X`xdzXL876B3VPy@$52I$k>Y!WIWgAOCj5e!LgQv@i;|8Qos7+nWgq_eh2jMU zi-t5is6&Rlyu3Ua8;_3d4W|WeNNfbrd5VSL>d*s?k=!2Eyq^&x6{8$^<|Hl-!={e( zFG}Q;eF>^s>+1)P?0dmIVZH|46{H-n z?Zj3~vQF9;N-N*|u(|B>lqp=F2yD!&a^aZdl%vIjBk>!YQIA-eY_w&$Ytma?U1f#? zpf&_C;>yxwKclSCc;$@qXoV3Z8@2c~X#3H5JvJo|MX+e_`H6}MVhi9%l$5qjh2wB~ z-^uPou+mJAX!z@3wF5_M-MIjEqyz(RqZcr4db|Uk3IG2Sjz-JVImnl_Qjm)cj@LF2 zF-~ULV;s#6ylmw(^#8X7+}OWv78?rv(MK0G#Rzvu(Bppo$Rz)R5i5gYv_VfSx+@&2 z$asKmBx!|`fkS0yEYleIjP1Di_ciOcSEY9g=vc=oud%z9)rigdhjjw3S4E~n=Q8%P z{22c?r`5%oHEj}dO$z*WoR|oni5LdiK7J3vv1Dz$fmOdFai(?YET>l zY!q!oj1!vC$~S))t3oO(IY}%Ed$k67Wi3XfP8=K@%*V|flBm8TN5eW&Uu6lq(ngRL z^C!@PPH<7(SLWvv`2(k_a~9}8nM^--$>AvAqIzjy#&G85429{a{H)MJLvEDd4THpz zu~k2TK$59d`T4Mn@Yb8mX!2s?^0G;UY6H!Km{}XlcS;f8@{Oz(BC~IS)1@fdTKVRj z_c&_Udz8Gvx0mzJgJ`7PSOrFMPfl{!on!^>FN|7R6#SD5;6~T zgQSmnD5)0hU2?d@?(cVU%DP;VTvB|KK`pIdC=Fr;PFOIaLz5*ysQ|-d@(^L7} zy!aB;cMIp;j~e?*UT3}rDGnmBmxgggXV;IzBz6_ziVrs=IL~%;&u*shYdAc@zG8-NaBnli{ zg1}#<&b}TmHhmcwCd}gavAP+Y=@`3QR20H#h?asrfKbkXtfDd_$kD@&X|3EI08i;; zN!N3!S6JMD)L~nx_m2RBvWa)?d0xYPv7Qiv!mlDpF}v25env9s@N}RsRlxdwZT0uB zfW4g$-xVSi8k`qn7_daJW9828C9&5?>EDDFcG7^XZI0-jfbwRjOuf9?QYTPcpDkq*azmzPMzvrxTgcz9&S79~cOrFxLL&-50ILNDuTY>aG%mJDwNKR4!# z$dA#`*;safPeLizz18^_pa_~Jug=c$aC5(74=>9z(!wS!u&_meW2U?eJkKZ4f;WL{ zBfX*8(nS78l&lm%GFYM~u0WRq`IOCTjaI?riyhyW8zsk;53i}iPQ{Xr7R7^!zgSR) zqp9~n)paLvMMPxDl}H5Hgwhwur{HS|NA}5Kc5o1gQj>Q2`Bo02r6oU~O5pHJBFIGM zEiWZXE`*ftOP<_6cQY8)l}I8QkdYh&UX$WVu3S^RP+Gq!3Med6m4aZ75>ayE%|TaH(-Ib|K=#xuHZu4({5Vn&Jtg zVT~Ff=`4~vJU#tW!bcWT%Uw3LFO2w6imyhIDGwzMXD6a1UydJ>jgWu63J-Yq@P_eQ zD8<@cqd_^cx~P%CHBUI$B;}|N{g?v#rU0c>P26d_I3Dsk>j`982U1Ecm_IeTxNe6q zC~J?oe2}r;-opA~;_rPZl77#xt2Mt>yA_8;zDk++x}_-oLvSJVwS`spcgk)}36du6 z#1Hczzxqk751N}k?<$&$YVhy=iE;P}9LO>vJX5E`$v_UkV9Kd-3*`M}$|(`977#I+v%s7O3I(r#P! zgaU${SVn$z+m#kiz89o_`0Z%-ofFh1J*iq!tjbbE-nSuU{43@;0j* znkWGMg@d#602%deL3ukXDl&mCbru*Epr976KMJGMA=tTSemhx6c;Xinqy-r{7=3)( zqr%I3FHHF>R3&I-^3y*|JMI{>Cr!3EQmfs0Oibwk+BZNWhDM39d*O!fBcsGkl83(* zRjb)^IAfCsu3a?J&vJp?Jo{1$R;2PIppgGN(i%?p;)ao!#b;CS{s0*xuuzWP7be;7 z?nL?z_mU>gH2Axw`aiVa+gk-oCDUxKZk7GT&5I-8-$z*095Wr)C74j;}`mSv)#F zR~2nyFO>SF%J00LSa1sfOZE6m0PZiZ^R@U?T|jPUBXJE_#Ksc?Z@`($02?oZYoJN| zYEVAv{q-ncRm%~pY9HWLAs=zTFa-T-@I0>k53wY)>eBNf9}AoWWqBJB@TfT)2PX!c zSOP1p0pS7Fh`z2|K*B1DO?CIM{`LwDxL-vk?R11}Cy1Ku0T=%fA!g(MS!Fp*#3r~L z0LzN)AUIK?#btAgkWHua>?Z(&ucjN!udMvKJDgUkwKL2ndDDI#P}Ly#Yotql(gh`! zeRL)`coe|)>XZ;yP+h%sVF$YGW&QSzIIHsT!d?ZKZ$c|B@a!xGe{H95178v-IZU6I z=Aj<*#`U+iwumAKg2a1N1|gg+Pe|Im9m;kh`VD5TudjOCPxNkc6 z1C|?B0ohpNdE2!beUQ*~`#I=-=X=6EcKu(EfNk>iht)BmT<_rzUaPMIR~~L2>=~^1 z)X~qX+5B}72(j*kis{p*&-h|uUBhYR{~1waTJorY59hf9u)hil&Sf)}F|GSwQv>kK zT(FIXwg=rEH(d3}!Q3pE-j*6sV^=Utgy`2g^$zLwXVM8m;#E{3oi;7qNrddz%u z;hPYD^N&jxYCmM=k}Uo6=NXXCJ_595K@ij*A)P%daq#L&q=c9C8$d5Fup==ei6@Cn zj%qp=vKe>WnOiaX%)Uh8tOW6YJOY%ucZpsrxGMB6lr($*#6Mso7@3uAxg~%(AxWmJ>tkruYpmJ{hu$xJBW%L>}*_qfveZpFOOV3@IAYS!)UTm5My)q;56BC zv`AqqYHe1b?tfs8uaFKd*i1S}m8mt(h|!jl`J}G9pG|xxR!3`|)@un9f7Y(%KI53!S7x;&u#U)Kg{Ei=MT5)ggTC8d(cGgss z8KZYaho>k@g9rzs`(^2Gv|bXxe}dg6$~swFt^G3A@7Tcab*8HK1}tj28=fM~GK8Gh z!e1|3sMxI8X_5(bD)f#l1kfD9`Gx;}8QWW1!wrL6rA_4e9+e7HvK_E|&Mq&XLD`u2 z55i7XXE$>PJTad9*Tk*{AFJgqit>nRGSN7?EGWLfh11qJ)8@wl(|b!x1{5YJ!k<6C z{O-SXHcG{6@DtSyQq(UsyRVQ2*nwqkrB5Q!i+ElExGCdumymx(v%ETUyl7ITWSWVtC zpC>%T{dRWVl3q1i>n%CaAAyaWf6NOFwvFN6B*aj_(;nX~!p#yF=JHMwqr60kZjn>? ztLVLXv&-}c6&hoebWZt?E{i-yny|JQ(^^`on;u#u8A!+2dIoYba6Ao~2>l$D#vebT z^+*x0ODIgcASRQ%_r|h4Y2KfEj)c~Aeko7!_KYix*-iLjXWvw5@tD2us7*yh@$^7Q zZM)tMvM~O9thYIR{!-0FHgc3*T9Qy$Dl9Li#dtV{!dQ6L!dK>SFA2G77In^uY_Zf~ zp_S0UrNf(s!9UmcF~2l+EUc=uxelH`}_L=^J0KuP<2zTF;zxN9Zm+MB(XN%gVM6)9@&K(9~*nR0T0OGLa4tD9}}rM$t00Mu|pw3Z=#Fpt)sRW6QeUe91~E zjD+PQv0M`OF>De+x6r}C$&%LEg$`EwX*#^9gkeT`| zcB@fb9MHm(ftTJJ1bS@gg1dHGsRBse$G9)s+kYwXxo+{FXkzN6zd_FdLkOQ~(`m!9 zuWy+1)PgV~K1terd8BxpsD%dTFI=pzHy_{s}b9O-6DcqY7wrpU}jS zWZ{Far`50e&eQUQ**76CyX624dU`(>M5P^W#GzMhHe1HDiDLv3KiS6e7y+!zQiZPMA5)0`F(ytHC_&Il`cPMt8l2V05_3AL6L7wafX2% zZmu%mYhTR%J0)(g-iY&Z11^hY4Z)7n>(lInB;@Qr&g!mIV`JlaPkuOh#@F=@${c*M z@F%g`f1lBbMh&VrY+s^>=^}xMjD?aB@HTeY&T7u#Ew=4Yz-XejVd>FW`ZO|Af2`pYYBozAu&-EXkuZ`OU+xCeztrd3JWT z@#H}$E5bXbuw2FH1{MDc?ML+q*op!Gk!ku91Z~bz#U)!@5gUVuD50WOR8@7#0X5b$ zPhb)`=a|6!OD{DBGS**8KSFJNmXy%!AaH^-KIS0*Km!?CC<@8Of)^ zTbDc!rHPPX+0E&BNRgWSfILpY(z3aLAevCSy)caZJmXFr(w!1MDjZ=Q;VF=R2&O#k zdA=*nswvc0j^^K5bmN*272>x#7uDxld%)XQ-g4kAX0vqm0r`5t^!?`kvOu){CpxRB zK2hv1Xxo>K4{wUl)k`x)K>SGWtJ1Vb$uFug{es4O28w@)-CS}f z9>pH8>3>4DikHncHny&Q=Qj_o63L_I;#0V!>>VXjz6cCi8DyPtri>I2iS zu*V2%2}Z)=8^GM*T0+JtD-vH%g$0nkFe6|VyXha9y4eeiNU*|$oR)%y^K8R-B606h zP|W^R-$4L?FRsMn&Ue6p_~LDfn+%V)q0W!+jT%;u;vcCsO&nM$!tqsBqS`1BM!!qS zk`Q`QH&L)zLY_YHd{@7X<3^H!`43;dQ;^c297J_PBLyRH^ClM&$mZ+oJLy;QgNZ~o zN?JR4^c?n$okB*4_Tpwn-7@iOuO>6?Qi4BD9UyGI;Wmhg=oyf~z{_hud8b}6C+_3;)cv*S5?4Kmw zAB0pG_903}UV2ux7#1(n$-f(SG7{hKkx*QX$nz4!2tNIJe%>f}AcPOx2isjp;C9~L zIwT+!5Euc&tV%u$`_16u8D?DbD4d^;2RI@`hdc$zz-;TrL?V}x9A7()5LFlU(d=XO zw?BgjGAQT?$rZ;(s7ybDK5Qg*0t8s|#F%_k5(AWN90go{q=2nwp-$IcWbQK7u0Cmf z7lh0G^FXiX{Ot=#l;RRe{yt=SiyAH!l>~{Uzce&wU~I8e>X9(In$1tHTW!q@@{!c= zSwS_#>IBptqP-q55i+iehf5trej|HI68QC_%r_&1`m%P_k+~KlGTDxsOHtLOQTr+F zV_j4xaa9U|yy}iCNtSfw$$tzL?#|*Z_!WD{)ID$h0oTUM77S7C+jAB917S=Z9y|g$@3f}7R7euWe=LPjx~BR^F1iuve?%+@Dtsv z6&lQ&>Z;Bd)-^tX*ZDu*#*R)7G8t8@FT?cN`@mBk`ilT8b++}*dmzVHR7d=pUt#?N z6MJmf-_ZjXd9qMlEA3=XwjJKjj31>QvVQ0GoA`fTSZ)4vvwm(~96d7Iz8#m}1d|TlWzPb6Vo^KJI znP4X(!XKuiRX7uMetM=*PkwZy0pc%&c$GA?EIEUpJN*a#kE$M+PI<-2^ArR1fiIvJ2xgyh>j z%q;f<1{f9W{=CzL{_mx=D1GHePi`L2IGb4ln)G!H~1k>fh$ zRQr_3Ny$2sQ0(wp$O2+}Qk?RA1HXTcrWcI+yVtMaL2wk;B__hpo}Dx?uk$k7(SGXoHuWEq$i-~v-iW%EpZ7k8~8|dwI7yef}kO9S> z!rpo{vJkcE^k#XZ6m#C2G_pGER$0Sh=%qNYKgO^#ufV6&HuiYAj9~2uK4-uc=v)im zdS@%Tb!YSCq%(m7?Bs`^KYyjE?^MYHt++)s z*6n=Ug~A5wCiD2!e0O+=H`%-?B0Pe{nl6vOI^wB3;@9Tgbil_D+1}p1J%p3^a>=wp zDY>VO6Wb0Mzmk>&6`B$Y=VJp@&Mdn z3Z1|!{)_)<9RCA;KseTa1BL3&`|VeB;I4gtYqBHY*`g+t`nkt4lnapw1~mzuENTY# zEv?GG4-|v(2o}l#nxD;l8eudSNr{VKY_s=?<1AcUZ&SeV1AwAaeZ_dfd5vg?wA@S2 zxD4UAUyp$8Pp1I?}W7QB#@zUUrPkxl!6juNVajZ=#XAR zr(u0x`^lZBS zFo{pcXWE#1S(SA5V7F9WpV@C^L5!Y4>wF&98@9(fDwG{EZIJD~c=Vr4P z*9&&}EEe-h5z%$EO18Rwz9w4r{^l*CD~&0)MAxTr)Z`=JlQCy2MD;|Lv3n*(7#u~=QWZY*V)pqJcc#sW-TQyBMVL3U zb%9|~UEV5OX3?AHSEI~4 zg8dGQaG~9S*zNk17p{W^&Iq-cfZvZ24|ZXqW4(ep_}z z#-fmFfYKmXT@JI6E`jzbz5bX&s8+)tf?+RJx%ZqsJq0*@O--qJrL!w5JFIx&Mxw&u z#$|F!J~2}OFkGODumO;oza?&2qBH=$sm(#p?d?Zy+||`~rEtU&Q(I;N=~E41tkDZRI?O$Hf;=7Nw5{at-%mZG|XXhfW{ADXZnh*9$AZMI|sjdW00r#I9I!n%S2 zWx2jCH(>IRd6%+&*%DUD|G zz@vVJynX{MsOH4o#W4M;zK^tUaA3RBHSu9knDPeucO4%c1p@L2ENg@2t4DI@7bjsn z-ceo9%qV22E9cgg$GdG}-}UwG+)2~en>FRM$*rYL^2a?@GyxNeZof2qo(O9jZqv_i zJnQv-zu!-1U|IeIJ{+R9{nm|sZ~YiUi#0}t-=>8a>wV!ubZfHA9b1Q#GW3Fkmdn?U zZNkDMEx$+)7uWZ!>Z}h?3%j#b8ZZ~TBc2Y+BG}?Q<*hBhgIOX_brpfur0(L^SPE&M z8w{Pkr10YqIU*>5;xNZv`AUonO?d}I<_awXvqUtQ5+N4Vqb1S&VoD2Z=2u05PW-Nh+ z!4kM2YDU|R_1VDIi+yi=4NhOwygd{;B-lb}l4x87PfCbYh(Behnker7>;6FVXBX`MTZlI)Q z{g|Gb3jV}ht5H(L)+srXflm-Gj^(u4GV&&eM*J@^(!-p&V4b@%i6K_d_waTchNU;rfM(bC~ z9+5{4u@@%K)z45~I+J9^m=sMIBS!SaJ>C{emUM=*IJQr?WcVRFi!BxAQDNXq)S2HF z3_)EXvGcWFrgG@gCuVRM%NqRu(%X`QlDoAcF}r7b3#hKC8#dzj#yj)Bs~J2cc(rZ+ zodNLbwKxzaWT5&Pvdmj+I7yo{|3Bn2QYXGS@UL~rrI7; zRLnO%z(IIXTK`utd$37-TIyX1YaguEnQI&F%n3*x=3JOt9QLXH-DMUHl*X8_W?$;z zfoO52>59$4gf2#oBl2y|?yjdvgsNo)olS}tHoRGKh%P9AgB_Lci)xOj7t!cF!nsNY zFiwu7@_(q)4FKZ2iKgF1i6!2OwiApQf6{O*15U}EncNop^|kRCbx~CG^yegwIerw&(~u&J%2Y1CsK~2)ev}jtZt_CLw6|D`_oWQNMpMt9$lZJV zmx1@*^1=7P;z`>2v2qs64UV2pd`FMI`L!N@3zpv6nd7+K8LdV12EobqJ_8gb`S%)I0MYynghngdNY!&))+pi&wz+bb3r4-=}pB zMlnCQ_Q6N0tf=5kD|-TF%|-+eTR(3gqe2MB?QhbG0Hx7_VI0DK795d85SKEA&EyLr z`G*PnW*IFf(>8*v7?6RO)!DWsXG?fDh#Vs-#vdcA!Qz3Armam%e!@umx<4l((y~bi zB~|*hoRA_R0^8*V02TwfyPY>p#2O$B9bO&R zzc@II>ul5k(@;6!&h!2!`JMFkr2fI6h^thCx>q>iAs){bO@yM{n_aJurz*Z=+Pmis z3rK0bbD08G7j8r0#3tTf{rv7Rg;uHqS4G~wus;!<$^-qp^9ruizLc#itD9cEJz)!x z{pLC}gg6SpWyLk7ESiZGx7kLW?d74rKRQ~D?AKjQVgN$-RD|#I`@eIo0 zpO^`VKEXyRyjW!o>NZK4yf={wdK;)mHb+7Flx^FvfuM>V-}x8XkbNoO4(I+^?mwg!2F{l=!W^;;cPuMADcsIzet$WR zt%=9VDY^oIz1vD_DblKCH)R)2Z#Uaq>3@o-N$%3qiX+3wv@&`=(WaJs=5U7Yz4>or zd#z~dGOaycD&s}-WKh%z*&S?_1&tU=A4*Crb$~8i9014irz+&&&>-`Zq88Q-5 z0DL&1_!m`vvH>zkON&~?+4j~e14(;UjggNJ!``ZT;8ophd2Ww^M4Iy1QvL1(sF~Pv zVSO!T5gulgQBwKCvWzk@I* z$d=%F464Ixd^i^zDu?;LKZ0?ml$a)vZf%QhVYZ#bp^68+X@v`c#q4Jpq%Ow1dj)C< z*%zP%HP2^Mb@V-ZtOsnjT4K0P=YzZG`dU;U2lx6}S^MUd_Q!riB0-_|kX#@QH{N~Q zSB7hYiHUtcb4z*Nbdm^q0nf|h96oKDU!vLTjn*HVWC{kbmNh!uW04f~7yEilrJXm! zkpVudpI*kUkAOaQWquvLJxjz%*-vr#15<9b@9mL(-EZT|GcQh4sFwCEflX(36yEw% zDg&5adtQs^ia|cDzdvH#btt?qhA1swm)8to>@3&AIKe|C&qKxu@SV@YmZ_MkLQW*V}h|O&jZgA#{^L zR`6xZWfLf01)bM;Kv2iGQdcb)toLvm__+@VA}>Oa<};w%g_7E|k&I*avRxW5&x7g=j71;aGLK)>dqKd$x)9Z*5fpH#64AlCLz* zBw_e3(<uu>tBZ{8 zwwp%Xa#-vDxhdib0BV;WUQ&zDRAAS#x6;h#=Zj>{BIvllZ9R-I>eCCXDV%_qy8DEw z!PB0e)#;dCoV1>K5GtxlnAKJg4!t$Nw$fk@@0kLYC+vdepWA>a9}+jIQgBOGxDsO@ zJ}mdiP~k(~!Q|*GjGEjoji)gEbpC2>9O)5txPDlBD2-@SQc5qpV+jWD{VOU=Iazd6 zt6>#_{-eSSALka^Sv6NROq4Xqtb%s(kM(b^imQGL`M-Z7$9^5`2a-vcJ$+Q|2=%hq zmI9cB!RS#4O3}l4WrJw%JLN1EJAgtRXZwd8LBLVz@Bd76@+$uY6?z{OU)O?~D&nl8~zAG%k))?WdQ7G^nuo)yVwBZ18MySuv?b;*F^Im~^)N?tg$ z1+HlEy{r>zilSYvMwrLh?e3V!eE$mA&^ZZ!4(UsmPu~Ksr?7qp?x_EgKgMapayjURyi z-mm+Z5O3>g?aEK0ZxKhjg|llR$inZ2)3#`{4>kbNUN)=V^sz78A$;#^;&*Eg;E>UA znB$TNn%>tw7{qxqTy4@arg`Ixg)c=Vx`g#dQFqh{ToxN%=Ka=|(@)UGOJO@onn<+f z>)G0Mg&`#Wex(oA=+!hzk;%^-+pBJITx8<^*;eDy{#z4k)k@yK^KN*oc9qCE>#nSm zzRR@vcFvI6djmF8UR8~xYuOn>8OhmlAg0<4jH^aD^@12w(%)SHR>M9e!w&!VjEDaX z_%r_)Hqs)g^-XR>=@wdKRkIa1vNvtj6vlROtwqyV8ao=Ub&q|f(__=4MS}#koj(AM`Sm5Zpz`qSb$hfGZndgI$qW5*T9K*-q^s+<^`0H%qy$w$vEBao@`xzA4>D#tK#O3}70zX-t^e6rI~G4#me%BMuqTn`Wsgtoz7{W0-b^@ukK_xD zc!*M5jYk>W^HTOxFqEd(!}FUZf6n7x9h18K({Ki4DIl-C-unLPw@%)Wuszu~XLZT4 zFz%H6(?szn1XiD^@O>JjSy`s%-0qX5dYk74O334w^YE~R>B|-|&onnxKN>vU zuH!fmF6MVq#Msk~ecA#cm150wHR~xVZ5EZ@e4Zf}xz93_lJa!f zzpcBg&8U)FZSQPBLl0QS~ufQKmHiEH+yrd}Y&g#A{v#yd+Z(DM={EuDo zZdQ9!ps=Bgx}TV*aN~2fo>WnL>|gf-X)iR?#d`Ps^%lDbYs-LufX|;9x~umnDNivm z#;@krAGZjrR}hN?bViu=~9tvP+2(sSbJ`P8Ur8 z@~4h=zmZQYZ{P5TLl&>T!;&bTOvyuYh0z~jK#v$WQ03=GQtT$>ODHl8}y~8US%>KE7FOGG4N}lHuaq+&Ac> z4LAiL?|mr33dBUrlUQza28|f1g|Y#eJT{krfmLA-L^VZg7=xpGWPcRXZcR+1NT5LA zw;#(EaP}D?1-w+=8_;L@>?3;=8rJCS`MJ4*NDUsnwVboFMMVnNn<>TTb9!0EEy*gI z$z^D`0?9nFz(8JEB@woX^IF@7bixOp?UT7^jh;H<0*(|Gm8R@$rqe0JA&Q z500*lR3AeCBlakpEGp^&l~kT(uOHY0p&w3Fb0(PIDYkt?=&h20y-f4JT(VLx?>*0s zMb3Wn=`B;ysm_;?v1_Z!_k|sDqfpBJQ+ilt&;Hee@|cx}PZKlFfKnydR+vJuU1ke; zttKU@PnJ$$s9OdGok+{>4Vv(0xxr%6GHu{AzQzZehdd%0^O`T03j-U|@>dOz;XR*g z&#SAucQAc^0(#IXAVp;x!9-q#=7^R)aldlS&A0#z`MxaV0g2sTK-^8(0~o=WCq|!& z;%CM$oG;YC&rm@zyMN~firgik#g)81_c2vITmu>8*Vk8+2Xhj{QJXiTOd3_^H^1-P z_O^(7tTCZw`R}VelrTm@R$!*z!5$&GN0ZWzU-D8k=45UHaYY$3V07GZDZU-YXU2ns z-1m`WL8q4h4NLh3^Rj95U63Shw5(DPiR5K@2tW5Hlsw-O$)o5!+1ZV+zktML$@>=I z1lVU}rFkY9i9;TL68iu@EZ_~h1&-JSi1<$K0i7Q#kq;0=;|>|bQM4J&oLX7I;Nu0X zsDPl1h^IshP5vDP5ri&U-+%f8Q$9-X27w0(T(O<>4p53t)(oOq=f4LGme^PUKyo67 z&xRAD=uL0qz!o>1tQ<2;^0ric?1vC_zj=2U>Vy0Bp0RB<2pQElJ{uUhLPDa0JtKB{ znE#tXp@$d#7f2=Y-&VNv{X4=1@jv7l;1?9=I_Yk?xy1zYX?~!P@x6&CC~L}t4%{|1 zZ4;xXZ1~w7$i75tM%vr(BAsCK+f5e^C9Sznh!aQVMFj-32l8pU$02w;04*|QaxA^M zZGP3HNgVzSQi6qW{wXji&jC&XYF~j(T98$u_#Fvn&D)juU&@@P|0cqsXHD?N|0ds= zBu30)97Q;6RtZ*fKLMH4px&kmlGAQ-Hq^z7dGS`S^XAL`AJx-9(o`ZUCf}A`N(fF1 z={FrI-rI;bue%G4Cyo(@@LfITt+LV!yK!j}`QfpqqsoizUpuMQm|>%jwDBB9gZb>EhgZ>tMylTNDf#nZw2jF=AhnIT!#0gl}keckxDIGe7-9pvr# zt-9$M7?hwKZ8yODs?);WVK%xV>jc3_kwuW&J8n#H}R-nA< zGP|B{27YP-LoY8+^WctM;Q5&?3F>gxpJZk)Fz3SQrt_bu8c^ICg+PDsdc2Il45_8q+P;4QC=P3m_@ciob>KtU;rxn^kG`}9xpMp>h! z%6x5ltus|IcJdU60Gj-@J)=u}Y1SZVz8*KMIf6XyN#3n2)z_Q=SJ6z;WEn zZ$yQ)D_|!70L7jIc@M>^N>j)eM@O8GN{n>C0&n#|_3u;b`fIXNYq_putZbqrbn@k~ zF4t$z=Y|7oQ?BIjzZBN&EYPvv0XtaQpoG5J^HWNn<>m3ECfCyhO7aXY5CRKe+vV3H z*=?xz?3rKudl;UcPFb!a-t3^eTt9Duu8XIO+`lAr0OXo`CN<80hl_Keox}2N)`Wir z7>wNm)9thD)Y#S9zLSEU>-SY&QE>!FA62xsKLbHG98P4pr+#t}F&3M;_-%o?FqFrBq zWcTV_rAj?u-urP9bWX}Jfg3uQA}jk{vbpn#(pIX?;r~`QH-DMPxdV#RE%w57h-n)G ztS<)c(V4`>q%1bgRig zYC*$>eLUsxU#Cl@EgG`%RNq=v=B@!6{Rdq<7Jjx4zxA`zRs(c}{IUjC0?bmHc5Bf6 zT6$&ajE!23NWk%30Eg4+Z2c{t&4m89?hisM-iA{+e05-l4L`|;sgI2>Se^=$cV2h- zWN8Ak(OUZ2P9Nnx38B3aFi<&qtW9-#*)7@Uoyk9T7M}-#6LO$a{w%qwOdl0rYB^XR z?^L*&ckjI(ZmB7TK*zvR`|iFYw!fgvve{8ER~C05*Q21~L)2mam6)y+WL8Mfd8MuX zPkUoqt-)-M>EqFS;LD7u`BTAF1Vg}ctEA5xvSb{UdTJ5mrKsvkU3z>)(t1(Re0p#g5w(=#MT>*JrVL#kS^o?BtcT_PylKsrbIBhrT+>_buRdy!Cu|*S&-DB)BT0*!YTZ}bJ5u5`@7OFj)voVDIh)X3@I2j{#!?!7^GY#`&&kx4~o zYsn5(kllSqo57R-K|Fe-CT@bf!_hIC0xGFF5AWI2(LFrx=}4;X`> zy}u=AmzVimhj&(=4VGG;elUF;B}BihrGLWdL8bd`w}tTY$I!mT5JDwg%);^#B7`n0 zA<|M=-{%JSeL;(@Yta}y?~;2g)g^*cZRylXD@vu?c4K6J{|q!JE1&?8HH0@TS&5MT8!)JY+ z3MXMyrh-KJHLYQdXL9AA`f2UmpyXtZjEVhzqy3n6G3K5z*-pZh$bZ20t9Z2tp07W- zfY%$rucSyLQobT)g~Q>}fS&tXz-K%p zR#!}Q_(6$dgD-v|Es^2$ogP2G?m#$lnLYlv&}!z<-?`ZOu+V@&T;!<4HJLiTOtpF7?(HoE9UI?d__4RfC*JjrHloCSNn<8o3I$iI?eW3Z~)?(84 z(u{w&CF;4=9O^M=>ajY?=O-Hfpos|GN*16kzmKJqc{p4AsD~x|6d|&{Q-)qsq?ibe zF~R}Fonf7!YWtXVu>M<`esVCw17sGy!DDPI=3fm60T7gp@zrz1hG;4E!i7lI>{rEW;XZ>iOVc;X}1Rv=Abd9ENwQ))+HONpv>*B(c zbUHEe8k(MCBflb^?dZQu7|fC1NOWVAFfc&+Bp!LPizT5*CpMhp$4n+lV$|T=R^rB< zE_i2-Hs}(C2phwa1Ra9P`%#8%8xxfv0b1Ui8h^V$cXy#mpTMtDQxg?E^Ctm1w_o-I zqc`Z-N0asF68lsd3Je8V*D0NFxs3K^=WJ>9=Nz5$1mE5F=rS1WxdV0VRje)>doO04 zwL%b7(=~_cahNuED|FSX>Dni49xp3yL54q2b4{AgfSh*!4)pRJ{5xOUQN08V_kJe)3W>JktZ zp%rQ1=TxFzLoR((lw?U|e1RuHp|0Fak1!Fh-C3YX*+&|$=aX&Jcw5EWDt$#|_O&wk ze~s)r_7WUX>>VFlUbg#3LFp7gh$H#_naVfAC9l|jnwU?_J zyiRI;KBU$vqoT@6q378BrvSfvh@ITs`FD4li)&oKP%)pX3?;U_15U^~81k)dJVkBp z$24*HUC@M{F~Ngu9e!L~z9e8J_m2;2Z%E>)L)A5}{FeI1k{CgDYvD@YJ^KaJZvJu6 zxRppSHV4c&d+$y66SkK7zRC8F*ozl!J-?R2=Lb1bBBiq%eS6+W@LPrZE8H`$mdS@9p=J> zda?mr@>v35BQ@K4N2Be3uh>3i%inS^L#aMXOojEOsh@fknd$S<0y7fXf11nTalCWm z2OFDnb03ZwOWczc!dCdZsW-Sm6gddFkGPz7UJEF)_e@;;V`D3j_}y&kTbDH&WHKu~ zur1cRH9>YknwA%x;hxIUzEd+s3PG#I$KrN74eW!Rm&qPSTRWROtBGE_)zfdxRTuh4 z*`Be|Pq47D#)i_7#}&^suH60$q)aUIdG#}FsGg!s7gZrc`+R3DY7hUkOWN#DY3j4_ zPO!OF4Pw|hJSqxRdyNEHn}Qy{a)xTp!xjwTS+YiOm~Q7>)1>B!F?L|-Tl>MINt@rl z$mp(O7^`g?>Fuh8sz0fK=STS8^}g@6;^54vjF$_Oj_wdaW6bH5;KGBGJ=@kpo*`TC z#8{^~voWg|OJ}q18x2j>NQ=pO1^TgW>Doq4eHcFH|GViJ^&Pd za^MK|-qfs={GS9%#UIwJn>J#+?Bh-#Y5s0voA8~QE7z`GD0}_EIAG|jP_@e0xE(^>&MLnV{Fx5{siLqo%?aZB z%=5+V3*FN}p^6GN36=&<8DE3ZAWS_2jjrZIPVs>YA1=Pc`3@WC zS{jINGLp-XlW!yo@Ct$~zgg52+lHOP@{&~=hw`PrmNhy_LLv_cv&OKIsup|B=AEK* zTM1TLFyUXyQ3g}@h-dD8)n^0UZ26Zzm-lLoNuzm3b=3(qt(*Ioz>+jinmeo=z5Kt^ z0s#o8G_a)THkY5I%Ee{>VXY_UGJ*Sd7XJd9U`LM0}l~NseRf zR@Py|VOCaX*fbspV6D9&Q~R zJ7{Q`f;UHOI^E1JN7#tpMuxrDzqFW-fltXz#f~7~MMTH;0{!(0OCZ6lq1=T>R@p!Q zt%`M>i(PK2b@_f(GpfiWYr_yxm4p4(x4*q4I#n12L#PfD#(adaD{ZHxSOAp~uM2Kj z3*9J)QfDzyge@gDI=APZY2W7NyW-3vOIq1)>rd1hbmwP;oJnF*u&w|xS;cL+f97>t z@Q|v_*Y4>zN=@ypC`3SCie0njy*J$3O}+CGd74D+`>u31om7?w(-Mh%q2*VbnM+)tSE`oQd}BnqaD9N5iMSzT_HX&+|}&zqrpnQFrVpbK-SUItKh3ok4Uja^F8V(wVQ} zT^@QnY4yQIwLP%(nM#s&;OCaIYVebh5`(XB@~!}1;#SmU)(57}m`N2MJG;^?FFZ;q zLll|={Tg5Ck0#fv$SeDxV4|;JEc7h*qpvUYr$W5X#?M^jLjxSrumhOx_l7f)CpDU~ zHIQ`#$YV0tC+c~T1uKu9I z75a;n6&DAV?>!L6Gs-Gu%@bTS(izI@XqG_byxlp!JL_j|t;P=3?IJd@LiFd-D}3TB z7oRJvC@SH46$i^VQl`e!U8tFi{P=h(kYQI}HN6*f$g=)cmErb`Sk6z9vzn;7t(TFJ zx3RwZt2W?hA)RyD6TdJFRSS4%*}yhzTRIX)90or7ay ztb^lD=1nW<03h*)?7ozCbhmTjbyxah(Rgn-l9L=zvDdp9e-mfXYcL9XWa=}GM>bZ} ziDo8>HV|fqUFeN!^!W;e-lG1|AQDq1wV{)2^S4GZXV=IvzHMew;#w$b>5{2=`Tpe6 z3KQ*YUKf6L3r!^KYpqK>hhF3uw!sIyj_Ym&mp8e$_R)V zGhhw41?CHv;q9n5kL^!^LgV)RQDRC`Qa^spa3<@r3d&7@{0fxaPRCQ(rtX6)^h>*P z@84HNh8}J6>q&MrBf@4s&O=iDJ>4f7imWa4E#;lY<#ooadl@u}uQYaJAI@oo(@_00 zUc-PJ_O+ptziWrD^%bT?(HKRVW5<0(#YLAC-99&l;^HsZ##8Dy5eWT|hWc^Sg53jf zl-nVSSBCe?+h5lox2#hne~ESfbzj_xNkd_y=}~yNNH$J{TqEx=r>WG8$(!<-#@;~TwMwF(f_B2F>H>vumX4pTnq^HZ=PBd|73KwM+WlVL0 zm;FNQvJzz3wBY_&Lx0=#U!{(N^#CTP0o}Dsnb`%KHZ47iy`p;ffDB+A* zHz+*cv=+<{tgS3ho4))mK5^+e3Li@rwJybRXOvnPoOhO`vzU5mcb#|B{v-Pz2>Ffv zBAK_J_|%(ssfA?n8LNunh8A)lnlACXj~vY9tRo?0o>S(FC=VUWUXQZE!^2RN+swIA z?M9_NY0;^1wr0DTsrGHx*IWUdIlWpw%Yfn9H!CM6*{F4Njx6rkMy8qeMCVJzjNWX= zo$k!B^d`tsF3dp$$=}txBzryTdU_4?`U#0sRF;P+u-00ipZANKR)~6|7rxeVD00uc ztWZ5-rV~K=feFZycW2v=kEVU_LAV72pvklAjm*@D5vSuLwA;^XZ5`Qv8Pe3G)zVEL z)^mF6H+F|y2Mi65hclLzvbN%jr9l%^TBu+y8Mj;*>u@?&Zd$YV$Cu%7J@IIQ2UB6- zvT#jU*vh#0GaL2L%ffB7A0tYtiWct>@ui_bYEQE$Co&HbOXB3!a^aO?)rha<;18X- z^tw6FPm-QDZ`L}sp1gZ!W-Gi@i*Hoz?)nIqC+3Z;m)jXzMK5}Zp;N% zMHJC;$99)i(UWJy9J&(0`31A5m4or3U$6)q)7M#!Tw z%d^m(D8CcWsN|`-bn-Bk*ju$f9Ky+gHPq>EwaB?*76;dM~|DBA_J@(e1RK7~tpzjcd z^RWkK@dTp!`oC7)S*7^Bw6LLw*@*r;D5QI#VS^G%sqtrZVdDIp$!A#VPn_%UgO?yG zVdPy2>runfj4&_@iX9)pkh|fPQCZPxEs{yDgY&o6fy6!&lq(3HQ35)ZrA@?)_~{8w zN9R*5erH{Kq6P9YN~TV}J5E0&+r^jFhJQbZKyv{sZ08rwI-ZfS{X+J^2M==|_CpL8 za49h~>(#%7+&#VA!-&I10w#sZ!Q+%S7}=YJSW~wMjiLJwX7?%zq5wF~6oFt~0*B*= zYx;ZiK~b$P%vszsQp=Fkn+bySZ_dB-<^T|SmX-Xd={wzew8Y})Jg{`!4!-Th0>v{0 zgmWF3FlZscHL8g$ez|k+A7F(+EHJ#(d995HXpAlaJ0Cu zjlgr)Yh%M~23A+gk0gwnTUsJ;Fc45&o&lLfl^WtVAj^=#04&r*HHsUMB`3>Dim|zuOmV=p{HtJ_5CT)2at$aJV3V#$&x16 zE)oM8Z{Fz>715P(!$+E+nvE^%^}~P)ed>FG$UpF*9yo2P?&w;OB76L|l$4YQoS%6* z^J>KMC7fkHe+9xKEq-noNKGw@%8?c^;8|Hy@tDny1c#%|%;&@<)+R|J(4AxjvJUVQ z$Vfg}$M|apNG5s#vggC3N#Cu^=>%@6rAA=e^X7a$M5tXbw zf4h9&?_MDKswYUf->kiAkj_E0m*aa?$1~IJO(4DKH=}Nnfr&@nBj)FXUKg+2z!$x% z)uvs)CfRKYp3FK%lpYPTS+TAK6u`=RuAbOtJr)Io9jYZs!8t6K`dFrq0gjS*ND>WC zw9N7oGu8C_P_B)_K%tqVLo$7TDXksTSMbl;AD~_uujHVSs|pc+KS((%T6vPzKc8!1 z<(JJq-ZXjJv--c*_EwfknC!&kR}xX@-!PqwdWEhyKs#C6{?OdbUmV_4wgTclk9pA$@Z1Ju5`Q& zDP;JdmzdMYtz~r2WT;}<_^;V8bG`jdMO+HRYPj@5-&_SoqwXtd8O6MNAANQlH#Ora zQqccd;1&%n;Hwvb%rXlVxTf!~vRPg}c8Uz&WpF+Jpf&X8UL)2SdEzP?y{$-EOH^Ur zt^ITK*X35&VG4UA1Kl=EzHOSvxpObPTp#mc6=tRXC=>>?5+Ab8MzLu8(hF0aIdr}8 zHyxKu;Fgt~y0lsGkhraA#rAzx=^_)+dz=(~CE{_{xy9Y1WZA#B%c(?}LrgsrRp1hO z-F`w%eoc`tKhLIQpT%?sOtM>8IsF}@k9+CWMY|7ItJ)6~;Kzp4U;UO>|#E zMgW_G%}9GPK=j9^{8i)u_^E&6k^8FVe=q*~4F2l}|F2kJ&e*@ay5w-UR(d<2;0kaU M=$L3DG@rcrAHH4rMF0Q* literal 0 HcmV?d00001 diff --git a/assets/images/gold1.png b/assets/images/gold1.png new file mode 100644 index 0000000000000000000000000000000000000000..833fc4577e7eb6175d1b7de4dff4c8ea6a382388 GIT binary patch literal 4914 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 literal 0 HcmV?d00001 diff --git a/assets/images/google.png b/assets/images/google.png new file mode 100644 index 0000000000000000000000000000000000000000..c5103c54244550767ebb9e3b28eb3660a1845a93 GIT binary patch literal 42155 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 ZoLk>o=VV8nHN}*Gdi!}*ZT|W6{{XcmUeEvl literal 0 HcmV?d00001 diff --git a/assets/images/grey.png b/assets/images/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..75be16caeae037145087d039636be1425a266b3e GIT binary patch literal 18807 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 VFP(64;OiZvt7&kxTHW!%{{RE{JFNf! literal 0 HcmV?d00001 diff --git a/assets/images/payGold.png b/assets/images/payGold.png new file mode 100644 index 0000000000000000000000000000000000000000..6469dd4087038bf3d396a633152cb6a71f4afde4 GIT binary patch literal 5793 zcmbtYcQ71owb+!@)$3yQ&Z?{J zF3axqeRJo|{p-$rbDx>>K6B1{&YYPu=ghqCiP6G+=SRpjxi#+cxEc=z#iH4T*RjF)Gp=>HQ#Rhj>D zzXWM%i8L7fZ9i81eZTR|K`SeKJbI=R)a}PMmZP{?@@NH|_}7g9miMyRUt})z$#DMX z;YjMesiNj!&6)bBwNkO6e7k{yz=1T)!J>$T_VhYGrK#Mvuu_$|Vs&VJ)MS0qXhi}f zhI4JabvWB}G@4~F%e*C2@o%(PEkJw|#997mfE)2!PgwRJgsYv!R-<^eDIB*lBpv;l|P#t}vI$42}}ZFeGe_HGx*xAC7r! z_gg?R%^<*c(`7c>lf{#rt=sc|k7h#L`SD<*b1+EHLBHt|l(Ryoum^ zDdVV#5SB!EJxp8u9v}KkYA5?1X7brwsli_7hp7Pksni!&ApG@ipUb(Ri;eQRMnBAy z0whfX2M@+A6ClToVGV%O9tn7p0;1pWa_#5M$UXF&%V8boa-%Kg6f*kDVzpNP`mhfE zoA_+ZVY1xm1eyf#CqzNSCL#!Ly6N^oqzln_M+0`aMW()Jp>y!ltFxsWsCKF9J=Bo; zMhYGdJB))-ULTZWmp^1QwF088PKVQ0 z{-w?^_moTSsV=PR9Gxl28+GDBkXPH4K_a!tMSgl)e->1w)?-*Ubf5JZHuYw zz+45*Xnk8-5#LNSD=Jn#FkRf<+34-$3z^(3+??3^kx&EnncN;|uEXN~fB65#|F7&= zXL+y}9v-!#nxdS+*M*~8Z!fcf#(p~kn^;C+eI}oh^+K)bddC!@Wy@fyVRll$a5De! z$baK-o&|58;tC-?R&{j^_wB8{}kU$um{1TyRWg7w7sHHNIRkdjrK| zqPC`#i-dR>55wrVWX=xFhk)%oz;lcBzORPSzjYuT5A9ujwj37KuG<7SMSqd&>FE{C zA6{h30=U4exs7gdWPqQv8J!02No3k9$@0srMZ$<3nh7F^3SsR{m1H``Z{l8h2=cW@ z0kn;mj3Pt2#yY|3NKUr>D^K3YOJpp9j=iJb^)?>lFcFnU-juN(PCNRZ0hB@>Y7WNv zNz!A{K|A9DPqwXV6Z6|XR_M6=(F?)JU);#Qu!j-rzwEOAn$>|3JcfC?%NC$KP9k~B z-q*H090S5Psja~p=B*XHymV$h`p4%S0gqh1^7C}?Hv{!=w_-HD61$*TZM4)TTq&Z2 zy9W|jm1@?>rAt}JlvRN0hIB4yR1V!}kb5zo)n`^`#oKobph%QzJsXv6wC*?5CL7j$=!}Z ziP-~6o?aq2Zdwe!bNixdUJdxnaY7MY&t?(B0%c5|8a6r{qWq@B35eC=GUY$|5Bmlc zIFeYNL^FF68ai`jz-6{Ohh9W>&@rtGX7`p7zEny~pQ!_<(SW8C=A*r>UbkyYO%HAEuGQ{4nRyu9 zIBu1uizC;?+HkJ+@`iBL`UbVUc2nEUOX0W;)r3!qWGvAA@&pD&KcB$BRK!Zwy8OZGW*iSf(p z*9RkT5x3rc9Rv}&@bY^PS9SZ8I8&YCAM`XNxl_egre|~%FVW2o)9}`t8>XxxOZqDC z7hXPeP{aMFFhnjs0TF!C?v`YSD(^3v>Clt$Gy4fbzKxWt?|x%e|I z-cBv$#l5BRrDRuc={0G9P4RTCSFFQ>{YS}?J`XX~o)o7Cj!5#}hQ3xlIMrq78xygZ zRKQ9U6rNzGo~Ig>jpll{|75Ud9s6hGJMpWsS68&hnW$^mVIrNRL2tP<8D$sdPikFK z)bxu9T6NBu`uW_)XQ`L0v#ie;R-`HNWq@-R`nHNvX$<*BxeM3Q1wNGl?>kDuwRJA+ z*@?0)FmPHDJG9ZZR|{bmAKR_n#b4b3%GABytmhPvkk~>woQ!+e+v~4>3k5mS#|}D_ zBsRdo%mqKBh4tHN(3y6zG(gP>FLu);3SD`c&clqgVDbK>J7t#47`sIm0{ zF^%`>3AniV>n(*`0|G+gsOv@+7`d!mss7)JKOoTp5gM_rN(DH`D!W zpk#@iUeb|{hURygww6dEP%}=7Gz7;`Ly!1I>y{ zjz|s(Np9$M7!8a&xkE{pFI4EkrDa#?S013Dj6@DO48G5x?z73Nl%I0OVthV6DCC%b zx_TZtSuXh}AqDmC(Dwim!}Q{cFlW%hq2v$O&bRHMCt9S>--ZY-+Q+&sT15RayA-OI zCng{{-_C2N9~V(^IqTR;<)ra`10zyUqLuG^nic5AlJO~4=Zmk%H39wuWODFcQkh4ldV24Vw=;9)^$eO$dmB~c*gAW3_4*28 zrh1u3X7`lkE&M~wMBI&5d#1%>EBDqEDYLWxHWQ4z%zhMLIb?F@r#Vmj1hY>w19jU?;pwcIOe16~&It*22my69xn*!%g3 zw@bO)L?~ytSQDh%7dI0W@B_SnE;YA}2e$tAR|y#W={Tc8mV|Wg)3dm`;TkwqJB(ezB~jetuBtK|WZ0@!)>y zD}A0sQt@AQjdCqdy`9Tnashtp(memxqTs(Bo>pC=r3LbWAb!lQ%*u?&7HfdSxt4FKXf9(=jWCSxl z#n_reIR{@eHvn>Tz;sgkuVUihXBVh2vixA<<^CmfOQ2u7l~0n^zRG~it(PD*vSNVJ zIA!Sx4K1;f*)j$HizYm>MIp)}+ zFZ*4a*V$QE7>KHX0Ywy23N>}&=$|C1J`8woD`Z(&%$1WKuN6u*K1dN?L-Ft_sP;`u zBvAf_a>%jx34lzZBIXg3Et8>B-M}*RyTkCG=ag!E)MG;VeM2Wh?w)n^BVHQ&8e}J0`cS#S zo6C@{S(__U3E3cYz0D56y;%K|y_!EAJPe1?$BDrdXh)%nbbBdI9BC7~n$0>H;(^|6 z4^I^nGEF0!YkY4{T7--K`KRd{b1s^sntJ#aeYX3jt~Pr!Gpol*X*p?j5svLgxo-5^ zF~cUghk15obhTpvLs=Us)E#W_F~S-2WSG5prN%(hjqf9B48^fDCx6|EqUI)0K~n*g zE5sB@5;RT@5S2o zP0juo=**{?-IOn#Up|B%A7W}~j(cOU!!~@p~eG)UDgR_nzaf+y@4L?qneA}&{ z>svusu84EFD}P_Y3&DiJjHwb&8u#AFf`Y^N0TxR2U5tWIztaW}(|w}&Eg^C;q2VeQ zC{Y~JkmB9xl2ln(THT&zka@_~1S-=gM_VJg6b0<;f{~Zsa%Y9hW*6y4OAjgt{K2sd zy{rHN@_uIeOWKR0-?X6;(sP%~3}cFd~9`U%0x4TPu%?PDxB_D&&HwaV6tty7x# zpqLFASEd`pvK#I+(T$QD0%4N6f*M;{NMXHcLaB}R_cq@;GX*-9R{?gx%$)C1*3ClM4UBZe(S@3 zEmhCB4O&fZ?QjdR=GT9Z7dh8)^r@M{_~VK=qN;P>x}zan+10r0T}ce`czNUH^07j| z*bnJ|%W8~qJ#(A=lgoP8FQm_LiFdh4QttM&K+F7m77Z)$Phb>5uW7QUx`5<*hIJW; zSF5v6{S>YsW|iz0mcz(^!hp$z1A-=P2#5{hKAHpuW^9s^9< zn>-uAnVbJKP!tqt47Ut|lH*C@!!$lCSJ8VRnVu|uFq{y|mSnW|crZCdC?lpS6yhZ1 zr1P%J~2O6r#gx^g{?QLJSNRdpc4u;Wa<8LyH}LX(i82I20$`a^)1Fd|f_| zm;tK_0fY1k@z)t&L`07p7x6L=XZ!V|4TM?2dR#MD zfTu6VdgGulPM&|B4UN%QB_4)FP}7;_UA2R#!xkHb9ydEg=p{?}waYw`190X=0lOpR zb`u(DS5NoSoE43W;;ODTQ0WPgIZe(D`0R);q~{B9mR$FaX&{uJSGsV2yh=Q0Bkr$! zB>nAY1Tj-rz4@T;U=p}LM}PKc;}LbXY}p@Js2*3O)> zVl0fSOc^_&JGOq=>7|Aiy)a7_AQ+Vjg*rY|+jUf|rt4vJ#4<~+b2n#Qc$Z7lff|1H zkhpuJodFcTiumsi;mK*O6M0v~&0&~*q`ZtY$vRchVrm&-4Y382?Cm2l ztPcw`pjPm-+?)}zb$ZEeDs93+sXq!)K55FP|;9Xkfz_X z-1Q_9Sy-Lux8W?m3eo=Nr?q_@q*VC4OHeeWQzp=pvYMX*NQZu8xp&0x`s#1B8r_W5 zu){3VI5Xf8_M3&)r#V5_Y7II|E=@(+7c~oy!^#gNt^pdm&dV=)WjSx`odgM*GV@O= zVp78b9QEPc>uKIr(Z0HY17&AWmjvHE)acH)mhvn_WQK0%1Fjv!Q@166+TRS%>J;+~ zFj)5R+p6pGZWPy6XN{AhXZB@`zvie}HQiGA0hW}KI=CO6lUA_vnjGg`8XmvYD-}y# zO1WMygMyQMh}^sv3p-;!z!7wO8(#`D7ApRwFp^Xh z++}#gYw;D_w0#%yh?hC|o6Q?**qyIAe2I%{c20Y>q`JV5(BxEBHR$nwxUu=Sd$1(# Y-jdF=+H`F7zlU2*Nn5c>{$tpG0ZXF}u>b%7 literal 0 HcmV?d00001 diff --git a/assets/images/prominent-disclosure.jpg b/assets/images/prominent-disclosure.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e9af3c74dfa6810b16c9e37769730386f0030fb GIT binary patch literal 270755 zcmd422Uru^6F9nna77RW1*Ga#dX+96m12m1gc@lI1TG*Ty%!Y_K|xwVuhN@Ak!K^y>YUe|zuy{_o_=?%6$U&g{&bnK^R~`wj;IKj1XUQ39{0$xr`r znw)~{^l37R^JmXeoIQJz?E9c*dfb{ff(lexF zXU>pOkb^&}qb5`rDJafSP+X*^Iu9l)dfH3W)YO+~85!y685yr#yL#=~-|aaMhk;Xo z@8Kdqansb+7y+2R2LOQJ@I63z`b^$wfC#t>5Ks~jQW6|~0*U|vfRKoQfB>xWBY}^n zh)Mo94Zb{1Ki`9W5E6kU=K(@O0>V>7B*a97#HR=dNRQrAp8AuRO5i5R1@((p1%)2k z-GbRaDf;7D7_~7Ci?GOTjg$|aPiaL>99YBUHH*h6!SM(Qh>p@J@OIn<<)1_XH>uPg zo)WaXaP^rH2#%>!wU1AYlPA#rG9016PKu9PFDFInvJE0`D%qnJ2 zt#bX(cG;Fgpee4#DJlC9U^$nyW#Q1yJ>oMtQ0l-j)sQHyqRZ2CRY&SwHQ896P5Md+ z_7K<%-HV^OZ15W zORkVQw6Dsph)-`PZC?fce^CZk=?=EDclCk2CUtTywhxa`k7yhUJ%O4JcYpg|85^mE2KHSt1!R;Ud zSWDsyp9`CAqaMY^*k(&CIAOW>F7zBQ7bGclwr%Q8C%OGV3l&OeszFd5TdaSC#gL{F1M;Xs-< z|Lj)b<7x*|Cyw7ABD`R?M1J$9Re3X&XS`#{)ER&AW!fQ zqWRw|f++5$EVY8<_?G08ll>v^d2qkUjOKgW#BOYI=CwsuVBg^$DL{{qMB-e}^CKiY=iaKb39DIHryq0@~^qhfqTUHF%oTv>FMd zbGAq6gc~8Tn@AAfwnuvi@rVO8IkE&2YoC4_l7ZFA4ON>wih;L}W;9C^!>krfK+l4z>Ga zeKF$D@@Ge_^SyL4PQ_e{D=0~9;cI+UYa`(hKiNB-WcW*H-mLHZ2S3~`eBt#zKH;^6 zxb(prwz{P%V4e_sXsdk9J#r?Q_P zwLZhjZrqY6GiBp57{sYk;9uS447VO>d_qEVdF6>mqm2Vm(L$^3|i| zTs5Y>6%_PTi~GvKoZCGI>3gqz4m-AAjY_oRKoNCnar=vR=H6?Ww6UZI1aiMrqF*^0 z4QkG@wLf{^bci(c0Z#o+09hI=XsTq78cMh6ewG*M@&KR%t6#;>Kn(`foX+!jHWbAt`Mg{B}$iWWJx%KA7w6k&<8CsOrB~ zndd!mgKDcU(V!;LP8XneKWfcz&Qb^0E6O_%NRQ732rmBUks!LhS(zK{)ur`8hq=05 zVDed+QIY(c$)P0JMpEQ=U4T;VN6mk|(I~h5l|G~Wudh#@&5;I=O)~GDJP6jXZt@-x z{Kc5acnr!@-IstkN`DUNA@gZ5z^9U_d(N0D?NaPeP5K|v)5Bhr*&Z zS*FF3#9SvY=V5=7fj}xqp5qYLh>q9BB(uW(@ zjd#D4!C2&s%`|puY|TV1iBOs9jX^hegE4$M}-J`+LA2naC85boS0L{={|m znR|Lv03pXw0pymNV<1woU*RDENvtd4ZMsOi*kY9E zFKt{0(6gW|FeO0$Xj&PHz&(whSSms2an0IzG{wedJLha?^w@2w-`UxDCi+bdZ1q1* z7YZnv?8CzG5uqv83}y;2w+O^i;xYFTHYaDi**}9_1Es=2eL~m9y%Q)zFH9E3EWYH< z*;5xR@0Qij@4<9gaK6Jw=kedVLihJ)X_2|{edzsc1+Ar?gJCqMD9=bB7G0oU`DOt) zoeaVR3V^1pG~!ZKk&Hut_91aZcm`wGR+5G;)<&gi{kop>>wk&>B0gRxvK-#pu@_GD z3Rg~ORhbdJ8R*NuVuhU3J*URp)pRp*U z{(VqbKt{L;D?RtAh}F4 z@rKMTZR~n&WKmHA=tsKV>0Kfp5K$|RZieZmpbV&kr<54bDE871d#596ezG2jm7j^= z>A+&7C~}#dn8DI&S-y8iaAS(yF_X`{>~r9$A2?2U>eGaCCd~=qvwbdx_BpXuW)E7@TL!P6 z2LNs!ZlQ>twd&$MUn2fHKhgD%JE0TT;KB65{dLNa&Y<1cua#XE;(Df)-)3$X-a95e zkodSZW3R$*wFa_&GuY>5 z+5K_kh=Ks}cjHStX~z}Gvcq4RC*rTDo-`vaZRM!Irsy~WC-?=*)riHvcTyH*iiHH0 zG2_p!Ma)?3Lp|;!%7H5}fvmvFit`m{*vhK&ujS~Zr;{sTpX$5nNy4m*MCDQKN4?gv z6cUko6cDF2s5z-*DkgRC;8GNCj3iq|xPjj{HLmwRNfQ8CjJVanb-_4ae@v>@KSAQ# ztD>pk8~%~QT!_exHL(z9mxVUn?6-DTA*EusW->54WZADeKhDqD z@|fv2nB5<*cwaWhe)sK;dlciN?qs-%=L&WP6NTcwXo(N~w1c#2*5*%=LhICFr~zoR z?+^Hi<^bBpd&^jk={ZEhi@eMi?(|=etU9c1hO^>{B>R1)CwX?wZMGzvDI2`~RH*%1 zv4)?W0WPD-?0WgKi;jdnI)boNy-jxO0t`-;VXme3ey$k%;)Xm!K&JSB*`CLJtZwlM zW6|CGFcyBYsy)m+?EcAPKXthnzlqC1;vkR7%6!J5Gs3vjV@x{Yoz4e0`yTX!@;^d- zydR6J$|6SIq8#C8H8pEJ0g;ui`5fnqR?sd1hQFM^cVU$k`+4U)zyJ`?`RPxF^I|Mm z_1#^BPUYmc?y05Rc5_>2O7qI7>NwK>&h)|>JHRzgr)wYWt&`QmQvTlERVISt)X;{z z$VzSh#DE)Dyf`yCTdyL6Z5C$Z(m%!U2@t=ogx|PYv)=S~@(e)x;|~V6T(S(u*=7C1 za=!}6`bT{H;89Vfuo#wXV>Mb6mI3cyoZWv7P`~}v9sp_rc^6Q3qHa;xtMk@)W@|AI zL#4ZRxr=S=ZOe`SIXG?mWa`uHy~um_|FJkwJ?HaU^dB)xux_?``c1fcn0SfjqV$Ly zYo)=_K&NJ1i$vudXNXaGy7>Mm)M(X}-o<-*!|V@!YIVQBA#dP=K`yat?xC{@%u@CQ z3^0*Y@#qZvoP62hYv4R-UAdWE-xKeoH^GwWW=ZZ;!3$QX*`2`0jZp+o)Z z?<9vP+ll`5j{VH`_-HaH%fLh+v5)|p3YKuRG_izK-IP*=>-?^hmMPO#n=pd z)Olq)^@yO+Q+JY&M*(;;7+2a6xH7FCvA`;kzGBTmUAjnpL%OFYDxV?@4o#tQ>YI1_ zHcS9K!kBov&Cd_he-mEXLAJ8w5ecZOkzR-rdfHOP7NvXABS5N1g{mvoW0HUhA!Yoo zSv~#a{yH*UEJhmJh!;20Z5uxAd#p2)r=y+`CDU?UdxADm>&_yHhqCUOyBC%D_^IZg z#TGFTY&Ms-lTWq}D{j!7$v8jC5)Sza5dR$E*IoH~WVhWn+zao7Zz6NBFANI3=N|xa zC*?u`<$_2t)8K3ExSded`wg}RJx{I87ZviTS|!GCjpB_yW@oDjTVq7dE;5(1E;z|F zf74kC_NKZwz~MhiDkUYO&t%maP~@F|2slO3ID0JZntuhTlj$HOQfYS$GpOe9l&8>2 z96ho+nFlk0tj*?8v|90)eer1@KLQy|gid0hyQNRo?A{^Z|DaThXOE?aciojgBXb_> z6e7k}ACrf3_t16jZwMDq+uyI>vp8*B(;t zH0mOx_%&WjzoGP=SC6gpNc+Y|(H&2IT6`d}v$OT`8(#tEPIBKW+ZVi_qy#$+S2H%W zX&2#@A8$lqQz?yZk|Vy!EjGu512J zE=21ei^ZAj>?j;6j-5gYbA|ssjmB#3K6IP=hw7-{bJ+7Axs13Hic8fGMI{wc?RtIY zY9`jtr~tQij?)EyOP}CV>B>;4dO5zSN&wWIj--NMf!%O^^&Mp0Mp@!~2TyNQq>S!V zyT2o6vA5~qw?4Re^u~aUA8`#WPX%rX+%>vBa=NUa*ZE@_(sLtmR-6*{DKg0fXq)eS zuEr>-hA+xew$m;MK!Zw+J=koj^vJkGu|&ERy`}tn)+ZSP4#pbQhEy?k||We1WETrlE;SO=bfsJ%9%$usI*$w6oLkD zc35<%jL~xw{TuU_MW{7LwVr;SUEK;AE|bao#JXRPya8v$g!dF=-5ghA6VKKY38#M^ zd7&j3qtNQh{;_RM*j%A0 z8AGLxC%l7I;jZTVJ^oeUX5@|I@|xeC2J3S3)#h+VvR;gv!Fs%rC%jkSu%%9YUitB3 zR}}2Z@3Jb}ZT`;_O^@fSo0@SlYsb8Lj(_esGXsw7JP1N4FfLeC zTD6|BEeq`=`4E*GG>w$N=Vo=XpmPralHixA%d7z|XY#x2db-cy5Z$BKV>~LpV!jE_ zc?n&HMZ7|~IFe^It-(n}mn!3^EQ7XbLETc`3P98sy!qj60<~?eR!ehPSe=q|Q zSWEai5l}qCHJPdn{LlyC2w90*TgG$w4O5QznkPO$UO$mYY2C2jjQL>x*f0 z2IaU}lK?4~&4QpAtGOgh>oYx_rDB~V=0&D({e=MaU>Q;Q(VS}8*|(e7c=A-hJ?9X} z_&AaoX%ZdCkZ;m4+s?38f`n_?*iU<~4&|av7j2}%`bk%2vn3&98R^m(KKug^CIBGf zHje;ERc$=t7<1;vOZ=HLvg6;qO(f&TSiDQoQlAd3(&D}CLx>kLT!Xl9@K%?8xW)%V zuDF@~!}0<&*V{52ej+DtV7xV&(iwlSw@C9ofCz@^}p($kN zEtQ}rl4hAatbUjiT@EZH;x>!%Nif2L#(rmdcQKW&`iDEGM(R7tD0S_c$XMy5(w_pA zD*r`G1cB%^ie8QIq+k^|H+MA({16UYKsn!rWb`xK#kj~I}>MeZMbE9C=kKa148o`4lW^r~jAo6+2IMW@vvXf|=W=B8KoIow z2@EQ2HHrSQUV25Pe8K37*zkTl!#=t}yrE)UL_aQe$Zv9*oy~Eb{?7dprZ*0cGMY!Z zm3WFuLeFBkg&Sk7I-O{-LKcn&XM>V+Gt`!a)V#-AAuA=Z0D0E`WE#iCdYPfZo8Qpt zH+0A1T`r)Zh*r`4(-hn50NIICJPLWT9uXb({wE%Kfp`=A-IDU9j(55Mil^9MT8BSG z5-Ac=>h=XkcnI*J7t=#i^v9Y;IV|`@uK=e{KqBH4UBX0LWIo3oKidL+nDAi<$Hy`F z+c${0O6YOynite2+>hFBztzq)(`g`(qg`MN4iVSI zQ`7eOR^v$A;H(z|auW^o1-|>#ok|PWz4OtPuM`_%pobf|G%OYt*XkFEEMv(+ zjrSS!swOEhO3wAjp}S9&wAZFU;)EBP=R&6ZJ+j6c$CZ2(i!PdNJ>Ci4HF<>VsZvzz zPtW&W@OOK=o955|B3f{#gd|Ds7z@8H1X1ivujdXj$m>^{pdCc2{O8Ob^i?~2(69Ya zpeF+Ruha}Gd>l9X`LuSQaOFD7ZWO#JDDtdul+TYXkkOaeG(+1m`a~|CI0KIc`@?>1 zZPo*8@5|azo1`+MB^uY_PDxxU{Hw+StN+?MJ!>)S33i>8XTpN*#%7}*cYzsV?HuzF<+X-0n;8)Z3C#7H#3K99Wn zW0$PX7Ty{b+#KAYR+~T#VJ0l_zMv-Yk3{}Q2Ss8)jjn@xL{FjWlXapQcz?0Y$&}=ah1`!9}}ovb@`SysOvFpdT*F zDooXHsx?GJ=x?+-+%~(rw4ram>2Q;?POA#?;6>BhYKu2x?FpmC7eB_jePhmeRAy-Q zV8eh+BpV#kLW>@i)Y)7iGgtPr$JeH)i=>|nM)t15q2^t!;DK_u^%#>4L&m4C z1EVoMEai92;~QlE^NyJ>;gk5Xw>y`PdSKUgds8j>6r?g^WoxCB^Y=jaz;>X)DqXDh zBSqfrm##+N4nPO396+)Z$cpmsiHR5ra&tecFknD^UgzJbq;m%m?S#Uj60%sEQrR??rA= z0$9c={1{?3mtkS&JftRYFiOVp8s7`2tJ4N{_^0i;BD2%pj4ShZ%`!y_(&p|o3Nn6< zzk%54H$)uJk%)&qXTw&sNt3Tsmu@o#`Wg>cM?Va?u<@y#%8R8+-rrlpyu= z$HkCyj}dvIFX=trpM0?2u2fSV_A7z8MF=j%CLf^b&{purL9-vk~=n+h;gMC2f4iTewqiry7{96Wc;#-$<%!JO?!CS_MH&4 z&!g|&?PG0TZMMR(4bImIK6FNBviq4iHJ87*Dw*F4+tQDnEO(lNzqv>DD81g{wrdns zE4R5?Zj>$6FcbYZ|6Bp{iwVwcnbEao9ddkJ(MB9v3uC{no~kxdSeTN+Q2}!P1X9$+2CgfFdTDNZn>ez! zou?)+NTP_sSzFI3ex+_pUEQYYJPFL+RX*=IvTOZ{@6pVNOJVr$(7#gH>g5tb#6L;= z6rg}$L_{5&2*BL8XkcvLyBN%~NaTb82qFjE4DJGaIfDpec=O_`U_168{0sMsx72fL z5X*vz7UnV1`zp2?2Hg<2L74Z!Bw0#Uq&5pWXsR2j&R4~ldhC0p>C`B*>R`ph<*vEA zh-P#ScYR5@;hnx0X_2iCwF$uM!O!7pBc!)ocVc#meg4BdMEyqxWyG402fx~7ZF`?c z?_{EL$%vg})B#jeo>kR>C;1~>9w+_+5k;vD+nJZDo2*!-R2W&UX_u2qoyE?&C_?`s zzhudbMVz>EXVVC4!zQ>XoE1MbIr;givUGpqEK-B6vJYCxLLvy-AQ5WkG_oBkm&XOu zIHg#_XL=2wLc=lkD-XcPFkEkhEpIhQx7;E4Xsp{}pLXTdc|CXf@V5JFlo7$rbIjk_ z`1CvkW?Q^%D*-~$BfuD_#U@Ls(SaJ|4$VeI{D1k;aO;}A>2<8i!J})YJYyze)si=Y z??|%q<;8o(r#e-5u3iYYUD~#NCRV~^QN>+>x%%p^1C0S~WZ?Z0D#P}R<5l=hd{JtN zxgN8g(3};GOn{hcGjJvu^bJyYNmB06THs&2+f7Ah(n+E8t)))B{0WZ!zMhJo+-N)P zD}>ysiUwa2M8?fLz`PoKVLE*AnV@cjBKSpxnBFAeD%GpfL^_fqGlsoU_H|5_#8cBvh0nY% z?@!+j!ZYhUW9(W#JDqJ)#m@6DiiQxQ1J4>y%^52F>Px*0)PF<#cZLp9?pNGG)BDIO zxNfsro`G8Z(#`DeY_G%>8dLnmC8>hQL=Ppihs^@HNd7|DGrcbr^3&9$52aq{ zai%lBI8Wl7d@@Di*SQG@>3tv%Bj#rJNgEG4vdEtixzlP`O>d59EGW*{t1(wbt-0|e zplFvyPQ321c?!QPj<2o5Jkb?RHxLy~-hOPQELBKc0^vTD`z$`vgHjZx+0$~s z=}1MbHI$=Y^bMEiG`!BP1uN5q8sB%0FFJ!asgtCamc0tSY?t1}kzO`^OF&&$(W7eE zuwW}821-V3U#i&0zsWz@isUHFZmxt4uQ%{7^G|w;uPvc9=;A?Gcdbd5g39|53WaY=+ zB=Nic&yz{^sTL1PDw*yse`FdRXUr8BB*U0U&+Jf}UE``LAiAquB zcWZVBV|g29x-*QJD)_VOqzugTj&b$Kupx8s;;#*ic z%iBcC=O|odVpH?B&RydHBwX%P&hOntUY*)j4|qGU#?!smMdR7zg#`_d^GAjU>uHB7 zO5U{b3l#;>sIMQmLEi}gP#~X;Auw61nw^IJ#&oQCuIXRD%Yb^wew$B8JM-d1|F^X( zc}4tz?Q!N)Hx5RT+s5jVhAi^M0>#@|3gVE3aGB?0p|b(Gft}xmRJ~g>`WxfSdL2YR zqc~pS5Rm<%*fUkYqAjIyh!acC$CRyKeq* zWG2g-m6~ZWoe9G~jh$x0b84C;Y3_a(v|8D&Ro^$6#W+v!wzY3;jN;$t?ug{0+QvmR z_vsPecX*|&8!T+QqhiWmEpsO#JZqbj$M3JLPGk3iyW01=_oO0r_Ijnc53~mN8O8;+ z>F2)fvbhzAf2ELqzp|L#PthIJY+jrhx~xq97^CN<`X!=aCn2q%K2io36Th*+>t{HdWJc=GEgFMT<)K zGBqTO^b2nnNUPZCRqRU8&OWqk9#9f(HrLohHo_9*`Shfl+9->R?|jj{i+&+k5;RU^ zv(K0kbKB9{-=>Cm^w0F^mJG%9K}8RrzGfPN@+5IrT`=wc5cBRuLIQv zbdAXR+H7cp^UMR9;aKpj1(*o?^qNR-@>Mtc_VMI{u00Kapor|6sb{6EnH92IK0mzi zW;H7=E?Y@OOv?MRMt(+D7ONjrEwc`?A=(9bNLO{hteUAk^5>5{+PvCtGjOeCdjZ0`aoPd)%VO@rqXX zVp`8ZS&ajT&Ld;AS#fCYZ_;wS6Louof+CrU0xGe*bZl=X*H4Mc!DFj)ohw3 zRf9LdJV5DK3^K#_Kj$IDI?6`9&(!z5F`P$Hn|`z3G%4mDw(%vk&aP`}fO>}GobF~j zDSY{UsxcsaMD!XxBTDqKdH?8?f}5A12|w;}Tw}lK++>JDcu{Q@snf!=}()=`3kiku6jj7N#sPX)hD`e zV@}1n8bEGQ*ph7`TI-_xtE!=?YGQ$(to)&|t)r$|hypKnXGK)R1+C}>pL@{0D%`*w3mTnIltH<6c!1?305eEag|3YP6rcw}*K&4p$llF9+H zW?B&B|BBDAmqFX{5D){-_z%Z{y@{cOiiQluAFC4^U+p6mA2=j7yOUU zC7)gRLr1apUEsXY#*!Lj#aOG*dy%5|MB8d(*U~mJwanquh^V{s6kezFrHbI|obZm( z*7M*-Y6Y__?6UCVauxIVj|@m1n94xOhXeA?$FGE4dzqj&rV28LGc1spv)KwOPGV&8xeF)36k#LY|# z&EoBf@+Z_z?J~P&o;g?yZ}%8pa0SCSz0^uweS&+*mqxBswepV4!xmh>U*3{lf_|xm ze*dd*GlivWXu>>W$2PHNXLNSdKqfc6oo=E*;}GCKOQ(EJz*U0Y%Mw*-Zln=U7NYI! zkry?r0N@*s?Z zYZ2LHA+T2)vU7OO^JsSz@i=ubBSk^ZHVKJ|4!p#j;B>08vDrgTR#{}D` z-<`B9wNYsx7kaLWhxg14+6b5hTQ9aa4L@zlEMYVgy7w;;r}?t~Ie;K9&58zUerAlF zZ8fo>*wq55$I*UiA3K)qW38-nGf(jbCm>`E+B^<5s;ZylNZundkZ@n(?nna&JNnKk z%;;xu4yXMv(X29lcMZR%bYi`vY?px3Ge4*H^G@{?=4yL75Ohn(oK0hlMyAyIKd|&DZ7(?!ESdj;i+fMwgI-zVR-ovpdSemRWLM-6 zsAx_m8)M|Hg%`1+GCFbXmsvo*4_!z zdS+~2KsosoyVz>qpA4KQa8ee%`El8q%OazDLHOUjJ3qe!cqg+6inH@lo-AUkCJB&0 z_M1Jtq*M+|2BJJ#DS6V(j9tjOH2U%q3Wcud4f&G5Y*R>nHddx|a8;!L_`xP_!p9iB zclXGD461Rb(nwXtSv8&Ac@Nf9+F3 z68XGg@QWU{{eCHtO#xhE&#SE|X`|cgv?=SC%q4BLJ$0J40>a&y5Cc#dt~cEaS{enU z%~1YgnJ4?&UtwK#I`t_O_e-OZI*Lo4GZP_t;kDL$lQpybkMef-KG!=dmq!<0sjTkl z?w-G9UMU?@TB17_Q#Xs5v$j|d&mZ?F)F_ZvqYi#vys!8IBCb=iCJY8jjYI!1qXC6( zv1sS9lMwxoUx4i>L=y8&BuZ*Rfb&Mbxr>S~z^WgKKy{-LJ^6Xh>zbk2MXdPtF+^gM z7w)NsvY@48D$6~>fd`qbiMh$~fxUV~`;sUzElGa2ohThK&CS_is+t;|cII#qNxNaG z6iIfOLYvRN$9p6IlRHgsW^rS;Nt&X+QVy0i4}oi>$%un;Hi`3w)C+T@7fHU5YqZ@H^39quMpF3oBqcuzKmy1r&mS<;0*xF=}XLL7j_v1mnY?QY%1TV!f%n9#pU zE^*sOjIxe347q;S-gau7FmsUiW=?0=JT>56{l?(iS;wFcn)wN#lzo12wx=uarnC&z z@HMztclURF?3RW**zQrpJao7l`nvj#UR$2$pgSdYowcODH_55y7BpK!*OksYgB0A$ zIdZV|^Pm(1>m3F**0}vcY7*`$!{Ub57vP1>_WflLT!OS@Yye)jfbo?XY(Y`;77{NO zHDif&I|MlSV*9L*LIbkvV2@|%F7{JEL`DiY!|@%3#j?iFWw#5_-Ka`|w_n!m z?(P*~xjXgOx>S=bx+@q47hJ->YM9N=Nm1r~Fs`Rppd!?*%mpQ%vJ!5Fe8Vs$xJ#=T z7`Dj?c7tY)#XJCzkF7T}kY&f;cWSS-BWBYPuI{Prh$_Y4Lxx}W8s{VUT`|*Prd)os zB83ZqaL4q;#=pW}iRy2^S)S42sDRXO@Qzf(1_lCPOfU!(1VS@1#-l8YzQZsf_uI$) zM-~k5l<_lcEtIK(RXJmpscfuKs2 zW$c3H0sAIj=3nTGGWp1j7gN5G*Vym=B1=#&Nj^Gy~xcXHFD*5U@_u z4<+OpI+9yS#!bc9TCE!&9tp3$j6{e1kyQ*Owt;!|O{~P1<@3Y#T#pPA4$hO+N z)3zO=k14Zvh0jC#i)Ex7b*eCveV?%%xTQ^O0vJ>EbR`=%%H`0Yv~hchq}Uy4sf@ zih!d|!!<~Zqoe$}?2<|eQiFLt`%I=uo#H+{a|qPIJ%Ps<^I+iRHD;QuDS3W1kBUd#K=1 zzp4KcFy%|=dqjW$L5wnNzVAJlGtg-YgIG&WUFDPRxnc&T`s=+MKp9Z1kayu!iOsM~ znXcW42luIXuhVM+nT6!bZ8k<<0UHKz{;-)~nna)A6epEzlDeFzWvJbh*4aq6fa*Ex zyAL@%Ibu`YHj$JuMoCZXUpx10*fV;oYIAYxp${57n;({hcxO~FYy_adW1E-0Hok){ zEx<@-vq}bd*ROwzoBK>qxrjl4d+Gb{uK)tC*^rd4&(_#z59QbV1#l6pol5yb+`7~0 znyw0-y;RHb z;i^18trY0Asd1ZPt~RARc`nakVkaZhFLrqd+75MHp=~a`;qWnM?nU~&Bf$PkA{>@N zKN>|dT%8b0oYeSuw|HC8UX^tzQR~+x4}lXC9R&QFJ61=@<1)-{ADQu#56kJ;(c8MeR+C8})&`uS&a# z5pRsW4)i4gX$9<%IT!O5@Cm(4QdIo55QeB_yTmbHNjta=`7PjuR2_@w?#Zsw55Kfyl_zUMDn!rw2q)i#N*y0_$S6OI(27ThQo8om{3ys$vk* zBb|#_R#Pth(#3r!du-e_eXh;C`E7_wqdIw`StWf}oRv)HLfXRr% zO27)YJY@J>JEf^0vq<;`>Rd=cS=VM*dv<6pGjn0;d>cx~rF6XNu_%A1k$kM3s{&(0 zn>c)`C$w6ykrR!0$y7je+u1GQ6%#uJ=+TZIXV2}lxR#!+z}uFVa#{Pq;8?7MWht(QI=;!22iec=@yY!hovis1`ClHA?1rQ0rQHK7 znfiUr@g49`RM%3_X7MFwe#OvNZJsOkUhSe1Yol@Hi!vz2qS=Qbh5}*d2@HKfe4R?s zD;o2j8g^-j;rcRPDRPZdDeWrUX%GW1cM@TZ!k7!el~8<6o$I2)I@wCth+#)j-hB8U zG|t85!521qFH#j#pet(oUVP{PJ0q~B!pEwm%^A zEPM14c-oUKVW+QAGJep>p~Q6Qxkxuf2wd!YF9)6->5z|uo6HwMtrtI-y4%f81OnU- zKtMoHB#sYbu>6S9d-7X!9!Y)F?uM#?c%p1mftSw561n3BCl_!t{=@3kE9B)ZgX`A` zRTjztQm(088eT~+#FO;s!Ld8TYeTijEKj}YRqoLD0ikNuK{%FODt8O%K}CaAt4kmB zB9rVs>f!||;|9D91PphF+)6)wg>!qXU!4dEuw_aEO)C==ot@8^X(^Q#&6(i{pTI!2 z`I?Ywxnrj}2n9k>Ewu?nnm;5L2*w5!OhOt{%w71(?$3@ceFg^KlYeF9lu|G)x`in( z#qV6ORb(P_vLE+wQ>1S8Sd&jT z{}Ur2?JQh+--)HOB2oKZq#Kf`{Z;X|Dc<~Eb{e_4dB>rqcjZdF8HscVkGJhTq95W# zi!qn@Q!*0NYVF(fvg)$>^{gfgg0|B`lsYf?C5TRx-xkZto?^NT+fw85J*82A%`Ul^ z^~~OTb-}oTD{V@x&{RXbk`=W}TaK4Z8-Dw97vs0j{2#NT!t(;wvG}Ed=T|3&xlqeO zKX>YBbj;bj(`|DffX&V&14g!=pWHNEnDTo#qy5igUtqW`=ere5G=L~)M?QSiy#|oB zHJULj$o&|Px7aRTXG-DtvAIFpo#5p&lLLJpEXqhgw3lf`S+~8i;{~;8L1bEUnS$4Q z!uhYMslDFmtlJuy{5c%FcYZAuKRN^n1d4=&0bcw&ZjH2O$M2=ii#zT_HHo~;E2$hW zpkKSctw+3H={31)<5?Rp2cF%1uzW*!{Gf5rF+4P=iqkNS%RT3UhSz?#^NxMY7B*=6 za*sD^9Yf1wzBs!o%WU%DsrD@`IM?Lc@g@1Wy)1yRk|Sp{gd=xfRyom4y_ht60oN}6 zsrl1GEvLMj4_*_4j0h0^QMly%*iL`)ENRd;ZWC!-zn?92JC3^E zCR~r%6FiGu-V-fw!yBWbLIT6qT}Ma>?-Q2XxFG{~x@u%U{j_|8gEuxCfPAQD+Yw{| zgXwbP3M}s|Xc-rufo|T&gg&qO(v~3E7Sm=|CbG_FB;X|8r~_XKQJ09=yyOh9gZuKI z)B|4g<*G?uR(aJdEX`PMu2?M*BvflozSHGwVX-El+l&>PPZi(=warMJdnmRY>1Nst zalFQT?SkR3rZML0)M$b2U+3z^y0L8g1EtiJ;^p%Q=~T;R`?!`Es?TddVEH@iD<5dsS-TS@*@!dRJN%+uP%60zlQTJPZ^O2aWz2EHZ|Y?Y&uEuC74)O&}y zRgV=7jFX5~)J^b6$9^)f{VeKgWNIKU}w^FIXk|tck-qDK^ z6PlV+M)thO@0Y%%>}Fu3X(uOMHjn26zX75i|#b?Sp}=O1Eh(E^4}|ptpR^501RZ-l8UvCMz)ows-aTp zODX>@On&wb1|2tzIbDTA>$6nH&k8T?MDtV|H|#6d|EvI*@v4bZ#r2soYh z|B&_`U`=dm+ig(7S}a`>*f%*99|^HM9E6TI*@|LzrTV_*a&HySRGGvXKDL zrn|ItTEsDtcyDm!kZZDVmp1+MqF?8!ABYaBBK?7l%$oJVGd=FJ9@^1g`rS*J(6(za zLSXTTz1qUb<%=u@QMBJO=4$wDTq@*p=jEuIHuoLxx`sS`jT+VY2|@s3uEnV}&C}JA zCblVG`Z%zM&$HuZua0w&0*px6-2ov+{SgPrT6T>aEDukn&ycHka_+CeRY1VS(AOLv zXj|tCTMC9)C)QqVpeb#A6fxRLRCRB_YD!X0^t+8+!*iXjF!!Ck%E7v(%2pS(2J!T2 zZ*``*FopD zfFuw`5#P72f0s=jAx}(duUTlHyj2I%5MQxxbx?bj^J=duZufyge zbX@Nuy-^B689q$Xel=Y&^{o}WAF%&`D1jU2Vk zniBqSU(>JViih<~0eWy?$L1l!nC9=1B&&5ogxdb#ufA7PslzHfV?zH}E2sbbc=Zwd zO^OZvv%rfu<9wW>NQv=DQ5Rhp+~j!I_Ae7!rN8M}o+J_?zMj-5Fwi6Aka&|BCm$JIaEV8VGk%gt?-?ZK8N_c%eK zz+eF6Se`+nJH*H9o)cEj&#C6zXYZyMh+x_0TRR#BG}ht6v1wJ&)bAy^X1Cn8W?dt@ zZh~L_*|N=q-sGv#2w?nNpX2Ts!|&We*t$Wpv~sK}ag{?N30y*SjE*3%PGRVVKLYxL z$JGEduEO1XR6th^9Ox4wCTj_j8$PdVlf&8*jS_WB0_aW41L(^fflrOXMys;Aa~qV0 z6p-9*Q*nFj4(fD};tqwXy`Enap-!kk)Pwl-J5zNVabDbd2w)3hVSvaw57eZZRt z>0B*6#FHz`_qj9s;k7fWf%ztOY9}Y;MxUB;u}_ z`fIhkKjG1+<)5KXA$zm!+oBSM!1qPOrC?S9j&8p7Rx>W-3klsaTW{diMEf+nGuQZU z)~2UP_Fxwip>(l2gfmR&^7S4~rg0`qy=Se<4yHwNya>4;3MI&a#J9vR5Mf`Rsel)BXm=miZLxcnGk7eOoxSW{!n$!DWY3kyI-A|( z*1dM}tNC9;>r=qMGdX6qxhv>z_W>*(VZ35+QO!&!8N)4?aR2w{dyFzW*Jl0g(Gx>y z87b=F0;O+Px=Jzk?FkcC#xa4Y%iDLh-sQ`y)ap6tI!}0lA9x|0{4O_ERu^U2NJH`u zg1d1N0zHSrt(@e&Fo~)DU8DPh)vC*dDH^T1NJEnh6M$KH-jN#r+FM;@Y*Zohp-X~^ zRfuSuot~zGZ;T!5c$e|e6Y-w9s`YrStG$jZ6A4&PtQS5%+V!gSo=VZ>rwt9UYlYmp z_!olIJ86X9-{L$ zvt`@0g77Atm|z5}m+eJuVD4t)S?ixic#vMSGgg=``#dj_*2pNuttGo4px`X1T-B7P z5{20(5aaw@seuPyuC1QE5PQWJGxg$=Phm0+EM}@kOe+C=vvYP0EW#qx-O$Mkyvqjq zrZ3@s9Dl6Yy%JetVyG~38c9XuAIO)>9YBbFXW>WqsyFg7$9!}TZ6sNSYh5k|8>ug2&`%k7r`c#Y+xZ`wS^|GgB$BR{9+YpZnkV=6SJl+3)yoi{?0+q)(d4SI zzWjZP2un%vUzVo>Ki$9(3S7?xH2FL*aXkGKG?>32nlBueY)Ip1ZU8!_g4jL*(tL>< zA;NIDx}>X!7pUSPxkZP^i(pWEWQs=ICcu~m)u+WlcUfy1RjRGJE zr<#$p3t}uYRzN26!=GhgcUKLIw8HCfSdF)2%L zLA+0ndJhD;#KT+(i2phHe*Fft5xyY4P@h%E5{NJ&se1{cH2?IkjQ(~}8(JVUeeex1-og!Of|Gym zG$=a|J7(WptuV@YYA!zM>1p`Q;FKAs^@+auWfxgxNu#*7@IS!TkQ^UBql>1H-S7%4 zr4&TKNQ ze;XF^CH?yJRQtf$6Ix*TKZE{pkNh*1(e@2}u$gV*oaIVH+{$@XtU!k^Vvp;;81@0n zNDClhx&)$hGO3|$wlYgdBoKtw<9@yGlE%Jcp1 zj?U|mnPP^98L#0stZTDT`ko!GY|U~m`HKpalVv~B8{8*YGHTKx982ZvLvk~v5P9}2 z56wr7rOiJSBL_b{ZI_9w_K8mDV7yrHBORhrr)k8}?P`!K(VvUUhD-bUo7)lA0*m0+ z*OLA1q}GrVQ=iUw&z{Wu^uy^#3Kko^L*G{0EPZ_lk}se2x_<(7VZ5;@%v(#UP%;F2 z6OZeO+~1Be>V}JxB5S3dt{^7}b$JTc*5!&X%(=1T7?pV?g0?U6w0WbCduCw;N0RUZ5JuOpn?TfaaC2#G(v-; z&`3Vy%J%27D>;RsRpw5lzO_q5nWwjeoP`HN)s$Tx6FnXHSN6{EgAHs*ai?}Zx7L~P zm#24SEf5?RN_4Dud`WQrD9Ot8orkAuzZRw1$n6t#=CEj;bn1luU|tvmkr|ciS>zDF z_P9lzKivpQCAFbyGg5rly_0*~{N?6kHWO3V(vIcqc0UaxR4>n2Avvsrr6=dO=G2cM z(SU8Upr6Fcm%n2EX?Xh|Kt{(XE8#iwA|=4w{_!U$d{LKF;-_5a!ueZsMa_tpNxYjD zoMzIlolff(J!$}KY>h22vPni5hMs(0IUT0cYYH=!OZ8*dt9L;ZZ;s0*A0v=3C4}U+ z&hDgIS=}OYf5`iCR`OR5=NK47fU^_V?zPR>uk1RK2`sA2VC$1^8?bVM^M(?I$+?z_ zXOyCT3W-;5mhS?vbDQM+#4Z!K-+JzssMA__sl+#(Z`oQjx=y%0=pUem`!8=iISB}) zPWL4G@vDzuh`WICVIz>zj?g4gYUTM|h;@_07 zH|iSR?giJx-!*pjW!&4#_?sF$z^9GtWgI~YL@(dsKQ0hBk~IRD-J%yQMcsUqYkNdm z$+M9`$XpxKo|bPTW9QfV;R!!pW-e*&-)axFy~T}<*YB4W5k{J}pNhSKyE&Oz6ANV` zs2Gd4$9cY9?_i%pppxD7KLCn9gEswMSk28F(0e}44u2Lo(p&eRdj$$QE}0smn~kdC zXFUEz5xYv}Q!hk2zu=S$$)OjXk?n|^F z!&oeG84c{0Bw-fblQN^SJw&?~hr?ExpFZmLt(}{QXuLITA87D&$TzH#jhbP;zq*Hb z*!*ENleTM4+{|z({fb&+Z9CVbnY)DoZ=xgl=YtED!ET+buE`kUAYOc58+mE*x z^T?Z{*IWm2;99W?u%@ppZ|}p=?Ar_gr!t+zGMo;Q#tWAAL>KyQc1Ly9+y;Mc0cVQg zRphTsbSBh%#KxKUh7ELAL9gtL^x`c91$0A}xyyRkBaN^JDj1=R^$ur*dUL!eoA*Ps zywszcizoS|0WNv%t@^Td$IdkI>qA48da^Q3;nI2OkN3X)VY80t9%O*4OfMa39ehiU zF4^mJy(?bEEL2$a=G0J8IT({KI7ecW;hix|To{?Xdq3Sm(8Mt{AaaLa3g?u318sgV z&tFk3Jjt7H^> z{y|~OBv0O@?6FcGU;4N=g|Pm;QbWxOB*rD3jdj_yX>>nx@apHJafKo6`N2rutoCjs1@K&E5*EE)V@L|)<yu1e1b{gn0ssan zCc-`05CF(2rKfUC1N3M)S}g|zK^V_0GF&2;d$f-R;Q(9y+@N3e=oD=7`$dlbiUCe1 z?#Bejz8&r!Z3nbYG4+zSj9|F9XpHBFEvq^^{}&%-Ugi0BUssJPbMv(Ct!7-wmtNM= z7ET_8%5?|su}U}AYYCy(itS3%5o@~<++@+?gB%CBZ%+fBNvhC(F{&XNNq4x4+E(sk zVSrXlt7i4JAN7};Q~YpfKF#b{9$v|KM(8!Yl7V%S*AX=Z7;r;fnm3mlJzJY!^i)Y$ z**rOHUFk(=dz2ZJb5~b-K-H-RO^Zx7;a{n1)|EiY6meC}x$(C@Pb%Fbw+gV?dx0Urd6{9>Ec&(5k?)g(lWEN*@xc-i-{2Z*xkI`ijzPfE@;lHpx~p9qz5Byz z&VUIAcD)U}_~;+nf*!bWpZRB^XtSm4Zp7WuR2=4>75~1xYN%pNyHk$`0m=R0RiQzc zpZ~RYmG%Bj7-zJWre+_$ybM51>J5E28)IKPdMdMR9pd#T&=1Fj)mm(ReGh2R`&iuJ zsjxogT>y8e9g+aKUx(jc_eJ6i%GxsbE>qt+P9PHT@rPRBUi|t3s(#h+*~-MN*mRtb z9kdD}&{$(F$2A2mUK$XS!Pzx@Yi%?uD+l^X~zp7AVgZT-{ z=Rs{Q{b&wVIQ^aEK^sz+Z(2Q(;jank-RJ?^tpGc!9>blyT=(L91$|g^^0;5cd_ZD0 z33>sgwbRTjMZwpk8$guE?P@iKiC1W#V`>~!L;>q%iM(ztzpryW=@CYET^Lm4HI{!o z=`23%i<9ANF2S7RV$ZBO+xoS+@(IQ!Mu6W#EEb#4=a5$Qy{E#0VVrBVG&^o}UVY$8 zns3}-Qn+|2vY|v@II%=pJ{Ym%)jYp~*c#dg=Hs}8aNcn%re^w?MG^x`UvfzU^U%eB zOp^Dz){Av_o&jn&4$yFLzESCUsg}kqp`sAs+2yo7IV>Qo>z9-J^R^_FyK zF+JBW3<+3F1!MwkCrrz_$Qvjo`%D}R9;T7~@*UF13bQ7H`PzFox-YU&SF5sY?(xDz zsCzOt=IK%=`w}NbW0$ZVQbgpQ!N`X`5k)+qzxIUl4ha zZH4)-lddg%|4n<^NT#XLrLY`_9r^2k#d z+`Kb<`!I0cNk}jJbutOi=^6rwx$GTfPA=ddAqWs%ki%Kv-%|VRYpd5d{)qK2C`-;O z#i=jpX>7$lfzDI*UZ`x|i?SQ&J&jbe9cJud_S>v3zH70pRmEf4IzM`q9V*e>Hct#M z-2T3ZZ-CP}Jx(M;FPHU~Ir8Y1!+biJQl(J5LTY@~TvY32B6mSygXQc_`V(skISs)A zAvM*5`oeKO%`jn%T+Lu%$Dy9aF*41G1G(7PRFQ#V!r+P*7c&e%I;jFQ${kh)Y89zw z*Bv+!yzJ3@LK~(b+;x^E|Bww*ylZJvO9x$;iCli1?!Q42#PGC|*jlsO>E-hqdmDOU zBvcc4nV{N&Gk-28_+s_b4$}!TCM4Js3PH{ZNyd9UWQ$74W#B+jXa0!_P{*C{0H(Mq zb|$UGavYbwKbEv(6VtAVFkwk2^!HbZAJ%+gT(Tt16htBI%-iywJV7wCC#JOw%`z|z zSB}l{6@ZjYvqNsJ{{-p;M#W1UNYIudu0Typ0Pg8m^4^h$3MTg*;PuUDyaGx+4itPw z{M9^re_evwJSmcL73F7qe0+muL(Zxs=+{$6r%%if;cGa~IGt!>>lE1NZK_x5dQPK9 z6G12Dc`IEanR)2*XStEIkjEAPopk^2Nq=9T@Puvb9e{#_uytSy)vkhH@u%bR#@kMO zFrN>urL-E%s!AhfO}^1GXqEr-h$#M7YMt<;Se;1}>~lr@1+I&EVJm-t}?WmBW$ofo{>na9ya58@37}$>DyO z3~5_kMrT%;b)MmU@wry=3J(^gJ@Wkrb>qS_2UZs|k{^8d(Wb&%Z>H723(uz>*yoEg zW=-f4-);GVEy~9YMtY`xf^-g1cv4C+L=M)ZalPm#NOpLpuJL0B_n^@d)RH^(jE1Ao_kKNW($&`_5PLr6@x74=2W7x#wR*v7k z$Kzz_04<2{Ek$`@b%(fC$Jm6>9xlC2^5*AN3pTiT*z;36VhNInwr{&mnwvsN>nl;J z%P5686O^r%xX@I@2M;(4^y*^D-l`NO#mJ#xf2td8ku<>R>5&+oPo?Dpx}Gd za{bh8n-ZPqKY>BKkoD567yhzbt`{D5i~bAd{DPrlw5-+>_iF1&=1N1omb075uHk@749STP7%8P67hCYmrK$qg4aMn#)Z80^pK_k!5DG6`?ScsWE`vcxbI#+W zWRSSqjm`E>l*hkM(Iu_ku8w~W$Y@dllo%O#k$YR_n@K*`CzV~%5}7O+`^_Q)Vc2(N zuUv^x|0-u~?zJSRdxQ8vsgLQarN#&c0L%8yf$Wd8y}~dm!!_~wky5OAn>g-z{Ik(J z=C($6(#(m+C6SNJILH4g#uHJ-|=ld2d*UhD| zoBpg`4w@fQlzuUu<;?qD{Y=IhErt(I5;aN(7v^TGJr{#`&TdrOovIF({s3?rd%Y}k zd}98LTh}sc8y7XKJ;bfZ;qw7DaX_C9E*8cEBYZCno%B9I5VJ>zD(aj@$*CDm1 z>R1_u#DIi(Y2z%tR4UhvfEf#zuay3&nta@<5~w)40r35gZjoofe+wrJG8V(&S7=Wo zl~tOMcRo;TQv3z4yLS3?pE?-OGwoJ$^*EN@KradiijMrrZ@PK<&=WH8k|65e$y4_> z=s!xNY-7RJs;+TC3nWlhHxh$mEHKWinu1o{NWgH&0T89yU1V+=%Q_!wc^L*U@PreN zSQs|jw)z=Wr68&*8(?C;^lx<}Lxl!s%xrLxW5+-Ix<_?~u4IxsFV7H1o!Zx9fB9yK zuzP3j&HdE$Z`RgZau~O(G47-hejK^ z#d_g%VLR%@k=Ms_?c~Mftl~-W_&RaHYvp&gR|e(Ef+!!*WQU4ig0R_hr-x8sik8th zrwx{X7dC)D70@YzA^Y_Q@%_ZwS-QGNMfVDhmx@-!kTUnqhUCDv)GUs$b2}U_gs$|7 ztcaF%bpZI5?hC^=5;jbd2ntnKKynp=)`)FO=vhX90SsH-I*>4JFvo*vkKZ8*xP&UZ z8Rp}Ka?5AR9}DFf-v zfs8~YrpdfoG=D6H&>nHR)ZFJG=y>2yof#;m; zlNMtLu!S$}uy^_Z_^kuL357obX8$zqJm82|Cvc8{uL|lpBOW2UtBi%JLT)@s9s=lD z+kwxbCG&HenYDH73_&#VN+4=pt0Y~=Y#4foi@AcCp+%}C%XAqDs<*nyYAQ2%yjEUBSrmU(BooPACca; z3V(cfw09ue*F^@Wg4M2*yoG879l5%&3+ns)W zoL7oIn7*)fE@L2d29rRjNz>;1P0sy2@$ofNw|IydR^bH*l9nm8uJ+}NRXg_^=bAA> zg6BbpT~}#B3NyaCGIQ{9bjb|tnuur6Z{8W8w#W;9N&OMv3Bqr1j|u=T0qQ~z+Ww;i zfL3ndOS>7KST94;6cNzA8r>(>VWpt=%|4cHct`S^niCfTL-3v9%e3r*E(VE0_bv3| z^ZHx*KnRzZT)3 zQCYN}Me}7THU{^O_BBGuRJy<@ygghIqw#=<4Q=Zt6gk^-R|Hp>zswaN;BFnF_f+kkK2?K6WaycubxH;WS4XGjZTqrx8+ite~Ohg&8VHMx~wt- z9bs|hFu`$|@bHhewp`yReai!hfHh9lWM*xi5%(IQ>Cq-Mh{nXu=RHUtM4@!_7M#5K z)czgFc~GkVbV$6Ik?`{1>p>oaD32FarY`1yZP@9&h<)A9;0O5&E9co0XJ3F~3CxOa z4_~PtrM_KF#=pdR%dW|O*a2NRf^wsaz*xt-r1D$#cE?_2P!t805qWC)=)JN}O%e~o zPLOob7itePg&&p8L4hfU5*TIbNfiuVhtB*6Iuj7M(KPaMquePUt-a@Qy3E`9ipfDT z!Lci&0;}~oHmN+U<=GsRWoo(D5C7KWCCbIVTI7xvabYMEb8l9WNAvo@g(my_?jF0lO zpix1B36!w4$VTK{j{El8s!IVOAXT!wB2KX97?W_V&z4|Z44`0He66Tp8mxN zvW;;}J(iBGfIHB{q_so#7og-gvaw+N2|gQ1ra1hklK|CUN^TFhr_QHwlV6M}ly^%A zn`vtgAa;$)A$ZR8L8+h`1?z27u(o+qUVUb! z@X-!a1pvu0=*g0_+YOl3R@|xc5)8~O7R*-69zcI7D13lTm=aXu60Yc-{zSH%1^2Yr z)LT#kpoLVLu$Ii8BOpYqjylzjjEqr&PDfHqA@`09i{hKeO89sKv)7@%8^iLKZ{drs zYZw1w-CSL_Q>+0i6eWiSo%}=_&qZf)XWL_LP$mW#Ci(A2gG6x*FddCP=3#S^ar3gW zE-)GIxy%0qxkGU!71q`BrWc61hnga(n@ijN%c#5TyV_F&IJgp}c~Fu)I`AA1^zE}z zn^1@Aha4W&K3WDXQng0CS44*a$bYi82s@!qRMs`q1-S|{KChlFm-<3wz1_6=T1;Yx zL~@%&vQWc;Vef8a#_$ZcBbco`W4k~Cz#6?(e~xvX4_x7p9ytkCa4nfN#H#LGTP`iF z7d&Z~hbHiQ+8*(R$ebZd0{~J(kC_k(L0_W?>1v<~#)Bx{lN)%ffcgdm&57jcsAcNP z7}PY?;`lBe4nO$DYc_H{;h@C=*ZFSKMk#TMJdv5Q@bY2g-}E&qc>uru-3bRdzoP(H zOyR`mNN+%V}h|5Hdc#u((+Y=Pm4_BR;2R6g>0kNQ3Sa z5y_1YwO}`K4{&Y`=e3j5h3oj+%jF-dzMmA(g~Z9n2OZbz|9Y$upPs_pc6ywI&>JWb zWKdIHR&kb=z%t4!$e^=6tb&`4asNMI-PGT;c-ru6jBC?98{g+Xjy}%%RPSr$hEmSo zYxtV1miiL`48~JU;v)jTnDt<}`arW)Jwe zS#|)u73aL%^uzF9TzJ6HG|eZ2AeQ+)aQJgAYNP`m-(T>VwV^QIB=_LLpG0^Q8v-2k z#h01B^fSJ>Cq-}i28o&Lrk{u^+ty7~D<=RVdEA@-aIkO&PzLg!o`Am&utTlif$1W2 z0?Ny-&P=TW%#1z-qzk+28$dSnw;-C)9Yil=t7qtZt4GvOU8E$}+&sI7XjZZ|!AX(* zP8h3Je-j!OWb(9*^ElPXR4QR?gyb_ejhaEgMcm4~#|-_<4(Js58#xMg!XCCq7bh(R z^3pPer%4PQ^X(*&J0GA~|CGD}TA`YY*uR2ovQpUFJ{>2gX?UvsL#5Iy5 z!a^r_tU{-OwJ_%NCT2VrXJ(b557(IB;>1Rpcw&(qwVdTXG6}M1WG)WeGcci;eqGNk z$yKiAoR7&(;OjC_PU`;b*6zyiwO=Q88k>&r)l_y+OJY+FfJPB{OMAOI-PM&SlaEUW zOc8SaH*Z!))%(Yx^A=J~3`Db`wsqWQK;*S-J^%U76TiqEUejl;NkJzLec|UadIDDN zaF&z%KISmjQXMe{?soC(U~Li^Q3_ACIFmz94-Wbi2qh5)4bqpiNe?S z#5w*idRshJxyWpmx$X*)GF`+7}qOq;wRVeV!%aEyO$0{0S1ZsZlC{D4(~ zHHAZJt6aBFzzgSFt9{HKJs?0?Kn{J#fTtD=%e&Cx4}Ghi6ua9qlH4U665BofzBH8C$jP_N@;v;4wae{}->5MNw!WOA##HT7<|{n~ zn_Vqn_7kHtpZAtH&iFsRi=N$lWTLDi(jLMw-3uVN2%)u@Iv^iW>wxy7@`EZAqZ@;i0}Hu zDE#?swWuv&_;cSpN%TkcCy>#N<9a;z5#vpM^{#Aj&Z9=G*Y4JD7Q^w~|2!hOlYD-H z&eD?a09jySJ>#2e%PTnAll!9CbU7BGr^@u|E@oJIh_pc|mn>M29(Km-y!@x5 zhMo@_kB1avNBV`+{7ai>23~hhCo0!uYV(nK4F5lZaFMv0-wI9J$DReISg8I`^gz3S znJoI;#l$#-ylfyfz0J2bri1ijf#1Lo)=&n0EGd|kci&t*ye=5N0dS#h_#WwY}RK>6<%2GaGDnvs?xnw2O;k| z=f!EYc`iC!RUAT>(M%LI26WmPboD0o)lFP`uYNz)oaGu|P5(PE>Rs@oTlC)SU2lY6 zFn?B1YgKmoRk~yqt{>-Z-qtc`riiaXHXa{yk($QJV!PEM`$lU@IjC1{m?1omu_j<5ymHZXL~3C zP(jrBq6PJUug>C;TEpEd!Lt6h%kJH%mBa&Pq#~}Z-cBZFPEqj|=5zhL(8!9Ee5_FU zvC|~BU0J?grgdjD4?s9gr?#t%JTeC1xkaY8$ZpiA`q}L>hbzy`Uh#+Uq2zsvNUggdcQiS)*gLp^o2cO00OoSt$7mA9r#zd@tYmokjR}}oN^D(nN zhIPGJ#L~!r0l*Jb?@ZeOh?d5bEn4_q!b}tDX@|(R(DsgcKShDWvBfqIvy_4jUdwFd z*tZmj`s0#K} z!>yzLL`&QCHE<*@(Gr}ZLt`$eG3iPLWEd%HB9M^g-`8B-avb;(BL`!?M?-P6ITQd_3Jug7f_d$a-M z==$59%8w*cRC9iUAWO)7i8AU58y>Wa{sxI9KajHnzY=2^+ho-Z>bXt3K72=`# zIxcU+s~O>ZNy76Dq4au54(ZBhi_+14mQt@ly9-NbKRY-YOTWP(B4UXf1q@@9{(GPO zUt*adB4+{LZZvU$%z}s4jtoujA3q+Q)UUcn3$kgcNSR7-Ouqp_%KZe1iOqCg@q2Uf zXv=aw9v59%nQlB#LHJTy2AQxxT@y`2>2fCKzdz0botwA5hyFmZJiJAYnC}AeoU~SA z622GRU?OmY3F{Jc^e6?K79yeW>OH1irAT=^*U~_DOta`2b%HwI=c=^VFu45mUBO(( z^z?j$;G9d%D+6}p>Bb&Hq-+dxt^62uHG2P}XFsfQ*=-ot(u?m}i5wP7woPeGVQJkG zpTn`QSg32*R_B3e@j_X(J_k&?)pj-`1ITR$g2h#$$xo2l{n`#6Sn&(87t5E8ZU%ST zP)6OfS!El%t7(j#Z3sW`izN3$`nt2NTCVZ$Kw*pqR)rJ$B6)%!sHeS%=+(wpq>f~J zOGM)qOPCy>xqu$TRHDu)9ob}@CV97Ip6R)Ix$I?+7?o6u_+B`7HrN_i7XfTCa8Krn z4B>Q-JqSVFKZ}E=LstrUBirfC*UjpUN&8Ct>yz#4ULr*Ds5p zb2A{&71y&Z%yiqXnGrZSn|q)~o4=C$ZzsF+@q{fF0K2MzeT!bodiAejNTh|{;ozYT zfhU;4lU0;Bi}X7@dH%cf!*Cy-qGa$3oDrD!;59(Yn|F)=Z2_p-x;u0BW6}jr?`S3( zW=n0_+BioW#|(Ul)%#+uL;Dr*Yn2 zk;n}}a)fS)Ol&{;-tF8{PD0xA;w;V6!N#3zQ|6H(H}63B-=vv!3yH3dEsI<##&pQ~ z{;(CA^bqosk$idxqJSRNgIt&Y=RjXPCFcFb#EjoK266b(j^+ABo1@wFUB?r+Kg^6O z*A4%+;vMIG(sBh!Z&oW=WWX%+y|mQ;G_c{gpDAWvUHGPypz}*M@*mZ>fVx=hL`uS= zzsV->S@Ol<3OyrhhI1c1?CaH3^&S|SgZ+5%F8tmo!k#eSPM|9yEe^^bP*vs%iO0HK z&SZL5E#{EyGyzzw`}?M>*fb25c!klAT@_Pl6)Mgf#uJU;UcxEU1O}c^p|p{kxOXvv zvKX1C*GCAz7o*wXTsJU3oE7nX>Y^tLqrFg}9kYsP(^ot?hu6TRC9urX+KP!EmSJJt zdw+eRe~me&{lV)#yOEH3Y-|w3>pj5XzhfwOjpuDyy;PKij`*}OfrYE(JYh6!b|%|w z2cXc3MRH?DEJTUnb*l+HOjJ^}P3Pk?Jp-(Li?TkH-upYPebg_>+Kj5pN^yarif*!z zLvyvwy!s`MG9^A?d#vpajq$Rc3jK1jWkF|{lt8D_yWXB!ZAoaHBt?j$@((^O1)ZA$ z7tIE;>F+Vn0yCCShH!jP4YG&IN%uA5~MXm7J8Q zfwD*K*z7BTY>r4M>OVBHs|IObZiJDL4w>RS?BS=Q9X%D8XY){hxkE4-i%F!KnzI!4 zfEf38*;KdJ+eJAq-p)YX(kX{+GTI8xc{1I-`JJd~^MI5yBSQ4qv%*=aW|T{Z*7x;I zDY&$uW#RIxyO-&y>>pKtsk9sakJHrGim5C3_SnlDN`lpSzocyH?QqjtIEp}uPo zV=E$fa}Ui)p^1gXwhvz7bYHX;b5Qb8bG+{JYqJhPlqp$yZet>py$=Q(>|I_fnK&&X z)EA9%^V(w?ga;3F>NSg^C>tN(1nd3MGl+hrPqtlg+UG|Mx!b8fmVd^`w-d_@2FGdY z?BP23k>vRb z_+ncO?jJp4K`qcAArOtekQ>lenxa^5;Z-Tdw+_e{Z?{j->QLG+F+C?Yb;Jd9{u6Mv zqXCX5Zw{%wW9wqeGk4VJo}{KznL+vL{hh-{<`%cJj(lG zZhx9};p*M_UMr6~^r?Z7w;Ga8(dk)EZ z%s?S7TavBrWi8XX!&t!Y-fy<(b>Xu4=IluM>~%m0{6EW2ttTp%Z0*|Z69iQAf5HhJ zXd4fzMD**%773dY@3T(UuqCUqQP@10?d+m+eeqDC5X9NX{7iQwv||T;A;r9a2SoAV zD2G$&(yG>g;%UcK)&jAGW&qRt1I>C#Yg3fD;xdX51c|$#4>eS@$UdCD4c50&{v!`b zl<{5pNMU=ao*fa0pIS1AZ{Q84p0^VL9OStu5@nT;N#G9O6^pt~?w7QFiE{GLd@o=#vQWP#2#ngR3K zrQNU}Hm9bZeY)zZD^-fQoSXivZ0Y$7Rgu)^lDuXL3Er(MliY+ktN3@6-q37qD)E~^ zpd-?pu|5>yvzL$0i9y563IW`}YqK(WLxQ4P{D5LNfU^JZ9=oWFqHfxy3QopFv7J>0 zAWFx|BWfU%*>NPQNn_bJK4EfW31)zGi#=cm%2d_9b!DRrZ4$1kK(umjLz*|=!e9n@InR6s}B$VW%2TqxHZ!qiVG?#Y%6V#w|JZ^v-n^vmF z348AxF7+(dhPRjQfh=!dDQhx z5v>js6w)`><#jsF+&z#{eAi5J*#B}M2UOsJ@p{7jhM0{v2T*V%Gvh3e>eKLZ-L&rAE-3Vl9eyO9@81s>ss=b(!nFBd*}i zy9!WL?Be>}E?9F{0J3G_hg)^NBHw!9ezqM#;W_oMxc$UHzIA6H?yU1BN2YvF|LT+v zQ-IDibXV&u@VgVb?N%LL$F~j!9&vp?5D>c~?>*QAq)2b6SWix_eSY>hs*xPk3Pcrf zT`_;YS!+bj$S^>MV6v;#DFiRatBkYU5kmtNIjf&5X|P``Ta3L6TzmJ18yI}lv7?*OUY!Ba=k@p@J7sHot zuP%DLMfKnY;W}yOa~~H#B{?^d;8!V0HAweSC1GDbr12ZicF%jg+t9R=nqF5)zh|^I zL+dweS{&xr;`^ZI<^C2d3DyrwSMV;o?s3n?naYDYn^u~)Ih5??l z{J6MkT8@XjHn75p%`Hv~XiE{q+dRW5vw7_08o2t)IJPL6n%FyNVHA7+RJj+_xi{Yg zn(Sp;Z(mT@T@TLJvvDmlO8w?3KTzo>BVnHpV1&QM3JQ+NCVDzLq8dvj^fYZ;Ui-S? z&@RpAvzY*gGfiM^YA?^io_Z-0U^-9!$k0{=RU z`+_*USNC~a>yMm?5ed2edVcuZR@AE>-1*V!(vHq=w#F?zg;#gQdpqa|C9oE+n`c`- zrmrcy8lN&U$m#DG3ZUE;S)F;YP#NdQ9AQ4IZP1gQ|1x31U)?d~mRhkHOKH*ln20`Z zZ2F4+{4G!YyeE-nZrvOLYf@J%ch(z+Czat(cOw$$%M##UT* z58p!EM89AI^@}xT@Z;|5DAnhR^Ky`%pgR`d_rM8-JaRHsPKA$z$1Ye`D}VljmohzW zQ5dQNWGHeuCbB49RQMF>`}bcgCJ^>|me)%cb77TgAoLqTbYhd&18u;65kH?UiePlJ1IWo^vq+Nd=WsC-`{ zX+nQuvkOKgOV-9yM4JzAQfKYM%g|A@#V-Z14d*>OfU$Pp3Nsk)WPAM@oNJ8XU1MAA zbT?S+r)$be*Az$r)L1*F)3Pu&SQ~0pb*Ajj^BM;u1qv-O1|3k^{@3Eo8EWgz>#0XG za7$$5yq8eqGuKHOvlh>%*A|~Ga9i{=${Q52b37p8xH9q-b$9gF+pyKXM%1ku6Gfv5I0v{2 zuU{2qpO2p+kX|3Cktzl@RV{{cx7ho&bHAS4av*UPE_slmoU-xLe~~ckuZVlj?CHa~ z(#BVKi8iagT)9j5ciY4cTbdlg_kb+bG#Q2Q6A;5BvzqffSu6a1IK59xy*N@^U7elv z)Va`~X3x`3?BuBf4P-Z)wo685c{dUE;YP?&PK8Ucq$o$AoM(qcKt6~4+Bw^Ka4n^g zfI@lNf$cC9OlyD#(E&C$Bpq~VZJwo?C3Dfdii>@G^A?4?k6+3=;Pt$Zd`~{4rkyDkaqp2&tRvEI-uMx`$E9)6 z+DF;Wc@w{cl=dj+kIm%|9H053cf{q9d(c#e!Wq+8X6XGb3wNEN!j0P!4vx;r&ahJ3 zkc95sFS2Z2*>&zA)683bFHsLs(Opx93SLLB7QpQv6=|0oMHa zaORu?1)#M`v|AqDp7&)2{#hRS7Gn>A^qnpN&xcW|S!eQ4`KT(lg@i?`gWDt)*ql;( zr-*lU>fVRZS;S9J#le}1gYzJ5bMxiecXPtN%i)aJqFJGbb-8cnBhkIz_F`Ud;nJm= zV0)s6h1=TqyzrAGHRc)foQd4_fa_|emiroY`K!JP&_WcxnVZ8n=^e2!3f5SJVcNQ> zt?U6csH?y8z#(&(GNHc{WBoKZkdD28f4;@43%~cqU!k@wx*y+CXrmE;TMU?~{>Tv* zS9885@)@?`N2t%6{ja_^v-5fR=T@MvWQ3yhy?oO4B6xw#*P1rejrDq!X!|YJLK9Wf zXvMhGXS30t6Tj8+yN^^$d|dlNHLyne;ERr7mT_p)>e^0AQ@^&@=NuD%Oo3BDY3XQi zpQun#ncQrNDX|;Q)@otsupK@fDYoJvgibMNKR>B&Vo=1sFeaqwBYB6x?LFzh$r`K%m3~ezQZu^iJD8N-0 z;vNh@>=$uPMNFzUi7;wMyopi$x@$kCAPd-kfYITCCb-W;xpUK7I1voNCO`QtA)e?@ z{S#zXJA0v^30`0)6gPhOUgG1hoRj}h!eWV#1e}-j*H4h<9*0y9kxPA~Qw37Et%VwD z>@rXd$gVv^J?StIHtPeBM9#1hw{8>$NIqZK7t=nB`(zfq6APfWmB^HPg(gp#FRPS( zp$mESM~3bWeFN{*>r0Bad)c$8%^;BZGk{> zmp}s4p!kLW!6{DALU1i!2u_foMS{C~-_Y)T_C4pG``-8FgPDn}Su<-UOaAL8ZO;C( zHyj|{no&jAl}ao_`dGBMVtM;f)*ch zS_;(wS}|WSn+KYMicqXe2i&=h`~AKI^wX|~>VB4Gvi z>rrYiN3o7cNYMvOHSI-plY7{^SS!e}xA8+Y3beX-jz%`3>Dt^R@IogRLLT+M!LdAm zSlIW&1K&^)wIN{m# z?RhyusnMEF2z_Y-%f)z?5?;OrZj*B?)IfUSQN0%Cc_?P}oTlFS&ngfpk1rrw+ZV;F zao?^81-@C`Lol&?R}%|H;0rZFja9`frl$D>Zft)vo7?ZD zoJQ^)j{MhL^%_|&QwV=zwB*D&?RLy|>^%YRw9e%0?`QSwFcp|eSS+vlyfV(gdn&Rf zQz{dfEWnlOq9atfW6h>4RcFE?+ajBfCuxVOP*&J zp+0zHd(P-rXizMx6_yAz_M|o!5mU`_$qf0WhWpj{@0SeqF~5xN#$0&B}bgSKah4ZK~DLM37V5iPXn-Kw8M==h%{bb_OIB9D z>+*?vpzwDaFd>a*A67NxZT0w?<3A_z*WM)>)YA+4R&aIg6c`XN0Aj~?eSdvs5j86v z@U+flboD9-i0px&$FcJf>zyFhf?{b};oMqx_G=Rds`4E}6BF@q$^`djr;zh|ID_J0 zHwom+vAY$gkA?5y=tk@PDoLZ>`mCVFx3c$*u0n?Mw<@t{0v0`5J%uAXwjViq zw-}b~^Fl{xLUXKWdv9|M*8|2#%a$%mF*QwA2efhWzwZX;Sqn?3GRA77Bh;;FETYeo zH(QL7N3%Y%Ej!k@H!ql%F6Bn|?V9thV^yXmqHB|)rlwoBj|7K{#-^**h*Il0m03b# z6q?{Gp3e2#p7(y+;uJd7;7gcd+Jja&KnG^4o!bl~@q67PT=M#JI|;n!W%X4uX|po- z?z-R99rkA~283l5P{zO4<;b;eP!(0T?5#Z~7+=u{YEoZ0xyORrvh~D`L=`uBXAPBF z`h3nGZd%!u;Rk-?Ipyo^1BnA!l4bX(hK2oYiVlRi<4Y@5=fRcgk=>Ia6351xo1}Fj zONeC27SrFD+Ta``hHEcEUme&oIyaq~bW`Mp1e}DNd^^t9>!xqp4Xo_oZnukVJRdKc zbr02tyX6}*!ywX>R9km#I1706*Adj3-?>?$owfP{1}+AY3DhS$1da7B!q7M%fwwu< zhpRCDt+Q+{3>dk8^Qgt@Hs=-D$1)DLoU<2bOH)Na4CxiRYg#k956qTkyEl+oAsg$< z^4Vg{eg2sld-9R4+hN)fEzJlMugsU00|Q9As@IwaR08IXnn6K}T^`mcyg?>yIaxb& zsJrd~Ik_XRr2VcX4eMs_SJf)!$xy>M_i4ypzqKeGT$U~l}! z+IOFZ%FECwZFG5$uIc;aA6^W<6@85x#GSJ~uk8nM$zfyyv{y~; ze&jG$+(Qt#gQJpR>@5)K=j$vJvFd-cqopT}3XPoy`~iiVtVqzczkYl`JQ~=$M6ElD zp{cBSxWQ2Yx1Zb<#%=ZabM3+CLy=ht=UCn9euJV=nGB7{j4i1@=fTkGT{c5^2#+>Z zU7FXCasM);x^2PlQl-&5AIicBkq2o5a?Y+1tJVV>W~Z2Ah)4XXc+rRXBP}Bc+=VXI zE_$LnOoBjop}hQBNjZ(a(QE3^3L&Fgi#*rM^>4Gmt{dK^N=h7sL zhS#Ssdaff?(wV`wna9&&HW;D&yXSW8#-W{ygcG9rG+*flNP{Prd52YJK~|GtV2=fh zIM7R!f{sV9J#s3@@QTGEAn%0HYd61KqSkODp58Wlp-)eq-?9h&s0DT9y9^cOIxy5c zC|WjY2`G{0r9TjuG=db8QO@p9QNH6XP$Vi=rp`*vVu!;_JCpbmgQ4CmQ4=(a*Q+;- zx=bxBu>x9(uXVyzO6a_jg_3!DOQ;9!5n8+Lqa(Ovl6G;p3VbdA{HKXpegGU%ex!gGYKayg-py#^7@Y!<)U;7?E z2wRutfjU}(`$K|(ew&klQxaY5EIgNIz+RMbgnbFKtcG?{W=OrnS$YyKWd%cSzB~_xQ!Ip+%qrEalJhsu&@!v9l{tr7$f+;z@KZI z%^jSDO%w(|NS~{!6Lh%_5&?9!#WoD6o!v=B`QRY1kL1W0pcCLy^z zsrJ^C+zCTRYgtF-sBSOb}G+O z{pat5Wb^VxsO7?VK3=x7)46AdR2tnu(6*j2OHrk;Wp@z zkDsH0xjM^+^1A8Osb;{uEG}LCgfc?aMeebE!(S7J#1Hi1Z1Sp--$uJDW$b+=%VqwK zgPjO)+`lMy+Q9jU$IwPa=q?Xr9}#Q?O?p`nU?*Qq&?6{68YahWP);Ay@IS?%xYJo=(b<4N(n$*USTq?bEyDcB=%t0kl$ECo_z zvcsVPkWmT%9@_=p3k0&?JkNYv-*gKljkgrY%*t)aPb^5tmonWgm)% zO2EJ6?){7JUo3!hL7Bm)GCez^V!1)p(uU|So38?amRDrg^GrSvehd@CE?P#sZw`+S z?eD6Rm=w$(ZbNCBMjR*1Z4UP)Vri@^U+h|ci0P6zwv%mki8|8Ko4xlOkVMm2&U2gK zv8>A*#_}opv-1T<54bGF6_*F_1gFzsY$4_5-VbKn2Itgi zK2D7#x38wp)VMO$g4Ip{;~2HXx#dIg!C}>AaL@x8V1*1`gBLD4I<-QQ2P}4H+VSk= z>@{UNujrAg?Vmx~M4(G=eL=5YfoNzzL_|OUQyo-q&?GUt(KM0>z^pc$u)MbpSGx}q`u^*2BBK8TyQpJ6Y!{|v(QTLt|K|J<6c30L zEFF7KZ6^ybeDkHxI`&R3Kh5g=v?B0o zgZZIhGDX7tiuZn!M_hw9PU@H9 zqjk&Iet=4aEgxlgVMTZd9WM>g%&({i;f^vC1Co>W?e*CgeqH~*2qay<#hh%?0jNf9 z9H^Z`KyZBLmzWc`_ZE%8-x;roIv`NRUzQvKnFe(qvsKNF*(V>`OzrgH`VG~lVBk3$v z+5g1uoYyrGe4q;N?sni#iaQ<_{VXuNp8`fsis2$;{O`FX-b_kh4IQFkc3 z?9~Qt=T4aL-x#~t+DZHDw!|{M4snL3HJRO&8To!Dy-rILP=;I3Jdt3!pR6^C5RAV< z#GtL_=wM|5F}JFyb^hzNcz(p~TwAA{mngN)z{u1c>Pn|t@ItPxZGCxd%$DHH07jB zM8pHmES_}G#DOqvXDuY;?D0ci&|Oj9`tR=_@m3SQUSR1Sg90zVFc?tZ6Ep+#46YKF zOfl58u#DP=8k=-)@j^8YGY+c5z2e~0 z%N>#D*b747Wuxyuzj5h0mw?%dI@0Pn#x9ZJj23RRd`XfC%UXSl??9Pr{NiR_e&Glf zoVX3L;eP&LlZnxVd58H0@iICa?>wy3l)NV0d^)MY8NwdwRm*80i+##HZvO zISIuD{5<_@QF2Nz&1?)XmL!fv=JE5gMFwLF(HrQvECMzr2xfbXg0n^c!V_IP4tsac z$+Qh)K2oOyf#^N2#p_E@Nj+8Rn_ii;nW&sW-~DpJuzivM ztLZ9!us$MI^{c%8ea*t?2kmY4yzVM|R>;-nqwX#K9KhWC<>nFv7!&25DIZ+{q|gvs z=W8*iJx3gi#_rviJ=wYZ^q#DxeRz#bDmL#Z>HNjjN=Re`Yi^k#oO$wK>$YOC5#hevs$ zNT7yHkFWxPK40j5Iae8cfgH#0ZZ5VVo=ugJsMwx*4cTdUBhsE$LS2{DX6s_3fP$CI2tE$IGvpAxQO^ z9{Nz7OL@LJ(BgG>xjY)yKB_O~ZG~C5SXCoHO!8tF3oIi8d6`+8bssg~7eEXp1qF*L zvfIp*D$zWO=bgiM!}a4)od>9tLbt$pjMzz7v4~B6!WrYx&F+r`1x$gP>nvf&3<&ibmosu-fM^8>swz9Yb+@CIr9HxIz2) z(gp74B10-AvI#Fwddlv2Bl99=tB6RJo1#-G&>}8~7e;J}v_(A#*{tsB&URMq9<;88 z=b++*fGb^jC1q}hya0IO2fG}_R`$>ja^-BXQZX!b4}NyI%y}o}sy=0Rnf7L-fqUx) zyY#+bO2HgA%O*R&0@VeZZf5}Z)AL!g2PJ*bGflvbEB&W?qK0ASAz`1Q=D$`$Kv#sl zgY&kBh&6n0exckX&Uzl+f2bamx8PxXW7W#B=ahvIP*J|Vd;e0@uWJL=fE|fN4%m|zY9~Kp6ic2hUU^s*#~Wd4xJg3R!IF1m;q%KPyhCL8OoZf_-Mt5C(TqMf z5ek-oWeepD=-RK@y?-4R1d6h!c&-8%^uBXfeo?#q-ef+5E0t7CzaYKCu6lZCSD$Nq z>QL)uMaiqC;ZRNXNdB|LX-!Pw#irEq{3h)R6_Q31p} z2@R)bdfiAsyNd70~dV2rW{-xe|*QnO@EXv z?$V!fE-tqZ#Dhw~l(J}&8!fED8RDg6K`%(bfgI>&ny0d>I_-WProZD0 zppSuR?*4c9JriXws`jam2qUVsUHLUB8D}LoDTNxz+|Y0e$EONp^A49u0x<$L5E z@h^zEa(dd*TA|{6KrEKNMUnD^5)O9DwL0*4~n?Mfy2GO7WGtd zuJPIHq;QFR1?7N1$uZ+Fqd8Ny-y&a8o46?n!i+0PPHaH55g&shz7-g2CT36X znJsP5&5~aaLcQ76urRJ$Ex7I>ET)E=TXXFza`2+8k2@nEO9tza)Ub#80Iw1aDlW?nE>! zK#QJI*yb)kF})+~H~cv`fjPbUx{G=i)y#1k(O}e3k&Z&{vQ{=?WOu;ot>-|?xqwE0 ztF*ba(6}|A?9NfK7p=0R$(YMz%sP4`@-ShMV5kBs@qWgsNps41EiOs99x8?0Wi(8V ziuQV5O|u_#y{)q2;$^J%%Mwy34U+eiE~Q${rWjU!B@` zzLcReo-q6j0+>fm;q1Ufg;njinS>n-6uRxRz4%$+OCBzQ8ejRxXaqNdP))V7cOL)f^i z)Gp_gdjE>;9t^l|m->6_*S=$P>PtFG$R^%YYj2ymCtGYTcrQGl*FG%^(X!R-ON+ic zex7#X6LnuEkM1JT|60iNomE+t7B-xYZJ(cD1(q2(dP|N-+kish<10t;iPk}*n zk?jW!qE#XMhZN`L@aO%SmM(IUt~NPd?ZuOQY;M;Zpn%9rq!CRh!ZNC9zjo@zCi#q> zn3eWcP{bm>ly@m|SoOK_x<`k{0p-9GUDb6yK(t$TTGg0#M)asEXl}`G!1DmPneD_YC=?&S+SCLn98hbFZ}ysLB^xtBLN z?F054w3|4S9vYxk0@I9d9p^A6t4m8xG<-iEN^YihoV+crwdG=3xgFvjQ(9InVJ6glsymg@3q9dphyg4uOAQBEC#CeF+>|<8+W!= zB!fYpF~)u?HRMblsEbAh4{YQ=QYX2Fb7&VLVp}KZs$c; zw{n{88OBqu;VUW~0xz7)#X0rA07fz-r*ua)IZKZ74+5`iUUyQC8QSBntzaW~Kce~k znZoDRfSo`lU*r0-b3^<02GoOFB)szjo}{*-DUS`+MYl*K>Aa13Cl=M4jVmckJ_hy+ zi@jeA#Up~jm8l>xiT`{$t_~I}N8JJe{lZ*xz|Czsp5u0uLEmABrYYD&qiJzpIAn8Y zZz};>7^Kzi6T!0I6k+QbS^5qtZk*NQH0=fG?Wz0+PgKDjK)e6f7Q^=G z!zU%5%8{V1YOg8;m&01uFZ#1gX7kzdo$9!Gr>)>si2QHc=KN6+gm+j8Pg_du8LVjB zDHDV3VbUrgGFcR_mh7+8oaIa~)DRu!wvNu|h;AuWPEwUg4A(r26Ric0we>`cmmfH9 zeOEAk>#$*u%U1NN?N)+};STC<_iH!}n2U}6eWe;l0``)Ag< z%Ji5nje2vE=;Y`boRQJbbdiPUx@BPaL#heE+*7>bcj93ZaB4*(j4oZ?p}x3{!&j`QJ!G1Cu0}E+M6{A6dK5lc9W6K0=^tP4 z)3x(}_V7w_vIut^(@V*!?CE7|L~DA*)rv}6yg&4jE>ssTUhIw~G-c|lk7qS{^0Em8 z&J)_dS0wTeSaapvyJ>WLk04gj0Sr>N?L>co9IN*PlSI~fh;3b^1RJww1g!`OjB!&p z9Xf{VKR8L<-l6pgb}e5b&lGv}1$%KB9wBdZxaD<-SZ z?Ch9DIECSP?q_fF4H{_m$30WRcDr0lMf>Z5Omd0I`~CTBw-PiO?b&3(nq`ZP()dab z7nFb2<^m|!P``MusI=`=JZr!*G0tN>bTZ`G$IWje`yS(o?oEM<`PP6Vw7Zwnp5aCl zLF1*ZOm?HlVQAt~sm_yv`II4}yBX8VHNp+Mr%$=Zi#>^Jgd20(Vn4;n+&HAopILL= zolLtf6sqgaZQHR<$gfgvO5hj_9BuEInY)YI4MS_+}2Ew9`SrA0@V`&AlL zwZWs;VLV&gN7{cnAcLdnI3?ibxBRMFNMpq(x??8qI@XA|Xi3YbQf4HSBB%PMr6~ql zH3R40?9`F>9vzpOp{l}+b7p!6mQymi*S;@ARZn9%-LsDl7^cq~avTGjB^ffkdT18m z9j0(?f8z{S0!43?H{EwsZ01t$LtR|uVONi0+48MzKRbMcF z*7$hf+0Vxny~3S`N)JxebL}*dj`9cT)s<#xWB6! z!B4_LOr61(u?4TqPfCRK*ty0uI=#}Ae}GJ@GO&AweTC?L1@&6%Xrp)SumochsN>9z z^!R7<7YWR>!hY2;d_M3H^ckL_o}Yx6LXW$xbbO+qmoVc`#X0muq{Jz9l1CKeyQ_JsWMDompL1m z@lEB2?)FO?5|$tmY2}ql;db*CTu5YvSKlO8c3E`-0&h>g0oOX^xVDoPKb7m!$t`qT z{$)_~&U;gAsx19DEDA6@r8~&PwNjv-8_Q`Hzz6WRqEo@C4f@4xL(c-XovJ+D=EoVG zo-C~yswYY!ky9!3JVouLJRfKE#SLljhG0p$@ohv`JnJB*?59Cm4<>O~w{kutU*+?K z05!55{x^LXh>rv!n>-$ZMz$>t&7XeLrI{zk?s6;>SFXk#0TZvQuPy?|P?02EO%Sov ziVuGjyq>&W{Si0<((3&YnBV2z`3@MF&l{|GiA_hh<|G*QSS(tp8Eo5>J6EadOz`EB zg`b=SE{Nf#V8?M=$oHLY=FMsJ(_MEnt3uWt#|MlwE-b7&Zvq~9@45fJzkhE+hbJgcB0A-(mLWy+M(d{_vQH@jGzztDpN}Ua6A+DC-)i zT2=G`-JnJ!B>OmeSgaMT0N5bxv;BElja*#=K}-1oLI2gQNnI}Pk7?D+@SXG`+|;yz zre z&-G?>ut%x7n<+_&F%R4KWuHn_$9ety@BmzgqeHbtU&uU^&WLRKz~P+MElsQP;ml_2 z&N{D|?Tl!*G(+r)l-#UvHhM{jGrAz2kAFnO9KWRfr?w~4 zb3$V$01Ms#A2!LbPEQ9c=YeS<>VJqr{@Ym77Z4FE-h6c_R$hHMkbuL7@Sf%ZZx;BmaEC63SNZ$J(Hm)v6@m$6NdjTg8Q(E*+g9}h zQ?9hEnKP?2WfE?Cvg<-t6U)L;6X7G@bQk%7j?XY;IZ}iW;OR zC4tdHvr=>gEJ6z`MY`9&-`PBg3Xc=4TrzbY$hy*Ue2??RhO#-#d8v-Ak6SIIovR{k z-swWeIEm!7hdpuA_#y9ii)Wz@G>-Il2wV&R!XAFpBP+;Cs4QD+Gk9ltIuv0bn6c>{ zC!i5I&`{svN-^yzDj!F0O3x_6$ULmG)44Alc4cU|)nx>yAmByJ>sbcrBJ3o}A!R)j0Cq?P3b30a^r4~cJ2rA?#1yMQC>3l=|qmc%>(!lqad=wQH`mm zRXaytUZHn3D_H1u8c<2}2wHr6RE&Q)Up%RzENbfZHf2N$V?@-AA>KKr?p3_nc-7Uet@*e zs$_zieO7~ZgR5J5YB&?b%8BE=D)Pe;RxG2F)g?w-52cMi3Ln;aLh4VpA}WIn?FFqP3!iD!{;Tvn>}Z6nfdxs^uEm7mJ;GmmZzCpMe{!2f#DMW)a)@< zNDnMfS0M#HRnI@|?3Nt9IV&(snqNm&P-S5u+E@&uU(v=t@|3z8a2T&IrbG%Re`!JI zJ zBss2r_v-7#7Z9(m{L~^Z)+@NZkhD?!h^3v!$fCE1 zQ?N|aJE+%Je>Fg2zADvOoBT!mhvHAZTxE{&ojPY7U;jz^YwwDe|EbDY{oFU)^bZh) zsIB5KbN2`$6o%+#bG86)$rkzFNIigYg_J%^orr0*s@z*WD=*9O-x9n~d$@KHkWjki z+|wHdzw-FvfNW}a17!TTUKVBa(#^gBrlJO~@IfN3n6DTx(X_bA=i06xaM#ZNk!`eQ z;jRLmrk*_e)^-|&!86pz@M`EY$VfJSZp(2Q`<1dD`DRRO{wFTR9u0I+AvQ^G_ew6DGo)ml9&jUsSO9 zG0~mjyCsF-t#Gg*XJVZVCSgy!N5^eqS*=HSceX&(2-SRk8!qgnhMYog6n*V=FnZ9; znx@6_eyQ#jt|?^G|E_yo%3yH;(~J?xSFN1hMxK_k=0uhGt)W$YKUuduhQL!2qaZ(g z&af(bMr5+)S1Tr(39+_muxVw>DWtg~A%oGKE_qt&G=0o=&qBpqLqBT$wKSyX`5NIC z#8AmvYQ)>`t_aVVCrW#LOz0G6vJwB#g?nt5Grn_-Q8se>U#=zY?UHQsLQ@y=P}d)+ z?mmyw>_A+#E9NBr?EVtl=v1yw^f|N3)O=_%(QG)_pzImX+-d`qSS0;Po)q<)A^WH9 zA6HknBgE;-Qd3O`44G}A>OO?s)y$-ck%Xb zB2*`D{^!j4ABF#2fz|hCu$_r~5x@h9JAXm0K5wb1ow(^b5Wn*c#PkKQXYShmEU4{m zdd!nKl&lcD)AQYs8jYZHrOAt@=SDrt%#=Q<9M7L|JAgX1N<|gCJdg*mlpQc5zku$O z2V#|R0k(oKij)j*3#_6ri$-_)ykx?c0b*F#45@5(q1JNdOGRW_OK+OoYHz4W1EJKt zR&~4boYgU6tct+D;0gdjZmrY{O51-ttc{ynE+r&Ob}wkY-%@nIMg^th6-@(w!&`oD z2iy}WaSMkQ7cIDZut#VC8<;8dJnP;^Yn}Hm3cRKx?E52()snES*5^j|OuG+tjdn)| zH9dlZJf=RSwQvTLx87b@EFG}14QdMdh72M1p3ogO6lze`i|7_a&L=$_sx>dOm30*? zvJXnwHR_B$Y_dQWtF>3kTwD}fd@3#a4)CRDkz!KM zsZ>kHw|s}g9I{J>oZON_a!@T-TTougyt$4G%bVS0!yPkyYjD{{pMIC4(%E6QhepD= zjBA#Hv4vYYX_~*?nBp)wMk91TNa^PLrRhH!+72)OzILT}K$Vhnn*Ti!}Ige(g)a{FZ|uI_{y@gqg7)&(7_ z$6+Bvh@9(t?Ynjlet^u3(~oN1a`udzmJ+`2#wAnAuU+nU+I`8RvCgA0#-K`+sb}k6TGdO7=U<(c@+dXF&y6x z4pEBX@D<}ySA+zDqM1%oxJs6%w2tid5713(A5O`str|Y$JN_Slb@LBUW^j+zX6GK5 zlwz~Bl#PwLsJ$-Ma@DmbM>?{`8kilGGv zu{Xl9LB2E~h?rb|F(xUCO*_N2&cmJ>x612T<9TOVXkdbFwsaNgwC)bT8E(?+<#Xm& zHhEyQTB3Coq4B>g3;>AOwb(#$q7AYnmJVfnPp;_4L-%S*W5zeYKv<>AoGa|kOwD8t zLv%e_v9_>~j5WZ*qMo=03cB{@XN7o4)YNfq6_RO8u`5T^jOc*XDobwQIsCTA`2Mze z`nQU+Dh^kBB>gAywKn8np+r5%cHzLZk7Z^`~7 z74}4#KJ^P&+YTWjvu7IZZqup`lGgSac)g)dsm2eM_M)tW5~AK6qtD~-TDyPP_EQIe zwZXe1UbyiH{_f`_LkrKc*lbTTy2Zb}t@8EspK2{QM`1kV+dapa+B z)_`Rie?O)|w#CV%6@n2~20`@EKCM!8#+3Zxrp~R_1BBL2+sU3Qmacakq;;hjpdFiG zNsc6}#hzms9CK$2BgbyZZ49h&6WXo(!By#+Knrnb*GiC>Md4xykyy^9btr!^Sl0pz z&8*`T$j?}L=l2C68SH3GGSS52mvmcKc>ViPJQi%4SBJKZ8!(hApjG4{C_bZv1))Dp znJjMyq@TsEji-_ImWNp5SL}3c*bKH9WHrHP1ih|QB(cYbZ9uS#=w{o@bFD1Wr`Lw} z*}2#MCK!OOVZq{DE#ca#s;t%PhFW8jv!Cd5c=?xzD;>;jDmJ zF+=>X;{VUJTIIIL*&pR7B&U$$Iu=`#Ju0Y`O?&>!*o3euwLLh zCRY@e0u^WJdBk-qs)ba3-mWE1vr>x=Qf9EF|XfK?5E6h1f96Ify&*aes z*4_Z-BBBMV>tav80DgOqL5U8|s6N-r+(O02G~88|C*g~MA3>LhoCIExJbRK51F~RZ z1>uCc(-G;fBZAUOWBqQ!7*1}42aY65v8O@-!m0^emyIkKlHA>j#PK+EfB6%fjCJwNd9pw zRqZv`MT=a=I+zlbm5h;3ZTlZPrtYRRe@4j#TH|8#{U}L5SR25itfY)H6yPB5ewz#7zV01Pw{#7ct6vI z$iV{hx|)_VQt?ICi^0uzRi~~@rorCowm;5-rwgj7mvZd|t=V1J6OQJ`L<>Y#N`A_s zb+o!KzPjXtLFYA`x7ry*aZG7F1Jf#bNihpk9U+gI46MDE{yP7v7r`7FJ`_LwN?B-> z6ifSVgMKp%FIf!C^$9Mv<+l3UB=Ax~UF^tT^}}BeC~_J)6@~fGtOnc9TiG-r)SJ!a+7JvYr zKwg~Xj=+7AF1dtbkGlETasqoVO60~_qPL4RyX{n?^23<6*l8*bRst3@hNAJFrnP+#zB) z*tFMa*JXPV+jd%@hn|gUdDWIkJ$UD`XKr8iSiz__^?2&?5la++xH9juH74URCSNq% z2-|eCCXGj(h)8tN6es=RoE536>8OcBY5p^{O{*EVh}Fq-eA()qao;Yu>;gv%n(XDt z>ywa@_OZnvWGfS@MR+|56zHoZM%w~I6+LTbUXOqn#{Rt^{&@xEs-f3<8iO~M#LgSH zXa5CUvAJM&{2%j=_n*{Y1P~Wmvd7*@Svd!v0Z}{~OOE0(@}OqP;v8#ty-LVh;Z1y(tj}h_$9Djj*7u(?{%?CwDVl4_EOF@f*JFjYEJ9kBeL+|fnkMG!St_2D zraMQ^KC`}Vj&o}&1WZBghAdwjRzv*7P)_(#LktY@SPB%A&;GqxOPOPMut zykuYFw+@+)ndi|fZu^zlJST~s^%*tXh3m`xKF-v+AGVR~wRT|a9RBffDG>9VWJGQY zD}l=v?rEO!%s8s)>16(ysA7*C6wTk*+`PZyNJg?{M9)T#j;7WLZ-)gnN8iH%;M*6# zwGe4&96&egve>jIT8ZmP+ZAq!t8Y<*j-Q);BIeH2!bTfP3SbiB zW~#6N)Du`-D-f}P3feAW5*Io|Q8f*;+gq-g#qx{u;$jkk@%7Q1=tXl3Rj7QKk)AED z7fx->MPNwpKvTTxevaQprSX0~zCiH~CrelN0koqdf7CkaIMKcSoH5bTU@1~`<(>w{ zvqG$)z3xrHr%a_>(L>`D9!^dJT7(`S^fB=xf2o5--}1SEB@t_cvVF4D)~F;U6;K$D zFKjY0n5Uk$(LXLaYk3jlG2tIW+{I21x zkNAWHz(hvP$r@EezEOr$smuHNQ}gjZZ#R+2xLJBts@u!FrdA--GV<&53+rB4J_htJVlKd=ms}rrEXPpmm)ud3bsEde9OiwR zI=MtPo?t%nPXuyJd8<}m?y`M!wYb0p{n9i=1ox-))q@v-+Ve97s7@@rzjJ{fDp+i^w{q*A!$oG zat_HPM{(LgYbe?9$+g zPS{jdfjVx>RY&G-*39krkP6lKQ!-5+mg#uYoP%+bO?)h1_g7x$YO14bGu#PBr?MQ! zWG{0EE~an3a03AL;HZk_Lt>W`y}*E>EurR(yJ$PZh<3X~H2YIS$y>E1kUh@e1U>67 zYnnC831$O)N=^$Xe)50S$`>W(vMbA;(3GG4GJ6WVZXxq+rA{3yVE_bBZJFXEk{$hD zfnI<9t7I=WmjH$io0ypJ-h(NYAz_Yzbz{mqe>G9}iV|eyi7uh2q9MM2(+-rdzii&$ z{`i-@J5n%T{)XX&;$jPY(rw(9p>&@n#*@f3ai2jA`|23(k+uORzNME#QR z-x_P4g^s6bF<2qYhT1e6>d4AN#!Dq)DlAi~?Nc_yPiLbY~%QEO|D0ANAlPiOlWoZkjG?>voUEV9|5mu10&I? z*3OSl+!q&J?lOJ3YXPr!J%Ssf&-3^0>gVw;&CVMB0HLh4XOg&ckWQuPC#-M4fsWVr z>Wt@bzkyZu!>%pwahDHAZ*M53}fMWri}Z6R2KF3s&x`L8aLDrwlp_&32YM`{>ZP@@OYh3luPCBnwoiI|+e)Pr+Iwxxq8EamMfP%M&o(=dM? zH$Xi%A9?hes%IQ+xE-sp|lG z3a85H_z_7coh4(P^z&RU(0Nl?IjnNCXwP&lD+qlef$E;b7@rBx-mcQ@n{g?R>??1O zy5fy`QOcmE#P4?!r{_a;h*cy7b2$0u%4gl$GXCW1;7~>G=eY;OVsbskPqS7NmaFPG zhqViE+Koa^otny~xi0LR8~!x`im+&ftX23>B6Qa(ItR8x(G4kTt{B1ulrD5_x25tf zO|l*)3?UF3@%Wx9_|8e1oMgB#?PD9GS8s>Mn>NF6UY^cEm(W~SS^w47Phe6L zSl%3sU?T}85~n_Y+)!n`A6)(m2>bZztbSa_Wl;GyRQ5K@vZ1EcTeBQT2-FO8-3iPv zUhVnzmW(e5^jiu(#UwkyrFeLJO{>VjyG;${+3HQFcjQg+9001UzrqP7Pw2IM0SSEm zpZDXhed56{fp}<`rBBqI%j=n`&P6>r4Zzd&zf5^>TU3zi`chISJx6@~i14M} zSST!3@qC!IY^mhL!=urwpo6;I&_O}DX_~j zi`9{d79uvxSnQ#IhqE>1Y;Ige-L8BzB{nb4pQNLzcJQf9V|TNOYa98pYp9K3M$ewi z;czqQ-bZ^LHWu6_MM53`Co(&*MQxE7?2T6Q#$%D@MZ-6x#a2%1@9p_$qHwPE8vAR( z`@WztU>tF=RI8%P66$yuSbrj&+$mURl zinM0vPR#zj4k96oAL6Otao!l=kPsEN zuH>&(bOdZ&ZN&d#)m(xKAB8NWUj71I9W@O8Sy=yC0X|`Iw$Mu;eFVICK1^QgAD78u z^tOfcH|5+0U!bS||5a69od!grJ*hZn4`(BM4RJUdSfq5NgRaRtNZ29g74vr*1?q~W zn1_ajV@{B&J&LD)8bYP&c145OS>i5662PS0a?Tv8*3bOTP-e31GXrX8yzn-@3a!@J z=5ZX36aLiJ`+=vJ-opMVITDHG#w5a+^ZtiB8gKx>a4*6>RfIb$>Bi`>Oe;pjLj38c z?fOdd%28tyyLdimP0fW{0Z(eVZ4ug=?fvpNg`YzmaT8Piu$;JX6q4X+Syf6oQr;ZC z3nqsh_mK6uCCa>PaZa~D_hi~@)JUG;jrJ;Km&vXbsC`TiP8*27nl=NzxgulB@8|8` z!8fzTJaCUdz3aGD=A&^muxP~m1LVi{IdYdr#!H_WzEhNV2BF%9NDJzhZ?E*XE<|Dj zn69Q>2Twm#5{&ew_T9q}@MK;@h*TWZShl5-SBA`jY}OAieiy1Eed2gpSk@sssTOno8+%zv=V z*Y1Dset1ZT=H%q;efHk(de>Snqer{Wx<$V$616ZG^MYK#sOiSy82uSU7k5TL#qAmh zouH^WqtWx4?V@X}f!%8meSS|1Jqp&4b;fSNx{Ob^Ow~DxJ5omln)|URBGi89FVJc1 zJ@3pih8KLCK}lM-=q;kEA;MM@ZT*VNk9(!uZ{+FCXw?g>$N3K?xlKbNP$iO}@>R*6K$>6>`w~5=+Py zW0AN)3^R-OtCsd96Rvc`AL_>4gV%QZWeLI!5y>JU-139hWyvsIml(9HuZK9>bqSKy zt`O3SBfB#+Wz8B582H_wyPRB6N_`BB$sdh7XNvhm*IPhCceNELFd8}Agj~HtnPiTeOtLeL^+u?O$8p-wZls zTbC@q3KoZ6X_vC!9>!aH?}P&eeMw^?J=GdaB^7bZuRu(RhQ?8_?4J7dn#+ijuk`j-IDng%VyS@u*blWs((V4g_P7HMIKpQQG^a1v`>h)xZc9NewT+Stllc%J+XaL6fR4$bs1C7GaPm1UC z8mF3(LX4IT#W%UgCGjH!6FK?EqGtpeRXoK!{oXkw+FCw4PW9s`lA5UeAU5_W{K#6R z!EITsh!C=4(Y2{@%m(fg{7fnzCe}v08IB3csugr z(!SgZh)fMOUxnabitfCvsPXG;7!Jy2HpHeYxSCX2(qoE#zs>WpPE}P8w z(qLNabZG=LmlY-*%_MNrIppODPx_6+1Zr$AHh{Np*2U zwX?bBdOQF7p2B?;D8~90={{Or{i9n6Pg!J?9OWOat*6@9K!G&e*q-gNZ?;+{2>)9d zFD0$t0psFd?PMd=@RSZ=3vto7Fo)6E`>4z@V*K={qoPbH2J1{dEO;LC=DQcXVi4#j z6B++h0QrB;{69Y8#GbWO8#DO?B>x-gbFL0$6p7jjz14ZdilHkZvE^?E@bvWi$|+>O z{~lk`zoRzSRQ#bukC`rucNe(yuk$=hDGT1Z0sM`8JhRH#Br7Mj1NbajOymtP9;^?7-6epS22!BYf2_aw*9M^LNbS}9-W#t7HvWbIHM8I@kw2kjTe$q#0y3Du(_i(~C zf0f~6(yZ$=oTuijxzyGs)BaaXL)Aq&)-OO+VyzA7v%`SyLLHB_;hyft=5EWbbB{}q z=O~*n=?Kv2&Etd%fTt3jpN_{8F%z3 zTz&EilXV52Bcv-i^4j5^>>9Ow6x`dPu%wVa)7SDobhJ9+dCPWDY{@H=GLc4Q%@%kI z9Z%;-J~7tbPq{FS?XzXlWS|*-|6%XqMNdF#eEVNL06e=`X!!-xSwpPDuVu#&m=I}q zB?0mBRw%{12OM@f8({X_I8lD2#I976f^QPt0r*wr$1eMg;=ids7}9V3oYT4P(Y*W~ z2F&g10qLFFqYD*wY$FOmybC3EHB82qOR>V$;`Y@Ns$q=LjgU}AP;aFx0J4T5t@z~{ zlaMrI3CqF(^bZ?^nW0c|sY!0e=uO1(J!{r78y;BwC|mC^o2-0$Olv}KB%eUNXc@u- z0XetWNmIX&*zgwP5!dYH5P^u?FKCf?HdlI*^*_Gp&p%ZE0G#AQ-F@%iVxEDX_nXaq zE92i55Sym-WP-lu3h3M{3yfpu2azvYc%-G}6jBl{QVnwO!UqXDF%gNdbmd>L2@|=- zoTks+lL!=fQHw8a58vmR`YVeicE%fa<#*6&x@VvE&>M*#TOy6ebrOhES}v2Gv+LrX zd-{30?FR~;iN36de`0$Z!BBJI4)s9V?2eztd|yDCYT!3r5{NTo_8z*KcLFm&V_y9-c*yEk8+hpQja6 zd)7VHQ6sO$J+@O7oL##`Ma9}89;2WWPpJFMe22xSx2)Lq(v5AWuwd%a4lf4GGn4&6 zPec4bsYgVEJyt`mlG88yz;R+Pkcu}~KrJ6^PTxtskx8@P1bY!H%|XX*f0#RyJyH*RQiid#Kjly{!Hy+1q54Nb@XB>Z!7!0u|Q(YlI&g!n$r}f6zS5 z51{pDhCQV!IWi23HiabN(H_+qgqWE1ui0Fo9{dr;X~I59qPD7~$!%N0v%U*@*AK$R zrSu2-cw}0Lu78D!07XileIG^O@{hU7kCuC~fV$>&kNkZvNwkcZ>cE!X0_6(7{|8_j z1pvIi+W!UU6%QV}5S7FZXX-b$tnjk1GM?zQr`@B$>4$~_)*xqE-q^|JSBw=-nj&)^ zAvt+^3^SkpN`3*Hue%NxXYMaLrSfp3xxABVdUmvF(6Q6-Q^WnqugY+d^&hu~UuPml z$ON6s&tJdjUbVQAxQ_!MeijF`+#)7|C1thbL*G2U2qK@nKGHNlIJV+QAANCBb9U!R zjY4z!s$$sEM4tjj{Xw(I-~+BtK6$y5s*-APBn$Xdz!`s^LEF6W6xVSf*OXqGEqG{R zIw{`4cWt(7ic>=E5 z_;PlQ2ggI_jpeeG4^QI8QuQOBGN11s#=sf99*CxlGnt-yz*f^TW*+-GFL|B6FtTmL zswO2MEdrPN2i?NTXU=y6(OX#Wd2oQl+pzuz8}VD=_;0zX;j$p7^sF3DWrW>=m%CKLt3H8t=t z%Lu#uDU`2e-OwzXH&RwggInaQsNZPuSKHrGb|dF`fDI;+)^-qEH$OPw%O~I48?C~u z9xC*?EKLop%lLmu2xPqBEnk?)kspOQ8vcI5}F&0}9q@n^A zM*NfXturm>Ev*fW=e?d%``v^MHC(h_0fq&zh^huu`_f;M4&5JT9#L)OFd-%Fq+1o> zPjqy=W6WBltMAY=OR68zxkNV?bOmG-EKQI9a|Og=W9t~KUH~gB2*isC+dU1qc>e?{ zeqJ9jlnLk)pJ4XoI6S~91V;YPcD&c?IGlrv9c!?9MozrnYw7{1Fsg`tq|Azs^uZ_8 z+Ff^?IfRARKV#GMb(Mrk#+A4@B`XdO@mh74ohtqI!+d~6lE2YM{PzARkcXtc6bpZq z%>AC+be1z@x}Na`4lG7(eJ0m@aYFL0Lkmh<=3?F#IaT59c0sj^h7y!?GL+KD?m}H! zQb0f0i)?0za`jnTeUvfGd7a7gqy8CZn_<0KGgf(dN6|2diU|7dRCmnMT8HUgF#Mr| zw8q1l`!NP^&?)_n<0pooa%D!ZwNIdV-x!jHy}+-j8%B}-qze=;yIs@Q5(@o|WlVf= ztt1U4MmO%u;cQbjpG=EmL8|%{Q$0h({)4&0q|7}<4f5Pzd$nPJE$Db= zp4g3tjOsg^2hzmCIgr|E={-i>Zuj>Uu=^=*0sA*BT9;tqR5y5V3k5g*=IBL{uC5F) zmc(03QCA+1PTpMWXbWp#$ubwn#~3?I=kudQLQ`Ktg&VK8^93i2bQ#9yn0@rWKdHCc z(XSt0`p%a2B)&GcSb^D4bv?fR6Q7;8-P7lo&Jbu@xMz;ol5Nt3?K#SZ@LJse)MY;r zN4~{*@$(h6x6`FVR;`Hxr6yX-b?TbrB7_SWKT!H^D!Yc0E*}xIyBNdOdIq--(&d^;K|CzxRG>Z^0?(^Y6|S zaQaMRk0?XqnVGdOz$`%**UL0~X)=cZfEYiA7u$&9q$P#eg6Fn&0wgU-6>_?~Q9nr1 zwod8Nh0}Y9%bu|!l=4>gLN_}8I~~#smv{tRrp`V$MhNhnOT)UahZ(0JMiXKq|DZ%S z?3KbiD`_TV6~GhpHlXJcu3}6Pd(qLj#d`VK&rjqfw|H4L*hjvlRO}~y#ZeJiNopAL z|GFCh#>(Y{tCH97{4@Ixvz2BMD3XJ3lPJ{}a&pJA&{VSYweN?|2n)Pn#OTV}rfh<7 zwKOoed9w3i^ydDTiPCbjr)noSCAyk&t-VIsyVTAR+4^^0*0ah~^SCSJ+6z2RDz4|e zo=+qz-zZy51IkrYn|erUc*&QfSygoQC4A8n9iWY;{D#*Nr>hnMqw{k}@)IyP@ItS-i5a~-|{myHW z1~)D>AVjT}K|}4#tKMZTy?)C+uqigwdJUiN9jX={-SA!&uaUrCQyp6CHCK%I&{!vi zL~)q~k0d!_OY=%aBV;9ddRcsZkE~XK%lfk&d*qe)?X5Uhn4*(N&%W&fe+kyxWlT&w zH)4dWIeg+#t7VdMF$-Ua8dTQ_iD$826il+@57V51x0I0^{i@rmOI(+Y`+MU-UunM% z`SVfX8J$c&KM!A5Oc7dstc$feGX09GBfyvB87PXMSeE3odyE$ZO3aoIlSa{@>)Hg0 zg%0ad%WajKaPFaJz!o1UfC6m&Nsv1v$n6_H*$pAW)n~{o-o1-E=(SS-ojQnY@}q2$ zgCW&!)E+#{3X5Ua9)WIy=;DcuGs43dy|hY&nw)syau4CSeyBtoL7)Ok zFV@#e&fD$Vqxi7(j?y!A1l}ts1uqzyr^#Yq^)R0|vfU9DCEV8VZ0GHCa%Yo)Ev_|j z*X#3(fu3FC?22?v)K84$xPa@;XM_*wu-N&5Oc`$x0*oI#sv7POxbXe^_2)CzN#$Nq z)j2e@$Zd&@nnOQFpDD@>H6xgYyQ!sO3(UDRu}cCc+H)0y4Fg_rXv6jDb%sF4&eRRw z%b}J^7;d1kx4~_Eve}$T#ah4NXV74eYark|{%pQ!N{2~aFC>h2Ot3SRk}3xpDa_Uq zdekxrnzbM9r3QD4gSGI;EV{c2UdP4ISNXWM%we8GN^W8UdLE+zaBvuS;zV>c54Pk^ zVl?DM)-xJImA;OvDeCktOBWLZwf59D4t$GC6-NOLR^2;->tgqb#5`51m}ho7aFBG$CGrJroE@p9Z&(= z6iX|`bj(67OjNlxr(K?O&8s-b8@nin^Bxl76k~utSf`LloCnpDQaZ&skI)lTry=Jf+4ZftiJU$5u|Ku+yz?C#8e1GWcGEWI zI_G^HG2s5PtwKgj{lf668$+EPs8)7It9-0fkk4hpeG$Xg*clcc5i(y$2&rTK3CR+w zjcE`XRtUKPnA?*pn@;T6_jGSuhl{1I4Jl+%ECh|?HaDes@r9;{bJFDrFGb4N0JQ$y z&p!O0hZ88B`TEUc??Ftv*nT2-^kk}EX+5}&V`iz^rru6LdB;1J95eZO zyR&gIrO{&n>#5|>oYI(vyzk79W2*QvWce}fOlBFEOu;0!I;Cz3xjD{Jsu!i z`pK^qXb;msBEZ@mv*O)LLh}huqqWQBCL6ycTlIVvP}a0pxgage!=lO{O0(f!%fhMzACL|B&#K-~9$m;^h8+apXs}vyKc~& zEQ0u$b0A%_rd`2Ap|n&=BnLCF_0pw}BeY>(k^;?5u|X*StnSa^Sla2F@HYtSWx`r$ z*4pFocFo#7AYowpP-M!jw|?sLM(tTiyA_6ab0pDPsbI?Apq^%=iZbytMeJ&^&88n> z9i?VlRFP!1g1&FPIWUlhSB+Njlz`N}Djj?{Gb_b=|F|Fs!N(WWbN2WX{onhyIhRX9 zHCY^uaR>Bs*fJ0@o!_4OJ^-B^HO4$Svgut-tcumGJtlpIYhV}QP-}-Azk#S5L3($I zxh=O!;Q(YJc~f_Nu#IYHkF|J94x^}mo2B3iwin?Sx{*k2yD1phmirK+o;~$&V*Dux z;Vw1@ayt9GHXd0~!#LoNY0p&!~W)f>pe zOG*IoM3Rs1p^kYe;;rBS|J^F1^{ChVxLNtk530j1-j1%vrvEx39dXE5F#;M#N zDpd1xv{Cb?ha#Oq>OzlaH7VN?Z& zzXmjX&`+6e}c`0|#>iFcNi0p%K0O;Vlv+8*|Ump{~(pmHr z$_Lh-g2?N&xmoqrVib5Vu=_g<7g0JWp&3!sY7KtBBLqFKfabzd$5JM@>%Lj6eOmNF zzZm?yxgM-oDiyCVAdSfYgo~ur!3h)#B3N6WEnnd_o#9bp7Ein@B(kB*VEDEDSQ#Ot zxL4R3yPf1ODUQ-+v0s_*qR#fw%*k~Q6nBoO3)$oys~3Zf?q2%pGB5l!-Z+nmc(P0~ z*%Zb)+plHz25S0gA7&Q#Nhtvb8FonGJSQy7egid}3SZuTuuzjUw?cI*nR_ziS+nc? z4m6BwvB*Szd*g5T>}ULiP-u{F_ug0+Nj}3EQoXd7RJWc#8@rkG14YB zUBYB@ZNd$8BP>m)-<-v~u&k4|yoDHQSKRU8xLJD1BSe8Q(TrA^%HKU zBqg%$J^_ZL@}HNlVLhdkdB%c;x;@&{*iix0tf4yhDFrMUgSa+f{;T!Q}62gYlA;>?(ZQbkY6kKVDGeEvy!69XxUYPQ>%osGH^ zl|bhIq`MU>8J5y_FHSdnuO^5|o3wmqMm_>AplY(c@Y>R#$zy}5eTdr--W}Y%ok>;K zt!r$9ZC9Uj6)5ZanzTLLN!DP%{tG!e`j$YWa|Z#J0qKpJ@65-*gP*Yg8&Y1t8wfGs zE{rQXUEI2tp8n{!30TR5934pAU7aB(pyAfU0tg3eV3Ai#`MR#Sw@CYI-wL=)?hU+L zXh_hIMl6bKdDmnLHHnk*KkuI?n7p~$uLy?Zc<>aiXuOto+;-D)ExJV!#{fH{OEzxI z_mtiR7+``+TE1Z8$#5uLy%fkwQ2V@BTCV8O(y|x-;UJ2QxGQIUt zJ^_FA_zCA)k4aawoww}``}UhI*@~|V=hmxOKj%mKI#)r{AIi*bjhHHUFAkdxD3P_3 z<~#dn>om27?p+`rEw9wIMWA#*tywecA`J-seaJ}=bF*eSAN#@m`RwLIhQPbe$?2ZU zEl+>MDJ;;U2vYJ;z4!gw$1~qWU8B%k6Z*TkbCvg8x5d*e-OqX3OGPB_TBpin>?IM3 z^k0AJFV|IS_IPhA590=5tRW;{{c3T52w|U{m}}Y$`Oxb9J6pTq-UZCeg^~)X4T%~l?UoM7 z3%j;1cy(>seMZ}NKVk`R7j0=`FK-j6VAw}C5CHkNM=GZ^)v!nAGr%7DFT>xild!3& zgJiRYcPn4K=o=)R9C%o*gsqpn68)v*(GfdPzphCi-Gh8RlQZO+S(c7H;?(U^p0l4$=?C>buc*JtAQAcIqRwC)7`HUe2(Q&A%Qx zRYXZ;=^}sjvad4Ni$M!H+3jkCdNqzXhQYAq>MAO^2hj?i{i#*v<1@8t2V8TC8koI7 z|G|UWD}RG_T@V6>GKNwKP)aTS**OJZ5F9l+{yOa)&HHyyiC&hVvlG+DxXuOeomf(( zUuyRrNY+KRRP>k1oR`BnZ^$Craob*E&0TTL!wEYMRJ&$^$F<#zgxRNQ+~mz$iQeni zf%R{#Z!xL5U&WO-O1UNlA2Z7F5~gb^X0dCFL1XyW-{Gje{ukLh#aSCI zbXB#2bo1c1GtDvT3a`}4=*MOkTGV_2R~mZVwXg=&X9FZ;*4p4R;PS))SXAINftH+= z%@DL{iI;E>lfy0;TG_;zWr&VxL47Wi^lTMA#!@yPI}Wja$FitTuOA8dyNb>eb2Ceg zFI~+j-;{NmSvp8)U(F!q-XW3Go05}froSZ-=4)3oZ>OkL7Mq{>gizJ=e)#DI*|OUH z%@8cpr4ZraK0rCHEr%gVvA}z#z|s6gEt$e3wmtSC3GqBNh^XuvoaBQ3r5HFB%lrY?C)WfE7Gs?R0yz*OUwDtZ$WOOMJP6cOaA z+BF2+_+#TriDm8{ce9P9_7bf>Dk_JfS;OTAk$eoHkE2X2;T-n@C0wsH>U!o(EKQY2 z)HEIRD(^O$=kayi@0%avw>?*U@3aD7RixyGMCBs0og zmlv0e(%eXuX%hZwd@byQ$#TM_VR%Anc9r?9{;+X9eW4-YRnwQ*#S!jCmf2>oMlRVt zCx<`N?QH~*TFWns>#Lj_-B7NhQg*Igsg){I;B!sa(i;UMV8iJNKJidPTBs!e*!Y#m zD9xPvd?3l^kn=4@AKHP=G0_N|G&%F>AlT>N#M^K+(H9DC+lI0abF^K+S2T>9!TkgF z)8()69Vv$wW6c$GW#EV&^}j(OrCLypx_m^3c?{KzeJw`Q0vdLm#B963C*k-AL zprZ#{GWyUJ>7D$(&DN*e5vpC1GZde^spM_4+npy@mYeA><7wEw(%&~oe3>R7Q&sBt zx~hfuZSwL`e#BSMm8YO~){(Oy5H26?=s&ra?s(lh#O3`_9_pmi-jw;tdSfJpW{YYA z0ekUd18vF}t_B?tAcbgk8P_t{d#iCaA$RRS*>DPp8x#gmnrQ4B_ydNXj)Pu)^+$sj z*K_oK56B5z%9opqmPI_~!lr%8>yWj`FV`yn@Ha^8P*sKe-75Q3vCu&;K&Ah=;Ka%z z+Hzl9{}G`KPn4~zYBj4z?0G>ciX>u6pVYoAW3=%5`&ROI>_^KIB)CDp{T#q&v&L`V z`0<<$S<3ya;wwf7uVUYEB_v(bnu+X|hwh}_wQ-&aZINy^O%MlVid6J`jt5*sS)7o*7N?&RXz%|G z%K|uJY7^H?wPK^L8U7xr>5MWGLao^iq~!fE4I|+TH$}GoV(L9R<3bG!#aEm-QF1Ml zH#rFobinr&hAzHEw_O}?6d-OXo>>*#zxQdje%Y_DPC7~>GBx^hvY8(wtPfveJjS(T zC4jc)-Y zc1tmpA!iVs&i9LV0}}D%_kE(n!RgB39cF<9zgJo|J&5vc|A$9;-iw9V5Z|2hdKu@L z)#TX*<`R?dR!><3aL&vQTUCJN?L>N0hTu}Ni9$Hk!FfZ6sCKm*-;&oCX1nWqqx4&S zxYuyX&NJcntSF`c zhIGgzFZk^?Cl9r_0805lMpdrc5>Ya@n10H#0zT;LOu6;!|76bsIz|$nePvG7JNXDC zHUCo(^lN;iIC(&o=9Xl@yF$9#bA}8Wm2b?Ng+q# zK%p_xJhfm?k@>3;r)av)oQO73pWs(}XW|f26q1xxq~c+9x3Ws@(+pa8Ot!k!Dr#+n zlrS;fM01rcbl{mV;i=Ce7ZM@&o$d05vcs=Uar-lb?5tIUNyiCl`6^gA%x{dbP8zYf zJ0Z>OwEZg20LE-6#a4}nwf24;9le7LA_F7L6Lv*Rg5$zdF?v;|ihL8$uN}z%2ZkM@ zUA%wGO|+?P-b4KNymITtWvaRE8La(EhN?vGDR)N!B(M^dA1rJ!8}+U)Y(N)JV+6SE z2d~KXTwD2;Au;?gD_bI1xdkC0^Lb(KjD+;8RhmVdLzwY+Lz_wEUeX`Q=&dDa~ZB~?vo(CAZ*kyX@FxePQ5I2UD5`S|-ie$*i?&?+9(NqV6?ZExQPm3*w`Cpv7u zU6UM{U21-sF%O7Z>Kq4U41Y(9_||Ge66VG{Elb=aF23@1M#8@(>i)KiYF+4E>uQZk z$MbxN%Hn*SP?L(MBoDFQn^I1|Hz?e+jt9b5^C8f2!4#);-VD`U;oJu+n?g`bTu-xp z%<`+XA3BXQEzL&--+&F&yoXd&!@2msL6)fjYr>&Mi%-6O+WRhZJ=Uuf$x9FyD|)mO z)-zMCHINkRZvutNjcX5cya(L`L~4Lp-`sBRVfGQ))P96Ey#xv$*#8ZZ>;ObgvH96A zqY}k8Z_efv86|)NN__)nRq9(_6#5BeC;;ru;Xno^PfwQpj3Zd-M?3N1W^(M3jw%D= z!_topXyL>ghA!K?m0~5g0rs=+(rXady~#GQB0BxGV1K0qK1|!C1JPs9i?TCC3Kz!) zv}&IBK8P4wZ>c`3+-~4fRQz$uN>+7fBpbP=Hz6?~&~hus5KczMps3F3I@N?EBPl$a zFjfU~@j&Xjao51dj?qz(3HQqW>v5wg*20a&+UiDpD6&Lyh0#NY#CHTE>!NUO4$0y= z*WN8h=VP=(-fL$dY9^qo?KS7O;g`*TkIw-s2^C>LibDLJ%YLRK;B>mvI?1Dbs`#vpy zZJ73)|MNUYoxnugw^F2@llIqYNK%7;dO===T*oFusBa)kiuIy))0v)GIp8IXYN;mK%&Kx9vIdKee2i}h05X3q z#|*LjH20UHY1f8xJq`L;ykzby=oh^3QSMuVho8-L#X{1Zmx}{fNaY83XY-Zio(Kd9 z?08RPZBSzKnps&eXA-*Hs0eVaeVXYt@l>RqVg=A@LZcxNeJ*v~aPv0C(4u^l@t0** z))w!KX4|qk#2m5yq(w69VKXo{l82c3XidDY+}3Qxw>4n~UNjRkuv?RFox%MH{a9v; zispOzfm*c1X1x3)Nq7s~tE%qeVo5JjcxUETV_ZVsum1SYMO%@iOw)LRShin5SH$rW1Kt;PHTn?kn@g0 zhZ19%tC>`{xv9!pOV_HW#3N;7+K7iuGla$ckJXil+%yCbJFql;q6>cZ{UFC4 z;dHAS--6uvd+QoQ?XM%Ud1~g8Mf#|tWE)DHafR$u&#J-4-B6pGuyy^zb1X`YlWJ!d zbFy#=x&$hw5t_3IP+a>N2-HT1(Z84T5056#US6uBUn$I3Gh_)iDWWIJ8By< z>6qpw4gm!#-?69=C){~v@_(Cui8Ia(hbrjz45+nWAl5ZOZ$)$kvrpB`_blvK1r-T2 zTz^<|Xs%I1J_oXDn zjhUXG-WQ)Jl6hF%)gm~a{&ipDQ^CqcZAI=(P?8I;!_Kib(L z2;I7MooU7K46=QSHUd~*=SOXJ)Q7hMIx=mWVIk)iCGLV5k6a%iUCcU`;4P@GTVDIs za5?vg#QsD=%e#5q&lBQCI_K$GYe&F41HhTyt_q3h(<&vW^@TW@HMIKq zHF0ABIeac^F=atC&27MbETub{B9)*x@EQoDe@kD@EM<7kZgXg%-V<1yVqp?<%5ohDOvTh7j3SkTe1{4GB`x!V+PnV~{dmcJm#%*|1}@MsJckiGaFuKLcs zUp4aFMkX?>jiOS@)ab2K>BYrE+gQ;VqXIyl=(KP~7s==skQ!<@rm z7C+2OR2))#{Dn(rY*dy2*#h!U0b90c>ndO=Dz;TuDZcmM9t@SYkW(TM$U7^H+fvAy zI*FrrnAnB?$v+se z$PHC`0{D1U1@QG`+jrIs$oP`-XkjP*vXTdYh7?87KX_PN-%g=^eN zkjTZ!uPJKza-#3lG31F-?p;x1k)ZXo7!}#B+2kbaVxC=j9>hzv;CmUl38H(7K+ySjJ57M^sSEa_rU3dy@U z=iQp7h3QS2hn_CD#-PO6il)!(WxYM*BQ+3>GaN`wTBwY4GTA`A^|94Av-t*|CA>43 zEAhBNOI(nEz5|4ao!+h+tQY1>+-t%7uWZxA22wgv&M$Vb6cuFB;CVxz8_5~#FZjuD z&FF!OcH4r7yTr}cJ=-!`XWBLWe|t<}<{3Es3q_QFu(7T6;qcEw;y0W%XMJ-S|El!h z1}Ea#d+?9|8FU0>1C7bES82ZQU8ezo&Pe}hzp6H>)YNmidqB4tHP zGHkOQg56rvT%=X?Og?)ASxy&XGIwcTZh z;n~>2rE!4uYQ0QvZ(S$7p!56Da`~&#A&0!+bu8 z6C$v8iNnKeX%8t@A?O5S4!s2Iy2q04OutcsIhy7PNr%cu@nRm*?6coDi#Tn%5n=`M zay;7oO#p`lp^u>BGG0eAv;SkO381LagoZVEA-j(RwQS_7BVqabe6Mm*eA}Wnl%#8^ zQb$?_i*Z&{VP>FOnZ~u3GS*MztA8U1o&INgobm_=r2@V>P_66MS?4>4$^(qqL+=V+ z&{Pg4EY$o}iyvQX1U9%T#C8V_{LgUe$H~z7d*z*PUiIJ?NA2NA83o0f7Cdb!)#oFP z@)pz}7dK>7q`EAc<`zrAG6QH9_-Nv$P|9VfBgcWdg@okiSsBT^{>J^bs8~5i4|z!s z<Bibfq`r&ZXT4p06H4mbO3UFQUeY?F%_BqB%MX6R z_+lQ4vZ@d?0x|et)UpX#slx5-F0CIZRrz|jZE~KQ>bYZ->rjqMXw~dr$?uKA*L|r@ zeE7}r*sAH-DOTyuq4kT+LN`CAUHIw)*hxvU zWxhyHziIkL5tk$Vs{X0sd;V{WzC2*DD+=IP!LUO6-K-sPUNRLs$93;HzMz%P1smh) z1^A=~2jVGGzAcM)QyC`CbGW+?vN^=~74x-75U}$SlBNnc$5XJV6$knHYnVpf5fhT@ zv%xCv7)q^fjh1FY|E>eZ{%8b9jEcyfI%A zccy8udBTGJX>lsF=Ix03{$-wA(femjfK~M^UavybL)4};_pS86LJhf5-f3&FS>oa=T^)0ZA$Wi7 z@XjW#BD%p#v|lliG&=q1NPA%glq_-!&=%nTF;Vge;DNf5S1+CE<+O?$cpi|-rV5=< zc;P9i8Iz_F`UkEC(Z*Tbb&5^MZ{VO+$RfM#P_5PtKwb#WdSEa2r7)Fj5Tx6hub@oZ zr0tF7D2E{X_1|!&j=}C_!kaf2CaUfh#Ss&mMR=0T4R20nB;>$kCDf)~D%nev8t_zB za`!w2DFJz~_FM6w^do}V@jz`EH1^p^?`&G@dPmP|en4BPtzaLH2T6(;g)j=RjJ~O2rfY;QBCzs=5mLFbF`qP^akq$QC$ehK1fFsFFuhnSz^Q&HoMp{L z$-RWl#*KcpqnAe6$E_=SVtQdTd8duOzd^$OXQl6Tc5PLj5iwtq_exD1a_jqc#m6Q= zwXcZU(%0PSc-&BU%P68*&~eg*+FA({ zUT0}HPu`e~Xfava^1t4wz&Bwm6{PWUCC!`ogvfQ>ePEix4ct*Z^}fV)MZFuRl~PiTlFM!qw-?nbVn1*W}h>*7^%u#ydHrppGTcR{5O)De{_a zUt}R_`svJBFR2w=8U-?`!Xg1fzENl04M@5;2q93RjeM41VCE&0&`O#2P zftjOVxkR1NnTvz|=LF`(R|+nxY1);4*(45Z^flp|B-ZhEE|kJNMXffoxV?af6V0xX z8ymd-YK^HRa+52h(!*!hYD554G$=Ryj=jjx6kLCL07nWsx0)QjfQG3D2PZ>B6Wx0S4BmAOywWktsN|6KTCcSfud-&d%zudvXy!aJ z?q0H=FKVqS8|dcK78&&gi)%jy)!+W-!kA{ayZqosU#Y@wUCW*NoAzCU zCi89%z4=A$mEun%fJnBtnZ1&C!3j{BzCT}0uvr)_Y!h=y> zkAX8fJ5lrcbE&Ylp5moQv%#$I)=Ef=uWN*u7al|SN?PF3H+%noFV;hZKLnJO+#70|s z?n_P9@TeJaz`?Za@_A|5s=&{tG#}3fH_>UY87EO%|02zHvZ$h6abilkBXo1bBfd9p z962G~v4$JAO-0RV9ZJiI>8j6Fso1&4*lHhg_%M3*I*R7eXDdZPr%nrUdA_izz7=*S zu(Y^cK2MV>vHCHE>paMkKIlmx9#)F-J3N=eg$==C44N}%Fdw*IaLV$svP4o zFw6)SF1*j4d$L(Xa$jNYjP-O4msetKtj+TyAoR&wgOg58SFS+Fiau&o?O=G0Mxv?N z)ELh~_P)l_W0D47rP;wfZYFp&EzXLiwf` zXRr{p?XNPFRp2*Xa?A)Y5u;1C`1H@1{azq8uxCWs1IYK9#HBT`5Uh9BoM7aU+YiL*e?!V zQkj8f3{MY*5mg*<8cyXYN(AqG0Y4nP<$0V>z=g)0;G*6$3QvnLYWkCKaEysIR$a}i zq-mvWvp?6pZ7Sh$2=iCj-n^9F2dRwS4^wr=x>nD#HLSN8g)c=*H6J9(M#06JWRt3n zzoO;!dM5^vjOJsLnzLb(ddkH?XGWe9RyoaZ>JBQ9ySzYB{GZEok^9@F z_9AL}0b917ZW|d(l9Ov%C5<{n+Q*FEJ0y!M1;DKpawN{PSK<8Ch8e#l_t5j)&%jkE z1-hb=zQd_!0mn8sAZtU1aGegFRopE7NQyTOG+uVjRsP9YP~?+0)iphfSK0Kw0ntj0A4Zi`#|WS@`bTnE@Gy!y zi%Tr6^(ceJGCf-qc;6|l;c(VRgul(x);vU772hH@A4A!i+K=}i3_Shptn6>|$@wu) zpB*pD>J{LrIcR@nk%fyE*Tv--KCn{5YN@%(r>YmL8Mn91#2Q$l@*n1;HqopLGSBh8 zuaA->RV0*Sb$Qe7mg4iev6za1DVT8{Kyvi;@mE3a-UjL427wsxQm{ws%(t)p+ZX{^ z3W@#onO_a1YVu5dUzl4*ow!blf9~k=E5JR|6Ps4u#X|5~AI=auG0qB*gpf}J_T^v4 zL{Lt}zrO+Sb_7%*qP|JLyN{G8dYEKX3#WuDp7EDz7O3@@LCJNk^Hwiw4HxM4O#?hY z75)P7>seceSv0rFmqkYmvy7BcX>4+G!n5<|-~Dr1bQVIc(B`}aJ=G&+T*K}aYfMPb z=l2viX>3U8+>;Nm3(pX|V}BrxIk~iie!Pp%_|h0#bGl9W;;s5IUcA32FJ5@m2W2`T zO?bF_EjHUBSaXaGty>gP zp4vJDtn6lOw(PMU(lHV5R(W0wT}_%r*E3>eZA;A50=3oK*uN%XDGIrbb)=d_pX?nQ zn1c5#j(WQlDBG!WMW!!7r96g4R6ozafOWgh`ea6J(*K;d3Xy^~O5+D?0+81`ZdQ5< z*TC}n|BA`>1~Q$scY}xRaa(D~Y;RO?b1ZrVe ztuW;Nr8bF}NUMz*ClkxmM(#cC4oIUkQ*n^ua`S~vsVI4&^%EkJzox&w!9tkbJUFeS5j#0>(B4h00SvWlfJN>)u*j(d6wlyZ{@WsVBBtyE zI^E#7S>RZ4il16Zks&lWc05!3yE9N7$vf$9kibeVNXgV#3p>!FkkgnpjJ?;>FR}`h zw&wpns*eE$N@{`~$NJ3hE>-cdGqH%3RL!Gpm7fsEUv|))tBF{FamiY7fU+^X zZnc-Tc6$%Cv^W{7efuaOMVEX7a6gEt11GP|KapErdB)xKM<2`H>Hz5aZQ!HmWcBO} zuNoR7wf#xA;@CJX`_makDAS*g9e`sN5vgz?2>wCmX4SFFD+iYe_yS_V|Hsx_z%|wO z|Kr0(un-UsQ9-&SMu!CmNRFD6lF~A|y%nV4cEBbrF-9Xp1{D;)>7b9fj~1-|sTZqMHSsa$fZU1x+l6!ar&=nMorsUl+Ow zK^FnUbMB}cMM38#hZ7s14mujvnSuHZz22dQxkdR7r0o~qRXc_Vu)TE1fPHxihYAXl zZ-KHjdb0kbd(LfT$l~tK5aL@Icltxo84T;#onZOl(K1|~w36;#;$Pcm^n}zB@6=s+ z%!AeYgo`8a8+8CY%HH8f7g*Yoj@J&;#-wmae01~C1!ZT;qsCDhih{Wcd-8Q}>d@Q!I{mIpE4w(q-sZraUtLgGck$*O28R+@CoDe&H#74HKuH`wx@e++LewiB z%pk0~BqSkj^Li-%{C$B>At0!up0w*|A?RNj*^~Tvt^NKxo_4QOx^20`njRYR6u&JQ z3gT7R-z(ClYVSQZ3SZC{&d{c|D$}1A9}c-wA+Z_PzOYS~uO1N7pRS#QIAC7d@bLAz zjvFfD$rBJuEda(_>|xA1<}a$xq^A>_SL7PMFCzKbJ+_lHt%i+Lj`6Sv!wTA2omW)G zj@+hQBt-X;CYbncKya$!NuO#(*tR4uEHB7odESN14^UlqxgZq%!89*oZZ5W-@C2Iw z4R}KV=%=A{od?xbktoz!VRHEkw(j(YF!}-W`sj|-nmwC27KRtLf^*-h2Kl!oNIWf5 z-uwyMO)DK~QMR4|2IYsZIR>u;ed;6I4)gtJ=n4H&omBhzfN6)?H#zNiwv%o+`)KQ# zFXqL;sg{pMESr?H+_yo|Ye}_Vybe;(V;!x0C_kLS;gKb1qJ@&JxQ+u~|$r z^nV1F_z|o*OAH}_g zXY^9bZ%l|*$)KttALqlU1U}W=tJ7k&fh`Q?=)&S0Ygdq2QtdXv zd5zpOw#IExTyI$&@5{6s;eFJFs)4hqNv!Hgwat73J7pz#RW!H3E5sei1DNIenbE@8 z-Ttq+%N@s3DS6Hz@{5Dbrn2L(UV`*Y2AkcTIyVW3wTnkZo)h&0p&@q>ZW#xEkz9BT zU+g1o8?7XbvJ+!{QFEs$zW#H#V)wlOKdW{;Z1G8e#1N5gvfuKq4Tp1`${Lh2_TeWy zhq}>J=7zapoiJ;QmyS&=AdjTZ+3A>rwE4Q;NjK4)#RR2~*Q7-yN?39jt@@HCw#1gn z-vi%*E-6d3S;c(@T>z*-u#JklApB5MhoC3<0WkARynK4tF3qPHZk2Dcb7%LKFvnVmO0D72PV>B9}ZCd@L0&Y95c6me5T#J+57KZn>&{ z^ouZV5_JFZr=EtPcSgszA246EbH!Ge;EUgudZt}ySC>-Hb6r7Va*~|H?#7D4CBO{4 z3clk3YFi6=IE67~TvzRdN4RYGlCGMISRA|h*t4Gp`Msf%neG(QzV&;F7&T4gzWG4! z&k)+RF7adN2o0cQT-wvgL9Hhjs_&i3`c^oHMBf-UYGBR&%YBnHK-l?S4`LvYT>L(Q zF0)hMz+cs&qJJGNh_>d|@6*t>OvjGyPy$%NCPLt5I|)1+>qu6Z{X%{4__gOM4jPjM zi+#!t-sqHMIWN@`*JyV%0cja$9=6@*)rvEWC_)UV+##7<|Ade5!hv^rW&Ldo61fDaa3)ICh`dyH7|dM$tuOt+Ov$EvjAdzCBxO26fp6yT{poK7NU~ zO-$1KE=%&o3i|DWgU6l}XK~;`ThcPu>~Z4x)GL0m3ng#m^Cz}%n20g0vZkF3T|ku# zK(ZG*?*xWS_UeE3ruWo&`F3^jO>F=62Ej6T6;T?KuGJmqW7dNx39r6yc&_I_o@tY% zUcGc<%%)DKxOB*Ugt!1d5-TYSb8y7yw!zk3+%%t8h`oef=#WfJE}x{N=MoE2=XN@} zqHbBS4J1a<1*7%i7oAj@Kz^~*d&Ms?G8!hBwAQk+Y4b~6&E8hqdP=fctT|QbLQy1> zgulJxeQ!e7Lg{1aCXbX#l5~vh(rGB@Zq0;rNO#iQ?qf=j(!e&cyJIzm|GSHpOgSCE z2fja<9B^%Ln@#$A>12woLDTc68?oGu`?ue96Rd-Y)}VA+!>F*8(QISjTS-Rr1f+Aak4Lp0YATB`J~fbdF_oasSC+6roD6uh!|c3J4c?|>)uCUD&?!CoctqS!#xsvh<2{2ZoWAKq!SfAoIAcgobm<>4WQnC37m~8OgZ9)a|!E?kAm-}K~npT zHo2Z2Ql!)M9FPkWfDS#ari+3>?isW07hmWPTUJ1qMhWqm8)@^OPiCO|^DG#H;=F8X zAX3Wx>4pFpaW}k&4IR;JbRgV2-&-cL6Bw$X6VG<%V@Iz*^t;(e{yHrhTYDXU~;2P4b*Q#PJ?_up=&;B*q?iW27zk z98SG-gcjWHMigA95s22AMJ~Zy@P?`tJs7dvT0`|i6qi`1zh=8-%&R}}AmFBJ!t9i` zOo1@hvEyp*ehQwwqA!~En%(yl9BM5y&cb{c9akMGe+bXVI=i{_WPkv_`zuBQIjkEK zlaHR&Y-M95Id!A`%jIY6H8z(JpXOq0kdGdkY zwTvPIyw0%Sp$2)ixHDwM9m)E>FGfEeYTk(5=9h&>*?vOk6nMTBZObUz5$O>7gVneT$)1rl6Dg4`UEu4ZcT)2-Mc zbcCR*T?lh(i@G{(sJk@xR=_!-+=$P@oBUgB)`1}d1eeKsqLig)5w-DXYVJOIy5Lb6 zCKqAOn#{XDL!``+4aCtCQK+tK5RHh&;lYMp;Re>rK)kDI${)=+A)##d3(@IRf$aU2 zKZNT8P96U{gx%-aVpo%=Va5LgI>dhk^?W_9wn8vTrR!*l>B+lO*4Rf=nMe-8&(@Xon;@R&nuYB+qag=hEFujbl|l;=h*Xg@`QmQ zU(RAu!;@x~pMqSc<56uR{9=d*F$oga5D<|B7GP&)tlJr4niI>k>fIN1Z54>1v$m3` zHLiE|m1B^g*N-XxfTGHUV(7^+qhI%Jw}xFquQgWH#G<@c1n09jd(I}QA_v@2%lzfj z3uUDn<0S&E!B&T|)5ndu>vsu6Mrju7+uDhJWsCcw6JHtibUtk^d9f6^;EOqs4FH!F zy{#FGB|E=^>ib6d^XwgN&U%|(Di6{viuM=b?#r57AYuI#vk6C0>B6XibPD1v=UN#T zXIJWCvd;Eh8&l|;cGG)Qr~6b@ePDp0_t~?d2UmnOOxX+pb(@vc_>+R-Yi<7$K>;34 z*EjJdRqP^>@$ouN7?PPu5bVq2f2~7~>kWKMdv6N1hX}~49Y<>dakx2G<~sR-A(kWJ zzUppg!xNC3$MM&w`;0MmLaAS`KUMV9)XH#8E)}+#>5W4At4_4{~p z>bEv42NEeKz4TG>=HgdOpUMi1Ek&!k*kY^&MxfSPqa!_iR^O-k+eS*%P5q_?>RyyQ z@@PTNqKHF91~K?uzcOo1wq*8X4}HT4fvyUu)kYQuOm1OoEim4(=PxK|MLFYPgitMr zK9*AbUYgWfF_{+?g;UcK^|^c8)t%%m@3A~?CV*}Gk*A9y-vJcX@+jJOi04mxohbOJS|7BU^DrI2G??mH>_bRaXPx<;cml+2rg`pqbOO%W;&K99C%m_3Vfu-e+1l|AcEmpNvoGG0nG8k@Bw#6rtk$P&xe2kM3-ks~m!5+FknO|pI zn5Qtl6d98m_Pz*sg#mEm`)VeTQ%_NfXZl0ms>QNNZ>gqF58RSS-pX^j9Y0DDV#Z5L z&*dq}9s-XtBa+pVOMzK`c$%9a05f`mn&RzMzaqtwxcRiBBi|1FCd2|BH)|v!KNgtg zmHX=a76`;?;xm&e5D}d8D0e@%sYK#&?N!2`U>I=CHFM&70?vUXY}J!zHJ*i*Y4tJK zm=ywlRcWn+37hnMwsu85{Y2kV;IF0h=O>&O84 zwxZtZqO3N0<}KTkS4=y+SCR_%#gygpVkH7|{1@UvW}@BZjBofJoq}2Bri;pyE7rMUcFwG?8~Q_acdUvK`?vu?o6Z-WG!Oqd_I?!Du`ZqQy_-MN2$wietL zpo$KM^3*mVbEiZjn$?gx!==6ONw1~9K|PJfuUcbR+%20LQ`(AH^dRU8kaPK2F!;?? z;)~3PA+ns};o*()zD<$RSx0z$O<%Cn%Q3S8C0NCiUDhfa^|ao4?Ijkj9*jt1oLst2Z8`+qpFZN_HNPkTTbK~p z82U0`l_8j9b4h)wo_6A1LY znqxdj%bgCEmg(T!wqC9H5FiCMM@$X7cm{YqRARgNeT68(_IOrn@eLq~Vn|60RoOxv z4(;vv1-?PS$iAzNW+y47jjm2ljnrlRzV6%4d;04%p_}%Kuodrl6(BL*GEBZQ-Yo@r z$O74iSBC{!O-ruG80Q(K4zK3Dx+I$my2Y%~L}CJ&ix-8;1#dxZ}x+d@z2?_Z*nxjNl8cWk3YG3UZ;xu(SYY4tC_AI}o z2+3gwOW=!bwga-NE|bK(fd%*3%}&-J@cPGq1nBpt629lrG0SJY{t_BFRLHf(KiVc8 zwWRIR-;ZR`sqyWCHoPjog0DSp}PSv$JRQG^59{>Zc!P7rK zRxQ*GCsP6A*ifA+beNntPLV@k+Y_%Hbb4%@jX2QVDL5<>{C*$BiF9X zOE|ohjdi_pOyAIO56m3Dp)18CPI z!-#RQljtej@V2UK`b#Rrt3Qcj z9)-mcP0cDohvExPMN_tUciBBYDS2Q_<&8k+YxsWR!N2-!^u0sT^jk<0; zOVFBFiT3k(N;FD`;fy5}+}GOFU}+m<^?2x&pBQqg0jpCP$0|)FS=}2bEQv)>LVmWw z*6gy5veQU=KRL+JhF9r1gQ@*%KLiwfdRvMzre%b#+;d%+gynlYO;q!KGjC879f@eF z%ex1b^0N`uc(jzSJyDT&g1pj#vsq{Ch0ncdQ!f$mTFC|}K~>t71^3|$M7aO>Tdw^a z650GF!RP0d{&P8KUa0B%h@I2xw-!94$=m4huS$x0k0`fY7rj$x*ZxTbFIvFyWCrt& z8(qfyMRtxy`MfY&rl(eGhZi_Exv(CmZ<1`P0kOCmzi6)|1#b0!k#>)YA))U^v?4); zY00kkiDs(McGLk_Dz@qBm{@2i|_s=9>pjWAW0llBT zVM}b&%Q{Gh7?w5R#*%B#F$kfM3X$K6Q{N@6ft&@Xqv)tM_zh4BZ1g1A#>D zScw=n2y5zo0Nn+Kuj9h~gnlmEUD+wkoNws1O7mCssUX;%mcYPG(Xah=SLLHUUU*Bu zt30k~xlZu?*qWiT?uOxMQxUO8v4b=G5GCm?DJ?a+%dBRwt zS!z;YB(1lW>R23QDryw)(#yNOqnP0WYn+?u=S_y8)>_dvfUYxZ#nE#LXGP(7{KcAD zT8_dL4MDU&!&f#J;^YvI%8QSdGbYaz7kg{fBmSOfjB{6%TBqh}T6^ z+nf;4Ns6-Q0nX0z4z9R>DCf$u$!B)1eAf~daZw>ynv ztjC^xL%tT*AgMm17zIJ+p$Dku>ck)|GO;OPVFW%c!I>zZdjll?KTU5zczDwJ%eIBspd#2)mo9i{tii^BQ7v$6KPwD(_xZ_*K6 zN&%Ue+(41yuj+4KpcA^CSZePaWtbO4ZBZnN7y5NJ{ff$T+=~E`w;B2k8xoS2PTnqF zUS>;9W16M}DBO7PjtphzQmC{waJ;$1_g&t^+HknHUZ5n{nvqm*$rr4pp{afyDdh zSB?eFMXVdXUY->7t+}-O2@uGP*;8`hCCQ0(y>z*Z&st)=?}Im%us8lr^7Wm&w03Y) z>CjRR9NHVW6f`!gV9_sObID<9^}HYVKcKcf*j%^qs?!K}1l=-40G4Pe+PnhAJ)??W z+hDNbb8^#q5k6c>G$Zy#EyW*&{pGb3c#rDm8xK022BgH_L3ui~eN5$POrG1fdA{@8 zp+6}k1VsISxP8WYBWe961?xTli7VV+>N^mgy}Ftn@d4!K{_6n8TeYh%k)pCJ8d@^O zhaGYb@#A!d?Um(O>Q$CKjuU0+5a#%OuQ)<$xRUC#z8-t}sS2`FqIV$%=i4qU>Ll3J z3U~FkMPpdMPA|F-`nNiBUs6%YJ1p-6vG_twRfnDi>mgxSN8?optEa#+Wazhktx!+p zrc|rPyrC5<*Hjxfp%-a!po=ND7zZFCfmewp$7AiULj3?%w5bG;?8GURLt#X_>vR$D zMubiSK(#HC+#2ruV!PB)IakZiY&m;7uUpD*duvPlXwJ({SkI2^ZVycjP&QS(+ak=+ zapoyt*4A(r=J@Bx|GO79duX=Vz;i+;D8Z!mjO7sNrcZgWJ_0Xy(ay^eSfg~}J%{H) zhCKO?T_TRl^(1-Olz7xPw3a$H=phcBp(GgY63SKr=>f|Y=9DwQTUC{;i1o^d0__iJ zGd@;0eU^4DK5xI2L?8$ihi!384meNb80o3E1a!=dX-U(}Bi}v)$Cb^dEeQ|!obdNc zJB1mVaz*;UCeE6#f4DTKfK(I@hRae2YDGiJ(ekZmfv|WJMBxtCnRn0(hjpWv@W$ihW8Wf zsq?g>(EBE8v}F8M%l_&F)nJc*Sc<2|R;>7=h3?fL+PNW>%S&z@p_k`leA3WkPy9e9 z1&=SpaS_Z|C6XUFTz!#nQ-VuqA0r$~lKWsSCs&;NnH?)=X6;()Z`uw!l*0qBDZpH8 zfjcXN)Go-s`}dUQe}NHw>-bJeIFQzf7GD=K9JS}TW;G#U4!|TV0QdE6%(U#jx5$C* zq%5{H6SLUUXiL_$*|i6qpyrOd1NkD5lrTfyI+TRD-lH;kHU2qr3_f6nU@NTU0G$*z z`dRA}!!lSy;qbV;>@>9r1M|xpm`Joz#LK;R^IIuyVYx!~DOo$>Qe3ZD!uPR-^|EE( z7AoJui70e&Iq`JV_jZG7Ipb6Nf*D-+C8NCx>i*T-2IX0iqo-Wn>9PF@b9&`lw}@NbK>nY+hw=l5#q`>z1*X^tIN`w|E{DO$v-ASi_xm97!65Gd5$jQDv%ZLG(KS!8Qfc!Xlc7j>XFskxY8edSe#%?uT_?5;+B-~6mryhr!($Sm2f!t$4`?=AhQnEkM*ECo#qjlb=6E+ zu7Hkc^yP%}$eoYljlh6@Q4S=uLI1p6GIU;7;9IFFPXj{M7oo2xA~QEo1}4hk9`L!? z4q|#SLOo-A0y9X>7W+s&I8=(j)^l1RMqYi35>~I4y%{q@yy3>`Tj`5S{ZYj!sh1tD z59TS+Z4ef=-yE)yEjDR&v`-6#Jb?Q-zFbB1NmTto)RV&tSYmlWhT6Z{UZ^x0EckI)`EX4=8Yv^9>iXRw0=b}5Wt=y)#ae~T935>c zW$$E077bs?k=JNvOitkHpB7^3RMeFH2Sl@#WKEAfNM3mUtkEL#*-GR9<)dV**Kc#u7uhEl%g1#+{^8KuRuXXT$jWqQO&B5z>8;e=g+(BK0F48I zqUwJ8`pUQ#mrHm5_fbX`;RRAwAM0nf_L6(gKL8avl_dn_6{?5L#v${7+yx+y$C!=J zJeWeC8)B;q8;}s+nAJp&mW_-FSD7%!`v8Ld&wh{Qz>h(Uke_-<{J+uYX8|(T_NqSI zkCfdDY*H^bJZ=QfRX%ixvE@GCR8$)%<`Ax;m~``G4va08=~vQf-@ zII_y6_Y1vf8Z8LO-KxKjF``O*EB5KF5h(hM!Ri^>;=FjZmpb$JFs;0nr`YAn5-O*i zD{`o~uU-%rf4?n4EPn=4{(OS`YSr7zP|sQ(+{wClZu!NYK<-ZDv;CA!f@?;Dd)GHV zYuM2Sbg;i?FU}lok~hbeZD<*~mb_IlQrK6khv}ND%*n6^yTRwvnuco?i~1W7tY>=qF2JiY?I3ZUM{BQZiGKcj~}G4@%)BlrygLhD%gLxds@ znun<3Om^nwvg*}!$gmQKPv;{$dvGJ1!KDBfkHZ(=%P5g zRoW4Yq5utEVCIw13F+7%j5Ujr)k%3F=5V@l_E4+Dlc{7s@ZDWaNPNZ8JxmpSz>u&< zBBs#q+Za>z#(?#`lYE_!>&3YQZy!N}W@96)0DWSVNp>b4GoXgpuBoAh?O&O77!RPy z9$}o#&E*`(yYKGO(F0XB)rQX&MRri}*y_ zZBrA>KOoP#FwlkSjLv~|nXSC+O%4Y`m$)bBEjhFNeRFpdcf1?fb|EQsd?J$q?I)0s zBiE6xsgK4j)+~y}@`B5_<5DgumI!+t6Lq`#YpyI-1~HWA##?`idG~!Dt2e@|H0?Gt z@3J``RrP(fyR)xpWna;Fs|;mh6i|)<$yDE7s=n$EW(%Ul0TlW9^4P(3v`c-3jCYaI zk0&jiVh$kp!e@`O4uH6GS{^wH8!#>Q>|>bpeLJx`UafQac^Q@CTJ|s;|N3*`s+7m zbctVr!0swzyV(Rr<3?X(^ZPGu!vJy|a821)3x00Bnq+)i>fsB+Dn>KXC(rPREQ!sV z8&b;?GsaBH35k9^TVlla)zP&o4!U^0iK)a#bG+5WAB;nadynS)0+-|m6LO{iUJ;}w=BgnybMMr!k7+XLDU0&w{Mj(;ORa%#v=H^cLZ%1XPg?eo{|= zUO`UkN>x>6jJ->8*2=vLuK>1|BN<@`N%r>(NmI*Cu$QxCVVhI6N zt68!*CT|l+jLA4XO`1uEIH5R0@wUcXuF<0o!579fqYFFA0FRjfO$q22&hrmM?&sCR zKG8Ilk(b{zI-b0JK9lz0PaWb}bcyqisH`!%@E3)klk=eKVv)rO47C~-gXTO-yN?`S z#dZuVQY1?mQcr$|EN7;`*mx7L_)$E5C+@7y$ z23&yk{$!Vlp)>bw?~Zlbb37#_RtqG;I!u#$UMDr;nWFVuvenQ4We{TKyB~NGMPzDB z__nYm!rLs1jqzW_5TwgiSz_D*tXh4OmKmQdw&<9k2x%m^*`oQwcW9(wm*bKx|B8v| zwpyZw6hc7L9L71EyYX}&Pqlg7p>XNX1RNMzn0YxsG^??qkXTL9>8)CCnM8FXCtt>c zgY2DS%);;T|6@S365;$bvLJa^4;8!NSX+l{&*>C~f@33`f>u1Z*;L+;z3Tm4&8|0l z&ArD?An9Ho1e&OwUI8F$z#+vL+V9k;-K8F3xJC#AM7e2;bEtINiSj)l7H>a;yHViR z_qRA>QWc7ITWePK@3pzMvu<_FQa_->s9hN=6E+@R>)fiy(1%*g!pB$!yj@iMlQSF3 zzV&|Fvsipqgc;DKl-Z0^7v)@7@VIESWp$+AIiU{e;BOH|KK zcHOd-cQktSr=9=WpINnXvCGvq=_Y?&0F(%0f=aQ&5ybhJ_m;C|3F}NL)8{tDQavzO zbIoRtYqFdnUG#AR6^$ZEpkq=rO|HwhR?c~K4o;RGvXQ<^0nlv0e46R>M>jVXIbcx=x znzzW8O*Xq+0+;h){b=rubo;dJm!ZWUPm`u4DtfqSw-uy%WV~OOUDvSMXwgg`ik;jm z0T5Y~n35w3(8Vva38!0oZ^^lM#f{nLZ|21-ghuvt$q2<;eT-Fn>c+naxR-bMiZ*oY zWP@A-xR@6!*#Z)+HimtzJxZetyySD<#q)LDugNdJ?pF@!(moyEyYJ!rgPr# zzWv)w|A5{Q>d}JZT~b?f%gz3ZE;a30fUOD*I?w6{ewt8$%uS8phu4k8CodgOe}M^b z_DKDTjrPpYwqP+|M@0*yy|->|<`>oun|FPQYJQ(}`EO^9U%jPgP}%Bs z|ER&Nxi``HQ_U0ip+sZx&)riH9s9IHm|J@-r$WGkpoiLthy8vpYZS5OKy(W688{Ju zfYGXOvvA)J*SxNRD`CQw(>oel7N38wSOu0f-BDj_0lOEf_)y~2bd!l=6y{(~$*>i( z1a|@AI5I=J?($NI`*NoZ@tfu$j^8NUWC^hJaQ+%LQCi}*a;z@+NQax7$cDl`U}#8K z6@^A$8S%lq1;mndcYdHfX+G`Bu}`M&r`?&H zB0qO69C?}~HQX-A?-n7OQ?r%Fy?p~G<1^~eancgOxiQY+O4HS*Fy4gz1cIE@HDZt|JV(r4fdFC?W^KXf)_z9FTbi1WBoz0S#Z_wR@=$ z52Ad!E)jSZTQA0zderkAFA(U0rAfpT>M!*sg%M72#W`)(*QZbp-HVyujxe z_MaUPZIiU>ooB}g>wzxnc3$5o5vC*3DYTHCwC_8?>SM;CXcn)({HxEW7K?_2^e(pQ zsAG+qTU<0Ayf$_;%eau(T>_iVQGNXVKU7YhJUJ+Q!1-6lcGkA`=%lHR+x^{IX@I=7dkGjw+kk;LStQrJ zeEn$nUAtIHzrO1du*Uld@4(zIl)HNuIMNC2xTrXDoO7l;H(PAp{W8d=y@$dG!mZxi z^W%l*<@4u0{5jn((@r?%7d_`z5a1~E#=Ea#LGnjxxOzGrg;o8?>HUw+eHn^Rp53#$ zYkAvu=UCAj>$ba=L2oWz8Y`eF2{+ z&+t}(rB}Z%#_yegM{Y}!skudYA3c?IsgA?xXBSeztet7<7WCRn2=j*@;1Tun(a&S{ z3rYTB7_)Ger^);2cYNu3C-&IwkaE=znP*>J%?ALD8E^kSl>?7c&$#@nBce*PjWKHm zrkeLaAfaxPElQG0?9(}B;h~vqsvT#k=@#!Z$r1g%vzgT$W^HQ|%3eWelcy|6!rx`` zlpfgOA&YG<)}v3S$QoOV89}{;)fT<|Jbx&P9ojAw->~aT#i#GGfKC?7oQbJ=+gA|j z-5C8{oinLuGR??Zw3*xzSM}QbY?we6!%NdgsBpnp(_>?gIf_(G(4l%!k$s@a*xBSp!{zGD-Jl+F&|`{U@8S_^xo2+Qe>!q;uCX$NLS!?A zJNC>Wq}@s{t2S)Q{JQQmd~eOgYw4A*%ps^pgi zpo(LecF|jw=C;3!|PQW_(UQDIP@>;w?o0K<5xn<9KKa( z#EQ&0W->m|P9_ZP3RMpK+ymxe!W;Dc&l;1@@AHSsj+_2nqHo0wh!&kkQ8!Iya*m}| zYRKvvU$;mxJM4(^vUQkCRI%%kjJ;t`ncKEXAr`M`25Ywjy+xn9>q8#E$ zggQ@0-T}3Zk=agNv?mAgLM=+(%WAxeWx}H$$cz`wa&qZqBg85)Uh4z>7SOMMAm|1# z-m7X0`MW8dZk}*%g$lSWR`lDR{4Lf#Sk zZhG*>0O-mCibPc6{Qy6`A=i}zHBH_6l@4sIIw7ukwl-1=*~z&h3;v?SR9$`OjNWO? zVqgdc!bey5xxdz;6?Kol#u60M@ZRflyJWrNe#6 zS*pz@6U3-*E=%0gwxgA^Eqy&wsOw*9M&_eeyX)qyv|k)H=^|z-QDMyF<071A-EAl2 zIoB?D6oTzX-;}tC=iy`~@S?h+4*(OH5C6K)Anx-haD1zu9AyTdSDDM~aOtOl-k)!r zA>_X|K-(HXC7$+AU_|57Ep4joqt*~Qk~RV)S0m&DiY?w{GMgI82E}mc$;c^~O{+)^ zesv1YXfX2Il&XbBfQE;yXj!OrS+Kq6`Slbmk#WMe?Gt;?_NRCE!!*XW!|^-~w(! zBr2tCZV)|+hc!Kq{f$8Xvvla%cbbs-Dg5deYTSmR-ZH(w|Jzl1%gwb{$@WTs7CNLa zT~02seL7Iu<37Jg=gJnlG1$GWD%nPnh1+lUC?tRuJHF)2^k21sD{_CI9!U$3PAlHd z#=VQNd3GTV6}*0=tVutih`jcu+uI@ZMR}rcltk4HLHDguaAkwm3Lq}!Iltktw!+Dk z>Y9EuXRcmf*=Q)9GgUg4T70e90bj++r=H;P<@3N^q`@ktQqjvjly7>`+OoHUvDQv$ zn}<`nikqLa-x$Mr@6SCw-p8{<64}plO5>_`IDqc9Vmo%Q2`p>9CBoFPz}Y+B_q15b zRKqf6<%gJarcT6bk`hbu{xtz#cMH`mCDgFt!X6Px`)=W%mws@9LVa(!=8 zD_v_W1wqSb$Rn78ob$MQ2T3TIr zNB9Lh=vL~>xe*-W$Kfq8YM831m&yfIFS7aBgnK70tXwHczc3~4aJwIub2Ow-HFZNF zJ$5a>vLo~=QpmAIuQP&el@c`d_{H|6kj0sCq&CjLm#dA0vw^f6$^n40t-(VT6`|Bs zpXLLrE+D7bcd}|K@baE#(THw4r4f|j$( z(UlVTS05KUp{V?qFTLO0=pm3Dn{{gC;)WfvL?$*Ch6<@Q>E1N3D;>}4)dgx9l*>C^ z%n48lCsTKVUriPn%Ku!KROB-DH)cWW#q!Mu88w~&_qxQ>80KR`CG&j=aZPhZkG6$+ z^;>(mvNON?Bbs%M$SXtd5viyIfn)I0JP|j`^|rM1jo_T;pJ?xJ7nEotueq(;_R=Sb zL=^8hLUg<+$x9xar9}CR*rZ(I4zqp!{gz z4BCpm_a~qIz7juo)~ZEuLT37rH)*yxWHL@C2q0C;7#gm>sJNg<5g+lvrlNPpa^8Kenp4eHg&p;ba5LOcWIO7Rz zEmP3Tj>b$f3GW*xERC@HdF3%-xfQ>|`9B*Aq`!@P{?_?YWO4(pqvD{7)_IIrAQq(O z_?PtbX1??DhEm^&c2Xknu41@t<5Kbqwy)^!CWf`D+Q??b<(7{qW^$tY)R3Xonl*CU zO}^_3i%es^c9!-ol$dTJ?vr_^W=uwx>&j*H>zyDu-5)nat#wb0?zXS;j3mLn9hA*tq2LydQdFaSpbe2Q+H1V z^JQ&|IYm@rDTyi5CO(NB*a1fjsnCLcc@5L*o7v-~bbLa*6H66nL-UFNN#A zW@9;_m4~`=hyo3pSRHx!0))2H^AzEWuE~|$3|UZwTy)H}+qr-*Ki4^+$ztp^nbTr0V`&7?IJ%iKB}RJG@QPa!rR@Ekh6>Q{5}$buo@ zLV^}G$MCwKh62snE?>Oio%0sw7_{lPm_FFr=wB?csNWepSQ^xNi{{ij5taCBTk4mtby2;KOhmTF! zpl+T3z+_~TkNATN?W8dEiVAe%t1`A`4yW|2f)Kd}H9_)!{?^9PekW=;-kMNFSM2&a zC@}#@{ICILBnCK>In2`OdtSh_21ums-{uz!juDJaYE^Z2TyW*Z7euk|q(hM3aO+%( z?RV#V{MM=PKBo8X&SN}r*-2wwBBr`!=m+`_E{!J-F=KullrKeYLZwvm2 zK1gi0cG^8rR@5*%s=Fn9)NY$EBf~OE_asprErhMPnCSxrZ;KFuET6mc*Vxb|Os9@J z4{i*0ojBBOD*VtJKb&+kD0q^>N2Ud;$&Zbo*KKm zcVp^=Bt>+yZI@23c&ZyFKI zZvfgjV<9+{?B?7v1R1kt#ng8;xbf<}I*#)E-@;fxSAxW810Mp+>UF>t^jNuJ`!0yl zU@|=@LqS7!&y3XVbWZ?Ns}#Qx@%01nOzXnzgbL4Ghu$@J(0(24yUQb(bR3X5YpyP2 zAGgIjb*1g9*azg!zB*WYHm~ksoxftJ!jSZ>lW%|@9~Y_wW`!`?6QmrBI{y#)E$=Os zOb>NLgZ$|sCy4neyy(@) z;L?%On|Xo#14lEOKh6WADK?}k;G;5w^vaG|_MDXk?)Cwu(>*`EvF&(qLdDZWL|bqI zhOgZdnPQIns2E~Kn#Vayt>qlmQ0!TD9dE++BwJCkbA5}KuG-6&sG2%({m_u*?AlMq?DWdNA)yZ39n;~ zhU!0{Nr`*|zv|K<26zf9+c`KuvH+FSQQn&xyT-HF6{R)sRy(S5PHhVG0Wu!{ zkFvLbYij@h$7cru3MzsEDkV}9qZt-*0SD4KrlfR^4zB^y_fiuEL#fdSNR3ib7(Kdc zu#JX|7~$`r_kQ~Oc>MqGhmXTh&wJ;*&-=XN^?C-=TF6?yUoU(F)y_FKgC>WO*PVi1 zxNH05%j;O9^V7Y&>vh$2TVFIyr@`cF3^pfR;C~!`qSTRS+pJp?E`X1#to#G~l!#n!(gydo2n?e%Rz^{Rvs)gIFi^mc{Qg+XGF9QhmT@ky|hT<%&gNKY++np zMNT&!e)0;sq6-i9^3}{tNgCAW_8Y3w&MMLMPYkml$Z?N4c~+`)v1b1OIStK*H$Qbr zjJCaBoM2{Bm?pr^W|f*@;caywcS)q2`E}ybGr$Gngh(IIsHfr{s7)Xro8e?8SRN~j zTw8ix1-ektDp*={>?mG4DBNC_(aK`JIFwy$ouU=a^ja%X;}esVL3XBAd~YC~usA}j zIh4=jdx&-|SIsu|v*?o3r#eVpV>c18oG1;$^tY zvscEifKD!!A=E^zH8ip#aP%|E-0hZkATO)M4G1p#JS~oW)7QCh+-_htL!HelA5cdA zW@s*jgtFe~hH>%y4-41gXH6uM&`e`PZ|`E5$~}i!#xV#fOFP9!57o6|T*i!qY>fiA49ZP=0`a5Bv#9Thsv<}3aFcM8xps*D(g)w8 zgIhQ&nEUp-hO)}FHx+RxE-;$qI9xMNd+`ggyE*IQ-BVTY=2(De&@83BNalxZuV={s&X{WFsHpXwK zMXbVZ{ygD0(fh7UinfR*uGG%#6|Aq928{U*bwfFJ%vQEu38;8pc@AK){So-jbmotc zeoR}|yMOA-V=WpSwnaEvabi&dEm}7(J^U{zu)e=t+Wu`4c;g!k3z5Cv2zPtjem#5! z-%MyGFDGTrCpUi{xo3?+iv~VAo!4I!;>iON3Ky^|nASb=`?%`O6iCO1n^P9s`Os6w z-G7e&X9i3r#71Lq_k@mSx}$Oo0e8zkwW7S_8h}yLuud?dvCH}|%79CwCcfplgTZbM z0y#22K#ycP^*O%XCA4xM`22ZNuMyCwg}5*!fIH&4n@vTN!|5Iq?4k+AN9(DJXS$gS zkti`@s33BS+%jW%aw$c=%xxyBX_EV?FuN|! zRXKY=1(*(W$xgVrkQ_+fjr{RZ*O&hYRPkJsalg~dAwJZ8b3u^lUF3Cekq6iJaeuhh zca*Mu^x>F~aKGAWJQ)Kxz6kv!roQR*wOB>~bxJ3UsZ z^Z?2A{2`ZQo4P?~(;C_o^EJuGPb5ScDidg~)yKnv_m5JZnYi}FXAohxr{|b5wj1Xb zr}yN0wW^TBVaoso8$9DgCosW|g?nh!;wlsTWpFd=a5-8zKA;dkmVPh}v7W`XoDgy? zXBldNMXt8V1+Y%nP8Pn2?r`@0v-9xNdTIV(0Vl>)#|9}7Wz|Eb_*I{2kVSKu6O#Y1 zE$<=FIB)mC6qNATW&(fNsK2MQF}ZWkyk+A+gA$l|00|}=?qLCT-}zUk{O<$SueBD7 z{^v&;UMg+0ijDSqB@*GBZ`y#=)31Wf)&FMJM&&<+d4Nn-|+>%Mx zn18tKEgZyht@fSLMzMJI6PS6olk3tm&~1!X$9oE!!3-bW(-K>SQ*@WaeXA!meU&oN zWd>nV3?8)xZ?3dpq+(q%suO-6WApv`*F}KnZ1UB_ko9j-SDMvDM7=B)oIaEr)BcE; zLCbplywX#l)lE1a%N`rO9u=pz$D{{kmg4ES9&>FPM58n-rF28(JM4{C-b%i8t$EsS zSA-?>M5vES8GVhNZI$AD$o-6aRK-ypOE9k|kzt9HMJFH2n0?-%nvMEOx5rvhRqDE`x46enPF11Aut!K5r$R8cN=KrClalMcL6_zpejdb>o$)ZdsN`?MWJlag$(3dC1dqe z_u9&+PrW%iMrFRV8zI1AJSIZ}HRknlLT0$d!%+;od4zYmu}E<(6bmBOMwrFSl~|QY zN!s0 z-6x7OD|G7pYqZ24pdG*sj2Q3(bWK0%2Pns%yA9W$1UWW0h8+}H`(6P>gu#nwXAbX9 z=`TCJPEXkb3`u%KM83%zWorkZueAC1s$B>;aGciXBnPShF7^FMdvyvY7ER1)8m5^{ z{cBJQzH!a*6vcrZ<8UIvwP!dpCdtTHkjl(&+AjOSS}IbjEBJC7lwt^p`lgsZrmPpY zuSF#B*ZUQdH+-RIf~uLn-U;o?$nMim>R3rx($N1>zP8X$Lr19^16~ns9e%93cBFHP z!wDP0f8T1|4^Sh=_1-49TjMyQu~eZbAe9mJo#qkt&8@J8Z< zq!j)zjZ&j#rSQ~i*H21&eJ*|5lo)p_04Y+7OSn4lnK~vtw*D%k^EWtDXyzGtk31@+Sn-ZyL2Ds$>_G=6{y6XRe75D$oN&Xdx9m46EV4Q}XK^Jn`bTWi%E*#0$b{CmpE9;o=&=PCDfKJ@} zyPaT}#v@=;+4{D~VC?CsWNWlzdq2o@lROd1t44i*h`>B*V7n0&R4+jO0E zxl^&!3H_%_lj=ne6{X8o*zxFkqB|gFe)mq3?vt!(#ERLXt_v+$6rF%=s+y)(BA4Pg z-*+ED0FS7kRu?Se7qwpgiz`*T#mq+d@vy$!QZwV%ib>g8|iUzoHpnDxd+swAHAB*IT78;y*3 znOB%wCK_n9X3bx1YhtA}>uZ?1U!#1zcaM_^8~ZsHeclVffzQuOvQ$+O@9|ntp0j)5 z0Wo_zux1rAQjzLl9pjdc+wv)&-f72P^@oytoF++w$qrFu)1sFYBXxTH$FZ10#t-bP zEQ?EnF5|{YNohKSvzXDisi~yTi79A!Nds$;^sJmYcgk0g#7EFEcg0HM;7=;D88|SJ z7Jr5Dqaaqkq>b42^>5tZiQJYf@s4Xxv{Rni<9Ju1$Dv<#B8Eco+pta-IcouX*Z94q z`w6hg$ewCmOqUPHC<|pWB%T>}yo)#BO>4?0gnvZt$&7Q4W(;oMKWZuQ;KA$Hgi}@K znO3_W{Kj(xZ+)*XvoGNE?6&cF9w9<8ZaKuC3&iXlTC4xs>93W{EZ)?~j6>u{suW0rkAU>;N=u)|rkzG!M zh=;yux9N8F)AacbS{UT<{gZkFp)w_WKBe!uq8b*x=lwhTBtyjsvy0<%IHId`c-hNE z=#1cu%Q@aPdCZf5oo*1D@6T%oF8}z7S95_Y!7{adl;A=_3| zw#L{A$>sY$>pMCeCnK0L4ge=uSg;l9lf5hYh`(Xm7=MW2t>V$COzli&`!Evi#B@a3 z4_$C6`LF3re)4^z^$3(3oezL=KXlQ%$$=w{R|bx(ok4<`iUERJ_<$@442VZY^e;b zt_4Ba7CwNO?9<6V{=tMf@`SkqlDZPmW7OFTyC923XU-kWE0K%NHq$Y|+N|xDb|#>s zit&hNFIEyVoEYO`RNuu<^oS!hOqvpWzvSfLmLhbO+FZRR5MAvmiEqr}h<8o<>e5~@z2lk)cTCS(q zWseMY9;O{=Fk%iqbm@5}d!-@-s4G8FA@EXI= zbfiMsCLq*HrWR8XVwHYgKR~BJr<3j%qqWDb?{mGIY%0}EjaylmL|TN{#~|<+d{=gC z!?`Ns>f<-8^|K><_*)-czs2&z{e&s7t#EqL_#@C3f7_A#86x6gD>P2!1GPfR zu1Xb}!=-M=Z!^?6AAYW{3!3vLJar9_FkoI`J7oW~UdIsa5-uI*vWQ2WX_3ZU=v&Lz zpEzs{?XLwHOSQoxhJXA>us`xB3HAF!l32I9As%vCMXQ;=}+LKBZTX|;xNK$8}?p&w0Z7GgC zk^MMZU#f@2W-$fA{W(aXZIJX?#K*67-hiWvvokmo6?*PrfJyA1o;;f54f7O@-6yp# z>Ryv~d&}54wF*=Y^-N3eg?pQo-K0u-G}9qgphawa!i6W}QP(SPR~pJ7EL;y%0O21> zR^$db#Lx=uAT`u~qJN!Ur1OLI(`Tm-Z)NP_FOWh(lZ_H}vM-WF?_b{uLM}WN&%ARY z@M7;iDMar}Z=zadp5ep88A~L(yT>)$-d5q=FMlQ$zhTy29urpExtu=+{*M{>OeKDL z+dB?xSseA~gL;+a)4ti!9B@ScLg`FNyj+rJQj5jePRYUR=0M7=%(h5)MjM5OyuE+^ z@6jD->k?d}Op0lfwZsAHfCh}Ve68}EaG7}2|*&;S2C&=;^P zioi2d2*r#)KyEt4AvvoBPU#jYJJ0>2S~xe^6gV(dp@;PFlWN29x%v|qy}E`bXZke4 zckI-1dICM;1rh~3$|NdGqgPm_4;)Jj4`QeKyti=QLV!%b?s6evO}qgJQVv*|hLNah zH7qz0PQwW(6K(bmy2`Rg)GfY6lQxV~2Oh-ENt_q`#9 zO6gGf*kjQBU;hl2ju)UfO3B1I#})5rHkCQzcqBJaLxc7KP6td*A|YKHuR!y} zHp7=gwXMo=N?T)v>LpeOXMu1ajpfTeCZ@Bb&wIehx$%cV zm9b-8y979bN`#Z{(mj|=Y!KBuz85BB!ahEwXc7hul+qv&sDk!3bTpFrqRHYIQeeYzNF zH%P{-;JNsn3VD?msRv+&VO|1J<9Z)|b_egl2QptiZ*m)>^`7z} zQDoW>Mb;4E6w~VWCpOUH+in9wl-G?wmERuF4U#`Ic<9Cnr@UsEo8rH#YO%~!{Wd?tL;Lt zUcCG$#eQI2nK|X+40EJ^+XT~c5l&<>1=B1)i6c=~X-;X>PT6Ef(d`fFE8w!uJsyWB zu^62Ft26olcnRbHjG=yQKR{x1xl4bX!}Pp*1)@(rUABBWlcjfUW?RlwdI}4_w05OM zB3oHs%hXj(esXFvIDgIaqB>66atL9Xv6*_Aw7Nlu<61*+1jx)<9W4ieS_Ap+A- z>9Q1^=M+=$)aKO0&3;l*;%V?YOF8pdR) zr^zupSV^ZZGwZ;}Qctn7XHN##_B;%XF?UNS6fd9d;?J#PsUzI`J5qKWu#=POx&0n6 zg`Y#3ai>XLUhg{x6D+;b%VS3}FlkD9jw4cWElp0OL@I(g~lkvi%z2ka1tr%P(! zX_V>5f4%x+vLBZcL*+({V$I@Z+1So2GLt*2x!OKkZJL_a`eM;cV1(pGQ{5x8R@cT^ zyVb6WI+wKtd_#YX`XYObL)FbKt6eYCz`Et~TcM&31p!MQp~9sd z8ui+Bj;aGJ*~+lVXXhM$g*N~5^kV=&{3t{>Or{p5pMinmQX91AWfOlm>sgb-T&j@^%J7GI+ zKLxW`xV!t~VEHz}STXg)`np$sBNY zKkU4f-KQ>-49-@fT}R(49c>bJDiLN1$k>iKoMfb}YV-Ftu#O5=9^UwTY<%}4Fs2fJ z&u9X3JV~ClYIV#UX`n-Ev(A6 z+)_9~jM7n~sMdYpnBKgVGypa+TeRroU@_OUE9GBEPMq2_DXxXPaYSjbW`}!7nAm=Y zJ{j*J@nc!OsWWCzb^ZVy>z6vn>`WHUn8I}>M|9Zqne{td@>6aMrKS<}@|9dD?c?fm$cnnm+VzU}2uHq+>!w&?N zE8^9_uz`4H4H?6GHfwuhbL65Wthi^|Xi-(cW~m!$+4ox}Htkf-5+d^H<{%{ZWZ$;# z&7|2=YXJENbkp;j`&^pQTOV5N>!qVy`B7myvW6=0iFjB9>>JTP1^5gIW`^auM@&?S zLcH`|_c(K!?vC{#v?h`Il+>(=b}6_o<%H+=?Or6>>1xL%<-3#JDu&(ripn!`iZ%Si}u3Ax=)tAJwk{sYk$Zr!+wC8C{7= zXXT?DAW3L1Y-i*99akW}{c)SZwxxLY0g{C!C>%jNt*zcJfrcBdspv2k1NK9uXMy(^DUpy`T3xNab@u5qdde(~}Dmn|qE= z%>CU+|Gd`YZ2}$!NVAgck7;xXREyHcOw%L>Cz~8iHKP3oV7v3@bxRzRyyQx0ss5d& zY6{Ug50x~QP+m}#u)%9{RU!F?g7oSb=*oYMKf(p+$ONla4{?~PKzj+01Ru34qA9s6 z4OC{2qZ~Z!%R-5vUxDHDAB6?4AwG|Mz}t9BXMSKvqtd*$PTM*Y_fgh|3zE|v%flFA z|ClI|u`U?frH;1b9A>TX6>QC+lMhok^QZMEus_npK=M{*TRWQ7;!e2i3LFY;PB-WG z6X5xbZ!^Z3+dL5k!mEiNH2BHdce(Clu%~3}P&Qt-jg6kFXhRkFrQO+AJ4t$z)GKwv zTqMK-jZ#m8SdJ~k%c8`(3`QpL`fbSWVW)G&_o4(f=@xLz92^22Zq$+BD{r^0`O78@ zJ#v6$Y}M`8-?u31lv&WR|IsM`1LBUN$62J8*>l0-#n5J>A~E=fpq}t z`vb&_VGE05u2W1%ngrQSq%7TJbM z-*@-&e=zU=ne5Dckfso6r0x_iSLPE*mx_4Qo;Z#o;apP~MFyz6>^Cx2k(Y+8KnhN; z7^;r9-CU}@Xk01riZUVOmx4EbPHRKV?x$RU%pRx!=7(#RY$nq~Q|nuh8{RIPyM<#1 z0L^bVAgNX~g#w~i_|>Ht;(wnPx@vdT#;T4nUM!+&w!>K2-uqkULFYZOEr)B;M>w

Z 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 UZ|dRsoW7yiL7S32_p$f?0NAS2ssI20 literal 0 HcmV?d00001 diff --git a/assets/images/rawLogo.png b/assets/images/rawLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..066a4e4bdb2857357e22524da575d5c2cedffcb0 GIT binary patch literal 119222 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�-a&?TOmtv?>7dsyOQrxx)*e^<;R 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

{ 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 RA{_t#002ovPDHLkV1jQ4bDjVI literal 0 HcmV?d00001 diff --git a/assets/images/rawLogoOverlay.png b/assets/images/rawLogoOverlay.png new file mode 100644 index 0000000000000000000000000000000000000000..9a30986f22ec55a1c820b18fc0716515883effa9 GIT binary patch literal 5918 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 Q=28GK)HQ=QYP%%<51SYxYybcN literal 0 HcmV?d00001 diff --git a/assets/images/rawLogoOverlay1.png b/assets/images/rawLogoOverlay1.png new file mode 100644 index 0000000000000000000000000000000000000000..16c770322a79d9a4423d7c337b3a63930d0feffd GIT binary patch literal 5081 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

ePYXQ= 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 literal 0 HcmV?d00001 diff --git a/assets/images/redBack.png b/assets/images/redBack.png new file mode 100644 index 0000000000000000000000000000000000000000..99d259ef8a8ca395daf720a3512d049b9db68670 GIT binary patch literal 50957 zcmV)HK)t_-P)XaH%*w3Htjg-Hs_v@k7CqI15v`FB2c$W0-~e1XAaURb2!up) z0Pg$)a|6wxkAM&~LbEVEJxzBrRnyhgwPjW=m6?&TeY?B4nW5+P=dthSufJw)9+C5t zT;JmEw!H6SzkSL6mj@48GqaX2(DSOY_fJmjd-w0#Rb89qxmlKNzM96eJh%L7U+eyU zDbjaw9{k?6;Z@+c2M1=Wm1T#AW@XuXjtrmE_0_dCj~{o(%jWZNyzI`M^>J3K+b`lC z@cwj~KDLf=_pW8rsb#a7)gOOstDpUBea;jWg|#;~X4lu@_l|I1_`58_G3@5XvXhhb z+TuN&t8Ehp+@!Xuw*I$Xglv6FPo7wNb+!H+UO4_M(5xuz%j;|V`Nf5mMPXUIL}qrB zWj1vfTJWbnoAK|frZKE?$lqDr^ik0gEbt zVgb34VF4D4S6cubkBb}r#_@E_w(Z{#d{5WL;{*@^Z~{9h&%=go{Lkzb(0!mFxZ3B> zt;Kz=R+c|}XxZuM`tO)<9k^D2(_MdfO(x-g4UTnjVa?O0*8KX{);xQ*1~aY$4+$Q^ zEQY}PT3g(2-?j3=#9Dn-z!X(&8$gu;=FDsmm@xsE*v&Hnv)uZ`E#)hoq;WsLGn?5- zUE8%dkhw*6gvG+bW~s#-OFI6>Rpo17;CwhX78)EcvDopsTX0EmNC8&ITQ1jt5;xPa z6UW@T76P<6KMxOU@#dS`oED!0IPeg7(BuDjSim)2yfEYY+3~S8i-omMo>=qQXI6jy zc>ruHU<1s!R)2pf?yhyf=W+gvi*T=B6)aPduMh7pcL1|+z|8smo<}WE zo{5E$?S8#1?d>eHOWfRIVfBj_mX&FIL##K~*Ve`yX$oO0rTuw^h*G0HKM!KFc;gMrUwiGAd-57vh;n~?00!4_eI0-oK4ZMb zvb6l@Xw4~c{F@tV!A$|w&pxvj92LjMv2Yw6(@Qb`KY$tzVnyMjb=Yp>Os zXIa2aLtxfBfY}h3HUgNLxGH{uNIxtJ`*vB{N^HC=tvNfh{NNyPjBw)~AXpUq4~t0s za5P~P{YG|o-UiTbh+6;yx~I6OxOgAu17`yF1Q?@h1yC}8qOP~kGekUZ`{ISQ(`nF& zA)>qM!@2MP0T?(J040?G@8N%1FXR0~jN<|FfWo!h+=Pc7pNF0s9yWZIs!OZ;$6A$T zxTpH@fXCxHbR@pu|rYW;9MZ?g$|I2N?H&huRx^I0ybFw+vht z$GNx&%pq`7yeMIyv(~@*m9=MQ>+eX);5@p|)H;v6-=?l@g}s--MJ{;YM0t|{X5nQVlvdOcrB5D$Y0>yuMO;;&#Q&c* zjeSOsW23}9ah_eA4-Xl{H#R5c_E%T8UI?@Pjgu#V3)_iPsU$^V#lwd|N9@+({5-rm zeb`-p04DC={~yOG%e9V-hsIwA*C~j0CsCkUG+%zXRtLO3>LraoK3;mbc6liLk`tIK zC*lE2aKCE;P&-gcJp`w0n!w~Lf^|Z%Ui0sKB=;;K!oOFRc8|(xVvE)nS`>kMmJ*lJ zKWR+|(T)x811CAh5HPhMVFR|_x#gaj^g1kdB(?)dwBbE$p8t&WKD^*()aL|1{qFv^ z@$$4>T7KtF;9B(uAFOpy952QBL47VUtP40Fz>Dj09)$o*r>{1jf4&ysxOagzUT6P5 zuSV?&(!e>Po=9|`Hu_$7Lk8828T-Inz;(9xP*)3+DwJCrDpx8_=mIWxhFF&lf zWg$BEaRT(crDr~HfuWlgY7;!ASiY{-pE;--&+1pN+N8btdbVeuf| zudb|q_RMnWIOM89wD&oFo#TFxw6F;<`966`t)gkKhjAh z?P7ZZ-~{KSKT{wB00G7?n#MkFnqY-zj#F;kT69d$NrxzZm}TKaV^w7Uw1z|a>dJD7 z72K4p_979C>J#-T!Upv%td1q{%1V~f?;}fQX-@6+#vZP^59#Qzrg87(cfMogx4soX z6?90mZhcIl;1uB+Xvw$yPH+)@_+j9hor`J=>AuH+SZkU9Y0JnV{F!rd%?pAOuPYi# zeW296w6V@l?z@Zfn|(Ki7Y^|b5tPfH=QqQDb|~bwbtmmM!2Emgb#(u^ zv+tbleb33_1sqK}7r+Ehz;bEDTW{Iqd*8DhoDW=7=kh9uLXC(LfrAsc;GE^V?}qza z{q(2nHI+60GS{}x=Nw3be#rlWQ$8k_{IY568e-Y$n|+i;BE35uxMz>??WtVu_&|z+ z;}`lT3?#&wp)lixg_dZSZj<6(eI#(k+>FOT$S)*Ii1T67#5H5`K=sEFd6yPlBQH%f zq%uZo+RIDJkB=??-uGIkPpCD_xtg2SO*wdfh)tE zv=8liNK@oN3a;2Rwpy+1F*qpKYQm_{SW1CYw97au``;R-pnsm7S#xj@I7BXRD%%D( zvu{{aV%9IJI0~|g=-&&G6S%$*It4eyW=Hy58v{1}TTv&U4W-!pzFaDP5GayixRmd| zZ_UYxRkG~yfC-2Is=MEo547&9c>n$2=wJQhCn3`+_(SDrAGJyS#?BD6i2fjiyyHuf??PXX?XSC&=>8!}AM4`+6y8HP^7z;$fBSD+{mWlk{fl4R`e;X9 zSNC&|y?`aXtZRF`T!t_uI9!os2HxFJ_gpZlSkagkcg*8Z=fH#ET}vt7XW8Y{@dN(V zZ4g~V9=w4RJ$mxQ%14jZ+yLAYdX_9*cZ{tCOD(2EI=C7{OQ2_KR?XnAE0oQ3;Yq=2gp0BDfCboXxH1c)YeNfp!~GxvKS4_>3*##nw3d#9)2 z*un6E(;1=;K17IkYzlpe!HtD*;p4}aKYG+XNL%it6tx3MzT%)G02;^d!||Aq5fW$a z-COJ8vsp+Oso@sF-y;DUj3;o>J9j!Ry86X00?30d`U>8Ljr#!b^4u<}%FduxCP{jy zRFLR9qd91NE<89;ah^V1U$-*tu_gd09QOMF)LiD%WMai{{-$O3?pggee-jcvc5>0g zy`>01teeK3!t21SBdquff2%G!q%=4sB4_;kj7$cg{<5wEP)moe6p4HK&y=66R`ym| z27vmLY^}dTcy|KcaLz34+2hA{4^MewF$TGr^eli1n@VvDuBbALL1I)XBwJvUdO*BI za^f?-ojlJFK;!ImsU?se&z`N1jrhLQ4YMvcAOI91eoue~Jr;Qm_wQT&gCE%H=RXe? zeTYl}q^aXLJ$CCJ96{H7yjX;2;X$4U$9vEzDOJs3LymNTu697h?*JxVM^FpsFU?)% zd+eC^#!<(W|Lytw4{^cwkbdQ!g01^=uUI#2X~=*J!PS6TlU6RC_?3uPgUeX`BMJAx#ODp&msvz1G&!atnxi~Y>Lr8*(LMtpjP7EZ@P=fglG=^nc?lDqhube>Yb43 z6-q0jY^9yx6eom>>fXIzaD_BFJQz53WaRZ8hxdbbKfAdJT=Fgo7irwA2+kNx%7DLM z#*x;=XC37PW8kD&7C^e9;bhUVyu-fWwdMtp{qbsLpVW1S@-Za$L3w+ZA&X_p$GC&K zL}fYQ!2uaG(4Z3;wpTDPp`-8NDo(XY&2O(H;#J)JVfOJ9Qv*hO> zy02Y|o&T&d>VdG?1Z?0^ zN<$OZOt^Id=j{`dKF&UtRIV(wK@So=2l6X!iPk&a&T@MV_oKv{INEy?{&oH5eOy(E54@`dMEK=!F7Ur zPVe2b)!+Qh+I6L{DM153JVA~`UE2waSO=soIm3avpn-JV6S8a^j*cjeR|HxdJ<71}%L&eg zR&Wf`UQwPRTBH!~x%U@Bq~rL$4Gjnp8AMG0T)I>;wt(5FQCG}cB3Q9}ykY}JpFKQW z$M})BfymVtU#uUL>GT#Ha*bu{TJx5U_m=+K?i@bfG6o#p13*tt*R}2dtj}2ASnOym z6Yr~$MDgBxx8ct(zOZI8vGclKt7iOO9XZrj4q!D4AzNpS>$6k6qB?eS0h>5I&Z~o` zc^>jb<0{S#aC(+26hr^SL0-cRBKVJk@aakcG-Ekw4WB1Mc>cYY5mOTHN-y)-N^DNh zInb3bfeoeaQerqnqhz3{&5W-{B8WPUioc~Pi%Q}V>2Y| zIOE4t@(k0iyr-w-dMXbws5O|ubWFZ0C3H0}i*<3rXQLy5iS z6M|Ri{9WEZ8ZL6R>gr5J>6kl6;yq)V761^@k-*WAbfU6cW&A+zl8&j!iUX?B)jAF; zs~Q{08YSqJNOQ{+jwBdDXjO%1acn-y7ubl(u-QVU_gr#s2UzK=co48|>YIAu%9>$b&IvSQ(jI>Y8L! z&xogs=>3rRp^#)lwyhILDSbc}1FWx0#z0GocXfUcSTjDYwexqrDlo&Q(jY=UWDrZ} zF?4>u?pt(qwRT?th|)*#0wA%e-Vkv0+%5g3tutOAPJ`&iCPFmh*o?o2^smJtBy)5w zC`*XbK5CXqK9ishHqd4coJhxN26mmTU ze7_=Cm6;;2!U`*}p#U<(MqlR77!nAuAt+t=f;%B>DBY7* zebQ2wUWl?=h-xJW1AuZrNh$~|eIQ6t%6--CoU3J0wm;U3dS-YyT&+7En((lxvtQqF z<8$y>$lQXiY_bX9KAO#}oJ?#+t9?cB-mrZP{yrsV6E{tPF!evtmSN*Fn)pD>6ZcZ4 zgoK`o*Yn)&5STHv;tXhreLQ{VbP<$oYm@8ipzI>&ua!6&u;P=%K0;_c2oW3Vww2K& z|D=lBbb|mRGMap^A?lx*tZTC^T@S}w{qTqDhYC*YxSCYf_g6)k>rLveC6h75?jhZ} zsRxvLfa<>ch`p3Txd$pZ(KS%@@!S)LbAa;{=fnfbYD>_I<3g2Rl_t_x! z0Nn&&-i0%K=bx z)-U<|gAUyKK0%9+Cc>Hb$}$*D+gG?7n4)Bz5hN=`I@Ad1v)*ISeJ3L@f#5gTt0;By z)_t)cAj`!2iY6@B`>0|iUrYTi7#iSeYQ{hj-MVB5Sd|-_h|a<=RG@pQ9ga9>3Y?y_ z*^JMJ?rf-vWZ%rLZH+o_EEZP%`Jb=zB$ZRDeo6b1z$drWuBudLz$7!8%!zrdhw?aO zfZ}==3tRs6U$2eEH{J+(bO0y38+hpN-CKj(McX zX21e(Db}|(4WC67BU-a4*%tsBxQ-3-8BkTVuE#;_85<`M02p`xUc9jCFaI)>MubeC zFJy8nch79bL zv>|f-PUyto?l6L&pJn8hcnDB2x%$zMto)td+33TxaU2gsxr^w;SM!7b3UrG8SpKip^j|j{Zm$V&RGDQ;YH%tUr5#+dGv~r$* z>s#wG2I@X7YqrD1szyDcu+iXh@OL8qtgNLzFz+JjZ_J$z_IRRujQgE2;TR1Lr$ z9fdmb&gZlHGBuxz!sDOZO3Ijr^Q1} zqcdmXaR^+@=b<__#MA-wc%5S3E2oA8^#*Ivwsya&?8&cxZJ)q;PfXOPD|ZzcQh3-2xZsk)@!&%8 zi84bZ;|k@-M@J!7;p*Zd7%SMr%5^v1hkUlXf;j$48tR;-i?NrFiXudS&Irtx<&u4r zyGElMdLcLfbTEKSqNcs=l?2dixl%;PKDv81xIO~;rmSPZ$%JMY1;y*Hca8o-$GA7& z3>-9M9r2h*K0#BhpaW8O?0{j`FLDJ!fQ#vW;B0{#`&NlkGdyRKPged-fDIyEIR*M2 zTO@YjPptv`n;(C?&ej@Ph7!^NalKV#i_bo@#nY#@TrRCDOS{8)0bn*aUR>`W0WxEJ zev(KYlEseK4P)&2|9Nv0tfmv9dEXkMT~tu-ydn6_b7ZB!c~0QC&c?I~M?tiooUB^} zDmJ}uCObb5OSa2OvfH$};_F{ugVvWOtL#GVslIF>k+`O+E19v5;|6^&9srS`E((T+ z6=ELgdTJ-m);t^KA-o4X5HO7J%9Xvf1DpVGfef^#Pwo7J59|Wo3_e^d+6yJKi0%+C zaiT|xyd%CZmYW);t8XyqQ&2fFr zlN+ewFmPRoR9cv0sRIcB9-o6oOh_|Bqll=@_}F5&&Jpg@@c1+MZ{-S0ks?I$b1D}V z%ZKTpL}8~tPe7>iXw1JpVXs> z&RvGKi>TMZ)-puyq-mmYngTgQ)0p~BwlC$Jaa8-B zLQa{Fxo4LsB4a1jloqTX3O+W1U>Zeg-3@==!-s2N#w6!Hp7L*gbDg>-fYJ|`#qGR% zD4R|<-yrwIwTDKtzQ!lM4F6qMauW1Os0SFB0M6;cpW#TD_gwZyZ~|2`$AN#gTG=n@ zjsZabbh)&%rU_5QKBGDMs8CIbxF;>nR$@uX41Q{x&q-AOO1FtY%rS$=I8JZWb@G9L zIM2K|-&(1xi|bF|z(zubfW(C0r(wet@@wCm^31II1g10e}ory7;%J$~+pAU$yZ-&jtU zCp_t4e1-Bd6m86D!vAA7ZbI1d!_~_E@nT^=;)b6lVx#+zvZ`;G!F0P$w+`*b546g* zn;2~ApVWndX!p^LA)*l!x@ACIr&NZG70tRSA#fvgL#U(V{zZP#Xrc#PQ#k74i!TBwuP|H-V1NrLu@?2f0IcqE zU9Tfp^Z@CM2}Ay|%m~cV{a=7Bm<0t+{C8(F`!=}x8%6PlIM6d%V86{|SR5FGjlN+1 z=6&RJvZI*KE*VQoWIfhXgX%h1%HSLo z+X%;k+X%S>N)J@IbP&}@0(t)2Epo9ayXU$~5C_a_`l)G&g{h3o2ZJeh@ zO~5oSQ#vS^;yJq~<9mNFo7p4Q&xZpbMD@d}vTqcHeQz?cClu?KO=EwyT-ql^5hlDn zWWn2_ht>B{NzS=sQb?tco!ijRXP#mu#QiBJ001BWNklv^OX?i^#5%Ev5%C;N&UDRgKc&zetq(Z+($!ML*`TrglplR5?5A{UaWE`464a* zD*J_hRO7c5Yo~P|3`YRt{M>GyJh3G{53#<3>ze~q<2)^6NLM{){QSoCN}AL8Ub*^q z&+uAu(2a@0Uc7%D(INnoY_=g6MaQsr%hG-WV+he(2hQq|Tr^W(9X5#y7vwh%o1xKp ziVme}Vr1DDoxaxswxhx4jrBwLTghPw$I6nbTSb7NOuerXG2V`0-{ z18oPb#^e(8ko3_*`Y&f~8_IxR(BD}*v2F>M)JEMpL@uTz{FCL<{@#2ZYDa|V6V@RA zw5r0$ILt2kMp*{y>e78~h%(k7b^1o)sYUc9XN=uqgGJzAXtDb@<^UPRHq?app!h%Z zQ@C&TiNnXh)c^R9v;rsqrKVggirX?~2B@WR)UeTPCWA*K5?OlE^@>NHEIP}<8pnBk zbc)gh*9QxHd3hO%4TBFe70?)( zVR}N>^@|Qzu;ag6F74C04x;`|_`+BSH3ZPYiS}^fI1iEBQ(Ofti8hZ+T}+n)Cl? zv9Py`BCuo+ItA##rlFVq)8*3MEeiWqSq7)wX$C~jeV;q>>HCw zPysGoGun7V0nXE&o9bp$g2O?irJUq;>&#Y0PtZHbQ950f9)J*{jLURWU(x|YJN z3MRB}c*VgC@rDVi zZHG#dAc^r5FnwzqxtJzw=rwnJK67TWCBbQ~p7tBab5(FDUI~>&vd38sn6?#Y<=f?nA_>+&{dTV{3 zDK#lUt?xEBf+V(A9RJd1AjcwHBL5D%DNmg0SG-vif4Fr75_HSYS=c%_Ia3Fx}!zFbYk0sv*V;@yFsdB@cRH}a80>JVLDc4$>XOvqY3BG z{n@5S#`;X*Vp^@NLUPA|MA|1Zx zpmX}E#)Ps;vTHnne^yoYNz>SG7Db3MUBYOpYdeND=Rv2;8uklPJ@0-nz(N2B( zoH`?m(>`Y#MA$6%U1Ql^YH0Q&-}9d>m-cVXW?@k0Sn6C)X7)Ko*44GWSC;mUq5~XK z8pI$&j19RQ7ITFPP30@@IB%F`gE|)^3Da2GXn-}uy}Ww|pTouj*ofQ1hY66vPpSlI zMP)oCS`vorcR$Zl4@TU))`{{BVEWGhfG+sZ9Ruz(e!fNrJheTK5~0JIW|CU(ZYOf#<2k5{YR;4~f(91z?OQ6cz0pAA`4iSHXDP`GKN z=%HEY_c8GE`SWm-i{*0N*AqW+(@2&Di-&@Z-+K!CMK!~r@0^^3+N1_;3sHfHoJVCB z4XFkWoZWC%J`kbhA>2~z_}143W=oG#z(65cog=#)3f6ff1We!a)04_Pz>VYRlO8Dg zenXzC617#+FOJU+dPncPv!17kq~a)fddL_Waue-Cxs$Ho`Df&sEmgvcT?UaS2vsDt zJ#8BMEsDOOr>l3sAE$-3y;VyOg`rsl5SU%4%lv1me|5kO&jiz^xSa$p ziP}U&D5rBf#Jtg+je2L8jI7o!E-_h`mZOB_hO4`9yn+}?)BbzPUWnc5t1mX4dk zWdvXYVB$jb3v!eD-N+f=1K+#pbWDC9E;s1*6HWtJo}UL7(}J#^ z;w7x{F(hUL6|q(C&%|q#K@IiCwf>e-tpefDX za;KgfRF;E-;DUl{>EMkw!u>7J&a8&?h>|wO(wNT{>}9YZvrBQ~HkFk$hBAgK5u$vL ze#>1z%b551D9?i{>0$?gjh#`YA}#37-K1n?5|#~*j@rcQji%=L~~)*OJf%XjNbq%{zX^EE?hGurux zBa?f!>PBKTe&o7}#))?gc*$k)xsz{v!(RO27j^~1O0zo?YyYaG*m-Kky7BMj%YswJ z5!muSS}yJ1J2(i=`k^#lg)L!7%@|wXb)zYfp3#i~QSb&6i~FhrI}oXSw#QhJp4nV% zw#*McIeZtcF6f?%g-sB7g7toVZ8a=iv~pzis6=)EC=-y?&%FaGjgpXG%B0{e5{T3i zlAYhWm^&+0!TCc1HB%2W_Ep*nE~o@M5ryl(3j_4vz>Z#j-6rsya1fe(h2mT!Z$OHf zwXS*bOM%l|<`R6Cf4*GWzdj(|WdtE41taL94@}WTrbN2ZxByHvgIe^Q^Y%dPw$nTQ z2#!Jh&WAg@>*q9M=w#SX=xFezDrHYyKr)>Nq7p70fSn_)16Wb{2=Kt4`{c>mzbK18 zcXN`|iqNST-TMS=$h1NeT=pyNV)?$j+HCvh*3I9>=xcZk77KfXBy+4a=dGv4w7e`8 zENHt)M4trA*Rm|st-mxl&2HW&QuewAv+;MP47$GgG9EP65*; z?RNTC${hs%E;yfhSthDHx4y?jj;=#7YRcg$_~et|bYK1KXQ4S*u>7Itfzyg}_mwI8 z-lgpM8CojR&l;w2>{=V|V&b*o-tiD23I)IO5gUr-Zp!bJKIa`rA0(gcWR4NloZRx7 z>ty%J+*)-0ICa?t;0 zu?TwS36qP1u8DYeS%yCIG1nX-zq}2Nqen2j&;@M|*VV?xc)iY()6bOhrUwLIgp+!5 zc)0GH>A6l1*hdkqeTnM6X1N{FDsSVaXME^FZzL54rd(4liq%DoobNWc(d62q8wuPK zZZrW@9f^@|dCVpo`}nzY*09Tms?7H{*brl_3VO&Y^9;U)F z)HyURWMdB!Z5WqGp_)$ZE*$q`^~@gH>K$YboE$YM&`C@Kn8}RxRHpk_uqqP?k_I}g z&o)Yt+L5P9E!fln`lniXZ}>{ZwcRZEEtLc!J^mkDh6p7)0B(SEUvbY2cOx)!&LB7< zFk{LO*eHI=6nU}RHUjM~@JhTR)d`(L@H@bYEGFm@`^4e3NYXQpag2TS%oI7-QW8Ys zh~Ol2`AlHIXlPaZ*@UXFrFZrb!Kpr)>N%RMHZ`Yjri%0^-h=-WQ7dp^B|9s0sq2id z4_p_zFr4?1s#4Qs2Y{xAwl)lBj{#{;Kx#aCL0}#*`8-9Xw>Mkfv@69G>)&t=N7w`{ARNrC$z4?=skd^4=`r8*-5G7 z;XZN?fpR`WozQ#lbuGD5y609mx|jeo&E-_`ixb}|3Mv62OBw|pQBCoVZo>=b`xI#v zCuD9@c6RZ_YDO@EL0zyO?Q5uta5D%}l&832?gzUQa0jfW^skQVx-b-;pyzFC|NCMQ zV(*Vw+A&0WH*>!Sqo--?(R^+PlS%KOroAcVc=1GIf^&LwWYhV4%cZo5mfO1Vt^W^^ zj2{_au#^#JhwcgPnbL{XgS77fU@g0PCuL*08B5<`dMxz#9n+c60Wx}fzxNxuS$8(2B*Manu%or^?AbSr(wu&OOtoe-Tb+duW&D6PD ziu2cIv#&(Y+@dzo1C&6^*^eHB@)6>j^npR7Si3W{cHXOE{4R3}ZX8(Mp~M*+ES@fm zzf(X*T$c0hQlZjo|wS91QW=}6KL#VWfe7Js-w_Hno*DX#PRdoiV z3rWqWAA+M_BU^NeXmFTZUYOJt#(X37?fv)H*Dzx2cHq{?arMm_2B@V!_>{Q@J$JWx z4ub81Ihz19r0F?zPq-GZ$R(G~=c!dG)i<$Vvrj)SW?xujtf2d?$;7@hnS?CoL(Vrs z4E~HhPxW7lDdY||O~}tYoJ_`tCll07oQo#Ug(ns5PgqD7ocj=|h-V|GP~{2`Wdz$N zmzQ=`RrcukIQ(zfXCOHTew%2@A4noS?x4p>a>&s{S#t~561b&W(@5XsWMilSXsxZW zGvznFu`Va^jmm~}PB00CRby^EKta6I$9WD<#sK)`eo~vv2_rxNas!R6Bkro9o-kVPC9>nOFVF0@Th@TqQ?0({2 zYx*(I*(CRk$QRocU=gs-mdnsL9d$}4=-`$bz(DTVakLcn1_k6+z!mC76S?$A$K25oe8Wyf$ z-%*<$Tm302{Q=EoK4-F;98hfls2MYxzw5YW=DwpO5!}>Isw%jd-eMj6k{xaljd&zI zQ@+j!fI3%00M_J!0-V67|LJqB6HU4|WZghipCQ7<0kTVX4u8HmIA+t>ug=fy^{TQ5 zX!wdau;=b_tjo0&1GH}tfzAWB6}TY`BXrH9f3m^I7JU81i}k2Lb}iOajuM@b``kLt=ME5vIDS-3&K;4k1E$*5Es!V)|{}fQwDi6A5 z(UW=9^69~QsDp=?N8+)%)qU;g$mVbx@yTjE025qLqFG?}K2i_rRLkhhJ%l;?kLl#v7=wE0H*3&|V-FP@k}-2%Ph|D*U43weFaQtWEx_stO$RJF{63 z|4)#_D-P&5;uZ%K0JGaF%(0|sMeTgL;FxHegQ$g6o7k@>A20w3_2h%+&+XCCk=;8u z=pL3#b?7p9qLjC!KT#zl@Cbl=KYeP=4}Ta2*S3i1BeV!ZP3;enTwK>SK`$sIqol-n z;`l~Gs79g)j<=^s_tY@7sV>E}W=#!P@);fU=*{{Z*=#$wXJVz&B<`WnZwhB=BLS>` z16HQnbkFWPUCw1!Pic)q7d=5n6XxQ$di4#F-opX+CF$5z)DTyNd+;v6Pn+@mKGzqx zERONX#f4p0l|4K@wkiJSTvNgQBhlWv(JP)?sWOu_^Qh+m;8xeyw)pTvoBzgdgod)A z=ngs}JO*e6`{>cS7u4AP_WA96(Jl*WkG=1%)#!p^vS!8 zw*To*?cn?0551od$x&;^64QtK^voU#?jyAK(O8)t;8}Fvjs7pm#h+jnS9A>xaX?Sv zo=A^FUstGh(;k49m5d7~whD$Mk2vfIuQ~NawcMUM(H_cunOc?7M^hyI^9dWxhTfid z`Y_*{M$$4;EnbxbwpC9OiXK3S_qTbU)ea7mk&7bs{Nali_WI$W-Nz_saA#$u+h#gm z$4S*(%x*bb>$;8rpqNK_^H+amvu}PglrTda2R&23R`HrSfMq?yV)0poDq+Z|JX!k{ zwLtFx>Gx6oO&ZBds%2A#B(J>G+dBE?vGG3k`P`{#F_rM%&pZePKsW!oaN;fy zG}PHDa-ZStu?L}IoqZ&IO;+<{gas(B`571Ru8RbLBfns`Ie=CZIL17YLzGdR?@|}! zWvJN1^bY^m*T z9c36Hj5zGeEBaP%KiGC+eZvc(BnBA^H1Ht8 zYxrz2tO^YvkdvypN~tIgxQDY|#XA*)t_ijkrWp4C$n1719yldH*(FY^;Vj1YOs953 zV`@Rk=s{XUAeDNvU@j(nlnPCox*)^j;ye*z0u%0A-Lr2v&wWz=ETj| zPC4FVDyjFuWut) zj2uF>`_ggG>{Y>8I&d^2z$s3P4#&_l-YU!RB&NVA>O?#N+9~AZqFr!c>zixR^bY@2 zYF_6NK{?}-y-K)IbnKu{33%jU87HgdYV~5aF%P}r?-?iac7yzVR}PAJfHSAQc|k+5 zaU0|#aT^?l(j^S`M@SVSoIN;G1i(TsK7g@yeI4$}9H*`{5rb=AP^Z)w>R*ui`+@!i z!_xBB^np~tn>qq%P2E%Th)RdAy{UCRPp`xELu^eYb2^`~i|vUD;kG`xN#dXasC1(V zpYFcCk@}omM*^i1qvsUCOP`A7z$oqr0KmaMMW(q+_SLsq>Wi&Lu=qM3?|9eX1XfVW zf)5;cwF=jPYE_la7STqF0o1(jf;uq9g6FEG*ZEUP$+}0l?hXz@quv!8i+MkGO(XO< z^9>I803);PoD$FPwHUyHMr2?0Knzmpqf73|Jx*_#kny}UI45rNyAA5`ABsx4Xq4n} zl5ijNQLKZSbEGTMv~s$RIhTbdH_Qb}zF)c6dPdO`>y=6tDdE7Dm~>oHZkr9qx^Doh zT6F(DzZ()S@Ld=w$Te^}c`5*qGkh$S1`iBGc!Q9n=7EkOw0*=nAT1FsXee@5P6w6o zxT3!so)t_+NzJ3m2r>ZrWW?$9{my9OJ)!5p3nl?IFT*)wt|{6j)+g-zp>A|@>YKZq z+@8D+`j7z7ImJc&yv8N7@@G8Pq0@WxofwR|$BrxFNoGlH>+059Z+Tn7$RYJsdaCac zt_RJ{P+`j1=zSCbl;`&8#YHf(UO+`q#{53yybfq1bU?$)`+&V$5m6if^O%0`mG_V8 zKFMtpce=SA?q|*if96yNaL*6pdFx}T<)(VwB6HyEBU}V}f9r`nb{Dk|#X6`tH;#7% zFL|EVm>gS1K=#xZ%?fTI7-G)i%^0OI)!p=fa)WE8GLRIe#Duw<8=K0h-bZX23th29 zSq8?nxCRCLQqDO;{~xl768R8DNrEefXXTQfl|v`yTODr)#4P001BWNkla);aKG&1oB+%PpY$p9&ST!(NI|rDyaYgF z*T<9=pbRcudmj+{s8os@xFlRN=qC?RJ|f|wx6`p|${#$qty@o}(TSJ`n$a(b5|U!M z462cFWA`OJ2G2QSCC=)~2;g(7Vc@J^tX5sMttxU4TxG7QJ*7(|Un%9$MHZLNBckfw ziMTQiReKq5#$0pb{hq~bnNp{BCk*-zaoSzv0s1fj&>631;Xt|9y<*eFH33ZY7D8q^ zLXj|xl+B(3sQ#Yj(q;_4BalBLKDe+-qc?$AA`=;*AS8^^SMeN~b#L_EG0R)>uPiq^sOkBcuTq4uMUQAB<&Al!Hq> zco14%2Mga;w`~M_5$Z5;ok5Rb3$?0C+f_`&zvy-GgaiaFUg9BkMMPfy(l4B zAvfCtpz;NV?}KZdayq<=-~{e@eZBSF^_z*LVj52wfvHS(TlK`~IX%NFdangF<`tY1H1luyU%b02y)RN`^nralXOV=bct zx77Q?dK`G`Y3r>;+^Eb(e&M5$%e1TXkBJ79X>CHuN}Gc7j{ zu-(m0q8vIVnu4j4vagGW2WF&;O5K1Ps85Z0)%CogIuy$U4e&ppZs=)A;7*+i@D|$< zowEB!`F3H0EDiFWRkBS zAv*>`#fpH`aa*qUsT0fHZPEh+K%zeEzdJv-|LN)~02PTHy9{4>d^`h5UBeb-%KF}V zXY=4*=LDyGUf1i!_xxYz`N&>6Lm|sPlFqC6JS^lzH z2TnMCo)hOs&f!OlzLYMGp2|=%>T^Mqdtjy> zBpOP_F^1jeGj}V0H@@$qxcE8vv%U!5Nz9&IyLZ)r}?(t}8}|dQ80A^RtRl zgLY-nLxlg)^>yfQ4KU*M|5la#XD?pZkE<$_@(kgqiISAJ_9sQVxTZxruB&P6s;6Uq2cp>Q3PrA53a96 z5{LEz5hzHv|MJBP`#%;7dz;BVDGYdECYgt)#sOf=63Du{W|-20x^^MUT_RngyP}gA zNy$%L8x#5X#yFodXCPq_KPE`wL0Hnw6pjb336AN8?eD(fW}{rUb1S8E%#Dl6ZZqPg z)3Q(dXo7l#4EI;`bxNFGI*-a2(m7@9V2%F>Q=b`N@%#QJ(;feZvorhq7Z+ia%iV;Z zyK%r=AWLiLVx()1y-CHapVjqNR>_L~&6K5QPM?(X7vKRXpHl>v5g7C6ySt)4;oan9q(0ZEZApW9UIr;MvEZ1*$L=6Cumoo&S*&bdyLZpZOJ+Ei3C>gYq;7Tl<6bp~AAOz}>@J_@v3pWf z(W#8@Ygb4&l#!AG=Gc7Fm&}JU@dy!W*BA_hbiNqn*N4b9RQQ72!=D()k|F}nIxmC+ld2a>H20V=g;lGIytewJD=OHR;y6g^bUa;?3J2qed-K|RpdwP zayBDCDkfzBApscKN;z^gX>n&9c-m#hOJx9f+1VrR)42~JW9kU!dWrAWERuVdHA!mN zrdJk)Cw(s}Rp#owYo^uxRomLbwhiJNZl(9wsvG-z9sw2r#_X#9_Uz35gVoCZ-Pz23 z`}EZAo}RA#(ZObMC-C(tUex<0UPbh`z<9zc%8&@_l7E#J^)-SMy5tpOukx9ViJ`_h zmwmLai^^DYzT`MP`0pCu;MEejn&hNv4O3lSS`DzFJDi63BR3O`X*u+@11z$T5cX8J zxj1=bAJLA84cbjc6$vTQQS}qwL33Q}8xm(O9Qdj|uA`;TS@Y2!(@%PrqQ2W>I_SSa zz$*U!;c8_+uPXbC)yn?;)6?K0`}F2!tv(bH_gT=|dX41}g=?zdeNW+wH zCww|34&ctYj>Ps@eYQ_%`Q+6hgD6Gf#4@z5eI~chXpf0a1nTQ+tI(z!$CBe68v-jF zqpm43Hvl`Et!sst?UdOzH%|VZpkQRqX2EK|L}Rb0gk)$fr0c`~h#XP1MIS!nCP`1N z+*+2*rND!Gmt$O%-{3*7b^ndY#C|ZH+8^KC*nj%L2ln55?Q8b6!$bQV{h=wuzR|MFvc+pb2&2F327CldW>lQIZF*g+#ALEym zp;z)Ar2o$OP_?q4<2*+uTvQhqp`y}Q=yv-7cD_>xl-w6$9V4+`+KUu*HTBL7rG3BPH6Hc&G)m9d<%-U(wxAxI|OM!Aov% zy`yc6?XigQy%p|v#i#YqK;<}K5m}t_7TR5dBVrP8qBBP?IlzYY+5js2c&XuA1Nx^b zJws6*GU3tK0A2=`T?~aCQAQOtwCw$@y=ZBnd0>gCRsq3R% zx|e@&Vk4|z8eatv$e3a6IcRlxx#pHOkmWvx@bD3wTa*yxDn|wo(VHI4YM1mSYHleGjFqz>yk|ohW5fD za4L%S%hf6{AKd%(2!J;9S@(TT*Ea^BM*F3qD)0_;^Q}*~6YGNyxLIE5^%0rAllg@( z$31Ho$32lFmz;CLC%L72qVEDz3o>*qZQ@~)z8iCSl<6YA4&c-`H@3v+X#jJmplweI zI%vXCpKGKH9+KtKo?lktU~$X`(AQrF_+w9fH+#i-FB zdml-$9^ASTr9twNL=lN1O7YTq0Z(fz_ z-FJ!deR~oOkr(Zi8!sb@)AMphkCeEP>go~Gwt!qyY61IhzF~Wq(7#CSX0|@HO?y4C zkPhta9{kMc_yMuKTCELFPWtFR?ts~+R|B9AIcv19=cTAsSTb_9AF^Fg5Um4qOLNwP zt$IStTc798FKHy*i{`8QLb?~s5KDUURxC)Gx&-2(MA5P2{i&)WQAw(I4ttK!(pAy7 zA)fl8Me#jKq@`R=!Sck$qQddy#EQwJ8yn-*lRSEPqc4y2xxUXrghO3`o_n!a*d<0w zGlb|%b@kg2Ff*r$y~X*G%N=^7_wjm~(K(K2PO8JldJ)^MH^5j@L@`8&s7iEuMhQ8m zJ1gv)+yE1Qq0aXgZ|cheG;>dX#*0}-s)7%hiV7;-m##j0Xu(s!OoB5}@YcE~xZq@q z*};L$Fg+L#6Q_~ss&`_>`=3S(^$rFrzoUb}nOCeU-iJ=K|*v|2 zbp{1?>7Oa)BnI&_Hg1?D)>Xz(>ia|F0qS*7Ny-EFQ08FaNCtgD|D#gfd?Qd#FALBZ z1QP9Dm+ec>E9lg{af*8{C7N=j^xD{{Yup0OnaSR=U~V#>+u_ks$dYd~e#U_`1y+kd z(?_AvEFAjFrJX)_V6WZ3Z+GwBwK>x8*r`rF=e}db=UcD=*P{{oXG*n^+whuWA#+zS zXnPn#eUy70G~%FgF@`C_>V@+KKY+01yL43)uElhG@v-$ghCEm_bhUP|{M163yYMq| zg}IwRoDxfZ5mS^oJ;^_8(s`#YvBAjQU=YoZj;vTLY>Cl)@FY+vYTX)ny*ds^r2N3) zb8y`}d$u-wF!yshwS&XMFz)3!`XW`8l{*Zw7`RLJ+K0|K^Xv{nE<)tlY!A4|!>#2lo@yM6tv1A@e$L{PNpn836f!MehsO$3}UU8ug-<%zjhb z9U{k*xMt%9P%SxZDJ6bmu~@2?JR&8`rg=bz@uh2H()YmVoU?%kVeWL|jR99?-Eb(+ zMHk?r&am_6@}zUs5is>Ra7yT&m>e7m=U~t*mto}gox?+Wa(=#!#}7~zab#tg0ieHR zp6!OOmwJ5PgKW+h4DpUh&NKQ&7hH=Wzi+&MtuxxB8nw($!gapM+M^qC=JNN@chVKo z>wua)Y19F(DemU3+Ocumv`t)$MHd$Tp7TPE__xv7f<|c#|vmOzdx}T1-LgY@T!RV@$+<~kn zq}Xxr>&fAvU11OxX8s_ev~~1NPldl}s(JH{DmF$Isi$>8GpMc=VK$REs^dm+(cOM_F&|qDA7GS zvP!xr+a~U!PPE~k5h7JGvLB#DP8sqekB;p6#f#(^Y1_dZmOcJYFV<7WuRk_Gg9Kr? zm@qTHrs1qR^&C+^j15FfNDOli>PnrO`FF3J$Q^)mAbqK(u6OM~s^(dZ_3JMloJMX9 zuJSAL%DopBjN&K$Ue+VVT1o|R5jn}T9oBBkrU+AVQRt#8<}>zP zzbMR)MD~3gUsv`$v+==E!Cmjn=l0a~agV9*e9Di2|MS}EpXN#~#IcRL0FCe=@r{7BX_T2_WS|g-=`Z$8!7Z& z#n7UA{n+bRxx3EN)f3$wJfU}{h+GuloF5-sg|H(=TJM@>%)Uoi3LH8o0g5$(?umFi zq|J1XnxTx`GuA)5iUvLG1J^3M0{Z%Mw(VXz->WxrUWU94a+qySq~4-zhnvRSXO!1> z#$g0!F6J7$QgQ+s3-z1q1nxy;Vo* zj1Tj~Wk>a$dn|bgm`ZftxTwLWJ|bCl68X>Q*uRcAmKNnV+4(`G0m`br*b|_c(|3j_ zcmCAa>E4nfY(yL*){X0^w{;sXJ4i9_(%BaJMpu=&M;3k`WiFsG-Gu=!zQ>Yxrb_{T%CX1t zjlDma1YcI1Gx)Lq9ewj$L>Y1&2ki;bg=>4s%E(R^JvgxW!NEGs%^!>UW}kH*UHJMs zmdgO@J4Z+Bk&dn?Z7c~~=wmc@g95tCaw1%yoJ0?_SCd+|=e|krtAMnkd$D)_hl~gR znZB2~45OOS9i;6efAb;5N@`m?_uW;d5nsm;iF;?XD33Wt8&Bw6c5JIt9L!B^+m~8$ z(Q-Bm;ZOK18&2z$l|INdJ&}VVzZ4yp?;akmT~8xjc_Qhb6Y8Iy3+mCC(mMB`w8XJv zw^2?mI&rCp`>tH(5}3=o1B$i6RF9*qpji3!i{hgt`oFr8ol;*xyPAoc$PkOC+yV5+ zC7=$`uJ`2*2|bf2Ru8E|9nyDK`}yb6Q+pnweW;-ibOt?ixwIRUz9LT+E}8BEM`ZXA zpsU3q_&zUjEQU5cK!-?sQgJ$lxqkhVi2J=viHtc9fOjp~9)TLUpvu4O8LZSgL*aE+ zVpDVLJ^*ppkFFAF9A|n(ih}%W831SHn^rvIdRJUC4u*l&hB72gR^Ng zpRCu||F{n&8WRLA3V-Zk5$3WN+{j#&2Jv_77PzvgHK^;}(UE=j;zb8aiDL~R@ZYsa zEbHONwVbd^hy0(Zb&ie5l<^tw!K;8YOqP4Q+%CZEq6Ku`{zni=Ok0af9r{Qd;gsCT z-2XCna}wP%Hw@H+R11ET=%(whL$098ea9Ra4;@EWZPXFPIu;P+4-;mbhtDwCIMnLE zLhkD_Y_@GMxp3!(T0jE}=lF852tAHw0w(V-XAjH5{l9w&ynIj~-oL!M3R&~MW?dm@ zZ!EUnDbC+j3Jos$S5-CGZz%=F)Lx`WNA>-g7>lg70qo`Vhnv~|bzG;=yoBbN$mmsZTvTrm4O=u8-V0FbCv zA=}8bZeYRsq&%Z*nW&Iw8v|3ei>WLF7StppyhZQ#aaBxu3XWT(XXO z&U?#TxpK>J>Vg%HVHhhDk4svRE!{%h9L(+l+RbZ;8-8hn@Q^bnv`Bp>A=X!%E9${3 z4)}lr0iLm=o3XNW>VVn0WaYvQ6}ZDbnVNc0^?)-)sr4TFogxzV!d|@JW$QNaFcIDH z15eF$@6a4@Ev209cPYl39$*ep=B#zKfS$?O>t^E|Mm6nO#5pZe7jjyF=xlLUGmsM3 zkws2=G%YyCu@(!PE|)=c24_8WaOvTxWQHMHj`W>+BeUCJrt{4>iVr{0iU#Yh(&~a1 z^EF*pa-Yq3@0yrg&~jJJ_#$y#uWAgYCABNdLoQcY9Ks?3%ifVlZ+=D4c-nb!m+awG3Bqb5bMZls4K zBsarX%dlN3BaY3>g1*ZCXY@bz^=ijGsrJ0xvv{y(V#H}t1eHm4faYH+X;-t-kpOd2 z6akDX!S+>^O{DKV-#X*%y8f#mF_b$Tm;EF5j;g78m8UL8Get266sJ`jyduXvaP1Sv z&=|LeK)Pb5+^KUvEoiyU-6A&*oO8ae7#0;U`#7dW>0L(YAZK*QbaG84t~BVM52`wq z%xGA7uzC=JYgT;N`_?=Kjur3!F2Pn4l)e?A`l8~2d`JM_VO#9nAIq(;YN_Ul?kZ#4 zQm+DBVPMXdI7_tUF$r|hsiNZ!&*Enr4h4E$s$!heSo9u{9gWTlUM@^eKFhnqQM zgk!;6Q~d9~6Q2U5Ho0+N)obB^sT!GV&xb7|@RV0-G9WRZ6MZ?E5Yxv!Iy~ z<=#bkKB(&e(u$$MU9^4F{YWAS3y*?4>4i6RIo)?IA{llP*KM>>8AZ2hv0JB;wR>i0 zr3lx0j}CT?N2#L+xOGVn0P%e!hH#BjBz;r0L2;

!BxZCVEO*9#Cf`0r7|V394kvD||4#D52mAsl_s-wUA;V$+vZ?|n z)kweeGVf1%QWXe5Iq4hp-__ix2b|h*NnNHM0G9`5%*A}8uhe(JyWwDVEX%sxoGPQrGv;~??3zYwd^7tD-J=+7{77MZ$in^4Al_% zlixV2&|AB!9?>+T0fK&yXxQ)@Wf>OZRp+a>bX^4zNxejq-qaoUE_Jcx03by#*&aAQ-Y$`_3z*7Hj9pKu`yC>P%;Q9{TTYIt9{kVPi&Ro5xU2Yn_&>p_heR`j zlwlv=L*JUV?&p-^^Tw57yi9g|A9<@h&MNEFLaHZ55r0Cr+w~}Lk_*Ol&8>5543YFK zhn!5%*{^v8Oa7H?CbHW!&EyN`=qeXE)=JL+jSldkNy4+bsG!S8{Qlhy2c!%D+eI ze0@wNrDMk5tDMwRl<~xI?@^qyBEl!CXK^l>UF6052dh;GBZ7+_G5p!5RLj_!5tPTw z%xM%mjuyh}PeULQFmHN*spA!qf#Er4>N_cF$q5RIDII&lCave}vW7IdyGZ(7EN)#; zW?OM?BWG>Z!iD<0*Oxbd?Z21!-QN=$QlL!xcP1126n#SZ@D?Mi=2)Vn+(j`-a)@)T zsHz>iwHgJ^C9ONf-=%N*Ng6}s#eAPN?;Y53r%10q)$|%1xhcuAtivpNMv{yn&Ex4bs849GT@F+y7-Qi$*5^$Ve9KcCj`F3bbuXhk z4%hbElS$a8bC!Ical%N$J&Ci?VyQAD%43p5R;L$uDoQ71hF8H^hIJ%1>K!NUqu83C zIBQ;=auKS-c)CZ-y7BIxwg-56uWys~0cJMPj&UqCRPOzQ5;hADC@Uum>Ua%9nkQ&W zGh*bo^hE#)d7G&YCcDUs`P@lJaOV45cX$uJ!KN1vXnZaPn#PVv3^#`Y zD9*WZnO$=j^Z)=L07*naR4=01DYE-eY|Woj%quhI9(A_`#K^_ze-U{%~)#|U-vl9skAv)s8+v3L4SPWhV|@6%f0g56x#MQ$xTNnxc^&yx$K3A_Aa*TS&D#7a7ds?jz~4&%roJC@ z`w+sL&DO`*;c}DydGnI`r{6>ApO;KbX$ZpmOrV*%0jnBG-Y`86dg=!paxiseA~8wd ztf&%PGga<5VQi+>YJ)N-#&f5?y-FlOz`P`ICd{t?d0mI3)1#<$%!<0u6^F?Ouu{}4 zT_SG`Ryq9lsf)>b^i9us`yR-K`m~}!1tkv*AT`O2$*UsW@%iB2;S{r7y1n#xtR2qP z2aG=QhVC`jxl8nxzm_wpUQ@LL*S%$J*CTeu{_Cm=Z4%FWK$^Q_DtqnNd1O3|>YCg{ zlP^||YYs2lHVNF9zLAugEwDl9?_u5APZ~Px!INQ0uJiyDo>ClI z^Xnym9w%lG`D;;f@sKA%_tiLkv1I5C*94>PY=@p1Q)AZ4IYq($iEeo49Np7=%~Q?? zRP&@Jj>~D?Zz9Y5Whe%`3@7NFe}IPxgV&grmpSQJxczC}guWA24D`9(wkUIMnL6Tf zDbfbs^l(gnGkLZ>R=U;nhPLf|pI&)ajd&k0J$c{VE**3i_wb@nRMGWyOb-9-C1c&) zG>riQcZGZDh|?^FNctzh@+o^f>Hc!6Y3DoELzMNr%sp7O%P^`K=2YUaIH+ov=83_x zil%{!KA}NZj@jTY(L;lgA`u$ji2P+YiOr0u&!TP_-h|H#Poe6tV-em*{+PO^ivbZI zCl?P<7IE;qjG>2w4vO=AJsCr)L^uzt5tTbIq@tL+#woo9h~OY4PEPcTgk_$RZ1J^u zowtukbzU9frDn4PIq`klBhMWrG3CE5ueg{)@?G$r#FcEQ2VL?vaWv zbR`XuuH_Fd?xY4>W3#CHbk~;WI-;B6+*KN?T){_#;zdlU5}C8&&2dmQ$<0S_Fmv~Y zpRX0gy7|~4hGmWHYHP4KL^iqQkvYunSDova( zR}%V!zRc&lBJ1bSCRisn|c-1LXX)P4t%9PjSu6t{EfJ{k2cnCF2SEWybg2IEZTzURAb$6k|QRIxd@Ym>)AstYlgAC(fyzx=z2=663x#&%a8_S?~0mdZu!APuwts zp(s`Wu4>iIvo|39S|%4{C)Nr^2KN}&L)wi zFIPs*)UNkgtEBQ*0d=Le({x`nQfFN6^^FB{F?(HSXk3PxD7uYSF1)BZpkTGLhA8Ji zEd7p28gulchc6Z_xNmMkUnPyBiB*Kg8x@pL`1_o_hEk(y%z<#?ejn;8_^RYpzKSvT zRuMZ|;lS5-aPR#8L66kwxT+4SG6s~{!e#NGZG$q6Ct&Fur~3T$D?}Fxr~9b-?vR{9 z+~FXR6rgh}(pHkH`v3>nryEtoVAvfF=6tkHF-Hd?1bvLf5ZA^;iht`GD=^9WGh}GM@6V=c) z(Z@(!(QKVj6n(FC->X??4)J|W3yInZq6TDq)u@BchfV=K21HTw%qcVt#;!c7WU%u(#|pZ8jH`_pF>nr|DHw3 zH=-3AzZHc?-ICG}-IWLIpuyCAO65eAG1F2mO4Hk_V*4B)-@)MTd7%=bh>5KqHw`YtenNDBCs~W)pByvepud;uAy?q zPvH_&8Upl0j%>$Oa<{k`?SffE8|UOCjleB&znr?(ji4TQa0E(B5PoubX=gV#>q#T* zHn)qUgZJe-niKg*0#+nQ9JtTO`zl3y3Yc;|s^7d+wAa|7WaT8Qu<#DY9sazk){SI? ztHAt*SzfEn&vhb#?eKd2XQ%ddS;5+m#`6H8p2Ew^{Q_O%n935#%g3k!w6Bp z8TC;7y*(i-K`s4y!9CNq_Rp)z-ol6x#!X{@r<(Okl+RrL-Z>Kw;)PnVJax(>)FEp4 z`I2SDFy!9hMB)j%%~dpv7W6oraC}S4d+P{>4o3fBC>FV8mz|FLOby`|IQc%#xk4?? z#YF%mTtncX7$rD%(=#{uZcKA6J>d7)Y1;Sz_N|Hi3rvy@&_(;ExB(1RWi_~DRR!^V0~ga|G8&ZeTIIBAV^MYt!N^}^F1<&)-kTW>ryJ+Z%roS zz^TUf($~P%Fq#9#(KitOblv90W}df>lh*Eny+}_j+y*F-}>zf>=Gjx(eJFs!e-yv#!q;h{%m| zx|lM$mSU<2%&7}9bmybLG^75jW8j?dN}NIx!M)@HBPo!M744l(vGq=xl#Qk#7q7AF z$Ym&l0;gcpK=9u$+e5q)P zQ_ktjR2!QEfjZg*0rThR7mDMzt$p(3iGA~(cdT44ty(TE1Bdfgx}UBFchuF@*7bKo zQUQ|r-0uC>Z`tb@)PHtnbyZmda3UlA>dIF5y{guL1((I|RTZ4~jT`>jP9}CVn*}bf z2UcJ-=PMN#Yx#ZD7)>W=_KylNiG`G2iDecPeH@ik2KEO^PDoS2sLsW|8%x) zO!MDB+|_kRnt+JDzPhqcpFXvB-+IgHPd{CA#gtB|kS(nAgc^YV6%QW<&RYNY$5#B{ z2Ugy{ZzXDYz$L|vq2uBOVB)iICoL9hpk7~xzoDyQn(+MMB1DdA4c+2(C?L>EQc1ki zbv9+iW$i-Cp}kKJNG00iaWMjjcLk2sOItQ%(D=fbQH%w7wj=J|k>_9)TS&tKz}o$-va~muDwesYAy$}W z^e7FlA&b{UHu*)DibK;4BJOvW;=2!&o=%*F+PW0DpHx*yj(~_ch+Hz$`P@GH+0X3o z^wdt?f8Q>C`cuoN)1={(X=?Ds3f7jr_S)KUkKYdt0vFCtPAvcW*R8$0j24sAfpMIw z>NX*q3$f;^vgL;#hIQJ|MH3H()_mr;Tnc15M+&6ZuCT6g#~llxn3U~x#56fyO!EIX z_hmhjT-kXyA|uyYySsWJ*`%7wXf&FUN02RB@&enk0YCV~1`PP`=!X~v3_lt0ivhp* z!G>YO4}v9GGb3t-Ta)aC&E9IS$}KX&_-=k*)XAGSBD1QyNgklUW>sb^H%^>;mhXJ0 zT;V=QwA=PpG&fdClAC`+d44;~s<)tMh~V^h+Z5N~wk_teUCm`=6$HtBFiYGaQB;RM zZk;17t2r>fZkG@9*VC!{2D!}$y`E!|9KPnmU;WBWdp+0x-~(5nKPOi0F@y(R@EKUm z?d^*|37_e7T>ixut~@yK%DQAdV*+JFJME)Kt~fcFX9^+;Y1cJ1iW$p{#F`IfXfg)1 zK%s4s1R{h$UPbf*Y_n@2yrw2S(HI^e(B5gaJZPs;ITfkT7GYL3dO2C>xfLfjpjfo`zzGBS77~|wVHGndh}I+0XSq^LXV^K>XaM`+Uxh-(aV?a z$;ThN{(JAa);sU`z-7UL8s#kIYi?~Vru zrLXDCBF!3VxvNC!jAOPsAb7zI{|i#+pn%&MT>g7x+qNqv@!-~%#x^paT&TuD~aLI(rT1}euxp-lY+62T|~h) zA1rB9PJKxV@)73=?MG4%F-GBa1)ZP|Ps_(Ni-= zemQl%Ebu>P?Y4XPo8P$J)|TttyEmr+l!D?qpoG(@x0*@JYA!sj#4BF@<(EF1Pj1|B zC32-&BW~yA(UHp^Kfc)h1An(Pfo04!xvHcz2HM`Of{rh#pxU;>aX<>9MQORoSYwAd z>bz!jrKEOSuYw`A`0gc%cT&$HifJSDE4^{72`A=_?vW7SZ`hyHi9o+L*soj2%(r;@pxDxr?d^Fvv%xp?LWQ1w`l&x2 zl(F(ZxrNOhKAazi16#v}GiRt->K|jh#J-b>>M*cQ;y1eN#J$8&B8JZ&#toefmJL~i z4y!;twaS^8$`G_0R&$rrFJe+&A~3R&i4w&ulmaFw-#2;gehmnLbqGBCC@Dv-435Ob7N2Ln$jUN`wKl)CGik5cB1U^|C0G|jF| zjB++9u$2~JbE5!+VDqbv$_C{9$3#lwT8s}Yp?hilx)J+Z#JvcZ; zN%G!3muze-C*#);SjYUq1MkD45(Gu{J}CTH9FL{VLc?r%$k!2(%X(@%A4On_p{VJv ziTuC?fsiwbxy9jTRYnHx5c1lCfk#gjWSDD`TIDQwBY1m1YPA+Fph?!<3R2^1#x6q2 z+2b3$#imcK7H>vKU-uQe3#tDJ)2VK@5f zD>wVg*T4@F}bU3hOS$3BC@2As8EFTLtLQdAp><330b-$FKmAU4sm>*0d^*@;E)v z3w1hfG?};|kYTi}R(EQZQ`8|p21tQbm!=zW=0>Glb&INCE9PtJyFFgy3$`TRB1ErC zT9u=~l9y)o&pN52RU*_+tKWBz9zJwgx9fIycH9)T_pt7*|F@_mC?u>R6i$eG{2RYR za5Wk^ckP;U0Ep;NgMmx0Uw6gJm;Q4=DWTfb4tk$1dmp;m4TBM#1@J~GYK$Br;qw?q zd{rGMqhfZ0_T`vQ>N^f_PnbIeKeXHRN{Sz3OFScmupD>~>xTKQ5?}4B*n>xaa3{ z<$yA=`?6}|P*4NqgYsI1RN|g>{AwVY4;I`TY=(C)1U*Q35%7mmQ@O>>WvB~vc%WfK^rp+W$b!s@Cvs7Z1nqHNl{83 zjmO@l%F3El1uo+EI~|YY8Llw@3+D`wE#XDU*E|larjo!tqtr?8AkbHW0PV+2Ydtem zEUSVbtAvV(rG%Ln-NbIJAzdgX4u@`V>y{gQ@PV5g9L%j6es8Nrumb(QOLle^lI+^H zy|u)Teg`E5L-GE;&jOUfeB!f6*bfH2VuWP>pwn^FR?G7y9mCHiBZ~6AbuXjVUx={W z7z{mgix?~E4hh~Ev#x1SMG_O4qKSmn`J>|X&qO!QKhY-?qxgw_fg>zD)88tO)!6>$v5s0_Bg*PD&9s!1ufkCB+QQ>D28r z_bVmM%>AncdFC#LY{hmJTa^nfaT2kv+S2h1hWy()?c1e!=@-_hMrJ;x#=nh?V+)IP zk4X2cD5gy-*d%ghB6LNJ9b+-o#%tf?(nRh$&IZ|ff!9R;{4EX;P3d2y<~xl_SR=j- zBG28{y?ZW$6&ns0Q0eK-n{EbxhFUv91U>$Lm0~)UH^<}o_I~^Jyy}FsRlh$+*8>yU z?N%QbUsIbSrpI6f1lJH}w|fFKzO2?N7Uui0=sz)a`!L81Kij1;dhRSdv!bYI8Jm1z zwVKRNxI(MgQw;vf(B-lgyl?I4bsAO*$-42uxTvC5nAAq%B_I~YPQ?v zA|)nIDxc{xkuDn32Dfj!?yXzCk9|RyN`iuVVG5*LR9w?Kis{Vujx8L0L)iXV;smgy z&bkyFp@O#Ko87Me>1CN$7C(Lw)HIw5H(j@qWvp&Yb>u1(9DJoI!WuX$a^F~|XTtCK zyQv{7t3WTfUUUU)Zn|utl^0u~ae{SGv5Q?t?6R~Np%2*?)Tbil##)Bwk<|>-QZp*1 zM%`hi%@(6|Yqg8u?O%Bx*tP)p*xq)7yLabXd#E7fRZ2HDoV$K~4vT}o=`N5+RfN8d zFsMSHmEt&1YWTNMPP4TyiRRsd#--D7J#}FM!G&rQtq<%&HTl>P+i0=XF#|lg$G&}j6P{VIer|#tV*eAJLO`zvM zQsavz2FCcDQ`*93EjR7NC~4Pp!xqetR6(P58CA%b6Sjqk1$$(b*o7%%y>%t{Fe}nq+zYlwyuc_G zW|=!VI&zcA#Bcv?23cC$SmM31n!HYI-OtT{*@ayxxaSdfNKp@Y3#iH+UU&qSC|}~G zlPjaFhg}lQ=23(@4#q@RKSBP{1y-nZaq|0=0225@Jw}dJaq1-8(sg8|E=DH3RGMQQ z1PW>?ul*YyOgt`RY4hA|y!DoAZ*RMtedCTp1Z>XIng92HV^r@gXdN+w*4u+@L;wIF z07*naRII6^5(vQWcRj4mp99C%j|-GL{5N~^{nif)kIc*U>uv}IMSr}z z;J>oD&6&+@nn9^!x?*60E8OBZ>*|F!znd9!`x#SCZMI{hDbNGQ11lMmY-DaM7eQ>R zvuXA6``5| z28nrQP~dl%x|;+$Y(?W^?$x@6P||}ucMnca-P?nK8?X{IW8%F|vecXe@6h%7gz&PCPG=^`{8%%MC&?_ez2Y6I7lzStpKRJ>z(@991OA8xK<+|KqYx7+?-}XWH{s(pU4wZBl^=?13=H1Ukvlp) zb$6~^b9=kH-sKn*CKyvvpXbatsrLi4X13ct-Gc*TDC!ZT?6hVZ4wp+8uEea+LhXQ3 zxk*ZsP|gi)Vqwm)5kYIq!frD#fGaV;)As)ofH$w z!mW0J1dLm=PozUZZOO7p)K8>z3XVe5U2fQe!<^rczPTZwWyKP12$=wj<*J3r2%&qp zwm2E?c)^Smd)$U1c~-ehA^Qw_CF zbX;rs>XxMp6nKi4Ul0;A>D!lXpz& zluinXZ64o&V#GdcTmYfsD>nfO4u2N4cl5!>dX{u=Hj0;G;@H=(&m(?=wD(jm?Y6tS zu~F5rVwbi1y_ zX1^4d_jBOtxV6XLi764$2$Z@eO|z~fChF7in<_R|F~cpSG(N1XyEuT_W=4_?z-s$t zm=v~9wuJ|ezte(Medn^K+QwtbFTvlX)Y!JHrG)}v+wOGcf0trfOHBSHpYX3!PWr}* z&XrL>E3z*R(53MT$~i~F+04DQvElXr_HBSeigZnX?+|Md8>J}V&u@{|mn@ZCxeX3qkDyLPHFxObs(g|jW^=TJe zq%JABGb&~lRJCmI6}6tMTBO`UqkTcJXb4W!>l6B)4cpto=Ws4;^YB%5Er{&lXIhKt z;sK5af`nVJ{hVA7DzH~fxC(~DNp*Ytdq#fxchN=4bW%*hU{lZVfH8^ws#)$&!C+^o zGS`uk!84$8MXTi=ynN|CdGNqJeg52~Amuu*d3d4d@!cQ+SJUEqjEdlA z#>jt@-F+^i#4(1oY2?>LuWu>M~^#e`Yu9|4(<9|^d|1q_tvMqylq|xJbg?KGerHwd zmp?2JGg_B{k}@qH_8#SLh7~JV%)Nf!y#;Fp<+Xv((uK@rN~;O$xzGQmX2SIAl&ofn zS4tTKN-vQETf?l&dUhhS4hs{!wCu4A-m|AgGI>y2ttbM2GhA3DoV~xvhO;X94#mM% z&H$xW0V4`q)wrRMuyPh*qb(T0(fN603BA(c{4ZY2(@r+xmQV@t9S4d;=N2t4NFQ$8 zsDiI0fxn3qmC|3%9(oQkzq`5Vp0TXiHq-ZPY#@UIqX9-ZTp@;Xy{>N8m|WFGsH6&% zS}pG=pPE6OF|pP&He<);En}!C0BVuWzyjW7lx-C>42C4Ko|-#8Bh5AZH4PnT@-gQJ zznJD`Q#KX2SmjG~Xlh$`t}1tWEGW7z;RE9LgMmxlddnk{fa|R4=;oZh---2h+e(ZV z02bN*JEoZWoLq}QIdO;R)wu@i+3&jt=jT39lCLS6bOfI;K-Y+wg**2JF`WYgY<}JH z%F5}CwF5{wBTBliqU4PA>_%=(N*PlyL9~P{$^|SexV|3e3rlwrGC)1;iG!n8;|dSJPgr2eMg`FT$ALXoHi%_ z@S?-_d@&mN;6{VX0J6a|MQ6l-fhT@{%wc05Y+Mx8h{)G1b^3E@k^i^LH_J8nEjI6& zhQDthn6fCP9u@Qv>07cIf78l>?}-Ntg~GzFshCyoIY1c*Zs13v0;4pL6mIE;ldA2v z3T&iQvcT{=q2zDBJ?H+kRu>8h3k&5OkLQXC>#K9tiS;*Qt_TI-a8DjbWkTpP~*8#1ec=1K6zVd_Q}0sDLWiQ{y8@`1YlGiC+urslp?3i){`OmUI-Pp|(;3Bdd_L!9fR!qE zBTmtHUH)hBrj*kK6{WgBDfB%P)!;1BXGSu$Viru8D-otKr;7^F8Q z3l${}=M2l0*7r=9h|j68wtKUkB+CnI@~hWa!psQ%us{9a|2MG3f;Sq=S{~5kuQaI~x(oglxbGH7j9wfdbn9GSAFo<(!bX`)W zmN3Y{f|J962qV_&ucBB9pWlGhzc;R&E~qH&1@tA>_tcv>GL}+Xx>Zgo{D924ZG)hR zHa^8mX=(TqmC016wa1Sm^&*3DZnX3W|r0 zv=Ee&%26qzz{s2+48OMkse-CfvB1T-c$>0CJi*$Afe$KDETz_2OD|R-l|g_Jp_}2j z=I82_x62Y-r_yzoEsN`@H&_Z?Dm8x>qCn{up?7wWs*o;%?}_h64tY+Cdd-Xqi9zZv zCCHQR?6}tL+jG=;tTtVjvWY1u70_?zQWPfJ{Z@uSy5J*#(BCV*W z?1mLZsgma{Sdofa%kUIBKCQe5`)ZUnU;6V%4mzn(&{2eJwn=dO9YP`11Q~Ib-n=Mn z1Ru0zDoPV_P>zUl>6!*M5#Vn`#@E?}nlaj6C#35s5a4Tsvp%l^PTxHQ?FNj1I85US9<6#7nnb-F0NKA6<#Yz10so@Sbdv`U zqpzJ-QG{Iy2Z?qg0A(vu+I1arJg{tU&nM$$WuRO$^@>~S!kA)MACLeK?>DkR&8df| zDXLz$fqDOsPug2$Tt(KPb7)IGJM(EFKk^zc9l#-QGuZcDQNrNGv0J(AIHl!8V1#3w zn?N;O^Vn4hlrv(vxK24|%!yx%qyWD+<#a)ygeEjV{LcwcfTAJ_Kj(kb8f$6Af@D`g zxI8Ke9FV)abIT?Rg|-2($bI|mg(b1=6=6^!#nbkBa^h#Ex88nxKCdX!Rah&gxz3Im zEJL>46rbBgcK@;zH=A)6%IoG{jNliAQ zWlEdf8jw#yOoofhGWuSX)0vVdd`RFlLCST^S>UMC?=ZT*3>kxfv`qq~Y2Uo*$+HT> z%kC{E9vT$%$&+~v9%W8g8wDIvMhieT)fOm6@y$2R?d{F$(j1h`%heH^_MvquZ=|8NPE7r_yg_nSYajwnpjmn0d2!47)7l8WvXl>E3Ea-gvRdAxIjY zow-v$*$DWkNDG`>w4@gYuevsosK=Pg>#&930G3U*xn`?>=5~U?f0_FpdnDa3&93r=apT!}L^pfEau@-tvt`uD7@6I-8sB z@HfA4hYudOox69v|5nt2KJ4)bLPi8Vd-TZ9(DbmkrnU@sp?Dr-0&9mX0%l}77q3P+ zS3&=*)r?_ctB)IUU3?CV8yKqy7boGMSX@KVZoBK)G0xB3FikyNPRKD`N!>ZZ^NkHR z>#k|-j(z{Nrji7iYAbn8HaRHP3Ag8C{`-X7JHvp@xNTBQ_<2$kzM_=!bBB!TniMpl z&so%zzu@?1K>T1NwN(-+l`Mu*Sm)07O74>{vbEKY+7k`SRJ^(Ov3T)QMnU?94!x;)ylb9_? z$TX6(75F-KIku6*kcjiSV_1*F^H{|zI7J21g9l^~NrG#7rGO|glNvH(sV1zuo^Wf% ziLEspYJ@SZs6ZN|>=`pBJcZo1(&-?$zc*U;W;x7j+BkgRc@`z=1Tfl}DQ>)eH65?Swo%0Lg@ zzU|AL4%HyjZ{)XUOispi)>N3nHJaEe4BUY{_Y*_fu%3?9C0sYET!uv@WpxgOUgyTh zsJm6L#?tuzvW|HEkEtVn*y;EbQk}o)nv^p!)=;IylGbp@#(F8>3IC0sA$=2(lS&c$ zq<>i@Qvx}*ImQKwj&kRam{3{JCIu}8?g-9@C>l{IlyfO{0>!MGq0Tw$sKNJd-*y?O z5+6VITiwD8b@TZpQL>(hCIF;8>`o~xZRJ)msW?*Ngw1RqzAB-lA``o$)eQLq649Se zr>=|ah3)|g3M)!RYVAZy`KXN>1_crQb5e3=ES^~Al_7bSV06G@c*NG?ZbJuyzZ0Q; z+M3BjwqTs}SV~BZmm;1~3H^J|3z9YL)IFdz1mD_YRRPz9vDMd+45s2{RM4Xp3L5hW zy>i~VHD~zHAOe;kYZWs*E}Fo$wp{j;pSb*+Z(K1Pt`EC2fs(g?lZhXaB_4SXgR_ch zzE_HFkt7Sa2N2Er$`l3|)L6~X?@SD-nss~d%t0($*!E+Bl{;)K3=v2YJcpaC-u)6S zF9xIQ3`^lpIDxN4+L}WG%{Qob;WNvi`D1D}5am+BWBG>6IZlmP7o}leH(qnmmlYw6 zu&qxR(VsA2+T%!V)#gVlEa(#8n59aeK2nQ?Gh6v8#nhAxZ1cmR%fZ!-MMpn5l*+A9 z$&uheLm{Dvs79fGU958Wy~$^mIv(8zpZ|nAg52bL@A&_ zg*;U^mffjUTwhBid$SP>8#_rQc*RRi$?nuiB zLm4CSlHmK;HsPOwi5F=hP**c|*}Hddemrb{v6PfOj@%k5T*3V9^x(j?&dz+KT$)jY z2@y((d`sSg2Z-SLzz@YWot(III`zW{)}faiv;SvV#pdg`u(i939{H@-^ZcGQE9HL= z{XvWP?{zwU7Cw{_Y{))kM7J*tk_2Wx;yj~)8FG;QH6}=yEqSn}Z}=u8XDO>ohu!hT zIHd21YLTE=ityEdWi4o8YVa*3-BFgbRudMg#$qNSTY!Ifdg}6{Bd?S*q=YbzdTYxK ze*3p8G>~uU1iN)m9?&1& z2)2A}+owiBTV`IoqY}W^tb!kH(lNAB6<$L`zV(B0^CJQzB;jC&+fF3T@(1?{_LQc2KtYmM=UzV?A%uj|tl`lzKYm*11CrA^g1#kl;{Grbf^jky9yW@D-Iq zw3E^t6_a!^eFZ!W;&VGc}ndD2;A zJdE|MB5Oh9%rnbOz!NhjtK!dY|Nk)emk^8&ov5wrN{FW2;y6j;q!bp+3 zcfH>^+uxrnCH=^R!=$1dol;EnVq>b?*48|y35(L{xbf+!d;aK=J3T%1N|_SXUoeOF z7F(5L*SRDHh2+yxRyk?0yyB|lNuL!8y1lvS&PF3oVVDIaLOF5q@38m0i2_{BZ`j`7Vr@6} zFjW5^WtltP-*;Q+p8>k3w_dhZAm9GG?^dNwJP=?XpFe)=2c3c{rpv%;swmuSXRsD8 zQSDlnq6JEbpvVMk^P4eSdZf_~+iQO?aNEP74~{zI&a4x;NO-YECSatz?j7j+Lc&j9K ztnXAxE*6wC_K-snU(W$^d$D(~pmJ=}hdncvtw~DulXozn6^v{6{&?)3+`sRhJbXCk za5C1{=2T+~*(Ol>bRE8Q)1Fb~UlpZ`6SOA!M;O_6^lit2&Y@a{R2REu!|!ERq~(sS>31sdeK0_EC&*tmNy4Oj-FzX{=tVY_Gir@} z_F@(1;EK-e+pc%_uD1p!&z`x5pMB{mH3{`+}7r%+klVVprAIApAju~gH^daa((hi1q@2fNb8gk#11$-`+Yx|t<

q|k>m0MB8IHQsLT;HfM@ovDNnH{e(fxSrIyY~+ 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 WG_+7UO*nr500001e9%sr1I!)7n_TgjNI! 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À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 <$a%;v^vR4(agKu$pise@H6$6 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 z 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%0DfIUirq)-JSO+_X3q@S*J)L~Yw-$WXb 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%0D{+pZ)EpnT8~=yt)p`qfzwf1y++K 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Т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

S%OuN)92}U>&;dc|n9FVe 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%0D{`@C;9oin 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 literal 0 HcmV?d00001 diff --git a/fonts/ChunkFive-Regular.otf b/fonts/ChunkFive-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..7711f20f966b8bc39c2b9615a0ee23beb1f5120d GIT binary patch literal 43460 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 literal 0 HcmV?d00001 diff --git a/fonts/Deadhead_Script.ttf b/fonts/Deadhead_Script.ttf new file mode 100644 index 0000000000000000000000000000000000000000..24670dd07e6168ec595dd09d7b669275cf242f45 GIT binary patch literal 50224 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%0D2j12<`xwXUwY?y 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 Y5grHM2Q>q!_uT7B=0x=&+Ew=d0X9f1g#Z8m literal 0 HcmV?d00001 diff --git a/fonts/GreatVibes-Regular.otf b/fonts/GreatVibes-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..530866ebd409bec302465714d02d7f47ccc42810 GIT binary patch literal 52928 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 literal 0 HcmV?d00001 diff --git a/fonts/Lobster_1.3.otf b/fonts/Lobster_1.3.otf new file mode 100644 index 0000000000000000000000000000000000000000..5e4228169730925b428af826fd5bd9f387ff1dd4 GIT binary patch literal 42564 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 k+R3T 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 !}#gv~NV!5|5YF|kE)J0y^zWbk4>=%|6F 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 literal 0 HcmV?d00001 diff --git a/fonts/OstrichSans-Medium.otf b/fonts/OstrichSans-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..61025343e7e483ab085f880d2420e35b030abeab GIT binary patch literal 15824 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 literal 0 HcmV?d00001 diff --git a/fonts/Oswald-Regular.ttf b/fonts/Oswald-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3f3a1d25b1356b77b898fd2db7fbf32d8f91c233 GIT binary patch literal 81076 zcmeFacVJWH{y+Xa=bWszNi&+JGfkT|Y3ZW7&_QTRDYJAi3I)n8L-w+O3Mz;K0wOp8 znJNxYmRnJAkLy)Y0R>UH>UE+b(4Kr>&vTNtEHC$Sz4!O~!<;5LIp;agct7v;yvI{Q z2_a^DNW@WIUfXB<$GejWp((f;)xE4+xvoYNg5MSR-Mf3g%9`-IPo2Q;HG~v&?q1Ws zx>eI8o`5wQoLj$f+vu8R|j)^xBnmHQx z^T$pdchxO{OnK5%-Ni>ER_d6lMqoz(DGxe^yo%0DT?1=IU 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 literal 0 HcmV?d00001 diff --git a/fonts/Pacifico.ttf b/fonts/Pacifico.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6d47cdc9acee83109bbbf1d444ea9a0c67ade028 GIT binary patch literal 75568 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 literal 0 HcmV?d00001 diff --git a/fonts/Quicksand-Regular.otf b/fonts/Quicksand-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..c0ffc32c27f329ad1cd9d487d16857e753ee072f GIT binary patch literal 28196 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�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 ZcAgz$Pp~K2ZnnEU$(~HkLK9l*e*jr~ZsGs{ literal 0 HcmV?d00001 diff --git a/fonts/SEASRN.ttf b/fonts/SEASRN.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b1d548eb3ef95a4cfb4e5d2711363b89b42e580e GIT binary patch literal 39464 zcmeIb349#Il|Nq9J@WC@$F*=!CH7IJK`M*r`t?jDVdOm_dj{q24}zu#}9 zs_w3;?ymRhy;rYZy{cxMG3G_2W3@e}NgUVv-g#hWi%|H03{zLc^2?ToFvcEh?Ym%g&^xjNi? z7h{gY8%BrM{lxj?PQ0%T<(oDj!Q80t#r1An7j4+G`_f~$!=m=W#}t}9&n)r*{Mf5I~fZ|v+RoqFZC zv3UIQ)H!{>ZWFF$CW$-5J-SUPJXgPC{POXC*Y~UGbd&OXTco_rPB0@|h9EH$OEL>G zU*J2$bGURlKhE?_Cp{@0LHfFC9?B8AyX9dw&G6(v~c z@IIR%PW}log+H?*KFW&l$M{c_qr4BtzaafI!ea>A)qIrV!#JmV?qx-~Fphp!Bz+0t zR#qfu;rMYJ3visS9OVeg|2xXj8}JS-NI~3>^73qyJ%Hn49QzRRP<9;GmmnaWo)0_} z$tL94ar_#>T;<);MjY{c31#Vd(p$(|jj)sz>386GJHnd?izdID>Hs`2-h{mWuJ_Ld z?B@mfI@E;H{-PYI9r)kWG^BIDO8EpEcL1jDiM;f)=w1YIFWr9@cqjv2yf{D23e)%J zOunD+LhUH6L+Ah=P#4_-q^WJhS1RXHJ)Q&nYv~s{5-v0I_)O&*wELm^>6wK0se*1E z(uo#82bqEU$1fMO;2-}u&Yza&-ahz>IY)kEh&KG8yE0L&8TMV1i$|G)pH|K<0i z9@MtHRbULVjQ!ed*E30yWU#eK(&=O-%aYD484N~)QExON1JcB7GMMywy$L0ZxG)ozWBf*Jk(9dcnIA#2dCM*4zg`l;lXt;2`h2XS04QNl9;Iznk;8WJgdYf!AnvG@y z03*B_Y;<8TSS+&6Y_OVbMw^jv>aQmr)oY;D zU_tM$Q`(Qf6maU80w;lEHruEQ1_7tpMn7hyWUJb`7tXip0ffzM0I32_1G5S^LA!dp zOk`j&5?}?dkRuk%C)9Ecno7G`*n2Z*y)nl`R+E5YQh4Tq2ZUdZpBj*Ng)OjcYFVq{1 z4)vPQYI9r|PC=zsht-H5=v`;FI_Sq7lwqfu(C>ozcH(k}Pl1ygfmXl?K9UVioyBZ5 zqw-c+hgun(HnYuSGTLl9gVkuaIn7S9(PFdt><%GSjJl7`=k^RZy=gd2PJ$EH4%uw7 zgP!%=1maeH^j;k|)3r%Zsm+Nhm`ntx#pa|RcT$GKWc@q&4uaF^H=#WtB#hjyGa3zm zQ)h7LKo1sF-ln7XnOt^@9m36S*BNXkhuvj%nN3!^-S2SPsa7WaN9S_~Nm>&S#!WgO z-2v`|m~^SvPLPkoJsD0&Ex>INa0)85yX|Q>?JoLp7iBn2w!f3_ByMm8ObjS8K=wNX zoO*-K=+=QAtadX1qxYHJc8kMoHaQ#wr_=7XxGiRz!x3=0g!CjhKPq3qX%KLlbpZuV zbX;b)k(>3n23pMy(6d2lKPmti({Q31^z+~qW;3;?)$XPrcN6ux%qpB0%y$u-?kuwg zr!x(wM{fh14hsMiaC#iLfP8i8jdruk;jwtEX1mjw<#G!+&H9hd=T5Yz!A$+ASsx@Q zfLMr055b9RH^|2c`ZaJ1m{|EKa9Zga)u5kOz)5|J&EcUR_Yn2E&Gx^O?vuhk2o>vCqhJ))N|8$LRpyV7u4^jQRl zfYahNadGX@SuHNmb0(Zbum)}ua1uC9r_V`JRlw==(vN$IdOa4$-^urw3>dQJSkRsj zhGy=-!UXJN5KFi_c|qS<#Q6gwx`2`D{L$#o==0xV@s6uoyl%pSwYZ zMhms4MV~`(f;-XK`_yZo)#~;W`&vQV%1?!puB`-)%jI`zaN1oy`f(p6do4~nd_=yN z;PmBL7;r>zdZ6$qaQY1pHg*?YAmFt6-FCOlYH@oECYROg_S^h6tJCey^Y|b=fCs}z z=W~w=rfKzazJK(0?gZfa1+fP64rwkv}gnk#y z_n85wKi{grY2jYLX`=Qt2Mi8}+u^pM0ST|xfXD8!p}+JJoIX#$9)fyM+DTTs0YfK7bhTNAfISSddhPP$g%%<@t{ zN$u(M2IX}`2h>y3`T5dPY8W0_d$U*aj5T>EQ8DGaT1&cdY>)J>-0IG z7x)ckk1gQMa%4GdZl5pW4~pKo-J zgVRaZb^^!i&Gu<=B0)W#DIIWW15TOK&Ps~<(Hm;4h&I0)a zAfEsygq89m{F=CnuI&Vl&zIw)UX*k{moJ-sJe#;Q%kKF*`B_#mdK5zgQd9F3TM_>> zQeZWb?_)ZC71HOys-$NQc97l0#(5oI%!m1<{NvK|(s!hPlpm0vl%I~cBECpYBorx( zltgMHEs@U1mkJ6Cr9wlYv(QtRQy40&D4bomrf{_QyMG=3KpG#%b0c`(-FV(2zD7Ln zIXv(6^z*!ttVmuYBA(Yg>3QzL?DX^2iRbb0@$p|WHvWt8`|w;gZb`k$*x0ujJNM^v zZ=8GME%w%WN@wh?S#Px=zVzp(e?IW$$v5wL^F~U2bN8D&-n{6|nm22I`Um4H`mYN- z^idA1D09`LV#N^`BE651ZIh|7I7QSg>@(VxcKj0C#;#;r*cEIO`vrT0{fzyRy~Xyk zpR?U;4;y8B**};poV-FVqvsW0jx<;SS*TRLyoahR>sO%1*>FLteVxZ zT2{yES)4VnM%Kg*AHRctl8h^=A60RBGq1@-{@BKsh z*z@c=>;?8+_C59@`#yV#{eb^QrT9bhNf5n%d$b{4s}!X|qgyPn;S{5#ku*{9g2*-Z#{vTw7Wvb)(e>=;^PJ?e2k zJIX%8Hn1>>6b zdzgKheTAK3kFm$u%j{8<{~G%T)Oiyq;}(@lJ_#Cm3pDfpIPrg$6Iqh8%Dr8YFU!SU z(cukQ(G6=ltCC@d!)~`hbFpA_0c91o4w!s&FyToYOv{fx!N;%b+R*tQ|7YWWlh=U< zdqHKF^5y(jyp_AztNa*Gaxee+z$(ZlG9l6L@Z`Yf;f-gNAXh_vBj~3id>ob*%&i!U z5WcJg({{#4J2M|d_zkR9$g|!HYljb(fFwrAyD@_NBt};$j69x(wu<}xzk-(Y2sD7F zCI_11$wO80At^(6e)t`T_O}@;EMY7<4TgV|Fa9oLCCD%NBV(nPGFDd4So!6QRUBcg z@>#~Je#ThMx}izWvn0P^V>24>OCJ}0orfjy8l4HyBB7JMQa$Nu=sL>zfKNI zPcpXj6vA@|z|GP>W4h3RfVN-JfB;xltVO`RD~==FhX7ozcopGyjIERy8`yww6~ZSF zKtBWDMgSfL@Gc6gLI_O=^AOe}97Mo-SKq_f8oYPSn+SOCFy1?i_YO}-ScZVI!zep^ z0^v&t-$ZyF0W`SQfDl4J9oKdu3?b}BxC!B2geMVDM-kq}@f>3#K7>jHlpjI)kAB6SlkFB5 zbKNexY>_$a`A&ybwlL1sN(NCAstfcrQB50;LDVydG+CUBQ-UJc#;WmC>&uxZv%Vgx zZz9?lcgN+ZJMP7q5#i-i$3tuT`qqXhKI)XtjEzd4JNLP*Tekw6MbhW_OnHaEW>+#O zunCK?1Zygc=mxzc!|Gpq!-;yAi-6v%TZcvP`0%1qPpaz!5KBZLzi zig9SWzS{Au+?2;8yWo#ac4)-a>fi##o{x))@B(WS`L=ZER|6P_B$6F@L}> z(hSkY`b1+%tfaA_DM3YzjRt`I*ml0Cur^d3Xb-jHKQYaf-`3U_4Tf{O^hND;eXZ9= zrRUe@_QrgJgWgp9qS;qmG5ez7zJmw*czfJydatK%S<@%BntGi-={Lk18kW0uY%slj zEVrT%nrPAZpX9~zMQC3uw9gvojh(zRxs!KwCA)1iTAJ(117?$6m#nP`c^#Om(D{A- zfX=H!Z)>ZqQ%`Ej%X~7@{r-S@T31_JXLm?SxuQsOBsWr7B}?4rZm+6zW424m%3^*W z+KEMx%yTt=_nQ@*8l#eO4-l zW0a1f$(~i3jm}MIKKeWVT%;mzqP$5oGqo^&>DErScP{J7Z0|17-ry{6RBmYH20xF+ zni}IiCys__p=e!-;{HN3Z;&f_Fys1tfp~pPlt=`T72sz>p|6I=9bpIm=kSi)a2_9; zF?8h6nGFLat7a9}+jxbow|Fr1x4soeM|P}r_N?o%HVjBFA07KG-|d!sV?B5G%%0PI z_sVr=4z0Z_+SoAbqW=2A9CvDAv}|Fg#18}yE*Lr5HQKYP-c_||)+pp6_?^8X_`Nv^ zd#f&q`9cr}nn+T)99RdSC!>9m~3K+7j7BAiw(B6jEiFS7??V68+Xcw)0R2EcPM&-W%i)2(>wVgnDo=S8d$0XJggi$U4WGHM5@Ew*C2; z7hN>-`R&`D8);whr^AQ;yu7{dwS9Ykq``NK+yN<{%N8d6JTEVq&$8WF9<%JgtR(>S zXwU$6pjD#+iysG-pwxV7QTQ`R}M8`WL6ZlG$zZhlGXPcQbaKJh7TdvWoy<98kY^D@+S@7^Evwl6~$O|3ke z_sJVj<3-6l?rc{$!2b| zCGE^;k}xA})|o9t9GHMMVj38;eVFJ5!C)E;sW1oWa1**t%odqc3{ww8eI@maLOzJT zUE}cUt4-i~lgjaetC=RWP0W@FicKM!804^%Q_R^aM}KH-PrSO%y42Zy*}%+c<;_%o z-oV=>lj!HSBy+gMlC+`^H-a>^d0f*UgyKNz0#VlZbNniJcgU<4Z&l@ogiagU0%Qmk!IjonTx*cO zBT-=YfN zHy3^@4m-yzGS5<>ZJW_HgF2Z4pc)6Y%P3c_>InbDrDmMqK%G7gMarQH2f?!{17uCr z)%)NzB6zkTR-$q(ix#rR1{SYp#)gt8$$g0WCL!~KfuPbU#Ovh`W+u0Wwj^iHoUw%t zYf~SbKAlQ&>GWx?@Bi^9ZvXL*Z~w%PQ>XWS{_`q=L6U0vIEe+nP?W&@vi9gjcj=`SD_9f4@`jTpwbB% zL3>S*2PlMaBFHtZ7pHrHsmQ|%9h20|cSGT>-d_2lb9XC2v>ZtEFy3#6m8%MttJjiq zczt~`&Pu(GvPd|T@3ZJ4;YfjwbUiwe^YcS_dHFifFH*8|a#(F07*{8U1EH{`raB^r zS%noME21?qDH3Q~QuJ`3ZiDnb()VzwXw8D{YSbK6CX=Fo0;CS6RXie6hblGbC{$ck zaBI>d!s;{mvtIBg_4tt7kk#=JH&*j#p)uAJuMfZg@8kvk0`&Yu3`!!Y@6heB8H z7?>BDxAHyRy3U3Q+pMyl(c^>f@tRbKZ|^=fGN-j-@z9~O?cuOg_^F-OUAN~GtM5-V z-M_B$qI_>;eUI^)p}+L;%VrOc9F5IrJUcds;U4wC?@8OBSvz4nd^DNlu~@Q{1&X4D z1(C4dZnNlYc3mV=5DrJ8h0!8eIknj(SX8Vo7Pfi|tkFW7Z1uvohWj-X*Fa_fR}sP$ zj#&!oh+i^$IntgddTb4obX1h*iGD?8DL;#4qB5qS5*(#=dvPO>>4PE_OArqMg%up5 zngS$C+ZLb~U$A-TtKmn7Hjg}UXwAHe*4b;19$h>C*+1}`Uf6V)R}bFV)O6?I#>eV^ z{`30BHXb??pAkDcGIG;<{bSi*f{BKBLwX;$BFX87H8u-omG32&^Zfi|NS7Bh8uD_p zv)~l~w#|~W0uFd1*d4)u!=`gNEwb6?m1Mt%#zsb6ZVrU3#pU-C5co?S(y5Wiv^qA0q+CW&95S7^QHFBJ8bMtmfoMR`TL4T4OSPE8}r%n_iSos@T%){Olwb^6S4etT-;t@Dqm^tBZ@^TH;5f3locR3s}|PPVQj>MJdZ!Z+A$cRHeW zm(3cC*^7%XBnuKHWuHe$#H>U~c{q}gA)Sw|3+X7hm4?2eTepZ4Rh2?flHtVQVH|OX z7^0D?uF_OCtH{Jd#blbQ;pj*G(JAQ4UEq)UL04NBbcMPWd~!ekQRo$Z`6t(&Ikcv~ zyuEwmrlV_1dHEZA?o{aNu7N9GENZ&p&PdUVSEeb8C;K0Cd{y*U?@42V3n8q~U!4Uf zit%kjys9#{p)xl|WyS35oUE+uoa~%jSvgf%G2mjg-u#?wjT2QR8CDF?4uDsMR~c|X z!kWfVIH;11*c4ZUwlm znf#ZpKXm5Iq0Iw){zlbt&Ne%!T@J3 zozXDdV2wvQ$LYco%@^!u6{8hSE$4f8cATrrWZ3Yr;`ni zM^TCx3)d>G2-C+IR;eV`D~IVg;0ep=Aao#gD6Eo69vjGHv4P1fh5>K`R3X?oRN*}_ z3PyiOsd9#16kyb_RKYh&TLs(zIx`Y)nzL; z|GF+(Sl>`kSoi6pBg02;92q(KPr~h`dvvthIdfn@>jo}*psBKGRcGg_vRKpoYlyhk z+*MRLy<_$2j<)KeyLff9t}a?!U6(qc5*vRPzCvS;(8vIedBHmeWaD;h9oqEl!i=|^0RrXjAz z6&W@tmD+|{uvy9dk1#orZd!W*i>nQn!`d<%u1#q;qa5{8n`sKH5vq)8yf~k~)5&o$ zu9nU%`&0N&%c?8;Lj9H1Yr9kbGW>LIgm5c3eB?&a942$uy3x6M{j3!$rShYjQ!n!P z=A(m)=QlOYUp%s7dFtNZ>*xmJ@|)0nM`!c(-E-FJ)^&i*3FpvYU*pfDt*gh9^}@Pp zk+|Cow^Wl+cG`eW_;t$`qfXdXxh!EYChI*XtScSz2jpOUd1w0T) z24Ns`I~^XI#|?7v`bZh0Q`zftyFD(K8@+oESeV7+9Mg zMypt;pBPQ+fr}J>54>c?n643hWIKBc*qA;&Im1$0T%==lxq4Pwro(if9ixJ>($ca( zP@=2$mLj>WwZ!Ar7l)dgT=KMpPxe}j?QP9+lh^IajpyaIwj|^x#_P`GuWA5HXz@^M zgR@BZiSCpJJH%qyRDe`3(nmy2g_c6RsUVBg*@@mk=_Q0lHmNVIW79LyHC>=9Jp`a( zfgzt0?KI4w!2u+uQA<-&(q(0pu6WQ>n(y-#XXTdsY|eq`!?zS(F=tI^%}CP~4Sll@ z6wRB~S~{(L^|Jlf3Br>ej0U^~C9NA5-Vm$V99&vge8YlE4lZ4KaAE5W&Ao}l#S3mI zt(!KlBHndiEPwm2_^a9zA-TdZQbb9sD~%ej1b z4dVmnbyt@IqiBRh%At=CofdM3l&c;bsG&$j#^GAJq;~qal6|pqATCDYeC04lIUK|R zw`{^8V|bU*TH0tt?c0<~mDUH?iOj}3p$bZfzgT^OOmxaX50*wl4KInoS{Dq2c_0CE z0E$o`4GHQ|5GH#VSS@0qW8rr30Ff*##_1=M z1eV`#nYq_wGT63Gt3R?YxbH}6+@uTWb8x#m8=4|=VSk+)%Yumd1mKoDq=9PqP zp@Qn^6>S}Br#H@WXUpdNrcu}pUVr`eq5ksWou^Y{!l0nLIXGlWgcuipt80s`_WbpEeM1J54%Ugx`Jn!XeI`%X;_R@J?6PJ3o=7oMSi6a>#kjjdeFW z=U&v-Q`A*m-`iJTZLP_VG}kOItzUDq*HHuO#_PA={(5<`Q8QtT-FHMM^A~$B&dN7f z?fHeBi#IGtJ?}5f%gfEltEkA!?t&{NR&v14+2X}CJLq*>E|PD+_{{>(8XCdI+vTF*LAy{Fxt4BE|YA+iUe9&pvPJc85$#26IgUqRCc+Q z3#(0n$AJUuTIg211PeVdwj)CyeAc*mLcnB>V#HiTh6Z`QCaGzZ$`NssVBofTM$Xjjx6N;$4ns;-}LpT-yRKJ#O2lJ zKDT0pe8agTKHqW4JocAgeik~iz@)SSE4cjNe9}eR*%vW~NwS!=wbo24@Y#)WLp&zu z=7a;x)7ILU9kZ9k>+*6jzT-LB80KawGo(pFhL#fRfdxy{qtIu>*iO}CRI?imc)`A; z=HMW7AocEGn}Q5NMOuaVuvjhj!3GBrI-$fs%_RGIw7^X^7+l22bRffq5CrEEfBJE5 z<%LFXKw1I4a%N>y!$5eTp{Z)-$Y3({-Q_1<=~%Yr^LyYJxaaf!;{1z0X43yIQu|ac z&zFLq9-29GXs~0&=(ge2&CRQaw~Y*R3?_%<)vuh`xvKJmJzp66?tTA~U!@=5J+)G6 z>Iy6WET+E|D`pL>m^$=%Vc5d%O4bTnm_F>sbQ_OFd=?}6b1c-NfeS_}@ZZ%}IZJJ| z@Fe9n#+@p;kwr5Ibm2heE?|v@e7K6?AOvKNl1#{)va2GzP9`wtRAwzB<{rE-S|v!X zDOSy(5duw>URdKL#1-%rk4d4x(v20A3F{Er0(=J+sg*F6Sr?2x_95_ z_a}Q@3ukxC|MGr=tQ$1xSB;f9E;s2fox^pH!;(2C*+zEEHfg@`p-ah*SsuG#0W6t> zy>Y2j9)=|`3)m}R+hGG1)~({A{Je-ohpy4Vii>=hE#Sg><<>flCqKq|dvTWH%gS8oY#zIyGZ zt#_A}-o15G-^o3DPM-AWeR?l{_}YK%==j%bulaRn=dZ81=it>gSzasKu0DA0W#7#i zo1OD*K0no~bL#jzHU(<_S8%2Qy>brx1Am(A<>7ELlADw5fp%*#lD=y;WoLnK{J{V? zF+ay^VERz5WU+IdoaOU|@&j_N$7s_#T+X~)lZ*)l=*?I!q0Xd$T~&^?6DB}LLVn>$ zHdMN%=_`e&iRv;mODIh$0+CI6lTW>aI&9?*Ma3q16Bt(UYhvNd4mK=0*r@C-XpGAR zFvW=AFG#>B(}*-ut@#^gw{UZ4M(QvhNWI6MsdstBjMQJlNXv(b^vTpKeCDxp_sFYz zQ;FV3x0O%-Mr!*l=o>J8;BN>Fx`(7azs&J@-uL$=+f=QX8SX3U_#a)NFVxYN@TJRy-v9F5+hn8Ri_OsjRd z0U&t;&W(w*T1la0uIQ)C%wzq&}Cd&tA-qJOo=pPEIlx#;a_fj(OY`*=uq+ZL-5I!zDf|2p<=? z#<;DPV1QH*@^tb-2EaYXhzXnt1GCD^X}<}w)~jP%qD5d`HyI((MAp zDt_%OCzBL&1Sw*|rvL#%7|@`be51g*82%Q>D?;J19|cRKXy4dB_w`A+eb=O}gVpCQ zC?DWXOm6(*+&#bhoxFPNr&7sS(~0~4$7iW%)?}P-MqAK4z(_J*@!o>F7Cg0_SgZrT zEu2AEVCl?+5D+FC5^ppj5hHA(W#Va}wrB=I>lCh89NH#S7Pkx?r4bVw?l|8ZGAs=Z zbnaOcpWO%CY&g)nV4w7fu?>rM_s*%8;HszefN!Igg`W&VJ)-A#G z3BHBnlunteaKLDQrN4fQQ+B%iev8lNw_2<=*@hKxG?$^nx=ab{k)&WS3qGb~hR(R8 z2VprkR%YwGE~o5qXXTi(F(CrEDPzvt@AaS`(G%^tCy*j0<$;EDM?pP;GIOC!tdX{> zn5TrnA@f{Jyk+Xd$`q0|+cCL^c2D6zVV0t1ULYI21!RGR@0B+$V?x;vmp$q2)Ct}Y zN_~%SO4WqJoS#YE%HzZ1Y_yNhYh^1M6lsHPqT)bg)_bIITDO8B{uUj=*=mGUyC8^O@{ghLPgA$|^3YH?jB3|QFA>w7 z`+eUnik|wzU|l03NXs~fp%X)Pw|ocuQ+iToQ)hcH z)pay=wIlV5X8zkx@0Xv@?ZeQZN`I{au;}`DN(^rq;ZLHpun8w zJxnT=HsPwM^qDGokX2@qN2TcH;e!SZT$zp+gB~$<2GNL#KV?WQ#yuEEcfIzR@Mm7T z1jFb{*1mGWtm|EI;+5Vn?6Gp&o-f>0r1$H2fdA$0cYO;N`rf^J`%}%$Pi;T(GXFRY zo5hfs$5J;)Mu`T?)Ym;LpA#NGg;?v<#r4Ty-rb$-L9d$C+E7ys&tGz4k!WsSOt{qf zYinu)GA_}Xr7vn~YOAYj^acsm9rR;j22he`=6hIYTTV_S7~wgZ%TT_GOyM$A18kDr z0td27;6RgWgg~-lWYDBAS1409$V?z}LSvn5S4XFpHuGrb8M8FRsETA$MOr@V&TNlv zr9F&6Sb8!n9poh#G?Gc zeXk3X;L^EG$wWs#oRID#CnQzb<)?mnd$r3|efv*8wtGhxxgl*jJAF-TO|7Eyrd^SW zR+O%6xP$MStoV|x>4#D`C?5MJ!6T>%wx&NOFVbvHRk7ln>_l-^5FYc?U{F7DFfmU4 z7nmi_&OrkjVSIy9g57NNSO8>-*N5eTNVSiZx3yNv6%C=hdZ$5OQBHnBg#|9!u0`_{ zQpdSyOhv$;CyG<6D)T;NY6FuljHXO0bR=~$XGyeHoqRk`NkLPp%@~<#9zZl2+L0J5 zJ@2M9WQ_Fb`T#GC8lqsn1g1zUAezZu1p@;Zt$SYA#`U4mja~Db8imnnWUzlza$9@5 zS>LwH#J^_}<7VmeqLn%Eu5DxOFrr|Ank65O!@@WVGXG>QqD+=^U?CB0V;g-k|P z4Qp;1_ibP+8Z;BX;2gg*gH!@B0w(^dR|*jGX`GbCE%j+>v?emSBO$n>&*j0`61VIq0l4q3vW zLpCs<7uFnXI&hwlCoMqO9|(uyM5qHoRS^2(Bn?Zrw+YjXC`BSBtupyDF^H|cuyg?$ zB#c^7H_c-fM{$Ayo%Cclyy(vGj~;o1ANgzVze{b>OUIATAG=z5DID%P_j}pftI&wt z0$45Zp(=rYW~pMEi{|TLgwM^hnl0eQki!uz%*(~V!D!|V^3&8t4j>N!N`_TaQ58jJ z5Bd<=GC@X`P0`1B=_CUl_mn0(^3Md9LCYaOvJ#xQg+C?@xs+?!7m!;T;>*IzFAj~o zaO~z6`aZjT>s`I6$DNBWUDCLPuiUtLpn2L8mq_}t501U?!ZA8-yYtR%IM(l7Ojq-; zkcmbG-<0b_Ya5|me-;{{;%$w6wa6t!(WZqXB zXrDm=Z8aIw3Yy-h9naVQ(hdFLK?BA|7#PWM43y$#F4v`=3iFQCF6Y_B{2x+ZN{Pmj%%zAokpUeNc;4+z~?8AJRcxmz7WcwG)`ToUkkFpvPu*s{qg zTd`@73*$}9xVUAv3bh?WP}zZfgzOlgVuLk{4EIBq8zof~1hO&Po1Gnica+m=&I*#N zDvTe(Z5<{#?0JyM7FabU9E_DA=0{JrXrqd>R7sB~RD9W{7)wmxOOBg$K%5v$^rxN) z@%GeS*F#JAgFxGRsedEXVLA+wS~~ZRh{V*^RGj}iX+0pMU7#UlgrChTlXt3^_1KIwEOR*>ASZb4!X^jn9GnDzGPs#w zw;QK|PT-Lyx?r`#fFG0wM-&X*9GNAtum=M+w+j{~i&eP|xVKtez&BjBv*0rhn;-Us zp?(DJ`DS{W4>y=i0G($A9Ux9I|K-SR1VNd!(uM~3gk_p22W=|jIXc4_Zt81=awq3a z_8BEcN6^H-V~RE^h;oegW5yUbo5ufgJeSAO|6@vQS2*?5x$xLg*TE(HlS8TBrG7Wa zXN?W~;QK=<_tW8L_%HeX)OD`~zjp2({#guZ=Jm%pUlvQjRO#|(QXQlG%0Gbf@0Kr0 z{n*c^10^H;gH#`XRA}YnabBw~vw=go&>*&& zpo^2Gz~pdxn9B)AS?0wY2!MBGk`uH9ZT>+Fd~vOqN~jkQ_5#u6iEd5P6g1w}s4tBd zBAs;4=bB<5Oa!Ah7Bo^1C<~A6f=0PI6$$a5r#@*J|7#~E7?-TifQGT z&o@?c3rsA(@1g-b>O*~YqjX9+5!vZsoFEATC0U6X>smJoZcz#`yNyWLDMvQ zF8rXCYcU6GV8x`KA^&}uW-ATo&(-o`{>^|n1NB;+nJQJTQBh@{r7V3v%`zC^DJ;r^ zk;vX{z$jO}7Aq4B*x5pR9@$_G7!|135?MP9*!4ooC##zQYZsMk#g=8jju^_dVv{jo zW>w24n}h+oWr%Bdd(%kUfbpb~uZ%DaSb?fsE8`Laypfdaarh@u`KI*!q|F&HKd$Br zjmLnMl*+Zz{~Iu)qFgKeqyf8gh-+208?aZ0c0b7!19tAvu8Fq{7!fJ9y7%N^`C@RL z1M_}SHkU_|8+dPTvX9N}>YSNuZLX^=FN;RPb}LpLb#-=3pH^R2QC?IK&h~lW{HDz# zM+&5HG#Z{&TUni)kt@4h`61_w>2bNp!&{AqROAl6*d9LLRkrg)-}{nxDTF2?gGt?$N*@G3=*;XhK>q*-Cx+Kcgk=rM)p zH>0P(ut!W^L&JqrU)rH&VipTymdVynnrRV~mmUg;PCyfR_9^v%%Nk1W75AZu6T@7qT(#ws;q=`w`XBAdlEb8Dog&9yEA-K~E4X_DnCIK3i@ly;q ziSs+kZ#iCmXF@)(Z{PDOZ}azbNk~%261?XZV0pALdxZT)dH~uU^%e$0(unE#vR&3x)J^z;l4S%a`(SauZ*+ zEVA=ys;f$4xjBAQQ)9hcSAdydEEKoM@GWpVjBqIM zI3-Ixrp9f#CL_&FIukkGP@NwBi$y#n4E`>?lhssLlw(U4&I>ZTa%EPSM)o8iYSkl2 z0bDlGC8bkOt_ldU!HBj7@^FtbU92paAyGoc0wH^J$}MNubeyCe5b%&QtOqF*a$~|8 zu8NNWwk#8m%aqm=4hXaoL~}ZTMj)n;8yy%eDi*dt5bO4_Ko|3#s+R)K@L|`iZ4)c~ z^m^g9kkULAhEj(^g`xV&>CbFa*6(e5W_np;s31Jy){weh@yWaW_0;Ko_pbEWr!96} z_LWlyjH;Kz*pTAgaJ)7*5UJk0YJ*~W+qi0TWuY&xRyaWL5#eC>;~$F^fd^K4&Bgk! zT!yJ<(A|I4%J06Bt7uCHLCgPD&&*s+{=acY3RHcDT75-2{%?F2K+4$tg82S7{G>F9 zRnUz|yRr(}z|69?2piKr6a0={kTdC2tX0NFfXWI9vJ#%$+~2=>OJDzHeox=#%{Xo* zS#Inl>gjPWwkF>IcLiC$O2TkSp6O>aIl))YL(%=!-eX%@H$5x=7X24GE_g{C;n3N|c<^@ivh+Stl$cSzPTTng#s!BF z``*BHO0TCuuHA$Y9xX+etTal5Ws@AQOxn6*>Rn0pD+XagH%Wd{0nS?psYv{ZVJ>VS znGktMj%y1sykx$lDd70aqTgQ|I(`b>zw|M5`{zC#m$fFE4QV!2N=-6s;P$}(CU$mU6=aN!k8;HG;u@|Y3`pou-v;ZYx&IT?!ntY~3Hc>&B%x{${m!A!jmPTo#3pqIwrr&m;5SYAaX&3B#=o|0&6q>#5*o-PFH1P!~Vnt3I)6)gZ0JhqSV7Bu3T z&S)bUH&(Fvg||lqr*RFxEgbIfVcER@=G2$x&)>bMe)f$waveNCF1zQNu=L{bTcmIx z^#X4U6pS_eu$N!9Xm9`Qc-vt_p8J1eO|^eh4wK^l8^)S6*PhZ<3Vt)vz5#qq z@_sRUV+uJP`jX-(_71=jjO-xn&t8|6EPSE-5PZqJ9&cC|jzBVU3qCk9ktl~F#l z(V~KaLi7ZXnvsYnKQBKdhr%%EV}f42z(xxo*kg*jNBF z1y<>k6&qsC9mq>p~b=?xWoj(>@l^T3}+2g4-{Hn6l1Kgi_gY31- zPs3V$XAa*luS)%%dxhb4?7`GuxS!8V{W#%h>okL8O0QLvkM4??3zT=4y5hD$q=8-F_4`? z+ZRcYf0{0}7Mp6%qhhifV19(G2Yj*6sef_Rj0rSC_g-> zttYySmcaTgb`T+8v7J`_`q{Q%5Fb36wy>w6x4o%t(S5N5&n?c*j!IXqGQcDZxyTPo z>p_vkBT-m|uS|w`6I^0gZIM~_*jSk?SxTx)oPMVt`;}{K13w3{n`ZdFgLx`R^tcqC zEb=))lCYbml|b?`A*rE3;$cmhq|>Bun6l1^%nz9yHfaln^w2OKP#0;h-yYiDkX07m zy%xKl9Hr1Z+}Sz2rmJhsZAMdB^R#lz_en+7HPWsd2Up*)zPB*C_U4ge$3)@IHETM% z)~w0pP32|H+}Ko9)OZ1!G)+O1+Bjrtn#4zqGGP>B+XRh9!aQS4avn)yOp9ISB!~1z zG3v;LHNO?>{+0-hy&+CEEO&FFArIen(iKIcMHQ7Y9Wa|r>!({Aq?YF9mRN}a4l71k zSCEq}$t_qEqhr3-5SBSeAu%{fG=(%178FDX2DB(S4dFm~AYGD{PRABH5>-;CB6LV~ zn(7P_>y1hOqqe^A;$h7at}yLnExuq1EuQA6$fSv{9fu${ijI1$4Usy06h^75BK*EOUn@S+1XfA&| zP#f0IoEDPS9^0|w-2OE;dV-C1sVq0(z44+0Gsf=ix_tSWpfF35Ub)llAi*)lQqt&(yB`MT1E@Q zq1>D-Z?s6KY{XJtp`MhL#RC37X{T@(nl_};ghH`frg;mU?c1xlF)XG2 zf(2gTJnU1HI-Gj-OM_Au?@?EORgT?xW#}L`{q6B!s8M<<^?jZ^KGvUC@oH+drB zMo{L1Q0KCO(~#-wZIH5eyD&BPrI?CE4XZ){99v4(gB$U0)Rlv;Fk zj%dJNTvPyOVr-S*U=`)@hN}A7n!+lhi$s2yP%@C9^p+gIgNkL1(jIRxS zA@*pvi-TB*O0q7JCb2@C5s?amKlN?Y!HJ)$8~a&fCYdy!}812^u7nN0CVoY@t`AhaUk3A72qBc zhh~=FL7QM^87;UU-_cOgu`8jjAL*E3rk2IGLlp@%IsGKRHzS?eRw=)U{cYkoLeeSe z`?+qSyl8VJ{RqcQH`<#Z*Et6ZB-%6B%L$b zniEZR7>DI#!#M+PDFubP!YHjRt_#+ZM{QM3Np^OL*a)t$Fp9xiyQ9r1IbBplJxw$< zCEz0DBCifN*4%jHo)&-DA9lO^3_hL{dk|saAE^TmDm4592CzU;)+J2rQAY}s-3t(OmPOGO{~U|oO1ynUbf$_MM_HTGY+Z{ZJb zJ-GI*D@Ibb1wZ(6>SR#P;a3{JqQ8H4b)&y|#=b9dg*wOO79mOCpFq@!Z*xqQPW|vy z>6`F{jC8u7LghI}GM;l*JYTU1pTyT|wYgu~BMHO;t+@=lq1W*8@?-^rnY191lO51! z1!19c;!|<461xrdVW!K@qK)FtU(^5*1R|oYj?^pa>V!~|ae_Wf6*-VN%320$a8<4Z zS$Sqlmuqqb22N!u0}PyEb1IlTVNAoRvVt3g;Km*t=N>o|KJ?%N*Mtu}FmmcZZ|{Lq zy@ytVW*{6{`;GQq}tF!}yq2 zp~0!h=alrOu&iXmlDU$Na9eUEU$-tfsvD||g>u%c9$K_;US~^lMJUH(?CsOh;)NMW z?6nYY=4Ob?2pHbw2Sk7UxT! z32V;X)5`M85^(5F)fN_-`M&+jW;P|JubQ4HYfbbQUeQB--i`aG6^9DbZr_au630V& zgAc2FUp%fje_yiTNUWv|TMd=f#EvX@qok%jtEi+pbz<3p;^OZ5%K3?S$&q;*FTSaN z_3SyVH%y=35qHf`)T8LdNV}*9Y3&Q5K7V0;CdVij`MT(QeVOW$)|c;B z%6&*<(t54&4BZGC(>fKJjMV=Qjp-)zOnj2Yw1Mh9mBu8nt!PXJ_+BXWJ-=_)G`z`u z_=WrSQxko)sD;|MqYqV{PdgXWC`Rqu(dVaig!B7$Q9q?`H?Xtn{pU;Zm#0iW$&*v2 zZ<^3p;jKn9c$ySX>%H=1DSof=9AK5CxPd*Le(vNMK)g@bhc1KfOcLeNzB6zfG0=P$ zjBBzYlb{-4Dv$bPRTyBtFjE*PzB5LcXo3lT$DN5g;Xb2FKL7l_eZo??lLtYkWQAF% zSt{`@WPICsV#XXIini>+fjR@tMg(a_^EsML#qjs6mYIGW!Jhj1*|Y2Gd#b9!;p*ye zxJv$QeUFkDsj7;EtKgMhBTkHeA91rtZyCQ8=dI(b5Vwu@ zAZ`~WJ4J54IA132S}yKdDbfeTU4!DTA#v9#lq|!$UZhby%9P<<-$L9v{w(75@z)V| zirjvYyG-N`iriJmEk}L6kGN(0CB$vx4NvR>P#i+nbmkEop+1e zxuRshNLeJ#mx%Ob;;uoFPVcJ0TfT(2T*URLc@35;QVP)?zW9NXHGr4STSVL@;%-r9 zu80?jyOxM^qP-fnLfo}doDYb22yrcN^-qY05Z437+YnP**Ne8U7j0cH+PWU^x)tfI z8U}+GrGzeH41S}1Jh3+C)8U!r(ejnMJ5z{lLiD%*q zH6piP8xZZmLBchS3=#k*R>yISzBo8iq}E@FCD3*JR34I*yBz4#I%?rIV5 zY7y^h0ZypQToDsaTJSDPSt8fe&hp@!m(<^NfnQD{rv9!A?f3>_ z>hHQlO}g>qOYvczV8WQwU5>&9I_MNGX|H_AW4dIVqh2ny*DeBC4Xx<~MJkKpSb zJbx8R5?}Y=`M2PEo7CgX!Cfa1Q;#zTWu8S$JPL~yH+EY zpk5@PUW~hT+e3&+f-M(yTMq2eIZ3ePs3(;qs$Pz}-oV#WNk*+e z$@>wLj9MXbSBTt|LISMBGml~PPn5h;JaZ+UN#`VOR^qOsi0PRt#a#p9t^wS2Grr79 za$`W;HGsS5oaDv;?mC8;?ivtx4Wj%4`1g|p7(_{mNdgQ4_U90j1Q-McC?*MjFTNrk z61+Twdq;6jygVe{HH0Uu$2sxx5Z<*9F}(|4i3QZFQ2sDt;@MRwc>`kNS$vd|uO+ou z{4fqve;g}Vv?~eoFdtLX<&1P)#=SAkLqRke&EBVBnuIsIef8c}2AT&cfuuGC*SSL&~vEA>~-mHI2^ zO8u4d%;%d}meh?oOnMh~_k?b(oLgDF={M@RjkTEb)N{M>yMVm|U%%bXE@M0Kh24u$ z!`&=`8H*8Ux%e&#^s!p#HxbByjY!*svkrV8cPC11#BRRTxSokG;%>%qQTqN};%XH6 zqbRu-@j8@TjN>rUHsWd&r73@#coHO$xV{)q-i$Ik!9R2-mEDFl9}!r|t3^#Bs7np5 znhd34_C^(N0{A;(Rx9B8;9vF}-Ii z-c9EO0o6q;%O4!I-1fd-d?2Wl0q4qHUtPL$dx zo)$r^h%*S+)GiuzZNoLS7o}))P8_1NEpZ4@J5iF->ICaBT6(i6p|v$}2DOStox~5B zZ=6Vn70%%U%=jG5-l@=iG+b!;2E2vT7apJwbc+#kNC$%7@Xw-oO~w#L&X-9V zJ&{DF+OHSTQae+Njbe;4Ax$*dptX`BAr&suBm!|J@h5SyBHy>-N})f(iqab?w4uC@ zaFi+Msn1%Bw{}BEg|>^cPNXbB(D;F*!Bo_BnMzp^A<^bR|E6!O#3ntBp1hdN#?$)n zM_7fPjN>ef6(UHPgPd77(iPQU5souaY9)@H$X$e-4%|U>GY9GCr*(*0FGi__&`7%k z1oTXLm+~~as{{9Ts<}!Y!Pt+`gH)>HOuT6h&Zu;cxOb_jC-i(=Edc~n!=)%eMx zUDc79n>R-mQU0#TqS0NWJNJ&Rt6n@hyldmSQCx4^xqDvsqS1@@Y#!dZY;@Z)sNBk`KLrW$%0i0Gh@i{|iV%XjYwr(TCCxp;bTCuN>9r~=3xiH`95k8H6=yE}< zEXu}iNx7H<&4>OP2DS^Zw|W#d-ePEaF=#AhuryYHZmK|~HPDyppd-a$8G=;^){$wj zJiwNKv2#1-_h+E~)P@~`O1eP-v(cV&LCt-j5~A4!psz(}{Ux9QjCL>zSxKV<(%0E) ze9d7EaD!E)fa6(qANv;jB0I#s$zF%=)Z6SS_T@CtkF(R5_kE0AkNJ_WvY)_r>z~=z z*;hpVKd{fSYuR<|Yw&~lHFWr6>_+w(_5iz={ec}}Kc%lluzzFkv7>NDJ|x~@Gtx5-=fz>$LkCR1l8`zNfqXWOiZU(Te@2!0F| tEJV96?wYx%7QPpBi->GE1`x3AJ>p*?)`=@bA_dzyfhv?AmB_gM{{W$T(0Tv> literal 0 HcmV?d00001 diff --git a/fonts/WickedGrit.ttf b/fonts/WickedGrit.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3554c56faff5cadc1a0e3d372a0177ab943839f2 GIT binary patch literal 320828 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¥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 z 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 literal 0 HcmV?d00001 diff --git a/fonts/Windsong.ttf b/fonts/Windsong.ttf new file mode 100644 index 0000000000000000000000000000000000000000..22c8e697c7b4031663a29cde4366c786e0c1e0b5 GIT binary patch literal 84852 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

L8~+In3IeG!(mZt_HDqP7vK$FqBgYz@XKOTnG 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%0AFY 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 literal 0 HcmV?d00001 diff --git a/ios/.DS_Store b/ios/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ce45c4848cd04735a6b184f6217ffa1b81d1332c GIT binary patch literal 10244 zcmeHMU2GIp6h5bvGBdPviXhAibknASTA*9{BfoCjMXW;Fu!Xi1DYH8x9XdO+?#y<9 zQmyi$3Fs3FMiZimiNOa$geMcl2Seh|gQB2@2OoUU2YoaWO+5GBS!|b*R3H3F=Wgbn zJNKS5_kQ1eGn0E30I)M}!~miIAko3BT1nLmg^jc0wo(@KRFOrB2QVR*DtOtH?WS(? z4m&~yLIy$xLIy$xLI(Z|4A3{56=|WcVI49MG7vIwivjk2h|d5{d<#If zoVt0THthp=Of<0Zz)lLwL+P4g_kckt23rgi;WQp)?quVEofKAt1B!6KU}g+K`u_b&Dr;Mw-_&#s%jT8OuUH^SilkI2k0(dm zLekg$yw|DchS*uJ?vJE`cAx9ox7vDYuVog7)g@i7y>9jXzjuFoOv}@-xjyJ5D>&_srcU z`B`ITg1jkoF}qSv*0)^8+iT`Lvi0#Mfk{4JxpZaSy$>|CZh9zjwQ5ndTC-SD_7Q82 zZ#`j|xjhBT@J9x9FKs%8A0#mapEuYIUK+@! ztS9r9f0WO$s#a6>8??GzuEAz8)QghLN9t=eZHSF@g{J4|YPB7bG{{Cf41-oxA73N*<21-B``Tzw2Q9D#dSMU@D8NZL z4KKm#a2_tfd+-r_24BEea1E}*ckl!J48Oun_zix?3arKzxC(1AiuYkFwqZNQaXaq7 zN3a`rV?Pe!J{&>=52KA4bg+O=<1_dyp1_lM8qeTadqW6&Q%p(#LkGep3M#<6n)Pj&qXX3`@vB$Uw+I$Uw+I$iQ4+V4eUOW%>W@cmDr>E>IC-3>lcS z3}AU8ndl_=#iT$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/ios/._.gitignore b/ios/._.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..338bd7ba27b62046d75470a7732f6f1b01806cb5 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/ios/._Runner.xcodeproj b/ios/._Runner.xcodeproj new file mode 100644 index 0000000000000000000000000000000000000000..31d640b108e8a82cabf9460a23183d20135e1b60 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^9-wj&G%X<0LEXx$=M*K2Y^_Bfk7%cKUXiYpdcqz zF9)cqv^X^-C9xz`IUpFM$k52dpxQJn0mOdDw1^u-kAl$<7!85Z5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=CksAVxK(B)^7|4ZWWELwFr55Lx7A2=Dq~#Z7D`e)Cq~?`m=I15m j4jn|NjF3o1HVI literal 0 HcmV?d00001 diff --git a/ios/._Runner.xcworkspace b/ios/._Runner.xcworkspace new file mode 100644 index 0000000000000000000000000000000000000000..beab7eb1f784e4f2442c5e4023a50ead3f769ee2 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^0-$mMG%bukK2%&PIX_n~v7jI)RWB#8xTLf=H6Kf7%s{i3$kztVg G{~rL_1S`A% literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..e96ef60 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,32 @@ +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9367d48 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 8.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..905d290 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,80 @@ +platform :ios, '12.0' +$FirebaseSDKVersion = '7.11.0' +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + + # "fork" of method flutter_install_ios_plugin_pods (in fluttertools podhelpers.rb) to get lts version of ffmpeg + def flutter_install_ios_plugin_pods(ios_application_path = nil) + # defined_in_file is set by CocoaPods and is a Pathname to the Podfile. + ios_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file) + raise 'Could not find iOS application path' unless ios_application_path + + # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock + # referring to absolute paths on developers' machines. + + symlink_dir = File.expand_path('.symlinks', ios_application_path) + system('rm', '-rf', symlink_dir) # Avoid the complication of dependencies like FileUtils. + + symlink_plugins_dir = File.expand_path('plugins', symlink_dir) + system('mkdir', '-p', symlink_plugins_dir) + + plugins_file = File.join(ios_application_path, '..', '.flutter-plugins-dependencies') + plugin_pods = flutter_parse_plugins_file(plugins_file) + plugin_pods.each do |plugin_hash| + plugin_name = plugin_hash['name'] + plugin_path = plugin_hash['path'] + + if (plugin_name && plugin_path) + symlink = File.join(symlink_plugins_dir, plugin_name) + File.symlink(plugin_path, symlink) + + if plugin_name == 'flutter_ffmpeg' + pod plugin_name+'/full-gpl-lts', :path => File.join('.symlinks', 'plugins', plugin_name, 'ios') + else + pod plugin_name, :path => File.join('.symlinks', 'plugins', plugin_name, 'ios') + end + end + end + end + + +target 'Runner' do + # pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '6.33.0' + pod 'GoogleMLKit/ImageLabeling' + pod 'GoogleMLKit/TextRecognition' + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' + end + end +end \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..902c79f --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,734 @@ +PODS: + - abseil/algorithm (0.20200225.0): + - abseil/algorithm/algorithm (= 0.20200225.0) + - abseil/algorithm/container (= 0.20200225.0) + - abseil/algorithm/algorithm (0.20200225.0): + - abseil/base/config + - abseil/algorithm/container (0.20200225.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/base (0.20200225.0): + - abseil/base/atomic_hook (= 0.20200225.0) + - abseil/base/base (= 0.20200225.0) + - abseil/base/base_internal (= 0.20200225.0) + - abseil/base/bits (= 0.20200225.0) + - abseil/base/config (= 0.20200225.0) + - abseil/base/core_headers (= 0.20200225.0) + - abseil/base/dynamic_annotations (= 0.20200225.0) + - abseil/base/endian (= 0.20200225.0) + - abseil/base/errno_saver (= 0.20200225.0) + - abseil/base/exponential_biased (= 0.20200225.0) + - abseil/base/log_severity (= 0.20200225.0) + - abseil/base/malloc_internal (= 0.20200225.0) + - abseil/base/periodic_sampler (= 0.20200225.0) + - abseil/base/pretty_function (= 0.20200225.0) + - abseil/base/raw_logging_internal (= 0.20200225.0) + - abseil/base/spinlock_wait (= 0.20200225.0) + - abseil/base/throw_delegate (= 0.20200225.0) + - abseil/base/atomic_hook (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/base (0.20200225.0): + - abseil/base/atomic_hook + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/log_severity + - abseil/base/raw_logging_internal + - abseil/base/spinlock_wait + - abseil/meta/type_traits + - abseil/base/base_internal (0.20200225.0): + - abseil/base/config + - abseil/meta/type_traits + - abseil/base/bits (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/config (0.20200225.0) + - abseil/base/core_headers (0.20200225.0): + - abseil/base/config + - abseil/base/dynamic_annotations (0.20200225.0) + - abseil/base/endian (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/errno_saver (0.20200225.0): + - abseil/base/config + - abseil/base/exponential_biased (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/log_severity (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/malloc_internal (0.20200225.0): + - abseil/base/base + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/raw_logging_internal + - abseil/base/periodic_sampler (0.20200225.0): + - abseil/base/core_headers + - abseil/base/exponential_biased + - abseil/base/pretty_function (0.20200225.0) + - abseil/base/raw_logging_internal (0.20200225.0): + - abseil/base/atomic_hook + - abseil/base/config + - abseil/base/core_headers + - abseil/base/log_severity + - abseil/base/spinlock_wait (0.20200225.0): + - abseil/base/base_internal + - abseil/base/core_headers + - abseil/base/errno_saver + - abseil/base/throw_delegate (0.20200225.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/container/compressed_tuple (0.20200225.0): + - abseil/utility/utility + - abseil/container/inlined_vector (0.20200225.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/base/throw_delegate + - abseil/container/inlined_vector_internal + - abseil/memory/memory + - abseil/container/inlined_vector_internal (0.20200225.0): + - abseil/base/core_headers + - abseil/container/compressed_tuple + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/types/span + - abseil/memory (0.20200225.0): + - abseil/memory/memory (= 0.20200225.0) + - abseil/memory/memory (0.20200225.0): + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/meta (0.20200225.0): + - abseil/meta/type_traits (= 0.20200225.0) + - abseil/meta/type_traits (0.20200225.0): + - abseil/base/config + - abseil/numeric/int128 (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/strings/internal (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/meta/type_traits + - abseil/strings/str_format (0.20200225.0): + - abseil/strings/str_format_internal + - abseil/strings/str_format_internal (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/numeric/int128 + - abseil/strings/strings + - abseil/types/span + - abseil/strings/strings (0.20200225.0): + - abseil/base/base + - abseil/base/bits + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/base/throw_delegate + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/numeric/int128 + - abseil/strings/internal + - abseil/time (0.20200225.0): + - abseil/time/internal (= 0.20200225.0) + - abseil/time/time (= 0.20200225.0) + - abseil/time/internal (0.20200225.0): + - abseil/time/internal/cctz (= 0.20200225.0) + - abseil/time/internal/cctz (0.20200225.0): + - abseil/time/internal/cctz/civil_time (= 0.20200225.0) + - abseil/time/internal/cctz/time_zone (= 0.20200225.0) + - abseil/time/internal/cctz/civil_time (0.20200225.0): + - abseil/base/config + - abseil/time/internal/cctz/time_zone (0.20200225.0): + - abseil/base/config + - abseil/time/internal/cctz/civil_time + - abseil/time/time (0.20200225.0): + - abseil/base/base + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/numeric/int128 + - abseil/strings/strings + - abseil/time/internal/cctz/civil_time + - abseil/time/internal/cctz/time_zone + - abseil/types (0.20200225.0): + - abseil/types/any (= 0.20200225.0) + - abseil/types/bad_any_cast (= 0.20200225.0) + - abseil/types/bad_any_cast_impl (= 0.20200225.0) + - abseil/types/bad_optional_access (= 0.20200225.0) + - abseil/types/bad_variant_access (= 0.20200225.0) + - abseil/types/compare (= 0.20200225.0) + - abseil/types/optional (= 0.20200225.0) + - abseil/types/span (= 0.20200225.0) + - abseil/types/variant (= 0.20200225.0) + - abseil/types/any (0.20200225.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/types/bad_any_cast + - abseil/utility/utility + - abseil/types/bad_any_cast (0.20200225.0): + - abseil/base/config + - abseil/types/bad_any_cast_impl + - abseil/types/bad_any_cast_impl (0.20200225.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/bad_optional_access (0.20200225.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/bad_variant_access (0.20200225.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/compare (0.20200225.0): + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/types/optional (0.20200225.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/types/bad_optional_access + - abseil/utility/utility + - abseil/types/span (0.20200225.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/base/throw_delegate + - abseil/meta/type_traits + - abseil/types/variant (0.20200225.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/types/bad_variant_access + - abseil/utility/utility + - abseil/utility/utility (0.20200225.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/meta/type_traits + - AppAuth (1.4.0): + - AppAuth/Core (= 1.4.0) + - AppAuth/ExternalUserAgent (= 1.4.0) + - AppAuth/Core (1.4.0) + - AppAuth/ExternalUserAgent (1.4.0) + - BoringSSL-GRPC (0.0.7): + - BoringSSL-GRPC/Implementation (= 0.0.7) + - BoringSSL-GRPC/Interface (= 0.0.7) + - BoringSSL-GRPC/Implementation (0.0.7): + - BoringSSL-GRPC/Interface (= 0.0.7) + - BoringSSL-GRPC/Interface (0.0.7) + - camera (0.0.1): + - Flutter + - cloud_firestore (1.0.1): + - Firebase/Firestore (= 7.3.0) + - firebase_core + - Flutter + - Firebase/Auth (7.3.0): + - Firebase/CoreOnly + - FirebaseAuth (~> 7.3.0) + - Firebase/CoreOnly (7.3.0): + - FirebaseCore (= 7.3.0) + - Firebase/Firestore (7.3.0): + - Firebase/CoreOnly + - FirebaseFirestore (~> 7.3.0) + - Firebase/Messaging (7.3.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 7.3.0) + - firebase_auth (1.0.1): + - Firebase/Auth (= 7.3.0) + - firebase_core + - Flutter + - firebase_core (1.0.1): + - Firebase/CoreOnly (= 7.3.0) + - Flutter + - firebase_messaging (9.0.0): + - Firebase/Messaging (= 7.3.0) + - firebase_core + - Flutter + - firebase_ml_vision (0.1.1): + - firebase_core + - Flutter + - GoogleMLKit/BarcodeScanning + - GoogleMLKit/FaceDetection + - GoogleMLKit/ImageLabeling + - GoogleMLKit/TextRecognition + - FirebaseAuth (7.3.0): + - FirebaseCore (~> 7.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.0) + - GoogleUtilities/Environment (~> 7.0) + - GTMSessionFetcher/Core (~> 1.4) + - FirebaseCore (7.3.0): + - FirebaseCoreDiagnostics (~> 7.0) + - GoogleUtilities/Environment (~> 7.0) + - GoogleUtilities/Logger (~> 7.0) + - FirebaseCoreDiagnostics (7.3.0): + - GoogleDataTransport (~> 8.0) + - GoogleUtilities/Environment (~> 7.0) + - GoogleUtilities/Logger (~> 7.0) + - nanopb (~> 2.30906.0) + - FirebaseFirestore (7.3.0): + - abseil/algorithm (= 0.20200225.0) + - abseil/base (= 0.20200225.0) + - abseil/memory (= 0.20200225.0) + - abseil/meta (= 0.20200225.0) + - abseil/strings/strings (= 0.20200225.0) + - abseil/time (= 0.20200225.0) + - abseil/types (= 0.20200225.0) + - FirebaseCore (~> 7.0) + - "gRPC-C++ (~> 1.28.0)" + - leveldb-library (~> 1.22) + - nanopb (~> 2.30906.0) + - FirebaseInstallations (7.8.0): + - FirebaseCore (~> 7.0) + - GoogleUtilities/Environment (~> 7.0) + - GoogleUtilities/UserDefaults (~> 7.0) + - PromisesObjC (~> 1.2) + - FirebaseInstanceID (7.8.0): + - FirebaseCore (~> 7.0) + - FirebaseInstallations (~> 7.0) + - GoogleUtilities/Environment (~> 7.0) + - GoogleUtilities/UserDefaults (~> 7.0) + - FirebaseMessaging (7.3.0): + - FirebaseCore (~> 7.0) + - FirebaseInstanceID (~> 7.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.0) + - GoogleUtilities/Environment (~> 7.0) + - GoogleUtilities/Reachability (~> 7.0) + - GoogleUtilities/UserDefaults (~> 7.0) + - Flutter (1.0.0) + - flutter_country_picker (0.0.1): + - Flutter + - flutter_ffmpeg (0.4.0): + - Flutter + - flutter_ffmpeg/https (= 0.4.0) + - flutter_ffmpeg/https (0.4.0): + - Flutter + - mobile-ffmpeg-https (= 4.4) + - flutter_inappwebview (0.0.1): + - Flutter + - flutter_inappwebview/Core (= 0.0.1) + - OrderedSet (~> 5.0) + - flutter_inappwebview/Core (0.0.1): + - Flutter + - OrderedSet (~> 5.0) + - flutter_local_notifications (0.0.1): + - Flutter + - flutter_webview_plugin (0.0.1): + - Flutter + - FMDB (2.7.5): + - FMDB/standard (= 2.7.5) + - FMDB/standard (2.7.5) + - geolocator (6.2.0): + - Flutter + - google_maps_flutter (0.0.1): + - Flutter + - GoogleMaps (< 3.10) + - google_sign_in (0.0.1): + - Flutter + - GoogleSignIn (~> 5.0) + - GoogleDataTransport (8.1.0): + - nanopb (~> 2.30906.0) + - GoogleMaps (3.9.0): + - GoogleMaps/Maps (= 3.9.0) + - GoogleMaps/Base (3.9.0) + - GoogleMaps/Maps (3.9.0): + - GoogleMaps/Base + - GoogleMLKit/BarcodeScanning (2.1.0): + - GoogleMLKit/MLKitCore + - MLKitBarcodeScanning (~> 1.2.0) + - GoogleMLKit/FaceDetection (2.1.0): + - GoogleMLKit/MLKitCore + - MLKitFaceDetection (~> 1.2.0) + - GoogleMLKit/ImageLabeling (2.1.0): + - GoogleMLKit/MLKitCore + - MLKitImageLabeling (~> 1.2.0) + - GoogleMLKit/MLKitCore (2.1.0): + - MLKitCommon (~> 2.1.0) + - GoogleMLKit/TextRecognition (2.1.0): + - GoogleMLKit/MLKitCore + - MLKitTextRecognition (~> 1.2.0) + - GoogleSignIn (5.0.2): + - AppAuth (~> 1.2) + - GTMAppAuth (~> 1.0) + - GTMSessionFetcher/Core (~> 1.1) + - GoogleToolboxForMac/DebugUtils (2.3.1): + - GoogleToolboxForMac/Defines (= 2.3.1) + - GoogleToolboxForMac/Defines (2.3.1) + - GoogleToolboxForMac/Logger (2.3.1): + - GoogleToolboxForMac/Defines (= 2.3.1) + - "GoogleToolboxForMac/NSData+zlib (2.3.1)": + - GoogleToolboxForMac/Defines (= 2.3.1) + - "GoogleToolboxForMac/NSDictionary+URLArguments (2.3.1)": + - GoogleToolboxForMac/DebugUtils (= 2.3.1) + - GoogleToolboxForMac/Defines (= 2.3.1) + - "GoogleToolboxForMac/NSString+URLArguments (= 2.3.1)" + - "GoogleToolboxForMac/NSString+URLArguments (2.3.1)" + - GoogleUtilities/AppDelegateSwizzler (7.3.1): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Environment (7.3.1): + - PromisesObjC (~> 1.2) + - GoogleUtilities/Logger (7.3.1): + - GoogleUtilities/Environment + - GoogleUtilities/Network (7.3.1): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (7.3.1)" + - GoogleUtilities/Reachability (7.3.1): + - GoogleUtilities/Logger + - GoogleUtilities/UserDefaults (7.3.1): + - GoogleUtilities/Logger + - GoogleUtilitiesComponents (1.0.0): + - GoogleUtilities/Logger + - "gRPC-C++ (1.28.2)": + - "gRPC-C++/Implementation (= 1.28.2)" + - "gRPC-C++/Interface (= 1.28.2)" + - "gRPC-C++/Implementation (1.28.2)": + - abseil/container/inlined_vector (= 0.20200225.0) + - abseil/memory/memory (= 0.20200225.0) + - abseil/strings/str_format (= 0.20200225.0) + - abseil/strings/strings (= 0.20200225.0) + - abseil/types/optional (= 0.20200225.0) + - "gRPC-C++/Interface (= 1.28.2)" + - gRPC-Core (= 1.28.2) + - "gRPC-C++/Interface (1.28.2)" + - gRPC-Core (1.28.2): + - gRPC-Core/Implementation (= 1.28.2) + - gRPC-Core/Interface (= 1.28.2) + - gRPC-Core/Implementation (1.28.2): + - abseil/container/inlined_vector (= 0.20200225.0) + - abseil/memory/memory (= 0.20200225.0) + - abseil/strings/str_format (= 0.20200225.0) + - abseil/strings/strings (= 0.20200225.0) + - abseil/types/optional (= 0.20200225.0) + - BoringSSL-GRPC (= 0.0.7) + - gRPC-Core/Interface (= 1.28.2) + - gRPC-Core/Interface (1.28.2) + - GTMAppAuth (1.1.0): + - AppAuth/Core (~> 1.4) + - GTMSessionFetcher (~> 1.4) + - GTMSessionFetcher (1.5.0): + - GTMSessionFetcher/Full (= 1.5.0) + - GTMSessionFetcher/Core (1.5.0) + - GTMSessionFetcher/Full (1.5.0): + - GTMSessionFetcher/Core (= 1.5.0) + - image_cropper (0.0.4): + - Flutter + - TOCropViewController (~> 2.6.0) + - image_gallery_saver (1.5.0): + - Flutter + - image_picker (0.0.1): + - Flutter + - leveldb-library (1.22.1) + - libwebp (1.2.0): + - libwebp/demux (= 1.2.0) + - libwebp/mux (= 1.2.0) + - libwebp/webp (= 1.2.0) + - libwebp/demux (1.2.0): + - libwebp/webp + - libwebp/mux (1.2.0): + - libwebp/demux + - libwebp/webp (1.2.0) + - location (0.0.1): + - Flutter + - MLKitBarcodeScanning (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitVision (~> 1.2) + - MLKitCommon (2.1.0): + - GoogleDataTransport (~> 8.0) + - GoogleToolboxForMac/Logger (~> 2.1) + - "GoogleToolboxForMac/NSData+zlib (~> 2.1)" + - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)" + - GoogleUtilities/UserDefaults (~> 7.0) + - GoogleUtilitiesComponents (~> 1.0) + - GTMSessionFetcher/Core (~> 1.1) + - Protobuf (~> 3.12) + - MLKitFaceDetection (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitVision (~> 1.2) + - MLKitImageLabeling (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitImageLabelingCommon (~> 1.2) + - MLKitVision (~> 1.2) + - MLKitVisionKit (~> 2.1) + - MLKitImageLabelingCommon (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitVision (~> 1.2) + - MLKitObjectDetectionCommon (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitVision (~> 1.2) + - MLKitTextRecognition (1.2.0): + - MLKitCommon (~> 2.1) + - MLKitVision (~> 1.2) + - MLKitVision (1.2.0): + - GoogleToolboxForMac/Logger (~> 2.1) + - "GoogleToolboxForMac/NSData+zlib (~> 2.1)" + - GTMSessionFetcher/Core (~> 1.1) + - MLKitCommon (~> 2.1) + - Protobuf (~> 3.12) + - MLKitVisionKit (2.1.0): + - MLKitCommon (~> 2.1) + - MLKitImageLabelingCommon (~> 1.2) + - MLKitObjectDetectionCommon (~> 1.2) + - MLKitVision (~> 1.2) + - mobile-ffmpeg-https (4.4) + - MTBBarcodeScanner (5.0.11) + - nanopb (2.30906.0): + - nanopb/decode (= 2.30906.0) + - nanopb/encode (= 2.30906.0) + - nanopb/decode (2.30906.0) + - nanopb/encode (2.30906.0) + - OrderedSet (5.0.0) + - path_provider (0.0.1): + - Flutter + - "permission_handler (5.1.0+2)": + - Flutter + - PromisesObjC (1.2.12) + - Protobuf (3.14.0) + - qr_code_scanner (0.2.0): + - Flutter + - MTBBarcodeScanner + - share (0.0.1): + - Flutter + - shared_preferences (0.0.1): + - Flutter + - sqflite (0.0.2): + - Flutter + - FMDB (>= 2.7.5) + - TOCropViewController (2.6.0) + - url_launcher (0.0.1): + - Flutter + - video_player (0.0.1): + - Flutter + - video_thumbnail (0.0.1): + - Flutter + - libwebp + - wakelock (0.0.1): + - Flutter + - webview_flutter (0.0.1): + - Flutter + +DEPENDENCIES: + - camera (from `.symlinks/plugins/camera/ios`) + - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) + - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) + - firebase_ml_vision (from `.symlinks/plugins/firebase_ml_vision/ios`) + - Flutter (from `Flutter`) + - flutter_country_picker (from `.symlinks/plugins/flutter_country_picker/ios`) + - flutter_ffmpeg (from `.symlinks/plugins/flutter_ffmpeg/ios`) + - flutter_inappwebview (from `.symlinks/plugins/flutter_inappwebview/ios`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) + - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) + - geolocator (from `.symlinks/plugins/geolocator/ios`) + - google_maps_flutter (from `.symlinks/plugins/google_maps_flutter/ios`) + - google_sign_in (from `.symlinks/plugins/google_sign_in/ios`) + - GoogleMLKit/ImageLabeling + - GoogleMLKit/TextRecognition + - image_cropper (from `.symlinks/plugins/image_cropper/ios`) + - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) + - image_picker (from `.symlinks/plugins/image_picker/ios`) + - location (from `.symlinks/plugins/location/ios`) + - path_provider (from `.symlinks/plugins/path_provider/ios`) + - permission_handler (from `.symlinks/plugins/permission_handler/ios`) + - qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`) + - share (from `.symlinks/plugins/share/ios`) + - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - sqflite (from `.symlinks/plugins/sqflite/ios`) + - url_launcher (from `.symlinks/plugins/url_launcher/ios`) + - video_player (from `.symlinks/plugins/video_player/ios`) + - video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`) + - wakelock (from `.symlinks/plugins/wakelock/ios`) + - webview_flutter (from `.symlinks/plugins/webview_flutter/ios`) + +SPEC REPOS: + trunk: + - abseil + - AppAuth + - BoringSSL-GRPC + - Firebase + - FirebaseAuth + - FirebaseCore + - FirebaseCoreDiagnostics + - FirebaseFirestore + - FirebaseInstallations + - FirebaseInstanceID + - FirebaseMessaging + - FMDB + - GoogleDataTransport + - GoogleMaps + - GoogleMLKit + - GoogleSignIn + - GoogleToolboxForMac + - GoogleUtilities + - GoogleUtilitiesComponents + - "gRPC-C++" + - gRPC-Core + - GTMAppAuth + - GTMSessionFetcher + - leveldb-library + - libwebp + - MLKitBarcodeScanning + - MLKitCommon + - MLKitFaceDetection + - MLKitImageLabeling + - MLKitImageLabelingCommon + - MLKitObjectDetectionCommon + - MLKitTextRecognition + - MLKitVision + - MLKitVisionKit + - mobile-ffmpeg-https + - MTBBarcodeScanner + - nanopb + - OrderedSet + - PromisesObjC + - Protobuf + - TOCropViewController + +EXTERNAL SOURCES: + camera: + :path: ".symlinks/plugins/camera/ios" + cloud_firestore: + :path: ".symlinks/plugins/cloud_firestore/ios" + firebase_auth: + :path: ".symlinks/plugins/firebase_auth/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + firebase_messaging: + :path: ".symlinks/plugins/firebase_messaging/ios" + firebase_ml_vision: + :path: ".symlinks/plugins/firebase_ml_vision/ios" + Flutter: + :path: Flutter + flutter_country_picker: + :path: ".symlinks/plugins/flutter_country_picker/ios" + flutter_ffmpeg: + :path: ".symlinks/plugins/flutter_ffmpeg/ios" + flutter_inappwebview: + :path: ".symlinks/plugins/flutter_inappwebview/ios" + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" + flutter_webview_plugin: + :path: ".symlinks/plugins/flutter_webview_plugin/ios" + geolocator: + :path: ".symlinks/plugins/geolocator/ios" + google_maps_flutter: + :path: ".symlinks/plugins/google_maps_flutter/ios" + google_sign_in: + :path: ".symlinks/plugins/google_sign_in/ios" + image_cropper: + :path: ".symlinks/plugins/image_cropper/ios" + image_gallery_saver: + :path: ".symlinks/plugins/image_gallery_saver/ios" + image_picker: + :path: ".symlinks/plugins/image_picker/ios" + location: + :path: ".symlinks/plugins/location/ios" + path_provider: + :path: ".symlinks/plugins/path_provider/ios" + permission_handler: + :path: ".symlinks/plugins/permission_handler/ios" + qr_code_scanner: + :path: ".symlinks/plugins/qr_code_scanner/ios" + share: + :path: ".symlinks/plugins/share/ios" + shared_preferences: + :path: ".symlinks/plugins/shared_preferences/ios" + sqflite: + :path: ".symlinks/plugins/sqflite/ios" + url_launcher: + :path: ".symlinks/plugins/url_launcher/ios" + video_player: + :path: ".symlinks/plugins/video_player/ios" + video_thumbnail: + :path: ".symlinks/plugins/video_thumbnail/ios" + wakelock: + :path: ".symlinks/plugins/wakelock/ios" + webview_flutter: + :path: ".symlinks/plugins/webview_flutter/ios" + +SPEC CHECKSUMS: + abseil: 6c8eb7892aefa08d929b39f9bb108e5367e3228f + AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 + BoringSSL-GRPC: 8edf627ee524575e2f8d19d56f068b448eea3879 + camera: a0ca5080336f7af47b88436e5e26da3dee5568f0 + cloud_firestore: 69d71054fcab9a1c0d4779362f85b94aec7ff7d7 + Firebase: 26223c695fe322633274198cb19dca8cb7e54416 + firebase_auth: 9f6491ea8e44570323361ae713a2ae3175b3f21a + firebase_core: d2e03528e2a600891f6f460b5e92932624480d1d + firebase_messaging: fc1811236795c2313b8339c35d31295b1cd8486f + firebase_ml_vision: b3b6c056391d73d19419d237d755056a9a7be1e2 + FirebaseAuth: c224a0cf1afa0949bd5c7bfcf154b4f5ce8ddef2 + FirebaseCore: 4d3c72622ce0e2106aaa07bb4b2935ba2c370972 + FirebaseCoreDiagnostics: d50e11039e5984d92c8a512be2395f13df747350 + FirebaseFirestore: 1906bf163afdb7c432d2e3b5c40ceb9dd2df5820 + FirebaseInstallations: 7f7ed0e7e27fb51f57291e1876e2ddb1524126c1 + FirebaseInstanceID: aaecc93b4528bbcafea12c477e26827719ca1183 + FirebaseMessaging: 68d1bcb14880189558a8ae57167abe0b7e417232 + Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c + flutter_country_picker: b73efbc3f1b01519adb99bf8635865737b9422df + flutter_ffmpeg: bc8496ea20331e486cd29a03a3c6ff10d32db565 + flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721 + flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 + flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 + FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + geolocator: f5e3de65e241caba7ce3e8a618803387bda73384 + google_maps_flutter: c7f9c73576de1fbe152a227bfd6e6c4ae8088619 + google_sign_in: 6bd214b9c154f881422f5fe27b66aaa7bbd580cc + GoogleDataTransport: 116c84c4bdeb76be2a7a46de51244368f9794eab + GoogleMaps: 4b5346bddfe6911bb89155d43c903020170523ac + GoogleMLKit: 6ca2a10de262ee1017b52ac045e8967884ace992 + GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213 + GoogleToolboxForMac: 471e0c05d39506e50e6398f46fa9a12ae0efeff9 + GoogleUtilities: e1d9ed4e544fc32a93e00e721400cbc3f377200d + GoogleUtilitiesComponents: a69c0b3b369ba443e988141e75ef49d9010b1c80 + "gRPC-C++": 13d8ccef97d5c3c441b7e3c529ef28ebee86fad2 + gRPC-Core: 4afa11bfbedf7cdecd04de535a9e046893404ed5 + GTMAppAuth: 197a8dabfea5d665224aa00d17f164fc2248dab9 + GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52 + image_cropper: f1668dd8d2cad2d357955caad15a40547856edcb + image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2 + image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a + leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729 + libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0 + location: 3a2eed4dd2fab25e7b7baf2a9efefe82b512d740 + MLKitBarcodeScanning: e9487b3e7c25d0f347dcbf253e7a540478919d9d + MLKitCommon: 9ed187a042139d51c0d8bf6a8301bb20b375c576 + MLKitFaceDetection: 5b92261dd6e4205e3dab0df62537ac3f4e90e5db + MLKitImageLabeling: 21c8acbbfac1e9dd912f0cdc5bf8cb09f0f98125 + MLKitImageLabelingCommon: 621e55f48a1709b886489925edb5939791b66f8c + MLKitObjectDetectionCommon: 7b197838c58568d44f34cf2fe874787ab43d63c1 + MLKitTextRecognition: 332ce64ab281af7b38c806746e1fc53a58eb59ef + MLKitVision: 51385878c9100024478971856510f9271ff555b5 + MLKitVisionKit: 92bddf95a91152419cdf3cbf2c2aed43cdf97cc2 + mobile-ffmpeg-https: 311fc4a8f671cf36d1d6b8f421e8246b790978d9 + MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb + nanopb: 1bf24dd71191072e120b83dd02d08f3da0d65e53 + OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c + path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c + permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0 + PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 + Protobuf: 0cde852566359049847168e51bd1c690e0f70056 + qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e + share: 0b2c3e82132f5888bccca3351c504d0003b3b410 + shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 + TOCropViewController: 3105367e808b7d3d886a74ff59bf4804e7d3ab38 + url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef + video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e + video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1 + wakelock: b0843b2479edbf6504d8d262c2959446f35373aa + webview_flutter: 9f491a9b5a66f2573946a389b2677987b0ff8c0b + +PODFILE CHECKSUM: 12f79c4590ce6d5ca6232b452ffba88637bd6807 + +COCOAPODS: 1.10.1 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..51e4299 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,575 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + DE7D3950774AF2253178F202 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29578401A5FB3088ABB7635B /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 29578401A5FB3088ABB7635B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 38CB9D02DDDA86A3D451C4D0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A59F426903D2E7C7F7F74FB8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DD7F4377AC18215A9CA08DC8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DE7D3950774AF2253178F202 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 23D06BD6AD1FD965EEBFDFB4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 29578401A5FB3088ABB7635B /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 4334E30C393B71F7A6E589D8 /* Pods */ = { + isa = PBXGroup; + children = ( + 38CB9D02DDDA86A3D451C4D0 /* Pods-Runner.debug.xcconfig */, + A59F426903D2E7C7F7F74FB8 /* Pods-Runner.release.xcconfig */, + DD7F4377AC18215A9CA08DC8 /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 4334E30C393B71F7A6E589D8 /* Pods */, + 23D06BD6AD1FD965EEBFDFB4 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 559AC78690E5F3AE154B12A1 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 5E474C80B70EC554E7278F77 /* [CP] Embed Pods Frameworks */, + 1065E7A3A2329C46618FAF60 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1240; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 1065E7A3A2329C46618FAF60 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 559AC78690E5F3AE154B12A1 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 5E474C80B70EC554E7278F77 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = W62TU85F86; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.tesoapp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = W62TU85F86; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.tesoapp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = W62TU85F86; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.tesoapp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..46d2d0d --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/GoogleService-Info.plist b/ios/Runner/GoogleService-Info.plist new file mode 100644 index 0000000..d6470bf --- /dev/null +++ b/ios/Runner/GoogleService-Info.plist @@ -0,0 +1,38 @@ + + + + + CLIENT_ID + 280510379185-67vianhh973klriv75ip2tb9cf8ibitl.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl + ANDROID_CLIENT_ID + 280510379185-ac7qjglm9cct9u0diqrns6om8t2mb9ug.apps.googleusercontent.com + API_KEY + AIzaSyCBDtZO2_Z5JjrNj1TocK6YAlk_wDbzZHs + GCM_SENDER_ID + 280510379185 + PLIST_VERSION + 1 + BUNDLE_ID + com.tesoapp + PROJECT_ID + teso-ghana + STORAGE_BUCKET + teso-ghana.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:280510379185:ios:52af12a619d5443119de90 + DATABASE_URL + https://teso-ghana-default-rtdb.firebaseio.com + + \ No newline at end of file diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..2ef776c --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,127 @@ + + + + + BGTaskSchedulerPermittedIdentifiers + + $(PRODUCT_BUNDLE_IDENTIFIER) + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Teso + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + teso + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLSchemes + + com.googleusercontent.apps.280510379185-67vianhh973klriv75ip2tb9cf8ibitl + fb1759156777594606 + + + + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSApplicationQueriesSchemes + + fbapi + fbapi20130214 + fbapi20130410 + fbapi20130702 + fbapi20131010 + fbapi20131219 + fbapi20140410 + fbapi20140116 + fbapi20150313 + fbapi20150629 + fbapi20160328 + fbauth + fb-messenger-share-api + fbauth2 + fbshareextension + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsArbitraryLoadsInWebContent + + + NSCameraUsageDescription + This app needs camera access to scan QR codes and capture photos + NSLocationAlwaysAndWhenInUseUsageDescription + Teso needs access to location. + NSLocationAlwaysUsageDescription + Teso needs access to location. + NSLocationWhenInUseUsageDescription + Teso needs access to location. + NSMicrophoneUsageDescription + Allow access to microphone + NSPhotoLibraryAddUsageDescription + Teso needs permission to write videos and photos + NSPhotoLibraryUsageDescription + Teso needs permission to select videos and photos + UIBackgroundModes + + fetch + location + processing + remote-notification + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + io.flutter.embedded_views_preview + + + FUMaximumConnectionsPerHost + 5 + + FUMaximumUploadOperation + 5 + + FUTimeoutInSeconds + 3600 + FUAllFilesUploadedMessage + Posts successfully published on Teso + LSApplicationQueriesSchemes + + https + http + + + \ No newline at end of file diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/.DS_Store b/lib/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6b8c1cbe3675f3634ee6e738d3331854cb9dc353 GIT binary patch literal 6148 zcmeHKO>5LZ7=EX_wMmzj2n8#62zby#kxGj#cnRB95k!ky+=Cx$vPs)W%&bXv_fQrV z!K-J{s~`9`)F0vh5YPI|N0)TB^=OOCyUaXqX5QzW$&+Mehlp6c8(t@Jh{!?_Se-?6 zjER0xCTvQ#%mJCqkyAwZorJf8WFp!$7zK<1XH5a|?at5!CFE0%-{|}00eZx;a1-U~ zZ)xx*qJw_k2@)CoE9fL~UMw&FU{jUq^tlbIPQ4W1T$oJN_2wr>iY7MyRyDMSaJ{6*5I$M+!zdO%er{w z)`O?rS8v|E|M2nC=da%+ix?I-Y3DT_!gn}h0`?kNn(%ZFJ%Tk)w;^kal0oEzniNw= zd$=wR7t4{@Ul3mw+ol)b#9&_o$47=jEw6_R_Iixrj2JCE&Ndj49Q`Ezg)#md-6M{f z#k7mk#+btAn1No{MLGK8_-uk9bSN_x=p~|B zm=Bi>b#FdqrF8w<-IepqL6aB?b?_V_>dWzueG*dFGP43^M(r{6g$CuQDs`n^$-s>NNG}1?l15MO9%xWQhtC)L}{WR5kY+w-^HgfehBGwLP-#6Nv( z-j0XY<34Y{>^fCR0VyB_q<|EV0%sKP-bLiOI;@5dt0!AcC>BrW{VmF2JyB5# zNP)2e*STGK|9_zWGXIZB+DQQ^@UIlG*?O~H@s+B#PF~J?ZKFTaz2=MV#&u8_q8$^X i9dqOD_$G?7uKAkhy>LhjI`cs%>Sw@pkx7BSR^S_SVigtu literal 0 HcmV?d00001 diff --git a/lib/Classes/API Clasess/BusinessProfile.dart b/lib/Classes/API Clasess/BusinessProfile.dart new file mode 100644 index 0000000..fbfef27 --- /dev/null +++ b/lib/Classes/API Clasess/BusinessProfile.dart @@ -0,0 +1,49 @@ +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Product.dart'; + +import '../TesoUser.dart'; + +class BusinessProfileClass { + List products; + List coupons; + List subscribers; + bool subscribed; + + BusinessProfileClass({ + this.coupons, + this.products, + this.subscribed, + this.subscribers, + }); + + factory BusinessProfileClass.fromJSON(Map json) { + var subscribers = json["subscribers"] as List; + List subs = subscribers.map((e) => TesoUser.fromJSON(e)).toList(); + subs.removeWhere( + (element) => element.userGUID == "null" || element.userGUID == null); + var comments = json["coupons"] as List; + List cmnt = + comments.map((e) => CouponDetails.fromJSON(e)).toList(); + var prod = json["products"] as List; + List pro = prod.map((e) => Product.fromJson(e)).toList(); + + return BusinessProfileClass( + coupons: cmnt, + products: pro, + subscribed: json["subscribed"], + subscribers: subs); + } + Map toJson() { + final Map data = Map(); + data['coupons'] = this.coupons; + data['subscribers'] = this.subscribers; + data['products'] = this.products; + data['subscribed'] = this.subscribed; + return data; + } + + @override + String toString() { + return '{"coupons": "$coupons", "subscribers": "$subscribers", "subscribed": "$subscribed","products" :"$products"}'; + } +} diff --git a/lib/Classes/API Clasess/CampAd.dart b/lib/Classes/API Clasess/CampAd.dart new file mode 100644 index 0000000..2b23306 --- /dev/null +++ b/lib/Classes/API Clasess/CampAd.dart @@ -0,0 +1,32 @@ +class CampAd { + String postId; + String campaignId; + bool approved; + + CampAd({ + this.approved, + this.campaignId, + this.postId, + }); + + factory CampAd.fromJSON(Map json) { + return CampAd( + postId: json["postID"], + campaignId: json["campaignId"], + approved: json["approved"] != null ? json["approved"] : false, + ); + } + + Map toJson() { + final Map data = Map(); + data['postId'] = this.postId; + data['approved'] = this.approved; + data['campaignId'] = this.campaignId; + return data; + } + + @override + String toString() { + return '{"postId": "$postId","approved":"$approved","campaignId" :"$campaignId"}'; + } +} diff --git a/lib/Classes/API Clasess/Campaign.dart b/lib/Classes/API Clasess/Campaign.dart new file mode 100644 index 0000000..7dc5c72 --- /dev/null +++ b/lib/Classes/API Clasess/Campaign.dart @@ -0,0 +1,57 @@ +class Campaign { + String campaignID; + String description; + String businessID; + String status; + String title; + DateTime startDate; + String targetProduct; + int rewards; + + Campaign({ + this.businessID, + this.campaignID, + this.description, + this.rewards, + this.startDate, + this.status, + this.targetProduct, + this.title, + }); + + factory Campaign.fromJSON(Map json) { + return Campaign( + businessID: json["businessId"], + campaignID: json["campaignId"], + description: json["description"], + status: json["status"], + title: json["title"], + startDate: DateTime.tryParse((json["startDate"].toString())), + targetProduct: json["targetProduct"], + rewards: int.tryParse((json["rewards"].toString())), + ); + } + + Map toJson() { + final Map data = Map(); + try { + data['businessId'] = this.businessID; + data['campaignId'] = this.campaignID; + data['description'] = this.description; + data['status'] = this.status.toString(); + data['startDate'] = this.startDate.toString(); + data['title'] = this.title; + data['targetProduct'] = this.targetProduct; + data['rewards'] = this.rewards; + } catch (e) { + print(e); + } + return data; + } + + @override + String toString() { + return '{"businessId": "$businessID", "campaignId": "$campaignID", "description": "$description", "status": "$status",' + + '"startDate": "$startDate", "title": "$title", "targetProduct": "$targetProduct", "rewards": "$rewards"}'; + } +} diff --git a/lib/Classes/API Clasess/CommentsPost.dart b/lib/Classes/API Clasess/CommentsPost.dart new file mode 100644 index 0000000..be54b3c --- /dev/null +++ b/lib/Classes/API Clasess/CommentsPost.dart @@ -0,0 +1,38 @@ +class CommentsPost { + String postId; + String commentId; + String comment; + String timestamp; + String commenterId; + + CommentsPost({ + this.postId, + this.commentId, + this.comment, + this.commenterId, + this.timestamp, + }); + factory CommentsPost.fromJSON(Map json) { + return CommentsPost( + commenterId: json["commenterId"], + postId: json["postId"], + commentId: json["pommentId"], + comment: json["comment"], + timestamp: json["timestamp"]); + } + + Map toJson() { + final Map data = Map(); + data['commenterId'] = this.commenterId; + data['postId'] = this.postId; + data['commentId'] = this.commentId; + data['comment'] = this.comment; + data['timestamp'] = this.timestamp; + return data; + } + + @override + String toString() { + return '{"comment":"$comment","commenterId": "$commenterId", "postId": "$postId","commentId":"$commentId","timestamp":"$timestamp"}'; + } +} diff --git a/lib/Classes/API Clasess/CouponDetails.dart b/lib/Classes/API Clasess/CouponDetails.dart new file mode 100644 index 0000000..8bc174e --- /dev/null +++ b/lib/Classes/API Clasess/CouponDetails.dart @@ -0,0 +1,109 @@ +import 'TesoBusinessDetail.dart'; +import 'Product.dart'; + +class CouponDetails { + String couponId; + String businessId; + Product targetProduct; + String type; + int quantity; + DateTime expiration; + double worth; + String state; + TesoBusinessDetail issuer; + double productCost; + double lowerLimit; + double upperLimit; + String countID; + String condition; + + CouponDetails( + {this.businessId, + this.couponId, + this.expiration, + this.issuer, + this.productCost, + this.quantity, + this.state, + this.targetProduct, + this.type, + this.worth, + this.lowerLimit, + this.upperLimit, + this.countID, + this.condition}); + + factory CouponDetails.fromJSON(Map json) { + try { + return CouponDetails( + businessId: json['businessId'], + couponId: json['couponId'], + targetProduct: Product.fromJson(json['target']), + expiration: DateTime.parse((json['expiration'].toString())), + issuer: TesoBusinessDetail.fromJSON(json['issuer']), + productCost: double.tryParse((json['productCost']).toString()), + lowerLimit: double.parse((json['lowerLimit']).toString()), + upperLimit: double.parse((json['upperLimit']).toString()), + quantity: json['quantity'], + state: json['state'], + type: json['type'], + worth: double.parse((json['worth']).toString()) == 0.0 + ? double.parse((json['lowerLimit']).toString()) + : double.parse((json['worth']).toString()), + countID: json['countID'].toString(), + condition: json['condition'].toString()); + } catch (e) { + print(e); + return null; + } + } + + factory CouponDetails.fromJSON2(Map json) { + return CouponDetails( + businessId: json['businessId'], + couponId: json['couponId'], + expiration: DateTime.parse((json['expiration'].toString())), + issuer: TesoBusinessDetail.fromJSON(json['issuer']), + productCost: double.tryParse((json['productCost']).toString()), + lowerLimit: double.parse((json['lowerLimit']).toString()), + upperLimit: double.parse((json['upperLimit']).toString()), + quantity: json['quantity'], + state: json['state'], + type: json['type'], + worth: double.parse((json['worth']).toString()) == 0.0 + ? double.parse((json['lowerLimit']).toString()) + : double.parse((json['worth']).toString()), + countID: json['countID'].toString(), + condition: json['condition'].toString()); + } + + Map toJson() { + final Map data = Map(); + try { + data['businessId'] = this.businessId; + data['couponId'] = this.couponId; + data['target'] = this.targetProduct; + data['expiration'] = this.expiration.toIso8601String(); + data['issuer'] = this.issuer; + data['productCost'] = this.productCost.toString(); + data['quantity'] = this.quantity; + data['state'] = this.state; + data['type'] = this.type; + data['worth'] = this.worth; + data['lowerLimit'] = this.lowerLimit; + data['upperLimit'] = this.upperLimit; + data['countID'] = this.countID; + data['condition'] = this.condition; + } catch (e) { + print(e); + } + return data; + } + + @override + String toString() { + return '{"businessId": "$businessId", "couponId": "$couponId", "target": "$targetProduct", "couponId": "$couponId", "expiration": "$expiration"' + + '"issuer": "$issuer", "productCost": "$productCost", "quantity": "$quantity", "state": "$state", "type": "$type", "worth": "$worth",' + + '"lowerLimit": "$lowerLimit", "upperLimit": "$upperLimit","countID":"$countID","condition":"$condition"}'; + } +} diff --git a/lib/Classes/API Clasess/CouponHead.dart b/lib/Classes/API Clasess/CouponHead.dart new file mode 100644 index 0000000..e46571f --- /dev/null +++ b/lib/Classes/API Clasess/CouponHead.dart @@ -0,0 +1,59 @@ +class CouponsHead { + String couponId; + String businessId; + String targetProduct; + String type; + int quantity; + DateTime expiration; + double lower; + double upper; + String state; + DateTime generated; + + CouponsHead( + {this.businessId, + this.couponId, + this.expiration, + this.quantity, + this.state, + this.targetProduct, + this.type, + this.lower, + this.upper, + this.generated}); + + CouponsHead.fromJSON(Map json) + : businessId = json['businessId'], + couponId = json['couponId'], + expiration = DateTime.tryParse((json['expiration']).toString()), + generated = DateTime.tryParse((json['generated']).toString()), + quantity = int.parse((json['quantity']).toString()), + state = json['state'], + type = json['type'], + targetProduct = json['targetProduct'], + lower = double.parse((json['lower']).toString()), + upper = double.parse((json['upper']).toString()); + + Map toJson() { + final Map data = Map(); + data['businessID'] = this.businessId; + data['couponID'] = this.couponId; + data['expiration'] = this.expiration.toIso8601String(); + data['generated'] = this.generated != null + ? this.generated.toIso8601String() + : DateTime.now().toIso8601String(); + data['quantity'] = this.quantity; + data['state'] = this.state; + data['type'] = this.type; + data['targetProduct'] = this.targetProduct; + data['lowerlimit'] = this.lower.toString(); + data['upperlimit'] = this.upper.toString(); + return data; + } + + @override + String toString() { + return '{"businessID": "$businessId","couponID": "$couponId", "expiration": "$expiration", "generated": "$generated","quantity": "$quantity",' + + '"state": "$state", "type": "$type", "targetProduct": "$targetProduct","lower": "$lower","upper": "$upper"}'; + } +} diff --git a/lib/Classes/API Clasess/Desire.dart b/lib/Classes/API Clasess/Desire.dart new file mode 100644 index 0000000..2b3682b --- /dev/null +++ b/lib/Classes/API Clasess/Desire.dart @@ -0,0 +1,41 @@ +class Desire { + String productName; + String productID; + String productImage; + String enlisted; + double price; + String category; + + Desire( + {this.productName, + this.enlisted, + this.productID, + this.productImage, + this.price, + this.category}); + factory Desire.fromJSON(Map json) { + return Desire( + productID: json["productID"], + productName: json["productName"], + productImage: json["productImage"], + enlisted: json["enlisted"], + category: json["category"], + price: double.tryParse(json["cost"].toString())); + } + + Map toJson() { + final Map data = Map(); + data['productID'] = this.productID; + data['productName'] = this.productName; + data['enlisted'] = this.enlisted; + data['productImage'] = this.productImage; + data['cost'] = this.price; + data['category'] = this.category; + return data; + } + + @override + String toString() { + return '{"productID": "$productID", "productName": "$productName", "enlisted": "$enlisted","productImage":"$productImage","cost":"$price","category":"$category"}'; + } +} diff --git a/lib/Classes/API Clasess/ExploreObject.dart b/lib/Classes/API Clasess/ExploreObject.dart new file mode 100644 index 0000000..c879edb --- /dev/null +++ b/lib/Classes/API Clasess/ExploreObject.dart @@ -0,0 +1,36 @@ +import 'package:teso/Classes/API%20Clasess/Product.dart'; + +class ExploreClass { + List trending; + List latest; + + ExploreClass({ + this.trending, + this.latest, + }); + factory ExploreClass.fromJSON(Map json) { + var trends = json["trending"] as List; + List trendProducts = + trends.map((e) => Product.fromJson(e)).toList(); + var newProducts = json["latest"] as List; + List newewst = + newProducts.map((e) => Product.fromJson(e)).toList(); + + return ExploreClass( + trending: trendProducts, + latest: newewst, + ); + } + + Map toJson() { + final Map data = Map(); + data['trending'] = this.trending; + data['latest'] = this.latest; + return data; + } + + @override + String toString() { + return '{"trending": "$trending", "latest": "$latest"}'; + } +} diff --git a/lib/Classes/API Clasess/FacebookUser.dart b/lib/Classes/API Clasess/FacebookUser.dart new file mode 100644 index 0000000..1f27787 --- /dev/null +++ b/lib/Classes/API Clasess/FacebookUser.dart @@ -0,0 +1,53 @@ +class FacebookUser { + String firstname; + String surname; + String email; + String gender; + String username; + String userGUID; + String country; + String pictureUri; + String deviceToken; + String referralCode; + + FacebookUser( + {this.firstname, + this.surname, + this.email, + this.gender, + this.username, + this.referralCode, + this.userGUID, + this.country, + this.pictureUri, + this.deviceToken}); + + factory FacebookUser.fromJSON(Map json) { + return FacebookUser( + firstname: json['firstname'], + surname: json['surname'], + email: json['email'], + gender: json['gender'], + userGUID: json['userGUID'], + username: json['username'], + country: json['country'], + pictureUri: json['pictureuri'], + referralCode: json['referral'], + deviceToken: json['devicetoken']); + } + + Map toJson() { + final Map data = Map(); + data['firstname'] = this.firstname; + data['surname'] = this.surname; + data['email'] = this.email; + data['gender'] = this.gender; + data['userGUID'] = this.userGUID; + data['username'] = this.username; + data['country'] = this.country; + data['pictureuri'] = this.pictureUri; + data['devicetoken'] = this.deviceToken; + data['referral'] = this.referralCode; + return data; + } +} diff --git a/lib/Classes/API Clasess/GoogleUser.dart b/lib/Classes/API Clasess/GoogleUser.dart new file mode 100644 index 0000000..63a653d --- /dev/null +++ b/lib/Classes/API Clasess/GoogleUser.dart @@ -0,0 +1,55 @@ +class GoogleUser { + String firstname; + String surname; + String email; + String gender; + String username; + String userGUID; + String country; + String pictureUri; + String deviceToken; + String referralCode; + + GoogleUser({ + this.firstname, + this.surname, + this.email, + this.gender, + this.username, + this.userGUID, + this.country, + this.pictureUri, + this.deviceToken, + this.referralCode, + }); + + factory GoogleUser.fromJSON(Map json) { + return GoogleUser( + firstname: json['firstname'], + surname: json['surname'], + email: json['email'], + gender: json['gender'], + userGUID: json['userGUID'], + username: json['username'], + country: json['country'], + pictureUri: json['pictureuri'], + deviceToken: json['devicetoken'], + referralCode: json['referral'], + ); + } + + Map toJson() { + final Map data = Map(); + data['firstname'] = this.firstname; + data['surname'] = this.surname; + data['email'] = this.email; + data['gender'] = this.gender; + data['userGUID'] = this.userGUID; + data['username'] = this.username; + data['country'] = this.country; + data['pictureuri'] = this.pictureUri; + data['devicetoken'] = this.deviceToken; + data['referral'] = this.referralCode; + return data; + } +} diff --git a/lib/Classes/API Clasess/MuxURL.dart b/lib/Classes/API Clasess/MuxURL.dart new file mode 100644 index 0000000..67d123c --- /dev/null +++ b/lib/Classes/API Clasess/MuxURL.dart @@ -0,0 +1 @@ +class MuxAuthURL {} diff --git a/lib/Classes/API Clasess/Post.dart b/lib/Classes/API Clasess/Post.dart new file mode 100644 index 0000000..c1d4af2 --- /dev/null +++ b/lib/Classes/API Clasess/Post.dart @@ -0,0 +1,51 @@ +class Post { + String postID; + DateTime timestamp; + String playbackID; + String publisherID; + String title; + String assetID; + String aspect; + String rendition; + + Post({ + this.postID, + this.playbackID, + this.publisherID, + this.title, + this.timestamp, + this.assetID, + this.aspect, + this.rendition, + }); + factory Post.fromJSON(Map json) { + return Post( + publisherID: json["publisherId"], + postID: json["postId"], + title: json["title"], + playbackID: json["playbackID"], + assetID: json["assetID"], + aspect: json["aspect"], + rendition: json["rendition"], + timestamp: DateTime.tryParse(json["timestamp"].toString())); + } + + Map toJson() { + final Map data = Map(); + data['publisherId'] = this.publisherID; + data['postId'] = this.postID; + data['playbackID'] = this.playbackID; + data['title'] = this.title; + data['timestamp'] = this.timestamp.toIso8601String(); + data['assetID'] = this.assetID; + data['aspect'] = this.aspect; + data['rendition'] = this.rendition; + return data; + } + + @override + String toString() { + return '{"publisherId": "$publisherID", "postId": "$postID", "playbackID": "$playbackID","title":"$title","timestamp":' + + '"$timestamp","assetID":"$assetID","aspect":"$aspect","rendition":"$rendition"}'; + } +} diff --git a/lib/Classes/API Clasess/PostFav.dart b/lib/Classes/API Clasess/PostFav.dart new file mode 100644 index 0000000..8826ed9 --- /dev/null +++ b/lib/Classes/API Clasess/PostFav.dart @@ -0,0 +1,34 @@ +class PostFav { + String postId; + String admirerId; + String timestamp; + String countId; + + PostFav({ + this.postId, + this.admirerId, + this.countId, + this.timestamp, + }); + factory PostFav.fromJSON(Map json) { + return PostFav( + countId: json["countId"], + postId: json["postId"], + admirerId: json["admirerId"], + timestamp: json["timestamp"]); + } + + Map toJson() { + final Map data = Map(); + data['countId'] = this.countId; + data['postId'] = this.postId; + data['admirerId'] = this.admirerId; + data['timestamp'] = this.timestamp; + return data; + } + + @override + String toString() { + return '{"countId": "$countId", "postId": "$postId","admirerId":"$admirerId","timestamp":"$timestamp"}'; + } +} diff --git a/lib/Classes/API Clasess/PostUpload.dart b/lib/Classes/API Clasess/PostUpload.dart new file mode 100644 index 0000000..67f95b6 --- /dev/null +++ b/lib/Classes/API Clasess/PostUpload.dart @@ -0,0 +1,38 @@ +class PostUpload { + String title; + String thumbnail; + String aspect; + String campaignID; + String path; + + PostUpload({ + this.title, + this.aspect, + this.campaignID, + this.path, + this.thumbnail, + }); + + PostUpload.fromJson(Map json) + : title = json['title'], + aspect = json['aspect'], + campaignID = json['campaignID'], + path = json['path'], + thumbnail = json['thumbnail']; + + Map toJson() { + final Map data = Map(); + data['title'] = this.title; + data['aspect'] = this.aspect; + data['campaignID'] = this.campaignID; + data['path'] = this.path; + data['thumbnail'] = this.thumbnail; + return data; + } + + @override + String toString() { + return '{"title": "$title","aspect": "$aspect", "campaignID": "$campaignID","path": "$path",' + + '"thumbnail": "$thumbnail"}'; + } +} diff --git a/lib/Classes/API Clasess/PostedAd.dart b/lib/Classes/API Clasess/PostedAd.dart new file mode 100644 index 0000000..a463380 --- /dev/null +++ b/lib/Classes/API Clasess/PostedAd.dart @@ -0,0 +1,60 @@ +import 'package:teso/Classes/API%20Clasess/CampAd.dart'; +import 'package:teso/Classes/API%20Clasess/CommentsPost.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/API%20Clasess/PostFav.dart'; +import 'package:teso/Classes/TesoUser.dart'; + +class PostedAd { + Post post; + List likes; + List comments; + bool campaignAd; + CampAd campAdvert; + TesoUser publisher; + + PostedAd({ + this.post, + this.likes, + this.comments, + List friends, + this.campaignAd, + this.campAdvert, + this.publisher, + }); + factory PostedAd.fromJSON(Map json) { + var favorites = json["likes"] as List; + List favs = favorites.map((e) => PostFav.fromJSON(e)).toList(); + var comments = json["comments"] as List; + List cmnt = + comments.map((e) => CommentsPost.fromJSON(e)).toList(); + + return PostedAd( + post: Post.fromJSON(json["post"]), + likes: favs, + comments: cmnt, + campaignAd: json["campaignAd"], + campAdvert: json["campaignAdvert"] != null + ? CampAd.fromJSON(json["campaignAdvert"]) + : null, + publisher: json["publisher"] != null + ? TesoUser.fromJSON(json["publisher"]) + : null, + ); + } + + Map toJson() { + final Map data = Map(); + data['post'] = this.post; + data['likes'] = this.likes; + data['comments'] = this.comments; + data['campaignAd'] = this.campaignAd; + data['campaignAdvert'] = this.campaignAd; + data['publisher'] = this.publisher; + return data; + } + + @override + String toString() { + return '{"post": "$post", "likes": "$likes", "comments": "$comments","campaignAd" :"$campaignAd","campaignAdvert":"$campAdvert", "publisher":"$publisher"}'; + } +} diff --git a/lib/Classes/API Clasess/PostionAP.dart b/lib/Classes/API Clasess/PostionAP.dart new file mode 100644 index 0000000..de6a2e7 --- /dev/null +++ b/lib/Classes/API Clasess/PostionAP.dart @@ -0,0 +1,25 @@ +class Position1 { + double latitude; + double longitude; + + Position1({ + this.latitude, + this.longitude, + }); + + Position1.fromJSON(Map json) + : latitude = double.parse((json['latitude']).toString()), + longitude = double.parse((json['longitude']).toString()); + + Map toJson() { + final Map data = Map(); + data['latitude'] = this.latitude; + data['longitude'] = this.longitude; + return data; + } + + @override + String toString() { + return '{"latitude": "$latitude","longitude": "$longitude"}'; + } +} diff --git a/lib/Classes/API Clasess/Product.dart b/lib/Classes/API Clasess/Product.dart new file mode 100644 index 0000000..aa01850 --- /dev/null +++ b/lib/Classes/API Clasess/Product.dart @@ -0,0 +1,47 @@ +class Product { + String productName; + String businessID; + String productDesc; + String productID; + String categoryID; + double unitPrice; + String productImage; + + Product( + {this.businessID, + this.categoryID, + this.productDesc, + this.productID, + this.productImage, + this.productName, + this.unitPrice}); + + Product.fromJson(Map json) + : businessID = + json['businessId'] != null ? json['businessId'].toString() : "....", + categoryID = + json['category'] != null ? json['category'].toString() : "....", + productDesc = json['description'], + productID = json['productId'], + productImage = json['productImage'], + productName = json['name'], + unitPrice = double.parse((json['unitPrice']).toString()); + + Map toJson() { + final Map data = Map(); + data['businessId'] = this.businessID; + data['category'] = this.categoryID; + data['description'] = this.productDesc; + data['productId'] = this.productID; + data['productImage'] = this.productImage; + data['name'] = this.productName; + data['unitPrice'] = this.unitPrice; + return data; + } + + @override + String toString() { + return '{"businessId": "$businessID","category": "$categoryID", "description": "$productDesc","productId": "$productID",' + + '"productImage": "$productImage", "name": "$productName", "unitPrice": "$unitPrice"}'; + } +} diff --git a/lib/Classes/API Clasess/ProximityCoupon.dart b/lib/Classes/API Clasess/ProximityCoupon.dart new file mode 100644 index 0000000..be40af4 --- /dev/null +++ b/lib/Classes/API Clasess/ProximityCoupon.dart @@ -0,0 +1,80 @@ +import 'TesoBusinessDetail.dart'; + +class ProximityCoupon { + String couponId; + TesoBusinessDetail business; + String targetName; + String targetID; + String targetImage; + double targetCost; + String tagretDescription; + String type; + int quantity; + DateTime expiration; + double lowerLimit; + double upperLimit; + String state; + String condition; + + ProximityCoupon({ + this.business, + this.couponId, + this.expiration, + this.targetCost, + this.quantity, + this.state, + this.targetID, + this.targetImage, + this.targetName, + this.tagretDescription, + this.lowerLimit, + this.upperLimit, + this.type, + this.condition, + }); + + factory ProximityCoupon.fromJSON(Map json) { + return ProximityCoupon( + business: TesoBusinessDetail.fromJSON(json['business']), + couponId: json['couponId'], + targetID: json['targetID'], + expiration: DateTime.parse(json['expiration']), + targetCost: double.parse((json['targetCost']).toString()), + targetName: json['targetName'], + targetImage: json['targetImage'], + tagretDescription: json['targetDescription'], + lowerLimit: double.parse((json['lowerLimit']).toString()), + upperLimit: double.parse((json['upperLimit']).toString()), + quantity: int.parse(json['quantity'].toString()), + state: json['state'], + type: json['type'], + condition: json['condition']); + } + + Map toJson() { + final Map data = Map(); + data['business'] = this.business; + data['couponId'] = this.couponId; + data['target'] = this.targetID; + data['targetID'] = this.targetID; + data['targetName'] = this.targetName; + data['targetCost'] = this.targetCost; + data['targetImage'] = this.targetImage; + data['targetDescription'] = this.tagretDescription; + data['lowerLimit'] = this.lowerLimit; + data['upperLimit'] = this.upperLimit; + data['expiration'] = this.expiration; + data['quantity'] = this.quantity; + data['state'] = this.state; + data['type'] = this.type; + data['condition'] = this.condition; + return data; + } + + @override + String toString() { + return '{"businessId": "$business", "couponId": "$couponId", "targetID": "$targetID", "couponId": "$couponId", "expiration": "$expiration"' + + '"quantity": "$quantity", "state": "$state", "type": "$type", "lowerLimit":"$lowerLimit","upperLimit":"$upperLimit","targetName":"$targetName",' + + '"targetImage":"$targetImage","targetCost":"$targetCost","targetDescription":"$tagretDescription","condition":"$condition"}'; + } +} diff --git a/lib/Classes/API Clasess/ReferralClass.dart b/lib/Classes/API Clasess/ReferralClass.dart new file mode 100644 index 0000000..d1750b6 --- /dev/null +++ b/lib/Classes/API Clasess/ReferralClass.dart @@ -0,0 +1,11 @@ +class ReferralClass { + String referrer; + String referred; + bool reward; + + ReferralClass({ + this.referred, + this.referrer, + this.reward, + }); +} diff --git a/lib/Classes/API Clasess/Registrar.dart b/lib/Classes/API Clasess/Registrar.dart new file mode 100644 index 0000000..0198e03 --- /dev/null +++ b/lib/Classes/API Clasess/Registrar.dart @@ -0,0 +1,26 @@ +import 'package:teso/Classes/API%20Clasess/TesoUserDetail.dart'; +import 'package:teso/Classes/API%20Clasess/UserAuth.dart'; + +class Registrar { + UserAuth authentication; + TesoUserDetail user; + String referral; + Registrar({ + this.authentication, + this.user, + this.referral, + }); + + Map toJson() { + final Map data = Map(); + data['user'] = this.user; + data['authentication'] = this.authentication; + data['referral'] = this.referral; + return data; + } + + @override + String toString() { + return '{"user": "$user", "authentication": "$authentication"}'; + } +} diff --git a/lib/Classes/API Clasess/ResetClass.dart b/lib/Classes/API Clasess/ResetClass.dart new file mode 100644 index 0000000..bafec46 --- /dev/null +++ b/lib/Classes/API Clasess/ResetClass.dart @@ -0,0 +1,30 @@ +class ResetClass { + String password; + String resetGuid; + String resetcode; + + ResetClass({ + this.password, + this.resetGuid, + this.resetcode, + }); + factory ResetClass.fromJSON(Map json) { + return ResetClass( + password: json["password"], + resetGuid: json["resetGuid"], + resetcode: json["resetcode"]); + } + + Map toJson() { + final Map data = Map(); + data['password'] = this.password; + data['resetGuid'] = this.resetGuid; + data['resetcode'] = this.resetcode; + return data; + } + + @override + String toString() { + return '{"password": "$password", "resetGuid": "$resetGuid","resetcode":$resetcode}'; + } +} diff --git a/lib/Classes/API Clasess/SilverPurchaseRequest.dart b/lib/Classes/API Clasess/SilverPurchaseRequest.dart new file mode 100644 index 0000000..4bac07c --- /dev/null +++ b/lib/Classes/API Clasess/SilverPurchaseRequest.dart @@ -0,0 +1,36 @@ +class SilverPurchaseRequest { + int coinamount; + String method; + double amount; + + SilverPurchaseRequest({ + this.coinamount, + this.method, + this.amount, + }); + + factory SilverPurchaseRequest.fromJSON(Map json) { + return SilverPurchaseRequest( + coinamount: json["coinamount"], + method: json["method"], + amount: json["amount"], + ); + } + + Map toJson() { + final Map data = Map(); + try { + data['coinamount'] = this.coinamount; + data['method'] = this.method; + data['amount'] = this.amount; + } catch (e) { + print(e); + } + return data; + } + + @override + String toString() { + return '{"coinamount": "$coinamount", "costamount": "$amount", "method": "$method"}'; + } +} diff --git a/lib/Classes/API Clasess/TesoBusinessDetail.dart b/lib/Classes/API Clasess/TesoBusinessDetail.dart new file mode 100644 index 0000000..d8d016d --- /dev/null +++ b/lib/Classes/API Clasess/TesoBusinessDetail.dart @@ -0,0 +1,70 @@ +class TesoBusinessDetail { + String businessId; + String handle; + String businessName; + String businessTin; + String businessDescription; + String businessCategory; + String businessAddress; + String businessContact; + String businessLogo; + DateTime dateOfEst; + String businessEmail; + String businessLat; + String businessLng; + + TesoBusinessDetail( + {this.businessId, + this.businessAddress, + this.businessCategory, + this.businessContact, + this.businessDescription, + this.businessEmail, + this.businessLat, + this.businessLng, + this.businessLogo, + this.businessName, + this.businessTin, + this.dateOfEst, + this.handle}); + + TesoBusinessDetail.fromJSON(Map json) + : businessId = json['businessId'], + businessAddress = json['businessAddress'], + businessCategory = json['businessCategory'], + businessContact = json['businessContact'], + businessDescription = json['businessDescription'], + businessEmail = json['businessEmail'], + businessLat = json['businessLat'], + businessLng = json['businessLng'], + businessLogo = json['businessLogo'], + businessName = json['businessName'], + businessTin = json['businessTin'], + dateOfEst = DateTime.tryParse((json['dateOfEst']).toString()), + handle = json['handle']; + + Map toJson() { + final Map data = Map(); + data['businessId'] = this.businessId; + data['businessAddress'] = this.businessAddress; + data['businessCategory'] = this.businessCategory; + data['businessContact'] = this.businessContact; + data['businessDescription'] = this.businessDescription; + data['businessEmail'] = this.businessEmail; + data['businessLat'] = this.businessLat; + data['businessLng'] = this.businessLng; + data['businessLogo'] = this.businessLogo; + data['businessName'] = this.businessName; + data['businessTin'] = this.businessTin; + data['dateOfEst'] = this.dateOfEst.toIso8601String(); + data['handle'] = this.handle; + return data; + } + + @override + String toString() { + return '{"businessId": "$businessId","businessAddress": "$businessAddress", "businessCategory": "$businessCategory","businessContact": "$businessContact",' + + '"businessDescription": "$businessDescription", "businessEmail": "$businessEmail", "businessLat": "$businessLat","businessLng": "$businessLng","businessLogo":' + + '"$businessLogo","businessName": "$businessName","businessTin": "$businessTin","dateOfEst": "$dateOfEst","handle": "$handle"}'; + } +} diff --git a/lib/Classes/API Clasess/TesoUserDetail.dart b/lib/Classes/API Clasess/TesoUserDetail.dart new file mode 100644 index 0000000..bb98e11 --- /dev/null +++ b/lib/Classes/API Clasess/TesoUserDetail.dart @@ -0,0 +1,81 @@ +import 'package:teso/Classes/TesoUser.dart'; + +class TesoUserDetail { + String userGUID; + String username; + String firstname; + String surname; + String description; + String address; + String email; + String thumbnailDp; + String phonenumber; + String country; + String gender; + DateTime dateOfBirth; + + TesoUserDetail( + {this.username, + this.userGUID, + this.firstname, + this.surname, + this.address, + this.country, + this.description, + this.dateOfBirth, + this.email, + this.gender, + this.phonenumber, + this.thumbnailDp}); + + TesoUserDetail.fromJSON(Map json) + : username = json['username'], + userGUID = json['userGUID'], + firstname = json['firstname'], + surname = json['surname'], + address = json['address'], + country = json['country'], + dateOfBirth = DateTime.tryParse(json["dateOfBirth"].toString()), + description = json['description'], + email = json['email'], + gender = json['gender'], + phonenumber = json['phonenumber'], + thumbnailDp = json['thumbnailDp']; + + TesoUserDetail.fromUSER(TesoUser user) + : userGUID = user.userGUID, + username = user.username, + firstname = user.firstname, + surname = user.lastname, + address = user.address, + country = user.country, + dateOfBirth = user.dateOfBirth, + description = user.description, + email = user.email, + gender = user.gender, + phonenumber = user.phonenumber, + thumbnailDp = user.thumbnail_dp; + + Map toJson() { + final Map data = Map(); + data['username'] = this.username; + data['userGUID'] = this.userGUID; + data['firstname'] = this.firstname; + data['surname'] = this.surname; + data['description'] = this.description; + data['address'] = this.address; + data['phonenumber'] = this.phonenumber; + data['dateOfBirth'] = this.dateOfBirth.toIso8601String(); + data['thumbnailDp'] = this.thumbnailDp; + data['email'] = this.email; + data['gender'] = this.gender; + data['country'] = this.country; + return data; + } + + @override + String toString() { + return '{"userGUID": "$userGUID","firstname": "$firstname", "username": "$username","surname": "$surname", "description": "$description", "address": "$address", "phonenumber": "$phonenumber",' + + '"thumbnailDp": "$thumbnailDp","email": "$email","gender": "$gender","country": "$country","dateOfBirth":"$dateOfBirth"}'; + } +} diff --git a/lib/Classes/API Clasess/ThirdPerson.dart b/lib/Classes/API Clasess/ThirdPerson.dart new file mode 100644 index 0000000..ebe56b3 --- /dev/null +++ b/lib/Classes/API Clasess/ThirdPerson.dart @@ -0,0 +1,45 @@ +import 'package:teso/Classes/TesoUser.dart'; +import 'Post.dart'; + +class ThirdPerson { + TesoUser user; + List posts = []; + List following = []; + List friends = []; + String relation; + + ThirdPerson({ + this.user, + this.posts, + this.following, + this.friends, + this.relation, + }); + + factory ThirdPerson.fromJSON(Map json) { + var posts = json["posts"] as List; + List adverts = posts.map((e) => Post.fromJSON(e)).toList(); + return ThirdPerson( + user: json["user"] != null ? TesoUser.fromJSON(json["user"]) : null, + posts: adverts != null ? adverts : [], + following: json["following"] as List, + friends: json["friends"] as List, + relation: json["relation"], + ); + } + + Map toJson() { + final Map data = Map(); + data['posts'] = this.posts; + data['user'] = this.user; + data['following'] = this.following; + data['friends'] = this.friends; + data['relation'] = this.relation; + return data; + } + + @override + String toString() { + return '{"posts": "$posts", "user": "$user","relation":"$relation","friends":"$friends","following":"$following"}'; + } +} diff --git a/lib/Classes/API Clasess/TokenHandler.dart b/lib/Classes/API Clasess/TokenHandler.dart new file mode 100644 index 0000000..1e511b8 --- /dev/null +++ b/lib/Classes/API Clasess/TokenHandler.dart @@ -0,0 +1,30 @@ +import 'package:teso/Classes/TesoUser.dart'; + +class TokenHandler { + String tokenTeso; + String tokenFirebase; + TesoUser user; + + TokenHandler({this.tokenTeso, this.user, this.tokenFirebase}); + + factory TokenHandler.fromJSON(Map json) { + return TokenHandler( + tokenTeso: json['tokenTeso'], + tokenFirebase: json['tokenFirebase'] != null ? json['tokenFirebase'] : "", + user: TesoUser.fromJSON(json['user']), + ); + } + + Map toJson() { + final Map data = Map(); + data['tokenTeso'] = this.tokenTeso; + data['tokenFirebase'] = this.tokenFirebase; + data['user'] = this.user; + return data; + } + + @override + String toString() { + return '{"user": "$user", "tokenTeso": "$tokenTeso", "tokenFirebase": "$tokenFirebase"}'; + } +} diff --git a/lib/Classes/API Clasess/TwitterUser.dart b/lib/Classes/API Clasess/TwitterUser.dart new file mode 100644 index 0000000..9badd07 --- /dev/null +++ b/lib/Classes/API Clasess/TwitterUser.dart @@ -0,0 +1,53 @@ +class TwitterUser { + String firstname; + String surname; + String email; + String gender; + String username; + String userGUID; + String country; + String pictureUri; + String deviceToken; + String referralCode; + + TwitterUser( + {this.firstname, + this.surname, + this.email, + this.gender, + this.username, + this.userGUID, + this.country, + this.pictureUri, + this.referralCode, + this.deviceToken}); + + factory TwitterUser.fromJSON(Map json) { + return TwitterUser( + firstname: json['firstname'], + surname: json['surname'], + email: json['email'], + gender: json['gender'], + userGUID: json['userGUID'], + username: json['username'], + country: json['country'], + pictureUri: json['pictureuri'], + referralCode: json['referral'], + deviceToken: json['devicetoken']); + } + + Map toJson() { + final Map data = Map(); + data['firstname'] = this.firstname; + data['surname'] = this.surname; + data['email'] = this.email; + data['gender'] = this.gender; + data['userGUID'] = this.userGUID; + data['username'] = this.username; + data['country'] = this.country; + data['pictureuri'] = this.pictureUri; + data['devicetoken'] = this.deviceToken; + data['referral'] = this.referralCode; + return data; + } +} diff --git a/lib/Classes/API Clasess/UserAuth.dart b/lib/Classes/API Clasess/UserAuth.dart new file mode 100644 index 0000000..d935568 --- /dev/null +++ b/lib/Classes/API Clasess/UserAuth.dart @@ -0,0 +1,39 @@ +class UserAuth { + String username; + String password; + String accountType; + String status; + String deviceToken; + String referralCode; + UserAuth({ + this.username, + this.password, + this.accountType, + this.status, + this.deviceToken, + this.referralCode, + }); + UserAuth.fromJSON(Map json) + : username = json['username'], + password = json['password'], + accountType = json['accountType'], + status = json['status'], + referralCode = json['referral'], + deviceToken = json['deviceToken']; + + Map toJson() { + final Map data = Map(); + data['username'] = this.username; + data['password'] = this.password; + data['accountType'] = this.accountType; + data['status'] = this.status; + data['deviceToken'] = this.deviceToken; + data['referral'] = this.referralCode; + return data; + } + + @override + String toString() { + return '{"username": "$username", "password": "$password","accountType": "$accountType", "status": "$status","deviceToken": "$deviceToken"}'; + } +} diff --git a/lib/Classes/API Clasess/UserFavCategory.dart b/lib/Classes/API Clasess/UserFavCategory.dart new file mode 100644 index 0000000..6a2a014 --- /dev/null +++ b/lib/Classes/API Clasess/UserFavCategory.dart @@ -0,0 +1,28 @@ +class UserFavCategory { + String userGuid; + String categoryCode; + String countID; + + UserFavCategory({ + this.userGuid, + this.categoryCode, + this.countID, + }); + UserFavCategory.fromJSON(Map json) + : userGuid = json['userguid'], + categoryCode = json['catcode'], + countID = json['countid']; + + Map toJson() { + final Map data = Map(); + data['userguid'] = this.userGuid; + data['catcode'] = this.categoryCode; + data['countid'] = this.countID; + return data; + } + + @override + String toString() { + return '{"userguid": "$userGuid", "catcode": "$categoryCode","countid": "$countID"}'; + } +} diff --git a/lib/Classes/API Clasess/UserFinance.dart b/lib/Classes/API Clasess/UserFinance.dart new file mode 100644 index 0000000..2feadd9 --- /dev/null +++ b/lib/Classes/API Clasess/UserFinance.dart @@ -0,0 +1,23 @@ +class UserFinance { + String userGUID; + int gold; + int silver; + + UserFinance({ + this.userGUID, + this.gold, + this.silver, + }); + factory UserFinance.fromJSON(Map json) { + return UserFinance( + userGUID: json["userGuid"], + gold: json["gold"], + silver: json["silver"], + ); + } + + @override + String toString() { + return '{"userGuid": "$userGUID", "gold": "$gold", "silver": "$silver"}'; + } +} diff --git a/lib/Classes/ChatMessage.dart b/lib/Classes/ChatMessage.dart new file mode 100644 index 0000000..9efe4fb --- /dev/null +++ b/lib/Classes/ChatMessage.dart @@ -0,0 +1,22 @@ +class ChatMessage { + String idFrom; + String idTo; + String content; + int type; + DateTime timestamp; + + ChatMessage({ + this.idFrom, + this.idTo, + this.content, + this.type, + this.timestamp, + }); + + ChatMessage.fromJson(Map json) + : idFrom = json['idFrom'], + idTo = json['idTo'], + content = json['content'], + type = json['type'], + timestamp = json['timestamp']; +} diff --git a/lib/Classes/ColorFilters.dart b/lib/Classes/ColorFilters.dart new file mode 100644 index 0000000..776a3f8 --- /dev/null +++ b/lib/Classes/ColorFilters.dart @@ -0,0 +1,10 @@ +import 'package:flutter/painting.dart'; + +class ColorFilter { + Color code; + String name; + ColorFilter({ + this.code, + this.name, + }); +} diff --git a/lib/Classes/Connection.dart b/lib/Classes/Connection.dart new file mode 100644 index 0000000..44dc966 --- /dev/null +++ b/lib/Classes/Connection.dart @@ -0,0 +1,51 @@ +import 'dart:async'; +import 'package:connectivity/connectivity.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class MyConnectivity { + MyConnectivity._internal(); + + static final MyConnectivity _instance = MyConnectivity._internal(); + + static MyConnectivity get instance => _instance; + + Connectivity connectivity = Connectivity(); + + StreamController controller = StreamController.broadcast(); + + Stream get myStream => controller.stream; + + void initialise() async { + ConnectivityResult result = await connectivity.checkConnectivity(); + _checkStatus(result); + connectivity.onConnectivityChanged.listen((result) { + _checkStatus(result); + }); + } + + void _checkStatus(ConnectivityResult result) async { + bool isOnline = false; + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + // 'Content-type': 'application/json', + 'Authorization': prefs.getString("tokensTeso") + }; + var register2 = serverLocation + 'serverstatus'; + var client1 = await http + .get(Uri.parse(register2), headers: requestHeaders) + .timeout(Duration(seconds: 10)); + if (client1.statusCode == 200) { + await prefs.setString("tokensTeso", "Bearer " + client1.body); + isOnline = true; + } + } catch (e) { + isOnline = false; + } + controller.sink.add({result: isOnline}); + } + + void disposeStream() => controller.close(); +} diff --git a/lib/Classes/CouponRateCalculator.dart b/lib/Classes/CouponRateCalculator.dart new file mode 100644 index 0000000..fce9f2e --- /dev/null +++ b/lib/Classes/CouponRateCalculator.dart @@ -0,0 +1,32 @@ +class CouponRateCalculator { + static int getRate(double discount) { + if (discount < 100) { + String discounted = discount.toStringAsFixed(1); + String first = discounted.substring(0, discounted.indexOf(".")); + String last = discounted.substring(discounted.indexOf(".") + 1); + + int firstNumber = int.parse(first); + int lastNumber = int.parse(last); + if (discount < 0.51) { + return 0; + } else if (discount < 2) { + return 1; + } else if (firstNumber < lastNumber) { + return lastNumber; + } else if (firstNumber > lastNumber) { + return firstNumber; + } else { + return firstNumber; + } + } else if (discount < 1000) { + double result = discount % 100; + if (result == 0) { + return 100; + } else { + return result.ceil(); + } + } else { + return 100; + } + } +} diff --git a/lib/Classes/CustomCacheManager.dart b/lib/Classes/CustomCacheManager.dart new file mode 100644 index 0000000..5116aab --- /dev/null +++ b/lib/Classes/CustomCacheManager.dart @@ -0,0 +1,14 @@ +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; + +class CustomCacheManager { + static const key = 'customCacheKey'; + static CacheManager instance = CacheManager( + Config( + key, + stalePeriod: const Duration(hours: 1), + maxNrOfCacheObjects: 20, + repo: JsonCacheInfoRepository(databaseName: key), + fileService: HttpFileService(), + ), + ); +} diff --git a/lib/Classes/Firebase/Comments.dart b/lib/Classes/Firebase/Comments.dart new file mode 100644 index 0000000..8a81d80 --- /dev/null +++ b/lib/Classes/Firebase/Comments.dart @@ -0,0 +1,29 @@ +class FBComments { + String postID; + DateTime timestamp; + String thumbnail; + String commenterID; + String commenter; + String commentID; + String comment; + + FBComments( + {this.postID, + this.comment, + this.commentID, + this.commenter, + this.commenterID, + this.thumbnail, + this.timestamp}); + factory FBComments.fromJSON(Map json) { + return FBComments( + comment: json["comment"], + commentID: json["commentID"], + commenter: json["commenter"], + commenterID: json["commenterID"], + thumbnail: json["thumbnail"], + postID: json["post"], + timestamp: DateTime.fromMillisecondsSinceEpoch(json["timestamp"]), + ); + } +} diff --git a/lib/Classes/Firebase/Posts.dart b/lib/Classes/Firebase/Posts.dart new file mode 100644 index 0000000..6643953 --- /dev/null +++ b/lib/Classes/Firebase/Posts.dart @@ -0,0 +1,40 @@ +class FBPosts { + String postID; + DateTime timestamp; + String playbackID; + String publisherID; + String title; + String assetID; + String rendition; + String aspect; + String campaignID; + int likes; + int comments; + + FBPosts( + {this.postID, + this.playbackID, + this.publisherID, + this.title, + this.timestamp, + this.assetID, + this.rendition, + this.aspect, + this.campaignID, + this.comments, + this.likes}); + factory FBPosts.fromJSON(Map json) { + return FBPosts( + publisherID: json["publisher"], + postID: json["postId"], + title: json["title"], + playbackID: json["playbackID"], + assetID: json["assetID"], + rendition: json["rendition"], + aspect: json["aspect"], + likes: json["likes"], + campaignID: json["campaignId"], + comments: json["comments"], + timestamp: DateTime.fromMillisecondsSinceEpoch(json["timestamp"])); + } +} diff --git a/lib/Classes/NotificationSpliter.dart b/lib/Classes/NotificationSpliter.dart new file mode 100644 index 0000000..49d6e9d --- /dev/null +++ b/lib/Classes/NotificationSpliter.dart @@ -0,0 +1,103 @@ +import 'dart:convert'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:url_launcher/url_launcher.dart'; + +class NotificationSplitter { + static Future getPayload(data, context) async { + Payload payload = new Payload(); + switch (data["notificationType"]) { + case "chats": + payload.loadID = "TESN004"; + payload.load1 = data["senderID"]; + payload.load2 = data["firstname"]; + payload.load3 = data["surname"]; + return payload; + break; + case "likes": + Provider.of(context, listen: false).pullAds(); + payload.loadID = "TESN000"; + payload.load1 = data["post"]; + return payload; + break; + case "comments": + Provider.of(context, listen: false).pullAds(); + payload.loadID = "TESN000"; + payload.load1 = data["post"]; + return payload; + break; + case "friendapproval": + Provider.of(context, listen: false).loadFriends(); + payload.loadID = "TESN000"; + return payload; + break; + case "friendrequest": + payload.loadID = "TESN000"; + return payload; + break; + case "gifted": + Provider.of(context, listen: false).getCoupons(); + payload.loadID = "TESN000"; + payload.load1 = data["couponID"]; + return payload; + break; + case "cancellation": + Provider.of(context, listen: false).getCoupons(); + payload.loadID = "TESN000"; + payload.load1 = data["couponID"]; + return payload; + break; + case "personalized": + payload.loadID = "TESN000"; + payload.load1 = data["coupon"]; + payload.load2 = data["notificationType"]; + payload.load3 = data["documentRef"]; + payload.load4 = data["couponCondition"]; + payload.load5 = data["businessName"]; + payload.load6 = data["originalPrice"]; + payload.load7 = data["productName"]; + return payload; + break; + case "campaign": + var coup = jsonDecode(data["campaign"]); + payload.loadID = "TESN005"; + payload.load1 = coup["businessID"]; + payload.load2 = coup["campaignID"]; + payload.load3 = coup["campaignDescription"]; + payload.load4 = coup["status"]; + payload.load5 = coup["targetProduct"]; + payload.load6 = coup["title"]; + payload.load7 = coup["goldReward"].toString(); + payload.load8 = coup["startDate"].toString(); + return payload; + break; + case "reward": + payload.loadID = "TESN0R0"; + return payload; + break; + case "expired": + Provider.of(context, listen: false).getCoupons(); + payload.loadID = "TESN000"; + payload.load1 = data["couponID"]; + return payload; + break; + case "refund": + Provider.of(context, listen: false).getUserInformation(); + payload.loadID = "TESN000"; + payload.load1 = data["couponID"]; + return payload; + break; + case "coinpurchase": + Provider.of(context, listen: false).getUserInformation(); + payload.loadID = "TESN000"; + payload.load1 = data["orderID"]; + await closeWebView(); + return payload; + break; + default: + return payload; + break; + } + } +} diff --git a/lib/Classes/Payload.dart b/lib/Classes/Payload.dart new file mode 100644 index 0000000..e3e2b60 --- /dev/null +++ b/lib/Classes/Payload.dart @@ -0,0 +1,63 @@ +class Payload { + String loadID; + String load1; + String load2; + String load3; + String load4; + String load5; + String load6; + String load7; + String load8; + String load9; + String load10; + + Payload({ + this.load1, + this.load2, + this.load3, + this.load4, + this.load5, + this.load6, + this.load7, + this.load8, + this.load9, + this.load10, + this.loadID, + }); + + factory Payload.fromJSON(Map json) { + return Payload( + load1: json['load1'].toString(), + load2: json['load2'].toString(), + load3: json['load3'].toString(), + load4: json['load4'].toString(), + load5: json['load5'].toString(), + load6: json['load6'].toString(), + load7: json['load7'].toString(), + load8: json['load8'].toString(), + load9: json['load9'].toString(), + load10: json['load10'].toString(), + loadID: json['loadID'], + ); + } + Map toJson() { + final Map data = Map(); + data['load1'] = this.load1; + data['load2'] = this.load2; + data['load3'] = this.load3; + data['load4'] = this.load4; + data['load5'] = this.load5; + data['load6'] = this.load6; + data['load7'] = this.load7; + data['load8'] = this.load8; + data['load9'] = this.load9; + data['load10'] = this.load10; + data['loadID'] = this.loadID; + return data; + } + + @override + String toString() { + return '{"load1": "$load1","load2": "$load2","load3": "$load3","load4": "$load4","load5": "$load5","load6": "$load6","load7": "$load7","load8": "$load8","load9": "$load9","load10": "$load10","loadID": "$loadID"}'; + } +} diff --git a/lib/Classes/Product.dart b/lib/Classes/Product.dart new file mode 100644 index 0000000..4163880 --- /dev/null +++ b/lib/Classes/Product.dart @@ -0,0 +1,47 @@ +class Product { + String itemID; + String name; + String shopName; + String shopLocation; + String country; + String duration; + String adShort; + String adFull; + + Product( + {this.itemID, + this.name, + this.shopName, + this.shopLocation, + this.country, + this.duration, + this.adShort, + this.adFull}); + Product.fromJSON(Map json) + : itemID = json['productID'], + name = json['name'], + shopName = json['shopName'], + shopLocation = json['shopLocation'], + duration = json['duration'], + adShort = json['adShort'], + adFull = json['adFull'], + country = json['country']; + + Map toJson() { + final Map data = Map(); + data['itemID'] = this.itemID; + data['name'] = this.name; + data['shopName'] = this.shopName; + data['shopLocation'] = this.shopLocation; + data['country'] = this.country; + data['duration'] = this.duration; + data['adShort'] = this.adShort; + data['adFull'] = this.adFull; + return data; + } + + @override + String toString() { + return '{"itemID":"$itemID","name": "$name", "shopName": "$shopName","shopLocation": "$shopLocation","country":"$country","duration":"$duration","adFull":"$adFull","adShort":"$adShort"}'; + } +} diff --git a/lib/Classes/QRClass.dart b/lib/Classes/QRClass.dart new file mode 100644 index 0000000..d2ab12c --- /dev/null +++ b/lib/Classes/QRClass.dart @@ -0,0 +1,15 @@ +class QRClass { + String code; + String type; + List rawBytes; + + QRClass({ + this.code, + this.type, + this.rawBytes, + }); + QRClass.fromJson(Map json) + : code = json['code'], + type = json['type'], + rawBytes = json['rawBytes']; +} diff --git a/lib/Classes/ReportedContent.dart b/lib/Classes/ReportedContent.dart new file mode 100644 index 0000000..4ba572c --- /dev/null +++ b/lib/Classes/ReportedContent.dart @@ -0,0 +1,37 @@ +import 'dart:core'; + +class ReportedContent { + String userGuid; + String postID; + String publisherID; + DateTime timestamp; + int report; + + ReportedContent( + {this.postID, + this.publisherID, + this.report, + this.timestamp, + this.userGuid}); + ReportedContent.fromJSON(Map json) + : postID = json["postID"], + publisherID = json['publisherID'], + report = int.parse(json['report']), + userGuid = json['userGuid'], + timestamp = DateTime.parse(json['timestamp']); + + Map toJson() { + final Map data = Map(); + data['postID'] = this.postID; + data['publisherID'] = this.publisherID; + data['report'] = this.report; + data['userGuid'] = this.userGuid; + data['timestamp'] = this.timestamp; + return data; + } + + @override + String toString() { + return '{"postID":"$postID","publisherID": "$publisherID", "report": "$report","userGuid": "$userGuid","timestamp":"$timestamp"}'; + } +} diff --git a/lib/Classes/Router.dart b/lib/Classes/Router.dart new file mode 100644 index 0000000..c52e7a1 --- /dev/null +++ b/lib/Classes/Router.dart @@ -0,0 +1,3 @@ +class LinkRouter { + static getPayload(data, context) async {} +} diff --git a/lib/Classes/ScalePosition.dart b/lib/Classes/ScalePosition.dart new file mode 100644 index 0000000..51c8210 --- /dev/null +++ b/lib/Classes/ScalePosition.dart @@ -0,0 +1,27 @@ +class ScaledPosition { + static int getWidth( + double screenwidth, double videowidth, double screenposition) { + int scaledWidth; + if (screenwidth < videowidth) { + scaledWidth = ((screenwidth / videowidth) * screenposition).round(); + } else if (screenwidth == videowidth) { + scaledWidth = screenposition.round(); + } else { + scaledWidth = ((videowidth / screenwidth) * screenposition).round(); + } + return scaledWidth; + } + + static int getHeight( + double screenheight, double videoheight, double screenposition) { + int scaledHeight; + if (screenheight < videoheight) { + scaledHeight = ((screenheight / videoheight) * screenposition).round(); + } else if (screenheight == videoheight) { + scaledHeight = screenposition.round(); + } else { + scaledHeight = ((videoheight / screenheight) * screenposition).round(); + } + return scaledHeight; + } +} diff --git a/lib/Classes/TesoShop.dart b/lib/Classes/TesoShop.dart new file mode 100644 index 0000000..0135843 --- /dev/null +++ b/lib/Classes/TesoShop.dart @@ -0,0 +1,70 @@ +class TesoShop { + String shopID; + String shopName; + String shopTin; + String shopAddress; + double latitude; + double longitude; + String shopPhone; + DateTime dateEst; + String handle; + String categoryShop; + String shopDescription; + String logo; + String email; + + TesoShop( + {this.shopID, + this.logo, + this.shopName, + this.shopAddress, + this.latitude, + this.longitude, + this.shopPhone, + this.dateEst, + this.handle, + this.categoryShop, + this.shopDescription, + this.email, + this.shopTin}); + + TesoShop.fromJSON(Map json) + : shopID = json["businessId"].toString(), + shopName = json["businessName"].toString(), + shopAddress = json["businessAddress"].toString(), + latitude = double.tryParse((json["businessLat"]).toString()), + longitude = double.tryParse((json["businessLng"]).toString()), + shopPhone = json["businessContact"].toString(), + dateEst = DateTime.tryParse((json['dateOfEst']).toString()), + handle = json['handle'].toString(), + categoryShop = json['businessCategory'].toString(), + shopDescription = json['businessDescription'].toString(), + logo = json['businessLogo'].toString(), + email = json['businessEmail'].toString(), + shopTin = json["businessTin"].toString(); + + Map toJson() { + final Map data = Map(); + data['businessId'] = this.shopID; + data['businessName'] = this.shopName; + data['businessLng'] = this.longitude; + data['businessLat'] = this.latitude; + data['businessAddress'] = this.shopAddress; + data['businessContact'] = this.shopPhone; + data['businessEmail'] = this.email; + data['dateOfEst'] = this.dateEst; + data['businessCategory'] = this.categoryShop; + data['businessTin'] = this.shopTin; + data['businessDescription'] = this.shopDescription; + data['businessLogo'] = this.logo; + data['handle'] = this.handle; + return data; + } + + @override + String toString() { + return '{"businessId":"$shopID","businessName": "$shopName", "businessLat": "$latitude","businessLng":"$longitude","businessAddress": "$shopAddress",' + + '"businessContact":"$shopPhone","handle":"$handle","dateOfEst":"$dateEst","businessTin":"$shopTin","businessCategory:"$categoryShop",' + + '"businessDescription":"$shopDescription","businessLogo":"$logo","businessEmail":"$email"}'; + } +} diff --git a/lib/Classes/TesoUser.dart b/lib/Classes/TesoUser.dart new file mode 100644 index 0000000..30ce1c4 --- /dev/null +++ b/lib/Classes/TesoUser.dart @@ -0,0 +1,101 @@ +import 'API Clasess/TesoUserDetail.dart'; + +class TesoUser { + String userGUID; + String username; + String firstname; + String lastname; + String description; + String email; + String phonenumber; + String address; + String displaypicture; + DateTime dateOfBirth; + // ignore: non_constant_identifier_names + String thumbnail_dp; + String gold; + String silver; + String friends; + String gender; + String country; + + TesoUser( + {this.userGUID, + this.username, + this.firstname, + this.lastname, + this.description, + this.address, + this.email, + this.dateOfBirth, + // ignore: non_constant_identifier_names + this.displaypicture, + this.phonenumber, + this.gold, + this.silver, + this.gender, + this.country, + // ignore: non_constant_identifier_names + this.thumbnail_dp, + this.friends}); + + TesoUser.fromJSON(Map json) + : username = json['username'], + userGUID = json['userGUID'], + firstname = json['firstname'], + lastname = json['lastname'], + description = json['description'], + dateOfBirth = json["dateOfBirth"] != null + ? DateTime.tryParse(json["dateOfBirth"].toString()) + : null, + address = json['address'], + phonenumber = json['phonenumber'], + email = json['email'], + gold = json['gold'], + silver = json['silver'], + gender = json['gender'], + country = json['country'], + friends = json['friends'], + thumbnail_dp = json['thumbnail_dp']; + + Map toJson() { + final Map data = Map(); + data['username'] = this.username; + data['userguid'] = this.userGUID; + data['firstname'] = this.firstname; + data['lastname'] = this.lastname; + data['description'] = this.description; + data['address'] = this.address; + data["dateOfBirth"] = this.dateOfBirth.toIso8601String(); + data['phonenumber'] = this.phonenumber; + data['thumbnail_dp'] = this.thumbnail_dp; + data['email'] = this.email; + data['gold'] = this.gold; + data['silver'] = this.silver; + data['gender'] = this.gender; + data['country'] = this.country; + data['friends'] = this.friends; + data['displaypicture'] = this.displaypicture; + return data; + } + + @override + String toString() { + return '{"userGUID": "$userGUID","username": "$username", "firstname": "$firstname","lastname": "$lastname", "description": "$description","address": "$address","phonenumber": "$phonenumber",' + + '"email": "$email", "gold": "$gold","silver": "$silver","friends":"$friends","gender":"$gender","country":"$country","thumbnail_dp":"$thumbnail_dp","dateOfBirth":"$dateOfBirth","displaypicture":"$displaypicture"}'; + } + + TesoUser.fromDETAIL(TesoUserDetail user) + : userGUID = user.userGUID, + username = user.username, + firstname = user.firstname, + lastname = user.surname, + address = user.address, + country = user.country, + description = user.description, + email = user.email, + gender = user.gender, + dateOfBirth = user.dateOfBirth, + phonenumber = user.phonenumber.toString(), + thumbnail_dp = user.thumbnailDp; +} diff --git a/lib/Classes/TextE.dart b/lib/Classes/TextE.dart new file mode 100644 index 0000000..9774546 --- /dev/null +++ b/lib/Classes/TextE.dart @@ -0,0 +1,14 @@ +import 'dart:ui'; +import 'package:flutter/material.dart'; + +class Textted { + String text; + TextStyle textStyle; + TextAlign textAlign; + + Textted({ + this.text, + this.textAlign, + this.textStyle, + }); +} diff --git a/lib/Classes/Uploading.dart b/lib/Classes/Uploading.dart new file mode 100644 index 0000000..929b88d --- /dev/null +++ b/lib/Classes/Uploading.dart @@ -0,0 +1,31 @@ +import 'package:flutter_upchunk/flutter_upchunk.dart'; + +class Uploading { + String id; + String title; + String path; + String aspect; + String thumbnail; + UpChunk token; + double pending; + String campaignID; + String muxuploadID; + String muxuploadURL; + String muxassetID; + bool isProcessing; + + Uploading({ + this.id, + this.title, + this.path, + this.aspect, + this.thumbnail, + this.token, + this.pending, + this.campaignID, + this.isProcessing, + this.muxuploadID, + this.muxuploadURL, + this.muxassetID, + }); +} diff --git a/lib/Classes/categories.dart b/lib/Classes/categories.dart new file mode 100644 index 0000000..cb2bf2e --- /dev/null +++ b/lib/Classes/categories.dart @@ -0,0 +1,61 @@ +class Category { + String id; + String name; + String image; + Category({this.id, this.name, this.image}); + Category.fromJson(Map json) + : id = json['catid'], + name = json['catname'], + image = json['catimage']; + + static List category = [ + Category( + id: "TECAT001", + name: "ANTIGUES", + image: "assets/images/categories/antique2.png"), + Category( + id: "TECAT002", + name: "AGRICULTURE", + image: "assets/images/categories/agrix.png"), + Category( + id: "TECAT003", + name: "AUTO & TRANSPORTATION", + image: "assets/images/categories/autos.png"), + Category( + id: "TECAT004", + name: "BAGS, SHOES & ACCESSORIES", + image: "assets/images/categories/bags.png"), + Category( + id: "TECAT005", + name: "CLOTHING & ACCESSORIES", + image: "assets/images/categories/clothes.png"), + Category( + id: "TECAT006", + name: "ELECTRONICS", + image: "assets/images/categories/electronics.png"), + Category( + id: "TECAT007", + name: "GIFTS, SPORTS & TOYS", + image: "assets/images/categories/gifts.png"), + Category( + id: "TECAT008", + name: "FOOD", + image: "assets/images/categories/food.png"), + Category( + id: "TECAT009", + name: "HOME & GARDEN", + image: "assets/images/categories/home.png"), + Category( + id: "TECAT010", + name: "PET SUPPLIES", + image: "assets/images/categories/pets.png"), + Category( + id: "TECAT011", + name: "MACHINERY, INDUSTRIAL PARTS & TOOLS", + image: "assets/images/categories/machinery.png"), + Category( + id: "TECAT012", + name: "HEALTH & BEAUTY", + image: "assets/images/categories/health.png"), + ]; +} diff --git a/lib/Classes/customLoginButton.dart b/lib/Classes/customLoginButton.dart new file mode 100644 index 0000000..d6078db --- /dev/null +++ b/lib/Classes/customLoginButton.dart @@ -0,0 +1,87 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class CustomLoginButton extends StatelessWidget { + final Widget child; + final double width; + final double height; + final Function onPressed; + final String icon; + final Color color; + + const CustomLoginButton({ + Key key, + @required this.child, + this.width = double.infinity, + this.height = 50.0, + this.onPressed, + this.icon, + this.color, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Container( + width: width, + height: 40.0, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + boxShadow: [ + BoxShadow( + color: Colors.grey, + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ], + ), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + ), + child: InkWell( + onTap: onPressed, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Image( + image: AssetImage(icon), + height: 20, + ), + child + ], + )), + ), + ), + ), + ); + } +} diff --git a/lib/Classes/customTesoButton.dart b/lib/Classes/customTesoButton.dart new file mode 100644 index 0000000..0fb61a6 --- /dev/null +++ b/lib/Classes/customTesoButton.dart @@ -0,0 +1,55 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class RaisedGradientButton extends StatelessWidget { + final Widget child; + final Gradient gradient; + final double width; + final double height; + final Function onPressed; + + const RaisedGradientButton({ + Key key, + @required this.child, + this.gradient, + this.width = double.infinity, + this.height = 50.0, + this.onPressed, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Container( + width: width, + height: 40.0, + decoration: BoxDecoration(gradient: gradient, boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: onPressed, + child: Center( + child: child, + )), + ), + ), + ); + } +} diff --git a/lib/Classes/friend.dart b/lib/Classes/friend.dart new file mode 100644 index 0000000..d88b00f --- /dev/null +++ b/lib/Classes/friend.dart @@ -0,0 +1,33 @@ +class Friend { + String userID; + String firstname; + String surname; + String dateOfBirth; + String thumbnail; + String description; + String posts; + String following; + String friendsNum; + + Friend( + {this.userID, + this.firstname, + this.surname, + this.dateOfBirth, + this.thumbnail, + this.description, + this.following, + this.friendsNum, + this.posts}); + + Friend.fromJson(Map json) + : userID = json['userID'], + firstname = json['firstname'], + surname = json['surname'], + thumbnail = json['thumbnail'], + description = json['description'], + friendsNum = json['friends'], + following = json['following'], + posts = json['posts'], + dateOfBirth = json['dob']; +} diff --git a/lib/Classes/inbox.dart b/lib/Classes/inbox.dart new file mode 100644 index 0000000..ac54a87 --- /dev/null +++ b/lib/Classes/inbox.dart @@ -0,0 +1,33 @@ +class InboxMessage { + String userID; + String firstname; + String surname; + String messageID; + String message; + String thumbnail; + String bio; + DateTime timestamp; + int unread; + + InboxMessage( + {this.userID, + this.firstname, + this.surname, + this.messageID, + this.message, + this.thumbnail, + this.timestamp, + this.bio, + this.unread}); + + InboxMessage.fromJson(Map json) + : userID = json['userID'], + firstname = json['firstname'], + surname = json['surname'], + thumbnail = json['thumbnail'], + messageID = json['messageID'], + message = json['message'], + timestamp = json['timestamp'], + bio = json['bio'], + unread = json['unread']; +} diff --git a/lib/GeneralWidgets/generalInput.dart b/lib/GeneralWidgets/generalInput.dart new file mode 100644 index 0000000..25f1e53 --- /dev/null +++ b/lib/GeneralWidgets/generalInput.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +fineText(BuildContext context, TextEditingController user, String hint) { + return Container( + width: MediaQuery.of(context).size.width * 0.45, + height: 40, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.02), + child: TextField( + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + contentPadding: EdgeInsets.only(top: 5, left: 10), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + hintText: hint, + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/GeneralWidgets/inputText.dart b/lib/GeneralWidgets/inputText.dart new file mode 100644 index 0000000..9c6105f --- /dev/null +++ b/lib/GeneralWidgets/inputText.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; + +buildInputContainer(BuildContext context, TextEditingController user, + String title, bool enabled) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontSize: 14.0, + ), + ), + // SizedBox( + // height: 10.0, + // ), + TextField( + enabled: enabled, + autocorrect: false, + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + fontSize: 16, + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + border: InputBorder.none, + contentPadding: EdgeInsets.only(top: 10.0), + // hintText: "Enter your " + first.toLowerCase() + " here", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ], + ); +} diff --git a/lib/GeneralWidgets/inputTextLimited.dart b/lib/GeneralWidgets/inputTextLimited.dart new file mode 100644 index 0000000..709883e --- /dev/null +++ b/lib/GeneralWidgets/inputTextLimited.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +buildInputContainerLimit(BuildContext context, TextEditingController user, + String title, bool enabled, int limit) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontSize: 14.0, + ), + ), + // SizedBox( + // height: 10.0, + // ), + TextField( + maxLengthEnforcement: MaxLengthEnforcement.enforced, + maxLength: limit, + enabled: enabled, + autocorrect: false, + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + fontSize: 16, + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + border: InputBorder.none, + contentPadding: EdgeInsets.only(top: 10.0), + // hintText: "Enter your " + first.toLowerCase() + " here", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ], + ); +} diff --git a/lib/GeneralWidgets/widgets/uservideo_player_widget.dart b/lib/GeneralWidgets/widgets/uservideo_player_widget.dart new file mode 100644 index 0000000..2f75d59 --- /dev/null +++ b/lib/GeneralWidgets/widgets/uservideo_player_widget.dart @@ -0,0 +1,48 @@ +import 'package:better_player/better_player.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; + +const ASPECT_RATIO = 16 / 9; + +class VideoPlayerWidget extends StatefulWidget { + final BetterPlayerController controller; + final FBPosts ad; + + const VideoPlayerWidget({ + Key key, + @required this.controller, + @required this.ad, + }) : assert(controller != null), + assert(ad != null), + super(key: key); + + @override + _VideoPlayerWidgetState createState() => _VideoPlayerWidgetState(); +} + +class _VideoPlayerWidgetState extends State { + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FittedBox( + clipBehavior: Clip.hardEdge, + child: SizedBox( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: BetterPlayer( + controller: widget.controller, + ), + ), + ); + } + + @override + void dispose() { + widget.controller.dispose(); + super.dispose(); + } +} diff --git a/lib/GeneralWidgets/widgets/video_player_widget.dart b/lib/GeneralWidgets/widgets/video_player_widget.dart new file mode 100644 index 0000000..45d2640 --- /dev/null +++ b/lib/GeneralWidgets/widgets/video_player_widget.dart @@ -0,0 +1,104 @@ +import 'package:better_player/better_player.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Pages/Sub_Pages/ProductDetails/CouponList.dart'; +import 'package:teso/providers/user_provider.dart'; + +const ASPECT_RATIO = 16 / 9; + +class VideoPlayerWidget extends StatefulWidget { + final BetterPlayerController controller; + final Post ad; + final bool play; + final List details; + + const VideoPlayerWidget({ + Key key, + @required this.controller, + @required this.ad, + @required this.play, + this.details, + }) : assert(controller != null), + assert(ad != null), + super(key: key); + + @override + _VideoPlayerWidgetState createState() => _VideoPlayerWidgetState(); +} + +class _VideoPlayerWidgetState extends State { + bool displayed = false; + + @override + void initState() { + widget.controller.videoPlayerController.addListener(() => checkVideo()); + super.initState(); + + // if (widget.play) { + // _chewieController.play(); + // } + } + + checkVideo() async { + // Implement your calls inside these conditions' bodies : + if (widget.controller.videoPlayerController.value.position == + Duration(seconds: 0, minutes: 0, hours: 0)) { + // print('video Started'); + Provider.of(context, listen: false).viewPost(widget.ad); + } + + if (widget.controller.videoPlayerController.value.position.inSeconds > + (widget.controller.videoPlayerController.value.duration.inSeconds) / + 3) { + // print('video Ended'); + if (!displayed && widget.details.length > 0) { + setState(() { + displayed = true; + }); + await Navigator.of(context).push( + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => CouponList( + couponsList: widget.details, + ), + ), + ); + } + // _chewieController.play(); + } + } + + // @override + // void didUpdateWidget(VideoPlayerWidget oldWidget) { + // if (oldWidget.play != widget.play) { + // if (widget.play) { + // _chewieController.play(); + // } else { + // _chewieController.pause(); + // } + // } + // super.didUpdateWidget(oldWidget); + // } + + @override + Widget build(BuildContext context) { + return FittedBox( + clipBehavior: Clip.hardEdge, + child: SizedBox( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: BetterPlayer( + controller: widget.controller, + ), + ), + ); + } + + @override + void dispose() { + widget.controller.dispose(); + super.dispose(); + } +} diff --git a/lib/GeneralWidgets/widgets/widgets.dart b/lib/GeneralWidgets/widgets/widgets.dart new file mode 100644 index 0000000..7994939 --- /dev/null +++ b/lib/GeneralWidgets/widgets/widgets.dart @@ -0,0 +1 @@ +export 'video_player_widget.dart'; \ No newline at end of file diff --git a/lib/Notifications/NotificationPlugin.dart b/lib/Notifications/NotificationPlugin.dart new file mode 100644 index 0000000..4d6119d --- /dev/null +++ b/lib/Notifications/NotificationPlugin.dart @@ -0,0 +1,271 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:path_provider/path_provider.dart'; +import 'dart:io' show File, Platform; +import 'package:http/http.dart' as http; + +import 'package:rxdart/subjects.dart'; + +class NotificationPlugin { + // + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin; + final BehaviorSubject + didReceivedLocalNotificationSubject = + BehaviorSubject(); + var initializationSettings; + + NotificationPlugin._() { + init(); + } + + init() async { + flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); + if (Platform.isIOS) { + _requestIOSPermission(); + } + initializePlatformSpecifics(); + } + + initializePlatformSpecifics() { + var initializationSettingsAndroid = + AndroidInitializationSettings('app_notf_icon'); + + var initializationSettingsIOS = IOSInitializationSettings( + requestAlertPermission: true, + requestBadgePermission: true, + requestSoundPermission: false, + onDidReceiveLocalNotification: (id, title, body, payload) async { + ReceivedNotification receivedNotification = ReceivedNotification( + id: id, title: title, body: body, payload: payload); + didReceivedLocalNotificationSubject.add(receivedNotification); + }, + ); + + initializationSettings = InitializationSettings( + android: initializationSettingsAndroid, iOS: initializationSettingsIOS); + } + + _requestIOSPermission() { + flutterLocalNotificationsPlugin + .resolvePlatformSpecificImplementation< + IOSFlutterLocalNotificationsPlugin>() + .requestPermissions( + alert: true, + badge: true, + sound: true, + ); + } + + setListenerForLowerVersions(Function onNotificationInLowerVersions) { + didReceivedLocalNotificationSubject.listen((receivedNotification) { + onNotificationInLowerVersions(receivedNotification); + }); + } + + setOnNotificationClick(Function onNotificationClick) async { + await flutterLocalNotificationsPlugin.initialize(initializationSettings, + onSelectNotification: (String payload) async { + onNotificationClick(payload); + }); + } + + Future showNotification( + String title, String body, String payload) async { + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL_ID', + 'CHANNEL_NAME', + channelDescription: "CHANNEL_DESCRIPTION", + importance: Importance.max, + priority: Priority.high, + playSound: true, + timeoutAfter: 5000, + styleInformation: DefaultStyleInformation(true, true), + ); + var iosChannelSpecifics = IOSNotificationDetails(); + var platformChannelSpecifics = NotificationDetails( + android: androidChannelSpecifics, iOS: iosChannelSpecifics); + await flutterLocalNotificationsPlugin.show( + 0, + title, + body, //null + platformChannelSpecifics, + payload: payload, + ); + } + + Future showDailyAtTime() async { + var time = Time(21, 3, 0); + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL_ID 4', + 'CHANNEL_NAME 4', + channelDescription: "CHANNEL_DESCRIPTION 4", + importance: Importance.max, + priority: Priority.high, + ); + var iosChannelSpecifics = IOSNotificationDetails(); + var platformChannelSpecifics = NotificationDetails( + android: androidChannelSpecifics, iOS: iosChannelSpecifics); + // ignore: deprecated_member_use + await flutterLocalNotificationsPlugin.showDailyAtTime( + 0, + 'Test Title at ${time.hour}:${time.minute}.${time.second}', + 'Test Body', //null + time, + platformChannelSpecifics, + payload: 'Test Payload', + ); + } + + Future showWeeklyAtDayTime() async { + var time = Time(21, 5, 0); + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL_ID 5', + 'CHANNEL_NAME 5', + channelDescription: "CHANNEL_DESCRIPTION 5", + importance: Importance.max, + priority: Priority.high, + ); + var iosChannelSpecifics = IOSNotificationDetails(); + var platformChannelSpecifics = NotificationDetails( + android: androidChannelSpecifics, iOS: iosChannelSpecifics); + // ignore: deprecated_member_use + await flutterLocalNotificationsPlugin.showWeeklyAtDayAndTime( + 0, + 'Test Title at ${time.hour}:${time.minute}.${time.second}', + 'Test Body', //null + Day.saturday, + time, + platformChannelSpecifics, + payload: 'Test Payload', + ); + } + + Future repeatNotification() async { + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL_ID 3', + 'CHANNEL_NAME 3', + channelDescription: "CHANNEL_DESCRIPTION 3", + importance: Importance.max, + priority: Priority.high, + ); + var iosChannelSpecifics = IOSNotificationDetails(); + var platformChannelSpecifics = NotificationDetails( + android: androidChannelSpecifics, iOS: iosChannelSpecifics); + await flutterLocalNotificationsPlugin.periodicallyShow( + 0, + 'Repeating Test Title', + 'Repeating Test Body', + RepeatInterval.everyMinute, + platformChannelSpecifics, + payload: 'Test Payload', + ); + } + + Future scheduleNotification() async { + var scheduleNotificationDateTime = DateTime.now().add(Duration(seconds: 5)); + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL_ID 1', + 'CHANNEL_NAME 1', + channelDescription: "CHANNEL_DESCRIPTION 1", + icon: 'secondary_icon', + sound: RawResourceAndroidNotificationSound('my_sound'), + largeIcon: DrawableResourceAndroidBitmap('large_notf_icon'), + enableLights: true, + color: const Color.fromARGB(255, 255, 0, 0), + ledColor: const Color.fromARGB(255, 255, 0, 0), + ledOnMs: 1000, + ledOffMs: 500, + importance: Importance.max, + priority: Priority.high, + playSound: true, + timeoutAfter: 5000, + styleInformation: DefaultStyleInformation(true, true), + ); + var iosChannelSpecifics = IOSNotificationDetails( + sound: 'my_sound.aiff', + ); + var platformChannelSpecifics = NotificationDetails( + android: androidChannelSpecifics, + iOS: iosChannelSpecifics, + ); + // ignore: deprecated_member_use + await flutterLocalNotificationsPlugin.schedule( + 0, + 'Test Title', + 'Test Body', + scheduleNotificationDateTime, + platformChannelSpecifics, + payload: 'Test Payload', + ); + } + + Future showNotificationWithAttachment() async { + var attachmentPicturePath = await _downloadAndSaveFile( + 'https://via.placeholder.com/800x200', 'attachment_img.jpg'); + var iOSPlatformSpecifics = IOSNotificationDetails( + attachments: [IOSNotificationAttachment(attachmentPicturePath)], + ); + var bigPictureStyleInformation = BigPictureStyleInformation( + FilePathAndroidBitmap(attachmentPicturePath), + contentTitle: 'Attached Image', + htmlFormatContentTitle: true, + summaryText: 'Test Image', + htmlFormatSummaryText: true, + ); + var androidChannelSpecifics = AndroidNotificationDetails( + 'CHANNEL ID 2', + 'CHANNEL NAME 2', + channelDescription: 'CHANNEL DESCRIPTION 2', + importance: Importance.high, + priority: Priority.high, + styleInformation: bigPictureStyleInformation, + ); + var notificationDetails = NotificationDetails( + android: androidChannelSpecifics, iOS: iOSPlatformSpecifics); + await flutterLocalNotificationsPlugin.show( + 0, + 'Title with attachment', + 'Body with Attachment', + notificationDetails, + ); + } + + _downloadAndSaveFile(String url, String fileName) async { + var directory = await getApplicationDocumentsDirectory(); + var filePath = '${directory.path}/$fileName'; + var response = await http.get(Uri.parse(url)); + var file = File(filePath); + await file.writeAsBytes(response.bodyBytes); + return filePath; + } + + Future getPendingNotificationCount() async { + List p = + await flutterLocalNotificationsPlugin.pendingNotificationRequests(); + return p.length; + } + + Future cancelNotification() async { + await flutterLocalNotificationsPlugin.cancel(0); + } + + Future cancelAllNotification() async { + await flutterLocalNotificationsPlugin.cancelAll(); + } +} + +NotificationPlugin notificationPlugin = NotificationPlugin._(); + +class ReceivedNotification { + final int id; + final String title; + final String body; + final String payload; + + ReceivedNotification({ + @required this.id, + @required this.title, + @required this.body, + @required this.payload, + }); +} diff --git a/lib/Pages/BusinessLocator.dart b/lib/Pages/BusinessLocator.dart new file mode 100644 index 0000000..1710190 --- /dev/null +++ b/lib/Pages/BusinessLocator.dart @@ -0,0 +1,620 @@ +import 'dart:convert'; +import 'dart:io'; +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'dart:async'; +import 'package:flutter/services.dart' show PlatformException, rootBundle; +import 'package:flutter/cupertino.dart'; +import 'package:location/location.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:geolocator/geolocator.dart'; +import 'package:teso/Classes/TesoShop.dart'; +import 'package:teso/Pages/Sub_Pages/BusinessDetails.dart'; +import 'package:flutter_polyline_points/flutter_polyline_points.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class BusinessLocator extends StatefulWidget { + @override + _BusinessLocatorState createState() => _BusinessLocatorState(); +} + +class _BusinessLocatorState extends State { + String mapstyle; + var _future; + static LatLng _initialPosition; + Set markers = {}; + List shops; + GoogleMapController mapController; + static const double CAMERA_ZOOM = 13.499910354614258; + bool routing = false; + List polylineCoordinates = []; + Map polylines = {}; + String selectedshop = ""; + Location location = Location(); + String routingMessage = "Finding shops...."; + LocationData _location; + String _error; + String _placeDistance; + final startAddressController = TextEditingController(); + final destinationAddressController = TextEditingController(); + bool ios = false; + + Future _determinePosition(context) async { + setState(() { + _error = null; + }); + try { + final LocationData _locationResult = await location.getLocation(); + setState(() { + _location = _locationResult; + _initialPosition = LatLng(_location.latitude, _location.longitude); + }); + + await getLocations(); + return _initialPosition; + } on PlatformException catch (err) { + setState(() { + _error = err.code; + }); + return _initialPosition; + } + } + + getLocations() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'tesobusiness/available'; + var client1 = await http.get(Uri.parse(register2), headers: requestHeaders); + + if (client1.statusCode == 200) { + try { + var data = jsonDecode(client1.body); + shops = List.from( + data.map((model) => TesoShop.fromJSON(model)).toList()); + } catch (e) { + print(e); + } + } + + if (shops.length > 0 && shops != null) + shops.forEach((element) { + MarkerId markerId = MarkerId(element.shopID); + Marker marker = Marker( + markerId: markerId, + position: LatLng(element.latitude, element.longitude), + icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan), + infoWindow: InfoWindow( + title: element.shopName, + snippet: element.shopAddress, + ), + onTap: () => showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return buildShopDetails(bc, element, navigateToShop); + }, + ), + ); + if (mounted) { + setState(() { + markers.add(marker); + }); + } + }); + } + + @override + void initState() { + super.initState(); + ios = Platform.isIOS; + SharedPreferences.getInstance().then((prefs) { + String currentTheme = prefs.getString("theme"); + if (currentTheme == "light") { + rootBundle.loadString('assets/styles/light.txt').then((string) { + mapstyle = string; + }); + } else { + rootBundle.loadString('assets/styles/dark.txt').then((string) { + mapstyle = string; + }); + } + }); + _future = _determinePosition(context); + + location.onLocationChanged.listen((LocationData cLoc) { + _initialPosition = LatLng(cLoc.latitude, cLoc.longitude); + }); + } + + void navigateToShop(TesoShop tesoShop) async { + Position _northeastCoordinates; + Position _southwestCoordinates; + + MarkerId markerId = MarkerId(tesoShop.shopName + " Location"); + Marker marker = Marker( + markerId: markerId, + position: LatLng(tesoShop.latitude, tesoShop.longitude), + icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen), + infoWindow: InfoWindow( + title: tesoShop.shopName, + snippet: tesoShop.shopAddress, + ), + ); + + setState(() { + markers.clear(); + markers.add(marker); + selectedshop = tesoShop.shopName; + destinationAddressController.text = selectedshop; + }); + + Position user = Position( + latitude: _initialPosition.latitude, + longitude: _initialPosition.longitude, + accuracy: 100, + altitude: 100, + heading: 100, + speed: 100, + speedAccuracy: 100, + timestamp: DateTime.now()); + Position shopLoc = Position( + latitude: tesoShop.latitude, + longitude: tesoShop.longitude, + accuracy: 100, + altitude: 100, + heading: 100, + speed: 100, + speedAccuracy: 100, + timestamp: DateTime.now()); + + if (_initialPosition.latitude <= tesoShop.latitude) { + _southwestCoordinates = user; + _northeastCoordinates = shopLoc; + } else { + _southwestCoordinates = shopLoc; + _northeastCoordinates = user; + } + await createPolylines(user, shopLoc); + _calculateDistance(user, shopLoc); + + mapController.animateCamera( + CameraUpdate.newLatLngBounds( + LatLngBounds( + northeast: LatLng( + _northeastCoordinates.latitude, + _northeastCoordinates.longitude, + ), + southwest: LatLng( + _southwestCoordinates.latitude, + _southwestCoordinates.longitude, + ), + ), + 100.0, // padding + ), + ); + } + + Future createPolylines(Position start, Position destination) async { + try { + setState(() { + routing = true; + routingMessage = "Calculating route...."; + startAddressController.text = "Current Location "; + }); + polylineCoordinates.clear(); + PolylinePoints polylinePoints = PolylinePoints(); + PolylineResult result = await polylinePoints.getRouteBetweenCoordinates( + mapsKey, + PointLatLng(start.latitude, start.longitude), + PointLatLng(destination.latitude, destination.longitude), + travelMode: TravelMode.driving, + ); + await Future.delayed(Duration(seconds: 5), () async { + if (result.points.isNotEmpty) { + result.points.forEach((PointLatLng point) { + polylineCoordinates.add(LatLng(point.latitude, point.longitude)); + }); + } + PolylineId id = PolylineId('poly'); + + Polyline polyline = Polyline( + polylineId: id, + color: Theme.of(context).colorScheme.secondary, + points: polylineCoordinates, + width: 5, + ); + polylines[id] = polyline; + setState(() { + routing = false; + routingMessage = "Finding shops....."; + }); + }); + return true; + } catch (e) { + print(e); + return false; + } + } + + @override + void dispose() { + if (mapController != null) mapController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return new Scaffold( + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting || routing) { + return Stack( + children: [ + ios + ? Container( + margin: EdgeInsets.only( + top: (MediaQuery.of(context).size.height) - + (MediaQuery.of(context).size.height * 0.935), + left: 10), + child: Material( + elevation: 5, + color: Color.fromRGBO(0, 0, 0, 0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 20, + ), + color: Colors.white, + onPressed: () => Navigator.pop(context), + ), + ), + ), + ) + : Container(), + Container( + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.7), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text(routingMessage), + ], + ), + ), + ), + ], + ); + } else if (snapshot.data == null && + snapshot.connectionState == ConnectionState.done) { + print(_error.toString()); + Navigator.of(context).pop(); + return Container(); + } else { + return Stack( + children: [ + GoogleMap( + padding: EdgeInsets.only( + top: 70.0, + ), + zoomGesturesEnabled: true, + zoomControlsEnabled: false, + compassEnabled: true, + myLocationButtonEnabled: true, + myLocationEnabled: true, + markers: markers, + initialCameraPosition: CameraPosition( + target: _initialPosition, + zoom: CAMERA_ZOOM, + //bearing: CAMERA_BEARING, + ), + onMapCreated: (GoogleMapController controller) { + controller.setMapStyle(mapstyle); + mapController = controller; + }, + onCameraMove: (position) { + setState(() { + try { + _initialPosition = LatLng(position.target.latitude, + position.target.longitude); + } catch (e) { + print(e); + } + }); + }, + polylines: Set.of(polylines.values), + ), + Container( + margin: EdgeInsets.only( + top: (MediaQuery.of(context).size.height) - + (MediaQuery.of(context).size.height * 0.935), + left: 10), + child: Material( + elevation: 5, + color: Color.fromRGBO(0, 0, 0, 0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 20, + ), + color: Colors.white, + onPressed: () => Navigator.pop(context), + ), + ), + ), + ), + Visibility( + visible: selectedshop == null || selectedshop.isEmpty + ? false + : true, + child: Align( + alignment: Alignment.topCenter, + child: SafeArea( + child: Align( + alignment: Alignment.topCenter, + child: Padding( + padding: const EdgeInsets.only(top: 10.0), + child: Container( + decoration: BoxDecoration( + color: Colors.white70, + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + width: SizeConfig.safeBlockHorizontal * 80, + child: Padding( + padding: const EdgeInsets.only( + top: 10.0, bottom: 10.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Places', + style: TextStyle( + fontSize: + SizeConfig.blockSizeHorizontal * 4.0, + ), + ), + SizedBox(height: 10), + _textField( + label: 'Start', + hint: 'Choose starting point', + prefixIcon: Icon( + Icons.looks_one, + color: Colors.black, + ), + controller: startAddressController, + width: SizeConfig.safeBlockHorizontal * 70, + ), + SizedBox(height: 10), + _textField( + label: 'Destination', + hint: 'Choose destination', + prefixIcon: Icon(Icons.looks_two, + color: Colors.black), + controller: destinationAddressController, + width: SizeConfig.safeBlockHorizontal * 70, + ), + SizedBox(height: 10), + Visibility( + visible: + _placeDistance == null ? false : true, + child: Text( + 'DISTANCE: $_placeDistance km', + style: TextStyle( + fontSize: + SizeConfig.blockSizeHorizontal * + 3.5, + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox(height: 5), + ElevatedButton( + onPressed: () async { + polylines.clear(); + markers.clear(); + await getLocations(); + selectedshop = ""; + }, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Cancel'.toUpperCase(), + style: TextStyle( + color: Colors.white, + fontSize: + SizeConfig.blockSizeHorizontal * + 3.5, + ), + ), + ), + style: ElevatedButton.styleFrom( + primary: Colors.red, + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular(20.0), + ), + ), + ), + ], + ), + ), + ), + ), + ), + ), + ), + ), + ], + ); + } + }, + ), + ); + } + + double _coordinateDistance(lat1, lon1, lat2, lon2) { + var p = 0.017453292519943295; + var c = cos; + var a = 0.5 - + c((lat2 - lat1) * p) / 2 + + c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p)) / 2; + return 12742 * asin(sqrt(a)); + } + + Future _calculateDistance( + Position startPos, Position destination) async { + try { + // Calculating to check that the position relative + // to the frame, and pan & zoom the camera accordingly. + double miny = (startPos.latitude <= destination.latitude) + ? startPos.latitude + : destination.latitude; + double minx = (startPos.longitude <= destination.longitude) + ? startPos.longitude + : destination.longitude; + double maxy = (startPos.latitude <= destination.latitude) + ? destination.latitude + : startPos.latitude; + double maxx = (startPos.longitude <= destination.longitude) + ? destination.longitude + : startPos.longitude; + + double southWestLatitude = miny; + double southWestLongitude = minx; + + double northEastLatitude = maxy; + double northEastLongitude = maxx; + + // Accommodate the two locations within the + // camera view of the map + mapController.animateCamera( + CameraUpdate.newLatLngBounds( + LatLngBounds( + northeast: LatLng(northEastLatitude, northEastLongitude), + southwest: LatLng(southWestLatitude, southWestLongitude), + ), + 100.0, + ), + ); + + // Calculating the distance between the start and the end positions + // with a straight path, without considering any route + // double distanceInMeters = await Geolocator.bearingBetween( + // startLatitude, + // startLongitude, + // destinationLatitude, + // destinationLongitude, + // ); + + await createPolylines(startPos, destination); + + double totalDistance = 0.0; + + // Calculating the total distance by adding the distance + // between small segments + for (int i = 0; i < polylineCoordinates.length - 1; i++) { + totalDistance += _coordinateDistance( + polylineCoordinates[i].latitude, + polylineCoordinates[i].longitude, + polylineCoordinates[i + 1].latitude, + polylineCoordinates[i + 1].longitude, + ); + } + + setState(() { + _placeDistance = totalDistance.toStringAsFixed(2); + print('DISTANCE: $_placeDistance km'); + }); + + return true; + } catch (e) { + print(e); + } + return false; + } + + Widget _textField({ + TextEditingController controller, + FocusNode focusNode, + String label, + String hint, + double width, + Icon prefixIcon, + Widget suffixIcon, + }) { + return Container( + width: width * 0.8, + child: TextField( + controller: controller, + enabled: false, + focusNode: focusNode, + style: TextStyle( + color: Colors.black, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + decoration: new InputDecoration( + prefixIcon: prefixIcon, + suffixIcon: suffixIcon, + labelText: label, + filled: true, + fillColor: Colors.white, + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.all( + Radius.circular(10.0), + ), + borderSide: BorderSide( + color: Colors.grey.shade400, + width: 2, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.all( + Radius.circular(10.0), + ), + borderSide: BorderSide( + color: Colors.blue.shade300, + width: 2, + ), + ), + contentPadding: EdgeInsets.all(15), + hintText: hint, + ), + ), + ); + } +} diff --git a/lib/Pages/Campaigns.dart b/lib/Pages/Campaigns.dart new file mode 100644 index 0000000..1663e04 --- /dev/null +++ b/lib/Pages/Campaigns.dart @@ -0,0 +1,141 @@ +import 'package:flutter/material.dart'; +import 'PageWidgets/Campaigns/header.dart'; +import 'package:teso/Classes/API Clasess/Campaign.dart'; +import 'PageWidgets/Campaigns/campaignTile.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; +import 'dart:async'; + +class Campaigns extends StatefulWidget { + @override + _CampaignsState createState() => _CampaignsState(); +} + +class _CampaignsState extends State { + TextEditingController searchkey; + List campaignMain; + List campaign; + var _future; + + void clearText() { + setState(() { + searchkey.clear(); + }); + } + + Future> getCampaigns() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'adverts/businesscampaigns'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(searchkey.text), headers: requestHeaders); + + if (client1.statusCode == 200) { + var details = jsonDecode(client1.body); + if (mounted) + setState(() { + campaign = List.from( + details.map((model) => Campaign.fromJSON(model)).toList()); + }); + if (campaignMain == null) { + setState(() { + campaignMain = campaign; + }); + } + } + return campaign; + } + + @override + void initState() { + super.initState(); + searchkey = new TextEditingController(); + _future = getCampaigns(); + searchkey.addListener(() async { + if (searchkey.text.isNotEmpty) { + getCampaigns(); + } else { + setState(() { + campaign = campaignMain; + }); + } + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Colors.transparent, + automaticallyImplyLeading: true, + title: Text("Join a Campaign"), + centerTitle: true, + ), + body: Container( + // padding: EdgeInsets.only( + // left: 10, + // right: 10, + // ), + child: Column( + children: [ + buildCampaignHead(context, searchkey, clearText), + SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height, + child: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else if (snapshot.data == null && + snapshot.connectionState == ConnectionState.done) { + return Container( + height: MediaQuery.of(context).size.width, + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Sorry there are no open campaigns at the moment"), + ), + ); + } else { + return ListView.builder( + primary: true, + scrollDirection: Axis.vertical, + shrinkWrap: true, + itemCount: campaign.length, + itemBuilder: (context, index) { + return buildCampaign( + context, + campaign.elementAt(index), + ); + }, + ); + } + }, + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/DesireComeTrue.dart b/lib/Pages/DesireComeTrue.dart new file mode 100644 index 0000000..a57b935 --- /dev/null +++ b/lib/Pages/DesireComeTrue.dart @@ -0,0 +1,293 @@ +import 'package:flutter/material.dart'; +import 'dart:math' as math; +import 'PageWidgets/DesireComeTrue/DesiredItem.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/Desire.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'Sub_Pages/Desires Come True/AddDesire.dart'; +import 'package:http/http.dart' as http; +import 'package:shared_preferences/shared_preferences.dart'; +import 'dart:convert'; +import 'package:jiffy/jiffy.dart'; + +class DesireComeTrue extends StatefulWidget { + @override + _DesireComeTrueState createState() => _DesireComeTrueState(); +} + +class _DesireComeTrueState extends State + with TickerProviderStateMixin { + AnimationController _controller; + Animation _fabScale; + List desires = []; + + @override + void initState() { + super.initState(); + _controller = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + + _fabScale = Tween(begin: 0, end: 1) + .animate(CurvedAnimation(parent: _controller, curve: Curves.bounceOut)); + + _fabScale.addListener(() { + setState(() {}); + }); + SharedPreferences.getInstance().then((value) { + var jiffy = Jiffy()..add(months: 1); + if (value.getString("desire" + jiffy.format("MMMM, yyyy")).isNotEmpty) { + var desired = + jsonDecode(value.getString("desire" + jiffy.format("MMMM, yyyy"))); + setState(() { + desires = List.from( + desired.map((model) => Desire.fromJSON(model)).toList()); + }); + print(desires.toString()); + } + }); + } + + Future desiredList(context) async { + if (desires.length != 0) + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'monthly-desires/submit-newdesire'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(desires), headers: requestHeaders); + + if (client1.statusCode == 200) { + await tesoSuccessDialog(context); + Future.delayed(const Duration(seconds: 5), () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + }); + } else { + await error(context); + } + } catch (e) { + await error(context); + } + } + + error(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + actions: [ + TextButton( + child: Text('OK'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Sorry an error occurred please try again!", + style: TextStyle(color: Colors.redAccent[100]), + ), + ); + }); + } + + tesoSuccessDialog(context) { + var jiffy = Jiffy()..add(months: 1); + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Success", + style: TextStyle(color: Colors.green[400]), + ), + actions: [ + // TextButton( + // child: Text( + // 'OK', + // style: TextStyle(color: Colors.green[400]), + // ), + // onPressed: () { + // Navigator.of(context).pop(true); + // }, + // ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Monthly Desire Come True List for " + + jiffy.format("MMMM, yyyy") + + " has been set successfully", + style: TextStyle(color: Colors.green[400]), + ), + ); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + title: Text( + "Desires Come True", + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontFamily: 'DeadheadScript', + fontSize: 35, + letterSpacing: 3.0, + ), + ), + actions: [ + Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.green, + ), + child: IconButton( + icon: Icon( + Icons.add, + color: Colors.white, + ), + onPressed: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: NewDesire( + selected: desires, + ), + ), + ), + ), + ), + ], + ), + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + physics: NeverScrollableScrollPhysics(), + child: Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Welcome to your monthly desires come true, here you can set up a list of items you would like to get discount or freebie coupons on " + + "for the month ahead...", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + Container( + padding: EdgeInsets.all(8), + child: Transform.rotate( + angle: math.pi / -45, + child: Card( + color: Colors.white, + elevation: 6, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + child: Column( + children: [ + Container( + color: Colors.white, + padding: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width / 3), + ), + child: Text( + "Items", + style: TextStyle( + color: Colors.black87, + fontFamily: 'DeadheadScript', + fontSize: 40, + letterSpacing: 3.0, + ), + ), + ), + _headSeparator(), + Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.width - 10, + child: ListView.builder( + scrollDirection: Axis.vertical, + itemCount: desires.length, + itemBuilder: (context, index) { + if (desires.isNotEmpty) { + return Column( + children: [ + DesiredItem( + item: desires.elementAt(index), + number: index + 1, + selected: desires, + ), + _separator(), + ], + ); + } else { + return Container(); + } + }, + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + floatingActionButton: Container( + margin: EdgeInsets.only( + top: 10, + ), + width: MediaQuery.of(context).size.width / 2, + height: 40, + decoration: new BoxDecoration( + shape: BoxShape.circle, + //color: Colors.grey, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () async => desiredList(context), + child: Text( + "Submit", + style: TextStyle(color: Colors.white), + ), + ), + ), + ); + } +} + +Widget _separator() { + return Container( + height: 1, + decoration: BoxDecoration(color: Colors.blue.withAlpha(100)), + ); +} + +Widget _headSeparator() { + return Container( + height: 3, + decoration: BoxDecoration(color: tesoGold), + ); +} diff --git a/lib/Pages/LandingPage.dart b/lib/Pages/LandingPage.dart new file mode 100644 index 0000000..9a59be8 --- /dev/null +++ b/lib/Pages/LandingPage.dart @@ -0,0 +1,196 @@ +import 'package:camera/camera.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/Pages/PageWidgets/Settings/privacy.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/Login.dart'; +import 'package:teso/Pages/PageWidgets/Login/bottomCurve.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; + +import 'package:teso/util/consts.dart'; + +import 'PageWidgets/Settings/terms.dart'; + +class LandingPage extends StatefulWidget { + final List connectedCameras; + + const LandingPage({Key key, this.connectedCameras}) : super(key: key); + @override + _LandingPageState createState() => _LandingPageState(); +} + +class _LandingPageState extends State { + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBody: true, + backgroundColor: Colors.white, + body: AnnotatedRegion( + value: SystemUiOverlayStyle.light, + child: GestureDetector( + onTap: () => FocusScope.of(context).unfocus(), + child: Container( + padding: EdgeInsets.only(bottom: 10), + child: Stack( + children: [ + // Transform.rotate( + // angle: 15.712, + // child: + Container( + height: double.infinity, + width: double.infinity, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + ), + ), + child: CustomPaint( + painter: CurvePainter(), + ), + ), + Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.height * 0.10), + height: MediaQuery.of(context).size.height * 0.20, + width: double.infinity, + child: Align( + alignment: Alignment.topCenter, + child: Container( + padding: EdgeInsets.all(20), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + image: DecorationImage( + image: AssetImage( + "assets/images/tesoCouponInsignia.png", + ), + fit: BoxFit.contain), + ), + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.height * 0.10), + height: MediaQuery.of(context).size.height * 0.35, + width: double.infinity, + child: Align( + alignment: Alignment.bottomCenter, + child: Text( + "TESO", + style: TextStyle( + fontSize: 55, + color: Colors.white, + fontFamily: "WickedGrit", + //foreground: Paint()..shader = linearGradient + //fontWeight: FontWeight.w900, + ), + ), + ), + ), + // ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.only( + bottom: 60, + left: SizeConfig.blockSizeHorizontal * 12, + right: SizeConfig.blockSizeHorizontal * 12, + ), + child: RichText( + textAlign: TextAlign.center, + textWidthBasis: TextWidthBasis.longestLine, + text: TextSpan( + text: 'By using this application you agree to the', + style: TextStyle( + color: Colors.black, + fontSize: SizeConfig.blockSizeHorizontal * 3.9, + height: 1.8), + children: [ + TextSpan( + text: ' End User License Agreement', + style: TextStyle( + color: Colors.blueAccent, + fontSize: SizeConfig.blockSizeHorizontal * 4, + fontWeight: FontWeight.w600, + ), + recognizer: TapGestureRecognizer() + ..onTap = () => Navigator.push( + context, + PageTransition( + child: TermsUse(), + type: + PageTransitionType.leftToRight))), + TextSpan( + text: ' and the ', + style: TextStyle( + color: Colors.black, + fontSize: SizeConfig.blockSizeHorizontal * 3.9, + ), + ), + TextSpan( + text: 'Privacy Statement', + style: TextStyle( + color: Colors.blueAccent, + fontSize: SizeConfig.blockSizeHorizontal * 4, + fontWeight: FontWeight.w600, + ), + recognizer: TapGestureRecognizer() + ..onTap = () => Navigator.push( + context, + PageTransition( + child: Privacy(), + type: + PageTransitionType.leftToRight))), + ]), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: RaisedGradientButton( + child: Text( + "Accept & Continue", + style: TextStyle(color: Colors.white, fontSize: 18), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + // Colors.green[400], + // Colors.green[600], + accentMain, + tesoGold + ], + ), + onPressed: () => Navigator.pushAndRemoveUntil( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: LoginPage(), + ), + (Route route) => false), + width: 200, + height: 50, + ), + ) + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Alerts/AlertTile.dart b/lib/Pages/PageWidgets/Alerts/AlertTile.dart new file mode 100644 index 0000000..44c04a0 --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/AlertTile.dart @@ -0,0 +1,110 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildAlert( + {BuildContext context, + DateTime timestamp, + String description, + Icon icons, + String thumbnail, + String username}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 25.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + child: Row( + children: [ + Container( + constraints: BoxConstraints(minHeight: 80, maxHeight: 150), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.85, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: icons, + ), + Expanded( + flex: 1, + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + TimeElapsed.fromDateTime(timestamp), + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.527, + child: Text( + description, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container(), + ], + ), + ), + ), + Container( + width: (MediaQuery.of(context).size.width) * 0.10, + color: Theme.of(context).primaryColor, + child: Align( + alignment: Alignment.topCenter, + child: thumbnail == null + ? Container( + height: 40, + width: 40, + color: Color.fromRGBO(0, 0, 0, 0.4), + child: Center( + child: Text( + username.characters + .characterAt(0) + .toString() + .toUpperCase(), + style: TextStyle(color: Colors.white), + ), + ), + ) + : FadeInImage( + height: 40, + width: 40, + fit: BoxFit.fill, + image: NetworkImage(userdpURL + thumbnail), + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/Redeemable.dart b/lib/Pages/PageWidgets/Alerts/Redeemable.dart new file mode 100644 index 0000000..18f790d --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/Redeemable.dart @@ -0,0 +1,106 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +import 'package:time_elapsed/time_elapsed.dart'; + +buildRedeemableAlert( + {BuildContext context, + DateTime timestamp, + Icon icons, + String thumbnail, + String message}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 30.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + // height: 50, + child: Row( + children: [ + Container( + constraints: BoxConstraints(minHeight: 80, maxHeight: 150), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.88, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: icons, + ), + Expanded( + flex: 1, + // color: Theme.of(context).primaryColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + TimeElapsed.fromDateTime(timestamp), + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.527, + child: Text( + message, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container(), + ], + ), + ), + ), + Container( + width: (MediaQuery.of(context).size.width) * 0.10, + color: Theme.of(context).primaryColor, + child: Align( + alignment: Alignment.topCenter, + child: CachedNetworkImage( + imageUrl: productURL + thumbnail, + imageBuilder: (context, imageProvider) => Image( + fit: BoxFit.fill, + width: 40, + height: 40, + image: imageProvider, + ), + ), + // FadeInImage( + // height: 40, + // width: 40, + // fit: BoxFit.fill, + // image: NetworkImage(), + // placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/Refund.dart b/lib/Pages/PageWidgets/Alerts/Refund.dart new file mode 100644 index 0000000..c7b8a6b --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/Refund.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +import 'package:time_elapsed/time_elapsed.dart'; + +buildRefundAlert( + {BuildContext context, DateTime timestamp, Icon icons, String message}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 30.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + // height: 50, + child: Row( + children: [ + Container( + constraints: BoxConstraints(minHeight: 80, maxHeight: 150), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.88, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: icons, + ), + Expanded( + flex: 1, + // color: Theme.of(context).primaryColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + TimeElapsed.fromDateTime(timestamp), + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.527, + child: Text( + message, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.2, + ), + ), + ), + Container(), + ], + ), + ), + ), + Container( + width: (MediaQuery.of(context).size.width) * 0.08, + color: Theme.of(context).primaryColor, + child: Align( + alignment: Alignment.topCenter, + child: FadeInImage( + height: 30, + width: 30, + fit: BoxFit.fill, + image: AssetImage("assets/images/silver1.png"), + placeholder: AssetImage("assets/images/silver1.png"), + ), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/header.dart b/lib/Pages/PageWidgets/Alerts/header.dart new file mode 100644 index 0000000..a3dd9b4 --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/header.dart @@ -0,0 +1,138 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/Notifications/newMessage.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; + +buildNotficationHeader( + BuildContext context, + Color fcurrentColor, + Color fcurrentColor1, + Color fTextColor1, + Color fTextColor2, + Function navigationTapped, + bool status, + TesoUser user) { + return Container( + // margin: EdgeInsets.symmetric( + // horizontal: MediaQuery.of(context).size.width / 5, + // ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Visibility( + visible: status, + child: Container( + width: 50, + height: 50, + decoration: BoxDecoration( + shape: BoxShape.circle, + //color: Colors.grey, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40.0), + topRight: Radius.circular(40.0), + bottomLeft: Radius.circular(40), + bottomRight: Radius.circular(40), + ), + child: user.thumbnail_dp == null + ? Center( + child: Text( + user.username.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : CachedNetworkImage( + imageUrl: userdpURL + user.thumbnail_dp, + imageBuilder: (context, imageProvider) => FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + child: Material( + color: fcurrentColor == null + ? Theme.of(context).colorScheme.secondary + : fcurrentColor, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigationTapped(0), + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Text( + "Updates", + style: TextStyle( + fontSize: 16, + color: fTextColor1, + ), + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + child: Material( + color: fcurrentColor1, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigationTapped(1), + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Text( + "Inbox", + style: TextStyle( + fontSize: 16, + color: fTextColor2, + ), + ), + ), + ), + ), + ), + Visibility( + visible: status, + child: GestureDetector( + child: Container( + width: 40, + height: 30, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Theme.of(context).colorScheme.secondary, + ), + // padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Icon(Icons.add, size: 25, color: Colors.white), + ), + onTap: () => Navigator.of(context).push( + PageTransition( + child: NewMessage(), + type: PageTransitionType.downToUp, + ), + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart b/lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart new file mode 100644 index 0000000..fa31241 --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/personalizedCoupon.dart @@ -0,0 +1,157 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildPersonalizedAlert( + {BuildContext context, + DateTime timestamp, + Icon icons, + String thumbnail, + String message, + Function accept, + Function decline}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 30.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + // height: 50, + child: Row( + children: [ + Container( + constraints: BoxConstraints(minHeight: 129, maxHeight: 170), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.88, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: icons, + ), + Expanded( + flex: 1, + // color: Theme.of(context).primaryColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + TimeElapsed.fromDateTime(timestamp), + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.527, + child: Text( + message, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(5), + child: RaisedGradientButton( + child: Text( + "Accept", + style: TextStyle( + color: Colors.white, fontSize: 13.5), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + //darkAccent, + ], + ), + onPressed: accept, + width: 90, + height: 30, + ), + ), + Container( + child: RaisedGradientButton( + child: Text( + "Decline", + style: TextStyle( + color: Colors.white, fontSize: 13.5), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + //darkAccent, + ], + ), + onPressed: decline, + width: 90, + height: 30, + ), + ), + ], + ), + ], + ), + ), + ), + Container( + width: (MediaQuery.of(context).size.width) * 0.10, + color: Theme.of(context).primaryColor, + child: Align( + alignment: Alignment.topCenter, + child: CachedNetworkImage( + imageUrl: productURL + thumbnail, + imageBuilder: (context, imageProvider) => Image( + fit: BoxFit.fill, + width: 40, + height: 40, + image: imageProvider, + ), + ), + // FadeInImage( + // height: 40, + // width: 40, + // fit: BoxFit.fill, + // image: NetworkImage(), + // placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/post.dart b/lib/Pages/PageWidgets/Alerts/post.dart new file mode 100644 index 0000000..32c65a9 --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/post.dart @@ -0,0 +1,95 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildPostAlert( + {BuildContext context, + DateTime timestamp, + Icon icons, + String thumbnail, + String message}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 30.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + // height: 50, + child: Row( + children: [ + Container( + constraints: BoxConstraints(minHeight: 80, maxHeight: 150), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.88, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: icons, + ), + Expanded( + flex: 1, + // color: Theme.of(context).primaryColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + TimeElapsed.fromDateTime(timestamp), + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.527, + child: Text( + message, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container(), + ], + ), + ), + ), + // Container( + // width: (MediaQuery.of(context).size.width) * 0.10, + // color: Theme.of(context).primaryColor, + // child: Align( + // alignment: Alignment.topCenter, + // child: Image( + // fit: BoxFit.fill, + // width: 40, + // height: 40, + // image: MemoryImage(base64Decode(thumbnail)), + // ), + // ), + // ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/requestTile.dart b/lib/Pages/PageWidgets/Alerts/requestTile.dart new file mode 100644 index 0000000..e94ba22 --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/requestTile.dart @@ -0,0 +1,184 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +import 'package:teso/Classes/customTesoButton.dart'; + +buildRequest( + {BuildContext context, + DateTime timestamp, + String description, + Icon icons, + String thumbnail, + String username, + Function approve, + Function decline}) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 8.0), + child: Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + color: Theme.of(context).primaryColor, + height: 120, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 120, + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.90, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: icons, + ), + ), + Container( + height: 120, + padding: EdgeInsets.symmetric(vertical: 10), + color: Theme.of(context).primaryColor, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + runSpacing: 10, + children: [ + Icon( + Icons.timer, + size: 15, + ), + Text( + DateTime.now().difference(timestamp).inMinutes > 60 + ? DateTime.now().difference(timestamp).inHours > 24 + ? DateTime.now() + .difference(timestamp) + .inDays + .toString() + + "d" + : DateTime.now() + .difference(timestamp) + .inHours + .toString() + + "h" + : DateTime.now().difference(timestamp).inMinutes == + 0 + ? "now" + : DateTime.now() + .difference(timestamp) + .inMinutes + .toString() + + "m", + style: (TextStyle( + color: Colors.grey, + )), + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.45, + child: Text( + description, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(5), + child: RaisedGradientButton( + child: Text( + "Accept", + style: + TextStyle(color: Colors.white, fontSize: 13.5), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + //darkAccent, + ], + ), + onPressed: approve, + width: 90, + height: 30, + ), + ), + Container( + child: RaisedGradientButton( + child: Text( + "Decline", + style: + TextStyle(color: Colors.white, fontSize: 13.5), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + //darkAccent, + ], + ), + onPressed: decline, + width: 90, + height: 30, + ), + ), + ], + ), + ], + ), + ), + Container( + width: (MediaQuery.of(context).size.width) * 0.10, + color: Theme.of(context).primaryColor, + child: Align( + alignment: Alignment.topCenter, + child: thumbnail == null + ? Container( + height: 40, + width: 40, + color: Color.fromRGBO(0, 0, 0, 0.4), + child: Center( + child: Text( + username.characters + .characterAt(0) + .toString() + .toUpperCase(), + style: TextStyle(color: Colors.white), + ), + ), + ) + : FadeInImage( + height: 40, + width: 40, + fit: BoxFit.fill, + image: NetworkImage(userdpURL + thumbnail), + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Alerts/timeline_description.dart b/lib/Pages/PageWidgets/Alerts/timeline_description.dart new file mode 100644 index 0000000..024d31e --- /dev/null +++ b/lib/Pages/PageWidgets/Alerts/timeline_description.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +builddescription(BuildContext context, String title, String details) { + return Container( + margin: EdgeInsets.all(10), + padding: EdgeInsets.all(10), + child: Column( + children: [ + Container( + child: Align( + alignment: Alignment.topLeft, + child: Text( + title, + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18), + ), + ), + ), + Container( + child: Align( + alignment: Alignment.bottomLeft, + child: Text(details), + ), + ), + Divider( + color: accentMain, + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart b/lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart new file mode 100644 index 0000000..98b3745 --- /dev/null +++ b/lib/Pages/PageWidgets/BusinessProfile/BusinessHead.dart @@ -0,0 +1,181 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:numeral/numeral.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoShop.dart'; + +buildHead( + {BuildContext context, + TesoShop shopSelected, + int products, + int subscribers, + int coupons}) { + return Container( + // height: MediaQuery.of(context).size.width - + // (MediaQuery.of(context).size.width * 0.40), + width: MediaQuery.of(context).size.width, + child: Material( + elevation: 2.0, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(5), + bottomRight: Radius.circular(5), + ), + // shadowColor: Theme.of(context).backgroundColor, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + margin: EdgeInsets.only( + top: 10, + ), + width: 80, + height: 80, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(50.0), + topRight: Radius.circular(50.0), + bottomLeft: Radius.circular(50), + bottomRight: Radius.circular(50), + ), + child: shopSelected.logo != "null" + ? CachedNetworkImage( + imageUrl: businessLogoURL + shopSelected.logo, + imageBuilder: (context, imageProvider) => + FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: + AssetImage("assets/images/store.png"), + ), + ) + : Image( + height: 90, + width: 90, + fit: BoxFit.fill, + image: AssetImage("assets/images/store.png"), + ), + ), + ), + new Wrap( + direction: Axis.vertical, + children: [ + Container( + child: Center( + child: Text( + Numeral(products).value().toString(), + style: TextStyle(fontWeight: FontWeight.bold), + ), + ), + ), + Container( + child: Text( + "Products", + style: TextStyle(fontWeight: FontWeight.w400), + ), + ), + ], + ), + new Wrap( + direction: Axis.vertical, + children: [ + Container( + child: Center( + child: Text( + Numeral(subscribers).value().toString(), + textAlign: TextAlign.center, + style: TextStyle(fontWeight: FontWeight.bold), + ), + ), + ), + Container( + child: Text( + "Subscribers", + style: TextStyle(fontWeight: FontWeight.w400), + ), + ), + ], + ), + new Wrap( + direction: Axis.vertical, + children: [ + Container( + child: Center( + child: Text( + Numeral(coupons).value().toString(), + textAlign: TextAlign.center, + style: TextStyle(fontWeight: FontWeight.bold), + ), + ), + ), + Container( + child: Text( + "Coupons", + style: TextStyle(fontWeight: FontWeight.w400), + ), + ), + ], + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.025, + left: MediaQuery.of(context).size.width * 0.09, + ), + child: Text( + shopSelected.shopAddress, + style: TextStyle( + fontWeight: FontWeight.w400, + //color: Colors.grey, + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.01, + left: MediaQuery.of(context).size.width * 0.09, + ), + child: Text( + shopSelected.categoryShop, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w400, + color: Colors.grey, + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.025, + left: MediaQuery.of(context).size.width * 0.09, + ), + child: Text( + shopSelected.shopDescription.toLowerCase() != "null" + ? shopSelected.shopDescription + : "", + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w400, + //color: Colors.grey, + ), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart b/lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart new file mode 100644 index 0000000..5372b7a --- /dev/null +++ b/lib/Pages/PageWidgets/BusinessProfile/BusinessItems.dart @@ -0,0 +1,69 @@ +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/productDetails.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +buildItems(BuildContext context, Product product, double height) { + return Container( + margin: EdgeInsets.all(1), + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * height, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(30.0), + // ), + child: Hero( + tag: product.productID, + child: GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: ProductDetails( + product: product, + ), + ), + ), + child: Container( + width: double.infinity, + height: double.infinity, + child: Stack( + children: [ + FadeInImage( + width: double.infinity, + height: double.infinity, + fit: BoxFit.fill, + image: NetworkImage(productURL + product.productImage), + placeholder: AssetImage("assets/images/loading.png"), + ), + Container( + height: double.infinity, + width: double.infinity, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: Align( + alignment: Alignment.bottomCenter, + child: Container( + width: double.infinity, + margin: EdgeInsets.only(bottom: 40), + child: Text( + product.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Campaigns/campaignTile.dart b/lib/Pages/PageWidgets/Campaigns/campaignTile.dart new file mode 100644 index 0000000..074afb1 --- /dev/null +++ b/lib/Pages/PageWidgets/Campaigns/campaignTile.dart @@ -0,0 +1,142 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/Campaign.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; +import 'package:jiffy/jiffy.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/AuditionPage.dart'; + +buildCampaign(BuildContext context, Campaign campaignItem) { + return Container( + width: MediaQuery.of(context).size.width, + //height: 120, + // padding: EdgeInsets.only( + // left: 10, + // right: 10, + // ), + child: Material( + elevation: 2.5, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + width: 90, + height: 95, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Image( + width: MediaQuery.of(context).size.width * 0.28, + height: 110, + fit: BoxFit.fill, + image: NetworkImage(campaignItem.targetProduct != null + ? productURL + campaignItem.targetProduct + : ""), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width - 105, + //height: 110, + padding: EdgeInsets.all(5), + child: Column( + children: [ + Container( + width: double.infinity, + child: Wrap( + direction: Axis.horizontal, + children: [ + Text( + "Campaign Title : ", + style: TextStyle(fontWeight: FontWeight.bold), + ), + Text(campaignItem.title) + ], + ), + ), + Container( + width: double.infinity, + child: Wrap( + direction: Axis.horizontal, + children: [ + Text( + "Description : ", + style: TextStyle(fontWeight: FontWeight.bold), + ), + Text( + campaignItem.description.length > 90 + ? campaignItem.description.substring(0, 90) + + "...." + : campaignItem.description, + ) + ], + ), + ), + Container( + width: double.infinity, + child: Wrap( + direction: Axis.horizontal, + children: [ + Text( + "Start Date : ", + style: TextStyle(fontWeight: FontWeight.bold), + ), + Text(Jiffy(campaignItem.startDate).yMMMMd), + ], + ), + ), + Container( + width: double.infinity, + child: Align( + alignment: Alignment.centerRight, + child: Container( + width: 90, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () => Navigator.push( + context, + PageTransition( + child: Audition( + campaign: campaignItem, + ), + type: PageTransitionType.rightToLeft, + ), + ), + child: Text("Join"), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Campaigns/header.dart b/lib/Pages/PageWidgets/Campaigns/header.dart new file mode 100644 index 0000000..c9f8ede --- /dev/null +++ b/lib/Pages/PageWidgets/Campaigns/header.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; + +buildCampaignHead( + BuildContext context, TextEditingController searchkey, Function filter) { + return Container( + height: 60.0, + //margin: EdgeInsets.all(10.0), + padding: EdgeInsets.all(10.0), + child: Material( + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + //buildSmartSearch(context), + new Expanded( + child: InkWell( + onTap: () => print("Searching"), + child: TextField( + autofocus: false, + enabled: true, + textAlign: TextAlign.start, + controller: searchkey, + onChanged: (String v) => filter(v), + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + border: InputBorder.none, + prefixIcon: Icon( + Icons.search, + color: Theme.of(context).primaryColorLight, + ), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ChatScreen/bottomBar.dart b/lib/Pages/PageWidgets/ChatScreen/bottomBar.dart new file mode 100644 index 0000000..7c4bf58 --- /dev/null +++ b/lib/Pages/PageWidgets/ChatScreen/bottomBar.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; + +buildBottom( + BuildContext context, TextEditingController controller, Function send) { + return Container( + height: 70.0, + //margin: EdgeInsets.all(10.0), + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.all(10.0), + child: Material( + color: Theme.of(context).primaryColor, + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + //buildSmartSearch(context), + // InkWell( + // child: Container( + // color: Theme.of(context).primaryColor, + // padding: EdgeInsets.symmetric(horizontal: 10.0), + // child: Icon( + // Ionicons.ios_happy, + // size: 30, + // color: Theme.of(context).accentColor, + // ), + // ), + // onTap: () => print(":)"), + // ), + Container( + width: MediaQuery.of(context).size.width * 0.78, + color: Theme.of(context).primaryColor, + child: TextField( + autofocus: false, + maxLines: null, + textAlign: TextAlign.start, + controller: controller, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + border: InputBorder.none, + //contentPadding: EdgeInsets.only(top: 14.0), + hintText: "Type a message", + hintStyle: TextStyle(color: Colors.grey), + fillColor: Theme.of(context).primaryColor, + filled: true, + ), + ), + ), + InkWell( + child: Container( + color: Theme.of(context).primaryColor, + padding: EdgeInsets.symmetric(horizontal: 10.0), + child: Icon( + Icons.send, + size: 30, + color: Theme.of(context).colorScheme.secondary, + ), + ), + onTap: () => send(controller.text, 0), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ChatScreen/header.dart b/lib/Pages/PageWidgets/ChatScreen/header.dart new file mode 100644 index 0000000..903e6bc --- /dev/null +++ b/lib/Pages/PageWidgets/ChatScreen/header.dart @@ -0,0 +1,106 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/userProfile3P.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; + +buildChatHead(BuildContext context, TesoUser user) { + return Material( + elevation: 10, + child: Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(top: 15), + padding: EdgeInsets.all(15), + height: 70, + child: Row( + children: [ + InkWell( + child: Container( + width: 25, + height: 25, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Theme.of(context).colorScheme.secondary, + ), + // padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Icon(Icons.arrow_back_ios, size: 20, color: Colors.white), + ), + onTap: () => Navigator.pop(context), + ), + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: UserProfileThirdPerson(user: user), + type: PageTransitionType.fade), + ), + child: Container( + width: 35, + height: 35, + margin: EdgeInsets.only(left: 20, right: 15), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[400], + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40.0), + topRight: Radius.circular(40.0), + bottomLeft: Radius.circular(40), + bottomRight: Radius.circular(40), + ), + child: user.thumbnail_dp == null + ? Center( + child: Text( + user.firstname.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : CachedNetworkImage( + imageUrl: userdpURL + user.thumbnail_dp, + imageBuilder: (context, imageProvider) => FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ), + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: UserProfileThirdPerson(user: user), + type: PageTransitionType.fade), + ), + child: Container( + margin: EdgeInsets.only(top: 05), + child: Wrap( + direction: Axis.vertical, + children: [ + Text( + user.firstname + " " + user.lastname, + style: TextStyle(fontSize: 15), + textAlign: TextAlign.left, + ), + // Text( + // "typing....", + // style: TextStyle(fontSize: 11.5), + // textAlign: TextAlign.left, + // ), + ], + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ChatScreen/recipient.dart b/lib/Pages/PageWidgets/ChatScreen/recipient.dart new file mode 100644 index 0000000..b14315b --- /dev/null +++ b/lib/Pages/PageWidgets/ChatScreen/recipient.dart @@ -0,0 +1,46 @@ +import 'package:teso/Classes/ChatMessage.dart'; +import 'package:flutter/material.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildRecipient(BuildContext context, ChatMessage message) { + return Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + left: 10, top: 20, right: MediaQuery.of(context).size.width * 0.3), + decoration: BoxDecoration(), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20.0), + topRight: Radius.circular(10.0), + bottomLeft: Radius.circular(0.0), + bottomRight: Radius.circular(10), + ), + child: Align( + alignment: Alignment.centerRight, + child: Container( + padding: EdgeInsets.all(10), + color: Theme.of(context).primaryColor, + child: Wrap( + alignment: WrapAlignment.spaceBetween, + spacing: 10.0, + direction: Axis.horizontal, + children: [ + Text(message.content), + Container( + child: Align( + alignment: Alignment.bottomRight, + child: Text( + TimeElapsed.fromDateTime(message.timestamp), + textAlign: TextAlign.right, + style: TextStyle( + fontSize: 10, + ), + ), + ), + ), + ]), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ChatScreen/sender.dart b/lib/Pages/PageWidgets/ChatScreen/sender.dart new file mode 100644 index 0000000..f46a26d --- /dev/null +++ b/lib/Pages/PageWidgets/ChatScreen/sender.dart @@ -0,0 +1,46 @@ +import 'package:teso/Classes/ChatMessage.dart'; +import 'package:flutter/material.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildSender(BuildContext context, ChatMessage document) { + return Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.3, top: 20, right: 10), + decoration: BoxDecoration(), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10.0), + topRight: Radius.circular(20.0), + bottomLeft: Radius.circular(10.0), + bottomRight: Radius.circular(0), + ), + child: Align( + alignment: Alignment.centerRight, + child: Container( + padding: EdgeInsets.all(10), + color: Theme.of(context).colorScheme.secondary, + child: Wrap( + alignment: WrapAlignment.spaceBetween, + spacing: 10.0, + direction: Axis.horizontal, + children: [ + Text(document.content), + Container( + child: Align( + alignment: Alignment.bottomRight, + child: Text( + TimeElapsed.fromDateTime(document.timestamp), + textAlign: TextAlign.right, + style: TextStyle( + fontSize: 10, + ), + ), + ), + ), + ]), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart b/lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart new file mode 100644 index 0000000..c623b15 --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/AmountInput.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +buildAmount(BuildContext context, TextEditingController user) { + return Container( + width: double.infinity, + height: 45, + child: TextField( + autofocus: true, + keyboardType: TextInputType.number, + textAlign: TextAlign.left, + controller: user, + decoration: InputDecoration( + prefix: Container( + margin: EdgeInsets.only(right: 6), + padding: EdgeInsets.only(right: 5), + child: Text( + "GH¢ ", + style: TextStyle(color: Colors.grey), + ), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "00.00", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/MomoType.dart b/lib/Pages/PageWidgets/CoinPurchase/MomoType.dart new file mode 100644 index 0000000..fe26dcd --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/MomoType.dart @@ -0,0 +1,56 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +buildType(BuildContext context, String image, String type, Function selected, + String tapped) { + return Container( + margin: EdgeInsets.all(5), + width: 100, + height: 60, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20.0), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(20.0), + child: InkWell( + onTap: () => selected(type), + child: Container( + width: 120, + height: 50, + decoration: BoxDecoration( + border: type == "airteltigo" + ? Border( + right: BorderSide( + color: accentMain, + width: 2, + ), + left: BorderSide( + color: darkAccent, + width: 2, + ), + ) + : null, + ), + child: Stack( + children: [ + Image( + width: double.infinity, + height: double.infinity, + fit: BoxFit.fill, + image: AssetImage(image), + ), + Visibility( + visible: type == tapped ? false : true, + child: Container( + width: double.infinity, + height: double.infinity, + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/PayGold.dart b/lib/Pages/PageWidgets/CoinPurchase/PayGold.dart new file mode 100644 index 0000000..0baf728 --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/PayGold.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; + +payWithGold( + BuildContext context, String type, Function selected, String tapped) { + return Container( + margin: EdgeInsets.all(5), + width: 90, + height: 90, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.transparent, + ), + child: Container( + width: 90, + height: 90, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.transparent, + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(120.0), + child: InkWell( + onTap: () => selected(type), + child: Stack( + children: [ + Image( + width: 90, + height: 90, + fit: BoxFit.fill, + image: AssetImage("assets/images/gold1.png"), + ), + Visibility( + visible: type == tapped ? false : true, + child: Container( + width: double.infinity, + height: double.infinity, + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart b/lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart new file mode 100644 index 0000000..68731a4 --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/util/consts.dart'; + +buildAmount(BuildContext context, TextEditingController user) { + return Container( + width: 100, + height: 65, + child: TextField( + autofocus: true, + maxLength: 3, + maxLengthEnforcement: MaxLengthEnforcement.enforced, + keyboardType: TextInputType.number, + textAlign: TextAlign.center, + controller: user, + style: TextStyle( + fontSize: 18, + ), + decoration: InputDecoration( + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "0000", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart b/lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart new file mode 100644 index 0000000..1afcb45 --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart @@ -0,0 +1,186 @@ +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart'; + +buildSilverCard({ + BuildContext context, + String goldEquivalent, + String cashEquivalent, + String funds, + TesoUser user, +}) { + return Container( + margin: EdgeInsets.all(10), + width: 150, + height: 150, + child: Material( + elevation: 5, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: InkWell( + onTap: () => showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return SilverPurchaseFixed( + amount: funds, + cashCost: cashEquivalent, + goldCost: goldEquivalent, + user: user, + ); + }, + ), + child: Container( + // color: accentMain, + width: 150, + height: 150, + child: Stack( + children: [ + Container( + margin: EdgeInsets.all(10), + width: 120, + height: 120, + child: Padding( + padding: EdgeInsets.all(5), + child: Image( + width: 90, + height: 90, + image: AssetImage("assets/images/silverAnimated.png"), + fit: BoxFit.fill, + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric(horizontal: 10, vertical: 10), + child: Text( + "x " + funds, + style: TextStyle( + color: tesoBlue, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + width: MediaQuery.of(context).size.width, + height: 25, + color: Color.fromRGBO(0, 0, 0, 0.4), + padding: EdgeInsets.symmetric(horizontal: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + new Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Container( + height: 20, + width: 20, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: Container( + height: 20, + width: 20, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(60.0), + topRight: Radius.circular(60.0), + bottomLeft: Radius.circular(60), + bottomRight: Radius.circular(60), + ), + child: Image( + height: 20, + width: 20, + fit: BoxFit.fill, + image: + AssetImage("assets/images/gold1.png"), + ), + ), + ), + ), + ), + Container( + width: 20, + height: 20, + child: Center( + child: Text( + goldEquivalent, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Container( + height: 20, + //width: 20, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: Center( + child: Text( + "GH¢", + style: TextStyle( + color: Colors.grey[300], + fontSize: 13, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + Container( + width: 20, + height: 20, + child: Center( + child: Text( + cashEquivalent, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart b/lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart new file mode 100644 index 0000000..3548def --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/phonenumber.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/util/consts.dart'; + +inputTelNumber(BuildContext context, TextEditingController user) { + return Container( + width: double.infinity, + height: 45, + child: TextField( + maxLengthEnforcement: MaxLengthEnforcement.enforced, + autofocus: true, + keyboardType: TextInputType.number, + textAlign: TextAlign.center, + controller: user, + decoration: InputDecoration( + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + hintStyle: TextStyle(color: Colors.grey), + ), + inputFormatters: []), + ); +} diff --git a/lib/Pages/PageWidgets/CoinPurchase/selector.dart b/lib/Pages/PageWidgets/CoinPurchase/selector.dart new file mode 100644 index 0000000..cfbe216 --- /dev/null +++ b/lib/Pages/PageWidgets/CoinPurchase/selector.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; + +buildSelector(BuildContext context, String title, double size, + List color, Function tapped, Color textColor) { + return InkWell( + onTap: tapped, + child: Container( + width: size - size * 0.55, + height: 42.5, + child: Center( + child: Text( + title, + style: TextStyle( + color: textColor, + ), + ), + ), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: color, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(25), + topLeft: Radius.circular(25), + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Coupons/GiftFriend.dart b/lib/Pages/PageWidgets/Coupons/GiftFriend.dart new file mode 100644 index 0000000..01da598 --- /dev/null +++ b/lib/Pages/PageWidgets/Coupons/GiftFriend.dart @@ -0,0 +1,77 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/TesoUser.dart'; + +buildGiftRecipient( + {BuildContext context, + TextEditingController searchkey, + TesoUser friend, + Function loadFriend}) { + return Container( + height: 60.0, + padding: EdgeInsets.all(10.0), + child: Material( + color: Colors.grey[300], + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Container( + margin: EdgeInsets.symmetric(horizontal: 5), + height: 40.0, + width: 40.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[300], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(35.0), + child: friend == null || friend.username == null + ? Image( + image: AssetImage("assets/images/tesoDP/dp1.png"), + ) + : friend.thumbnail_dp == null + ? Center( + child: Text( + friend.username.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : FadeInImage( + height: 45, + width: 45, + fit: BoxFit.fill, + image: NetworkImage(userdpURL + friend.thumbnail_dp), + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + new Expanded( + child: InkWell( + onTap: loadFriend, + child: TextField( + autofocus: false, + enabled: false, + textAlign: TextAlign.start, + controller: searchkey, + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + border: InputBorder.none, + hintText: "Enter Recipient", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Coupons/mycoupons.dart b/lib/Pages/PageWidgets/Coupons/mycoupons.dart new file mode 100644 index 0000000..f448adb --- /dev/null +++ b/lib/Pages/PageWidgets/Coupons/mycoupons.dart @@ -0,0 +1,223 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:location/location.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/prominentDisclosure.dart'; +import 'package:teso/Pages/Sub_Pages/Coupons/CouponLocation.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:flutter_countdown_timer/flutter_countdown_timer.dart'; + +buildMyCoupons(BuildContext context, CouponDetails coupon, Function dialog, + Function scan) { + SizeConfig().init(context); + return InkWell( + onTap: () => dialog(context, coupon), + child: Container( + width: MediaQuery.of(context).size.width, + height: 100, + child: Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + width: 80, + height: 80, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: CachedNetworkImage( + imageUrl: productURL + coupon.targetProduct.productImage, + imageBuilder: (context, imageProvider) => Image( + width: MediaQuery.of(context).size.width * 0.28, + height: 110, + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 50, + height: 80, + padding: EdgeInsets.all(5), + child: Center( + child: Column( + children: [ + Container( + width: double.infinity, + child: Text( + "Item Name : " + coupon.targetProduct.productName, + style: TextStyle( + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ), + ), + Container( + width: double.infinity, + child: Text( + "Shop Name : " + coupon.issuer.businessName, + style: TextStyle( + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ), + ), + Container( + width: double.infinity, + child: CountdownTimer( + endTime: coupon.expiration.millisecondsSinceEpoch, + widgetBuilder: (context, time) { + int day = time.days; + int hours = time.hours; + int min = time.min; + int sec = time.sec; + if (time.min == null) min = 0; + if (time.days == null) day = 0; + if (time.hours == null) hours = 0; + if (time.sec == null) sec = 0; + if (time == null) { + return Text('Calculating..'); + } else if (time.days == null || time.days < 1) { + return Text( + "Expires in : ${hours}h : ${min}m : ${sec}s", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ); + } else if (time.days == 1) { + return Text( + "Expires in : ${day}day, ${hours}h : ${min}m : ${sec}s", + style: TextStyle( + color: Colors.green, + fontWeight: FontWeight.bold, + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ); + } else { + return Text( + "Expires in : ${day}days, ${hours}h : ${min}m : ${sec}s", + style: TextStyle( + color: Colors.green, + fontWeight: FontWeight.bold, + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ); + } + }, + ), + //Text("Expires : " + "00:00.0"), + ), + Container( + width: double.infinity, + child: Text( + "Pay only : GH¢ " + + (coupon.targetProduct.unitPrice - + (coupon.targetProduct.unitPrice * + (coupon.lowerLimit / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.red, + fontSize: SizeConfig.safeBlockHorizontal * 2.8, + ), + ), + ), + ], + ), + ), + ), + new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: SizeConfig.safeBlockHorizontal * 25, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.all( + // Radius.circular(20.0), + // ), + // ), + primary: tesoBlue, + ), + onPressed: () async { + PermissionStatus alreadyConsent = + await Location.instance.hasPermission(); + if (alreadyConsent != PermissionStatus.granted) { + bool results = await Navigator.push( + context, + PageTransition( + child: ProminentDisclosure(), + type: PageTransitionType.leftToRight)); + if (results) { + await Location.instance.requestPermission(); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: CouponLocator( + shop: coupon.issuer, + ), + ), + ); + } + } else { + Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: CouponLocator( + shop: coupon.issuer, + ), + ), + ); + } + }, + child: Text( + "Location", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 25, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () => scan(context, coupon), + child: Text("Redeem"), + ), + ), + ], + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart b/lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart new file mode 100644 index 0000000..d46285a --- /dev/null +++ b/lib/Pages/PageWidgets/Coupons/personalizedDiscount.dart @@ -0,0 +1,297 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/util/consts.dart'; + +buildPersonalizedDiscountCoupon( + BuildContext context, CouponDetails coupon, Function acquiring) { + return Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.75, + //color: Colors.black, + + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + color: Colors.white, + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: coupon.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), + BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: + TextStyle(color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + coupon.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + coupon.targetProduct.unitPrice.toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (coupon.targetProduct.unitPrice- (coupon.targetProduct.unitPrice * + (coupon.lowerLimit / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + coupon.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ " + + (coupon.targetProduct.unitPrice- (coupon.targetProduct.unitPrice * + (coupon.lowerLimit / 100))) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + coupon.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + coupon.condition, + ), + ), + ], + ), + ), + ), + Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Center( + child: Wrap( + children: [ + Text( + coupon.lowerLimit.toString() + "%", + style: TextStyle( + color: Colors.white, + fontSize: 18.5, + fontWeight: FontWeight.bold, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w900, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.03, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: coupon.upperLimit < 50.1 ? tesoBlue : Colors.red, + ), + onPressed: acquiring, + child: Text( + "Accept Coupon", + style: TextStyle(color: Colors.white), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart b/lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart new file mode 100644 index 0000000..5589788 --- /dev/null +++ b/lib/Pages/PageWidgets/Coupons/personalizedFreebie.dart @@ -0,0 +1,280 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; + +buildPersonalizedFreebieCoupon( + BuildContext context, CouponDetails coupon, Function acquiring) { + return Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.75, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + coupon.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 2), + ), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + coupon.targetProduct.unitPrice + .toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + coupon.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + coupon.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + coupon.condition + .replaceAll('"', ""), + style: TextStyle( + color: Colors.black, + ), + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: EdgeInsets.symmetric( + vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.03, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + ), + onPressed: acquiring, + child: Text( + "Accept Coupon", + style: TextStyle(color: Colors.white), + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/CouponsList/activeCoupon.dart b/lib/Pages/PageWidgets/CouponsList/activeCoupon.dart new file mode 100644 index 0000000..1bda217 --- /dev/null +++ b/lib/Pages/PageWidgets/CouponsList/activeCoupon.dart @@ -0,0 +1,433 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/CouponHead.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +buildActiveDiscountCoupon(BuildContext context, CouponDetails coupon, + Function acquiring, Function calWorth) { + SizeConfig().init(context); + return Wrap( + direction: Axis.horizontal, + children: [ + Container( + width: SizeConfig.safeBlockHorizontal * 70, + height: SizeConfig.safeBlockVertical * 85, + //color: Colors.black, + + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + color: Colors.white, + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: coupon.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), + BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + coupon.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: SizeConfig.safeBlockHorizontal * 16, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + coupon.targetProduct.unitPrice + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (coupon.targetProduct.unitPrice - + (coupon.targetProduct + .unitPrice * + (coupon.worth / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: + SizeConfig.safeBlockHorizontal * 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator.getRate(coupon + .targetProduct.unitPrice * + (coupon.worth / 100)) + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + coupon.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ " + + (coupon.targetProduct.unitPrice - + (coupon.targetProduct + .unitPrice * + (coupon.worth / 100))) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + coupon.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + coupon.condition + .replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all( + color: Colors.red, + ), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + coupon.worth.toStringAsFixed(1) + "%", + style: TextStyle( + color: Colors.white, + fontSize: + SizeConfig.safeBlockHorizontal * 6, + fontWeight: FontWeight.w900, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontSize: + SizeConfig.safeBlockHorizontal * + 4, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.03, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: coupon.upperLimit < 50.1 ? tesoBlue : Colors.red, + ), + onPressed: () async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = coupon.issuer.businessId; + couponsHead.expiration = coupon.expiration; + couponsHead.couponId = coupon.couponId; + couponsHead.quantity = 1; + couponsHead.state = "active"; + couponsHead.lower = coupon.worth; + couponsHead.upper = coupon.upperLimit; + couponsHead.targetProduct = coupon.targetProduct.productID; + double price = + coupon.targetProduct.unitPrice * (coupon.worth / 100); + + int cost = CouponRateCalculator.getRate(price); + acquiring(couponsHead, cost); + }, + child: Text( + "Accept Coupon", + style: TextStyle(color: Colors.white), + ), + ), + ), + ], + ), + ), + ), + Container( + // width: SizeConfig.safeBlockHorizontal * 0.1, + height: SizeConfig.safeBlockVertical * 60, + padding: EdgeInsets.all(SizeConfig.safeBlockVertical * 2), + child: Center( + child: new Column( + children: [ + Container( + child: Text( + coupon.upperLimit.toString() + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + Container( + height: SizeConfig.safeBlockVertical * 50, + child: new RotatedBox( + quarterTurns: 3, + child: Slider( + value: coupon.worth, + min: coupon.lowerLimit, + max: coupon.upperLimit, + divisions: 20, + activeColor: accentMain, + inactiveColor: darkAccent, + label: coupon.worth.toString() + "%", + onChanged: (double newValue) => calWorth(newValue, coupon), + ), + ), + ), + Container( + child: Text( + coupon.lowerLimit.toString() + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + ], + ), + ), + ), + ], + ); +} diff --git a/lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart b/lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart new file mode 100644 index 0000000..185f7da --- /dev/null +++ b/lib/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart @@ -0,0 +1,347 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; + +buildFreebieCoupon( + BuildContext context, CouponDetails coupon, Function acquiring) { + SizeConfig().init(context); + return Container( + width: SizeConfig.safeBlockHorizontal * 70, + height: SizeConfig.safeBlockVertical * 85, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.70, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + coupon.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: SizeConfig.safeBlockHorizontal * 16, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 2), + ), + child: Center( + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + coupon.targetProduct.unitPrice + .toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: SizeConfig.safeBlockHorizontal * 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator.getRate( + coupon.targetProduct.unitPrice * + (coupon.worth / 100)) + .toString(), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + coupon.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + coupon.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + coupon.condition + .replaceAll('"', ""), + style: TextStyle( + color: Colors.black, + ), + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: EdgeInsets.symmetric( + vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.03, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + ), + onPressed: () async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = coupon.issuer.businessId; + couponsHead.expiration = coupon.expiration; + couponsHead.couponId = coupon.couponId; + couponsHead.quantity = 1; + couponsHead.state = "active"; + couponsHead.lower = 100; + couponsHead.upper = 100; + couponsHead.targetProduct = coupon.targetProduct.productID; + double price = + coupon.targetProduct.unitPrice * (couponsHead.lower / 100); + int cost = CouponRateCalculator.getRate(price); + acquiring(couponsHead, cost); + }, + child: Text( + "Accept Coupon", + style: TextStyle(color: Colors.white), + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart b/lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart new file mode 100644 index 0000000..5f88400 --- /dev/null +++ b/lib/Pages/PageWidgets/DesireComeTrue/DesireTile.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/Desire.dart'; +import 'package:teso/util/consts.dart'; + +buildProductDesire(BuildContext context, Desire item, Function addItem) { + return Container( + width: MediaQuery.of(context).size.width, + height: 90, + padding: EdgeInsets.symmetric(horizontal: 10), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + Container( + width: 70, + height: 70, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Image( + width: MediaQuery.of(context).size.width * 0.28, + fit: BoxFit.fill, + //controller: controller, + image: NetworkImage(productURL + item.productImage), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width / 1.7, + padding: EdgeInsets.symmetric(vertical: 20, horizontal: 5), + child: Column( + children: [ + Container( + width: double.infinity, + child: Text("Item Name : " + item.productName), + ), + Container( + width: double.infinity, + child: Text("Price : GH¢ " + item.price.toString()), + ), + ], + ), + ), + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.green, + ), + child: Center( + child: IconButton( + icon: Icon( + Icons.add, + color: Colors.white, + ), + onPressed: () => addItem(item), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart b/lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart new file mode 100644 index 0000000..79a906b --- /dev/null +++ b/lib/Pages/PageWidgets/DesireComeTrue/DesiredItem.dart @@ -0,0 +1,190 @@ +import 'package:teso/Classes/API%20Clasess/Desire.dart'; +import 'package:flutter/material.dart'; +import 'package:jiffy/jiffy.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +class DesiredItem extends StatefulWidget { + final Desire item; + final int number; + final List selected; + const DesiredItem({Key key, this.item, this.number, this.selected}) + : super(key: key); + @override + _DesiredItemState createState() => _DesiredItemState(); +} + +class _DesiredItemState extends State + with TickerProviderStateMixin { + Animation _spaceWidth; + AnimationController _controller; + AnimationController _strikeController; + Animation _strikePercent; + + bool cancelled = false; + + @override + void initState() { + super.initState(); + _controller = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 150), + ); + + _strikeController = AnimationController( + vsync: this, duration: const Duration(milliseconds: 300)); + + _spaceWidth = Tween(begin: 8, end: 12) + .animate(CurvedAnimation(parent: _controller, curve: Curves.easeOut)); + + _strikePercent = Tween(begin: 0, end: 1).animate( + CurvedAnimation(parent: _strikeController, curve: Curves.easeOut)); + + _spaceWidth.addListener(() { + setState(() {}); + }); + + _strikePercent.addListener(() { + setState(() {}); + }); + } + + cancel() { + setState(() { + cancelled = !cancelled; + }); + if (cancelled) { + _playAnimation(true); + } else { + _playAnimation(false); + } + } + + Future _playAnimation(bool strikeIn) async { + try { + if (strikeIn) { + _strikeController.forward().orCancel; + } else { + _strikeController.reverse().orCancel; + } + + await _controller.forward().orCancel; + await _controller.reverse().orCancel; + } on TickerCanceled { + // the animation got canceled, probably because we were disposed + } + } + + removeElement(item) { + cancel(); + if (cancelled) { + widget.selected.remove(item); + SharedPreferences.getInstance().then((value) { + var jiffy = Jiffy()..add(months: 1); + value.setString( + "desire" + jiffy.format("MMMM, yyyy"), widget.selected.toString()); + }); + } else { + widget.selected.insert(widget.number - 1, item); + SharedPreferences.getInstance().then((value) { + var jiffy = Jiffy()..add(months: 1); + value.setString( + "desire" + jiffy.format("MMMM, yyyy"), widget.selected.toString()); + }); + } + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: IntrinsicHeight( + child: Stack( + children: [ + Row( + children: [ + SizedBox( + width: 40, + child: Center( + child: Text(widget.number.toString() + ")", + style: _getValidateStyle(true)), + ), + ), + Container( + width: 1, + decoration: BoxDecoration(color: Colors.red), + ), + SizedBox( + width: _spaceWidth.value, + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: CustomPaint( + foregroundPainter: + StrikeThroughPainter(_strikePercent.value), + child: Text( + widget.item.productName.length > 20 + ? widget.item.productName.substring(0, 16) + + "......" + : widget.item.productName, + style: _getValidateStyle(true)), + ), + ), + SizedBox( + width: 16, + ), + ], + ), + Align( + alignment: Alignment.centerRight, + child: InkWell( + onTap: () => removeElement(widget.item), + child: Container( + margin: EdgeInsets.only( + right: 10, + ), + width: 22.5, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: cancelled == false ? Colors.red : Colors.green, + ), + child: Center( + child: Text( + cancelled == false ? "-" : "+", + style: TextStyle(fontSize: 25, color: Colors.white), + ), + )), + ), + ) + ], + ), + ), + ); + } + + TextStyle _getValidateStyle(bool validation) { + return TextStyle( + fontWeight: FontWeight.bold, + color: (validation) ? Colors.black54 : Colors.black87, + fontSize: 18, + fontFamily: 'WickedGrit', + decoration: null); + } +} + +class StrikeThroughPainter extends CustomPainter { + StrikeThroughPainter(this.percent); + + double percent; + + @override + void paint(Canvas canvas, Size size) { + canvas.drawRect( + Rect.fromLTWH(0, (size.height / 2) - 2, size.width * percent, 4), + Paint()..color = Colors.redAccent); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} diff --git a/lib/Pages/PageWidgets/Editors/SampleThumbnail.dart b/lib/Pages/PageWidgets/Editors/SampleThumbnail.dart new file mode 100644 index 0000000..0cb800c --- /dev/null +++ b/lib/Pages/PageWidgets/Editors/SampleThumbnail.dart @@ -0,0 +1,52 @@ +import 'dart:typed_data'; + +import 'package:flutter/material.dart'; +import 'package:teso/Classes/ColorFilters.dart'; +import 'package:teso/util/SizeConfig.dart'; + +buildFilterThumb(BuildContext context, ColorFilter color, Uint8List thumb) { + SizeConfig().init(context); + return Container( + margin: EdgeInsets.symmetric( + horizontal: 5, + ), + width: SizeConfig.safeBlockHorizontal * 25, + height: 45, + color: Colors.white, + child: Column( + children: [ + Container( + width: SizeConfig.safeBlockHorizontal * 25, + color: Color.fromRGBO(0, 0, 0, 0.8), + child: Text( + color.name, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 15, + color: Colors.white, + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 25, + child: Stack( + children: [ + Image.memory( + thumb, + height: 93.5, + fit: BoxFit.fill, + ), + Container( + width: SizeConfig.safeBlockHorizontal * 25, + height: 93, + color: color.name.toLowerCase() == "original" + ? color.code.withOpacity(0) + : color.code.withOpacity(0.5), + ), + ], + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/business.dart b/lib/Pages/PageWidgets/Explore/business.dart new file mode 100644 index 0000000..18457eb --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/business.dart @@ -0,0 +1,90 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoShop.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Pages/Sub_Pages/Business/BusinessProfile.dart'; + +buildBusiness(BuildContext context, TesoShop shop) { + return Container( + margin: EdgeInsets.all(2.5), + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * 0.60, + child: InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: BusinessProfile( + shop: shop, + ), + type: PageTransitionType.fade, + ), + ), + child: Material( + elevation: 5, + child: Container( + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * 0.60, + child: Wrap( + children: [ + shop.logo.toLowerCase() == "null" || shop.logo == null + ? Image( + width: double.infinity, + height: MediaQuery.of(context).size.width * 0.45, + fit: BoxFit.fill, + image: AssetImage("assets/images/store.png"), + ) + : CachedNetworkImage( + imageUrl: businessLogoURL + shop.logo, + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + height: MediaQuery.of(context).size.width * 0.45, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/store.png"), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Colors.white10, + ), + child: Text( + shop.shopName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + // color: Colors.black45, + fontSize: 15, + fontWeight: FontWeight.bold, + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + color: Colors.white10, + child: Text( + shop.categoryShop, + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.normal, + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + color: Colors.white10, + child: Text( + shop.shopAddress, + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.normal, + ), + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/categoriesTile.dart b/lib/Pages/PageWidgets/Explore/categoriesTile.dart new file mode 100644 index 0000000..1fbaf6f --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/categoriesTile.dart @@ -0,0 +1,48 @@ +import 'package:teso/Classes/categories.dart'; +import 'package:flutter/material.dart'; + +buildCategory(BuildContext context, Category category) { + return Container( + // height: 60, + margin: EdgeInsets.all(5), + + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Theme.of(context).primaryColor, + ), + //padding: EdgeInsets.all(8), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10.0), + topRight: Radius.circular(10.0), + bottomLeft: Radius.circular(10.0), + bottomRight: Radius.circular(10), + ), + child: Material( + color: Theme.of(context).primaryColor, + elevation: 4.0, + borderRadius: BorderRadius.circular(10.0), + shadowColor: Theme.of(context).primaryColor, + child: Column( + children: [ + Container( + margin: EdgeInsets.all(4.5), + child: Image( + image: AssetImage(category.image), + width: 24, + height: 24, + ), + ), + SizedBox( + height: 5, + ), + Container( + margin: EdgeInsets.all(4.5), + child: Text(category.name), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/header.dart b/lib/Pages/PageWidgets/Explore/header.dart new file mode 100644 index 0000000..18329b5 --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/header.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/Pages/Sub_Pages/Explore/search.dart'; + +buildSearch( + BuildContext context, TextEditingController searchkey, Function select) { + return Container( + height: 60.0, + //margin: EdgeInsets.all(10.0), + padding: EdgeInsets.all(10.0), + child: Material( + color: Colors.grey[300], + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + //buildSmartSearch(context), + new Expanded( + child: InkWell( + onTap: () => Navigator.push( + context, + MaterialPageRoute( + builder: (BuildContext context) => Lookup(), + ), + ), + child: TextField( + autofocus: false, + enabled: false, + textAlign: TextAlign.start, + controller: searchkey, + style: TextStyle( + color: Colors.white, + ), + decoration: InputDecoration( + border: InputBorder.none, + //contentPadding: EdgeInsets.only(top: 14.0), + prefixIcon: Icon( + Icons.search, + color: Colors.white, + ), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + // GestureDetector( + // child: Container( + // padding: EdgeInsets.symmetric(horizontal: 20.0), + // child: Icon(MaterialIcons.camera_alt, size: 30, color: tesoBlue), + // ), + // onTap: () => select(), + // ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/popular.dart b/lib/Pages/PageWidgets/Explore/popular.dart new file mode 100644 index 0000000..6321fb0 --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/popular.dart @@ -0,0 +1,75 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/productDetails.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; + +buildPopularItem(BuildContext context, Product product) { + return SizedBox( + child: Container( + height: 200, + margin: EdgeInsets.only(bottom: 05), + padding: EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: ProductDetails( + product: product, + ), + ), + ), + child: Stack( + fit: StackFit.passthrough, + children: [ + CachedNetworkImage( + imageUrl: tesoProductThumbnail( + productLogo: product.productImage, + width: 640, + height: 640, + ), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.contain, + image: imageProvider, + placeholder: AssetImage("assets/images/loading.png"), + ), + ), + Container( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + Center( + child: Text( + product.productName.toUpperCase(), + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ) + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/products.dart b/lib/Pages/PageWidgets/Explore/products.dart new file mode 100644 index 0000000..aa1c9bc --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/products.dart @@ -0,0 +1,64 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/productDetails.dart'; + +buildProducts(BuildContext context, Product product) { + return Container( + margin: EdgeInsets.all(2), + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * 0.60, + child: InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: ProductDetails( + product: product, + ), + ), + ), + child: Container( + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * 0.60, + child: Wrap( + children: [ + FadeInImage( + width: double.infinity, + height: MediaQuery.of(context).size.width * 0.45, + fit: BoxFit.fill, + image: NetworkImage( + tesoProductThumbnail( + productLogo: product.productImage, + width: 640, + height: 640, + ), + ), + placeholder: AssetImage("assets/images/loading.png"), + ), + Container( + height: 50, + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: Center( + child: Text( + product.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Explore/trending.dart b/lib/Pages/PageWidgets/Explore/trending.dart new file mode 100644 index 0000000..b9202b0 --- /dev/null +++ b/lib/Pages/PageWidgets/Explore/trending.dart @@ -0,0 +1,139 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; + +buildTrend(BuildContext context, Product product) { + return Container( + margin: EdgeInsets.all(10), + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * 0.65, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(30.0), + child: Container( + width: double.infinity, + height: double.infinity, + child: Stack( + children: [ + CachedNetworkImage( + imageUrl: tesoProductThumbnail( + productLogo: product.productImage, + width: 640, + height: 640, + ), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.contain, + image: imageProvider, + placeholder: AssetImage("assets/images/loading.png"), + ), + ), + Container( + height: double.infinity, + width: double.infinity, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: Align( + alignment: Alignment.bottomCenter, + child: Container( + width: double.infinity, + margin: EdgeInsets.only(bottom: 40), + child: Text( + product.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + Container( + height: double.infinity, + width: double.infinity, + padding: EdgeInsets.symmetric(horizontal: 10.0), + child: Align( + alignment: Alignment.bottomCenter, + child: Container( + width: double.infinity, + margin: EdgeInsets.only( + bottom: 15, + ), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + Icon( + Icons.location_on, + color: Colors.white, + size: 14, + ), + Text( + " " + product.categoryID.toString(), + textAlign: TextAlign.left, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ], + ), + ), + ), + ), + ), + // Align( + // alignment: Alignment.bottomRight, + // child: GestureDetector( + // onTap: () => print("Hello"), + // child: Container( + // margin: EdgeInsets.all(10), + // padding: EdgeInsets.all(5), + // decoration: BoxDecoration( + // borderRadius: BorderRadius.all( + // Radius.circular(20), + // ), + // color: Colors.white, + // ), + // child: Icon( + // Feather.heart, + // color: Theme.of(context).accentColor, + // ), + // ), + // ), + // ), + // Align( + // alignment: Alignment.topLeft, + // child: Container( + // margin: EdgeInsets.all(10), + // padding: EdgeInsets.symmetric( + // horizontal: 8, + // vertical: 5, + // ), + // decoration: BoxDecoration( + // borderRadius: BorderRadius.all( + // Radius.circular(20), + // ), + // color: Colors.white, + // ), + // child: Text( + // product.duration, + // style: TextStyle( + // color: Colors.black, + // ), + // ), + // ), + // ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Friends/friendTile.dart b/lib/Pages/PageWidgets/Friends/friendTile.dart new file mode 100644 index 0000000..324e35d --- /dev/null +++ b/lib/Pages/PageWidgets/Friends/friendTile.dart @@ -0,0 +1,82 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +buildFriend(BuildContext context, TesoUser friend) { + return Container( + width: MediaQuery.of(context).size.width, + height: 65, + child: Row( + children: [ + Container( + margin: EdgeInsets.symmetric(horizontal: 10), + height: 45.0, + width: 45.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[400], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(30.0), + child: friend.thumbnail_dp == null + ? Center( + child: Text( + friend.username.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : CachedNetworkImage( + imageUrl: userdpURL + friend.thumbnail_dp, + imageBuilder: (context, imageProvider) => Image( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + height: 30, + child: Container( + width: double.infinity, + height: double.infinity, + child: Align( + alignment: Alignment.centerLeft, + child: Text( + friend.username, + style: TextStyle( + fontSize: 12.5, + color: Colors.grey, + ), + textAlign: TextAlign.left, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Text( + friend.firstname + " " + friend.lastname, + textAlign: TextAlign.left, + ), + ), + // Divider(), + ], + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Friends/header.dart b/lib/Pages/PageWidgets/Friends/header.dart new file mode 100644 index 0000000..12aa981 --- /dev/null +++ b/lib/Pages/PageWidgets/Friends/header.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; + +buildFriendsHeader( + BuildContext context, TextEditingController searchkey, Function filter) { + return Container( + height: 60.0, + //margin: EdgeInsets.all(10.0), + padding: EdgeInsets.all(10.0), + child: Material( + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + //buildSmartSearch(context), + new Expanded( + child: InkWell( + onTap: () => print("Searching"), + child: TextField( + autofocus: false, + enabled: true, + textAlign: TextAlign.start, + controller: searchkey, + onChanged: (String v) => filter(v), + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + border: InputBorder.none, + //contentPadding: EdgeInsets.only(top: 14.0), + prefixIcon: Icon( + Icons.search, + color: Theme.of(context).primaryColorLight, + ), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Home/homeTile.dart b/lib/Pages/PageWidgets/Home/homeTile.dart new file mode 100644 index 0000000..0b9ec53 --- /dev/null +++ b/lib/Pages/PageWidgets/Home/homeTile.dart @@ -0,0 +1,27 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/util/consts.dart'; + +buildTile(BuildContext context, Post advert, double height, Function push) { + return Container( + margin: EdgeInsets.all(0.5), + width: MediaQuery.of(context).size.width * 0.525, + height: MediaQuery.of(context).size.width * height, + child: InkWell( + onTap: () => push(advert), + child: CachedNetworkImage( + imageUrl: tesoPostThumb(advert.playbackID), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/blank.jpg"), + ), + errorWidget: (context, url, error) => Container( + color: Colors.grey[800], + )), + ), + ); +} diff --git a/lib/Pages/PageWidgets/HomeProximity/ActiveDiscount.dart b/lib/Pages/PageWidgets/HomeProximity/ActiveDiscount.dart new file mode 100644 index 0000000..30d1332 --- /dev/null +++ b/lib/Pages/PageWidgets/HomeProximity/ActiveDiscount.dart @@ -0,0 +1,575 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +Positioned buildActiveDiscountCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + int flag, + Function swipeRight, + Function swipeLeft, + double worth, + Function calWorth) { + SizeConfig().init(context); + if (worth < img.lowerLimit) { + worth = img.lowerLimit; + } + return new Positioned( + bottom: bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + transform: new Matrix4.skewX(skew), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: Column( + children: [ + new Row( + children: [ + InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.business.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetID; + head.type = img.type; + + CouponDetails details = new CouponDetails(); + details.businessId = img.business.businessId; + details.countID = "null"; + details.couponId = img.couponId; + details.expiration = img.expiration; + details.issuer = img.business; + details.lowerLimit = img.lowerLimit; + details.upperLimit = img.upperLimit; + details.quantity = img.quantity; + details.state = img.state; + details.type = img.type; + details.targetProduct = new Product(); + details.targetProduct.businessID = details.businessId; + details.targetProduct.productImage = img.targetImage; + details.targetProduct.productName = img.targetName; + details.targetProduct.unitPrice = img.targetCost; + details.targetProduct.productDesc = img.tagretDescription; + + Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: details, + ), + ), + ); + }, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.12, + ), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Material( + elevation: 5.0, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.68, + color: Colors.white, + child: Column( + children: [ + Container( + width: + (MediaQuery.of(context).size.width * 0.75), + height: + MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed) + .withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), + BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.white, + fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context) + .size + .width * + 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: + SizeConfig.safeBlockHorizontal * 16, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetCost - + (img.targetCost * + (worth / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: SizeConfig + .safeBlockHorizontal * + 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.white, + fontWeight: + FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator + .getRate( + img.targetCost * + (worth / + 100)) + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: + FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context) + .size + .width * + 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: + MediaQuery.of(context).size.width * 0.010, + ), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * + 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ " + + (img.targetCost - + (img.targetCost * + (worth / 100))) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition + .replaceAll( + '"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: + SizeConfig.safeBlockHorizontal * 22, + height: + SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: + SizeConfig.safeBlockHorizontal * 22, + height: + SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + worth.toStringAsFixed(1) + "%", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig + .safeBlockHorizontal * + 6, + fontWeight: FontWeight.w900, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig + .safeBlockHorizontal * + 4, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ), + Container( + // width: SizeConfig.safeBlockHorizontal * 30, + height: SizeConfig.safeBlockVertical * 60, + // padding: EdgeInsets.all(SizeConfig.safeBlockVertical * 2), + child: new Column( + children: [ + Container( + child: Text( + img.upperLimit.toStringAsFixed(1) + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + Container( + height: SizeConfig.safeBlockVertical * 50, + child: new RotatedBox( + quarterTurns: 3, + child: Slider( + value: worth, + min: img.lowerLimit, + max: img.upperLimit, + divisions: 20, + activeColor: accentMain, + inactiveColor: darkAccent, + label: worth.toStringAsFixed(1) + "%", + onChanged: (double newValue) => calWorth(newValue), + ), + ), + ), + Container( + child: Text( + img.lowerLimit.toString() + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + ], + ), + ) + ], + ), + SizedBox( + height: 20, + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red[200], + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeLeft(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeRight(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/HomeProximity/ActiveFreebie.dart b/lib/Pages/PageWidgets/HomeProximity/ActiveFreebie.dart new file mode 100644 index 0000000..71fd715 --- /dev/null +++ b/lib/Pages/PageWidgets/HomeProximity/ActiveFreebie.dart @@ -0,0 +1,453 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'dart:math' as math; +import 'package:teso/util/consts.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; + +Positioned buildActiveFreebieCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + int flag, + Function swipeRight, + Function swipeLeft, +) { + SizeConfig().init(context); + return new Positioned( + bottom: bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + transform: new Matrix4.skewX(skew), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.business.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetID; + head.type = img.type; + + CouponDetails details = new CouponDetails(); + details.businessId = img.business.businessId; + details.countID = "null"; + details.couponId = img.couponId; + details.expiration = img.expiration; + details.issuer = img.business; + details.lowerLimit = img.lowerLimit; + details.upperLimit = img.upperLimit; + details.quantity = img.quantity; + details.state = img.state; + details.type = img.type; + details.targetProduct = new Product(); + details.targetProduct.businessID = details.businessId; + details.targetProduct.productImage = img.targetImage; + details.targetProduct.productName = img.targetName; + details.targetProduct.unitPrice = img.targetCost; + details.targetProduct.productDesc = img.tagretDescription; + + Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: details, + ), + ), + ); + }, + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: + MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: SizeConfig.safeBlockHorizontal * 16, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: + Border.all(color: Colors.black, width: 2), + ), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * 3, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: + SizeConfig.safeBlockHorizontal * + 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "Silver Coin Cost : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator.getRate( + img.targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * + 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition + .replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: EdgeInsets.symmetric( + vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + SizedBox( + height: 20, + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeLeft(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeRight(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/HomeProximity/DummyDiscount.dart b/lib/Pages/PageWidgets/HomeProximity/DummyDiscount.dart new file mode 100644 index 0000000..e8edf53 --- /dev/null +++ b/lib/Pages/PageWidgets/HomeProximity/DummyDiscount.dart @@ -0,0 +1,314 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +Positioned buildDummyDiscountCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + return new Positioned( + bottom: 60 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + decoration: BoxDecoration( + border: Border.all(color: tesoGold, width: 0.5), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + color: Colors.white, + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle(color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.2, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetCost - + (img.targetCost * + (img.lowerLimit / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Image( + width: 20, + image: + AssetImage("assets/images/silver1.png"), + ), + Text( + CouponRateCalculator.getRate(img.targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetName, + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.02, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ " + + (img.targetCost * (img.lowerLimit / 100)) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition.replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + img.lowerLimit.toStringAsFixed(1) + "%", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 6, + fontWeight: FontWeight.w900, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontSize: + SizeConfig.safeBlockHorizontal * 4, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/HomeProximity/DummyFreebie.dart b/lib/Pages/PageWidgets/HomeProximity/DummyFreebie.dart new file mode 100644 index 0000000..43288fe --- /dev/null +++ b/lib/Pages/PageWidgets/HomeProximity/DummyFreebie.dart @@ -0,0 +1,291 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'dart:math' as math; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; + +Positioned buildDummyFreebieCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + SizeConfig().init(context); + return new Positioned( + bottom: 60.0 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + decoration: BoxDecoration( + border: Border.all(color: tesoBlue, width: 0.5), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.2, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 2), + ), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Text( + "Silver Coin Cost : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Image( + width: 20, + image: + AssetImage("assets/images/silver1.png"), + ), + Text( + CouponRateCalculator.getRate(img.targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.023, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition.replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: SizeConfig.safeBlockHorizontal * 22, + height: SizeConfig.safeBlockHorizontal * 22, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: + EdgeInsets.symmetric(vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Inbox/header.dart b/lib/Pages/PageWidgets/Inbox/header.dart new file mode 100644 index 0000000..a0f78e0 --- /dev/null +++ b/lib/Pages/PageWidgets/Inbox/header.dart @@ -0,0 +1,77 @@ +import 'package:flutter/material.dart'; + +buildInboxHead( + BuildContext context, TextEditingController controller, Function filter) { + return Container( + height: 50.0, + width: MediaQuery.of(context).size.width, + // padding: EdgeInsets.all(10.0), + child: Container( + height: 50, + width: MediaQuery.of(context).size.width - 10, + padding: EdgeInsets.symmetric( + horizontal: 15, + ), + child: Container( + width: MediaQuery.of(context).size.width - 10, + height: 40, + margin: EdgeInsets.only(top: 10), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Theme.of(context).backgroundColor, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + // color: Theme.of(context).backgroundColor, + elevation: 10.0, + borderRadius: BorderRadius.circular(30.0), + shadowColor: Theme.of(context).backgroundColor, + child: TextField( + autofocus: false, + textAlign: TextAlign.start, + style: TextStyle( + color: Colors.black, + ), + controller: controller, + onChanged: (String value) { + filter(value); + }, + decoration: InputDecoration( + contentPadding: EdgeInsets.all(10), + border: OutlineInputBorder( + borderSide: BorderSide.none, + borderRadius: const BorderRadius.all( + Radius.circular( + 30, + ), + ), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide.none, + borderRadius: const BorderRadius.all( + Radius.circular( + 30, + ), + ), + ), + //fillColor: Theme.of(context).primaryColor, + prefixIcon: Icon( + Icons.search, + color: Theme.of(context).primaryColorLight, + ), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Inbox/inboxTile.dart b/lib/Pages/PageWidgets/Inbox/inboxTile.dart new file mode 100644 index 0000000..520a178 --- /dev/null +++ b/lib/Pages/PageWidgets/Inbox/inboxTile.dart @@ -0,0 +1,149 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/inbox.dart'; +import 'package:flutter/material.dart'; +import 'package:time_elapsed/time_elapsed.dart'; +import 'package:teso/util/consts.dart'; + +buildInboxTile(BuildContext context, InboxMessage message, bool read) { + return Container( + width: MediaQuery.of(context).size.width, + height: 80, + child: Row( + children: [ + Container( + margin: EdgeInsets.symmetric(horizontal: 10), + height: 50.0, + width: 50.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(30.0), + child: message.thumbnail == null + ? Center( + child: Text( + message.firstname.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : CachedNetworkImage( + imageUrl: userdpURL + message.thumbnail, + imageBuilder: (context, imageProvider) => FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width - 80, + margin: EdgeInsets.only( + top: 10, + ), + child: Column( + children: [ + Row( + children: [ + Column( + children: [ + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + height: 30, + child: Container( + width: double.infinity, + height: double.infinity, + child: Align( + alignment: Alignment.centerLeft, + child: Text( + message.firstname + " " + message.surname, + style: TextStyle( + fontSize: 12.5, + color: Theme.of(context).primaryColorLight, + fontWeight: FontWeight.bold, + ), + textAlign: TextAlign.left, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Text( + message.message.length > 73 + ? message.message.substring(0, 73).toString() + + "...." + : message.message, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: 11, + ), + ), + ), + ], + ), + Visibility( + visible: !read, + child: Container( + child: Column( + children: [ + Container( + width: 30, + height: 30, + // padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Center( + child: Text( + TimeElapsed.fromDateTime(message.timestamp), + style: TextStyle( + color: + Theme.of(context).colorScheme.secondary, + ), + ), + ), + ), + Material( + color: Colors.grey[300], + elevation: 10.0, + borderRadius: BorderRadius.circular(30.0), + shadowColor: Colors.grey, + child: Container( + width: 10, + height: 10, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + color: Theme.of(context).colorScheme.secondary, + ), + // padding: EdgeInsets.symmetric(horizontal: 20.0), + ), + ), + ], + ), + ), + ), + Visibility( + visible: read, + child: Container( + height: 30, + child: Center( + child: Text( + TimeElapsed.fromDateTime(message.timestamp), + ), + ), + ), + ), + ], + ), + Divider(), + ], + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Inbox/newMessageHeader.dart b/lib/Pages/PageWidgets/Inbox/newMessageHeader.dart new file mode 100644 index 0000000..0574356 --- /dev/null +++ b/lib/Pages/PageWidgets/Inbox/newMessageHeader.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; + +buildNewHead(BuildContext context, Function clear, String title) { + return Container( + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + InkWell( + onTap: () => Navigator.pop(context), + child: Container( + margin: EdgeInsets.all(20), + height: 30, + width: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + color: Theme.of(context).colorScheme.secondary, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Align( + alignment: Alignment.center, + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + )), + ), + ), + ), + Text(title), + InkWell( + onTap: () => clear(), + child: Container( + margin: EdgeInsets.all(20), + padding: EdgeInsets.all(05), + height: 40, + width: 80, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + color: Theme.of(context).colorScheme.secondary, + ), + child: Center( + child: Text( + "Clear", + style: TextStyle(color: Colors.white), + ), + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/bottomCurve.dart b/lib/Pages/PageWidgets/Login/bottomCurve.dart new file mode 100644 index 0000000..761d33e --- /dev/null +++ b/lib/Pages/PageWidgets/Login/bottomCurve.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/painting.dart'; + +class CurvePainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { +// final Shader linearGradient = LinearGradient( +// colors: [Color(0xffDA44bb), Color(0xff8921aa)], +// ).createShader(Rect.fromLTWH(0.0, 0.0, 200.0, 70.0)); +// var paint = Paint()..shader = linearGradient + var paint = Paint(); + paint.color = Colors.white; + paint.style = PaintingStyle.fill; // Change this to fill + + var path = Path(); + + path.moveTo(0.2, size.height * 0.55); + path.quadraticBezierTo(size.width * 0.4, size.height * 0.8, + size.width * 0.75, size.height * 0.40); + path.quadraticBezierTo(size.width * 0.85, size.height * 0.30, + size.width * 1.0, size.height * 0.3468); + path.lineTo(size.width, size.height); + path.lineTo(0, size.height); + + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return true; + } +} diff --git a/lib/Pages/PageWidgets/Login/email.dart b/lib/Pages/PageWidgets/Login/email.dart new file mode 100644 index 0000000..b4d6cfa --- /dev/null +++ b/lib/Pages/PageWidgets/Login/email.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/util/consts.dart'; + +email(BuildContext context, String first, TextEditingController user) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + first, + style: TextStyle( + color: Colors.white, + fontSize: 14.0, + ), + ), + SizedBox( + height: 10.0, + ), + Container( + alignment: Alignment.centerLeft, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10.0), + boxShadow: [ + BoxShadow( + color: Colors.black12, + blurRadius: 6.0, + offset: Offset(0, 2), + ) + ]), + height: 40.0, + child: TextField( + textAlign: TextAlign.center, + controller: user, + style: TextStyle( + color: Colors.black87, + ), + decoration: InputDecoration( + border: InputBorder.none, + // contentPadding: EdgeInsets.only(top: 14.0), + prefixIcon: Icon( + Icons.mail, + color: accentMain, + ), + hintText: "Enter your email address here", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ], + ); +} diff --git a/lib/Pages/PageWidgets/Login/emailSignup.dart b/lib/Pages/PageWidgets/Login/emailSignup.dart new file mode 100644 index 0000000..67e5023 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/emailSignup.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/util/consts.dart'; + +inputEmail(BuildContext context, TextEditingController user) { + return Container( + width: double.infinity, + height: 50, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + autofocus: true, + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + fontSize: 18, + color: Colors.black, + ), + decoration: InputDecoration( + suffix: InkWell( + onTap: () => user.clear(), + child: Icon( + Icons.close_outlined, + color: Colors.grey, + ), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "Email Address", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/forgotPassword.dart b/lib/Pages/PageWidgets/Login/forgotPassword.dart new file mode 100644 index 0000000..301780a --- /dev/null +++ b/lib/Pages/PageWidgets/Login/forgotPassword.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/ResetPassword.dart'; + +buildForgotPasswordBtn(BuildContext context) { + return Container( + alignment: Alignment.centerRight, + child: TextButton( + onPressed: () => showDialog( + context: context, + builder: (BuildContext context) => ResetPassword(), + ), + style: TextButton.styleFrom( + + padding: EdgeInsets.only(right: 0.0), + ), + child: Text( + 'Forgot Password?', + style: TextStyle( + color: Colors.blue, + // fontWeight: FontWeight.bold, + fontFamily: 'OpenSans', + fontSize: 12, + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/password.dart b/lib/Pages/PageWidgets/Login/password.dart new file mode 100644 index 0000000..60081aa --- /dev/null +++ b/lib/Pages/PageWidgets/Login/password.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; + +passwordBuilder( + BuildContext context, String hint, TextEditingController password) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Password', + style: TextStyle( + color: Colors.black, + fontSize: 13.0, + ), + ), + TextField( + controller: password, + textAlign: TextAlign.left, + obscureText: true, + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + border: UnderlineInputBorder( + borderSide: BorderSide( + color: Colors.black87, + ), + ), + hintText: hint, + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ], + ); +} diff --git a/lib/Pages/PageWidgets/Login/passwordAlter.dart b/lib/Pages/PageWidgets/Login/passwordAlter.dart new file mode 100644 index 0000000..ff9fbdb --- /dev/null +++ b/lib/Pages/PageWidgets/Login/passwordAlter.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +changePassword( + BuildContext context, String hint, TextEditingController password) { + return Container( + width: double.infinity, + height: 40, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + textAlign: TextAlign.left, + controller: password, + obscureText: true, + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + hintText: hint, + hintStyle: TextStyle(color: Colors.grey), + //contentPadding: EdgeInsets.only(top: 8.0), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/passwordSignUP.dart b/lib/Pages/PageWidgets/Login/passwordSignUP.dart new file mode 100644 index 0000000..81c0b99 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/passwordSignUP.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +createPassword(BuildContext context, TextEditingController password) { + return Container( + width: double.infinity, + height: 50, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + textAlign: TextAlign.left, + controller: password, + obscureText: true, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + decoration: InputDecoration( + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.blueGrey[400], width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/phonenumber.dart b/lib/Pages/PageWidgets/Login/phonenumber.dart new file mode 100644 index 0000000..10d6b70 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/phonenumber.dart @@ -0,0 +1,61 @@ +import 'package:country_list_pick/country_list_pick.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/util/consts.dart'; + +inputTelNumber( + BuildContext context, Function countryPrefix, TextEditingController user) { + return Container( + width: double.infinity, + height: 80, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + maxLength: 9, + maxLengthEnforcement: MaxLengthEnforcement.enforced, + autofocus: true, + keyboardType: TextInputType.number, + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + fontSize: 18, + color: Colors.black, + ), + decoration: InputDecoration( + prefix: Container( + margin: EdgeInsets.only(right: 6), + padding: EdgeInsets.only(right: 5), + decoration: BoxDecoration( + border: Border( + right: BorderSide( + color: accentMain, + width: 2, + ), + ), + ), + child: CountryListPick( + theme: CountryTheme( + isShowFlag: true, isShowCode: true, isShowTitle: false), + //initialSelection: user.currentUser.country, + onChanged: (CountryCode code) => countryPrefix(code)), + ), + // suffix: InkWell( + // onTap: () => user.clear(), + // child: Icon( + // Ionicons.ios_close_circle, + // color: Colors.grey, + // ), + // ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "Phone number", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/signupusername.dart b/lib/Pages/PageWidgets/Login/signupusername.dart new file mode 100644 index 0000000..121b393 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/signupusername.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/services.dart'; + +usersignup(BuildContext context, TextEditingController user) { + return Container( + width: double.infinity, + height: 50, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + textAlign: TextAlign.center, + controller: user, + inputFormatters: [ + FilteringTextInputFormatter.allow(RegExp(r"[a-zA-Z0-9]+")), + ], + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black12, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "Enter new username here", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Login/username.dart b/lib/Pages/PageWidgets/Login/username.dart new file mode 100644 index 0000000..80289ea --- /dev/null +++ b/lib/Pages/PageWidgets/Login/username.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +username(BuildContext context, String first, TextEditingController user) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + first, + style: TextStyle( + color: Colors.black, + fontSize: 13.0, + ), + ), + TextField( + textAlign: TextAlign.left, + controller: user, + style: TextStyle( + color: Colors.black, + ), + decoration: InputDecoration( + border: UnderlineInputBorder( + borderSide: BorderSide(color: Colors.black87), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "Enter your " + first.toLowerCase() + " here", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ], + ); +} diff --git a/lib/Pages/PageWidgets/Login/validation.dart b/lib/Pages/PageWidgets/Login/validation.dart new file mode 100644 index 0000000..b24ca27 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/validation.dart @@ -0,0 +1,133 @@ +import 'package:flutter/material.dart'; + +class ValidationItem extends StatefulWidget { + ValidationItem(this.title, this.valid); + + final String title; + final bool valid; + + @override + _ValidationItemState createState() => _ValidationItemState(); +} + +class _ValidationItemState extends State + with TickerProviderStateMixin { + AnimationController _controller; + AnimationController _strikeController; + Animation _spaceWidth; + Animation _strikePercent; + + @override + void didUpdateWidget(ValidationItem oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.valid != widget.valid) { + if (widget.valid) { + _playAnimation(true); + } else { + _playAnimation(false); + } + } + } + + @override + void initState() { + super.initState(); + //debugPrint("Init State"); + _controller = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 150), + ); + + _strikeController = AnimationController( + vsync: this, duration: const Duration(milliseconds: 300)); + + _spaceWidth = Tween(begin: 8, end: 12) + .animate(CurvedAnimation(parent: _controller, curve: Curves.easeOut)); + + _strikePercent = Tween(begin: 0, end: 1).animate( + CurvedAnimation(parent: _strikeController, curve: Curves.easeOut)); + + _spaceWidth.addListener(() { + setState(() {}); + }); + + _strikePercent.addListener(() { + setState(() {}); + }); + } + + Future _playAnimation(bool strikeIn) async { + try { + if (strikeIn) { + _strikeController.forward().orCancel; + } else { + _strikeController.reverse().orCancel; + } + + await _controller.forward().orCancel; + await _controller.reverse().orCancel; + } on TickerCanceled { + // the animation got canceled, probably because we were disposed + } + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: IntrinsicHeight( + child: Row( + children: [ + SizedBox( + width: 40, + ), + Container( + width: 1, + decoration: BoxDecoration(color: Colors.red), + ), + SizedBox( + width: _spaceWidth.value, + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: CustomPaint( + foregroundPainter: StrikeThroughPainter(_strikePercent.value), + child: Text(widget.title, + style: _getValidateStyle(widget.valid))), + ), + SizedBox( + width: 16, + ) + ], + ), + ), + ); + } + + TextStyle _getValidateStyle(bool validation) { + return TextStyle( + fontWeight: FontWeight.bold, + color: (validation) ? Colors.black54 : Colors.black87, + fontSize: 18, + fontFamily: 'UbuntuMono', + decoration: null); + } +} + +class StrikeThroughPainter extends CustomPainter { + StrikeThroughPainter(this.percent); + + double percent; + + @override + void paint(Canvas canvas, Size size) { + canvas.drawRect( + Rect.fromLTWH(0, (size.height / 2) - 2, size.width * percent, 4), + Paint()..color = Colors.green); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} diff --git a/lib/Pages/PageWidgets/Login/verificationCode.dart b/lib/Pages/PageWidgets/Login/verificationCode.dart new file mode 100644 index 0000000..26305a2 --- /dev/null +++ b/lib/Pages/PageWidgets/Login/verificationCode.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/util/consts.dart'; + +inputCode(BuildContext context, TextEditingController user) { + return Container( + width: double.infinity, + height: 50, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.10), + child: TextField( + autofocus: true, + keyboardType: TextInputType.number, + textAlign: TextAlign.center, + controller: user, + style: TextStyle( + fontSize: 18, + color: Colors.black, + ), + decoration: InputDecoration( + suffix: InkWell( + onTap: () => user.clear(), + child: Icon( + Icons.close_outlined, + color: Colors.grey, + ), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(color: accentMain, width: 1.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.black, width: 1.0), + ), + //contentPadding: EdgeInsets.only(top: 8.0), + hintText: "Verification Code", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Personal/Empty.dart b/lib/Pages/PageWidgets/Personal/Empty.dart new file mode 100644 index 0000000..a8d55b8 --- /dev/null +++ b/lib/Pages/PageWidgets/Personal/Empty.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +buildEmpty(BuildContext context, Function share) { + return SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height + 40, + child: Column( + children: [ + SizedBox( + height: 50, + ), + Container( + width: 100, + height: 100, + padding: EdgeInsets.all(15), + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Theme.of(context).primaryColorLight, + width: 1, + ), + ), + child: ImageIcon( + AssetImage("assets/images/rawLogo.png"), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + top: 10, + ), + child: Center( + child: Text( + "Share contents", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 23, + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width * 0.5, + margin: EdgeInsets.only( + top: 10, + ), + child: Center( + child: Text( + "When you share videos they'll appear on your profile.", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 13, + color: Colors.grey, + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width * 0.5, + margin: EdgeInsets.only( + top: 10, + ), + child: Center( + child: GestureDetector( + onTap: () => share(context), + child: Text( + "Share your first content", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 13, + color: tesoBlue, + ), + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Personal/header.dart b/lib/Pages/PageWidgets/Personal/header.dart new file mode 100644 index 0000000..0a14cdb --- /dev/null +++ b/lib/Pages/PageWidgets/Personal/header.dart @@ -0,0 +1,192 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; + +buildProfileHeader( + BuildContext context, + String gold, + String silver, + String username, + String bytes, + String friends, + String fullname, + double tall) { + return Container( + child: Column( + children: [ + SizedBox( + height: 5, + ), + Container( + //color: Theme.of(context).accentColor, + //transform: Matrix4.translationValues(0.0, -40.0, 0.0), + height: SizeConfig.blockSizeHorizontal * 20, + width: SizeConfig.blockSizeHorizontal * 20, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[400], + ), + child: bytes == null + ? Center( + child: Text( + username.characters.characterAt(0).toString().toUpperCase(), + ), + ) + : bytes == "null" + ? Center( + child: Text( + username.characters + .characterAt(0) + .toString() + .toUpperCase(), + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + ), + ), + ) + : Container( + height: SizeConfig.blockSizeHorizontal * 18, + width: SizeConfig.blockSizeHorizontal * 18, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: CachedNetworkImage( + imageUrl: bytes, + imageBuilder: (context, imageProvider) => FadeInImage( + height: SizeConfig.blockSizeHorizontal * 18, + width: SizeConfig.blockSizeHorizontal * 18, + fit: BoxFit.fill, + image: imageProvider, + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + //transform: Matrix4.translationValues(0.0, -30.0, 0.0), + child: Center( + child: Text( + fullname, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + // transform: Matrix4.translationValues(0.0, -25.0, 0.0), + child: Center( + child: Text( + "Friends : " + friends, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + height: 18, + width: double.infinity, + // transform: Matrix4.translationValues(0.0, -25.0, 0.0), + margin: + EdgeInsets.only(left: MediaQuery.of(context).size.width / 3.5), + child: Center( + child: Row( + children: [ + Image( + image: AssetImage("assets/images/gold1.png"), + ), + Container( + child: Center( + child: Text( + "Gold Coins : ", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + Container( + margin: EdgeInsets.only(left: 5), + child: Center( + child: Text( + gold, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + ], + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + height: 18, + width: double.infinity, + // transform: Matrix4.translationValues(0.0, -25.0, 0.0), + margin: + EdgeInsets.only(left: MediaQuery.of(context).size.width / 3.5), + child: Center( + child: Row( + children: [ + Image( + image: AssetImage("assets/images/silver1.png"), + ), + Container( + child: Center( + child: Text( + "Silver Coins : ", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + Container( + margin: EdgeInsets.only(left: 5), + child: Center( + child: Text( + silver, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.8, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Personal/scrolls.dart b/lib/Pages/PageWidgets/Personal/scrolls.dart new file mode 100644 index 0000000..21cedd4 --- /dev/null +++ b/lib/Pages/PageWidgets/Personal/scrolls.dart @@ -0,0 +1,125 @@ +import 'package:flutter/material.dart'; + +buildScrolls(BuildContext context, Function navigation, Color couponsSurround, + Color friendsSurround, Color recentlySurround, Color postsSurround) { + return Container( + height: 30, + width: MediaQuery.of(context).size.width, + child: ListView( + scrollDirection: Axis.horizontal, + children: [ + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + width: 90, + child: Material( + color: postsSurround, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigation(0), + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Center( + child: Text( + "Posts", + style: TextStyle( + fontSize: 15, + // color: fTextColor1, + ), + ), + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + width: 90, + child: Material( + color: friendsSurround, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigation(1), + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Center( + child: Text( + "Friends", + style: TextStyle( + fontSize: 15, + // color: fTextColor1, + ), + ), + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + child: Material( + color: recentlySurround, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigation(2), + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Center( + child: Text( + "Recently Viewed", + style: TextStyle( + fontSize: 15, + // color: fTextColor1, + ), + ), + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 5.0), + // padding: EdgeInsets.symmetric( + // horizontal: 5.0, + // ), + width: 90, + child: Material( + color: couponsSurround, + elevation: 0, + borderRadius: BorderRadius.circular(20.0), + shadowColor: Theme.of(context).backgroundColor, + child: InkWell( + onTap: () => navigation(3), + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Center( + child: Text( + "Coupons", + style: TextStyle( + fontSize: 15, + // color: fTextColor1, + ), + ), + ), + ), + ), + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Posts/comment.dart b/lib/Pages/PageWidgets/Posts/comment.dart new file mode 100644 index 0000000..4880de3 --- /dev/null +++ b/lib/Pages/PageWidgets/Posts/comment.dart @@ -0,0 +1,137 @@ +import 'dart:typed_data'; +import 'package:flutter/material.dart'; + +buildCommentTile(BuildContext context, bool available, Uint8List bytes, + TextEditingController controller) { + return Container( + width: MediaQuery.of(context).size.width, + height: 170, + margin: EdgeInsets.only(bottom: 20), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + elevation: 50.0, + borderRadius: BorderRadius.circular(12.0), + child: InkWell( + onTap: () { + // Navigator.push( + // context, + // PageTransition( + // type: PageTransitionType.rightToLeft, + // child: CommentSection(), + // ), + // ); + }, + child: Column( + children: [ + Container( + margin: EdgeInsets.only(top: 10), + height: 30, + width: double.infinity, + child: Center( + child: Text( + "Comments", + style: TextStyle( + fontSize: 16, + ), + ), + ), + ), + Divider(), + Container( + padding: EdgeInsets.symmetric(horizontal: 10), + width: double.infinity, + child: Text("Love this post ? Say something!")), + GestureDetector( + onTap: () => print("hello"), + child: Container( + padding: EdgeInsets.symmetric( + vertical: 08, + horizontal: 6, + ), + width: MediaQuery.of(context).size.width, + child: Row( + children: [ + Container( + height: 45.0, + width: 50.0, + margin: EdgeInsets.only(right: 8), + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey, + ), + child: !available + ? Center( + child: Text("B"), + ) + : Image( + fit: BoxFit.fill, + image: MemoryImage(bytes), + ), + ), + Container( + width: MediaQuery.of(context).size.width * 0.55, + height: 50, + child: TextField( + maxLines: 2, + autofocus: false, + enabled: true, + textAlign: TextAlign.start, + controller: controller, + style: TextStyle( + color: Colors.white, + ), + decoration: InputDecoration( + border: InputBorder.none, + //contentPadding: EdgeInsets.only(top: 14.0), + hintText: "Add a comment", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + GestureDetector( + onTap: () { + print("send comment"); + }, + child: Container( + margin: EdgeInsets.all(20), + height: 30, + width: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Align( + alignment: Alignment.center, + child: Icon( + Icons.send, + )), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Posts/posted.dart b/lib/Pages/PageWidgets/Posts/posted.dart new file mode 100644 index 0000000..07ebc6c --- /dev/null +++ b/lib/Pages/PageWidgets/Posts/posted.dart @@ -0,0 +1,40 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/SpecialPosts.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; + +buildPosted(BuildContext context, Post post, double height, TesoUser user, + bool addable) { + return Container( + margin: EdgeInsets.all(3), + width: MediaQuery.of(context).size.width * 0.5, + height: MediaQuery.of(context).size.width * height, + color: Colors.black, + child: GestureDetector( + onTap: () { + Navigator.push( + context, + PageTransition( + child: new ViewPost( + postedAd: post, + play: true, + ), + type: PageTransitionType.fade)); + }, + child: CachedNetworkImage( + imageUrl: tesoPostThumb(post.playbackID), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/blank.jpg"), + ), + errorWidget: (context, url, error) => + Image.asset("assets/images/blank.jpg"), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Posts/user3P_commentTitle.dart b/lib/Pages/PageWidgets/Posts/user3P_commentTitle.dart new file mode 100644 index 0000000..e49f04b --- /dev/null +++ b/lib/Pages/PageWidgets/Posts/user3P_commentTitle.dart @@ -0,0 +1,56 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/util/consts.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildPostTile3P(BuildContext context, TesoUser user, Post postedAd) { + return ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage( + serverLocation + "api/pulldp/" + postedAd.publisherID, + ), + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: user.username + " ", + style: new TextStyle(fontWeight: FontWeight.bold)), + new TextSpan( + text: postedAd.title, + ), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime(postedAd.timestamp), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Posts/user_commentTitle.dart b/lib/Pages/PageWidgets/Posts/user_commentTitle.dart new file mode 100644 index 0000000..5f08bdb --- /dev/null +++ b/lib/Pages/PageWidgets/Posts/user_commentTitle.dart @@ -0,0 +1,69 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/PostedAd.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +buildPostTile(BuildContext context, PostedAd postedAd) { + return Consumer( + builder: (context, value, child) { + return ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: value.currentUser.thumbnail_dp == null + ? Center( + child: Text( + value.currentUser.username.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage( + userdpURL + value.currentUser.thumbnail_dp), + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: value.currentUser.username + " ", + style: new TextStyle(fontWeight: FontWeight.bold)), + new TextSpan( + text: postedAd.post.title, + ), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime(postedAd.post.timestamp), + ), + ); + }, + ); +} diff --git a/lib/Pages/PageWidgets/Posts/user_posted.dart b/lib/Pages/PageWidgets/Posts/user_posted.dart new file mode 100644 index 0000000..30797c7 --- /dev/null +++ b/lib/Pages/PageWidgets/Posts/user_posted.dart @@ -0,0 +1,35 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/UserPosts.dart'; +import 'package:teso/util/consts.dart'; + +buildPosted(BuildContext context, FBPosts post, double height) { + return Container( + margin: EdgeInsets.all(3), + width: MediaQuery.of(context).size.width * 0.5, + height: MediaQuery.of(context).size.width * height, + color: Colors.black, + child: GestureDetector( + onTap: () { + Navigator.of(context).push(new PageRouteBuilder( + pageBuilder: (_, __, ___) => new UserPosts(postedAd: post), + )); + }, + child: CachedNetworkImage( + imageUrl: tesoPostThumb( + post.playbackID, + ), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/blank.jpg"), + ), + errorWidget: (context, url, error) => Container( + color: Colors.grey[800], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ProximityList/ActiveDiscount.dart b/lib/Pages/PageWidgets/ProximityList/ActiveDiscount.dart new file mode 100644 index 0000000..b399621 --- /dev/null +++ b/lib/Pages/PageWidgets/ProximityList/ActiveDiscount.dart @@ -0,0 +1,587 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +Positioned buildActiveDiscountCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + Function dismissImg, + int flag, + Function addImg, + Function swipeRight, + Function swipeLeft, + double worth, + Function calWorth) { + SizeConfig().init(context); + if (worth < img.lowerLimit) { + worth = img.lowerLimit; + } + return new Positioned( + bottom: bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Dismissible( + key: new Key(new Random().toString()), + crossAxisEndOffset: -0.3, + onResize: () {}, + onDismissed: (DismissDirection direction) { + if (direction == DismissDirection.endToStart) + dismissImg(img); + else + addImg(img); + }, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + transform: new Matrix4.skewX(skew), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: Column( + children: [ + new Wrap( + children: [ + InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.business.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetID; + head.type = img.type; + + CouponDetails details = new CouponDetails(); + details.businessId = img.business.businessId; + details.countID = "null"; + details.couponId = img.couponId; + details.expiration = img.expiration; + details.issuer = img.business; + details.lowerLimit = img.lowerLimit; + details.upperLimit = img.upperLimit; + details.quantity = img.quantity; + details.state = img.state; + details.type = img.type; + details.targetProduct = new Product(); + details.targetProduct.businessID = details.businessId; + details.targetProduct.productImage = img.targetImage; + details.targetProduct.productName = img.targetName; + details.targetProduct.unitPrice = img.targetCost; + details.targetProduct.productDesc = img.tagretDescription; + + await Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: details, + ), + ), + ); + }, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.12, + ), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Material( + elevation: 5.0, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.68, + color: Colors.white, + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * + 0.75), + height: + MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed) + .withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), + BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.white, + fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context) + .size + .width * + 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: + FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: + SizeConfig.safeBlockVertical * 10, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetCost - + (img.targetCost * + (worth / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: SizeConfig + .safeBlockHorizontal * + 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.white, + fontWeight: + FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator + .getRate( + img.targetCost * + (worth / + 100)) + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: + FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context) + .size + .width * + 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: + MediaQuery.of(context).size.width * + 0.010, + ), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Container( + width: + MediaQuery.of(context).size.width * + 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ " + + (img.targetCost - + (img.targetCost * + (worth / + 100))) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition + .replaceAll( + '"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: + Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage( + "assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Center( + child: Wrap( + children: [ + Text( + worth.toString() + "%", + style: TextStyle( + color: Colors.white, + fontSize: 18.5, + fontWeight: FontWeight.bold, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontWeight: + FontWeight.w900, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ), + Container( + // width: SizeConfig.safeBlockHorizontal * 0.1, + height: SizeConfig.safeBlockVertical * 60, + padding: EdgeInsets.all(SizeConfig.safeBlockVertical * 2), + child: Center( + child: new Column( + children: [ + Container( + child: Text( + img.upperLimit.toString() + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + Container( + height: SizeConfig.safeBlockVertical * 50, + child: new RotatedBox( + quarterTurns: 3, + child: Slider( + value: worth, + min: img.lowerLimit, + max: img.upperLimit, + divisions: 20, + activeColor: accentMain, + inactiveColor: darkAccent, + label: worth.toString() + "%", + onChanged: (double newValue) => + calWorth(newValue), + ), + ), + ), + Container( + child: Text( + img.lowerLimit.toString() + " %", + textAlign: TextAlign.center, + style: TextStyle( + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Colors.blue, + ), + ), + ), + ], + ), + ), + ), + ], + ), + SizedBox( + height: 20, + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red[200], + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeLeft(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeRight(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ProximityList/ActiveFreebie.dart b/lib/Pages/PageWidgets/ProximityList/ActiveFreebie.dart new file mode 100644 index 0000000..71cbd50 --- /dev/null +++ b/lib/Pages/PageWidgets/ProximityList/ActiveFreebie.dart @@ -0,0 +1,470 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'dart:math' as math; +import 'package:teso/util/consts.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; + +Positioned buildActiveFreebieCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + Function dismissImg, + int flag, + Function addImg, + Function swipeRight, + Function swipeLeft, +) { + SizeConfig().init(context); + return new Positioned( + bottom: bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Dismissible( + key: new Key(new Random().toString()), + crossAxisEndOffset: -0.3, + onResize: () {}, + onDismissed: (DismissDirection direction) { + if (direction == DismissDirection.endToStart) + dismissImg(img); + else + addImg(img); + }, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + transform: new Matrix4.skewX(skew), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.business.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetID; + head.type = img.type; + + CouponDetails details = new CouponDetails(); + details.businessId = img.business.businessId; + details.countID = "null"; + details.couponId = img.couponId; + details.expiration = img.expiration; + details.issuer = img.business; + details.lowerLimit = img.lowerLimit; + details.upperLimit = img.upperLimit; + details.quantity = img.quantity; + details.state = img.state; + details.type = img.type; + details.targetProduct = new Product(); + details.targetProduct.businessID = details.businessId; + details.targetProduct.productImage = img.targetImage; + details.targetProduct.productName = img.targetName; + details.targetProduct.unitPrice = img.targetCost; + details.targetProduct.productDesc = img.tagretDescription; + + await Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: details, + ), + ), + ); + }, + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * + 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: SizeConfig.safeBlockVertical * 10, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.black, width: 2), + ), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: + SizeConfig.safeBlockHorizontal * + 3, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Image( + width: + SizeConfig.safeBlockHorizontal * + 5, + image: AssetImage( + "assets/images/silver1.png"), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + "Silver Coin Cost : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + Container( + margin: EdgeInsets.only( + top: 5, + ), + child: Text( + CouponRateCalculator.getRate(img + .targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .safeBlockHorizontal * + 3, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * + 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: + MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Pay : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition + .replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: + AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: EdgeInsets.symmetric( + vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + SizedBox( + height: 20, + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeLeft(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => swipeRight(img), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ProximityList/DummyDiscount.dart b/lib/Pages/PageWidgets/ProximityList/DummyDiscount.dart new file mode 100644 index 0000000..1ea7bb2 --- /dev/null +++ b/lib/Pages/PageWidgets/ProximityList/DummyDiscount.dart @@ -0,0 +1,310 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/util/consts.dart'; + +Positioned buildDummyDiscountCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + return new Positioned( + bottom: 60 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + decoration: BoxDecoration( + border: Border.all(color: tesoGold, width: 0.5), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + color: Colors.white, + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle(color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.2, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetCost - + (img.targetCost * + (img.lowerLimit / 100))) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Text( + "SILVER COIN COST : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Image( + width: 20, + image: + AssetImage("assets/images/silver1.png"), + ), + Text( + CouponRateCalculator.getRate(img.targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetName, + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.02, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ " + + (img.targetCost * (img.lowerLimit / 100)) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition.replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Center( + child: Wrap( + children: [ + Text( + img.lowerLimit.toString() + "%", + style: TextStyle( + color: Colors.white, + fontSize: 18.5, + fontWeight: FontWeight.bold, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w900, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/ProximityList/DummyFreebie.dart b/lib/Pages/PageWidgets/ProximityList/DummyFreebie.dart new file mode 100644 index 0000000..8dd01f7 --- /dev/null +++ b/lib/Pages/PageWidgets/ProximityList/DummyFreebie.dart @@ -0,0 +1,289 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'dart:math' as math; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; + +Positioned buildDummyFreebieCoupon( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + return new Positioned( + bottom: 60.0 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75), + decoration: BoxDecoration( + border: Border.all(color: tesoBlue, width: 0.5), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75), + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.business.businessName, + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.2, + padding: EdgeInsets.all(4.5), + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 2), + ), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetCost.toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + new Wrap( + direction: Axis.horizontal, + children: [ + Text( + "Silver Coin Cost : ", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Image( + width: 20, + image: + AssetImage("assets/images/silver1.png"), + ), + Text( + CouponRateCalculator.getRate(img.targetCost * + (img.lowerLimit / 100)) + .toString(), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.023, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + + img.condition.replaceAll('"', ""), + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: + EdgeInsets.symmetric(vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Recently Viewed/viewedItem.dart b/lib/Pages/PageWidgets/Recently Viewed/viewedItem.dart new file mode 100644 index 0000000..90f2d5a --- /dev/null +++ b/lib/Pages/PageWidgets/Recently Viewed/viewedItem.dart @@ -0,0 +1,176 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; + +buildRecentItem( + BuildContext context, CouponDetails couponDetails, Function purchase) { + bool active; + if (couponDetails.quantity > 0) { + active = true; + } else { + active = false; + } + return Container( + width: MediaQuery.of(context).size.width, + height: 150, + child: Row( + children: [ + Container( + width: 95, + height: 95, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: CachedNetworkImage( + imageUrl: productURL + couponDetails.targetProduct.productImage, + imageBuilder: (context, imageProvider) => Image( + width: MediaQuery.of(context).size.width * 0.28, + height: 110, + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + Container( + padding: EdgeInsets.only(top: 10, left: 10), + height: 150, + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + height: 30, + child: Stack( + children: [ + Container( + width: double.infinity, + height: double.infinity, + child: Align( + alignment: Alignment.centerLeft, + child: Text( + couponDetails.issuer.businessName, + style: TextStyle( + fontSize: 12.5, + color: Colors.grey, + ), + textAlign: TextAlign.left, + ), + ), + ), + Container( + width: double.infinity, + height: double.infinity, + child: Align( + alignment: Alignment.centerRight, + child: Text( + couponDetails.lowerLimit.toString() + + " - " + + couponDetails.upperLimit.toString() + + "%", + textAlign: TextAlign.left, + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Text( + couponDetails.targetProduct.productName, + textAlign: TextAlign.left, + ), + ), + Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.35), + child: Text( + "Cost : GH¢ " + + couponDetails.targetProduct.unitPrice.toString(), + textAlign: TextAlign.left, + ), + ), + Visibility( + visible: active, + child: Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.25), + child: Align( + alignment: Alignment.centerRight, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + ), + onPressed: () async { + CouponsHead couponHeads = new CouponsHead(); + couponHeads.businessId = couponDetails.businessId; + couponHeads.couponId = couponDetails.couponId; + couponHeads.expiration = couponDetails.expiration; + couponHeads.lower = couponDetails.lowerLimit; + couponHeads.upper = couponDetails.upperLimit; + couponHeads.type = couponDetails.type; + couponHeads.quantity = 1; + couponHeads.targetProduct = + couponDetails.targetProduct.productID; + purchase(context, couponHeads, + couponDetails.targetProduct.unitPrice); + }, + child: Text("Acquire Coupon"), + ), + ), + ), + ), + Visibility( + visible: !active, + child: Container( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.25), + child: Align( + alignment: Alignment.centerRight, + child: Text( + "Sold Out", + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + ), + ), + ), + ), + ), + Divider(), + ], + ), + ), + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Redeem/activeCard.dart b/lib/Pages/PageWidgets/Redeem/activeCard.dart new file mode 100644 index 0000000..42f8bb3 --- /dev/null +++ b/lib/Pages/PageWidgets/Redeem/activeCard.dart @@ -0,0 +1,275 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/util/consts.dart'; + +Positioned activeCard( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + Function dismissImg, + int flag, + Function addImg, + Function swipeRight, + Function swipeLeft, + String discount, + double selectedDiscount) { + Size screenSize = MediaQuery.of(context).size; + return new Positioned( + bottom: 45.0 + bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Dismissible( + key: new Key(new Random().toString()), + crossAxisEndOffset: -0.3, + onResize: () { + //print("here"); + // setState(() { + // var i = data.removeLast(); + + // data.insert(0, i); + // }); + }, + onDismissed: (DismissDirection direction) { +// _swipeAnimation(); + if (direction == DismissDirection.endToStart) + dismissImg(img); + else + addImg(img); + }, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + //transform: null, + transform: new Matrix4.skewX(skew), + //..rotateX(-math.pi / rotation), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: new Hero( + tag: img.couponId, + child: new GestureDetector( + // onTap: () { + // // Navigator.push( + // // context, + // // new MaterialPageRoute( + // // builder: (context) => new DetailPage(type: img))); + // Navigator.of(context).push(new PageRouteBuilder( + // pageBuilder: (_, __, ___) => new DetailPage(type: img), + // )); + // }, + child: Column( + children: [ + new Container( + margin: EdgeInsets.all(40), + width: screenSize.width * 0.93, + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + elevation: 10.0, + borderRadius: BorderRadius.circular(12.0), + // shadowColor: Theme.of(context).backgroundColor, + child: Container( + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [accentMain, darkAccent], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + child: Column( + children: [ + Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + width: double.infinity, + padding: + EdgeInsets.symmetric(horizontal: 15), + margin: + EdgeInsets.symmetric(vertical: 15), + child: Center( + child: Text( + "Teso Discount Coupon", + style: TextStyle( + fontSize: 22, + color: Colors.white, + fontFamily: 'WickedGrit', + ), + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + decoration: BoxDecoration( + color: Colors.white38, + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + padding: EdgeInsets.all(10), + margin: + EdgeInsets.only(right: 20, top: 35), + child: Text( + selectedDiscount.toString() + "% off", + style: TextStyle(fontSize: 18), + ), + ), + ), + ], + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + img.targetName, + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + "Item Original Price : GH¢ " + + img.targetCost.toString(), + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(10), + width: double.infinity, + child: Center( + child: Text( + "Item Discounted Price : GH¢ " + discount, + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + width: double.infinity, + child: new Wrap( + direction: Axis.horizontal, + children: [ + Align( + alignment: Alignment.bottomCenter, + child: Container( + child: Image( + height: 80, + image: AssetImage( + "assets/images/tesoCouponInsignia.png"), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton(style:ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red, + padding: new EdgeInsets.all(10.0),), + onPressed: swipeLeft, + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton(style:ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green[200], + padding: new EdgeInsets.all(10.0),), + onPressed: swipeRight, + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Redeem/detail.dart b/lib/Pages/PageWidgets/Redeem/detail.dart new file mode 100644 index 0000000..09f7e67 --- /dev/null +++ b/lib/Pages/PageWidgets/Redeem/detail.dart @@ -0,0 +1,308 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; + +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; + +class DetailPage extends StatefulWidget { + final CouponDetails type; + const DetailPage({Key key, this.type}) : super(key: key); + @override + _DetailPageState createState() => new _DetailPageState(type: type); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _DetailPageState extends State with TickerProviderStateMixin { + AnimationController _containerController; + Animation width; + Animation heigth; + CouponDetails type; + _DetailPageState({this.type}); + double _appBarHeight = 256.0; + AppBarBehavior _appBarBehavior = AppBarBehavior.pinned; + + @override + void initState() { + _containerController = new AnimationController( + duration: new Duration(milliseconds: 2000), vsync: this); + super.initState(); + width = new Tween( + begin: 200.0, + end: 220.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth = new Tween( + begin: 400.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth.addListener(() { + setState(() { + if (heigth.isCompleted) {} + }); + }); + _containerController.forward(); + } + + @override + void dispose() { + _containerController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + timeDilation = 0.7; + return new Theme( + data: new ThemeData( + brightness: Brightness.light, + // primaryColor: const Color.fromRGBO(106, 94, 175, 1.0), + platform: Theme.of(context).platform, + ), + child: new Container( + width: width.value, + height: heigth.value, + //color: const Color.fromRGBO(106, 94, 175, 1.0), + child: new Hero( + tag: type.couponId, + child: new Card( + color: Colors.transparent, + child: new Container( + alignment: Alignment.center, + width: width.value, + height: heigth.value, + decoration: new BoxDecoration( + color: Colors.white, + borderRadius: new BorderRadius.circular(10.0), + ), + child: new Stack( + alignment: AlignmentDirectional.bottomCenter, + children: [ + new CustomScrollView( + shrinkWrap: false, + slivers: [ + new SliverAppBar( + elevation: 0.0, + forceElevated: true, + leading: new IconButton( + onPressed: () { + Navigator.of(context).pop(); + }, + icon: new Icon( + Icons.arrow_back, + color: Theme.of(context).colorScheme.secondary, + size: 30.0, + ), + ), + expandedHeight: _appBarHeight, + pinned: _appBarBehavior == AppBarBehavior.pinned, + floating: _appBarBehavior == AppBarBehavior.floating || + _appBarBehavior == AppBarBehavior.snapping, + snap: _appBarBehavior == AppBarBehavior.snapping, + backgroundColor: Theme.of(context).backgroundColor, + flexibleSpace: new FlexibleSpaceBar( + title: Container( + // padding: EdgeInsets.all(5), + width: MediaQuery.of(context).size.width, + height: 40, + decoration: new BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: Align( + alignment: Alignment.bottomCenter, + child: new Text( + type.targetProduct.productName, + // style: TextStyle( + // // color: Theme.of(context).accentColor), + ), + ), + ), + //), + background: new Stack( + fit: StackFit.expand, + children: [ + new Container( + width: width.value, + height: _appBarHeight, + decoration: new BoxDecoration( + image: DecorationImage( + image: NetworkImage(productURL + + type.targetProduct.productImage), + fit: BoxFit.fill, + ), + ), + ), + ], + ), + ), + ), + new SliverList( + delegate: new SliverChildListDelegate([ + new Container( + color: Colors.white, + child: new Padding( + padding: const EdgeInsets.all(35.0), + child: new Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + new Container( + padding: new EdgeInsets.only(bottom: 20.0), + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.white, + border: new Border( + bottom: new BorderSide( + color: Colors.black12))), + child: new Wrap( + direction: Axis.horizontal, + children: [ + new Row( + children: [ + new Icon( + Icons.price_change_sharp, + color: Theme.of(context) + .colorScheme + .secondary, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text("GH¢ " + + type.targetProduct.unitPrice + .toString()), + ) + ], + ), + new Padding( + padding: const EdgeInsets.all(8.0), + child: new Text( + type.worth.toString() + "% off"), + ), + new Row( + children: [ + new Icon( + Icons.store, + color: Theme.of(context) + .colorScheme + .secondary, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text( + type.issuer.businessName), + ) + ], + ), + new Row( + children: [ + new Icon( + Icons.map, + color: Theme.of(context) + .colorScheme + .secondary, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text("15 MILES"), + ) + ], + ), + ], + ), + ), + new Padding( + padding: const EdgeInsets.only( + top: 16.0, bottom: 8.0), + child: new Text( + "Product Description", + style: new TextStyle( + fontWeight: FontWeight.bold), + ), + ), + new Text(type.targetProduct.productDesc), + new Container( + margin: new EdgeInsets.only(top: 25.0), + padding: new EdgeInsets.only( + top: 5.0, bottom: 10.0), + height: 120.0, + decoration: new BoxDecoration( + color: Colors.white, + border: new Border( + top: new BorderSide( + color: Colors.black12), + ), + ), + ), + new Container( + height: 100.0, + ) + ], + ), + ), + ), + ]), + ), + ], + ), + new Container( + width: 600.0, + height: 80.0, + decoration: new BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + alignment: Alignment.center, + child: new Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + new TextButton( + onPressed: () {}, + child: new Container( + height: 60.0, + width: 130.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + )), + new TextButton( + onPressed: () {}, + child: new Container( + height: 60.0, + width: 130.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: accentMain, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Interested", + style: new TextStyle(color: Colors.white), + ), + )) + ], + )) + ], + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Redeem/discountCoupon.dart b/lib/Pages/PageWidgets/Redeem/discountCoupon.dart new file mode 100644 index 0000000..4f13547 --- /dev/null +++ b/lib/Pages/PageWidgets/Redeem/discountCoupon.dart @@ -0,0 +1,274 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; + +Positioned buildCoupon( + CouponDetails img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + Function dismissImg, + int flag, + Function addImg, + Function swipeRight, + Function swipeLeft, + String discount, +) { + img.productCost = img.targetProduct.unitPrice; + Size screenSize = MediaQuery.of(context).size; + return new Positioned( + bottom: 45.0 + bottom, + right: flag == 0 + ? right != 0.0 + ? right + : null + : null, + left: flag == 1 + ? right != 0.0 + ? right + : null + : null, + child: new Dismissible( + key: new Key(new Random().toString()), + crossAxisEndOffset: -0.3, + onResize: () {}, + onDismissed: (DismissDirection direction) { +// _swipeAnimation(); + if (direction == DismissDirection.endToStart) + dismissImg(img); + else + addImg(img); + }, + child: new Transform( + alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft, + //transform: null, + transform: new Matrix4.skewX(skew), + //..rotateX(-math.pi / rotation), + child: new RotationTransition( + turns: new AlwaysStoppedAnimation( + flag == 0 ? rotation / 360 : -rotation / 360), + child: Column( + children: [ + InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.issuer.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetProduct.productID; + head.type = img.type; + await Provider.of(context, listen: false) + .viewCoupon(head); + }, + child: new Container( + margin: EdgeInsets.all(40), + width: screenSize.width * 0.95, + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + elevation: 10.0, + borderRadius: BorderRadius.circular(12.0), + // shadowColor: Theme.of(context).backgroundColor, + child: Container( + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color(0xFFfea404), + Color(0xFFfd0a35), + ], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + child: Column( + children: [ + Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + width: double.infinity, + padding: + EdgeInsets.symmetric(horizontal: 15), + margin: EdgeInsets.symmetric(vertical: 15), + child: Center( + child: Text( + "Teso Discount Coupon", + style: TextStyle( + fontSize: 22, + color: Colors.white, + fontFamily: 'WickedGrit', + ), + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + decoration: BoxDecoration( + color: Colors.white38, + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + padding: EdgeInsets.all(10), + margin: EdgeInsets.only(right: 20, top: 35), + child: Text( + img.worth.toString() + "% off", + style: TextStyle(fontSize: 18), + ), + ), + ), + ], + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + img.targetProduct.productName, + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + "Item Original Price : " + + img.targetProduct.unitPrice.toString(), + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(10), + width: double.infinity, + child: Center( + child: Text( + "Item Discounted Price : " + discount, + style: TextStyle( + fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + width: double.infinity, + child: new Wrap( + direction: Axis.horizontal, + children: [ + Align( + alignment: Alignment.bottomCenter, + child: Container( + child: Image( + height: 80, + image: AssetImage( + "assets/images/tesoCouponInsignia.png"), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ), + new Wrap( + alignment: WrapAlignment.center, + runSpacing: 10, + spacing: 10, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + new ElevatedButton(style:ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.red, + padding: new EdgeInsets.all(10.0),), + onPressed: swipeLeft, + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.red, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Not Interested", + style: new TextStyle(color: Colors.white), + ), + ), + ), + new ElevatedButton(style:ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green[200], + padding: new EdgeInsets.all(10.0),), + onPressed: swipeRight, + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Redeem", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Redeem/dummyCard.dart b/lib/Pages/PageWidgets/Redeem/dummyCard.dart new file mode 100644 index 0000000..4087b30 --- /dev/null +++ b/lib/Pages/PageWidgets/Redeem/dummyCard.dart @@ -0,0 +1,177 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; + +Positioned cardDemoDummy( + ProximityCoupon img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + Size screenSize = MediaQuery.of(context).size; + return new Positioned( + bottom: 100.0 + bottom, + child: new Container( + margin: EdgeInsets.all(40), + width: screenSize.width * 0.95, + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + border: Border.all( + color: Colors.white, + width: 1, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + child: new Container( + alignment: Alignment.center, + width: screenSize.width / 1.2 + cardWidth, + height: screenSize.height / 1.7, + decoration: new BoxDecoration( + color: new Color.fromRGBO(121, 114, 173, 1.0), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color(0xFFfd0a35), + Color(0xFFfea404), + ], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + borderRadius: new BorderRadius.circular(30.0), + ), + child: new Container( + width: screenSize.width / 1.2 + cardWidth, + height: screenSize.height / 2.1, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color(0xFFfd0a35), + Color(0xFFfea404), + ], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + child: Column( + children: [ + Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + width: double.infinity, + padding: EdgeInsets.symmetric(horizontal: 15), + margin: EdgeInsets.symmetric(vertical: 15), + child: Center( + child: Text( + "Teso Discount Coupon", + style: TextStyle( + fontSize: 22, + color: Colors.white, + fontFamily: 'WickedGrit', + ), + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + decoration: BoxDecoration( + color: Colors.white38, + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + padding: EdgeInsets.all(10), + margin: EdgeInsets.only(right: 20, top: 35), + child: Text( + selectedDiscount.toString() + "% off", + style: TextStyle(fontSize: 18), + ), + ), + ), + ], + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + img.targetName, + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + "Item Original Price : " + + "GH¢ " + + img.targetCost.toString(), + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(10), + width: double.infinity, + child: Center( + child: Text( + "Item Discounted Price : " + "GH¢ " + discount, + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + width: double.infinity, + child: new Wrap( + direction: Axis.horizontal, + children: [ + Align( + alignment: Alignment.bottomCenter, + child: Container( + child: Image( + height: 80, + image: AssetImage( + "assets/images/tesoCouponInsignia.png"), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Redeem/scannedDummy.dart b/lib/Pages/PageWidgets/Redeem/scannedDummy.dart new file mode 100644 index 0000000..b4ce0c3 --- /dev/null +++ b/lib/Pages/PageWidgets/Redeem/scannedDummy.dart @@ -0,0 +1,177 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; + +Positioned cardDemoDummy( + CouponDetails img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + Size screenSize = MediaQuery.of(context).size; + return new Positioned( + bottom: 100.0 + bottom, + child: new Container( + margin: EdgeInsets.all(40), + width: screenSize.width * 0.95, + height: MediaQuery.of(context).size.height / 2, + decoration: BoxDecoration( + border: Border.all( + color: Colors.white, + width: 1, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Material( + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + child: new Container( + alignment: Alignment.center, + width: screenSize.width / 1.2 + cardWidth, + height: screenSize.height / 1.7, + decoration: new BoxDecoration( + color: new Color.fromRGBO(121, 114, 173, 1.0), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color(0xFFfd0a35), + Color(0xFFfea404), + ], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + borderRadius: new BorderRadius.circular(30.0), + ), + child: new Container( + width: screenSize.width / 1.2 + cardWidth, + height: screenSize.height / 2.1, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Color(0xFFfd0a35), + Color(0xFFfea404), + ], + //stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + child: Column( + children: [ + Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + width: double.infinity, + padding: EdgeInsets.symmetric(horizontal: 15), + margin: EdgeInsets.symmetric(vertical: 15), + child: Center( + child: Text( + "Teso Discount Coupon", + style: TextStyle( + fontSize: 22, + color: Colors.white, + fontFamily: 'WickedGrit', + ), + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + decoration: BoxDecoration( + color: Colors.white38, + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + padding: EdgeInsets.all(10), + margin: EdgeInsets.only(right: 20, top: 35), + child: Text( + selectedDiscount.toString() + "% off", + style: TextStyle(fontSize: 18), + ), + ), + ), + ], + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + img.targetProduct.productName, + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(8), + width: double.infinity, + child: Center( + child: Text( + "Item Original Price : " + + "GH¢ " + + img.targetProduct.unitPrice.toString(), + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + margin: EdgeInsets.all(10), + width: double.infinity, + child: Center( + child: Text( + "Item Discounted Price : " + "GH¢ " + discount, + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ), + Container( + width: double.infinity, + child: new Wrap( + direction: Axis.horizontal, + children: [ + Align( + alignment: Alignment.bottomCenter, + child: Container( + child: Image( + height: 80, + image: AssetImage( + "assets/images/tesoCouponInsignia.png"), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Settings/AccountSettings.dart b/lib/Pages/PageWidgets/Settings/AccountSettings.dart new file mode 100644 index 0000000..8296dd7 --- /dev/null +++ b/lib/Pages/PageWidgets/Settings/AccountSettings.dart @@ -0,0 +1,153 @@ +import 'package:country_list_pick/country_list_pick.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/AccountSettings/changePassword.dart'; +import 'package:teso/Pages/Sub_Pages/AccountSettings/genderPicker.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/providers/user_provider.dart'; + +class AccountSettings extends StatefulWidget { + @override + _AccountSettingsState createState() => _AccountSettingsState(); +} + +class _AccountSettingsState extends State { + bool show = false; + + @override + void initState() { + SharedPreferences.getInstance().then((value) { + setState(() { + show = value.getBool("password"); + }); + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + UserProvider userProvider = Provider.of(context); + return Consumer( + builder: (BuildContext context, UserProvider user, Widget child) { + return Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + margin: EdgeInsets.only( + left: 20.0, + top: 20.0, + bottom: 12.0, + ), + child: Row( + children: [ + Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon(Icons.arrow_back_ios), + ), + ), + Expanded( + child: Container( + width: double.infinity, + child: Center( + child: Text( + "Account Settings", + style: TextStyle( + fontSize: 18.0, + ), + ), + ), + ), + ), + ], + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + trailing: CountryListPick( + theme: CountryTheme( + isShowFlag: true, isShowCode: true, isShowTitle: true), + initialSelection: user.currentUser.country, + onChanged: (CountryCode code) { + TesoUser newuser = user.currentUser; + newuser.country = code.dialCode; + Provider.of(context, listen: false) + .updateUser(newuser); + }, + ), + title: new Text('Country'), + ), + new ListTile( + trailing: new Wrap( + spacing: 10, + children: [ + new Text( + userProvider.currentUser.gender, + style: TextStyle( + fontSize: 16, + ), + ), + Icon(Icons.arrow_forward_ios) + ], + ), + title: new Text('Gender'), + onTap: () async { + int orientation = 5; + switch (userProvider.currentUser.gender) { + case "Male": + orientation = 0; + break; + case "Female": + orientation = 1; + break; + case "Other": + orientation = 2; + break; + } + orientation = await Navigator.push( + context, + PageTransition( + child: Gender( + value: orientation, + ), + type: PageTransitionType.leftToRight, + ), + ); + TesoUser newuser = user.currentUser; + Provider.of(context, listen: false) + .updateUser(newuser); + }), + Visibility( + visible: show, + child: new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Change password'), + onTap: () => Navigator.push( + context, + PageTransition( + child: ChangePassword(), + type: PageTransitionType.leftToRight, + ), + )), + ), + // new ListTile( + // trailing: new Icon(Icons.arrow_forward_ios), + // title: new Text('Delete account'), + // subtitle: new Text( + // "Delete your account and account data not reversible"), + // onTap: () => {}, + // ), + ], + ), + ), + ); + }); + } +} diff --git a/lib/Pages/PageWidgets/Settings/EditProfile.dart b/lib/Pages/PageWidgets/Settings/EditProfile.dart new file mode 100644 index 0000000..df09fbd --- /dev/null +++ b/lib/Pages/PageWidgets/Settings/EditProfile.dart @@ -0,0 +1,440 @@ +import 'dart:convert'; +import 'dart:io'; +import 'package:camera/camera.dart'; +import 'package:teso/GeneralWidgets/inputTextLimited.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Picture/TakeDP.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +import 'package:image_cropper/image_cropper.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/GeneralWidgets/inputText.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; + +class EditProfile extends StatefulWidget { + final TesoUser userProfile; + final List connectedCameras; + const EditProfile({Key key, this.userProfile, this.connectedCameras}) + : super(key: key); + @override + _EditProfileState createState() => + _EditProfileState(userProfile: this.userProfile); +} + +enum AppState { + free, + picked, + cropped, +} + +class _EditProfileState extends State { + TesoUser userProfile; + _EditProfileState({this.userProfile}); + AppState state; + bool imageAvailable = false; + File _image; + String thumb; + bool passed = false; + bool failed = false; + final picker = ImagePicker(); + TextEditingController username = new TextEditingController(); + TextEditingController firstname = new TextEditingController(); + TextEditingController surname = new TextEditingController(); + TextEditingController telephone = new TextEditingController(); + TextEditingController email = new TextEditingController(); + TextEditingController address = new TextEditingController(); + TextEditingController description = new TextEditingController(); + + _imageSelection(context) async { + final pickedFile = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: TakeDP(connectedCameras: widget.connectedCameras), + )); + + if (pickedFile != null) { + _image = File(pickedFile.path); + setState(() { + _cropImage(); + imageAvailable = true; + }); + } + } + + Future _cropImage() async { + File croppedFile = await ImageCropper.cropImage( + sourcePath: _image.path, + cropStyle: CropStyle.circle, + aspectRatioPresets: Platform.isAndroid + ? [CropAspectRatioPreset.original] + : [CropAspectRatioPreset.original], + androidUiSettings: AndroidUiSettings( + toolbarTitle: 'Teso Profile Picture', + toolbarColor: Theme.of(context).colorScheme.secondary, + toolbarWidgetColor: Colors.white, + initAspectRatio: CropAspectRatioPreset.original, + lockAspectRatio: false), + iosUiSettings: IOSUiSettings( + title: 'Teso Profile Picture', + )); + if (croppedFile != null) { + setState(() { + _image = croppedFile; + state = AppState.cropped; + imageAvailable = true; + }); + } else { + _clearImage(); + } + } + + void _clearImage() { + setState(() { + _image = null; + state = AppState.free; + imageAvailable = false; + }); + } + + Future _updateUser() async { + try { + String thumbnail; + if (_image != null) { + List imageBytes = await _image.readAsBytes(); + thumbnail = base64Encode(imageBytes); + } else if (thumb != null) { + thumbnail = thumb; + } + TesoUser updateuser = new TesoUser(); + updateuser.userGUID = userProfile.userGUID; + updateuser.username = username.text; + updateuser.firstname = firstname.text; + updateuser.lastname = surname.text; + updateuser.address = address.text; + updateuser.description = description.text; + updateuser.email = email.text; + updateuser.phonenumber = telephone.text; + updateuser.gold = userProfile.gold; + updateuser.silver = userProfile.silver; + updateuser.friends = userProfile.friends; + updateuser.displaypicture = thumbnail; + updateuser.thumbnail_dp = userProfile.thumbnail_dp; + updateuser.country = userProfile.country; + updateuser.gender = userProfile.gender; + updateuser.dateOfBirth = userProfile.dateOfBirth; + print(updateuser.toString()); + UserProvider userProvider = + Provider.of(context, listen: false); + userProvider.updateUser(updateuser); + + if (mounted) { + setState(() { + passed = true; + }); + } + + Future.delayed(const Duration(seconds: 5), () { + if (passed) { + if (mounted) { + setState(() { + passed = false; + }); + } + } + }); + } catch (e) { + print(e); + if (mounted) { + setState(() { + failed = true; + }); + } + + Future.delayed(const Duration(seconds: 5), () { + if (failed) { + if (mounted) { + setState(() { + failed = false; + }); + } + } + }); + } + } + + @override + void initState() { + username.text = userProfile.username.toString(); + firstname.text = userProfile.firstname; + surname.text = userProfile.lastname; + address.text = userProfile.address; + email.text = userProfile.email; + telephone.text = userProfile.phonenumber; + description.text = userProfile.description; + thumb = userProfile.thumbnail_dp; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return AnnotatedRegion( + value: SystemUiOverlayStyle.light, + child: GestureDetector( + onTap: () => FocusScope.of(context).unfocus(), + child: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: Scaffold( + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + margin: EdgeInsets.only( + left: 20.0, + top: 10.0, + bottom: 10.0, + ), + child: Row( + children: [ + Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon(Icons.close), + ), + ), + Expanded( + child: Container( + width: double.infinity, + child: Center( + child: Text( + "Edit Profile", + style: TextStyle( + fontSize: 17.0, + ), + ), + ), + ), + ), + new Container( + margin: EdgeInsets.symmetric( + vertical: 0.0, horizontal: 20), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: + Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () => _updateUser(), + child: Text("Done"), + ), + ), + ) + ], + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Visibility( + visible: passed, + child: Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + color: Colors.green, + width: double.infinity, + height: 20, + child: Center( + child: Text( + 'Profile updated successfully', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + Visibility( + visible: failed, + child: Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + color: Colors.red, + width: double.infinity, + height: 20, + child: Center( + child: Text( + 'An error occurred', + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + Center( + child: InkWell( + onTap: () => _imageSelection(context), + child: Container( + //color: Theme.of(context).accentColor, + height: 130, + width: 130, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[400], + ), + child: _image == null && thumb == null + ? Center( + child: Text( + username.text.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : _image == null && thumb == "null" + ? Center( + child: Text( + username.text.characters + .characterAt(0) + .toString() + .toUpperCase(), + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + ), + ), + ) + : _image != null + ? Container( + height: 130, + width: 130, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + placeholder: AssetImage( + "assets/images/tesoDP/dp1.png"), + height: 130, + width: 130, + fit: BoxFit.fill, + image: FileImage( + File( + _image.path, + ), + ), + ), + ), + ) + : Container( + height: 130, + width: 130, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 130, + width: 130, + fit: BoxFit.fill, + image: + NetworkImage(userdpURL + thumb), + placeholder: AssetImage( + "assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 20.0, vertical: 20.0), + child: Divider(), + ), + new ListTile( + enabled: false, + title: buildInputContainer( + context, username, "Username", false), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: buildInputContainer( + context, firstname, "Firstname", true), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: + buildInputContainer(context, surname, "Lastname", true), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: buildInputContainerLimit( + context, description, "About You", true, 120), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: buildInputContainer( + context, email, "Contact (email)", true), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: buildInputContainer( + context, telephone, "Contact (phone number)", true), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: + buildInputContainer(context, address, "Address", true), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + ], + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Settings/privacy.dart b/lib/Pages/PageWidgets/Settings/privacy.dart new file mode 100644 index 0000000..4238d4a --- /dev/null +++ b/lib/Pages/PageWidgets/Settings/privacy.dart @@ -0,0 +1,30 @@ +import 'dart:io'; +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; +import 'package:webview_flutter/webview_flutter.dart'; + +class Privacy extends StatefulWidget { + @override + _PrivacyState createState() => _PrivacyState(); +} + +class _PrivacyState extends State { + @override + void initState() { + super.initState(); + if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + centerTitle: true, + title: Text("Teso Terms and Privacy"), + ), + body: WebView( + initialUrl: serverwebPrivacy, + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Settings/terms.dart b/lib/Pages/PageWidgets/Settings/terms.dart new file mode 100644 index 0000000..5d5e93e --- /dev/null +++ b/lib/Pages/PageWidgets/Settings/terms.dart @@ -0,0 +1,62 @@ +import 'dart:io'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:webview_flutter/webview_flutter.dart'; + +class TermsUse extends StatefulWidget { + @override + _TermsUseState createState() => _TermsUseState(); +} + +class _TermsUseState extends State { + bool loading = true; + @override + void initState() { + super.initState(); + if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); + } + + loaded() { + setState(() { + loading = false; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + centerTitle: true, + title: Text( + "End User Agreement", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + body: Stack( + children: [ + WebView( + // javascriptMode: JavascriptMode.unrestricted, + initialUrl: serverwebTerms, + onPageFinished: (url) => loaded(), + ), + loading + ? Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 20, + ), + ), + ) + : Container(), + ], + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Settings/webViews.dart b/lib/Pages/PageWidgets/Settings/webViews.dart new file mode 100644 index 0000000..9ed7457 --- /dev/null +++ b/lib/Pages/PageWidgets/Settings/webViews.dart @@ -0,0 +1,30 @@ +import 'dart:io'; +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; +import 'package:webview_flutter/webview_flutter.dart'; + +class WebViews extends StatefulWidget { + @override + _WebViewsState createState() => _WebViewsState(); +} + +class _WebViewsState extends State { + @override + void initState() { + super.initState(); + if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + centerTitle: true, + title: Text("Teso Support"), + ), + body: WebView( + initialUrl: serverwebHelp, + ), + ); + } +} diff --git a/lib/Pages/PageWidgets/Third Person Profile/Empty.dart b/lib/Pages/PageWidgets/Third Person Profile/Empty.dart new file mode 100644 index 0000000..e5d2b66 --- /dev/null +++ b/lib/Pages/PageWidgets/Third Person Profile/Empty.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; + +buildEmpty3P(BuildContext context) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + SizedBox( + height: 50, + ), + Container( + width: 100, + height: 100, + padding: EdgeInsets.all(15), + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Theme.of(context).primaryColorLight, + width: 1, + ), + ), + child: ImageIcon( + AssetImage("assets/images/rawLogo.png"), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + top: 10, + ), + child: Center( + child: Text( + "No content", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 23, + ), + ), + ), + ), + SizedBox( + height: 10, + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/Third Person Profile/header.dart b/lib/Pages/PageWidgets/Third Person Profile/header.dart new file mode 100644 index 0000000..79bbe94 --- /dev/null +++ b/lib/Pages/PageWidgets/Third Person Profile/header.dart @@ -0,0 +1,305 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; + +buildHead( + {BuildContext context, + TesoUser user, + String posts, + List friends, + List following, + bool relation, + bool pending, + bool approveRequest, + bool loading, + Function unFriend, + Function approve, + Function cancelRequest, + Function decline}) { + return Container( + color: Theme.of(context).backgroundColor, + width: MediaQuery.of(context).size.width, + child: Column( + children: [ + Container( + child: Container( + height: 70.0, + width: 70.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey, + ), + child: user.thumbnail_dp == null + ? Center( + child: Text( + user.username.characters + .characterAt(0) + .toString() + .toUpperCase(), + ), + ) + : Container( + width: 70, + height: 70, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(40.0), + topRight: Radius.circular(40.0), + bottomLeft: Radius.circular(40), + bottomRight: Radius.circular(40), + ), + child: CachedNetworkImage( + imageUrl: userdpURL + user.thumbnail_dp, + imageBuilder: (context, imageProvider) => Image( + height: 70, + width: 70, + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + bottom: 10, + top: 10, + ), + child: Center( + child: Text( + user.firstname + " " + user.lastname, + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + ), + user.description != null + ? Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + bottom: 10, + ), + child: Text( + user.description != null ? user.description : "", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 12, + color: Colors.grey, + ), + ), + ) + : Container(), + Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.symmetric(horizontal: 5, vertical: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + new Wrap( + direction: Axis.vertical, + children: [ + Container( + child: Text( + "Posts", + style: TextStyle(color: Colors.grey, fontSize: 12), + ), + ), + Container( + child: Text( + posts != null ? posts.toString() : "", + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + // new Wrap( + // direction: Axis.vertical, + // children: [ + // Container( + // child: Text( + // "Following", + // style: TextStyle(color: Colors.grey, fontSize: 12), + // ), + // ), + // Container( + // child: Text( + // following != null ? following.length.toString() : "", + // style: TextStyle( + // fontWeight: FontWeight.bold, + // ), + // ), + // ), + // ], + // ), + new Wrap( + direction: Axis.vertical, + children: [ + Container( + child: Text( + "Friends", + style: TextStyle(color: Colors.grey, fontSize: 12), + ), + ), + Container( + child: Text( + friends != null ? friends.length.toString() : "", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + ], + ), + ), + // Container( + // width: MediaQuery.of(context).size.width, + // height: 45, + // margin: EdgeInsets.only(bottom: 10), + // child: Wrap( + // spacing: 10, + // alignment: WrapAlignment.center, + // direction: Axis.horizontal, + // children: [ + // Visibility( + // visible: loading, + // child: Center( + // child: CupertinoActivityIndicator( + // animating: true, + // radius: 15, + // ), + // ), + // ), + // Visibility( + // visible: approveRequest, + // child: RaisedGradientButton( + // child: Text( + // "Accept Request", + // style: TextStyle(color: Colors.white, fontSize: 14), + // ), + // gradient: LinearGradient( + // begin: Alignment.topCenter, + // end: Alignment.bottomCenter, + // colors: [ + // accentMain, + // darkAccent, + // //darkAccent, + // ], + // ), + // onPressed: approve, + // width: 120, + // height: 45, + // ), + // ), + // Visibility( + // visible: approveRequest, + // child: RaisedGradientButton( + // child: Text( + // "Decline Request", + // style: TextStyle(color: Colors.white, fontSize: 14), + // ), + // gradient: LinearGradient( + // begin: Alignment.topCenter, + // end: Alignment.bottomCenter, + // colors: [ + // accentMain, + // darkAccent, + // //darkAccent, + // ], + // ), + // onPressed: decline, + // width: 120, + // height: 45, + // ), + // ), + // Visibility( + // visible: relation, + // child: Container( + // width: 95, + // height: 40, + // //padding: EdgeInsets.all(10), + // //margin: EdgeInsets.all(7), + // decoration: BoxDecoration( + // borderRadius: BorderRadius.all(Radius.circular(30.0)), + // border: Border.all( + // color: accentMain, + // )), + // child: InkWell( + // child: Center( + // child: Text( + // "Unfriend", + // style: TextStyle(color: accentMain, fontSize: 15), + // ), + // ), + // onTap: unFriend, + // ), + // ), + // ), + // Visibility( + // visible: pending, + // child: RaisedGradientButton( + // child: Text( + // "Cancel Request", + // style: TextStyle(color: Colors.white, fontSize: 14), + // ), + // gradient: LinearGradient( + // begin: Alignment.topCenter, + // end: Alignment.bottomCenter, + // colors: [ + // accentMain, + // darkAccent, + // //darkAccent, + // ], + // ), + // onPressed: cancelRequest, + // width: 120, + // height: 45, + // ), + // ), + // Visibility( + // visible: relation, + // child: RaisedGradientButton( + // child: Text( + // "Message", + // style: TextStyle(color: Colors.white, fontSize: 14), + // ), + // gradient: LinearGradient( + // begin: Alignment.topCenter, + // end: Alignment.bottomCenter, + // colors: [ + // accentMain, + // darkAccent, + // ], + // ), + // onPressed: () => Navigator.pushReplacement( + // context, + // PageTransition( + // child: ChatScreen( + // user: user, + // ), + // type: PageTransitionType.fade, + // ), + // ), + // width: 100, + // height: 45, + // ), + // ), + // ], + // ), + // ) + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/Uploads/Pending.dart b/lib/Pages/PageWidgets/Uploads/Pending.dart new file mode 100644 index 0000000..6cf1acf --- /dev/null +++ b/lib/Pages/PageWidgets/Uploads/Pending.dart @@ -0,0 +1,89 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:loading_indicator/loading_indicator.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; + +uploadTile(BuildContext context, Uploading pendingUpload) { + return Card( + child: Container( + width: MediaQuery.of(context).size.width, + height: 70, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + //constraints: BoxConstraints(minHeight: 80, maxHeight: 150), + width: 60, + height: 60, + child: pendingUpload != null && pendingUpload.thumbnail != null + ? Image( + width: double.infinity, + height: double.infinity, + fit: BoxFit.cover, + image: MemoryImage(base64Decode(pendingUpload.thumbnail)), + gaplessPlayback: true, + ) + : Image( + width: double.infinity, + height: double.infinity, + fit: BoxFit.cover, + image: AssetImage( + "assets/images/blank.jpg", + ), + gaplessPlayback: true, + ), + ), + pendingUpload.isProcessing + ? new Wrap( + direction: Axis.vertical, + children: [ + Text("Preparing post.."), + LoadingIndicator( + indicatorType: Indicator.ballPulse, + + /// Required, The loading type of the widget + colors: [tesoAsh, tesoBlue, tesoGold], + + /// Optional, The color collections + strokeWidth: 2, + + /// Optional, The stroke of the line, only applicable to widget which contains line + ) + ], + ) + : new Wrap( + direction: Axis.vertical, + children: [ + Text("Processing.."), + Container( + width: MediaQuery.of(context).size.width * 0.65, + height: 10, + child: LinearProgressIndicator( + value: pendingUpload.pending, + backgroundColor: tesoAsh, + valueColor: new AlwaysStoppedAnimation(tesoBlue), + ), + ), + ], + ), + pendingUpload.isProcessing + ? Container() + : Container( + width: 40, + height: 40, + child: InkWell( + onTap: () => + Provider.of(context, listen: false) + .cancelUpload(pendingUpload), + child: Icon(Icons.close), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/WalkIn Coupons/ActiveDiscount.dart b/lib/Pages/PageWidgets/WalkIn Coupons/ActiveDiscount.dart new file mode 100644 index 0000000..44e1482 --- /dev/null +++ b/lib/Pages/PageWidgets/WalkIn Coupons/ActiveDiscount.dart @@ -0,0 +1,359 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart'; + +buildActiveDiscountCoupon( + CouponDetails img, + double cardWidth, + BuildContext context, +) { + img.productCost = img.targetProduct.unitPrice; + return Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + ), + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.10), + child: Column( + children: [ + InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.issuer.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetProduct.productID; + head.type = img.type; + await Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: img, + ), + ), + ); + }, + child: Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: Material( + elevation: 5.0, + child: Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.68, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + color: Colors.white, + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.80) - + cardWidth, + height: MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), + BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetProduct.unitPrice.toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetProduct.unitPrice * + (img.lowerLimit / 100)) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ " + + (img.targetProduct.unitPrice * + (img.lowerLimit / 100)) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + img.condition, + ), + ), + ], + ), + ), + ), + Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Center( + child: Wrap( + children: [ + Text( + img.lowerLimit.toString() + "%", + style: TextStyle( + color: Colors.white, + fontSize: 18.5, + fontWeight: FontWeight.bold, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w900, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + SizedBox( + height: 20, + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: tesoGold, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => Navigator.pushReplacement( + context, + PageTransition( + child: RedeemingCoupon( + couponDetails: img, + ), + type: PageTransitionType.fade)), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: tesoGold, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Redeem", + style: new TextStyle(color: Colors.white), + ), + ), + ) + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/WalkIn Coupons/ActiveFreebie.dart b/lib/Pages/PageWidgets/WalkIn Coupons/ActiveFreebie.dart new file mode 100644 index 0000000..aba4676 --- /dev/null +++ b/lib/Pages/PageWidgets/WalkIn Coupons/ActiveFreebie.dart @@ -0,0 +1,318 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'dart:math' as math; +import 'package:teso/util/consts.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Pages/productView.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart'; + +buildActiveFreebieCoupon( + CouponDetails img, double cardWidth, BuildContext context) { + img.productCost = img.targetProduct.unitPrice; + return Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.68, + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.10), + child: Column( + children: [ + InkWell( + onTap: () async { + CouponsHead head = new CouponsHead(); + head.businessId = img.issuer.businessId; + head.couponId = img.couponId; + head.expiration = img.expiration; + head.lower = img.lowerLimit; + head.upper = img.upperLimit; + head.quantity = img.quantity; + head.state = img.state; + head.targetProduct = img.targetProduct.productID; + head.type = img.type; + await Provider.of(context, listen: false) + .viewCoupon(head); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: ProductView( + couponDetails: img, + ), + ), + ); + }, + child: Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.65, + margin: EdgeInsets.only( + left: MediaQuery.of(context).size.width * 0.1, + ), + child: Material( + elevation: 5.0, + child: Container( + width: (MediaQuery.of(context).size.width * 0.80) - cardWidth, + height: MediaQuery.of(context).size.height * 0.65, + color: Colors.white, + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.80) - + cardWidth, + height: MediaQuery.of(context).size.height * 0.50, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: + Border.all(color: Colors.black, width: 2), + ), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetProduct.unitPrice + .toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: + MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.025, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + img.condition, + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), + BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: EdgeInsets.symmetric( + vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + SizedBox( + height: 20, + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: tesoGold, + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => Navigator.pushReplacement( + context, + PageTransition( + child: RedeemingCoupon( + couponDetails: img, + ), + type: PageTransitionType.fade)), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Redeem", + style: new TextStyle(color: Colors.white), + ), + ), + ) + ], + ), + ); +} diff --git a/lib/Pages/PageWidgets/WalkIn Coupons/DummyDiscount.dart b/lib/Pages/PageWidgets/WalkIn Coupons/DummyDiscount.dart new file mode 100644 index 0000000..fc3c9fe --- /dev/null +++ b/lib/Pages/PageWidgets/WalkIn Coupons/DummyDiscount.dart @@ -0,0 +1,271 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/util/consts.dart'; + +Positioned buildDummyDiscountCoupon( + CouponDetails img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + img.productCost = img.targetProduct.unitPrice; + return new Positioned( + bottom: 100.0 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75) - cardWidth, + // height: MediaQuery.of(context).size.height * 0.70, + decoration: BoxDecoration( + border: Border.all(color: tesoGold, width: 0.5), + ), + child: Container( + width: (MediaQuery.of(context).size.width * 0.75) - cardWidth, + // height: MediaQuery.of(context).size.height * 0.68, + color: Colors.white, + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75) - cardWidth, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: img.upperLimit < 50.1 + ? DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/blue.png"), + colorFilter: new ColorFilter.mode( + Color(0xFF0031ed).withOpacity(1.0), + BlendMode.multiply), + ) + : DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/redBack.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(1.0), BlendMode.multiply), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle(color: Colors.white, fontSize: 15), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "VOUCHER", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: Border.all(color: Colors.white)), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetProduct.unitPrice.toString(), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ " + + (img.targetProduct.unitPrice * + (img.lowerLimit / 100)) + .toStringAsFixed(2), + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.02, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ " + + (img.targetProduct.unitPrice * + (img.lowerLimit / 100)) + .toStringAsFixed(2) + + " only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + img.condition, + ), + ), + ], + ), + ), + ), + Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 65, + height: 65, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Center( + child: Wrap( + children: [ + Text( + img.lowerLimit.toString() + "%", + style: TextStyle( + color: Colors.white, + fontSize: 18.5, + fontWeight: FontWeight.bold, + ), + ), + Container( + margin: EdgeInsets.only( + left: 22, + ), + child: Text( + "OFF", + textAlign: TextAlign.end, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w900, + ), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); +} diff --git a/lib/Pages/PageWidgets/WalkIn Coupons/DummyFreebie.dart b/lib/Pages/PageWidgets/WalkIn Coupons/DummyFreebie.dart new file mode 100644 index 0000000..f084969 --- /dev/null +++ b/lib/Pages/PageWidgets/WalkIn Coupons/DummyFreebie.dart @@ -0,0 +1,245 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; + +Positioned buildDummyFreebieCoupon( + CouponDetails img, + double bottom, + double right, + double left, + double cardWidth, + double rotation, + double skew, + BuildContext context, + String discount, + double selectedDiscount) { + img.productCost = img.targetProduct.unitPrice; + return new Positioned( + bottom: 80.0 + bottom, + child: Container( + width: (MediaQuery.of(context).size.width * 0.75) - cardWidth, + decoration: BoxDecoration( + border: Border.all(color: tesoBlue, width: 0.5), + color: Colors.white, + ), + child: Column( + children: [ + Container( + width: (MediaQuery.of(context).size.width * 0.75) - cardWidth, + height: MediaQuery.of(context).size.height * 0.55, + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.white, + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/grey.png"), + colorFilter: new ColorFilter.mode( + tesoAsh.withOpacity(1.0), BlendMode.overlay), + ), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Stack( + children: [ + Align( + alignment: Alignment.topLeft, + child: Row( + children: [ + Image( + width: 30, + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + SizedBox( + width: 5, + ), + Text( + "TESO", + style: TextStyle( + color: Colors.black, + fontSize: 15, + ), + ), + ], + ), + ), + Align( + alignment: Alignment.topCenter, + child: Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.125, + ), + child: Column( + children: [ + Text( + img.issuer.businessName.toUpperCase(), + style: TextStyle( + color: Colors.black, + fontSize: 18, + fontWeight: FontWeight.w700, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + vertical: 10, + ), + child: Center( + child: Text( + "FREEBIE", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 25, + fontWeight: FontWeight.w900, + ), + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + height: MediaQuery.of(context).size.width * 0.18, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 2), + ), + child: Column( + children: [ + Text( + "ORIGINAL PRICE : GH¢ " + + img.targetProduct.unitPrice.toStringAsFixed(2), + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + Text( + "DISCOUNTED PRICE : GH¢ 0.00", + style: TextStyle( + color: Colors.black, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.15), + child: Text( + img.targetProduct.productName.toUpperCase(), + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.023, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.4, + height: 70, + padding: EdgeInsets.only( + top: 5, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + child: Text( + "Price : GH¢ 0.00 only", + style: TextStyle( + color: Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + img.condition == 'none' + ? Container() + : Container( + child: Text( + "Condition : " + img.condition, + ), + ), + ], + ), + ), + ), + Container( + width: 70, + height: 70, + padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + border: Border.all( + color: Colors.red, + ), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(80), + bottomLeft: Radius.circular(80), + bottomRight: Radius.circular(80), + ), + ), + child: Container( + width: 70, + height: 70, + //padding: EdgeInsets.all(2.5), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + border: Border.all(color: Colors.red), + image: DecorationImage( + fit: BoxFit.fill, + image: AssetImage("assets/images/red.png"), + colorFilter: new ColorFilter.mode( + Colors.red.withOpacity(0.5), BlendMode.overlay), + ), + ), + child: Transform.rotate( + angle: -math.pi / 4, + child: Container( + margin: + EdgeInsets.symmetric(vertical: 20, horizontal: 5), + height: 10, + child: Text( + "FREE!!!", + style: TextStyle( + color: Colors.white, + fontSize: 16.2, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/Personnal.dart b/lib/Pages/Personnal.dart new file mode 100644 index 0000000..bc78797 --- /dev/null +++ b/lib/Pages/Personnal.dart @@ -0,0 +1,184 @@ +import 'package:pull_to_refresh/pull_to_refresh.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Personal/header.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Friends.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Posts.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Recently.dart'; + +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; + +class Personnal extends StatefulWidget { + final Function showSettings; + const Personnal({Key key, this.showSettings}) : super(key: key); + @override + _PersonnalState createState() => + _PersonnalState(showSettings: this.showSettings); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _PersonnalState extends State with TickerProviderStateMixin { + TesoUser currentUser; + Function showSettings; + double scale; + _PersonnalState({this.showSettings}); + double _appBarHeightSpecial = 275.0; + RefreshController _refreshController = + RefreshController(initialRefresh: false); + TabController tabsController; + + Widget _randomHeightWidgets(BuildContext context) { + return Consumer( + builder: (BuildContext context, UserProvider user, Widget child) { + user.getCurrentUser(); + currentUser = user.currentUser; + if (user.currentUser == null || currentUser == null) { + return Container(); + } else { + String dp = userdpURL + currentUser.thumbnail_dp; + + return buildProfileHeader( + context, + currentUser.gold, + currentUser.silver, + currentUser.username, + dp, + user.friends != null + ? user.friends.length.toString() + : currentUser.friends, + currentUser.firstname + " " + currentUser.lastname, + _appBarHeightSpecial); + } + }); + } + + void _onRefresh() async { + Provider.of(context, listen: false).getUserInformation(); + + switch (tabsController.index) { + case 0: + await Provider.of(context, listen: false).pullAds(); + Provider.of(context, listen: false).loadFriends(); + Provider.of(context, listen: false).getCoupons(); + break; + case 1: + await Provider.of(context, listen: false).loadFriends(); + Provider.of(context, listen: false).getCoupons(); + Provider.of(context, listen: false).pullAds(); + break; + default: + break; + } + _refreshController.refreshCompleted(); + } + + @override + void initState() { + super.initState(); + tabsController = new TabController(length: 3, initialIndex: 0, vsync: this); + } + + @override + void dispose() { + tabsController.dispose(); + _refreshController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + extendBody: true, + appBar: PreferredSize( + preferredSize: Size.fromHeight(SizeConfig.blockSizeHorizontal * 73.1), + child: Column( + children: [ + AppBar( + backgroundColor: Colors.transparent, + toolbarHeight: 50, + automaticallyImplyLeading: false, + title: Consumer( + builder: + (BuildContext context, UserProvider user, Widget child) { + currentUser = user.currentUser; + if (user.currentUser == null || currentUser == null) { + return Container(); + } else { + return Text(user.currentUser.username, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + )); + } + }, + ), + actions: [ + Container( + width: 50, + child: Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.only(top: 10), + height: 30.0, + width: 45.0, + //color: Color.fromRGBO(0, 0, 0, 0.4), + decoration: new BoxDecoration( + shape: BoxShape.circle, + color: Color.fromRGBO(0, 0, 0, 0.4), + //border: Border.all(color: Colors.black, width: 2.0), + ), + child: InkWell( + onTap: () => showSettings(context), + child: Icon( + Icons.settings, + color: Colors.white, + ), + ), + ), + ), + ) + ], + ), + _randomHeightWidgets(context), + TabBar( + labelStyle: TextStyle( + fontSize: SizeConfig.safeBlockHorizontal * 3, + ), + controller: tabsController, + tabs: [ + Tab( + text: "Posts", + ), + Tab( + text: "Friends", + ), + Tab( + text: "Recently Viewed", + ), + ], + ), + ], + ), + ), + body: SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: TabBarView( + controller: tabsController, + children: [ + Posts(), + Friends(), + Recently(), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Picture/PictureReview.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/PictureReview.dart new file mode 100644 index 0000000..7b27dfc --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/PictureReview.dart @@ -0,0 +1,76 @@ +import 'package:flutter/material.dart'; +import 'dart:io'; + +class PictureReview extends StatefulWidget { + final image; + + const PictureReview({Key key, this.image}) : super(key: key); + @override + _PictureReviewState createState() => _PictureReviewState(); +} + +class _PictureReviewState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Stack(children: [ + Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Image.file( + File( + widget.image, + ), + fit: BoxFit.fill, + ), + ), + Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () { + Navigator.pop(context, false); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 50, + width: 50, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), shape: BoxShape.circle), + child: Icon( + Icons.close, + color: Colors.red, + size: 40, + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: InkWell( + onTap: () { + Navigator.pop(context, true); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 50, + width: 50, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), shape: BoxShape.circle), + child: Icon( + Icons.check, + color: Colors.green, + size: 40, + ), + ), + ), + ), + ]), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakeDP.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakeDP.dart new file mode 100644 index 0000000..973cd92 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakeDP.dart @@ -0,0 +1,314 @@ +import 'package:flutter/material.dart'; +import 'package:camera/camera.dart'; + +import 'package:teso/util/consts.dart'; +import 'package:image_picker/image_picker.dart'; + +// ignore: must_be_immutable +class TakeDP extends StatefulWidget { + List connectedCameras; + + TakeDP({Key key, this.connectedCameras}) : super(key: key); + + @override + _TakeDPState createState() => _TakeDPState(); +} + +class _TakeDPState extends State with TickerProviderStateMixin { + CameraController _controller; + int selectedCamera = 0; + bool flash = false; + bool frontFlash = false; + double _currentScale = 1.0; + double _baseScale = 1.0; + double _minAvailableZoom; + double _maxAvailableZoom; + int _pointers = 0; + final picker = ImagePicker(); + + setCamera(int camera) async { + _controller = + CameraController(widget.connectedCameras[camera], ResolutionPreset.max); + _controller.initialize().then((_) { + _controller.setFocusMode(FocusMode.auto); + if (!mounted) { + return; + } + setState(() {}); + }); + } + + void onViewFinderTap(TapDownDetails details, BoxConstraints constraints) { + final offset = Offset( + details.localPosition.dx / constraints.maxWidth, + details.localPosition.dy / constraints.maxHeight, + ); + _controller.setExposurePoint(offset); + _controller.setFocusPoint(offset); + } + + @override + void initState() { + if (widget.connectedCameras == null || + widget.connectedCameras.length == 0) { + availableCameras().then((value) { + widget.connectedCameras = value; + setCamera(0); + }); + } else { + setCamera(0); + } + + super.initState(); + } + + sayCheese() async { + try { + final image = await _controller.takePicture(); + + if (image != null) Navigator.pop(context, image); + } catch (e) { + print(e); + } + } + + void _handleScaleStart(ScaleStartDetails details) { + _baseScale = _currentScale; + } + + Future _handleScaleUpdate(ScaleUpdateDetails details) async { + // When there are not exactly two fingers on screen don't scale + if (_pointers != 2) { + return; + } + + _currentScale = (_baseScale * details.scale) + .clamp(_minAvailableZoom, _maxAvailableZoom); + + await _controller.setZoomLevel(_currentScale); + } + + @override + void dispose() { + _controller?.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + if (_controller == null || !_controller.value.isInitialized) { + return Container(); + } else { + return Scaffold( + body: Stack( + children: [ + cameraWidget(context), + flashWidget(context), + Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.06, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + child: InkWell( + onTap: () { + if (flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + selectedCamera++; + if (selectedCamera < widget.connectedCameras.length) { + setCamera(selectedCamera); + } else { + selectedCamera = 0; + setCamera(selectedCamera); + } + }, + child: Icon( + Icons.video_call, + color: Colors.white, + size: 40, + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.25, + ), + child: InkWell( + onTap: () { + try { + if (!flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.torch); + setState(() { + flash = true; + }); + } else if (!flash && + _controller.description.lensDirection == + CameraLensDirection.front) { + setState(() { + flash = true; + frontFlash = true; + }); + } else if (flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + } catch (e) {} + }, + child: Icon( + flash ? Icons.flash_on : Icons.flash_off, + color: flash ? tesoGold : Colors.white, + size: 30, + ), + ), + ), + ), + Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: InkWell( + onTap: sayCheese, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.white, + width: 3, + ), + ), + child: Icon( + Icons.camera_alt, + color: Colors.white, + size: 40, + ), + ), + ), + ), + Align( + alignment: Alignment.bottomLeft, + child: InkWell( + onTap: imgFromGallery, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + Icons.photo, + color: Colors.white, + size: 27, + ), + ), + ), + ), + ], + ), + ); + } + } + + imgFromGallery() async { + final pickedFile = + await picker.pickImage(source: ImageSource.gallery, imageQuality: 70); + + if (pickedFile != null) { + Navigator.pop(context, pickedFile); + } else { + print('No image selected.'); + } + return; + } + + Widget flashWidget(context) { + return Visibility( + visible: frontFlash, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.4), + ), + ), + ); + } + + Widget cameraWidget(context) { + var camera = _controller.value; + final size = MediaQuery.of(context).size; + var scale = size.aspectRatio * camera.aspectRatio; + if (scale < 1) scale = 1 / scale; + + return Transform.scale( + scale: scale, + child: Center( + child: CameraPreview( + _controller, + child: LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + onScaleStart: _handleScaleStart, + onScaleUpdate: _handleScaleUpdate, + onTapDown: (details) => onViewFinderTap(details, constraints), + ); + }), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakePicture.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakePicture.dart new file mode 100644 index 0000000..04cff91 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Picture/TakePicture.dart @@ -0,0 +1,335 @@ +import 'package:flutter/material.dart'; +import 'package:camera/camera.dart'; + +import 'package:teso/util/consts.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:page_transition/page_transition.dart'; +import 'PictureReview.dart'; +import 'dart:io'; + +// ignore: must_be_immutable +class TakePicture extends StatefulWidget { + List connectedCameras; + + TakePicture({Key key, this.connectedCameras}) : super(key: key); + + @override + _TakePictureState createState() => _TakePictureState(); +} + +class _TakePictureState extends State + with TickerProviderStateMixin { + CameraController _controller; + int selectedCamera = 0; + bool flash = false; + bool frontFlash = false; + double _currentScale = 1.0; + double _baseScale = 1.0; + double _minAvailableZoom; + double _maxAvailableZoom; + int _pointers = 0; + final picker = ImagePicker(); + + setCamera(int camera) async { + _controller = + CameraController(widget.connectedCameras[camera], ResolutionPreset.max); + _controller.initialize().then((_) { + _controller.setFocusMode(FocusMode.auto); + if (!mounted) { + return; + } + setState(() {}); + }); + } + + void onViewFinderTap(TapDownDetails details, BoxConstraints constraints) { + final offset = Offset( + details.localPosition.dx / constraints.maxWidth, + details.localPosition.dy / constraints.maxHeight, + ); + _controller.setExposurePoint(offset); + _controller.setFocusPoint(offset); + } + + @override + void initState() { + if (widget.connectedCameras == null || + widget.connectedCameras.length == 0) { + availableCameras().then((value) { + widget.connectedCameras = value; + }); + setCamera(0); + } else { + setCamera(0); + } + + super.initState(); + } + + sayCheese() async { + try { + final image = await _controller.takePicture(); + + bool result = false; + result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: PictureReview( + image: image.path, + ), + )); + + if (result) Navigator.pop(context, image); + } catch (e) { + print(e); + } + } + + void _handleScaleStart(ScaleStartDetails details) { + _baseScale = _currentScale; + } + + Future _handleScaleUpdate(ScaleUpdateDetails details) async { + // When there are not exactly two fingers on screen don't scale + if (_pointers != 2) { + return; + } + + _currentScale = (_baseScale * details.scale) + .clamp(_minAvailableZoom, _maxAvailableZoom); + + await _controller.setZoomLevel(_currentScale); + } + + @override + void dispose() { + _controller?.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + if (_controller == null || !_controller.value.isInitialized) { + return Container(); + } else { + return Scaffold( + body: Stack( + children: [ + cameraWidget(context), + Visibility( + visible: frontFlash, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.4), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.06, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + child: InkWell( + onTap: () { + if (flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + selectedCamera++; + if (selectedCamera < widget.connectedCameras.length) { + setCamera(selectedCamera); + } else { + selectedCamera = 0; + setCamera(selectedCamera); + } + }, + child: Icon( + Icons.camera_alt, + color: Colors.white, + size: 40, + ), + ), + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.25, + ), + child: InkWell( + onTap: () { + try { + if (!flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.torch); + setState(() { + flash = true; + }); + } else if (!flash && + _controller.description.lensDirection == + CameraLensDirection.front) { + setState(() { + flash = true; + frontFlash = true; + }); + } else if (flash && + _controller.description.lensDirection == + CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + } catch (e) {} + }, + child: Icon( + flash ? Icons.flash_on : Icons.flash_off, + color: flash ? tesoGold : Colors.white, + size: 30, + ), + ), + ), + ), + Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: InkWell( + onTap: sayCheese, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.white, + width: 3, + ), + ), + child: Icon( + Icons.camera_alt, + color: Colors.white, + size: 40, + ), + ), + ), + ), + Align( + alignment: Alignment.bottomLeft, + child: InkWell( + onTap: imgFromGallery, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + Icons.photo, + color: Colors.white, + size: 27, + ), + ), + ), + ), + ], + ), + ); + } + } + + imgFromGallery() async { + final pickedFile = + await picker.pickImage(source: ImageSource.gallery, imageQuality: 70); + + if (pickedFile != null) { + final image = File(pickedFile.path); + bool result; + result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: PictureReview( + image: image.path, + ), + )); + + if (result) Navigator.pop(context, image); + } else { + print('No image selected.'); + } + return; + } + + Widget cameraWidget(context) { + var camera = _controller.value; + final size = MediaQuery.of(context).size; + var scale = size.aspectRatio * camera.aspectRatio; + if (scale < 1) scale = 1 / scale; + + return Transform.scale( + scale: scale, + child: Center( + child: CameraPreview( + _controller, + child: LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + onScaleStart: _handleScaleStart, + onScaleUpdate: _handleScaleUpdate, + onTapDown: (details) => onViewFinderTap(details, constraints), + ); + }), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/TextEditor.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/TextEditor.dart new file mode 100644 index 0000000..dcbbe8a --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/TextEditor.dart @@ -0,0 +1,212 @@ +// import 'package:flutter/material.dart'; + +// import 'package:teso/Classes/TextE.dart'; +// import 'package:teso/util/SizeConfig.dart'; +// import 'textstyler/src/toolbar_action.dart'; +// import 'textstyler/text_style_editor.dart'; + +// // ignore: must_be_immutable +// class TextEdit extends StatefulWidget { +// Textted content; +// TextEdit({Key key, this.content}) : super(key: key); + +// @override +// _TextEditState createState() => _TextEditState(); +// } + +// class _TextEditState extends State { +// TextStyle textStyle; +// TextAlign textAlign; +// List fonts = [ +// 'Billabong', +// 'AlexBrush', +// 'Allura', +// 'Arizonia', +// 'ChunkFive', +// 'GrandHotel', +// 'GreatVibes', +// 'Lobster', +// 'OpenSans', +// 'OstrichSans', +// 'Oswald', +// 'Pacifico', +// 'Quicksand', +// 'Roboto', +// 'SEASRN', +// 'Windsong', +// ]; +// List paletteColors = [ +// Colors.black, +// Colors.white, +// Color(int.parse('0xffEA2027')), +// Color(int.parse('0xff006266')), +// Color(int.parse('0xff1B1464')), +// Color(int.parse('0xff5758BB')), +// Color(int.parse('0xff6F1E51')), +// Color(int.parse('0xffB53471')), +// Color(int.parse('0xffEE5A24')), +// Color(int.parse('0xff009432')), +// Color(int.parse('0xff0652DD')), +// Color(int.parse('0xff9980FA')), +// Color(int.parse('0xff833471')), +// Color(int.parse('0xff112CBC4')), +// Color(int.parse('0xffFDA7DF')), +// Color(int.parse('0xffED4C67')), +// Color(int.parse('0xffF79F1F')), +// Color(int.parse('0xffA3CB38')), +// Color(int.parse('0xff1289A7')), +// Color(int.parse('0xffD980FA')) +// ]; +// FocusNode _focus = new FocusNode(); +// TextEditingController controller; +// @override +// void initState() { +// controller = new TextEditingController(); +// textStyle = TextStyle( +// fontSize: 15, +// color: Colors.white, +// fontFamily: 'OpenSans', +// ); +// textAlign = TextAlign.left; +// _focus.addListener(_onFocusChange); + +// controller.text = widget.content.text != null ? widget.content.text : ""; +// textStyle = +// widget.content.textStyle != null ? widget.content.textStyle : null; +// textAlign = widget.content.textAlign != null +// ? widget.content.textAlign +// : TextAlign.center; +// super.initState(); +// } + +// @override +// void dispose() { +// _focus.removeListener(_onFocusChange); +// _focus.dispose(); +// super.dispose(); +// } + +// void _onFocusChange() { +// debugPrint("Focus: " + _focus.hasFocus.toString()); +// } + +// void verify() { +// if (_focus.hasFocus) { +// _focus.unfocus(); +// } else { +// Navigator.pop( +// context, +// new Textted( +// text: controller.text, +// textAlign: textAlign, +// textStyle: textStyle, +// )); +// } +// } + +// @override +// Widget build(BuildContext context) { +// SizeConfig().init(context); +// return Scaffold( +// resizeToAvoidBottomInset: false, +// backgroundColor: Color.fromRGBO(0, 0, 0, 0.8), +// appBar: AppBar( +// backgroundColor: Colors.transparent, +// leading: IconButton( +// onPressed: () => Navigator.pop(context, widget.content), +// icon: Icon( +// Feather.x, +// color: Colors.white, +// ), +// ), +// actions: [ +// IconButton( +// onPressed: verify, +// icon: Icon( +// AntDesign.check, +// color: Colors.white, +// ), +// ), +// ], +// ), +// body: Container( +// height: SizeConfig.safeBlockVertical * 40, +// child: Center( +// child: TextField( +// controller: controller, +// // enabled: false, +// focusNode: _focus, +// style: textStyle, +// textAlign: textAlign, +// // maxLines: 4, +// decoration: new InputDecoration( +// filled: true, +// enabledBorder: OutlineInputBorder( +// borderRadius: BorderRadius.all( +// Radius.circular(10.0), +// ), +// borderSide: BorderSide( +// color: Colors.grey.shade400, +// width: 2, +// ), +// ), +// focusedBorder: OutlineInputBorder( +// borderRadius: BorderRadius.all( +// Radius.circular(10.0), +// ), +// borderSide: BorderSide( +// color: Colors.blue.shade300, +// width: 0, +// ), +// ), +// contentPadding: EdgeInsets.all(15), +// ), +// ), +// ), +// ), +// extendBody: false, +// extendBodyBehindAppBar: false, +// bottomSheet: Container( +// height: SizeConfig.safeBlockVertical * 60, +// child: Container( +// padding: EdgeInsets.all(10), +// decoration: BoxDecoration( +// color: Theme.of(context).backgroundColor, +// border: Border.symmetric( +// horizontal: BorderSide( +// color: Theme.of(context).backgroundColor, +// ), +// ), +// ), +// child: Align( +// alignment: Alignment.topCenter, +// child: SingleChildScrollView( +// scrollDirection: Axis.vertical, +// child: TextStyleEditor( +// fonts: fonts, +// paletteColors: paletteColors, +// textStyle: textStyle, +// textAlign: textAlign, +// initialTool: EditorToolbarAction.fontFamilyTool, +// onTextAlignEdited: (align) { +// setState(() { +// textAlign = align; +// }); +// }, +// onTextStyleEdited: (style) { +// setState(() { +// textStyle = textStyle.merge(style); +// }); +// }, +// onCpasLockTaggle: (caps) { +// print(caps); +// }, +// //onToolbarActionChanged: (fu) => , +// ), +// ), +// ), +// ), +// ), +// ); +// } +// } diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview copy.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview copy.dart new file mode 100644 index 0000000..e71e0d5 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview copy.dart @@ -0,0 +1,840 @@ +// import 'dart:typed_data'; +// import 'package:firebase_crashlytics/firebase_crashlytics.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter/rendering.dart'; +// import 'package:flutter/services.dart'; +// import 'dart:io'; +// +// import 'package:image_gallery_saver/image_gallery_saver.dart'; +// import 'package:page_transition/page_transition.dart'; +// import 'package:share_plus/share_plus.dart'; +// import 'package:teso/Classes/TextE.dart'; +// import 'package:teso/Pages/PageWidgets/Editors/SampleThumbnail.dart'; +// import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Editor/TextEditor.dart'; +// import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart'; +// import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart'; +// import 'package:teso/Pages/Sub_Pages/Posts/CreatePost.dart'; +// import 'package:teso/util/SizeConfig.dart'; +// import 'package:video_player/video_player.dart'; +// import 'package:teso/util/consts.dart'; +// import 'dart:async'; +// import 'package:path_provider/path_provider.dart'; +// import 'package:teso/Classes/TesoUser.dart'; +// import 'package:provider/provider.dart'; +// import 'package:teso/providers/user_provider.dart'; +// import 'package:flutter/cupertino.dart'; +// import 'package:image/image.dart' as IMG; +// import 'package:video_thumbnail/video_thumbnail.dart'; +// import 'package:teso/Classes/ColorFilters.dart'; + +// class VideoReview extends StatefulWidget { +// final video; +// final bool recorded; + +// const VideoReview({Key key, @required this.video, @required this.recorded}) +// : super(key: key); +// @override +// _VideoReviewState createState() => _VideoReviewState(); +// } + +// class _VideoReviewState extends State +// with TickerProviderStateMixin { +// Trimmer _trimmer = new Trimmer(); +// VideoPlayerController videoController; +// VoidCallback videoPlayerListener; +// bool muted = false; +// String readyVideo; +// Color textColor = Colors.white; +// double _startValue = 0.15; +// double _endValue = 60000.0; +// var _future; +// bool _isPlaying = false; +// Duration _duration; +// Duration _position; +// ByteData bytes; +// Uint8List imageBitmap; +// Uint8List thumbnail; +// Directory tempDirectory; +// TesoUser user; +// bool processing = false; +// bool downloaded = false; +// bool processed = false; +// final key = new GlobalKey(); +// double currentOffset = 0; + +// // ScreenshotController screenshotController = ScreenshotController(); +// Offset offset = Offset(0, SizeConfig.safeBlockVertical * 50); +// var indexFilter = 0; +// ScrollController controller; +// TextStyle textStyle; +// TextAlign textAlign; +// bool showFilter = false; +// Textted editting = new Textted(); +// List fonts = [ +// 'Billabong', +// 'AlexBrush', +// 'Allura', +// 'Arizonia', +// 'ChunkFive', +// 'GrandHotel', +// 'GreatVibes', +// 'Lobster', +// 'OpenSans', +// 'OstrichSans', +// 'Oswald', +// 'Pacifico', +// 'Quicksand', +// 'Roboto', +// 'SEASRN', +// 'Windsong', +// ]; +// List paletteColors = [ +// Colors.black, +// Colors.white, +// Color(int.parse('0xffEA2027')), +// Color(int.parse('0xff006266')), +// Color(int.parse('0xff1B1464')), +// Color(int.parse('0xff5758BB')), +// Color(int.parse('0xff6F1E51')), +// Color(int.parse('0xffB53471')), +// Color(int.parse('0xffEE5A24')), +// Color(int.parse('0xff009432')), +// Color(int.parse('0xff0652DD')), +// Color(int.parse('0xff9980FA')), +// Color(int.parse('0xff833471')), +// Color(int.parse('0xff112CBC4')), +// Color(int.parse('0xffFDA7DF')), +// Color(int.parse('0xffED4C67')), +// Color(int.parse('0xffF79F1F')), +// Color(int.parse('0xffA3CB38')), +// Color(int.parse('0xff1289A7')), +// Color(int.parse('0xffD980FA')) +// ]; +// List colorFilters = [ +// new ColorFilter(code: Color(0xFFffffff), name: "Original"), +// new ColorFilter(code: Color(0xFFffffff), name: "White"), +// new ColorFilter(code: Color(0xFF5E2612), name: "Sepia"), +// new ColorFilter(code: Color(0xFF8BA446), name: "Martini Olive"), +// new ColorFilter(code: Color(0xFFFFF8DC), name: "Cornsilk"), +// new ColorFilter(code: Color(0xFFCDB7B5), name: "Mistyrose"), +// new ColorFilter(code: Color(0xFFEEE9E9), name: "Snow"), +// new ColorFilter(code: Color(0xFF856363), name: "Dusty"), +// new ColorFilter(code: Color(0xFF8C1717), name: "Scarlet"), +// new ColorFilter(code: Color(0xFF615E3F), name: "Tank"), +// ]; + +// void _scrollListener() { +// setState(() { +// indexFilter = +// (controller.offset / MediaQuery.of(context).size.width).round() + 1; +// if (controller.offset > currentOffset) { +// controller.animateTo(currentOffset + MediaQuery.of(context).size.width, +// duration: Duration(microseconds: 2), curve: Curves.easeIn); +// currentOffset = controller.offset; +// } else { +// controller.animateTo(currentOffset - MediaQuery.of(context).size.width, +// duration: Duration(microseconds: 2), curve: Curves.easeIn); +// currentOffset = controller.offset; +// } +// }); +// print(indexFilter); +// } + +// Future _startVideoPlayer() async { +// await videoController.play(); +// } + +// Future initializeController(String fileLocation) async { +// videoController = VideoPlayerController.file(File(fileLocation)); + +// videoPlayerListener = () async { +// Timer.run(() { +// this.setState(() { +// _position = videoController.value.position; +// }); +// setState(() { +// _duration = Duration(milliseconds: _endValue.round()); +// }); +// if (_duration?.compareTo(_position) == 0 || +// _duration?.compareTo(_position) == -1) { +// this.setState(() { +// _isPlaying = false; +// }); +// videoController.pause(); +// videoController.seekTo(Duration(milliseconds: _startValue.round())); +// } else {} +// }); +// }; +// videoController.addListener(videoPlayerListener); +// await videoController.setLooping(true); +// await videoController.initialize(); +// await _trimmer.loadVideo(videoFile: File(fileLocation)); +// } + +// @override +// void initState() { +// // textStyle = TextStyle( +// // fontSize: 15, +// // color: Colors.white, +// // fontFamily: 'OpenSans', +// // ); +// controller = new ScrollController(); +// controller.addListener(_scrollListener); +// readyVideo = widget.video; +// if (readyVideo != null) _future = initializeController(readyVideo); +// rootBundle.load("assets/images/rawLogo.png").then((value) => setState(() { +// imageBitmap = value.buffer.asUint8List(); +// IMG.Image img = IMG.decodeImage(imageBitmap); +// IMG.Image resized = IMG.copyResize(img, width: 50, height: 60); +// imageBitmap = IMG.encodePng(resized); +// })); +// super.initState(); +// editting = +// new Textted(text: "", textAlign: textAlign, textStyle: textStyle); +// } + +// Future saveTextOverlay() async { +// return await screenshotController.capture( +// pixelRatio: videoController.value.aspectRatio); +// } + +// @override +// void dispose() { +// videoController?.dispose(); +// controller.dispose(); +// super.dispose(); +// } + +// void postVideo(context) async { +// setState(() { +// processing = true; +// }); +// if (processed) { +// await Navigator.pushReplacement( +// context, +// PageTransition( +// type: PageTransitionType.leftToRight, +// child: CreatePost( +// video: readyVideo, +// aspectRatio: videoController.value.aspectRatio.toString(), +// thumbnail: this.thumbnail, +// ), +// )); +// } else { +// readyVideo = await processVideo(context, false); +// await Navigator.pushReplacement( +// context, +// PageTransition( +// type: PageTransitionType.leftToRight, +// child: CreatePost( +// video: readyVideo, +// aspectRatio: videoController.value.aspectRatio.toString(), +// thumbnail: this.thumbnail, +// ), +// )); +// } +// } + +// Future downloadVideo(context) async { +// try { +// setState(() { +// processing = true; +// }); +// String output = await processVideo(context, true); +// await ImageGallerySaver.saveFile(output).catchError((error, stackTrace) { +// setState(() { +// processing = false; +// downloaded = false; +// }); +// }).then((value) { +// setState(() { +// processing = false; +// downloaded = true; +// }); +// }); +// } catch (e) { +// print(e); +// } +// } + +// Future processVideo(context, bool watermark) async { +// user = Provider.of(context, listen: false).currentUser; +// String location = await getTemporaryDirectory().then((value) => +// value.path + +// "/" + +// DateTime.now().millisecondsSinceEpoch.toString() + +// ".mp4"); +// String initial = await _trimmer.saveTrimmedVideo( +// applyVideoEncoding: false, +// startValue: _startValue, +// endValue: videoController.value.duration.inMilliseconds > 5900 && +// videoController.value.duration.inMilliseconds >= _endValue +// ? _endValue +// : double.parse( +// videoController.value.duration.inMilliseconds.toString()), +// ); +// this.thumbnail = await generateThumbnail(); +// if (widget.recorded) { +// try { +// // Uint8List textBytes; +// // if (editting.text.isNotEmpty) textBytes = await saveTextOverlay(); +// // int xposition = ScaledPosition.getWidth( +// // SizeConfig.safeBlockHorizontal * 100, +// // videoController.value.size.width, +// // offset.dx); +// // int yposition = ScaledPosition.getHeight( +// // SizeConfig.safeBlockVertical * 100, +// // videoController.value.size.height, +// // offset.dy); +// // if (watermark) { +// // final tapiocaBalls = [ +// // if (indexFilter > 1) +// // TapiocaBall.filterFromColor(colorFilters[indexFilter - 1].code), +// // TapiocaBall.imageOverlay(imageBitmap, 0, 0), +// // if (textBytes != null) +// // TapiocaBall.imageOverlay(textBytes, xposition, yposition), +// // ]; + +// // final cup = Cup(Content(initial), tapiocaBalls); +// // await cup.suckUp(location); + +// // setState(() { +// // processed = true; +// // }); +// // } else if (!watermark && indexFilter == 1) { +// // setState(() { +// // processed = true; +// // }); +// // final tapiocaBalls = [ +// // if (textBytes != null) +// // TapiocaBall.imageOverlay(textBytes, xposition, yposition), +// // ]; +// // final cup = Cup(Content(initial), tapiocaBalls); +// // await cup.suckUp(location); +// // } else { +// // final tapiocaBalls = [ +// // if (indexFilter != 1 && indexFilter != 0) +// // TapiocaBall.filterFromColor(colorFilters[indexFilter - 1].code), +// // if (textBytes != null) +// // TapiocaBall.imageOverlay(textBytes, xposition, yposition), +// // ]; +// // final cup = Cup(Content(initial), tapiocaBalls); +// // await cup.suckUp(location); + +// // setState(() { +// // processed = true; +// // }); +// // } +// } catch (e) { +// print(e); +// FirebaseCrashlytics.instance.recordError( +// e, +// e, +// reason: "Video Editor", +// ); +// setState(() { +// processed = true; +// }); +// } +// } else { +// location = initial; +// } +// return location; +// } + +// Future generateThumbnail() async { +// try { +// Uint8List thumbnail; + +// thumbnail = await VideoThumbnail.thumbnailData( +// video: widget.video, +// imageFormat: ImageFormat.JPEG, +// maxWidth: 0, +// maxHeight: 0, +// timeMs: 100, +// quality: 100, +// ); +// return thumbnail; +// } catch (e) { +// print("Error :::: " + e); +// return null; +// } +// } + +// Future shareVideo(context) async { +// setState(() { +// processing = true; +// }); +// if (readyVideo == widget.video) { +// readyVideo = await processVideo(context, true); +// Share.shareFiles([readyVideo]); +// } else { +// Share.shareFiles([readyVideo]); +// } +// setState(() { +// processing = false; +// }); +// } + +// void setText() async { +// Textted ed = await Navigator.push( +// context, +// PageRouteBuilder( +// opaque: false, +// pageBuilder: (_, __, ___) => TextEdit( +// content: editting, +// ), +// ), +// ); +// if (ed != null) { +// setState(() { +// editting = ed; +// }); +// } +// } + +// void showFilters() async { +// if (thumbnail == null) this.thumbnail = await generateThumbnail(); +// setState(() { +// showFilter = !showFilter; +// }); +// } + +// void setFilter(index) { +// setState(() { +// indexFilter = index; +// }); +// } + +// @override +// Widget build(BuildContext context) { +// SizeConfig().init(context); +// return Scaffold( +// body: FutureBuilder( +// future: _future, +// builder: (context, snapshot) { +// if (snapshot.connectionState == ConnectionState.waiting) { +// return Container( +// color: Colors.black, +// width: MediaQuery.of(context).size.width, +// height: MediaQuery.of(context).size.height, +// child: Center( +// child: CircularProgressIndicator( +// backgroundColor: Colors.red, +// ), +// ), +// ); +// } else { +// return Stack( +// children: [ +// videoContent(context), +// // //Filters +// filterWidget(context), +// textWidget(context), +// // Video trimmer +// trimmerWidget(context), +// // Pop button +// Align( +// alignment: Alignment.topLeft, +// child: InkWell( +// onTap: () => Navigator.pop(context), +// child: Container( +// margin: EdgeInsets.symmetric( +// horizontal: MediaQuery.of(context).size.width * 0.07, +// vertical: MediaQuery.of(context).size.width * 0.1, +// ), +// height: 35, +// width: 35, +// decoration: BoxDecoration( +// color: Color.fromRGBO(0, 0, 0, 0.4), +// shape: BoxShape.circle), +// child: Icon( +// EvilIcons.close, +// color: Colors.white, +// size: 20, +// ), +// ), +// ), +// ), +// //Filter Buttons +// showFilter ? listFilters(context) : Container(), +// // Bottom buttons +// bottomButtons(context), +// Visibility( +// visible: processing, +// child: Container( +// width: MediaQuery.of(context).size.width, +// height: MediaQuery.of(context).size.height, +// color: Color.fromRGBO(0, 0, 0, 0.6), +// padding: EdgeInsets.only( +// top: MediaQuery.of(context).size.width * 0.7), +// child: Center( +// child: Column( +// children: [ +// Image.asset(cupertinoActivityIndicatorSmall), +// Text( +// "Processing.....", +// style: TextStyle( +// color: Colors.white, +// ), +// ), +// ], +// ), +// ), +// ), +// ), +// ], +// ); +// } +// }), +// ); +// } + +// Widget trimmerWidget(context) { +// return Container( +// margin: EdgeInsets.symmetric( +// horizontal: MediaQuery.of(context).size.width * 0.01, +// vertical: MediaQuery.of(context).size.width * 0.20, +// ), +// width: MediaQuery.of(context).size.width, +// child: TrimEditor( +// borderPaintColor: tesoGold, +// circlePaintColor: tesoBlue, +// thumbnailQuality: 100, +// showDuration: true, +// viewerHeight: 50.0, +// maxVideoLength: Duration(seconds: 60), +// viewerWidth: MediaQuery.of(context).size.width, +// onChangeStart: (value) { +// if (!mounted) { +// setState(() { +// _startValue = value; +// }); +// } else { +// _startValue = value; +// } +// videoController.seekTo(Duration(milliseconds: value.round())); +// }, +// onChangeEnd: (value) { +// if (!mounted) { +// setState(() { +// _endValue = value; +// }); +// } else { +// _endValue = value; +// } +// }, +// onChangePlaybackState: (isPlaying) { +// if (mounted) +// setState(() { +// _isPlaying = isPlaying; +// }); +// }, +// )); +// } + +// Widget filterWidget(context) { +// return GestureDetector( +// onTap: () { +// !_isPlaying ? _startVideoPlayer() : videoController.pause(); +// setState(() { +// _isPlaying = !_isPlaying; +// }); +// }, +// child: Container( +// width: MediaQuery.of(context).size.width, +// height: MediaQuery.of(context).size.height, +// color: +// colorFilters.elementAt(indexFilter).name.toLowerCase() == "original" +// ? colorFilters.elementAt(indexFilter).code.withOpacity(0) +// : colorFilters.elementAt(indexFilter).code.withOpacity(0.5), +// ), +// ); +// } + +// Widget videoContent(context) { +// print(videoController.value.size.width); + +// return Container( +// width: MediaQuery.of(context).size.width, +// height: MediaQuery.of(context).size.height, +// color: Colors.black, +// child: Center( +// child: AspectRatio( +// aspectRatio: videoController.value.size != null +// ? videoController.value.aspectRatio +// : 1.0, +// child: Stack( +// children: [ +// InkWell( +// onTap: () { +// !_isPlaying ? _startVideoPlayer() : videoController.pause(); +// setState(() { +// _isPlaying = !_isPlaying; +// }); +// }, +// child: VideoPlayer( +// videoController, +// ), +// ), +// Container( +// width: double.infinity, +// height: double.infinity, +// child: GestureDetector( +// child: !_isPlaying +// ? Icon( +// Ionicons.md_play_circle, +// size: 60, +// color: Colors.white, +// ) +// : Container(), +// onTap: () { +// !_isPlaying +// ? _startVideoPlayer() +// : videoController.pause(); +// setState(() { +// _isPlaying = !_isPlaying; +// }); +// }, +// ), +// ), +// ], +// )), +// ), +// ); +// } + +// Widget bottomButtons(context) { +// if (widget.recorded) { +// return Align( +// alignment: Alignment.bottomLeft, +// child: Container( +// margin: EdgeInsets.symmetric( +// horizontal: MediaQuery.of(context).size.width * 0.05, +// vertical: SizeConfig.safeBlockVertical * 2.5, +// ), +// width: MediaQuery.of(context).size.width, +// child: Row( +// mainAxisAlignment: MainAxisAlignment.spaceBetween, +// mainAxisSize: MainAxisSize.min, +// children: [ +// Container( +// width: 55, +// height: 40, +// padding: EdgeInsets.all(5), +// decoration: BoxDecoration( +// color: Color.fromRGBO(0, 0, 0, 0.6), +// borderRadius: BorderRadius.only( +// bottomLeft: Radius.circular(30), +// bottomRight: Radius.circular(30), +// topRight: Radius.circular(30), +// topLeft: Radius.circular(30), +// ), +// border: Border.all(color: Colors.white, width: 0.5)), +// child: InkWell( +// onTap: () async => +// !downloaded ? await downloadVideo(context) : null, +// child: Icon( +// !downloaded ? Feather.download : MaterialIcons.check, +// color: !downloaded ? Colors.white : Colors.green, +// ), +// ), +// ), +// // InkWell( +// // onTap: setText, +// // child: Container( +// // width: 50, +// // padding: EdgeInsets.symmetric(horizontal: 18), +// // decoration: BoxDecoration( +// // color: Color.fromRGBO(0, 0, 0, 0.6), +// // borderRadius: BorderRadius.only( +// // bottomLeft: Radius.circular(30), +// // bottomRight: Radius.circular(30), +// // topRight: Radius.circular(30), +// // topLeft: Radius.circular(30), +// // ), +// // border: Border.all(color: Colors.white, width: 0.5)), +// // child: Text( +// // "T", +// // style: TextStyle( +// // color: Colors.white, +// // fontWeight: FontWeight.bold, +// // fontSize: SizeConfig.safeBlockHorizontal * 8, +// // fontFamily: 'DeadheadScript', +// // ), +// // ), +// // ), +// // ), +// // Container( +// // width: 55, +// // height: 40, +// // padding: EdgeInsets.all(5), +// // decoration: BoxDecoration( +// // color: Color.fromRGBO(0, 0, 0, 0.6), +// // borderRadius: BorderRadius.only( +// // bottomLeft: Radius.circular(30), +// // bottomRight: Radius.circular(30), +// // topRight: Radius.circular(30), +// // topLeft: Radius.circular(30), +// // ), +// // border: Border.all(color: Colors.white, width: 0.5)), +// // child: InkWell( +// // onTap: showFilters, +// // child: Image( +// // image: AssetImage("assets/images/color-filters.png"), +// // ), +// // ), +// // ), + +// Container( +// width: 55, +// height: 40, +// padding: EdgeInsets.all(5), +// decoration: BoxDecoration( +// color: Color.fromRGBO(0, 0, 0, 0.6), +// borderRadius: BorderRadius.only( +// bottomLeft: Radius.circular(30), +// bottomRight: Radius.circular(30), +// topRight: Radius.circular(30), +// topLeft: Radius.circular(30), +// ), +// border: Border.all(color: Colors.white, width: 0.5)), +// child: InkWell( +// onTap: () async => await shareVideo(context), +// child: Icon( +// Entypo.share, +// color: Colors.white, +// ), +// ), +// ), +// Container( +// padding: EdgeInsets.all(5), +// width: 100, +// height: 40, +// decoration: BoxDecoration( +// color: tesoGold, +// borderRadius: BorderRadius.only( +// bottomLeft: Radius.circular(30), +// bottomRight: Radius.circular(30), +// topRight: Radius.circular(30), +// topLeft: Radius.circular(30), +// ), +// ), +// child: InkWell( +// onTap: () => postVideo(context), +// child: Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Text( +// "Post", +// style: TextStyle( +// fontWeight: FontWeight.bold, +// ), +// ), +// Icon( +// Ionicons.md_send, +// color: tesoBlue, +// ), +// ], +// ), +// ), +// ), +// ], +// ), +// ), +// ); +// } else { +// return Align( +// alignment: Alignment.bottomRight, +// child: Container( +// padding: EdgeInsets.all(5), +// width: 100, +// height: 40, +// margin: EdgeInsets.symmetric( +// vertical: 10, +// horizontal: 20, +// ), +// decoration: BoxDecoration( +// color: tesoGold, +// borderRadius: BorderRadius.only( +// bottomLeft: Radius.circular(30), +// bottomRight: Radius.circular(30), +// topRight: Radius.circular(30), +// topLeft: Radius.circular(30), +// ), +// ), +// child: InkWell( +// onTap: () => postVideo(context), +// child: Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Text( +// "Post", +// style: TextStyle( +// fontWeight: FontWeight.bold, +// ), +// ), +// Icon( +// Ionicons.md_send, +// color: tesoBlue, +// ), +// ], +// ), +// ), +// ), +// ); +// } +// } + +// Widget listFilters(context) { +// return Align( +// alignment: Alignment.bottomLeft, +// child: Container( +// margin: EdgeInsets.symmetric( +// horizontal: MediaQuery.of(context).size.width * 0.05, +// vertical: SizeConfig.safeBlockVertical * 10, +// ), +// width: MediaQuery.of(context).size.width, +// height: SizeConfig.safeBlockVertical * 17, +// child: ListView.builder( +// scrollDirection: Axis.horizontal, +// itemCount: colorFilters.length, +// //controller: controller, +// itemBuilder: (context, index) { +// return InkWell( +// onTap: () => setFilter(index), +// child: buildFilterThumb( +// context, colorFilters[index], thumbnail)); +// }), +// ), +// ); +// } + +// Widget textWidget(context) { +// return Container( +// child: Positioned( +// left: offset.dx, +// top: offset.dy, +// child: GestureDetector( +// onTap: setText, +// onPanUpdate: (details) { +// setState(() { +// offset = Offset( +// offset.dx + details.delta.dx, offset.dy + details.delta.dy); +// }); +// }, +// child: Screenshot( +// controller: screenshotController, +// child: editting.text != null +// ? Text( +// editting.text, +// style: editting.textStyle, +// textAlign: editting.textAlign, +// ) +// : Container(), +// ), +// ), +// ), +// ); +// } +// } diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview.dart new file mode 100644 index 0000000..1a157a6 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/VideoReview.dart @@ -0,0 +1,554 @@ +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; +import 'dart:io'; + +import 'package:image_gallery_saver/image_gallery_saver.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/CreatePost.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:video_player/video_player.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:async'; +import 'package:path_provider/path_provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:image/image.dart' as IMG; +import 'package:video_thumbnail/video_thumbnail.dart'; + +class VideoReview extends StatefulWidget { + final video; + final bool recorded; + final double aspect; + + const VideoReview( + {Key key, @required this.video, @required this.recorded, this.aspect}) + : super(key: key); + @override + _VideoReviewState createState() => _VideoReviewState(); +} + +class _VideoReviewState extends State + with TickerProviderStateMixin { + Trimmer _trimmer = new Trimmer(); + VideoPlayerController videoController; + VoidCallback videoPlayerListener; + bool muted = false; + String readyVideo; + Color textColor = Colors.white; + double _startValue = 0.15; + double _endValue = 60000.0; + var _future; + bool _isPlaying = false; + Duration _duration; + Duration _position; + ByteData bytes; + Uint8List imageBitmap; + Uint8List thumbnail; + Directory tempDirectory; + TesoUser user; + bool processing = false; + bool downloaded = false; + bool processed = false; + final key = new GlobalKey(); + double currentOffset = 0; + + Future _startVideoPlayer() async { + await videoController.play(); + } + + Future initializeController(String fileLocation) async { + videoController = VideoPlayerController.file(File(fileLocation)); + + videoPlayerListener = () async { + Timer.run(() { + this.setState(() { + _position = videoController.value.position; + }); + setState(() { + _duration = Duration(milliseconds: _endValue.round()); + }); + if (_duration?.compareTo(_position) == 0 || + _duration?.compareTo(_position) == -1) { + this.setState(() { + _isPlaying = false; + }); + videoController.pause(); + videoController.seekTo(Duration(milliseconds: _startValue.round())); + } else {} + }); + }; + videoController.addListener(videoPlayerListener); + await videoController.setLooping(true); + await videoController.initialize(); + await _trimmer.loadVideo(videoFile: File(fileLocation)); + } + + @override + void initState() { + readyVideo = widget.video; + if (readyVideo != null) _future = initializeController(readyVideo); + rootBundle.load("assets/images/rawLogo.png").then((value) => setState(() { + imageBitmap = value.buffer.asUint8List(); + IMG.Image img = IMG.decodeImage(imageBitmap); + IMG.Image resized = IMG.copyResize(img, width: 50, height: 60); + imageBitmap = IMG.encodePng(resized); + })); + super.initState(); + } + + @override + void dispose() { + super.dispose(); + videoController.dispose(); + } + + void postVideo(context) async { + setState(() { + processing = true; + }); + if (processed) { + await Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: CreatePost( + video: readyVideo, + aspectRatio: widget.recorded + ? "0.5625" + : videoController.value.aspectRatio.toString(), + thumbnail: this.thumbnail, + ), + )); + } else { + readyVideo = await processVideo(context, false); + await Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: CreatePost( + video: readyVideo, + aspectRatio: widget.recorded + ? "0.5625" + : videoController.value.aspectRatio.toString(), + thumbnail: this.thumbnail, + ), + )); + } + } + + Future downloadVideo(context) async { + try { + setState(() { + processing = true; + }); + String output = await processVideo(context, true); + await ImageGallerySaver.saveFile(output).catchError((error, stackTrace) { + setState(() { + processing = false; + downloaded = false; + }); + }).then((value) { + setState(() { + processing = false; + downloaded = true; + }); + }); + } catch (e) { + print(e); + } + } + + Future processVideo(context, bool watermark) async { + user = Provider.of(context, listen: false).currentUser; + String location = await getTemporaryDirectory().then((value) => + value.path + + "/" + + DateTime.now().millisecondsSinceEpoch.toString() + + ".mp4"); + if (widget.recorded) { + String initial = await _trimmer.saveTrimmedVideo( + applyVideoEncoding: false, + ffmpegCommand: "-vf setsar=1:1 -aspect 9:16", + customVideoFormat: ".mp4", + startValue: _startValue, + endValue: videoController.value.duration.inMilliseconds > 5900 && + videoController.value.duration.inMilliseconds >= _endValue + ? _endValue + : double.parse( + videoController.value.duration.inMilliseconds.toString()), + ); + this.thumbnail = await generateThumbnail(); + + location = initial; + } else { + String initial = await _trimmer.saveTrimmedVideo( + startValue: _startValue, + endValue: videoController.value.duration.inMilliseconds > 5900 && + videoController.value.duration.inMilliseconds >= _endValue + ? _endValue + : double.parse( + videoController.value.duration.inMilliseconds.toString()), + outputFormat: FileFormat.mp4, + ); + this.thumbnail = await generateThumbnail(); + + location = initial; + } + return location; + } + + Future generateThumbnail() async { + try { + Uint8List thumbnail; + + thumbnail = await VideoThumbnail.thumbnailData( + video: widget.video, + imageFormat: ImageFormat.JPEG, + maxWidth: 0, + maxHeight: 0, + timeMs: 100, + quality: 100, + ); + return thumbnail; + } catch (e) { + print("Error :::: " + e); + return null; + } + } + + Future shareVideo(context) async { + setState(() { + processing = true; + }); + if (readyVideo == widget.video) { + readyVideo = await processVideo(context, true); + Share.shareFiles([readyVideo]); + } else { + Share.shareFiles([readyVideo]); + } + setState(() { + processing = false; + }); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return Container( + color: Colors.black, + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CircularProgressIndicator( + backgroundColor: Colors.red, + ), + ), + ); + } else { + return Stack( + children: [ + videoContent(context), + // Video trimmer + trimmerWidget(context), + // Pop button + Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () => Navigator.pop(context), + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.1, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.close, + color: Colors.white, + size: 20, + ), + ), + ), + ), + // Bottom buttons + bottomButtons(context), + Visibility( + visible: processing, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Color.fromRGBO(0, 0, 0, 0.6), + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.7), + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text( + "Processing.....", + style: TextStyle( + color: Colors.white, + ), + ), + ], + ), + ), + ), + ), + ], + ); + } + }), + ); + } + + Widget trimmerWidget(context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.01, + vertical: MediaQuery.of(context).size.width * 0.20, + ), + width: MediaQuery.of(context).size.width, + child: TrimEditor( + borderPaintColor: tesoGold, + circlePaintColor: tesoBlue, + thumbnailQuality: 100, + showDuration: true, + viewerHeight: 50.0, + maxVideoLength: Duration(seconds: 60), + viewerWidth: MediaQuery.of(context).size.width, + onChangeStart: (value) { + if (!mounted) { + setState(() { + _startValue = value; + }); + } else { + _startValue = value; + } + videoController.seekTo(Duration(milliseconds: value.round())); + }, + onChangeEnd: (value) { + if (!mounted) { + setState(() { + _endValue = value; + }); + } else { + _endValue = value; + } + }, + onChangePlaybackState: (isPlaying) { + if (mounted) + setState(() { + _isPlaying = isPlaying; + }); + }, + )); + } + + Widget videoContent(context) { + print(videoController.value.size.width); + + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Center( + child: AspectRatio( + aspectRatio: videoController.value.size != null + ? videoController.value.aspectRatio + : 1.0, + child: Stack( + children: [ + InkWell( + onTap: () { + !_isPlaying ? _startVideoPlayer() : videoController.pause(); + setState(() { + _isPlaying = !_isPlaying; + }); + }, + child: VideoPlayer( + videoController, + ), + ), + Container( + width: double.infinity, + height: double.infinity, + child: GestureDetector( + child: !_isPlaying + ? Icon( + Icons.play_circle, + size: 60, + color: Colors.white, + ) + : Container(), + onTap: () { + !_isPlaying + ? _startVideoPlayer() + : videoController.pause(); + setState(() { + _isPlaying = !_isPlaying; + }); + }, + ), + ), + ], + )), + ), + ); + } + + Widget bottomButtons(context) { + if (widget.recorded) { + return Align( + alignment: Alignment.bottomLeft, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: SizeConfig.safeBlockVertical * 2.5, + ), + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + width: 55, + height: 40, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.6), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + border: Border.all(color: Colors.white, width: 0.5)), + child: InkWell( + onTap: () async => + !downloaded ? await downloadVideo(context) : null, + child: Icon( + !downloaded ? Icons.download : Icons.check, + color: !downloaded ? Colors.white : Colors.green, + ), + ), + ), + Container( + width: 55, + height: 40, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.6), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + border: Border.all(color: Colors.white, width: 0.5)), + child: InkWell( + onTap: () async => await shareVideo(context), + child: Icon( + Icons.share, + color: Colors.white, + ), + ), + ), + Container( + padding: EdgeInsets.all(5), + width: 100, + height: 40, + decoration: BoxDecoration( + color: tesoGold, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + ), + child: InkWell( + onTap: () => postVideo(context), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Post", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + Icon( + Icons.send, + color: tesoBlue, + ), + ], + ), + ), + ), + ], + ), + ), + ); + } else { + return Align( + alignment: Alignment.bottomRight, + child: Container( + padding: EdgeInsets.all(5), + width: 100, + height: 40, + margin: EdgeInsets.symmetric( + vertical: 10, + horizontal: 20, + ), + decoration: BoxDecoration( + color: tesoGold, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + ), + child: InkWell( + onTap: () => postVideo(context), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Post", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + Icon( + Icons.send, + color: tesoBlue, + ), + ], + ), + ), + ), + ); + } + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/color_palette.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/color_palette.dart new file mode 100644 index 0000000..130d0f2 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/color_palette.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; + +class ColorPalette extends StatefulWidget { + final Color activeColor; + final List colors; + final Function(Color) onColorPicked; + + ColorPalette({ + this.activeColor, + this.onColorPicked, + this.colors, + }); + + @override + _ColorPaletteState createState() => _ColorPaletteState(); +} + +class _ColorPaletteState extends State { + Color _activeColor; + + @override + void initState() { + _activeColor = widget.activeColor ?? widget.colors[0]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.all(16), + child: Wrap( + spacing: 16, + runSpacing: 16, + children: widget.colors + .map( + (color) => _ColorHolder( + color: color, + active: color == _activeColor, + onTap: (color) { + setState(() => _activeColor = color); + widget.onColorPicked(color); + }, + ), + ) + .toList(), + ), + ); + } +} + +class _ColorHolder extends StatelessWidget { + final Color color; + final Function(Color) onTap; + final bool active; + + _ColorHolder({ + this.color, + this.onTap, + this.active = false, + }); + + @override + Widget build(BuildContext context) { + return Container( + height: 40, + width: 40, + decoration: BoxDecoration( + border: active + ? Border.fromBorderSide( + BorderSide(color: Theme.of(context).colorScheme.onSurface)) + : null, + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: GestureDetector( + onTap: () => onTap(color), + child: Container( + height: 35, + width: 35, + decoration: BoxDecoration( + border: Border.fromBorderSide( + BorderSide(color: Theme.of(context).colorScheme.onSurface)), + borderRadius: BorderRadius.circular(50), + color: color, + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/option_button.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/option_button.dart new file mode 100644 index 0000000..ad31cf2 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/option_button.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; + +class OptionButton extends StatelessWidget { + final bool isActive; + final Function() onPressed; + final Widget child; + final Size size; + + OptionButton({ + this.onPressed, + this.child, + this.isActive = false, + this.size, + }); + @override + Widget build(BuildContext context) { + return RawMaterialButton( + constraints: BoxConstraints.tight(size ?? Size(45, 45)), + highlightColor: Theme.of(context).colorScheme.background, + splashColor: Theme.of(context).colorScheme.background, + fillColor: isActive ? Theme.of(context).colorScheme.background : null, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + side: BorderSide(color: Theme.of(context).colorScheme.surface), + ), + child: child, + onPressed: onPressed, + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar.dart new file mode 100644 index 0000000..48dec72 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar.dart @@ -0,0 +1,87 @@ +import 'package:flutter/material.dart'; + +import 'option_button.dart'; +import 'toolbar_action.dart'; + +class Toolbar extends StatefulWidget { + final EditorToolbarAction initialTool; + final Function(EditorToolbarAction) onToolSelect; + + Toolbar({ + this.initialTool = EditorToolbarAction.editor, + this.onToolSelect, + }); + + @override + _ToolbarState createState() => _ToolbarState(); +} + +class _ToolbarState extends State { + EditorToolbarAction _selectedAction; + @override + void initState() { + _selectedAction = widget.initialTool; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + // OptionButton( + // isActive: _selectedAction == EditorToolbarAction.editor, + // child: Icon(Icons.keyboard), + // onPressed: () { + // setState(() => _selectedAction = EditorToolbarAction.editor); + // widget.onToolSelect(EditorToolbarAction.editor); + // }, + // ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontFamilyTool, + child: Icon(Icons.title), + onPressed: () { + setState( + () => _selectedAction = EditorToolbarAction.fontFamilyTool); + widget.onToolSelect(EditorToolbarAction.fontFamilyTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontOptionTool, + child: Icon(Icons.strikethrough_s), + onPressed: () { + setState( + () => _selectedAction = EditorToolbarAction.fontOptionTool); + widget.onToolSelect(EditorToolbarAction.fontOptionTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontSizeTool, + child: Icon(Icons.format_size), + onPressed: () { + setState(() => _selectedAction = EditorToolbarAction.fontSizeTool); + widget.onToolSelect(EditorToolbarAction.fontSizeTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontColorTool, + child: Icon(Icons.format_color_text), + onPressed: () { + setState(() => _selectedAction = EditorToolbarAction.fontColorTool); + widget.onToolSelect(EditorToolbarAction.fontColorTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.backgroundColorTool, + child: Icon(Icons.format_color_fill), + onPressed: () { + setState(() => + _selectedAction = EditorToolbarAction.backgroundColorTool); + widget.onToolSelect(EditorToolbarAction.backgroundColorTool); + }, + ), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar_action.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar_action.dart new file mode 100644 index 0000000..07382cc --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/toolbar_action.dart @@ -0,0 +1,8 @@ +enum EditorToolbarAction { + editor, + fontFamilyTool, + fontOptionTool, + fontSizeTool, + fontColorTool, + backgroundColorTool, +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/background_color_tool.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/background_color_tool.dart new file mode 100644 index 0000000..340f9a4 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/background_color_tool.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +import '../color_palette.dart'; + +class BackgroundColorTool extends StatelessWidget { + final List colors; + final Color activeColor; + final Function(Color) onColorPicked; + + BackgroundColorTool({ + this.colors, + this.onColorPicked, + this.activeColor, + }); + + @override + Widget build(BuildContext context) { + return ColorPalette( + activeColor: activeColor, + onColorPicked: onColorPicked, + colors: colors, + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_color_tool.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_color_tool.dart new file mode 100644 index 0000000..8da558d --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_color_tool.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +import '../color_palette.dart'; + +class FontColorTool extends StatelessWidget { + final List colors; + final Color activeColor; + final Function(Color) onColorPicked; + + FontColorTool({ + this.colors, + this.onColorPicked, + this.activeColor, + }); + + @override + Widget build(BuildContext context) { + return ColorPalette( + activeColor: activeColor, + onColorPicked: onColorPicked, + colors: colors, + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_family_tool.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_family_tool.dart new file mode 100644 index 0000000..1b7ab48 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_family_tool.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; + +import '../option_button.dart'; + +class FontFamilyTool extends StatefulWidget { + final List fonts; + final Function(String) onSelectFont; + final String selectedFont; + + FontFamilyTool({ + this.fonts, + this.onSelectFont, + this.selectedFont, + }); + + @override + _FontFamilyToolState createState() => _FontFamilyToolState(); +} + +class _FontFamilyToolState extends State { + String _selectedFont; + + @override + void initState() { + _selectedFont = widget.selectedFont ?? widget.fonts[0]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Wrap( + spacing: 12, + runSpacing: 12, + children: widget.fonts + .map<_FontFamily>( + (font) => _FontFamily( + font, + isSelected: _selectedFont == font, + onSelect: (selectedFont) { + setState(() => _selectedFont = selectedFont); + widget.onSelectFont(selectedFont); + }, + ), + ) + .toList(), + ); + } +} + +class _FontFamily extends StatelessWidget { + final String font; + final bool isSelected; + final Function(String) onSelect; + + _FontFamily(this.font, {this.onSelect, this.isSelected = false}); + @override + Widget build(BuildContext context) { + return OptionButton( + isActive: isSelected, + size: Size(90, 45), + onPressed: () => onSelect(font), + child: Center(child: Text(font, style: TextStyle(fontFamily: font))), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_size_tool.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_size_tool.dart new file mode 100644 index 0000000..53915f1 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/font_size_tool.dart @@ -0,0 +1,123 @@ +import 'package:flutter/material.dart'; + +class FontSizeTool extends StatelessWidget { + final double fontSize; + final double letterSpacing; + final double letterHeight; + final Function( + double fontSize, + double letterSpacing, + double letterHeight, + ) onFontSizeEdited; + + FontSizeTool({ + this.onFontSizeEdited, + this.fontSize = 0, + this.letterSpacing = 0, + this.letterHeight = 0, + }); + + @override + Widget build(BuildContext context) { + double _fontSize = fontSize; + double _letterSpacing = letterSpacing; + double _letterHeight = letterHeight; + + return Padding( + padding: EdgeInsets.all(16), + child: Column( + children: [ + _ResizeSlider( + value: _fontSize, + icon: Icons.format_size, + max: 45, + onChange: (value) { + _fontSize = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + _ResizeSlider( + value: _letterHeight, + icon: Icons.format_line_spacing, + max: 10, + onChange: (value) { + _letterHeight = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + _ResizeSlider( + value: _letterSpacing, + icon: Icons.settings_ethernet, + max: 10, + onChange: (value) { + _letterSpacing = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + ], + ), + ); + } +} + +class _ResizeSlider extends StatefulWidget { + final double value; + final double min; + final double max; + final IconData icon; + final Function(double) onChange; + + _ResizeSlider({ + this.value, + this.icon, + this.onChange, + this.min = 0, + this.max = 100, + }); + + @override + _ResizeSliderState createState() => _ResizeSliderState(); +} + +class _ResizeSliderState extends State<_ResizeSlider> { + double _value; + + @override + void initState() { + _value = widget.value; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Icon(widget.icon), + Expanded( + child: SliderTheme( + data: SliderThemeData( + activeTrackColor: Theme.of(context).colorScheme.background, + inactiveTrackColor: Theme.of(context).colorScheme.background, + thumbColor: Theme.of(context).colorScheme.background, + overlayColor: + Theme.of(context).colorScheme.background.withOpacity(0.2), + trackHeight: 2, + ), + child: Slider( + value: _value, + onChanged: (value) { + setState(() => _value = value); + + widget.onChange(value); + }, + min: widget.min, + max: widget.max, + ), + ), + ), + Text(_value.toStringAsFixed(1)), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/text_format_tool.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/text_format_tool.dart new file mode 100644 index 0000000..5365741 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/src/tools/text_format_tool.dart @@ -0,0 +1,237 @@ +import 'package:flutter/material.dart'; + +import '../option_button.dart'; + +class TextFormatTool extends StatelessWidget { + final Function( + bool bold, + bool italic, + ) onTextFormatEdited; + final Function(bool caps) onCpasLockTaggle; + final Function(TextAlign textAlign) onTextAlignEdited; + final TextAlign textAlign; + final bool bold; + final bool italic; + final bool caps; + + TextFormatTool({ + this.onTextFormatEdited, + this.onTextAlignEdited, + this.onCpasLockTaggle, + this.textAlign = TextAlign.left, + this.bold = false, + this.italic = false, + this.caps = false, + }); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.only(top: 36), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + _TextFormatEditor( + bold: bold, + italic: italic, + caps: caps, + onFormatEdited: onTextFormatEdited, + onCpasLockTaggle: onCpasLockTaggle, + ), + SizedBox(height: 36), + _TextAlignEditor( + textAlign: textAlign, + onTextAlignEdited: onTextAlignEdited, + ), + ], + ), + ); + } +} + +class _TextAlignEditor extends StatefulWidget { + final TextAlign textAlign; + final Function(TextAlign textAlign) onTextAlignEdited; + + _TextAlignEditor({ + this.onTextAlignEdited, + this.textAlign = TextAlign.left, + }); + + @override + _TextAlignEditorState createState() => _TextAlignEditorState(); +} + +class _TextAlignEditorState extends State<_TextAlignEditor> { + TextAlign _textAlign; + + @override + void initState() { + _textAlign = widget.textAlign; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _TextAlignOption( + icon: Icons.format_align_left, + isActive: _textAlign == TextAlign.left, + onPressed: () { + setState(() => _textAlign = TextAlign.left); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_center, + isActive: _textAlign == TextAlign.center, + onPressed: () { + setState(() => _textAlign = TextAlign.center); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_right, + isActive: _textAlign == TextAlign.right, + onPressed: () { + setState(() => _textAlign = TextAlign.right); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_justify, + isActive: _textAlign == TextAlign.justify, + onPressed: () { + setState(() => _textAlign = TextAlign.justify); + widget.onTextAlignEdited(_textAlign); + }, + ), + ], + ); + } +} + +class _TextAlignOption extends StatelessWidget { + final IconData icon; + final Function() onPressed; + final bool isActive; + + _TextAlignOption({ + this.icon, + this.onPressed, + this.isActive = false, + }); + + @override + Widget build(BuildContext context) { + return IconButton( + iconSize: 32, + icon: Icon(icon), + color: isActive + ? Theme.of(context).iconTheme.color + : Theme.of(context).disabledColor, + onPressed: onPressed, + ); + } +} + +class _TextFormatEditor extends StatefulWidget { + final Function(bool bold, bool italic) onFormatEdited; + final Function(bool caps) onCpasLockTaggle; + final bool bold; + final bool italic; + final bool caps; + + _TextFormatEditor({ + this.onFormatEdited, + this.onCpasLockTaggle, + this.bold = false, + this.italic = false, + this.caps = false, + }); + + @override + _TextFormatEditorState createState() => _TextFormatEditorState(); +} + +class _TextFormatEditorState extends State<_TextFormatEditor> { + bool _bold; + bool _italic; + bool _caps; + + @override + void initState() { + _bold = widget.bold; + _italic = widget.italic; + _caps = widget.caps; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _TextFormatOption( + title: 'BOLD', + icon: Icons.format_bold, + isActive: _bold, + onPressed: () { + setState(() => _bold = !_bold); + widget.onFormatEdited(_bold, _italic); + }, + ), + _TextFormatOption( + title: 'ITALIC', + icon: Icons.format_italic, + isActive: _italic, + onPressed: () { + setState(() => _italic = !_italic); + widget.onFormatEdited(_bold, _italic); + }, + ), + _TextFormatOption( + title: 'CAPS', + icon: Icons.keyboard_capslock, + isActive: _caps, + onPressed: () { + setState(() => _caps = !_caps); + widget.onCpasLockTaggle(_caps); + }, + ), + ], + ); + } +} + +class _TextFormatOption extends StatelessWidget { + final String title; + final IconData icon; + final Function() onPressed; + final bool isActive; + + _TextFormatOption({ + this.title, + this.icon, + this.onPressed, + this.isActive = false, + }); + @override + Widget build(BuildContext context) { + return Column( + children: [ + OptionButton( + isActive: isActive, + onPressed: onPressed, + child: Icon(icon), + ), + SizedBox(height: 12), + Text(title), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/text_style_editor.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/text_style_editor.dart new file mode 100644 index 0000000..a921e11 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Editor/textstyler/text_style_editor.dart @@ -0,0 +1,223 @@ +library text_style_editor; + +export 'src/toolbar_action.dart'; + +import 'package:flutter/material.dart'; +import 'src/toolbar_action.dart'; +import 'src/tools/background_color_tool.dart'; +import 'src/color_palette.dart'; +import 'src/tools/font_family_tool.dart'; +import 'src/tools/font_size_tool.dart'; +import 'src/tools/text_format_tool.dart'; +import 'src/toolbar.dart'; + +/// Text style editor +/// A flutter widget that edit text style and text alignment +/// +/// You can pass your text style or alignment to the widget +/// and then get the edited text style +class TextStyleEditor extends StatefulWidget { + /// Editor's font families + final List fonts; + + /// The text style + final TextStyle textStyle; + + /// The text alignment + final TextAlign textAlign; + + /// The inithial editor tool + final EditorToolbarAction initialTool; + + /// Editor's palette colors + final List paletteColors; + + /// [onTextStyleEdited] will be called after [textStyle] prop has changed + final Function(TextStyle) onTextStyleEdited; + + /// [onTextAlignEdited] will be called after [textAlingment] prop has changed + final Function(TextAlign) onTextAlignEdited; + + /// [onCpasLockTaggle] will be called after caps lock has changed + final Function(bool) onCpasLockTaggle; + + /// [onToolbarActionChanged] will be called after editor's tool has changed + final Function(EditorToolbarAction) onToolbarActionChanged; + + /// Create a [TextStyleEditor] widget + /// + /// [fonts] list of font families that you want to use in editor. + /// [textStyle] initiate text style. + /// [textAlign] initiate text alignment. + /// + /// [onTextStyleEdited] callback will be called every time [textStyle] has changed. + /// [onTextAlignEdited] callback will be called every time [textAlign] has changed. + /// [onCpasLockTaggle] callback will be called every time caps lock has changed to off or on. + /// [onToolbarActionChanged] callback will be called every time editor's tool has changed. + TextStyleEditor({ + this.fonts, + this.textStyle, + this.textAlign, + this.paletteColors, + this.initialTool = EditorToolbarAction.editor, + this.onTextStyleEdited, + this.onTextAlignEdited, + this.onCpasLockTaggle, + this.onToolbarActionChanged, + }); + + @override + _TextStyleEditorState createState() => _TextStyleEditorState(); +} + +class _TextStyleEditorState extends State { + EditorToolbarAction _currentTool; + TextStyle _textStyle; + TextAlign _textAlign; + List _paletteColors; + + @override + void initState() { + _currentTool = widget.initialTool; + _textStyle = widget.textStyle; + _textAlign = widget.textAlign; + + // Set default palette's colors + _paletteColors = widget.paletteColors ?? + [ + Colors.black, + Colors.white, + Colors.red, + Colors.blue, + Colors.blueAccent, + Colors.brown, + Colors.green, + Colors.indigoAccent, + Colors.lime, + ]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + Toolbar( + initialTool: _currentTool, + onToolSelect: (action) { + setState(() => _currentTool = action); + if (widget.onToolbarActionChanged != null) { + widget.onToolbarActionChanged(action); + } + }, + ), + Divider(), + Container( + child: SingleChildScrollView( + child: () { + // Choice tools + switch (_currentTool) { + case EditorToolbarAction.fontFamilyTool: + return FontFamilyTool( + fonts: widget.fonts, + selectedFont: _textStyle.fontFamily, + onSelectFont: (fontFamily) { + setState(() => _textStyle = + _textStyle.copyWith(fontFamily: fontFamily)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.fontOptionTool: + return TextFormatTool( + bold: _textStyle.fontWeight == FontWeight.bold, + italic: _textStyle.fontStyle == FontStyle.italic, + textAlign: _textAlign, + onTextFormatEdited: (bold, italic) { + setState(() => _textStyle = _textStyle.copyWith( + fontWeight: + bold ? FontWeight.bold : FontWeight.normal, + fontStyle: + italic ? FontStyle.italic : FontStyle.normal, + )); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + onTextAlignEdited: (align) { + setState(() => _textAlign = align); + + if (widget.onTextAlignEdited != null) { + widget.onTextAlignEdited(align); + } + }, + onCpasLockTaggle: (caps) { + if (widget.onCpasLockTaggle != null) { + widget.onCpasLockTaggle(caps); + } + }, + ); + case EditorToolbarAction.fontSizeTool: + return FontSizeTool( + fontSize: _textStyle.fontSize ?? 0, + letterHeight: _textStyle.height ?? 1.2, + letterSpacing: _textStyle.letterSpacing ?? 1, + onFontSizeEdited: ( + fontSize, + letterSpacing, + letterHeight, + ) { + setState(() => _textStyle = _textStyle.copyWith( + fontSize: fontSize, + height: letterHeight, + letterSpacing: letterSpacing, + )); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.fontColorTool: + return BackgroundColorTool( + activeColor: _textStyle.color, + colors: _paletteColors, + onColorPicked: (color) { + setState( + () => _textStyle = _textStyle.copyWith(color: color)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.backgroundColorTool: + return ColorPalette( + activeColor: _textStyle.backgroundColor, + colors: _paletteColors, + onColorPicked: (color) { + setState(() => _textStyle = + _textStyle.copyWith(backgroundColor: color)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.editor: + return Container(); + default: + return Container(); + } + }(), + ), + ), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart new file mode 100644 index 0000000..8180c9c --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart @@ -0,0 +1,499 @@ +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:camera/camera.dart'; +import 'package:flutter/services.dart'; + +import 'package:image_picker/image_picker.dart'; +import 'package:teso/util/consts.dart'; +import 'package:page_transition/page_transition.dart'; +import 'dart:async'; +import 'package:circular_countdown_timer/circular_countdown_timer.dart'; +import 'package:video_thumbnail/video_thumbnail.dart' as thumb; + +import 'Editor/VideoReview.dart'; + +// ignore: must_be_immutable +class RecordVideo extends StatefulWidget { + List connectedCameras; + + RecordVideo({Key key, this.connectedCameras}) : super(key: key); + @override + _RecordVideoState createState() => _RecordVideoState(); +} + +class _RecordVideoState extends State + with TickerProviderStateMixin { + CameraController _controller; + int selectedCamera = 0; + bool flash = false; + bool frontFlash = false; + bool recording = false; + AnimationController _recordingAnimationController; + XFile video; + String filePath; + int recordEnd = 60; + CountDownController _controllerCountDown = CountDownController(); + final interval = const Duration(seconds: 1); + final picker = ImagePicker(); + bool gallery = false; + + final int timerMaxSeconds = 60; + + int currentSeconds = 0; + + flipCamera() { + selectedCamera++; + if (selectedCamera < widget.connectedCameras.length) { + onNewCameraSelected(widget.connectedCameras.elementAt(selectedCamera)); + } else { + selectedCamera = 0; + onNewCameraSelected(widget.connectedCameras.elementAt(selectedCamera)); + } + } + + flashCamera() { + try { + if (!flash && + _controller.description.lensDirection == CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.torch); + setState(() { + flash = true; + frontFlash = false; + }); + } else if (!flash && + _controller.description.lensDirection == CameraLensDirection.front) { + setState(() { + flash = true; + frontFlash = true; + }); + } else if (flash && + _controller.description.lensDirection == CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + } catch (e) {} + } + + haltRecord() async { + double aspect = _controller.value.aspectRatio; + XFile recorded = await stopVideoRecording(); + if (recorded != null) + Navigator.of(context).pushReplacement( + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => VideoReview( + video: recorded.path, + aspect: aspect, + // campaignID: widget.campaignID, + recorded: true, + ), + ), + ); + } + + Future generateThumbnail(video) async { + try { + Uint8List thumbnail; + + thumbnail = await thumb.VideoThumbnail.thumbnailData( + video: video, + imageFormat: thumb.ImageFormat.JPEG, + maxWidth: 0, + maxHeight: 0, + timeMs: 1, + quality: 100, + ); + return thumbnail; + } catch (e) { + print("Error :::: " + e); + return null; + } + } + + @override + void initState() { + if (widget.connectedCameras == null || + widget.connectedCameras.length == 0) { + availableCameras().then((value) { + widget.connectedCameras = value; + onNewCameraSelected(widget.connectedCameras.first); + }); + } else { + onNewCameraSelected(widget.connectedCameras.first); + } + _recordingAnimationController = + new AnimationController(vsync: this, duration: Duration(seconds: 1)); + + _recordingAnimationController.repeat(reverse: true); + super.initState(); + } + + sayCheese() async { + try { + if (flash && !frontFlash) + await _controller.setFlashMode(FlashMode.always); + await _controller.startVideoRecording(); + } catch (e) { + print(e); + } + } + + Future stopVideoRecording() async { + if (!_controller.value.isRecordingVideo) { + return null; + } + + try { + return _controller.stopVideoRecording(); + } on CameraException catch (e) { + print(e); + return null; + } + } + + void onNewCameraSelected(CameraDescription cameraDescription) async { + if (_controller != null) { + await _controller.dispose(); + } + _controller = CameraController( + cameraDescription, + ResolutionPreset.max, + enableAudio: true, + imageFormatGroup: ImageFormatGroup.jpeg, + ); + + // If the controller is updated then update the UI. + _controller.addListener(() { + if (mounted) setState(() {}); + if (_controller.value.hasError) { + print('Camera error ${_controller.value.errorDescription}'); + } + }); + + try { + await _controller.initialize(); + _controller.lockCaptureOrientation(DeviceOrientation.portraitUp); + _controller.setFocusMode(FocusMode.auto); + } on CameraException catch (e) { + print(e); + } + + if (mounted) { + setState(() {}); + } + } + + void onHocusFocus(TapDownDetails details, BoxConstraints constraints) { + final offset = Offset( + details.localPosition.dx / constraints.maxWidth, + details.localPosition.dy / constraints.maxHeight, + ); + _controller.setExposurePoint(offset); + _controller.setFocusPoint(offset); + } + + @override + void dispose() { + _controller?.dispose(); + _recordingAnimationController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + if (_controller == null || !_controller.value.isInitialized) { + return Container( + color: Colors.black, + ); + } else { + return Scaffold( + body: !gallery + ? Stack( + children: [ + cameraWidget(context), + flashWidget(context), + cameraFlip(context), + cameraFlash(context), + recordingAnimation(context), + recordingCircle(context), + recorderWidget(context), + galleryPicker(context), + ], + ) + : Container(), + ); + } + } + + imgFromGallery() async { + try { + setState(() { + gallery = true; + }); + final pickedFile = await picker.pickVideo( + source: ImageSource.gallery, + maxDuration: Duration(minutes: 1), + ); + + if (pickedFile != null) { + return pickedFile.path; + } else { + onNewCameraSelected(widget.connectedCameras.first); + print('No image selected.'); + } + } catch (e) { + print(e); + } + setState(() { + gallery = false; + }); + return; + } + + Widget recordingCircle(context) { + return Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: CircularCountDownTimer( + duration: recordEnd, + initialDuration: 0, + controller: _controllerCountDown, + width: MediaQuery.of(context).size.width / 2, + height: MediaQuery.of(context).size.height / 2, + ringColor: Colors.grey[300], + fillColor: Colors.red, + backgroundColor: Colors.transparent, + autoStart: false, + strokeWidth: 5.5, + isTimerTextShown: false, + strokeCap: StrokeCap.round, + //onStart: startTimeout, + onComplete: haltRecord, + ), + ), + ); + } + + Widget recorderWidget(context) { + return Align( + alignment: Alignment.bottomCenter, + child: InkWell( + onTap: recording + ? haltRecord + : () async { + await _controller.startVideoRecording(); + setState(() { + _controllerCountDown.start(); + recording = !recording; + }); + }, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + recording ? Icons.stop : Icons.video_camera_back, + color: Colors.white, + size: 25, + ), + ), + ), + ); + } + + Widget galleryPicker(context) { + return Align( + alignment: Alignment.bottomLeft, + child: recording + ? Container() + : InkWell( + onTap: () async { + String result = await imgFromGallery(); + if (result != null) { + // _controller.dispose(); + Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: VideoReview( + video: result, + recorded: false, + // campaignID: widget.campaignID, + ), + )); + } + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + Icons.photo, + color: Colors.white, + size: 27, + ), + ), + ), + ); + } + + Widget recordingAnimation(context) { + if (!recording) + return Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + //color: ColorFilterEngineLayer (0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + )); + else + return Align( + alignment: Alignment.topLeft, + child: Container( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + margin: EdgeInsets.symmetric( + horizontal: 5, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + padding: EdgeInsets.all(2.5), + height: 20, + width: 20, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.red, + width: 2, + )), + child: FadeTransition( + opacity: _recordingAnimationController, + child: Container( + width: 20, + height: 20, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget cameraFlash(context) { + return !recording + ? Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.25, + ), + child: InkWell( + onTap: flashCamera, + child: Icon( + flash ? Icons.flash_on : Icons.flash_off, + color: flash ? tesoGold : Colors.white, + size: 30, + ), + ), + ), + ) + : Container(); + } + + Widget cameraFlip(context) { + return !recording + ? Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.06, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + child: InkWell( + onTap: flipCamera, + child: Icon( + Icons.cameraswitch_outlined, + color: Colors.white, + size: 40, + ), + ), + ), + ) + : Container(); + } + + Widget flashWidget(context) { + return Visibility( + visible: frontFlash, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.4), + ), + ), + ); + } + + Widget cameraWidget(context) { + var camera = _controller.value; + final size = MediaQuery.of(context).size; + var scale = size.aspectRatio * camera.aspectRatio; + if (scale < 1) scale = 1 / scale; + + return Transform.scale( + scale: scale, + child: Center( + child: CameraPreview( + _controller, + child: LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + onTapDown: (details) => onHocusFocus(details, constraints), + ); + }), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart new file mode 100644 index 0000000..c5ec37f --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart @@ -0,0 +1,45 @@ +/// The video file formats available for +/// generating the output trimmed video. +/// +/// The available formats are `mp4`, `mkv`, +/// `mov`, `flv`, `avi`, `wmv`& `gif`. +/// +/// If you define a custom `FFmpeg` command +/// then this will be ignored. +/// +class FileFormat { + const FileFormat._(this.index); + + final int index; + + static const FileFormat mp4 = FileFormat._(0); + static const FileFormat mkv = FileFormat._(1); + static const FileFormat mov = FileFormat._(2); + static const FileFormat flv = FileFormat._(3); + static const FileFormat avi = FileFormat._(4); + static const FileFormat wmv = FileFormat._(5); + static const FileFormat gif = FileFormat._(6); + + static const List values = [ + mp4, + mkv, + mov, + flv, + avi, + wmv, + gif, + ]; + + @override + String toString() { + return const { + 0: '.mp4', + 1: '.mkv', + 2: '.mov', + 3: '.flv', + 4: '.avi', + 5: '.wmv', + 6: '.gif', + }[index]; + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/storage_dir.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/storage_dir.dart new file mode 100644 index 0000000..3c15be3 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/storage_dir.dart @@ -0,0 +1,32 @@ +/// Supported storage locations. +/// +/// * [temporaryDirectory] +/// +/// * [applicationDocumentsDirectory] +/// +/// * [externalStorageDirectory] +/// +class StorageDir { + const StorageDir._(this.index); + + final int index; + + static const StorageDir temporaryDirectory = StorageDir._(0); + static const StorageDir applicationDocumentsDirectory = StorageDir._(1); + static const StorageDir externalStorageDirectory = StorageDir._(2); + + static const List values = [ + temporaryDirectory, + applicationDocumentsDirectory, + externalStorageDirectory, + ]; + + @override + String toString() { + return const { + 0: 'temporaryDirectory', + 1: 'applicationDocumentsDirectory', + 2: 'externalStorageDirectory', + }[index]; + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/thumbnail_viewer.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/thumbnail_viewer.dart new file mode 100644 index 0000000..c31a705 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/thumbnail_viewer.dart @@ -0,0 +1,81 @@ +import 'dart:typed_data'; + +import 'package:flutter/material.dart'; +import 'package:video_thumbnail/video_thumbnail.dart'; + +class ThumbnailViewer extends StatelessWidget { + final videoFile; + final videoDuration; + final thumbnailHeight; + final fit; + final int numberOfThumbnails; + final int quality; + + /// For showing the thumbnails generated from the video, + /// like a frame by frame preview + ThumbnailViewer({ + @required this.videoFile, + @required this.videoDuration, + @required this.thumbnailHeight, + @required this.numberOfThumbnails, + @required this.fit, + this.quality = 75, + }) : assert(videoFile != null), + assert(videoDuration != null), + assert(thumbnailHeight != null), + assert(numberOfThumbnails != null), + assert(quality != null); + + Stream> generateThumbnail() async* { + final String _videoPath = videoFile.path; + + double _eachPart = videoDuration / numberOfThumbnails; + + List _byteList = []; + + for (int i = 1; i <= numberOfThumbnails; i++) { + Uint8List _bytes; + _bytes = await VideoThumbnail.thumbnailData( + video: _videoPath, + imageFormat: ImageFormat.JPEG, + timeMs: (_eachPart * i).toInt(), + quality: quality, + ); + + _byteList.add(_bytes); + + yield _byteList; + } + } + + @override + Widget build(BuildContext context) { + return StreamBuilder( + stream: generateThumbnail(), + builder: (context, snapshot) { + if (snapshot.hasData) { + List _imageBytes = snapshot.data; + return ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: snapshot.data.length, + itemBuilder: (context, index) { + return Container( + height: thumbnailHeight, + width: thumbnailHeight, + child: Image( + image: MemoryImage(_imageBytes[index]), + fit: fit, + ), + ); + }); + } else { + return Container( + color: Colors.grey[900], + height: thumbnailHeight, + width: double.maxFinite, + ); + } + }, + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart new file mode 100644 index 0000000..bb5f459 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart @@ -0,0 +1,537 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/thumbnail_viewer.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor_painter.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart'; +import 'package:video_player/video_player.dart'; + +VideoPlayerController videoPlayerController; + +class TrimEditor extends StatefulWidget { + /// For defining the total trimmer area width + final double viewerWidth; + + /// For defining the total trimmer area height + final double viewerHeight; + + /// For defining the image fit type of each thumbnail image. + /// + /// By default it is set to `BoxFit.fitHeight`. + final BoxFit fit; + + /// For defining the maximum length of the output video. + final Duration maxVideoLength; + + /// For specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// + /// By default it is set to `5.0`. + final double circleSize; + + /// For specifying a size to the holder at + /// the two ends of the video trimmer area, while it is being + /// `dragged`. + /// + /// By default it is set to `8.0`. + final double circleSizeOnDrag; + + /// For specifying a color to the circle. + /// + /// By default it is set to `Colors.white`. + final Color circlePaintColor; + + /// For specifying a color to the border of + /// the trim area. + /// + /// By default it is set to `Colors.white`. + final Color borderPaintColor; + + /// For specifying a color to the video + /// scrubber inside the trim area. + /// + /// By default it is set to `Colors.white`. + final Color scrubberPaintColor; + + /// For specifying the quality of each + /// generated image thumbnail, to be displayed in the trimmer + /// area. + final int thumbnailQuality; + + /// For showing the start and the end point of the + /// video on top of the trimmer area. + /// + /// By default it is set to `true`. + final bool showDuration; + + /// For providing a `TextStyle` to the + /// duration text. + /// + /// By default it is set to `TextStyle(color: Colors.white)` + final TextStyle durationTextStyle; + + /// Callback to the video start position + /// + /// Returns the selected video start position in `milliseconds`. + final Function(double startValue) onChangeStart; + + /// Callback to the video end position. + /// + /// Returns the selected video end position in `milliseconds`. + final Function(double endValue) onChangeEnd; + + /// Callback to the video playback + /// state to know whether it is currently playing or paused. + /// + /// Returns a `boolean` value. If `true`, video is currently + /// playing, otherwise paused. + final Function(bool isPlaying) onChangePlaybackState; + + /// Widget for displaying the video trimmer. + /// + /// This has frame wise preview of the video with a + /// slider for selecting the part of the video to be + /// trimmed. + /// + /// The required parameters are [viewerWidth] & [viewerHeight] + /// + /// * [viewerWidth] to define the total trimmer area width. + /// + /// + /// * [viewerHeight] to define the total trimmer area height. + /// + /// + /// The optional parameters are: + /// + /// * [fit] for specifying the image fit type of each thumbnail image. + /// By default it is set to `BoxFit.fitHeight`. + /// + /// + /// * [maxVideoLength] for specifying the maximum length of the + /// output video. + /// + /// + /// * [circleSize] for specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `5.0`. + /// + /// + /// * [circleSizeOnDrag] for specifying a size to the holder at + /// the two ends of the video trimmer area, while it is being + /// `dragged`. By default it is set to `8.0`. + /// + /// + /// * [circlePaintColor] for specifying a color to the circle. + /// By default it is set to `Colors.white`. + /// + /// + /// * [borderPaintColor] for specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + /// + /// + /// * [scrubberPaintColor] for specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + /// + /// + /// * [thumbnailQuality] for specifying the quality of each + /// generated image thumbnail, to be displayed in the trimmer + /// area. + /// + /// + /// * [showDuration] for showing the start and the end point of the + /// video on top of the trimmer area. By default it is set to `true`. + /// + /// + /// * [durationTextStyle] is for providing a `TextStyle` to the + /// duration text. By default it is set to + /// `TextStyle(color: Colors.white)` + /// + /// + /// * [onChangeStart] is a callback to the video start position. + /// + /// + /// * [onChangeEnd] is a callback to the video end position. + /// + /// + /// * [onChangePlaybackState] is a callback to the video playback + /// state to know whether it is currently playing or paused. + /// + TrimEditor({ + @required this.viewerWidth, + @required this.viewerHeight, + this.fit = BoxFit.fitHeight, + this.maxVideoLength = const Duration(milliseconds: 0), + this.circleSize = 5.0, + this.circleSizeOnDrag = 8.0, + this.circlePaintColor = Colors.white, + this.borderPaintColor = Colors.white, + this.scrubberPaintColor = Colors.white, + this.thumbnailQuality = 75, + this.showDuration = true, + this.durationTextStyle = const TextStyle( + color: Colors.white, + ), + this.onChangeStart, + this.onChangeEnd, + this.onChangePlaybackState, + }) : assert(viewerWidth != null), + assert(viewerHeight != null), + assert(fit != null), + assert(maxVideoLength != null), + assert(circleSize != null), + assert(circleSizeOnDrag != null), + assert(circlePaintColor != null), + assert(borderPaintColor != null), + assert(scrubberPaintColor != null), + assert(thumbnailQuality != null), + assert(showDuration != null), + assert(durationTextStyle != null); + + @override + _TrimEditorState createState() => _TrimEditorState(); +} + +class _TrimEditorState extends State with TickerProviderStateMixin { + File _videoFile; + + double _videoStartPos = 0.0; + double _videoEndPos = 0.0; + + bool _canUpdateStart = true; + bool _isLeftDrag = true; + + Offset _startPos = Offset(0, 0); + Offset _endPos = Offset(0, 0); + + double _startFraction = 0.0; + double _endFraction = 1.0; + + int _videoDuration = 0; + int _currentPosition = 0; + + double _thumbnailViewerW = 0.0; + double _thumbnailViewerH = 0.0; + + int _numberOfThumbnails = 0; + + double _circleSize; + + double fraction; + double maxLengthPixels; + + ThumbnailViewer thumbnailWidget; + + Animation _scrubberAnimation; + AnimationController _animationController; + Tween _linearTween; + + Future _initializeVideoController() async { + if (_videoFile != null) { + videoPlayerController.addListener(() { + final bool isPlaying = videoPlayerController.value.isPlaying; + + if (isPlaying) { + widget.onChangePlaybackState(true); + setState(() { + _currentPosition = + videoPlayerController.value.position.inMilliseconds; + + if (_currentPosition > _videoEndPos.toInt()) { + widget.onChangePlaybackState(false); + videoPlayerController.pause(); + _animationController.stop(); + } else { + if (!_animationController.isAnimating) { + widget.onChangePlaybackState(true); + _animationController.forward(); + } + } + }); + } else { + if (videoPlayerController.value.isInitialized) { + if (_animationController != null) { + if ((_scrubberAnimation.value).toInt() == (_endPos.dx).toInt()) { + _animationController.reset(); + } + _animationController.stop(); + widget.onChangePlaybackState(false); + } + } + } + }); + + videoPlayerController.setVolume(1.0); + _videoDuration = videoPlayerController.value.duration.inMilliseconds; + print(_videoFile.path); + + _videoEndPos = fraction != null + ? _videoDuration.toDouble() * fraction + : _videoDuration.toDouble(); + + widget.onChangeEnd(_videoEndPos); + + final ThumbnailViewer _thumbnailWidget = ThumbnailViewer( + videoFile: _videoFile, + videoDuration: _videoDuration, + fit: widget.fit, + thumbnailHeight: _thumbnailViewerH, + numberOfThumbnails: _numberOfThumbnails, + quality: widget.thumbnailQuality, + ); + thumbnailWidget = _thumbnailWidget; + } + } + + void _setVideoStartPosition(DragUpdateDetails details) async { + if (!(_startPos.dx + details.delta.dx < 0) && + !(_startPos.dx + details.delta.dx > _thumbnailViewerW) && + !(_startPos.dx + details.delta.dx > _endPos.dx)) { + if (maxLengthPixels != null) { + if (!(_endPos.dx - _startPos.dx - details.delta.dx > maxLengthPixels)) { + setState(() { + if (!(_startPos.dx + details.delta.dx < 0)) + _startPos += details.delta; + + _startFraction = (_startPos.dx / _thumbnailViewerW); + + _videoStartPos = _videoDuration * _startFraction; + widget.onChangeStart(_videoStartPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoStartPos.toInt())); + _linearTween.begin = _startPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } else { + setState(() { + if (!(_startPos.dx + details.delta.dx < 0)) + _startPos += details.delta; + + _startFraction = (_startPos.dx / _thumbnailViewerW); + + _videoStartPos = _videoDuration * _startFraction; + widget.onChangeStart(_videoStartPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoStartPos.toInt())); + _linearTween.begin = _startPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } + } + + void _setVideoEndPosition(DragUpdateDetails details) async { + if (!(_endPos.dx + details.delta.dx > _thumbnailViewerW) && + !(_endPos.dx + details.delta.dx < 0) && + !(_endPos.dx + details.delta.dx < _startPos.dx)) { + if (maxLengthPixels != null) { + if (!(_endPos.dx - _startPos.dx + details.delta.dx > maxLengthPixels)) { + setState(() { + _endPos += details.delta; + _endFraction = _endPos.dx / _thumbnailViewerW; + + _videoEndPos = _videoDuration * _endFraction; + widget.onChangeEnd(_videoEndPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoEndPos.toInt())); + _linearTween.end = _endPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } else { + setState(() { + _endPos += details.delta; + _endFraction = _endPos.dx / _thumbnailViewerW; + + _videoEndPos = _videoDuration * _endFraction; + widget.onChangeEnd(_videoEndPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoEndPos.toInt())); + _linearTween.end = _endPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } + } + + @override + void initState() { + super.initState(); + _circleSize = widget.circleSize; + + _videoFile = Trimmer.currentVideoFile; + _thumbnailViewerH = widget.viewerHeight; + + _numberOfThumbnails = widget.viewerWidth ~/ _thumbnailViewerH; + + _thumbnailViewerW = _numberOfThumbnails * _thumbnailViewerH; + + Duration totalDuration = videoPlayerController.value.duration; + + if (widget.maxVideoLength > Duration(milliseconds: 0) && + widget.maxVideoLength < totalDuration) { + if (widget.maxVideoLength < totalDuration) { + fraction = + widget.maxVideoLength.inMilliseconds / totalDuration.inMilliseconds; + + maxLengthPixels = _thumbnailViewerW * fraction; + } + } + + _initializeVideoController(); + _endPos = Offset( + maxLengthPixels != null ? maxLengthPixels : _thumbnailViewerW, + _thumbnailViewerH, + ); + + // Defining the tween points + _linearTween = Tween(begin: _startPos.dx, end: _endPos.dx); + + _animationController = AnimationController( + vsync: this, + duration: Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()), + ); + + _scrubberAnimation = _linearTween.animate(_animationController) + ..addListener(() { + setState(() {}); + }) + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + _animationController.stop(); + } + }); + } + + @override + void dispose() { + videoPlayerController.pause(); + widget.onChangePlaybackState(false); + if (_videoFile != null) { + videoPlayerController.setVolume(0.0); + videoPlayerController.pause(); + videoPlayerController.dispose(); + widget.onChangePlaybackState(false); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onHorizontalDragStart: (DragStartDetails details) { + print("START"); + print(details.localPosition); + print((_startPos.dx - details.localPosition.dx).abs()); + print((_endPos.dx - details.localPosition.dx).abs()); + + if (_endPos.dx >= _startPos.dx) { + if ((_startPos.dx - details.localPosition.dx).abs() > + (_endPos.dx - details.localPosition.dx).abs()) { + setState(() { + _canUpdateStart = false; + }); + } else { + setState(() { + _canUpdateStart = true; + }); + } + } else { + if (_startPos.dx > details.localPosition.dx) { + _isLeftDrag = true; + } else { + _isLeftDrag = false; + } + } + }, + onHorizontalDragEnd: (DragEndDetails details) { + setState(() { + _circleSize = widget.circleSize; + }); + }, + onHorizontalDragUpdate: (DragUpdateDetails details) { + _circleSize = widget.circleSizeOnDrag; + + if (_endPos.dx >= _startPos.dx) { + _isLeftDrag = false; + if (_canUpdateStart && _startPos.dx + details.delta.dx > 0) { + _isLeftDrag = false; // To prevent from scrolling over + _setVideoStartPosition(details); + } else if (!_canUpdateStart && + _endPos.dx + details.delta.dx < _thumbnailViewerW) { + _isLeftDrag = true; // To prevent from scrolling over + _setVideoEndPosition(details); + } + } else { + if (_isLeftDrag && _startPos.dx + details.delta.dx > 0) { + _setVideoStartPosition(details); + } else if (!_isLeftDrag && + _endPos.dx + details.delta.dx < _thumbnailViewerW) { + _setVideoEndPosition(details); + } + } + }, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + widget.showDuration + ? Container( + width: _thumbnailViewerW, + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Duration(milliseconds: _videoStartPos.toInt()) + .toString() + .split('.')[0], + style: widget.durationTextStyle, + ), + Text( + Duration(milliseconds: _videoEndPos.toInt()) + .toString() + .split('.')[0], + style: widget.durationTextStyle, + ), + ], + ), + ), + ) + : Container(), + CustomPaint( + foregroundPainter: TrimEditorPainter( + startPos: _startPos, + endPos: _endPos, + scrubberAnimationDx: _scrubberAnimation.value, + circleSize: _circleSize, + circlePaintColor: widget.circlePaintColor, + borderPaintColor: widget.borderPaintColor, + scrubberPaintColor: widget.scrubberPaintColor, + ), + child: Container( + color: Colors.grey[900], + height: _thumbnailViewerH, + width: _thumbnailViewerW, + child: thumbnailWidget == null ? Column() : thumbnailWidget, + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor_painter.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor_painter.dart new file mode 100644 index 0000000..91df007 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor_painter.dart @@ -0,0 +1,150 @@ +import 'package:flutter/material.dart'; + +class TrimEditorPainter extends CustomPainter { + /// To define the start offset + final Offset startPos; + + /// To define the end offset + final Offset endPos; + + /// To define the horizontal length of the selected video area + final double scrubberAnimationDx; + + /// For specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `0.5`. + final double circleSize; + + /// For specifying the width of the border around + /// the trim area. By default it is set to `3`. + final double borderWidth; + + /// For specifying the width of the video scrubber + final double scrubberWidth; + + /// For specifying whether to show the scrubber + final bool showScrubber; + + /// For specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + final Color borderPaintColor; + + /// For specifying a color to the circle. + /// By default it is set to `Colors.white` + final Color circlePaintColor; + + /// For specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + final Color scrubberPaintColor; + + /// For drawing the trim editor slider + /// + /// The required parameters are [startPos], [endPos] + /// & [scrubberAnimationDx] + /// + /// * [startPos] to define the start offset + /// + /// + /// * [endPos] to define the end offset + /// + /// + /// * [scrubberAnimationDx] to define the horizontal length of the + /// selected video area + /// + /// + /// The optional parameters are: + /// + /// * [circleSize] for specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `0.5`. + /// + /// + /// * [borderWidth] for specifying the width of the border around + /// the trim area. By default it is set to `3`. + /// + /// + /// * [scrubberWidth] for specifying the width of the video scrubber + /// + /// + /// * [showScrubber] for specifying whether to show the scrubber + /// + /// + /// * [borderPaintColor] for specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + /// + /// + /// * [circlePaintColor] for specifying a color to the circle. + /// By default it is set to `Colors.white`. + /// + /// + /// * [scrubberPaintColor] for specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + /// + TrimEditorPainter({ + @required this.startPos, + @required this.endPos, + @required this.scrubberAnimationDx, + this.circleSize = 0.5, + this.borderWidth = 3, + this.scrubberWidth = 1, + this.showScrubber = true, + this.borderPaintColor = Colors.white, + this.circlePaintColor = Colors.white, + this.scrubberPaintColor = Colors.white, + }) : assert(startPos != null), + assert(endPos != null), + assert(scrubberAnimationDx != null), + assert(circleSize != null), + assert(borderWidth != null), + assert(scrubberWidth != null), + assert(showScrubber != null), + assert(borderPaintColor != null), + assert(circlePaintColor != null), + assert(scrubberPaintColor != null); + + @override + void paint(Canvas canvas, Size size) { + var borderPaint = Paint() + ..color = borderPaintColor + ..strokeWidth = borderWidth + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + var circlePaint = Paint() + ..color = circlePaintColor + ..strokeWidth = 1 + ..style = PaintingStyle.fill + ..strokeCap = StrokeCap.round; + + var scrubberPaint = Paint() + ..color = scrubberPaintColor + ..strokeWidth = scrubberWidth + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + final rect = Rect.fromPoints(startPos, endPos); + + if (showScrubber) { + if (scrubberAnimationDx.toInt() > startPos.dx.toInt()) { + canvas.drawLine( + Offset(scrubberAnimationDx, 0), + Offset(scrubberAnimationDx, 0) + Offset(0, endPos.dy), + scrubberPaint, + ); + } + } + + canvas.drawRect(rect, borderPaint); + canvas.drawCircle( + startPos + Offset(0, endPos.dy / 2), circleSize, circlePaint); + canvas.drawCircle( + endPos + Offset(0, -endPos.dy / 2), circleSize, circlePaint); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return true; + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart new file mode 100644 index 0000000..dfdf121 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart @@ -0,0 +1,300 @@ +import 'dart:io'; +import 'package:path/path.dart'; + +import 'package:flutter/material.dart'; +import 'package:flutter_ffmpeg/flutter_ffmpeg.dart'; +import 'package:intl/intl.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/storage_dir.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart'; +import 'package:video_player/video_player.dart'; + +/// Helps in loading video from file, saving trimmed video to a file +/// and gives video playback controls. Some of the helpful methods +/// are: +/// * [loadVideo()] +/// * [saveTrimmedVideo()] +/// * [videPlaybackControl()] +class Trimmer { + static File currentVideoFile; + + final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg(); + + /// Loads a video using the path provided. + /// + /// Returns the loaded video file. + Future loadVideo({@required File videoFile}) async { + currentVideoFile = videoFile; + if (currentVideoFile != null) { + videoPlayerController = VideoPlayerController.file(currentVideoFile); + await videoPlayerController.initialize().then((_) { + TrimEditor( + viewerHeight: 50, + viewerWidth: 50.0 * 8, + // currentVideoFile: currentVideoFile, + ); + }); + // TrimEditor( + // viewerHeight: 50, + // viewerWidth: 50.0 * 8, + // // currentVideoFile: currentVideoFile, + // ); + } + } + + Future _createFolderInAppDocDir( + String folderName, + StorageDir storageDir, + ) async { + Directory _directory; + + if (storageDir == null) { + _directory = await getApplicationDocumentsDirectory(); + } else { + switch (storageDir.toString()) { + case 'temporaryDirectory': + _directory = await getTemporaryDirectory(); + break; + + case 'applicationDocumentsDirectory': + _directory = await getApplicationDocumentsDirectory(); + break; + + case 'externalStorageDirectory': + _directory = await getExternalStorageDirectory(); + break; + } + } + + // Directory + folder name + final Directory _directoryFolder = + Directory('${_directory.path}/$folderName/'); + + if (await _directoryFolder.exists()) { + // If folder already exists return path + print('Exists'); + return _directoryFolder.path; + } else { + print('Creating'); + // If folder does not exists create folder and then return its path + final Directory _directoryNewFolder = + await _directoryFolder.create(recursive: true); + return _directoryNewFolder.path; + } + } + + /// Saves the trimmed video to file system. + /// + /// Returns the output video path + /// + /// The required parameters are [startValue] & [endValue]. + /// + /// The optional parameters are [videoFolderName], [videoFileName], + /// [outputFormat], [fpsGIF], [scaleGIF], [applyVideoEncoding]. + /// + /// The `@required` parameter [startValue] is for providing a starting point + /// to the trimmed video. To be specified in `milliseconds`. + /// + /// The `@required` parameter [endValue] is for providing an ending point + /// to the trimmed video. To be specified in `milliseconds`. + /// + /// The parameter [videoFolderName] is used to + /// pass a folder name which will be used for creating a new + /// folder in the selected directory. The default value for + /// it is `Trimmer`. + /// + /// The parameter [videoFileName] is used for giving + /// a new name to the trimmed video file. By default the + /// trimmed video is named as `_trimmed.mp4`. + /// + /// The parameter [outputFormat] is used for providing a + /// file format to the trimmed video. This only accepts value + /// of [FileFormat] type. By default it is set to `FileFormat.mp4`, + /// which is for `mp4` files. + /// + /// The parameter [storageDir] can be used for providing a storage + /// location option. It accepts only [StorageDir] values. By default + /// it is set to [applicationDocumentsDirectory]. Some of the + /// storage types are: + /// + /// * [temporaryDirectory] (Only accessible from inside the app, can be + /// cleared at anytime) + /// + /// * [applicationDocumentsDirectory] (Only accessible from inside the app) + /// + /// * [externalStorageDirectory] (Supports only `Android`, accessible externally) + /// + /// The parameters [fpsGIF] & [scaleGIF] are used only if the + /// selected output format is `FileFormat.gif`. + /// + /// * [fpsGIF] for providing a FPS value (by default it is set + /// to `10`) + /// + /// + /// * [scaleGIF] for proving a width to output GIF, the height + /// is selected by maintaining the aspect ratio automatically (by + /// default it is set to `480`) + /// + /// + /// * [applyVideoEncoding] for specifying whether to apply video + /// encoding (by default it is set to `false`). + /// + /// + /// ADVANCED OPTION: + /// + /// If you want to give custom `FFmpeg` command, then define + /// [ffmpegCommand] & [customVideoFormat] strings. The `input path`, + /// `output path`, `start` and `end` position is already define. + /// + /// NOTE: The advanced option does not provide any safety check, so if wrong + /// video format is passed in [customVideoFormat], then the app may + /// crash. + /// + Future saveTrimmedVideo({ + @required double startValue, + @required double endValue, + bool applyVideoEncoding = false, + FileFormat outputFormat, + String ffmpegCommand, + String customVideoFormat, + int fpsGIF, + int scaleGIF, + String videoFolderName, + String videoFileName, + StorageDir storageDir, + }) async { + final String _videoPath = currentVideoFile.path; + final String _videoName = basename(_videoPath).split('.')[0]; + + String _command; + + // Formatting Date and Time + String dateTime = DateFormat.yMMMd() + .addPattern('-') + .add_Hms() + .format(DateTime.now()) + .toString(); + + // String _resultString; + String _outputPath; + String _outputFormatString; + String formattedDateTime = dateTime.replaceAll(' ', ''); + + print("DateTime: $dateTime"); + print("Formatted: $formattedDateTime"); + + if (videoFolderName == null) { + videoFolderName = "Trimmer"; + } + + if (videoFileName == null) { + videoFileName = "${_videoName}_trimmed:$formattedDateTime"; + } + + videoFileName = videoFileName.replaceAll(' ', '_'); + + String path = await _createFolderInAppDocDir( + videoFolderName, + storageDir, + ).whenComplete( + () => print("Retrieved Trimmer folder"), + ); + + Duration startPoint = Duration(milliseconds: startValue.toInt()); + Duration endPoint = Duration(milliseconds: endValue.toInt()); + + // Checking the start and end point strings + print("Start: ${startPoint.toString()} & End: ${endPoint.toString()}"); + + print(path); + + if (outputFormat == null) { + if (Platform.isIOS) { + outputFormat = FileFormat.mp4; + } else { + outputFormat = FileFormat.mkv; + } + _outputFormatString = outputFormat.toString(); + print('OUTPUT: $_outputFormatString'); + } else { + _outputFormatString = outputFormat.toString(); + } + + String _trimLengthCommand = + ' -ss $startPoint -i "$_videoPath" -t ${endPoint - startPoint} -avoid_negative_ts make_zero '; + + if (ffmpegCommand == null) { + _command = '$_trimLengthCommand -c:a copy '; + + if (!applyVideoEncoding) { + _command += '-c:v copy '; + } + + if (outputFormat == FileFormat.gif) { + if (fpsGIF == null) { + fpsGIF = 10; + } + if (scaleGIF == null) { + scaleGIF = 480; + } + _command = + '$_trimLengthCommand -vf "fps=$fpsGIF,scale=$scaleGIF:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 '; + } + } else { + _command = '$_trimLengthCommand $ffmpegCommand '; + _outputFormatString = customVideoFormat; + } + + _outputPath = '$path$videoFileName$_outputFormatString'; + + _command += '"$_outputPath"'; + print(_command); + await _flutterFFmpeg.execute(_command).whenComplete(() { + print('Got value'); + debugPrint('Video successfuly saved'); + // _resultString = 'Video successfuly saved'; + }).catchError((error) { + print('Error'); + // _resultString = 'Couldn\'t save the video'; + debugPrint('Couldn\'t save the video'); + }); + + return _outputPath; + } + + /// For getting the video controller state, to know whether the + /// video is playing or paused currently. + /// + /// The two required parameters are [startValue] & [endValue] + /// + /// * [startValue] is the current starting point of the video. + /// * [endValue] is the current ending point of the video. + /// + /// Returns a `Future`, if `true` then video is playing + /// otherwise paused. + Future videPlaybackControl({ + @required double startValue, + @required double endValue, + }) async { + if (videoPlayerController.value.isPlaying) { + await videoPlayerController.pause(); + return false; + } else { + if (videoPlayerController.value.position.inMilliseconds >= + endValue.toInt()) { + await videoPlayerController + .seekTo(Duration(milliseconds: startValue.toInt())); + await videoPlayerController.play(); + return true; + } else { + await videoPlayerController.play(); + return true; + } + } + } + + File getVideoFile() { + return currentVideoFile; + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/Error.dart b/lib/Pages/Sub_Pages/@Generic/Error.dart new file mode 100644 index 0000000..b9c584e --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/Error.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; + +class ErrorPage extends StatefulWidget { + final String error; + + const ErrorPage({Key key, this.error}) : super(key: key); + @override + _ErrorPageState createState() => _ErrorPageState(); +} + +class _ErrorPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Text( + widget.error, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/ErrorRedeem.dart b/lib/Pages/Sub_Pages/@Generic/ErrorRedeem.dart new file mode 100644 index 0000000..8a5ff55 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/ErrorRedeem.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/util/consts.dart'; + +class ErrorRedeem extends StatefulWidget { + @override + _ErrorRedeemState createState() => _ErrorRedeemState(); +} + +class _ErrorRedeemState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Container( + width: 300, + height: 200, + child: Column( + children: [ + Container( + child: Icon( + Icons.error, + color: Colors.red, + ), + ), + Container( + child: Text( + "An error occurred while trying to redeem coupon please try again !!!"), + ), + SizedBox( + height: 30, + ), + Container( + width: double.infinity, + child: Align( + alignment: Alignment.center, + child: Container( + width: 100, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () => Navigator.pop(context), + child: Text("Try again"), + ), + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/ProductImage.dart b/lib/Pages/Sub_Pages/@Generic/ProductImage.dart new file mode 100644 index 0000000..12ed3f8 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/ProductImage.dart @@ -0,0 +1,85 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +class ProductImage extends StatefulWidget { + final productTag; + final productImageSRC; + const ProductImage( + {Key key, @required this.productTag, @required this.productImageSRC}) + : super(key: key); + + @override + _ProductImageState createState() => _ProductImageState(); +} + +class _ProductImageState extends State { + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: Stack( + children: [ + Container( + margin: EdgeInsets.symmetric( + vertical: SizeConfig.safeBlockHorizontal * 8), + child: new IconButton( + onPressed: () { + Navigator.of(context).pop(); + }, + icon: Container( + width: 35, + height: 35, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: new Icon( + Icons.arrow_back, + color: Colors.white, + size: 20.0, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: GestureDetector( + onTap: () { + Navigator.pop(context); + }, + onVerticalDragUpdate: (details) { + int sensitivity = 8; + if (details.delta.dy < -sensitivity) { + Navigator.pop(context); + } + }, + child: Center( + child: Hero( + tag: widget.productTag, + child: CachedNetworkImage( + imageUrl: tesoProductThumbnail( + productLogo: widget.productImageSRC), + imageBuilder: (context, imageProvider) => Image( + fit: BoxFit.fill, + image: imageProvider, + ), + placeholder: (context, url) => Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart b/lib/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart new file mode 100644 index 0000000..964007b --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart @@ -0,0 +1,49 @@ +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:flutter/material.dart'; + +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/providers/user_provider.dart'; + +class RedeemingCoupon extends StatefulWidget { + final CouponDetails couponDetails; + + const RedeemingCoupon({Key key, @required this.couponDetails}) + : super(key: key); + @override + _RedeemingCouponState createState() => _RedeemingCouponState(); +} + +class _RedeemingCouponState extends State { + @override + void initState() { + super.initState(); + Provider.of(context, listen: false) + .redeemCoupon(widget.couponDetails, context); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Container( + width: 200, + height: 200, + child: Column( + children: [ + Container( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + Container( + child: Text("Please wait, redeeming coupon!!"), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/SuccessRedeem.dart b/lib/Pages/Sub_Pages/@Generic/SuccessRedeem.dart new file mode 100644 index 0000000..0546a47 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/SuccessRedeem.dart @@ -0,0 +1,376 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; + +import 'package:jiffy/jiffy.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/util/consts.dart'; + +class SuccessfullyRedeemed extends StatefulWidget { + final CouponDetails couponDetails; + final int returns; + + const SuccessfullyRedeemed({ + Key key, + @required this.couponDetails, + this.returns, + }) : super(key: key); + @override + _SuccessfullyRedeemedState createState() => _SuccessfullyRedeemedState(); +} + +class _SuccessfullyRedeemedState extends State { + var timestamp; + @override + void initState() { + super.initState(); + timestamp = Jiffy(DateTime.now().toString()).yMMMMEEEEdjm; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: ListView( + scrollDirection: Axis.vertical, + children: [ + Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only( + top: 20, + ), + height: 200, + child: Center( + child: Container( + width: 200, + height: 200, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: CachedNetworkImage( + imageUrl: widget.couponDetails.targetProduct != null + ? productURL + + widget.couponDetails.targetProduct.productImage + : "", + imageBuilder: (context, imageProvider) => Image( + width: MediaQuery.of(context).size.width * 0.28, + height: 110, + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Product ID : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: widget.couponDetails.targetProduct.productID), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Product Name : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: widget.couponDetails.targetProduct.productName), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Shop Name : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: widget.couponDetails.issuer.businessName), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Coupon ID : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan(text: widget.couponDetails.couponId), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Timestamp : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan(text: timestamp), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Product Cost : GH¢ ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: (widget.couponDetails.productCost) + .toStringAsFixed(2)), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Discount : GH¢ ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: ((widget.couponDetails.productCost * + (widget.couponDetails.worth / 100))) + .toStringAsFixed(2), + style: new TextStyle( + color: Colors.green, + )), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Coin Refund : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan(text: widget.returns.toString()), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Amount Due : GH¢ ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: (widget.couponDetails.productCost - + (widget.couponDetails.productCost * + (widget.couponDetails.worth / 100))) + .toStringAsFixed(2), + style: new TextStyle( + color: Colors.red, + )), + ], + ), + ), + ), + ), + Container( + child: Icon( + Icons.check_circle, + color: Colors.green, + size: 30, + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "verified", + style: TextStyle( + color: Colors.green, + ), + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + width: double.infinity, + child: Align( + alignment: Alignment.center, + child: Container( + width: 100, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () => Navigator.pop(context), + child: Text("Close"), + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/productDetails.dart b/lib/Pages/Sub_Pages/@Generic/productDetails.dart new file mode 100644 index 0000000..02fd7a3 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/productDetails.dart @@ -0,0 +1,384 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/util/SizeConfig.dart'; + +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/Pages/Sub_Pages/ProductDetails/CouponList.dart'; +import 'dart:convert'; + +import 'ProductImage.dart'; + +class ProductDetails extends StatefulWidget { + final Product product; + + const ProductDetails({Key key, this.product}) : super(key: key); + @override + _ProductDetailsState createState() => _ProductDetailsState(); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _ProductDetailsState extends State + with TickerProviderStateMixin { + AnimationController _containerController; + Animation width; + Animation heigth; + double _appBarHeight = 256.0; + AppBarBehavior _appBarBehavior = AppBarBehavior.pinned; + List coupons; + int number = 0; + var _future; + + Future> getProductCoupons() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + var register2 = serverLocation + 'coupons/productCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(widget.product.productID), headers: requestHeaders); + + if (client1.statusCode == 200) { + try { + var details = jsonDecode(client1.body); + coupons = List.from( + details.map((model) => CouponDetails.fromJSON(model)).toList()); + setState(() { + number = coupons.length; + }); + return coupons; + } catch (e) { + print(e); + return null; + } + } else { + return null; + } + } + + @override + void initState() { + _future = getProductCoupons(); + _containerController = new AnimationController( + duration: new Duration(milliseconds: 2000), vsync: this); + super.initState(); + width = new Tween( + begin: 200.0, + end: 220.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth = new Tween( + begin: 400.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth.addListener(() { + setState(() { + if (heigth.isCompleted) {} + }); + }); + _containerController.forward(); + } + + @override + void dispose() { + _containerController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return new Theme( + data: new ThemeData( + brightness: Brightness.light, + platform: Theme.of(context).platform, + ), + child: new Container( + width: width.value, + height: heigth.value, + child: new Card( + color: Colors.transparent, + child: new Container( + alignment: Alignment.center, + width: width.value, + height: heigth.value, + decoration: new BoxDecoration( + color: Colors.white, + borderRadius: new BorderRadius.circular(10.0), + ), + child: new Stack( + alignment: AlignmentDirectional.bottomCenter, + children: [ + new CustomScrollView( + shrinkWrap: false, + slivers: [ + new SliverAppBar( + elevation: 0.0, + forceElevated: true, + leading: new IconButton( + onPressed: () { + Navigator.of(context).pop(); + }, + icon: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: new Icon( + Icons.arrow_back, + color: Colors.white, + size: 25.0, + ), + ), + ), + expandedHeight: _appBarHeight, + pinned: _appBarBehavior == AppBarBehavior.pinned, + floating: _appBarBehavior == AppBarBehavior.floating || + _appBarBehavior == AppBarBehavior.snapping, + snap: _appBarBehavior == AppBarBehavior.snapping, + backgroundColor: Theme.of(context).backgroundColor, + flexibleSpace: new FlexibleSpaceBar( + background: new Stack( + fit: StackFit.expand, + children: [ + GestureDetector( + onTap: () { + Navigator.push(context, + MaterialPageRoute(builder: (context) { + return ProductImage( + productTag: widget.product.productID, + productImageSRC: + widget.product.productImage, + ); + })); + }, + child: new Container( + width: width.value, + height: _appBarHeight, + child: Hero( + tag: widget.product.productID, + child: CachedNetworkImage( + imageUrl: tesoProductThumbnail( + productLogo: widget.product.productImage, + width: 640, + height: 640, + ), + placeholder: (context, url) => Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 10, + ), + ), + imageBuilder: (context, imageProvider) => + Image( + fit: BoxFit.contain, + image: imageProvider, + ), + ), + ), + ), + ), + ], + ), + ), + ), + new SliverList( + delegate: new SliverChildListDelegate([ + new Container( + color: Colors.white, + child: new Padding( + padding: const EdgeInsets.all(35.0), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + new Container( + padding: new EdgeInsets.only(bottom: 20.0), + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.white, + border: new Border( + bottom: new BorderSide( + color: Colors.black12))), + child: new Wrap( + children: [ + new Center( + child: new Text( + widget.product.productName + .toUpperCase(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: SizeConfig + .blockSizeHorizontal * + 4.0, + ), + ), + ), + new Row( + children: [ + new Icon(Icons.shopping_bag), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text( + "Price : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text("GH¢ " + + widget.product.unitPrice + .toString()), + ) + ], + ), + new Row( + children: [ + new Icon( + Icons.shopping_basket, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text( + "Coupons Available : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: + new Text(number.toString()), + ) + ], + ), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: new Row( + children: [ + new Icon( + Icons.store, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text( + "Shop Name : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text(widget.product + .businessID != + null + ? widget.product.businessID + .toUpperCase() + : ""), + ) + ], + ), + ), + ], + ), + ), + new Padding( + padding: const EdgeInsets.only( + top: 16.0, bottom: 8.0), + child: new Text( + "Product Description", + style: new TextStyle( + fontWeight: FontWeight.bold), + ), + ), + new Text( + widget.product.productDesc != null + ? widget.product.productDesc + : "", + style: TextStyle( + fontSize: + SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + SizedBox( + height: 50, + ), + ], + ), + ), + ), + ), + ]), + ), + ], + ), + FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (coupons == null || number == 0) { + return Container(); + } else { + return Container( + height: 100.0, + padding: EdgeInsets.all(20), + child: new TextButton( + onPressed: () => Navigator.of(context).push( + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => CouponList( + couponsList: coupons, + ), + ), + ), + child: new Container( + height: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: tesoGold, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "View Coupons", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ); + } + }), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/prominentDisclosure.dart b/lib/Pages/Sub_Pages/@Generic/prominentDisclosure.dart new file mode 100644 index 0000000..9558af6 --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/prominentDisclosure.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; + +class ProminentDisclosure extends StatefulWidget { + const ProminentDisclosure({Key key}) : super(key: key); + + @override + _ProminentDisclosureState createState() => _ProminentDisclosureState(); +} + +class _ProminentDisclosureState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + margin: EdgeInsets.only(top: 40), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + alignment: Alignment.center, + child: Column( + children: [ + Icon( + Icons.location_on_sharp, + color: Colors.blue, + size: 50, + ), + SizedBox( + height: 10, + ), + Text( + "Use your location", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4, + fontWeight: FontWeight.w800, + ), + ), + Container( + padding: EdgeInsets.all( + SizeConfig.blockSizeHorizontal * 3, + ), + child: Text( + "Turn on location and give Teso App access to help you find shops on the map", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w400, + ), + ), + ), + Container( + width: SizeConfig.blockSizeHorizontal * 50, + height: SizeConfig.blockSizeHorizontal * 70, + child: Image( + image: AssetImage("assets/images/prominent-disclosure.jpg"), + ), + ), + ], + ), + ), + bottomNavigationBar: Padding( + padding: EdgeInsets.all( + SizeConfig.blockSizeHorizontal * 4, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + TextButton( + onPressed: () => Navigator.pop(context, false), + child: Text( + "No Thanks", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4.2, + fontWeight: FontWeight.w800, + ), + ), + ), + TextButton( + onPressed: () => Navigator.pop(context, true), + child: Text( + "Turn on", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4.2, + fontWeight: FontWeight.w800, + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/@Generic/prominentDisclosureBackground.dart b/lib/Pages/Sub_Pages/@Generic/prominentDisclosureBackground.dart new file mode 100644 index 0000000..d4adbad --- /dev/null +++ b/lib/Pages/Sub_Pages/@Generic/prominentDisclosureBackground.dart @@ -0,0 +1,105 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; + +class ProminentDisclosure extends StatefulWidget { + const ProminentDisclosure({Key key}) : super(key: key); + + @override + _ProminentDisclosureState createState() => _ProminentDisclosureState(); +} + +class _ProminentDisclosureState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + margin: EdgeInsets.only(top: 40), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + alignment: Alignment.center, + child: Column( + children: [ + Icon( + Icons.location_on_sharp, + color: Colors.blue, + size: 50, + ), + SizedBox( + height: 10, + ), + Text( + "Use your location", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4, + fontWeight: FontWeight.w800, + ), + ), + Container( + padding: EdgeInsets.all( + SizeConfig.blockSizeHorizontal * 3, + ), + child: Text( + "To get proximity coupons from shops, allow Teso App to access your location all the time ", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w400, + ), + ), + ), + Container( + padding: EdgeInsets.all( + SizeConfig.blockSizeHorizontal * 3, + ), + child: Text( + "Teso App collects location data to enable Proximity Coupons feature to get you available coupons in your area even when the app is closed or not in use.”", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w400, + ), + ), + ), + Container( + width: SizeConfig.blockSizeHorizontal * 50, + height: SizeConfig.blockSizeHorizontal * 70, + child: Image( + image: AssetImage("assets/images/prominent-disclosure.jpg"), + ), + ), + ], + ), + ), + bottomNavigationBar: Padding( + padding: EdgeInsets.all( + SizeConfig.blockSizeHorizontal * 4, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + TextButton( + onPressed: () => Navigator.pop(context, false), + child: Text( + "No Thanks", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4.2, + fontWeight: FontWeight.w800, + ), + ), + ), + TextButton( + onPressed: () => Navigator.pop(context, true), + child: Text( + "Turn on", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4.2, + fontWeight: FontWeight.w800, + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/AccountSettings/BlockedUser.dart b/lib/Pages/Sub_Pages/AccountSettings/BlockedUser.dart new file mode 100644 index 0000000..c2a31e3 --- /dev/null +++ b/lib/Pages/Sub_Pages/AccountSettings/BlockedUser.dart @@ -0,0 +1,172 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:pull_to_refresh/pull_to_refresh.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/Pages/PageWidgets/Friends/friendTile.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +class BlockAccounts extends StatefulWidget { + const BlockAccounts({Key key}) : super(key: key); + + @override + _BlockAccountsState createState() => _BlockAccountsState(); +} + +class _BlockAccountsState extends State { + RefreshController _refreshController = + RefreshController(initialRefresh: false); + void _onRefresh() async { + try { + await Provider.of(context, listen: false) + .checkBlockedUsers(); + } catch (e) { + print(e); + } + _refreshController.refreshCompleted(); + } + + @override + void dispose() { + _refreshController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Theme.of(context).backgroundColor, + elevation: 5, + centerTitle: true, + title: Text( + "Blocked Users", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + color: Colors.red[800], + ), + ), + ), + body: Consumer( + builder: (context, value, child) { + if (value.blockUserList == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else { + return SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: ListView.builder( + itemCount: value.blockUserList.length, + itemBuilder: (context, int index) { + return InkWell( + onTap: () => reportDialog( + context, + value.blockUserList.elementAt(index), + ), + child: Column( + children: [ + buildFriend( + context, + value.blockUserList.elementAt(index), + ), + Padding( + padding: EdgeInsets.symmetric(horizontal: 25), + child: Divider(), + ), + ], + ), + ); + }, + ), + ); + } + }, + ), + ); + } + + void reportDialog(BuildContext context, TesoUser user) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Container( + height: MediaQuery.of(context).size.height * 0.3, + child: Column( + children: [ + Container( + margin: EdgeInsets.only( + top: 15, + ), + child: Center( + child: Text( + "Unblock ${user.username}?", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: 15, + vertical: 15, + ), + child: Center( + child: Text( + "${user.username} will now be able to request to follow and message you Instagram. " + "They won't be notified that you unblocked them.", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w400, + ), + ), + ), + ), + Divider(), + Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width - 40, + height: 40, + child: RaisedGradientButton( + child: Text( + "Unblock", + style: TextStyle(color: Colors.white, fontSize: 18), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + tesoBlue, + Colors.blueAccent, + ], + ), + onPressed: () { + Provider.of(context, listen: false) + .unblockUser(user); + Navigator.pop(context); + }, + width: MediaQuery.of(context).size.width - 40, + height: 40, + ), + ) + ], + ), + ); + }, + ); + } +} diff --git a/lib/Pages/Sub_Pages/AccountSettings/changePassword.dart b/lib/Pages/Sub_Pages/AccountSettings/changePassword.dart new file mode 100644 index 0000000..7d21c94 --- /dev/null +++ b/lib/Pages/Sub_Pages/AccountSettings/changePassword.dart @@ -0,0 +1,200 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/Pages/PageWidgets/Login/passwordAlter.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/ResetPassword.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'newPassword.dart'; +import 'dart:convert'; + +class ChangePassword extends StatefulWidget { + @override + _ChangePasswordState createState() => _ChangePasswordState(); +} + +class _ChangePasswordState extends State { + TextEditingController oldPassword = new TextEditingController(); + bool verifyiing = false; + bool incorrentpassword = false; + + verify(context) async { + setState(() { + verifyiing = true; + incorrentpassword = false; + }); + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'users/verifypassword'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(oldPassword.text), headers: requestHeaders); + + if (client1.statusCode == 200) { + setState(() { + verifyiing = false; + }); + + switch (client1.body) { + case "matched": + Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: CreateNewPassword(), + ), + ); + break; + case "mismatched": + setState(() { + incorrentpassword = true; + }); + break; + default: + tesoDialog(context, client1.body); + break; + } + } else { + error(context); + } + } + + void error(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + actions: [ + TextButton( + child: Text('OK'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Sorry an error occurred please try again!", + style: TextStyle(color: Colors.redAccent[100]), + ), + ); + }); + } + + void tesoDialog(context, value) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + actions: [ + TextButton( + child: Text('OK'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Sorry you cannot change for password since you are logged in with your " + + value + + " account, please change your password on the " + + value + + " platform", + style: TextStyle(color: Colors.redAccent[100]), + ), + ); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Change Password"), + leading: IconButton( + icon: Icon(Icons.close), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + actions: [ + new Container( + margin: EdgeInsets.symmetric(vertical: 0.0, horizontal: 20), + child: new Center( + child: IconButton( + color: Theme.of(context).colorScheme.secondary, + icon: Icon(Icons.check), + onPressed: () => verify(context), + ), + ), + ) + ], + ), + body: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Column( + children: [ + SizedBox( + height: 10.0, + ), + Center( + child: changePassword(context, "Current Password", oldPassword), + ), + Visibility( + visible: incorrentpassword, + child: Container( + padding: EdgeInsets.symmetric(horizontal: 20, vertical: 20), + alignment: Alignment.centerLeft, + child: Text( + 'The password you entered does not match your current password, if you forgot your current password click on forgot password to continue!!', + style: TextStyle( + color: Colors.red, + // fontWeight: FontWeight.bold, + fontFamily: 'OpenSans', + fontSize: 14, + ), + ), + ), + ), + Container( + alignment: Alignment.centerLeft, + child: TextButton( + onPressed: () => showDialog( + context: context, + builder: (BuildContext context) => ResetPassword(), + ), + //padding: EdgeInsets.only(left: 20.0), + child: Text( + 'Forgot Password?', + style: TextStyle( + color: Colors.black87, + // fontWeight: FontWeight.bold, + fontFamily: 'OpenSans', + fontSize: 14, + ), + ), + ), + ), + Visibility( + visible: verifyiing, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/AccountSettings/genderPicker.dart b/lib/Pages/Sub_Pages/AccountSettings/genderPicker.dart new file mode 100644 index 0000000..b643ac7 --- /dev/null +++ b/lib/Pages/Sub_Pages/AccountSettings/genderPicker.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; + +class Gender extends StatefulWidget { + final int value; + + const Gender({Key key, this.value}) : super(key: key); + @override + _GenderState createState() => _GenderState(value: this.value); +} + +class _GenderState extends State { + int value; + _GenderState({this.value}); + List genders = ["Male", "Female", "Other"]; + bool light = true; + + @override + void initState() { + SharedPreferences.getInstance().then((prefs) { + setState(() { + light = prefs.getString("theme") == "dark" ? false : true; + }); + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Gender"), + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + actions: [ + new Container( + margin: EdgeInsets.symmetric(vertical: 0.0, horizontal: 20), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () { + Provider.of(context, listen: false) + .currentUser + .gender = genders[value]; + Navigator.of(context).pop(value); + }, + child: Text("Done"), + ), + ), + ) + ], + ), + body: Container( + child: Column( + children: [ + for (int i = 0; i < genders.length; i++) + Column( + children: [ + ListTile( + title: Text( + genders[i], + style: Theme.of(context).textTheme.subtitle1.copyWith( + color: light + ? i == 3 + ? Colors.black38 + : Colors.black + : i == 3 + ? Colors.white10 + : Colors.white, + ), + ), + trailing: Radio( + value: i, + groupValue: value, + activeColor: accentMain, + onChanged: i == 3 + ? null + : (int _value) { + setState(() { + value = _value; + }); + }, + ), + ), + Divider(), + ], + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/AccountSettings/newPassword.dart b/lib/Pages/Sub_Pages/AccountSettings/newPassword.dart new file mode 100644 index 0000000..f814091 --- /dev/null +++ b/lib/Pages/Sub_Pages/AccountSettings/newPassword.dart @@ -0,0 +1,410 @@ +import 'package:http/http.dart' as http; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Login/passwordSignUP.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; +import 'package:teso/Pages/PageWidgets/Login/validation.dart'; +import 'dart:convert'; +import 'dart:ui'; + +class CreateNewPassword extends StatefulWidget { + @override + _CreateNewPasswordState createState() => _CreateNewPasswordState(); +} + +class _CreateNewPasswordState extends State + with TickerProviderStateMixin { + TextEditingController password = new TextEditingController(); + AnimationController _controller; + Animation _fabScale; + bool eightChars = false; + bool specialChar = false; + bool upperCaseChar = false; + bool lowerCaseChar = false; + bool number = false; + bool changing = false; + + @override + void dispose() { + super.dispose(); + } + + changePassword(context) async { + setState(() { + changing = true; + }); + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'users/changepassword'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(password.text), headers: requestHeaders); + + if (client1.statusCode == 200) { + await tesoSuccessDialog(context); + setState(() { + changing = false; + }); + Future.delayed(const Duration(seconds: 5), () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + }); + } else { + tesoErrorDialog(context); + } + } + + tesoSuccessDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Success", + style: TextStyle(color: Colors.green[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.green[400]), + ), + onPressed: () { + Navigator.of(context).pop(true); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Password changed successfully", + style: TextStyle(color: Colors.green[400]), + ), + ); + }); + } + + tesoErrorDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Error Occurred", + style: TextStyle(color: Colors.red[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.red[400]), + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "An error occurred while changing passwor, please try again!", + style: TextStyle(color: Colors.red[400]), + ), + ); + }); + } + + bool _allValid() { + return eightChars && + number && + specialChar && + upperCaseChar && + lowerCaseChar; + } + + @override + void initState() { + super.initState(); + password.addListener(() { + setState(() { + eightChars = password.text.length >= 8; + number = password.text.contains(RegExp(r'\d'), 0); + upperCaseChar = password.text.contains(new RegExp(r'[A-Z]'), 0); + lowerCaseChar = password.text.contains(new RegExp(r'[a-z]'), 0); + specialChar = password.text.isNotEmpty && + !password.text.contains(RegExp(r'^[\w&.-]+$'), 0); + }); + + if (_allValid()) { + _controller.forward(); + } else { + _controller.reverse(); + } + }); + _controller = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + + _fabScale = Tween(begin: 0, end: 1) + .animate(CurvedAnimation(parent: _controller, curve: Curves.bounceOut)); + + _fabScale.addListener(() { + setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text("Create new a password"), + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Enter a password with a minimum of 8 characters and the password must have at least an uppercase letter, a lowercase letter, " + + "a digit and a non-alphanumeric character", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.01), + child: _validationStack()), + SizedBox( + height: 50, + ), + createPassword(context, password), + SizedBox(height: MediaQuery.of(context).size.height * 0.002), + Visibility( + visible: !changing, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () async { + if (_allValid()) { + await changePassword(context); + } + }, + child: Center( + child: Text( + "Change Password", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ), + Visibility( + visible: changing, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _separator() { + return Container( + height: 1, + decoration: BoxDecoration(color: Colors.blue.withAlpha(100)), + ); + } + + Stack _validationStack() { + return Stack( + alignment: Alignment.bottomLeft, + children: [ + Card( + shape: CircleBorder(), + color: Colors.black12, + child: Container( + height: 150, + width: 150, + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 32.0, left: 10), + child: Transform.rotate( + angle: -math.pi / 20, + child: Icon( + Icons.lock, + color: Colors.pink, + size: 60, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, right: 60), + child: Transform.rotate( + angle: -math.pi / -60, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + elevation: 4, + color: Colors.yellow.shade800, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(8, 8, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 8), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + ], + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 74), + child: Transform.rotate( + angle: math.pi / -45, + child: Card( + elevation: 6, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + ValidationItem("8 or more Characters", eightChars), + _separator(), + ValidationItem("1 Special character", specialChar), + _separator(), + ValidationItem("1 Upper case", upperCaseChar), + _separator(), + ValidationItem("1 Lower case", lowerCaseChar), + _separator(), + ValidationItem("1 Number", number) + ], + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Transform.scale( + scale: _fabScale.value, + child: Card( + shape: CircleBorder(), + color: Colors.green, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + Icons.check, + color: Colors.white, + ), + ), + ), + ), + ) + ], + ), + ), + ), + ) + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/Business/BusinessProducts.dart b/lib/Pages/Sub_Pages/Business/BusinessProducts.dart new file mode 100644 index 0000000..f6a496b --- /dev/null +++ b/lib/Pages/Sub_Pages/Business/BusinessProducts.dart @@ -0,0 +1,85 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/Pages/PageWidgets/BusinessProfile/BusinessItems.dart'; + +class BusinessProducts extends StatefulWidget { + final String shopName; + final List product; + const BusinessProducts({Key key, this.shopName, this.product}) + : super(key: key); + + @override + _BusinessProductsState createState() => + _BusinessProductsState(shopName: this.shopName, product: this.product); +} + +class _BusinessProductsState extends State { + final String shopName; + ScrollController _controller; + SharedPreferences prefs; + final List product; + List show = []; + _BusinessProductsState({this.shopName, this.product}); + int count; + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + Future fetchImages() async { + try { + count = show.length; + for (int i = 1; i <= 5; i++) { + setState(() { + show.add(product.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + fetchImages(); + + super.initState(); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Container( + child: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + show.elementAt(index).businessID = widget.shopName; + return index % 2 == 0 + ? buildItems(context, show.elementAt(index), 0.5) + : buildItems(context, show.elementAt(index), 0.35); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Business/BusinessProfile.dart b/lib/Pages/Sub_Pages/Business/BusinessProfile.dart new file mode 100644 index 0000000..68dd4e9 --- /dev/null +++ b/lib/Pages/Sub_Pages/Business/BusinessProfile.dart @@ -0,0 +1,260 @@ +import 'package:teso/Classes/API%20Clasess/BusinessProfile.dart'; +import 'package:teso/Classes/TesoShop.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/BusinessProfile/BusinessHead.dart'; +import 'package:teso/Pages/Sub_Pages/Business/BusinessProducts.dart'; +import 'package:flutter/material.dart'; + +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'dart:convert'; +import 'package:flutter/cupertino.dart'; + +class BusinessProfile extends StatefulWidget { + final TesoShop shop; + const BusinessProfile({Key key, this.shop}) : super(key: key); + @override + _BusinessProfileState createState() => new _BusinessProfileState(shop: shop); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _BusinessProfileState extends State + with TickerProviderStateMixin { + AnimationController _containerController; + Animation width; + Animation heigth; + final TesoShop shop; + _BusinessProfileState({this.shop}); + bool subscribed = false; + SharedPreferences prefs; + var stats; + int productTotal = 0; + int adsTotal = 0; + int couponsTotal = 0; + List products; + List coupons; + BusinessProfileClass profile; + List subscribers; + + List _randomChildren; + + Future subscribe() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'relationships/business-subscription'; + var client = await http.post(Uri.parse(register), + headers: requestHeaders, body: json.encode(shop.shopID)); + if (client.statusCode == 200) { + setState(() { + subscribed = true; + }); + } else { + return null; + } + } + + Future unsubscribe() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'relationships/business-unsubscribe'; + var client = await http.post(Uri.parse(register), + headers: requestHeaders, body: json.encode(shop.shopID)); + if (client.statusCode == 200) { + setState(() { + subscribed = false; + }); + } else { + return null; + } + } + + fetchProfile() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'tesobusiness/profile'; + var client = await http.post(Uri.parse(register), + headers: requestHeaders, body: json.encode(shop.shopID)); + if (client.statusCode == 200) { + var details = jsonDecode(client.body); + setState(() { + profile = BusinessProfileClass.fromJSON(details); + products = profile.products; + coupons = profile.coupons; + couponsTotal = coupons.length; + subscribed = profile.subscribed; + subscribers = profile.subscribers; + productTotal = products.length; + }); + } else { + return null; + } + } + + Future fetched() async { + try { + await fetchProfile(); + return true; + } catch (e) { + return false; + } + } + + @override + void initState() { + stats = fetched(); + _containerController = new AnimationController( + duration: new Duration(milliseconds: 2000), vsync: this); + super.initState(); + width = new Tween( + begin: 200.0, + end: 220.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth = new Tween( + begin: 400.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth.addListener(() { + setState(() { + if (heigth.isCompleted) {} + }); + }); + _containerController.forward(); + } + + @override + void dispose() { + _containerController.dispose(); + super.dispose(); + } + + List _randomHeightWidgets(BuildContext context) { + _randomChildren ??= List.generate(1, (index) { + return buildHead( + context: context, + shopSelected: shop, + subscribers: subscribers.length, + coupons: couponsTotal, + products: productTotal); + }); + return _randomChildren; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Colors.transparent, + toolbarHeight: 50, + automaticallyImplyLeading: false, + title: Text(shop.shopName.toUpperCase()), + leadingWidth: 40, + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () => Navigator.pop(context), + ), + actions: [ + FutureBuilder( + future: stats, + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Container(); + } else if (snapshot.data == null && + snapshot.connectionState == ConnectionState.done) { + return IconButton( + icon: Icon( + Icons.notifications_off, + ), + onPressed: null, + ); + } else { + return IconButton( + icon: Icon( + subscribed + ? Icons.notifications_active + : Icons.notifications_none, + ), + onPressed: () async { + if (subscribed) { + await unsubscribe(); + } else { + await subscribe(); + } + }, + ); + } + }, + ), + ], + ), + body: FutureBuilder( + future: stats, + builder: (context, snapshot) { + if (snapshot.data == null) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else { + return DefaultTabController( + length: 1, + child: NestedScrollView( + headerSliverBuilder: (context, _) { + return [ + SliverList( + delegate: SliverChildListDelegate( + _randomHeightWidgets(context), + ), + ), + ]; + }, + body: TabBarView( + children: [ + BusinessProducts( + shopName: shop.shopName, + product: products, + ), + // BusinessPosts(), + ], + ), + ), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Business/Posts.dart b/lib/Pages/Sub_Pages/Business/Posts.dart new file mode 100644 index 0000000..fa3b5d7 --- /dev/null +++ b/lib/Pages/Sub_Pages/Business/Posts.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; + +class BusinessPosts extends StatefulWidget { + @override + _BusinessPostsState createState() => _BusinessPostsState(); +} + +class _BusinessPostsState extends State { + @override + Widget build(BuildContext context) { + return Container( + child: Center( + child: Text("fgfgfghjfhgfjhgfjjjjjjgfgh"), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/BusinessDetails.dart b/lib/Pages/Sub_Pages/BusinessDetails.dart new file mode 100644 index 0000000..2f0abd4 --- /dev/null +++ b/lib/Pages/Sub_Pages/BusinessDetails.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoShop.dart'; + +import 'package:url_launcher/url_launcher.dart'; +import 'package:page_transition/page_transition.dart'; +import 'Business/BusinessProfile.dart'; + +buildShopDetails(BuildContext context, TesoShop shop, Function navigate) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.width, + padding: EdgeInsets.all(20), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.symmetric(vertical: 2), + child: Text( + shop.shopName, + style: TextStyle( + fontSize: 25.0, + fontWeight: FontWeight.w900, + ), + )), + Container( + width: double.infinity, + child: new Text( + shop.categoryShop, + ), + ), + Container( + width: double.infinity, + child: new Text( + shop.shopAddress, + ), + ), + new InkWell( + onTap: () async { + if (await canLaunch("tel:" + shop.shopPhone)) { + await launch("tel:" + shop.shopPhone); + } else { + throw 'call not possible'; + } + }, + child: Container( + width: double.infinity, + padding: EdgeInsets.all(5), + child: Center( + child: new Wrap( + children: [ + Container( + child: Icon( + Icons.call, + color: Colors.blue, + ), + ), + Container( + child: Text( + shop.shopPhone, + style: TextStyle( + color: Colors.blue, + ), + ), + ), + ], + ), + ), + ), + ), + Container( + height: 50, + width: double.infinity, + padding: EdgeInsets.symmetric(horizontal: 10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: Theme.of(context).backgroundColor, + borderRadius: BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + )), + child: InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: BusinessProfile( + shop: shop, + ), + type: PageTransitionType.bottomToTop), + ), + child: Container( + child: ListTile( + leading: Icon( + Icons.shop, + size: 19, + ), + title: Text( + "View Business Profile", + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontSize: 15), + ), + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 05.0), + child: Divider(), + ), + Container( + width: double.infinity, + child: new Text( + shop.shopDescription != null + ? shop.shopDescription.toLowerCase() != "null" + ? shop.shopDescription + : "Registered Teso Business" + : "Registered Teso Business", + ), + ), + SizedBox( + height: 15, + ), + new Container( + width: MediaQuery.of(context).size.width, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () async { + Navigator.pop(context); + await navigate(shop); + }, + child: Text( + "Navigate to " + shop.shopName, + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); +} diff --git a/lib/Pages/Sub_Pages/Campaign/AuditionPage.dart b/lib/Pages/Sub_Pages/Campaign/AuditionPage.dart new file mode 100644 index 0000000..7e4ce07 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/AuditionPage.dart @@ -0,0 +1,153 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API%20Clasess/Campaign.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/RecordVideo.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; + +class Audition extends StatefulWidget { + final Campaign campaign; + + const Audition({Key key, this.campaign}) : super(key: key); + @override + _AuditionState createState() => _AuditionState(); +} + +class _AuditionState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text( + widget.campaign.title, + ), + centerTitle: true, + ), + body: Padding( + padding: const EdgeInsets.all(8.0), + child: ListView( + scrollDirection: Axis.vertical, + children: [ + Container( + width: MediaQuery.of(context).size.width, + height: 150, + child: Center( + child: Container( + width: 150, + height: 150, + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, + width: 0.5, + ), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Image( + width: MediaQuery.of(context).size.width * 0.28, + height: 110, + fit: BoxFit.fill, + image: NetworkImage(widget.campaign.targetProduct != null + ? productURL + widget.campaign.targetProduct + : ""), + ), + ), + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Publisher : ", + style: new TextStyle( + fontWeight: FontWeight.bold, + ), + ), + new TextSpan( + text: widget.campaign.businessID, + ), + ], + ), + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Description", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16.5, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text(widget.campaign.description), + ), + ), + SizedBox( + height: 30, + ), + Container( + width: double.infinity, + child: Align( + alignment: Alignment.center, + child: Container( + width: 100, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + primary: accentMain, + ), + onPressed: () => Navigator.pushReplacement( + context, + PageTransition( + child: RecordVideo( + campaignID: widget.campaign.campaignID, + ), + type: PageTransitionType.fade, + ), + ), + child: Text("Submit Ad"), + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/CreatePost.dart b/lib/Pages/Sub_Pages/Campaign/CreatePost.dart new file mode 100644 index 0000000..dc2754c --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/CreatePost.dart @@ -0,0 +1,200 @@ +import 'dart:convert'; +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class CreateCampaignPost extends StatefulWidget { + final String video; + final Uint8List thumbnail; + final String campaignID; + final String aspectRatio; + + const CreateCampaignPost({ + Key key, + this.video, + this.thumbnail, + this.campaignID, + this.aspectRatio, + }) : super(key: key); + @override + _CreateCampaignPostState createState() => _CreateCampaignPostState(); +} + +class _CreateCampaignPostState extends State { + String aspectRatio; + TextEditingController controller; + SharedPreferences prefs; + bool sending = false; + + void postVideo(context) async { + setState(() { + sending = true; + }); + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = {'Authorization': token}; + String urlLocation = tesoStreaming + "api/mobile/upload/authurl"; + var client = + await http.get(Uri.parse(urlLocation), headers: requestHeaders); + if (client.statusCode == 200) { + var details = jsonDecode(client.body); + String muxuploadsID = details["data"]["id"]; + String muxuploadsURL = details["data"]["url"]; + + Provider.of(context, listen: false).uploadPost(Uploading( + id: DateTime.now().toString() + + widget.video.replaceAll("file://", ""), + aspect: widget.aspectRatio, + path: widget.video.replaceAll("file://", ""), + thumbnail: + widget.thumbnail != null ? base64Encode(widget.thumbnail) : null, + title: controller.text, + pending: 0, + campaignID: widget.campaignID, + muxuploadID: muxuploadsID, + muxuploadURL: muxuploadsURL, + )); + Navigator.pop(context); + } + } catch (e) { + print(e); + } + setState(() { + sending = false; + }); + } + + @override + void initState() { + super.initState(); + controller = new TextEditingController(); + } + + @override + void dispose() { + super.dispose(); + controller.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: AppBar( + automaticallyImplyLeading: true, + title: Text("Post"), + centerTitle: true, + ), + preferredSize: Size.fromHeight(70.0), + ), + body: SingleChildScrollView( + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.all(MediaQuery.of(context).size.width * 0.025), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.25, + height: MediaQuery.of(context).size.width * 0.35, + color: Colors.black, + child: widget.thumbnail != null + ? Image.memory(widget.thumbnail) + : CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + Container( + width: (MediaQuery.of(context).size.width) - + (MediaQuery.of(context).size.width * 0.35), + height: MediaQuery.of(context).size.width * 0.35, + child: TextField( + decoration: InputDecoration( + border: OutlineInputBorder( + borderSide: BorderSide.none, + ), + filled: true, + isDense: true, + labelText: "Say Something..", + labelStyle: TextStyle( + color: Colors.black54, + ), + fillColor: Colors.white70, + ), + controller: controller, + maxLines: null, + keyboardType: TextInputType.text, + textInputAction: TextInputAction.done, + ), + ), + ], + ), + ), + SizedBox( + height: 20, + ), + Divider(), + Container( + margin: EdgeInsets.only( + top: 10, + ), + child: Text( + "Teso businesses and other Teso users can see your post in their feeds and on your profile.", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ], + ), + ), + ), + floatingActionButton: !sending + ? Container( + margin: EdgeInsets.all(20), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15.0), + color: tesoBlue, + ), + child: InkWell( + onTap: () => postVideo(context), + child: Center( + child: Text( + "NEXT", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + height: 50, + ) + : Container( + width: MediaQuery.of(context).size.width, + height: 50, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/SubmitAdvert.dart b/lib/Pages/Sub_Pages/Campaign/SubmitAdvert.dart new file mode 100644 index 0000000..1ef9780 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/SubmitAdvert.dart @@ -0,0 +1,195 @@ +import 'dart:convert'; +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class SubmitAdvert extends StatefulWidget { + final String video; + final String aspectRatio; + final Uint8List thumbnail; + final String campaignID; + + const SubmitAdvert( + {Key key, this.video, this.aspectRatio, this.thumbnail, this.campaignID}) + : super(key: key); + @override + _SubmitAdvertState createState() => _SubmitAdvertState(); +} + +class _SubmitAdvertState extends State { + TextEditingController controller; + SharedPreferences prefs; + bool sending = false; + + void postVideo(context) async { + setState(() { + sending = true; + }); + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = {'Authorization': token}; + String urlLocation = tesoStreaming + "api/mobile/upload/authurl"; + var client = + await http.get(Uri.parse(urlLocation), headers: requestHeaders); + if (client.statusCode == 200) { + var details = jsonDecode(client.body); + String muxuploadsID = details["data"]["id"]; + String muxuploadsURL = details["data"]["url"]; + + Provider.of(context, listen: false).uploadPost(Uploading( + id: DateTime.now().toString() + + widget.video.replaceAll("file://", ""), + aspect: widget.aspectRatio, + path: widget.video.replaceAll("file://", ""), + thumbnail: + widget.thumbnail != null ? base64Encode(widget.thumbnail) : null, + title: controller.text, + pending: 0, + campaignID: widget.campaignID, + muxuploadID: muxuploadsID, + muxuploadURL: muxuploadsURL, + )); + Navigator.pop(context); + } + } catch (e) { + print("Something is " + e.toString()); + } + setState(() { + sending = false; + }); + } + + @override + void initState() { + super.initState(); + controller = new TextEditingController(); + } + + @override + void dispose() { + super.dispose(); + controller.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: AppBar( + automaticallyImplyLeading: true, + title: Text("Post"), + centerTitle: true, + ), + preferredSize: Size.fromHeight(70.0), + ), + body: SingleChildScrollView( + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.all(MediaQuery.of(context).size.width * 0.025), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.25, + height: MediaQuery.of(context).size.width * 0.35, + color: Colors.black, + child: widget.thumbnail != null + ? Image.memory(widget.thumbnail) + : CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + Container( + width: (MediaQuery.of(context).size.width) - + (MediaQuery.of(context).size.width * 0.35), + height: MediaQuery.of(context).size.width * 0.35, + child: TextField( + decoration: InputDecoration( + border: OutlineInputBorder( + borderSide: BorderSide.none, + ), + filled: true, + isDense: true, + labelText: "Say Something..", + labelStyle: TextStyle( + color: Colors.black54, + ), + fillColor: Colors.white70, + ), + controller: controller, + maxLines: null, + keyboardType: TextInputType.url, + textInputAction: TextInputAction.done, + ), + ), + ], + ), + ), + SizedBox( + height: 20, + ), + Divider(), + Container( + margin: EdgeInsets.only( + top: 10, + ), + child: Text( + "Teso businesses and other Teso users can only see campaign post on your profile after they have been approved by the campaign owners.", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ], + ), + ), + ), + floatingActionButton: !sending + ? Container( + margin: EdgeInsets.all(20), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15.0), + color: tesoBlue, + ), + child: InkWell( + onTap: () => postVideo(context), + child: Center( + child: Text( + "NEXT", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + height: 50, + ) + : Container( + width: MediaQuery.of(context).size.width, + height: 50, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/TextEditor.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/TextEditor.dart new file mode 100644 index 0000000..5c3c0eb --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/TextEditor.dart @@ -0,0 +1,212 @@ +// import 'package:flutter/material.dart'; + +// import 'package:teso/Classes/TextE.dart'; +// import 'package:teso/util/SizeConfig.dart'; +// import 'textstyler/src/toolbar_action.dart'; +// import 'textstyler/text_style_editor.dart'; + +// // ignore: must_be_immutable +// class TextEdit extends StatefulWidget { +// Textted content; +// TextEdit({Key key, this.content}) : super(key: key); + +// @override +// _TextEditState createState() => _TextEditState(); +// } + +// class _TextEditState extends State { +// TextStyle textStyle; +// TextAlign textAlign; +// List fonts = [ +// 'Billabong', +// 'AlexBrush', +// 'Allura', +// 'Arizonia', +// 'ChunkFive', +// 'GrandHotel', +// 'GreatVibes', +// 'Lobster', +// 'OpenSans', +// 'OstrichSans', +// 'Oswald', +// 'Pacifico', +// 'Quicksand', +// 'Roboto', +// 'SEASRN', +// 'Windsong', +// ]; +// List paletteColors = [ +// Colors.black, +// Colors.white, +// Color(int.parse('0xffEA2027')), +// Color(int.parse('0xff006266')), +// Color(int.parse('0xff1B1464')), +// Color(int.parse('0xff5758BB')), +// Color(int.parse('0xff6F1E51')), +// Color(int.parse('0xffB53471')), +// Color(int.parse('0xffEE5A24')), +// Color(int.parse('0xff009432')), +// Color(int.parse('0xff0652DD')), +// Color(int.parse('0xff9980FA')), +// Color(int.parse('0xff833471')), +// Color(int.parse('0xff112CBC4')), +// Color(int.parse('0xffFDA7DF')), +// Color(int.parse('0xffED4C67')), +// Color(int.parse('0xffF79F1F')), +// Color(int.parse('0xffA3CB38')), +// Color(int.parse('0xff1289A7')), +// Color(int.parse('0xffD980FA')) +// ]; +// FocusNode _focus = new FocusNode(); +// TextEditingController controller; +// @override +// void initState() { +// controller = new TextEditingController(); +// textStyle = TextStyle( +// fontSize: 15, +// color: Colors.white, +// fontFamily: 'OpenSans', +// ); +// textAlign = TextAlign.left; +// _focus.addListener(_onFocusChange); + +// controller.text = widget.content.text != null ? widget.content.text : ""; +// textStyle = +// widget.content.textStyle != null ? widget.content.textStyle : null; +// textAlign = widget.content.textAlign != null +// ? widget.content.textAlign +// : TextAlign.center; +// super.initState(); +// } + +// @override +// void dispose() { +// _focus.removeListener(_onFocusChange); +// _focus.dispose(); +// super.dispose(); +// } + +// void _onFocusChange() { +// debugPrint("Focus: " + _focus.hasFocus.toString()); +// } + +// void verify() { +// if (_focus.hasFocus) { +// _focus.unfocus(); +// } else { +// Navigator.pop( +// context, +// new Textted( +// text: controller.text, +// textAlign: textAlign, +// textStyle: textStyle, +// )); +// } +// } + +// @override +// Widget build(BuildContext context) { +// SizeConfig().init(context); +// return Scaffold( +// resizeToAvoidBottomInset: false, +// backgroundColor: Color.fromRGBO(0, 0, 0, 0.8), +// appBar: AppBar( +// backgroundColor: Colors.transparent, +// leading: IconButton( +// onPressed: () => Navigator.pop(context, widget.content), +// icon: Icon( +// Icons.x, +// color: Colors.white, +// ), +// ), +// actions: [ +// IconButton( +// onPressed: verify, +// icon: Icon( +// AntDesign.check, +// color: Colors.white, +// ), +// ), +// ], +// ), +// body: Container( +// height: SizeConfig.safeBlockVertical * 40, +// child: Center( +// child: TextField( +// controller: controller, +// // enabled: false, +// focusNode: _focus, +// style: textStyle, +// textAlign: textAlign, +// // maxLines: 4, +// decoration: new InputDecoration( +// filled: true, +// enabledBorder: OutlineInputBorder( +// borderRadius: BorderRadius.all( +// Radius.circular(10.0), +// ), +// borderSide: BorderSide( +// color: Colors.grey.shade400, +// width: 2, +// ), +// ), +// focusedBorder: OutlineInputBorder( +// borderRadius: BorderRadius.all( +// Radius.circular(10.0), +// ), +// borderSide: BorderSide( +// color: Colors.blue.shade300, +// width: 0, +// ), +// ), +// contentPadding: EdgeInsets.all(15), +// ), +// ), +// ), +// ), +// extendBody: false, +// extendBodyBehindAppBar: false, +// bottomSheet: Container( +// height: SizeConfig.safeBlockVertical * 60, +// child: Container( +// padding: EdgeInsets.all(10), +// decoration: BoxDecoration( +// color: Theme.of(context).backgroundColor, +// border: Border.symmetric( +// horizontal: BorderSide( +// color: Theme.of(context).backgroundColor, +// ), +// ), +// ), +// child: Align( +// alignment: Alignment.topCenter, +// child: SingleChildScrollView( +// scrollDirection: Axis.vertical, +// child: TextStyleEditor( +// fonts: fonts, +// paletteColors: paletteColors, +// textStyle: textStyle, +// textAlign: textAlign, +// initialTool: EditorToolbarAction.fontFamilyTool, +// onTextAlignEdited: (align) { +// setState(() { +// textAlign = align; +// }); +// }, +// onTextStyleEdited: (style) { +// setState(() { +// textStyle = textStyle.merge(style); +// }); +// }, +// onCpasLockTaggle: (caps) { +// print(caps); +// }, +// //onToolbarActionChanged: (fu) => , +// ), +// ), +// ), +// ), +// ), +// ); +// } +// } diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/VideoReview.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/VideoReview.dart new file mode 100644 index 0000000..867f2aa --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/VideoReview.dart @@ -0,0 +1,560 @@ +import 'dart:typed_data'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; +import 'dart:io'; + +import 'package:image_gallery_saver/image_gallery_saver.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/file_formats.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trim_editor.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/Trimmer/trimmer.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/SubmitAdvert.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:video_player/video_player.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:async'; +import 'package:path_provider/path_provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:image/image.dart' as IMG; +import 'package:video_thumbnail/video_thumbnail.dart'; + +class VideoReview extends StatefulWidget { + final video; + final bool recorded; + final String campaignID; + final double aspect; + + @override + const VideoReview( + {Key key, + this.video, + @required this.campaignID, + @required this.recorded, + this.aspect}) + : super(key: key); + @override + _VideoReviewState createState() => _VideoReviewState(); +} + +class _VideoReviewState extends State + with TickerProviderStateMixin { + Trimmer _trimmer = new Trimmer(); + VideoPlayerController videoController; + VoidCallback videoPlayerListener; + bool muted = false; + String readyVideo; + Color textColor = Colors.white; + double _startValue = 0.15; + double _endValue = 60000.0; + var _future; + bool _isPlaying = false; + Duration _duration; + Duration _position; + ByteData bytes; + Uint8List imageBitmap; + Uint8List thumbnail; + Directory tempDirectory; + TesoUser user; + bool processing = false; + bool downloaded = false; + bool processed = false; + final key = new GlobalKey(); + double currentOffset = 0; + + Future _startVideoPlayer() async { + await videoController.play(); + } + + Future initializeController(String fileLocation) async { + videoController = VideoPlayerController.file(File(fileLocation)); + + videoPlayerListener = () async { + Timer.run(() { + this.setState(() { + _position = videoController.value.position; + }); + setState(() { + _duration = Duration(milliseconds: _endValue.round()); + }); + if (_duration?.compareTo(_position) == 0 || + _duration?.compareTo(_position) == -1) { + this.setState(() { + _isPlaying = false; + }); + videoController.pause(); + videoController.seekTo(Duration(milliseconds: _startValue.round())); + } else {} + }); + }; + videoController.addListener(videoPlayerListener); + await videoController.setLooping(true); + await videoController.initialize(); + await _trimmer.loadVideo(videoFile: File(fileLocation)); + } + + @override + void initState() { + readyVideo = widget.video; + if (readyVideo != null) _future = initializeController(readyVideo); + rootBundle.load("assets/images/rawLogo.png").then((value) => setState(() { + imageBitmap = value.buffer.asUint8List(); + IMG.Image img = IMG.decodeImage(imageBitmap); + IMG.Image resized = IMG.copyResize(img, width: 50, height: 60); + imageBitmap = IMG.encodePng(resized); + })); + super.initState(); + } + + @override + void dispose() { + videoController?.dispose(); + super.dispose(); + } + + void postVideo(context) async { + setState(() { + processing = true; + }); + if (processed) { + await Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: SubmitAdvert( + video: readyVideo, + aspectRatio: widget.recorded + ? "0.5625" + : videoController.value.aspectRatio.toString(), + thumbnail: this.thumbnail, + campaignID: widget.campaignID, + ), + )); + } else { + readyVideo = await processVideo(context, false); + await Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: SubmitAdvert( + video: readyVideo, + aspectRatio: widget.recorded + ? "0.5625" + : videoController.value.aspectRatio.toString(), + thumbnail: this.thumbnail, + campaignID: widget.campaignID, + ), + )); + } + } + + Future downloadVideo(context) async { + try { + setState(() { + processing = true; + }); + String output = await processVideo(context, true); + await ImageGallerySaver.saveFile(output).catchError((error, stackTrace) { + setState(() { + processing = false; + downloaded = false; + }); + }).then((value) { + setState(() { + processing = false; + downloaded = true; + }); + }); + } catch (e) { + print(e); + } + } + + Future processVideo(context, bool watermark) async { + user = Provider.of(context, listen: false).currentUser; + String location = await getTemporaryDirectory().then((value) => + value.path + + "/" + + DateTime.now().millisecondsSinceEpoch.toString() + + ".mp4"); + if (widget.recorded) { + String initial = await _trimmer.saveTrimmedVideo( + applyVideoEncoding: false, + ffmpegCommand: "-vf setsar=1:1 -aspect 9:16", + customVideoFormat: ".mp4", + startValue: _startValue, + endValue: videoController.value.duration.inMilliseconds > 5900 && + videoController.value.duration.inMilliseconds >= _endValue + ? _endValue + : double.parse( + videoController.value.duration.inMilliseconds.toString()), + ); + this.thumbnail = await generateThumbnail(); + + location = initial; + } else { + String initial = await _trimmer.saveTrimmedVideo( + startValue: _startValue, + endValue: videoController.value.duration.inMilliseconds > 5900 && + videoController.value.duration.inMilliseconds >= _endValue + ? _endValue + : double.parse( + videoController.value.duration.inMilliseconds.toString()), + outputFormat: FileFormat.mp4, + ); + this.thumbnail = await generateThumbnail(); + + location = initial; + } + return location; + } + + Future generateThumbnail() async { + try { + Uint8List thumbnail; + + thumbnail = await VideoThumbnail.thumbnailData( + video: widget.video, + imageFormat: ImageFormat.JPEG, + maxWidth: 0, + maxHeight: 0, + timeMs: 100, + quality: 100, + ); + return thumbnail; + } catch (e) { + print("Error :::: " + e); + return null; + } + } + + Future shareVideo(context) async { + setState(() { + processing = true; + }); + if (readyVideo == widget.video) { + readyVideo = await processVideo(context, true); + Share.shareFiles([readyVideo]); + } else { + Share.shareFiles([readyVideo]); + } + setState(() { + processing = false; + }); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return Container( + color: Colors.black, + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CircularProgressIndicator( + backgroundColor: Colors.red, + ), + ), + ); + } else { + return Stack( + children: [ + videoContent(context), + // Video trimmer + trimmerWidget(context), + // Pop button + Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () => Navigator.pop(context), + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.1, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.close, + color: Colors.white, + size: 20, + ), + ), + ), + ), + // Bottom buttons + bottomButtons(context), + Visibility( + visible: processing, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Color.fromRGBO(0, 0, 0, 0.6), + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.7), + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text( + "Processing.....", + style: TextStyle( + color: Colors.white, + ), + ), + ], + ), + ), + ), + ), + ], + ); + } + }), + ); + } + + Widget trimmerWidget(context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.01, + vertical: MediaQuery.of(context).size.width * 0.20, + ), + width: MediaQuery.of(context).size.width, + child: TrimEditor( + borderPaintColor: tesoGold, + circlePaintColor: tesoBlue, + thumbnailQuality: 100, + showDuration: true, + viewerHeight: 50.0, + maxVideoLength: Duration(seconds: 60), + viewerWidth: MediaQuery.of(context).size.width, + onChangeStart: (value) { + if (!mounted) { + setState(() { + _startValue = value; + }); + } else { + _startValue = value; + } + videoController.seekTo(Duration(milliseconds: value.round())); + }, + onChangeEnd: (value) { + if (!mounted) { + setState(() { + _endValue = value; + }); + } else { + _endValue = value; + } + }, + onChangePlaybackState: (isPlaying) { + if (mounted) + setState(() { + _isPlaying = isPlaying; + }); + }, + )); + } + + Widget videoContent(context) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Center( + child: AspectRatio( + aspectRatio: videoController.value.size != null + ? videoController.value.aspectRatio + : 1.0, + child: Stack( + children: [ + InkWell( + onTap: () { + !_isPlaying ? _startVideoPlayer() : videoController.pause(); + setState(() { + _isPlaying = !_isPlaying; + }); + }, + child: VideoPlayer( + videoController, + ), + ), + Container( + width: double.infinity, + height: double.infinity, + child: GestureDetector( + child: !_isPlaying + ? Icon( + Icons.play_circle, + size: 60, + color: Colors.white, + ) + : Container(), + onTap: () { + !_isPlaying + ? _startVideoPlayer() + : videoController.pause(); + setState(() { + _isPlaying = !_isPlaying; + }); + }, + ), + ), + ], + )), + ), + ); + } + + Widget bottomButtons(context) { + if (widget.recorded) { + return Align( + alignment: Alignment.bottomLeft, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: SizeConfig.safeBlockVertical * 2.5, + ), + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + width: 55, + height: 40, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.6), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + border: Border.all(color: Colors.white, width: 0.5)), + child: InkWell( + onTap: () async => + !downloaded ? await downloadVideo(context) : null, + child: Icon( + !downloaded ? Icons.download : Icons.check, + color: !downloaded ? Colors.white : Colors.green, + ), + ), + ), + Container( + width: 55, + height: 40, + padding: EdgeInsets.all(5), + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.6), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + border: Border.all(color: Colors.white, width: 0.5)), + child: InkWell( + onTap: () async => await shareVideo(context), + child: Icon( + Icons.share, + color: Colors.white, + ), + ), + ), + Container( + padding: EdgeInsets.all(5), + width: 100, + height: 40, + decoration: BoxDecoration( + color: tesoGold, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + ), + child: InkWell( + onTap: () => postVideo(context), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Post", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + Icon( + Icons.send, + color: tesoBlue, + ), + ], + ), + ), + ), + ], + ), + ), + ); + } else { + return Align( + alignment: Alignment.bottomRight, + child: Container( + padding: EdgeInsets.all(5), + width: 100, + height: 40, + margin: EdgeInsets.symmetric( + vertical: 10, + horizontal: 20, + ), + decoration: BoxDecoration( + color: tesoGold, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + ), + child: InkWell( + onTap: () => postVideo(context), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Post", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + Icon( + Icons.send, + color: tesoBlue, + ), + ], + ), + ), + ), + ); + } + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/color_palette.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/color_palette.dart new file mode 100644 index 0000000..130d0f2 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/color_palette.dart @@ -0,0 +1,92 @@ +import 'package:flutter/material.dart'; + +class ColorPalette extends StatefulWidget { + final Color activeColor; + final List colors; + final Function(Color) onColorPicked; + + ColorPalette({ + this.activeColor, + this.onColorPicked, + this.colors, + }); + + @override + _ColorPaletteState createState() => _ColorPaletteState(); +} + +class _ColorPaletteState extends State { + Color _activeColor; + + @override + void initState() { + _activeColor = widget.activeColor ?? widget.colors[0]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.all(16), + child: Wrap( + spacing: 16, + runSpacing: 16, + children: widget.colors + .map( + (color) => _ColorHolder( + color: color, + active: color == _activeColor, + onTap: (color) { + setState(() => _activeColor = color); + widget.onColorPicked(color); + }, + ), + ) + .toList(), + ), + ); + } +} + +class _ColorHolder extends StatelessWidget { + final Color color; + final Function(Color) onTap; + final bool active; + + _ColorHolder({ + this.color, + this.onTap, + this.active = false, + }); + + @override + Widget build(BuildContext context) { + return Container( + height: 40, + width: 40, + decoration: BoxDecoration( + border: active + ? Border.fromBorderSide( + BorderSide(color: Theme.of(context).colorScheme.onSurface)) + : null, + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: GestureDetector( + onTap: () => onTap(color), + child: Container( + height: 35, + width: 35, + decoration: BoxDecoration( + border: Border.fromBorderSide( + BorderSide(color: Theme.of(context).colorScheme.onSurface)), + borderRadius: BorderRadius.circular(50), + color: color, + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/option_button.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/option_button.dart new file mode 100644 index 0000000..ad31cf2 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/option_button.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; + +class OptionButton extends StatelessWidget { + final bool isActive; + final Function() onPressed; + final Widget child; + final Size size; + + OptionButton({ + this.onPressed, + this.child, + this.isActive = false, + this.size, + }); + @override + Widget build(BuildContext context) { + return RawMaterialButton( + constraints: BoxConstraints.tight(size ?? Size(45, 45)), + highlightColor: Theme.of(context).colorScheme.background, + splashColor: Theme.of(context).colorScheme.background, + fillColor: isActive ? Theme.of(context).colorScheme.background : null, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + side: BorderSide(color: Theme.of(context).colorScheme.surface), + ), + child: child, + onPressed: onPressed, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar.dart new file mode 100644 index 0000000..48dec72 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar.dart @@ -0,0 +1,87 @@ +import 'package:flutter/material.dart'; + +import 'option_button.dart'; +import 'toolbar_action.dart'; + +class Toolbar extends StatefulWidget { + final EditorToolbarAction initialTool; + final Function(EditorToolbarAction) onToolSelect; + + Toolbar({ + this.initialTool = EditorToolbarAction.editor, + this.onToolSelect, + }); + + @override + _ToolbarState createState() => _ToolbarState(); +} + +class _ToolbarState extends State { + EditorToolbarAction _selectedAction; + @override + void initState() { + _selectedAction = widget.initialTool; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + // OptionButton( + // isActive: _selectedAction == EditorToolbarAction.editor, + // child: Icon(Icons.keyboard), + // onPressed: () { + // setState(() => _selectedAction = EditorToolbarAction.editor); + // widget.onToolSelect(EditorToolbarAction.editor); + // }, + // ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontFamilyTool, + child: Icon(Icons.title), + onPressed: () { + setState( + () => _selectedAction = EditorToolbarAction.fontFamilyTool); + widget.onToolSelect(EditorToolbarAction.fontFamilyTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontOptionTool, + child: Icon(Icons.strikethrough_s), + onPressed: () { + setState( + () => _selectedAction = EditorToolbarAction.fontOptionTool); + widget.onToolSelect(EditorToolbarAction.fontOptionTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontSizeTool, + child: Icon(Icons.format_size), + onPressed: () { + setState(() => _selectedAction = EditorToolbarAction.fontSizeTool); + widget.onToolSelect(EditorToolbarAction.fontSizeTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.fontColorTool, + child: Icon(Icons.format_color_text), + onPressed: () { + setState(() => _selectedAction = EditorToolbarAction.fontColorTool); + widget.onToolSelect(EditorToolbarAction.fontColorTool); + }, + ), + OptionButton( + isActive: _selectedAction == EditorToolbarAction.backgroundColorTool, + child: Icon(Icons.format_color_fill), + onPressed: () { + setState(() => + _selectedAction = EditorToolbarAction.backgroundColorTool); + widget.onToolSelect(EditorToolbarAction.backgroundColorTool); + }, + ), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar_action.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar_action.dart new file mode 100644 index 0000000..07382cc --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/toolbar_action.dart @@ -0,0 +1,8 @@ +enum EditorToolbarAction { + editor, + fontFamilyTool, + fontOptionTool, + fontSizeTool, + fontColorTool, + backgroundColorTool, +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/background_color_tool.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/background_color_tool.dart new file mode 100644 index 0000000..340f9a4 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/background_color_tool.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +import '../color_palette.dart'; + +class BackgroundColorTool extends StatelessWidget { + final List colors; + final Color activeColor; + final Function(Color) onColorPicked; + + BackgroundColorTool({ + this.colors, + this.onColorPicked, + this.activeColor, + }); + + @override + Widget build(BuildContext context) { + return ColorPalette( + activeColor: activeColor, + onColorPicked: onColorPicked, + colors: colors, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_color_tool.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_color_tool.dart new file mode 100644 index 0000000..8da558d --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_color_tool.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +import '../color_palette.dart'; + +class FontColorTool extends StatelessWidget { + final List colors; + final Color activeColor; + final Function(Color) onColorPicked; + + FontColorTool({ + this.colors, + this.onColorPicked, + this.activeColor, + }); + + @override + Widget build(BuildContext context) { + return ColorPalette( + activeColor: activeColor, + onColorPicked: onColorPicked, + colors: colors, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_family_tool.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_family_tool.dart new file mode 100644 index 0000000..1b7ab48 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_family_tool.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; + +import '../option_button.dart'; + +class FontFamilyTool extends StatefulWidget { + final List fonts; + final Function(String) onSelectFont; + final String selectedFont; + + FontFamilyTool({ + this.fonts, + this.onSelectFont, + this.selectedFont, + }); + + @override + _FontFamilyToolState createState() => _FontFamilyToolState(); +} + +class _FontFamilyToolState extends State { + String _selectedFont; + + @override + void initState() { + _selectedFont = widget.selectedFont ?? widget.fonts[0]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Wrap( + spacing: 12, + runSpacing: 12, + children: widget.fonts + .map<_FontFamily>( + (font) => _FontFamily( + font, + isSelected: _selectedFont == font, + onSelect: (selectedFont) { + setState(() => _selectedFont = selectedFont); + widget.onSelectFont(selectedFont); + }, + ), + ) + .toList(), + ); + } +} + +class _FontFamily extends StatelessWidget { + final String font; + final bool isSelected; + final Function(String) onSelect; + + _FontFamily(this.font, {this.onSelect, this.isSelected = false}); + @override + Widget build(BuildContext context) { + return OptionButton( + isActive: isSelected, + size: Size(90, 45), + onPressed: () => onSelect(font), + child: Center(child: Text(font, style: TextStyle(fontFamily: font))), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_size_tool.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_size_tool.dart new file mode 100644 index 0000000..55d7478 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/font_size_tool.dart @@ -0,0 +1,123 @@ +import 'package:flutter/material.dart'; + +class FontSizeTool extends StatelessWidget { + final double fontSize; + final double letterSpacing; + final double letterHeight; + final Function( + double fontSize, + double letterSpacing, + double letterHeight, + ) onFontSizeEdited; + + FontSizeTool({ + this.onFontSizeEdited, + this.fontSize = 0, + this.letterSpacing = 0, + this.letterHeight = 0, + }); + + @override + Widget build(BuildContext context) { + double _fontSize = fontSize; + double _letterSpacing = letterSpacing; + double _letterHeight = letterHeight; + + return Padding( + padding: EdgeInsets.all(16), + child: Column( + children: [ + _ResizeSlider( + value: _fontSize, + max: 45, + icon: Icons.format_size, + onChange: (value) { + _fontSize = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + _ResizeSlider( + value: _letterHeight, + icon: Icons.format_line_spacing, + max: 10, + onChange: (value) { + _letterHeight = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + _ResizeSlider( + value: _letterSpacing, + icon: Icons.settings_ethernet, + max: 10, + onChange: (value) { + _letterSpacing = value; + onFontSizeEdited(_fontSize, _letterSpacing, _letterHeight); + }, + ), + ], + ), + ); + } +} + +class _ResizeSlider extends StatefulWidget { + final double value; + final double min; + final double max; + final IconData icon; + final Function(double) onChange; + + _ResizeSlider({ + this.value, + this.icon, + this.onChange, + this.min = 0, + this.max = 100, + }); + + @override + _ResizeSliderState createState() => _ResizeSliderState(); +} + +class _ResizeSliderState extends State<_ResizeSlider> { + double _value; + + @override + void initState() { + _value = widget.value; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Icon(widget.icon), + Expanded( + child: SliderTheme( + data: SliderThemeData( + activeTrackColor: Theme.of(context).colorScheme.background, + inactiveTrackColor: Theme.of(context).colorScheme.background, + thumbColor: Theme.of(context).colorScheme.background, + overlayColor: + Theme.of(context).colorScheme.background.withOpacity(0.2), + trackHeight: 2, + ), + child: Slider( + value: _value, + onChanged: (value) { + setState(() => _value = value); + + widget.onChange(value); + }, + min: widget.min, + max: widget.max, + ), + ), + ), + Text(_value.toStringAsFixed(1)), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/text_format_tool.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/text_format_tool.dart new file mode 100644 index 0000000..5365741 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/src/tools/text_format_tool.dart @@ -0,0 +1,237 @@ +import 'package:flutter/material.dart'; + +import '../option_button.dart'; + +class TextFormatTool extends StatelessWidget { + final Function( + bool bold, + bool italic, + ) onTextFormatEdited; + final Function(bool caps) onCpasLockTaggle; + final Function(TextAlign textAlign) onTextAlignEdited; + final TextAlign textAlign; + final bool bold; + final bool italic; + final bool caps; + + TextFormatTool({ + this.onTextFormatEdited, + this.onTextAlignEdited, + this.onCpasLockTaggle, + this.textAlign = TextAlign.left, + this.bold = false, + this.italic = false, + this.caps = false, + }); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.only(top: 36), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + _TextFormatEditor( + bold: bold, + italic: italic, + caps: caps, + onFormatEdited: onTextFormatEdited, + onCpasLockTaggle: onCpasLockTaggle, + ), + SizedBox(height: 36), + _TextAlignEditor( + textAlign: textAlign, + onTextAlignEdited: onTextAlignEdited, + ), + ], + ), + ); + } +} + +class _TextAlignEditor extends StatefulWidget { + final TextAlign textAlign; + final Function(TextAlign textAlign) onTextAlignEdited; + + _TextAlignEditor({ + this.onTextAlignEdited, + this.textAlign = TextAlign.left, + }); + + @override + _TextAlignEditorState createState() => _TextAlignEditorState(); +} + +class _TextAlignEditorState extends State<_TextAlignEditor> { + TextAlign _textAlign; + + @override + void initState() { + _textAlign = widget.textAlign; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _TextAlignOption( + icon: Icons.format_align_left, + isActive: _textAlign == TextAlign.left, + onPressed: () { + setState(() => _textAlign = TextAlign.left); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_center, + isActive: _textAlign == TextAlign.center, + onPressed: () { + setState(() => _textAlign = TextAlign.center); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_right, + isActive: _textAlign == TextAlign.right, + onPressed: () { + setState(() => _textAlign = TextAlign.right); + widget.onTextAlignEdited(_textAlign); + }, + ), + _TextAlignOption( + icon: Icons.format_align_justify, + isActive: _textAlign == TextAlign.justify, + onPressed: () { + setState(() => _textAlign = TextAlign.justify); + widget.onTextAlignEdited(_textAlign); + }, + ), + ], + ); + } +} + +class _TextAlignOption extends StatelessWidget { + final IconData icon; + final Function() onPressed; + final bool isActive; + + _TextAlignOption({ + this.icon, + this.onPressed, + this.isActive = false, + }); + + @override + Widget build(BuildContext context) { + return IconButton( + iconSize: 32, + icon: Icon(icon), + color: isActive + ? Theme.of(context).iconTheme.color + : Theme.of(context).disabledColor, + onPressed: onPressed, + ); + } +} + +class _TextFormatEditor extends StatefulWidget { + final Function(bool bold, bool italic) onFormatEdited; + final Function(bool caps) onCpasLockTaggle; + final bool bold; + final bool italic; + final bool caps; + + _TextFormatEditor({ + this.onFormatEdited, + this.onCpasLockTaggle, + this.bold = false, + this.italic = false, + this.caps = false, + }); + + @override + _TextFormatEditorState createState() => _TextFormatEditorState(); +} + +class _TextFormatEditorState extends State<_TextFormatEditor> { + bool _bold; + bool _italic; + bool _caps; + + @override + void initState() { + _bold = widget.bold; + _italic = widget.italic; + _caps = widget.caps; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _TextFormatOption( + title: 'BOLD', + icon: Icons.format_bold, + isActive: _bold, + onPressed: () { + setState(() => _bold = !_bold); + widget.onFormatEdited(_bold, _italic); + }, + ), + _TextFormatOption( + title: 'ITALIC', + icon: Icons.format_italic, + isActive: _italic, + onPressed: () { + setState(() => _italic = !_italic); + widget.onFormatEdited(_bold, _italic); + }, + ), + _TextFormatOption( + title: 'CAPS', + icon: Icons.keyboard_capslock, + isActive: _caps, + onPressed: () { + setState(() => _caps = !_caps); + widget.onCpasLockTaggle(_caps); + }, + ), + ], + ); + } +} + +class _TextFormatOption extends StatelessWidget { + final String title; + final IconData icon; + final Function() onPressed; + final bool isActive; + + _TextFormatOption({ + this.title, + this.icon, + this.onPressed, + this.isActive = false, + }); + @override + Widget build(BuildContext context) { + return Column( + children: [ + OptionButton( + isActive: isActive, + onPressed: onPressed, + child: Icon(icon), + ), + SizedBox(height: 12), + Text(title), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/text_style_editor.dart b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/text_style_editor.dart new file mode 100644 index 0000000..a3a8378 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Editor/textstyler/text_style_editor.dart @@ -0,0 +1,226 @@ +library text_style_editor; + +export 'src/toolbar_action.dart'; + +import 'package:flutter/material.dart'; +import 'src/toolbar_action.dart'; +import 'src/tools/background_color_tool.dart'; +import 'src/color_palette.dart'; +import 'src/tools/font_family_tool.dart'; +import 'src/tools/font_size_tool.dart'; +import 'src/tools/text_format_tool.dart'; +import 'src/toolbar.dart'; + +/// Text style editor +/// A flutter widget that edit text style and text alignment +/// +/// You can pass your text style or alignment to the widget +/// and then get the edited text style +class TextStyleEditor extends StatefulWidget { + /// Editor's font families + final List fonts; + + /// The text style + final TextStyle textStyle; + + /// The text alignment + final TextAlign textAlign; + + /// The inithial editor tool + final EditorToolbarAction initialTool; + + /// Editor's palette colors + final List paletteColors; + + /// [onTextStyleEdited] will be called after [textStyle] prop has changed + final Function(TextStyle) onTextStyleEdited; + + /// [onTextAlignEdited] will be called after [textAlingment] prop has changed + final Function(TextAlign) onTextAlignEdited; + + /// [onCpasLockTaggle] will be called after caps lock has changed + final Function(bool) onCpasLockTaggle; + + /// [onToolbarActionChanged] will be called after editor's tool has changed + final Function(EditorToolbarAction) onToolbarActionChanged; + + /// Create a [TextStyleEditor] widget + /// + /// [fonts] list of font families that you want to use in editor. + /// [textStyle] initiate text style. + /// [textAlign] initiate text alignment. + /// + /// [onTextStyleEdited] callback will be called every time [textStyle] has changed. + /// [onTextAlignEdited] callback will be called every time [textAlign] has changed. + /// [onCpasLockTaggle] callback will be called every time caps lock has changed to off or on. + /// [onToolbarActionChanged] callback will be called every time editor's tool has changed. + TextStyleEditor({ + this.fonts, + this.textStyle, + this.textAlign, + this.paletteColors, + this.initialTool = EditorToolbarAction.editor, + this.onTextStyleEdited, + this.onTextAlignEdited, + this.onCpasLockTaggle, + this.onToolbarActionChanged, + }); + + @override + _TextStyleEditorState createState() => _TextStyleEditorState(); +} + +class _TextStyleEditorState extends State { + EditorToolbarAction _currentTool; + TextStyle _textStyle; + TextAlign _textAlign; + List _paletteColors; + + @override + void initState() { + _currentTool = widget.initialTool; + _textStyle = widget.textStyle; + _textAlign = widget.textAlign; + + // Set default palette's colors + _paletteColors = widget.paletteColors ?? + [ + Colors.black, + Colors.white, + Colors.red, + Colors.blue, + Colors.blueAccent, + Colors.brown, + Colors.green, + Colors.indigoAccent, + Colors.lime, + ]; + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Container( + color: Theme.of(context).backgroundColor, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Toolbar( + initialTool: _currentTool, + onToolSelect: (action) { + setState(() => _currentTool = action); + if (widget.onToolbarActionChanged != null) { + widget.onToolbarActionChanged(action); + } + }, + ), + Divider(), + Container( + child: SingleChildScrollView( + child: () { + // Choice tools + switch (_currentTool) { + case EditorToolbarAction.fontFamilyTool: + return FontFamilyTool( + fonts: widget.fonts, + selectedFont: _textStyle.fontFamily, + onSelectFont: (fontFamily) { + setState(() => _textStyle = + _textStyle.copyWith(fontFamily: fontFamily)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.fontOptionTool: + return TextFormatTool( + bold: _textStyle.fontWeight == FontWeight.bold, + italic: _textStyle.fontStyle == FontStyle.italic, + textAlign: _textAlign, + onTextFormatEdited: (bold, italic) { + setState(() => _textStyle = _textStyle.copyWith( + fontWeight: + bold ? FontWeight.bold : FontWeight.normal, + fontStyle: + italic ? FontStyle.italic : FontStyle.normal, + )); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + onTextAlignEdited: (align) { + setState(() => _textAlign = align); + + if (widget.onTextAlignEdited != null) { + widget.onTextAlignEdited(align); + } + }, + onCpasLockTaggle: (caps) { + if (widget.onCpasLockTaggle != null) { + widget.onCpasLockTaggle(caps); + } + }, + ); + case EditorToolbarAction.fontSizeTool: + return FontSizeTool( + fontSize: _textStyle.fontSize ?? 0, + letterHeight: _textStyle.height ?? 1.2, + letterSpacing: _textStyle.letterSpacing ?? 1, + onFontSizeEdited: ( + fontSize, + letterSpacing, + letterHeight, + ) { + setState(() => _textStyle = _textStyle.copyWith( + fontSize: fontSize, + height: letterHeight, + letterSpacing: letterSpacing, + )); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.fontColorTool: + return BackgroundColorTool( + activeColor: _textStyle.color, + colors: _paletteColors, + onColorPicked: (color) { + setState(() => + _textStyle = _textStyle.copyWith(color: color)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.backgroundColorTool: + return ColorPalette( + activeColor: _textStyle.backgroundColor, + colors: _paletteColors, + onColorPicked: (color) { + setState(() => _textStyle = + _textStyle.copyWith(backgroundColor: color)); + + if (widget.onTextStyleEdited != null) { + widget.onTextStyleEdited(_textStyle); + } + }, + ); + case EditorToolbarAction.editor: + return Container(); + default: + return Container(); + } + }(), + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/RecordVideo.dart b/lib/Pages/Sub_Pages/Campaign/Video/RecordVideo.dart new file mode 100644 index 0000000..7a7cb47 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/RecordVideo.dart @@ -0,0 +1,500 @@ +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:camera/camera.dart'; +import 'package:flutter/services.dart'; + +import 'package:image_picker/image_picker.dart'; +import 'package:teso/util/consts.dart'; +import 'package:page_transition/page_transition.dart'; +import 'dart:async'; +import 'package:circular_countdown_timer/circular_countdown_timer.dart'; +import 'package:video_thumbnail/video_thumbnail.dart' as thumb; + +import 'Editor/VideoReview.dart'; + +// ignore: must_be_immutable +class RecordVideo extends StatefulWidget { + final String campaignID; + List connectedCameras; + + RecordVideo({Key key, this.connectedCameras, @required this.campaignID}) + : super(key: key); + @override + _RecordVideoState createState() => _RecordVideoState(); +} + +class _RecordVideoState extends State + with TickerProviderStateMixin { + CameraController _controller; + int selectedCamera = 0; + bool flash = false; + bool frontFlash = false; + bool recording = false; + AnimationController _recordingAnimationController; + XFile video; + String filePath; + int recordEnd = 60; + CountDownController _controllerCountDown = CountDownController(); + final interval = const Duration(seconds: 1); + final picker = ImagePicker(); + bool gallery = false; + + final int timerMaxSeconds = 60; + + int currentSeconds = 0; + + flipCamera() { + selectedCamera++; + if (selectedCamera < widget.connectedCameras.length) { + onNewCameraSelected(widget.connectedCameras.elementAt(selectedCamera)); + } else { + selectedCamera = 0; + onNewCameraSelected(widget.connectedCameras.elementAt(selectedCamera)); + } + } + + flashCamera() { + try { + if (!flash && + _controller.description.lensDirection == CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.torch); + setState(() { + flash = true; + frontFlash = false; + }); + } else if (!flash && + _controller.description.lensDirection == CameraLensDirection.front) { + setState(() { + flash = true; + frontFlash = true; + }); + } else if (flash && + _controller.description.lensDirection == CameraLensDirection.back) { + _controller.setFlashMode(FlashMode.off); + setState(() { + flash = false; + }); + } else { + setState(() { + flash = false; + frontFlash = false; + }); + } + } catch (e) {} + } + + haltRecord() async { + XFile recorded = await stopVideoRecording(); + if (recorded != null) + Navigator.of(context).pushReplacement( + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => VideoReview( + video: recorded.path, + campaignID: widget.campaignID, + recorded: true, + ), + ), + ); + } + + Future generateThumbnail(video) async { + try { + Uint8List thumbnail; + + thumbnail = await thumb.VideoThumbnail.thumbnailData( + video: video, + imageFormat: thumb.ImageFormat.JPEG, + maxWidth: 0, + maxHeight: 0, + timeMs: 1, + quality: 100, + ); + return thumbnail; + } catch (e) { + print("Error :::: " + e); + return null; + } + } + + @override + void initState() { + if (widget.connectedCameras == null || + widget.connectedCameras.length == 0) { + availableCameras().then((value) { + widget.connectedCameras = value; + onNewCameraSelected(widget.connectedCameras.first); + }); + } else { + onNewCameraSelected(widget.connectedCameras.first); + } + _recordingAnimationController = + new AnimationController(vsync: this, duration: Duration(seconds: 1)); + + _recordingAnimationController.repeat(reverse: true); + super.initState(); + } + + sayCheese() async { + try { + if (flash && !frontFlash) + await _controller.setFlashMode(FlashMode.always); + await _controller.startVideoRecording(); + } catch (e) { + print(e); + } + } + + Future stopVideoRecording() async { + if (!_controller.value.isRecordingVideo) { + return null; + } + + try { + return _controller.stopVideoRecording(); + } on CameraException catch (e) { + print(e); + return null; + } + } + + void onNewCameraSelected(CameraDescription cameraDescription) async { + if (_controller != null) { + await _controller.dispose(); + } + _controller = CameraController( + cameraDescription, + ResolutionPreset.high, + enableAudio: true, + imageFormatGroup: ImageFormatGroup.jpeg, + ); + + // If the controller is updated then update the UI. + _controller.addListener(() { + if (mounted) setState(() {}); + if (_controller.value.hasError) { + print('Camera error ${_controller.value.errorDescription}'); + } + }); + + try { + await _controller.initialize(); + _controller.lockCaptureOrientation(DeviceOrientation.portraitUp); + _controller.setFocusMode(FocusMode.auto); + } on CameraException catch (e) { + print(e); + } + + if (mounted) { + setState(() {}); + } + } + + void onHocusFocus(TapDownDetails details, BoxConstraints constraints) { + final offset = Offset( + details.localPosition.dx / constraints.maxWidth, + details.localPosition.dy / constraints.maxHeight, + ); + _controller.setExposurePoint(offset); + _controller.setFocusPoint(offset); + } + + @override + void dispose() { + _controller?.dispose(); + _recordingAnimationController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + if (_controller == null || !_controller.value.isInitialized) { + return Container( + color: Colors.black, + ); + } else { + return Scaffold( + body: !gallery + ? Stack( + children: [ + cameraWidget(context), + flashWidget(context), + cameraFlip(context), + cameraFlash(context), + recordingAnimation(context), + recordingCircle(context), + recorderWidget(context), + galleryPicker(context), + ], + ) + : Container(), + ); + } + } + + imgFromGallery() async { + try { + _controller?.dispose(); + setState(() { + gallery = true; + }); + final pickedFile = await picker.pickVideo( + source: ImageSource.gallery, + maxDuration: Duration(minutes: 1), + ); + + if (pickedFile != null) { + return pickedFile.path; + } else { + onNewCameraSelected(widget.connectedCameras.first); + print('No image selected.'); + } + } catch (e) { + print(e); + } + setState(() { + gallery = false; + }); + return; + } + + Widget recordingCircle(context) { + return Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: CircularCountDownTimer( + duration: recordEnd, + initialDuration: 0, + controller: _controllerCountDown, + width: MediaQuery.of(context).size.width / 2, + height: MediaQuery.of(context).size.height / 2, + ringColor: Colors.grey[300], + fillColor: Colors.red, + backgroundColor: Colors.transparent, + autoStart: false, + strokeWidth: 5.5, + isTimerTextShown: false, + strokeCap: StrokeCap.round, + //onStart: startTimeout, + onComplete: haltRecord, + ), + ), + ); + } + + Widget recorderWidget(context) { + return Align( + alignment: Alignment.bottomCenter, + child: InkWell( + onTap: recording + ? haltRecord + : () async { + await _controller.startVideoRecording(); + setState(() { + _controllerCountDown.start(); + recording = !recording; + }); + }, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + recording ? Icons.stop : Icons.video_camera_back, + color: Colors.white, + size: 25, + ), + ), + ), + ); + } + + Widget galleryPicker(context) { + return Align( + alignment: Alignment.bottomLeft, + child: recording + ? Container() + : InkWell( + onTap: () async { + String result = await imgFromGallery(); + if (result != null) { + // _controller.dispose(); + Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: VideoReview( + video: result, + recorded: false, + campaignID: widget.campaignID, + ), + )); + } + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.05, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 70, + width: 70, + child: Icon( + Icons.photo, + color: Colors.white, + size: 27, + ), + ), + ), + ); + } + + Widget recordingAnimation(context) { + if (!recording) + return Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.08, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + height: 35, + width: 35, + decoration: BoxDecoration( + //color: ColorFilterEngineLayer (0, 0, 0, 0.4), + shape: BoxShape.circle), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + )); + else + return Align( + alignment: Alignment.topLeft, + child: Container( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + margin: EdgeInsets.symmetric( + horizontal: 5, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + padding: EdgeInsets.all(2.5), + height: 20, + width: 20, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.red, + width: 2, + )), + child: FadeTransition( + opacity: _recordingAnimationController, + child: Container( + width: 20, + height: 20, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.red, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget cameraFlash(context) { + return !recording + ? Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.07, + vertical: MediaQuery.of(context).size.width * 0.25, + ), + child: InkWell( + onTap: flashCamera, + child: Icon( + flash ? Icons.flash_on : Icons.flash_off, + color: flash ? tesoGold : Colors.white, + size: 30, + ), + ), + ), + ) + : Container(); + } + + Widget cameraFlip(context) { + return !recording + ? Align( + alignment: Alignment.topRight, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.06, + vertical: MediaQuery.of(context).size.width * 0.11, + ), + child: InkWell( + onTap: flipCamera, + child: Icon( + Icons.cameraswitch_outlined, + color: Colors.white, + size: 40, + ), + ), + ), + ) + : Container(); + } + + Widget flashWidget(context) { + return Visibility( + visible: frontFlash, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.4), + ), + ), + ); + } + + Widget cameraWidget(context) { + var camera = _controller.value; + final size = MediaQuery.of(context).size; + var scale = size.aspectRatio * camera.aspectRatio; + if (scale < 1) scale = 1 / scale; + + return Transform.scale( + scale: scale, + child: Center( + child: CameraPreview( + _controller, + child: LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + onTapDown: (details) => onHocusFocus(details, constraints), + ); + }), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/file_formats.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/file_formats.dart new file mode 100644 index 0000000..c5ec37f --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/file_formats.dart @@ -0,0 +1,45 @@ +/// The video file formats available for +/// generating the output trimmed video. +/// +/// The available formats are `mp4`, `mkv`, +/// `mov`, `flv`, `avi`, `wmv`& `gif`. +/// +/// If you define a custom `FFmpeg` command +/// then this will be ignored. +/// +class FileFormat { + const FileFormat._(this.index); + + final int index; + + static const FileFormat mp4 = FileFormat._(0); + static const FileFormat mkv = FileFormat._(1); + static const FileFormat mov = FileFormat._(2); + static const FileFormat flv = FileFormat._(3); + static const FileFormat avi = FileFormat._(4); + static const FileFormat wmv = FileFormat._(5); + static const FileFormat gif = FileFormat._(6); + + static const List values = [ + mp4, + mkv, + mov, + flv, + avi, + wmv, + gif, + ]; + + @override + String toString() { + return const { + 0: '.mp4', + 1: '.mkv', + 2: '.mov', + 3: '.flv', + 4: '.avi', + 5: '.wmv', + 6: '.gif', + }[index]; + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/storage_dir.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/storage_dir.dart new file mode 100644 index 0000000..3c15be3 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/storage_dir.dart @@ -0,0 +1,32 @@ +/// Supported storage locations. +/// +/// * [temporaryDirectory] +/// +/// * [applicationDocumentsDirectory] +/// +/// * [externalStorageDirectory] +/// +class StorageDir { + const StorageDir._(this.index); + + final int index; + + static const StorageDir temporaryDirectory = StorageDir._(0); + static const StorageDir applicationDocumentsDirectory = StorageDir._(1); + static const StorageDir externalStorageDirectory = StorageDir._(2); + + static const List values = [ + temporaryDirectory, + applicationDocumentsDirectory, + externalStorageDirectory, + ]; + + @override + String toString() { + return const { + 0: 'temporaryDirectory', + 1: 'applicationDocumentsDirectory', + 2: 'externalStorageDirectory', + }[index]; + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/thumbnail_viewer.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/thumbnail_viewer.dart new file mode 100644 index 0000000..c31a705 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/thumbnail_viewer.dart @@ -0,0 +1,81 @@ +import 'dart:typed_data'; + +import 'package:flutter/material.dart'; +import 'package:video_thumbnail/video_thumbnail.dart'; + +class ThumbnailViewer extends StatelessWidget { + final videoFile; + final videoDuration; + final thumbnailHeight; + final fit; + final int numberOfThumbnails; + final int quality; + + /// For showing the thumbnails generated from the video, + /// like a frame by frame preview + ThumbnailViewer({ + @required this.videoFile, + @required this.videoDuration, + @required this.thumbnailHeight, + @required this.numberOfThumbnails, + @required this.fit, + this.quality = 75, + }) : assert(videoFile != null), + assert(videoDuration != null), + assert(thumbnailHeight != null), + assert(numberOfThumbnails != null), + assert(quality != null); + + Stream> generateThumbnail() async* { + final String _videoPath = videoFile.path; + + double _eachPart = videoDuration / numberOfThumbnails; + + List _byteList = []; + + for (int i = 1; i <= numberOfThumbnails; i++) { + Uint8List _bytes; + _bytes = await VideoThumbnail.thumbnailData( + video: _videoPath, + imageFormat: ImageFormat.JPEG, + timeMs: (_eachPart * i).toInt(), + quality: quality, + ); + + _byteList.add(_bytes); + + yield _byteList; + } + } + + @override + Widget build(BuildContext context) { + return StreamBuilder( + stream: generateThumbnail(), + builder: (context, snapshot) { + if (snapshot.hasData) { + List _imageBytes = snapshot.data; + return ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: snapshot.data.length, + itemBuilder: (context, index) { + return Container( + height: thumbnailHeight, + width: thumbnailHeight, + child: Image( + image: MemoryImage(_imageBytes[index]), + fit: fit, + ), + ); + }); + } else { + return Container( + color: Colors.grey[900], + height: thumbnailHeight, + width: double.maxFinite, + ); + } + }, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor.dart new file mode 100644 index 0000000..20780b6 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor.dart @@ -0,0 +1,537 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/thumbnail_viewer.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor_painter.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/trimmer.dart'; +import 'package:video_player/video_player.dart'; + +VideoPlayerController videoPlayerController; + +class TrimEditor extends StatefulWidget { + /// For defining the total trimmer area width + final double viewerWidth; + + /// For defining the total trimmer area height + final double viewerHeight; + + /// For defining the image fit type of each thumbnail image. + /// + /// By default it is set to `BoxFit.fitHeight`. + final BoxFit fit; + + /// For defining the maximum length of the output video. + final Duration maxVideoLength; + + /// For specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// + /// By default it is set to `5.0`. + final double circleSize; + + /// For specifying a size to the holder at + /// the two ends of the video trimmer area, while it is being + /// `dragged`. + /// + /// By default it is set to `8.0`. + final double circleSizeOnDrag; + + /// For specifying a color to the circle. + /// + /// By default it is set to `Colors.white`. + final Color circlePaintColor; + + /// For specifying a color to the border of + /// the trim area. + /// + /// By default it is set to `Colors.white`. + final Color borderPaintColor; + + /// For specifying a color to the video + /// scrubber inside the trim area. + /// + /// By default it is set to `Colors.white`. + final Color scrubberPaintColor; + + /// For specifying the quality of each + /// generated image thumbnail, to be displayed in the trimmer + /// area. + final int thumbnailQuality; + + /// For showing the start and the end point of the + /// video on top of the trimmer area. + /// + /// By default it is set to `true`. + final bool showDuration; + + /// For providing a `TextStyle` to the + /// duration text. + /// + /// By default it is set to `TextStyle(color: Colors.white)` + final TextStyle durationTextStyle; + + /// Callback to the video start position + /// + /// Returns the selected video start position in `milliseconds`. + final Function(double startValue) onChangeStart; + + /// Callback to the video end position. + /// + /// Returns the selected video end position in `milliseconds`. + final Function(double endValue) onChangeEnd; + + /// Callback to the video playback + /// state to know whether it is currently playing or paused. + /// + /// Returns a `boolean` value. If `true`, video is currently + /// playing, otherwise paused. + final Function(bool isPlaying) onChangePlaybackState; + + /// Widget for displaying the video trimmer. + /// + /// This has frame wise preview of the video with a + /// slider for selecting the part of the video to be + /// trimmed. + /// + /// The required parameters are [viewerWidth] & [viewerHeight] + /// + /// * [viewerWidth] to define the total trimmer area width. + /// + /// + /// * [viewerHeight] to define the total trimmer area height. + /// + /// + /// The optional parameters are: + /// + /// * [fit] for specifying the image fit type of each thumbnail image. + /// By default it is set to `BoxFit.fitHeight`. + /// + /// + /// * [maxVideoLength] for specifying the maximum length of the + /// output video. + /// + /// + /// * [circleSize] for specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `5.0`. + /// + /// + /// * [circleSizeOnDrag] for specifying a size to the holder at + /// the two ends of the video trimmer area, while it is being + /// `dragged`. By default it is set to `8.0`. + /// + /// + /// * [circlePaintColor] for specifying a color to the circle. + /// By default it is set to `Colors.white`. + /// + /// + /// * [borderPaintColor] for specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + /// + /// + /// * [scrubberPaintColor] for specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + /// + /// + /// * [thumbnailQuality] for specifying the quality of each + /// generated image thumbnail, to be displayed in the trimmer + /// area. + /// + /// + /// * [showDuration] for showing the start and the end point of the + /// video on top of the trimmer area. By default it is set to `true`. + /// + /// + /// * [durationTextStyle] is for providing a `TextStyle` to the + /// duration text. By default it is set to + /// `TextStyle(color: Colors.white)` + /// + /// + /// * [onChangeStart] is a callback to the video start position. + /// + /// + /// * [onChangeEnd] is a callback to the video end position. + /// + /// + /// * [onChangePlaybackState] is a callback to the video playback + /// state to know whether it is currently playing or paused. + /// + TrimEditor({ + @required this.viewerWidth, + @required this.viewerHeight, + this.fit = BoxFit.fitHeight, + this.maxVideoLength = const Duration(milliseconds: 0), + this.circleSize = 5.0, + this.circleSizeOnDrag = 8.0, + this.circlePaintColor = Colors.white, + this.borderPaintColor = Colors.white, + this.scrubberPaintColor = Colors.white, + this.thumbnailQuality = 75, + this.showDuration = true, + this.durationTextStyle = const TextStyle( + color: Colors.white, + ), + this.onChangeStart, + this.onChangeEnd, + this.onChangePlaybackState, + }) : assert(viewerWidth != null), + assert(viewerHeight != null), + assert(fit != null), + assert(maxVideoLength != null), + assert(circleSize != null), + assert(circleSizeOnDrag != null), + assert(circlePaintColor != null), + assert(borderPaintColor != null), + assert(scrubberPaintColor != null), + assert(thumbnailQuality != null), + assert(showDuration != null), + assert(durationTextStyle != null); + + @override + _TrimEditorState createState() => _TrimEditorState(); +} + +class _TrimEditorState extends State with TickerProviderStateMixin { + File _videoFile; + + double _videoStartPos = 0.0; + double _videoEndPos = 0.0; + + bool _canUpdateStart = true; + bool _isLeftDrag = true; + + Offset _startPos = Offset(0, 0); + Offset _endPos = Offset(0, 0); + + double _startFraction = 0.0; + double _endFraction = 1.0; + + int _videoDuration = 0; + int _currentPosition = 0; + + double _thumbnailViewerW = 0.0; + double _thumbnailViewerH = 0.0; + + int _numberOfThumbnails = 0; + + double _circleSize; + + double fraction; + double maxLengthPixels; + + ThumbnailViewer thumbnailWidget; + + Animation _scrubberAnimation; + AnimationController _animationController; + Tween _linearTween; + + Future _initializeVideoController() async { + if (_videoFile != null) { + videoPlayerController.addListener(() { + final bool isPlaying = videoPlayerController.value.isPlaying; + + if (isPlaying) { + widget.onChangePlaybackState(true); + setState(() { + _currentPosition = + videoPlayerController.value.position.inMilliseconds; + + if (_currentPosition > _videoEndPos.toInt()) { + widget.onChangePlaybackState(false); + videoPlayerController.pause(); + _animationController.stop(); + } else { + if (!_animationController.isAnimating) { + widget.onChangePlaybackState(true); + _animationController.forward(); + } + } + }); + } else { + if (videoPlayerController.value.isInitialized) { + if (_animationController != null) { + if ((_scrubberAnimation.value).toInt() == (_endPos.dx).toInt()) { + _animationController.reset(); + } + _animationController.stop(); + widget.onChangePlaybackState(false); + } + } + } + }); + + videoPlayerController.setVolume(1.0); + _videoDuration = videoPlayerController.value.duration.inMilliseconds; + print(_videoFile.path); + + _videoEndPos = fraction != null + ? _videoDuration.toDouble() * fraction + : _videoDuration.toDouble(); + + widget.onChangeEnd(_videoEndPos); + + final ThumbnailViewer _thumbnailWidget = ThumbnailViewer( + videoFile: _videoFile, + videoDuration: _videoDuration, + fit: widget.fit, + thumbnailHeight: _thumbnailViewerH, + numberOfThumbnails: _numberOfThumbnails, + quality: widget.thumbnailQuality, + ); + thumbnailWidget = _thumbnailWidget; + } + } + + void _setVideoStartPosition(DragUpdateDetails details) async { + if (!(_startPos.dx + details.delta.dx < 0) && + !(_startPos.dx + details.delta.dx > _thumbnailViewerW) && + !(_startPos.dx + details.delta.dx > _endPos.dx)) { + if (maxLengthPixels != null) { + if (!(_endPos.dx - _startPos.dx - details.delta.dx > maxLengthPixels)) { + setState(() { + if (!(_startPos.dx + details.delta.dx < 0)) + _startPos += details.delta; + + _startFraction = (_startPos.dx / _thumbnailViewerW); + + _videoStartPos = _videoDuration * _startFraction; + widget.onChangeStart(_videoStartPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoStartPos.toInt())); + _linearTween.begin = _startPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } else { + setState(() { + if (!(_startPos.dx + details.delta.dx < 0)) + _startPos += details.delta; + + _startFraction = (_startPos.dx / _thumbnailViewerW); + + _videoStartPos = _videoDuration * _startFraction; + widget.onChangeStart(_videoStartPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoStartPos.toInt())); + _linearTween.begin = _startPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } + } + + void _setVideoEndPosition(DragUpdateDetails details) async { + if (!(_endPos.dx + details.delta.dx > _thumbnailViewerW) && + !(_endPos.dx + details.delta.dx < 0) && + !(_endPos.dx + details.delta.dx < _startPos.dx)) { + if (maxLengthPixels != null) { + if (!(_endPos.dx - _startPos.dx + details.delta.dx > maxLengthPixels)) { + setState(() { + _endPos += details.delta; + _endFraction = _endPos.dx / _thumbnailViewerW; + + _videoEndPos = _videoDuration * _endFraction; + widget.onChangeEnd(_videoEndPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoEndPos.toInt())); + _linearTween.end = _endPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } else { + setState(() { + _endPos += details.delta; + _endFraction = _endPos.dx / _thumbnailViewerW; + + _videoEndPos = _videoDuration * _endFraction; + widget.onChangeEnd(_videoEndPos); + }); + await videoPlayerController.pause(); + await videoPlayerController + .seekTo(Duration(milliseconds: _videoEndPos.toInt())); + _linearTween.end = _endPos.dx; + _animationController.duration = + Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()); + _animationController.reset(); + } + } + } + + @override + void initState() { + super.initState(); + _circleSize = widget.circleSize; + + _videoFile = Trimmer.currentVideoFile; + _thumbnailViewerH = widget.viewerHeight; + + _numberOfThumbnails = widget.viewerWidth ~/ _thumbnailViewerH; + + _thumbnailViewerW = _numberOfThumbnails * _thumbnailViewerH; + + Duration totalDuration = videoPlayerController.value.duration; + + if (widget.maxVideoLength > Duration(milliseconds: 0) && + widget.maxVideoLength < totalDuration) { + if (widget.maxVideoLength < totalDuration) { + fraction = + widget.maxVideoLength.inMilliseconds / totalDuration.inMilliseconds; + + maxLengthPixels = _thumbnailViewerW * fraction; + } + } + + _initializeVideoController(); + _endPos = Offset( + maxLengthPixels != null ? maxLengthPixels : _thumbnailViewerW, + _thumbnailViewerH, + ); + + // Defining the tween points + _linearTween = Tween(begin: _startPos.dx, end: _endPos.dx); + + _animationController = AnimationController( + vsync: this, + duration: Duration(milliseconds: (_videoEndPos - _videoStartPos).toInt()), + ); + + _scrubberAnimation = _linearTween.animate(_animationController) + ..addListener(() { + setState(() {}); + }) + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + _animationController.stop(); + } + }); + } + + @override + void dispose() { + videoPlayerController.pause(); + widget.onChangePlaybackState(false); + if (_videoFile != null) { + videoPlayerController.setVolume(0.0); + videoPlayerController.pause(); + videoPlayerController.dispose(); + widget.onChangePlaybackState(false); + } + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onHorizontalDragStart: (DragStartDetails details) { + print("START"); + print(details.localPosition); + print((_startPos.dx - details.localPosition.dx).abs()); + print((_endPos.dx - details.localPosition.dx).abs()); + + if (_endPos.dx >= _startPos.dx) { + if ((_startPos.dx - details.localPosition.dx).abs() > + (_endPos.dx - details.localPosition.dx).abs()) { + setState(() { + _canUpdateStart = false; + }); + } else { + setState(() { + _canUpdateStart = true; + }); + } + } else { + if (_startPos.dx > details.localPosition.dx) { + _isLeftDrag = true; + } else { + _isLeftDrag = false; + } + } + }, + onHorizontalDragEnd: (DragEndDetails details) { + setState(() { + _circleSize = widget.circleSize; + }); + }, + onHorizontalDragUpdate: (DragUpdateDetails details) { + _circleSize = widget.circleSizeOnDrag; + + if (_endPos.dx >= _startPos.dx) { + _isLeftDrag = false; + if (_canUpdateStart && _startPos.dx + details.delta.dx > 0) { + _isLeftDrag = false; // To prevent from scrolling over + _setVideoStartPosition(details); + } else if (!_canUpdateStart && + _endPos.dx + details.delta.dx < _thumbnailViewerW) { + _isLeftDrag = true; // To prevent from scrolling over + _setVideoEndPosition(details); + } + } else { + if (_isLeftDrag && _startPos.dx + details.delta.dx > 0) { + _setVideoStartPosition(details); + } else if (!_isLeftDrag && + _endPos.dx + details.delta.dx < _thumbnailViewerW) { + _setVideoEndPosition(details); + } + } + }, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + widget.showDuration + ? Container( + width: _thumbnailViewerW, + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Duration(milliseconds: _videoStartPos.toInt()) + .toString() + .split('.')[0], + style: widget.durationTextStyle, + ), + Text( + Duration(milliseconds: _videoEndPos.toInt()) + .toString() + .split('.')[0], + style: widget.durationTextStyle, + ), + ], + ), + ), + ) + : Container(), + CustomPaint( + foregroundPainter: TrimEditorPainter( + startPos: _startPos, + endPos: _endPos, + scrubberAnimationDx: _scrubberAnimation.value, + circleSize: _circleSize, + circlePaintColor: widget.circlePaintColor, + borderPaintColor: widget.borderPaintColor, + scrubberPaintColor: widget.scrubberPaintColor, + ), + child: Container( + color: Colors.grey[900], + height: _thumbnailViewerH, + width: _thumbnailViewerW, + child: thumbnailWidget == null ? Column() : thumbnailWidget, + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor_painter.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor_painter.dart new file mode 100644 index 0000000..91df007 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor_painter.dart @@ -0,0 +1,150 @@ +import 'package:flutter/material.dart'; + +class TrimEditorPainter extends CustomPainter { + /// To define the start offset + final Offset startPos; + + /// To define the end offset + final Offset endPos; + + /// To define the horizontal length of the selected video area + final double scrubberAnimationDx; + + /// For specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `0.5`. + final double circleSize; + + /// For specifying the width of the border around + /// the trim area. By default it is set to `3`. + final double borderWidth; + + /// For specifying the width of the video scrubber + final double scrubberWidth; + + /// For specifying whether to show the scrubber + final bool showScrubber; + + /// For specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + final Color borderPaintColor; + + /// For specifying a color to the circle. + /// By default it is set to `Colors.white` + final Color circlePaintColor; + + /// For specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + final Color scrubberPaintColor; + + /// For drawing the trim editor slider + /// + /// The required parameters are [startPos], [endPos] + /// & [scrubberAnimationDx] + /// + /// * [startPos] to define the start offset + /// + /// + /// * [endPos] to define the end offset + /// + /// + /// * [scrubberAnimationDx] to define the horizontal length of the + /// selected video area + /// + /// + /// The optional parameters are: + /// + /// * [circleSize] for specifying a size to the holder at the + /// two ends of the video trimmer area, while it is `idle`. + /// By default it is set to `0.5`. + /// + /// + /// * [borderWidth] for specifying the width of the border around + /// the trim area. By default it is set to `3`. + /// + /// + /// * [scrubberWidth] for specifying the width of the video scrubber + /// + /// + /// * [showScrubber] for specifying whether to show the scrubber + /// + /// + /// * [borderPaintColor] for specifying a color to the border of + /// the trim area. By default it is set to `Colors.white`. + /// + /// + /// * [circlePaintColor] for specifying a color to the circle. + /// By default it is set to `Colors.white`. + /// + /// + /// * [scrubberPaintColor] for specifying a color to the video + /// scrubber inside the trim area. By default it is set to + /// `Colors.white`. + /// + TrimEditorPainter({ + @required this.startPos, + @required this.endPos, + @required this.scrubberAnimationDx, + this.circleSize = 0.5, + this.borderWidth = 3, + this.scrubberWidth = 1, + this.showScrubber = true, + this.borderPaintColor = Colors.white, + this.circlePaintColor = Colors.white, + this.scrubberPaintColor = Colors.white, + }) : assert(startPos != null), + assert(endPos != null), + assert(scrubberAnimationDx != null), + assert(circleSize != null), + assert(borderWidth != null), + assert(scrubberWidth != null), + assert(showScrubber != null), + assert(borderPaintColor != null), + assert(circlePaintColor != null), + assert(scrubberPaintColor != null); + + @override + void paint(Canvas canvas, Size size) { + var borderPaint = Paint() + ..color = borderPaintColor + ..strokeWidth = borderWidth + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + var circlePaint = Paint() + ..color = circlePaintColor + ..strokeWidth = 1 + ..style = PaintingStyle.fill + ..strokeCap = StrokeCap.round; + + var scrubberPaint = Paint() + ..color = scrubberPaintColor + ..strokeWidth = scrubberWidth + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + final rect = Rect.fromPoints(startPos, endPos); + + if (showScrubber) { + if (scrubberAnimationDx.toInt() > startPos.dx.toInt()) { + canvas.drawLine( + Offset(scrubberAnimationDx, 0), + Offset(scrubberAnimationDx, 0) + Offset(0, endPos.dy), + scrubberPaint, + ); + } + } + + canvas.drawRect(rect, borderPaint); + canvas.drawCircle( + startPos + Offset(0, endPos.dy / 2), circleSize, circlePaint); + canvas.drawCircle( + endPos + Offset(0, -endPos.dy / 2), circleSize, circlePaint); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return true; + } +} diff --git a/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trimmer.dart b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trimmer.dart new file mode 100644 index 0000000..3973e70 --- /dev/null +++ b/lib/Pages/Sub_Pages/Campaign/Video/Trimmer/trimmer.dart @@ -0,0 +1,300 @@ +import 'dart:io'; +import 'package:path/path.dart'; + +import 'package:flutter/material.dart'; +import 'package:flutter_ffmpeg/flutter_ffmpeg.dart'; +import 'package:intl/intl.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/file_formats.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/storage_dir.dart'; +import 'package:teso/Pages/Sub_Pages/Campaign/Video/Trimmer/trim_editor.dart'; +import 'package:video_player/video_player.dart'; + +/// Helps in loading video from file, saving trimmed video to a file +/// and gives video playback controls. Some of the helpful methods +/// are: +/// * [loadVideo()] +/// * [saveTrimmedVideo()] +/// * [videPlaybackControl()] +class Trimmer { + static File currentVideoFile; + + final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg(); + + /// Loads a video using the path provided. + /// + /// Returns the loaded video file. + Future loadVideo({@required File videoFile}) async { + currentVideoFile = videoFile; + if (currentVideoFile != null) { + videoPlayerController = VideoPlayerController.file(currentVideoFile); + await videoPlayerController.initialize().then((_) { + TrimEditor( + viewerHeight: 50, + viewerWidth: 50.0 * 8, + // currentVideoFile: currentVideoFile, + ); + }); + // TrimEditor( + // viewerHeight: 50, + // viewerWidth: 50.0 * 8, + // // currentVideoFile: currentVideoFile, + // ); + } + } + + Future _createFolderInAppDocDir( + String folderName, + StorageDir storageDir, + ) async { + Directory _directory; + + if (storageDir == null) { + _directory = await getApplicationDocumentsDirectory(); + } else { + switch (storageDir.toString()) { + case 'temporaryDirectory': + _directory = await getTemporaryDirectory(); + break; + + case 'applicationDocumentsDirectory': + _directory = await getApplicationDocumentsDirectory(); + break; + + case 'externalStorageDirectory': + _directory = await getExternalStorageDirectory(); + break; + } + } + + // Directory + folder name + final Directory _directoryFolder = + Directory('${_directory.path}/$folderName/'); + + if (await _directoryFolder.exists()) { + // If folder already exists return path + print('Exists'); + return _directoryFolder.path; + } else { + print('Creating'); + // If folder does not exists create folder and then return its path + final Directory _directoryNewFolder = + await _directoryFolder.create(recursive: true); + return _directoryNewFolder.path; + } + } + + /// Saves the trimmed video to file system. + /// + /// Returns the output video path + /// + /// The required parameters are [startValue] & [endValue]. + /// + /// The optional parameters are [videoFolderName], [videoFileName], + /// [outputFormat], [fpsGIF], [scaleGIF], [applyVideoEncoding]. + /// + /// The `@required` parameter [startValue] is for providing a starting point + /// to the trimmed video. To be specified in `milliseconds`. + /// + /// The `@required` parameter [endValue] is for providing an ending point + /// to the trimmed video. To be specified in `milliseconds`. + /// + /// The parameter [videoFolderName] is used to + /// pass a folder name which will be used for creating a new + /// folder in the selected directory. The default value for + /// it is `Trimmer`. + /// + /// The parameter [videoFileName] is used for giving + /// a new name to the trimmed video file. By default the + /// trimmed video is named as `_trimmed.mp4`. + /// + /// The parameter [outputFormat] is used for providing a + /// file format to the trimmed video. This only accepts value + /// of [FileFormat] type. By default it is set to `FileFormat.mp4`, + /// which is for `mp4` files. + /// + /// The parameter [storageDir] can be used for providing a storage + /// location option. It accepts only [StorageDir] values. By default + /// it is set to [applicationDocumentsDirectory]. Some of the + /// storage types are: + /// + /// * [temporaryDirectory] (Only accessible from inside the app, can be + /// cleared at anytime) + /// + /// * [applicationDocumentsDirectory] (Only accessible from inside the app) + /// + /// * [externalStorageDirectory] (Supports only `Android`, accessible externally) + /// + /// The parameters [fpsGIF] & [scaleGIF] are used only if the + /// selected output format is `FileFormat.gif`. + /// + /// * [fpsGIF] for providing a FPS value (by default it is set + /// to `10`) + /// + /// + /// * [scaleGIF] for proving a width to output GIF, the height + /// is selected by maintaining the aspect ratio automatically (by + /// default it is set to `480`) + /// + /// + /// * [applyVideoEncoding] for specifying whether to apply video + /// encoding (by default it is set to `false`). + /// + /// + /// ADVANCED OPTION: + /// + /// If you want to give custom `FFmpeg` command, then define + /// [ffmpegCommand] & [customVideoFormat] strings. The `input path`, + /// `output path`, `start` and `end` position is already define. + /// + /// NOTE: The advanced option does not provide any safety check, so if wrong + /// video format is passed in [customVideoFormat], then the app may + /// crash. + /// + Future saveTrimmedVideo({ + @required double startValue, + @required double endValue, + bool applyVideoEncoding = false, + FileFormat outputFormat, + String ffmpegCommand, + String customVideoFormat, + int fpsGIF, + int scaleGIF, + String videoFolderName, + String videoFileName, + StorageDir storageDir, + }) async { + final String _videoPath = currentVideoFile.path; + final String _videoName = basename(_videoPath).split('.')[0]; + + String _command; + + // Formatting Date and Time + String dateTime = DateFormat.yMMMd() + .addPattern('-') + .add_Hms() + .format(DateTime.now()) + .toString(); + + // String _resultString; + String _outputPath; + String _outputFormatString; + String formattedDateTime = dateTime.replaceAll(' ', ''); + + print("DateTime: $dateTime"); + print("Formatted: $formattedDateTime"); + + if (videoFolderName == null) { + videoFolderName = "Trimmer"; + } + + if (videoFileName == null) { + videoFileName = "${_videoName}_trimmed:$formattedDateTime"; + } + + videoFileName = videoFileName.replaceAll(' ', '_'); + + String path = await _createFolderInAppDocDir( + videoFolderName, + storageDir, + ).whenComplete( + () => print("Retrieved Trimmer folder"), + ); + + Duration startPoint = Duration(milliseconds: startValue.toInt()); + Duration endPoint = Duration(milliseconds: endValue.toInt()); + + // Checking the start and end point strings + print("Start: ${startPoint.toString()} & End: ${endPoint.toString()}"); + + print(path); + + if (outputFormat == null) { + if (Platform.isIOS) { + outputFormat = FileFormat.mp4; + } else { + outputFormat = FileFormat.mkv; + } + _outputFormatString = outputFormat.toString(); + print('OUTPUT: $_outputFormatString'); + } else { + _outputFormatString = outputFormat.toString(); + } + + String _trimLengthCommand = + ' -ss $startPoint -i "$_videoPath" -t ${endPoint - startPoint} -avoid_negative_ts make_zero '; + + if (ffmpegCommand == null) { + _command = '$_trimLengthCommand -c:a copy '; + + if (!applyVideoEncoding) { + _command += '-c:v copy '; + } + + if (outputFormat == FileFormat.gif) { + if (fpsGIF == null) { + fpsGIF = 10; + } + if (scaleGIF == null) { + scaleGIF = 480; + } + _command = + '$_trimLengthCommand -vf "fps=$fpsGIF,scale=$scaleGIF:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 '; + } + } else { + _command = '$_trimLengthCommand $ffmpegCommand '; + _outputFormatString = customVideoFormat; + } + + _outputPath = '$path$videoFileName$_outputFormatString'; + + _command += '"$_outputPath"'; + + await _flutterFFmpeg.execute(_command).whenComplete(() { + print('Got value'); + debugPrint('Video successfuly saved'); + // _resultString = 'Video successfuly saved'; + }).catchError((error) { + print('Error'); + // _resultString = 'Couldn\'t save the video'; + debugPrint('Couldn\'t save the video'); + }); + + return _outputPath; + } + + /// For getting the video controller state, to know whether the + /// video is playing or paused currently. + /// + /// The two required parameters are [startValue] & [endValue] + /// + /// * [startValue] is the current starting point of the video. + /// * [endValue] is the current ending point of the video. + /// + /// Returns a `Future`, if `true` then video is playing + /// otherwise paused. + Future videPlaybackControl({ + @required double startValue, + @required double endValue, + }) async { + if (videoPlayerController.value.isPlaying) { + await videoPlayerController.pause(); + return false; + } else { + if (videoPlayerController.value.position.inMilliseconds >= + endValue.toInt()) { + await videoPlayerController + .seekTo(Duration(milliseconds: startValue.toInt())); + await videoPlayerController.play(); + return true; + } else { + await videoPlayerController.play(); + return true; + } + } + } + + File getVideoFile() { + return currentVideoFile; + } +} diff --git a/lib/Pages/Sub_Pages/CoinPurchase.dart b/lib/Pages/Sub_Pages/CoinPurchase.dart new file mode 100644 index 0000000..104ae06 --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinPurchase.dart @@ -0,0 +1,173 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/consts.dart'; + +import 'package:teso/Pages/PageWidgets/CoinPurchase/selector.dart'; +import 'CoinsPurchase/GoldTransactions.dart'; +import 'CoinsPurchase/SilverTransaction.dart'; + +class Coins extends StatefulWidget { + final int initalPage; + + const Coins({Key key, @required this.initalPage}) : super(key: key); + @override + _CoinsState createState() => _CoinsState(); +} + +class _CoinsState extends State { + PageController _pageController; + Color goldText = Colors.white; + Color silverText = tesoBlue; + List gold = [ + tesoBlue, + tesoBlue, + ]; + List silver = [ + Colors.white, + Colors.white, + ]; + + void selectGold() { + setState(() { + gold = [ + tesoBlue, + tesoBlue, + ]; + silver = [ + Colors.white, + Colors.white, + ]; + goldText = Colors.white; + silverText = tesoBlue; + }); + } + + void selectSilver() { + setState(() { + silver = [ + tesoBlue, + tesoBlue, + ]; + gold = [ + Colors.white, + Colors.white, + ]; + silverText = Colors.white; + goldText = tesoBlue; + }); + } + + void selectedPage(int pages) { + if (pages == 0) { + selectGold(); + _pageController.jumpToPage(0); + } else { + selectSilver(); + _pageController.jumpToPage(1); + } + } + + @override + void initState() { + super.initState(); + _pageController = + PageController(initialPage: widget.initalPage, keepPage: false); + widget.initalPage == 0 ? selectGold() : selectSilver(); + } + + @override + void dispose() { + super.dispose(); + _pageController.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + height: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.5), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [tesoGold, tesoAsh, tesoBlue], + ), + ), + child: Column( + children: [ + AppBar( + backgroundColor: Colors.transparent, + leading: IconButton( + icon: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + onPressed: () => Navigator.pop(context), + ), + title: Center( + child: Text( + "Teso Coins", + style: TextStyle(color: Colors.white), + )), + ), + SizedBox(height: 20.0), + Container( + padding: EdgeInsets.all(5), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.28), + height: 52.5, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topRight: Radius.circular(25), + topLeft: Radius.circular(25), + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + buildSelector( + context, + "Gold Coins", + MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.25), + gold, + () => selectedPage(0), + goldText), + buildSelector( + context, + "Silver Coins", + MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.25), + silver, + () => selectedPage(1), + silverText), + ], + ), + ), + ], + ), + ), + preferredSize: Size.fromHeight( + MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width * 0.5), + ), + ), + body: PageView( + controller: _pageController, + onPageChanged: (int i) { + selectedPage(i); + }, + //physics: NeverScrollableScrollPhysics(), + children: [ + GoldTransactions(), + SilverTransaction(), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/GoldTransactions.dart b/lib/Pages/Sub_Pages/CoinsPurchase/GoldTransactions.dart new file mode 100644 index 0000000..0c968c7 --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/GoldTransactions.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'GoldWithdrawal.dart'; + +class GoldTransactions extends StatefulWidget { + @override + _GoldTransactionsState createState() => _GoldTransactionsState(); +} + +class _GoldTransactionsState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(65), + child: Container( + child: Material( + elevation: 5.0, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Padding( + padding: const EdgeInsets.all(7.0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Container( + height: 50.0, + width: 50.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: Container( + width: 50, + height: 50, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(50.0), + topRight: Radius.circular(50.0), + bottomLeft: Radius.circular(50), + bottomRight: Radius.circular(50), + ), + child: Image( + height: 50, + width: 50, + fit: BoxFit.fill, + image: + AssetImage("assets/images/gold1.png"), + ), + ), + ), + ), + ), + Consumer( + builder: (context, value, child) => Container( + width: 40, + height: 40, + child: Center( + child: Text( + value.currentUser != null + ? value.currentUser.gold + : "00", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ], + ), + Container( + height: 35, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: Theme.of(context).backgroundColor, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + )), + child: InkWell( + onTap: () => showDialog( + context: context, + builder: (BuildContext context) => + GoldCoinWithdrawal(), + ), + child: Text( + "CASH OUT", + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + ), + ), + ), + ), + ], + ), + ], + ), + ), + ), + ), + ), + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + Container( + margin: EdgeInsets.symmetric(vertical: 15), + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.3, + child: Center( + child: Image( + width: MediaQuery.of(context).size.width - + (MediaQuery.of(context).size.width) * 0.50, + image: AssetImage("assets/images/background.png"), + fit: BoxFit.fill, + ), + ), + ), + SizedBox(height: 20.0), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Earn more gold coins and redeem them as real cash . \n" + + " Would you like to earn some more gold coins ?", + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/GoldWithdrawal.dart b/lib/Pages/Sub_Pages/CoinsPurchase/GoldWithdrawal.dart new file mode 100644 index 0000000..7b3b5b0 --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/GoldWithdrawal.dart @@ -0,0 +1,171 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/AmountInput.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/MomoType.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/phonenumber.dart'; +import 'package:teso/Pages/Sub_Pages/Payments/Withdrawal.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; + +class GoldCoinWithdrawal extends StatefulWidget { + @override + _GoldCoinWithdrawalState createState() => _GoldCoinWithdrawalState(); +} + +class _GoldCoinWithdrawalState extends State { + bool loading = false; + TextEditingController amount; + TextEditingController momoNumber; + String tapped; + + @override + void initState() { + super.initState(); + amount = new TextEditingController(); + momoNumber = new TextEditingController(); + selectTransfer("MTN"); + } + + void selectTransfer(String type) { + setState(() { + tapped = type; + }); + print(tapped); + } + + submit() async { + await Navigator.push( + context, + PageTransition( + child: WithdrawalPage( + amount: amount.text, + momonumber: momoNumber.text, + provider: tapped, + ), + type: PageTransitionType.fade, + ), + ); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(Consts.padding), + ), + elevation: 0.0, + backgroundColor: Colors.transparent, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + child: Stack( + children: [ + Container( + padding: EdgeInsets.only( + top: Consts.padding, + bottom: Consts.padding, + left: Consts.padding, + right: Consts.padding, + ), + margin: EdgeInsets.only(top: Consts.avatarRadius), + decoration: new BoxDecoration( + color: Theme.of(context).primaryColor, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(Consts.padding), + ), + child: Column( + // mainAxisSize: MainAxisSize.min, // To make the card compact + children: [ + SizedBox(height: 14.0), + Container( + width: double.infinity, + child: Text( + "Amount", + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontSize: 17, + ), + ), + ), + SizedBox(height: 10.0), + buildAmount(context, amount), + SizedBox(height: 14.0), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + buildType(context, "assets/images/MTN.png", "MTN", + selectTransfer, tapped), + buildType(context, "assets/images/Vodafone.png", + "VODAFONE", selectTransfer, tapped), + buildType(context, "assets/images/AirtelTigo.png", + "AIRTEL", selectTransfer, tapped), + ], + ), + ), + SizedBox(height: 14.0), + Container( + width: double.infinity, + child: Text( + "Phone number", + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontSize: 17, + ), + ), + ), + SizedBox(height: 10.0), + inputTelNumber(context, momoNumber), + SizedBox(height: 14.0), + Align( + alignment: Alignment.bottomCenter, + child: Container( + height: 35, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: Theme.of(context).backgroundColor, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: Theme.of(context).colorScheme.secondary, + )), + child: InkWell( + onTap: submit, + child: Text( + "SUBMIT", + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + ), + ), + ), + ), + ), + Visibility( + visible: loading, + child: Align( + alignment: Alignment.bottomCenter, + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} + +class Consts { + Consts._(); + + static const double padding = 16.0; + static const double avatarRadius = 55.0; +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/PurchaseingSilver.dart b/lib/Pages/Sub_Pages/CoinsPurchase/PurchaseingSilver.dart new file mode 100644 index 0000000..19f3c8c --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/PurchaseingSilver.dart @@ -0,0 +1,149 @@ +import 'dart:convert'; + +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API Clasess/UserFinance.dart'; +import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/SilverPurchaseRequest.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Notifications/NotificationPlugin.dart'; +import 'package:teso/Pages/Sub_Pages/Payments/PaymentView.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class ProcessSilverPurchase extends StatefulWidget { + final int silverAmount; + final String method; + final double cost; + final TesoUser user; + + const ProcessSilverPurchase({ + Key key, + @required this.user, + @required this.cost, + @required this.method, + @required this.silverAmount, + }) : super(key: key); + @override + _ProcessSilverPurchaseState createState() => _ProcessSilverPurchaseState(); +} + +class _ProcessSilverPurchaseState extends State { + String processing = "Processing silver coin purchase"; + Future purchaseCoin() async { + try { + if (widget.method != "goldcoins") { + await Navigator.push( + context, + MaterialPageRoute( + builder: (context) => PaymentView( + selectedUrl: + 'https://expresspaygh.com/payment_api_auto.php?token=99356106a8bbaa43c9.217546426106a8bbaa4417.9361359096566106a8bbaa&orderid=213', + ), + maintainState: true), + ); + } else { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + SilverPurchaseRequest request = new SilverPurchaseRequest(); + request.coinamount = widget.silverAmount; + request.amount = widget.cost; + request.method = widget.method == "goldcoins" ? "gold" : "realcash"; + + var register = serverLocation + 'coins/purchase_silver'; + var client = await http.post(Uri.parse(register), + body: json.encode(request), headers: requestHeaders); + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "SilverCoin Purchase"; + if (client.statusCode == 200) { + var posts = jsonDecode(client.body); + UserFinance finance = UserFinance.fromJSON(posts); + TesoUser user = widget.user; + + user.gold = finance.gold.toString(); + user.silver = finance.silver.toString(); + setState(() { + processing = + "${request.coinamount} silver coins successfully purchased !!!"; + }); + Provider.of(context, listen: false).setUser(user); + await notificationPlugin.showNotification( + "Funds purchased", + "You have successfully purchased ${request.coinamount} silver coins", + payload.toString(), + ); + } else if (client.statusCode == 300) { + await notificationPlugin.showNotification( + "Insufficient Funds", + "Unable to purchase silver coins due to insufficient funds", + payload.toString(), + ); + setState(() { + processing = "Insufficient funds to complete transaction"; + }); + } else { + setState(() { + processing = + "An error occurred while processing purchase, please try again later"; + }); + } + } + } catch (e) { + setState(() { + processing = + "An error occurred while processing purchase, please try again later"; + }); + } + Future.delayed(Duration(seconds: 5), () => Navigator.pop(context)); + } + + @override + void initState() { + super.initState(); + purchaseCoin(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Container( + width: 200, + height: 200, + child: Column( + children: [ + Container( + child: processing == "Processing silver coin purchase" + ? CupertinoActivityIndicator( + animating: true, + radius: 15, + ) + : processing.contains("successfully") + ? Icon( + Icons.check_circle, + color: Colors.green, + ) + : Icon( + Icons.error, + color: Colors.red, + ), + ), + Container( + child: Text(processing), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchase.dart b/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchase.dart new file mode 100644 index 0000000..e2ef59f --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchase.dart @@ -0,0 +1,190 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/SilverAmountInput.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/MomoType.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/PayGold.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/phonenumber.dart'; + +class SilverPurchase extends StatefulWidget { + @override + _SilverPurchaseState createState() => _SilverPurchaseState(); +} + +class _SilverPurchaseState extends State { + TextEditingController amount; + TextEditingController momoNumber; + String tapped; + + @override + void initState() { + amount = new TextEditingController(); + momoNumber = new TextEditingController(); + super.initState(); + amount.addListener(() { + setState(() {}); + }); + } + + void selectTransfer(String type) { + setState(() { + tapped = type; + }); + } + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.030, + vertical: (MediaQuery.of(context).size.width) * 0.040, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + child: new Wrap( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 5.0, + bottom: 10.0, + ), + child: Center( + child: Text( + "Purchase Silver Coins", + style: TextStyle( + fontSize: 18.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: Container( + width: double.infinity, + margin: EdgeInsets.symmetric(vertical: 10), + child: new Wrap( + spacing: 10, + direction: Axis.horizontal, + children: [ + Container( + height: 70, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + "Amount", + style: TextStyle( + fontSize: 18, + ), + ), + ), + ), + buildAmount(context, amount), + ], + ), + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: Container( + width: double.infinity, + margin: EdgeInsets.symmetric(vertical: 5), + child: Text( + "Payment Method", + style: TextStyle( + fontSize: 18, + ), + ), + ), + ), + SizedBox(height: 14.0), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + payWithGold(context, "goldcoins", selectTransfer, tapped), + buildType(context, "assets/images/MTN.png", "mtn", + selectTransfer, tapped), + buildType(context, "assets/images/Vodafone.png", + "vodafone", selectTransfer, tapped), + buildType(context, "assets/images/AirtelTigo.png", + "airteltigo", selectTransfer, tapped), + ], + ), + ), + ), + SizedBox(height: 10.0), + Visibility( + visible: tapped != null && + tapped != "goldcoins" && + amount.text.isNotEmpty + ? true + : false, + child: Container( + width: double.infinity, + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: Text( + "Phone number", + style: TextStyle( + fontSize: 17, + ), + ), + ), + ), + Visibility( + visible: tapped != null && + tapped != "goldcoins" && + amount.text.isNotEmpty + ? true + : false, + child: SizedBox(height: 10.0)), + Visibility( + visible: tapped != null && + tapped != "goldcoins" && + amount.text.isNotEmpty + ? true + : false, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: inputTelNumber(context, momoNumber), + ), + ), + Visibility( + visible: + tapped != null && amount.text.isNotEmpty ? true : false, + child: new Container( + margin: EdgeInsets.symmetric( + vertical: 20.0, + ), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Text( + "Confirm", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + ) + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart b/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart new file mode 100644 index 0000000..5c6a1a5 --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/SilverPurchaseFixed.dart @@ -0,0 +1,188 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/MomoType.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/PayGold.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; +import 'package:url_launcher/url_launcher.dart'; + +import 'PurchaseingSilver.dart'; + +class SilverPurchaseFixed extends StatefulWidget { + final String amount; + final String goldCost; + final String cashCost; + final TesoUser user; + + const SilverPurchaseFixed( + {Key key, this.amount, this.goldCost, this.cashCost, this.user}) + : super(key: key); + @override + _SilverPurchaseFixedState createState() => _SilverPurchaseFixedState(); +} + +class _SilverPurchaseFixedState extends State { + TextEditingController momoNumber; + String tapped = "goldcoins"; + + @override + void initState() { + momoNumber = new TextEditingController(); + super.initState(); + } + + void selectTransfer(String type) { + setState(() { + tapped = type; + }); + } + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.030, + vertical: (MediaQuery.of(context).size.width) * 0.040, + ), + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + child: new Wrap( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 5.0, + bottom: 10.0, + ), + child: Center( + child: Text( + "Purchase Silver Coins", + style: TextStyle( + fontSize: 18.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.symmetric(vertical: 5), + child: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 15.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: "Purchasing ", + ), + new TextSpan( + text: widget.amount, + style: new TextStyle(fontWeight: FontWeight.bold), + ), + new TextSpan( + text: " Silver coins", + ), + ], + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: Container( + width: double.infinity, + margin: EdgeInsets.symmetric(vertical: 5), + child: Text( + "Payment Method", + style: TextStyle( + fontSize: 18, + ), + ), + ), + ), + SizedBox(height: 14.0), + Container( + color: Colors.transparent, + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + payWithGold(context, "goldcoins", selectTransfer, tapped), + buildType(context, "assets/images/MTN.png", "mtn", + selectTransfer, tapped), + buildType(context, "assets/images/Vodafone.png", + "vodafone", selectTransfer, tapped), + buildType(context, "assets/images/AirtelTigo.png", + "airteltigo", selectTransfer, tapped), + ], + ), + ), + ), + SizedBox(height: 10.0), + Visibility( + visible: tapped != null ? true : false, + child: new Container( + margin: EdgeInsets.symmetric( + vertical: 20.0, + ), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () async { + if (tapped == "goldcoins") { + Navigator.push( + context, + PageTransition( + child: ProcessSilverPurchase( + cost: double.parse(widget.goldCost), + method: tapped, + silverAmount: int.parse(widget.amount), + user: widget.user, + ), + type: PageTransitionType.leftToRight, + ), + ); + } else { + String _url = paymentServer + + "purchasesilver/user=${widget.user.userGUID}/amount=${widget.amount}/cointype=TESCNS01"; + await canLaunch(_url) + ? await launch( + _url, + enableJavaScript: true, + forceWebView: true, + ) + : throw 'Could not launch $_url'; + } + }, + child: Text( + "Confirm", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ), + ) + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/CoinsPurchase/SilverTransaction.dart b/lib/Pages/Sub_Pages/CoinsPurchase/SilverTransaction.dart new file mode 100644 index 0000000..63eb378 --- /dev/null +++ b/lib/Pages/Sub_Pages/CoinsPurchase/SilverTransaction.dart @@ -0,0 +1,241 @@ +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/SilverPurchase.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Referral.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; + +class SilverTransaction extends StatefulWidget { + @override + _SilverTransactionState createState() => _SilverTransactionState(); +} + +class _SilverTransactionState extends State { + @override + Widget build(BuildContext context) { + return Consumer(builder: (context, value, child) { + if (value.currentUser == null) { + return Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ); + } else { + return Scaffold( + resizeToAvoidBottomInset: true, + appBar: PreferredSize( + preferredSize: Size.fromHeight(65), + child: Container( + child: Material( + elevation: 5.0, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: Padding( + padding: const EdgeInsets.all(7.0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Container( + height: 50.0, + width: 50.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: Container( + width: 50, + height: 50, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(50.0), + topRight: Radius.circular(50.0), + bottomLeft: Radius.circular(50), + bottomRight: Radius.circular(50), + ), + child: Image( + height: 50, + width: 50, + fit: BoxFit.fill, + image: AssetImage( + "assets/images/silver1.png"), + ), + ), + ), + ), + ), + Container( + // width: 40, + height: 40, + child: Center( + child: Text( + value.currentUser != null + ? value.currentUser.silver + : "00", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + // InkWell( + // onTap: () => showModalBottomSheet( + // context: context, + // isScrollControlled: true, + // enableDrag: true, + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.vertical( + // top: Radius.circular(20.0)), + // ), + // builder: (BuildContext bc) { + // return SilverPurchase(); + // }, + // ), + // child: Container( + // height: 35, + // padding: EdgeInsets.all(10), + // margin: EdgeInsets.all(7), + // decoration: BoxDecoration( + // color: Theme.of(context).backgroundColor, + // borderRadius: + // BorderRadius.all(Radius.circular(20.0)), + // border: Border.all( + // color: Theme.of(context).accentColor, + // )), + // child: Text( + // "PURCHASE COINS", + // style: TextStyle( + // color: Theme.of(context).accentColor, + // ), + // ), + // ), + // ), + ], + ), + ], + ), + ), + ), + ), + ), + body: AnnotatedRegion( + value: SystemUiOverlayStyle.light, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.only( + top: 10, + ), + //height: MediaQuery.of(context).size.height - 120, + child: Center( + child: Column( + children: [ + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + buildSilverCard( + context: context, + goldEquivalent: "1", + cashEquivalent: "1", + funds: "100", + user: value.currentUser, + ), + buildSilverCard( + context: context, + goldEquivalent: "2", + cashEquivalent: "2", + funds: "240", + user: value.currentUser, + ), + buildSilverCard( + context: context, + goldEquivalent: "3", + cashEquivalent: "3", + funds: "380", + user: value.currentUser, + ), + buildSilverCard( + context: context, + goldEquivalent: "4", + cashEquivalent: "4", + funds: "520", + user: value.currentUser, + ), + buildSilverCard( + context: context, + goldEquivalent: "5", + cashEquivalent: "5", + funds: "660", + user: value.currentUser, + ) + ], + ), + ), + SizedBox(height: 14.0), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + "Earn more silver coins and use them for in-app purchases.", + textAlign: TextAlign.center, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + ), + ), + ), + ), + ), + Container( + height: 35, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: tesoBlue, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: tesoBlue, + )), + child: InkWell( + onTap: () => showDialog( + context: context, + builder: (BuildContext context) => Referrals(), + ), + child: Text( + "REFER AND EARN", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ), + ), + ), + ); + } + }); + } +} diff --git a/lib/Pages/Sub_Pages/Coupons/Acquire.dart b/lib/Pages/Sub_Pages/Coupons/Acquire.dart new file mode 100644 index 0000000..818dc97 --- /dev/null +++ b/lib/Pages/Sub_Pages/Coupons/Acquire.dart @@ -0,0 +1,226 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:teso/util/consts.dart'; + +class AcquireCoupon extends StatefulWidget { + final CouponsHead head; + final double price; + + const AcquireCoupon({Key key, this.head, this.price}) : super(key: key); + @override + _AcquireCouponState createState() => _AcquireCouponState(head: this.head); +} + +class _AcquireCouponState extends State { + final CouponsHead head; + _AcquireCouponState({this.head}); + double _value; + int _n = 1; + int coinCost = 0; + + changeValue(val) { + setState(() { + _value = val; + }); + calcCost(); + } + + calcCost() { + double price = widget.price * (_value / 100); + + coinCost = CouponRateCalculator.getRate(price); + + coinCost = coinCost * _n; + } + + @override + void initState() { + _value = head.lower; + calcCost(); + super.initState(); + } + + void add() { + setState(() { + _n++; + }); + calcCost(); + } + + void minus() { + setState(() { + if (_n != 1) _n--; + }); + calcCost(); + } + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.030, + vertical: (MediaQuery.of(context).size.width) * 0.040, + ), + child: Material( + child: new Wrap(children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 20.0, + bottom: 12.0, + ), + child: Center( + child: Text( + "ACQUIRE COUPON", + style: TextStyle( + fontSize: 20.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + title: new Container( + child: new Center( + child: new Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text("Quantity"), + new Container( + width: 30, + height: 30, + child: new FloatingActionButton( + onPressed: minus, + child: Text( + "-", + style: TextStyle( + fontSize: 25, + color: Colors.black, + ), + ), + backgroundColor: Colors.white, + ), + ), + new Text('$_n', style: new TextStyle(fontSize: 20.0)), + new Container( + width: 30, + height: 30, + child: new FloatingActionButton( + onPressed: add, + child: new Icon( + Icons.add, + color: Colors.black, + size: 20, + ), + backgroundColor: Colors.white, + ), + ), + ], + ), + ), + ), + ), + Container( + child: head.type.toLowerCase().contains("freebie") + ? Center( + child: Text("Coupon Type : FREEBIE"), + ) + : Row( + children: [ + Text(head.lower.toString() + " %"), + Slider( + value: _value, + min: head.lower, + max: head.upper, + divisions: 20, + activeColor: accentMain, + inactiveColor: darkAccent, + label: _value.toString() + "%", + onChanged: (double newValue) => changeValue(newValue), + ), + Text(head.upper.toString() + " %"), + ], + ), + ), + Center( + child: Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Container( + height: 40.0, + width: 40.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + ), + child: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(50.0), + topRight: Radius.circular(50.0), + bottomLeft: Radius.circular(50), + bottomRight: Radius.circular(50), + ), + child: Image( + height: 40, + width: 40, + fit: BoxFit.fill, + image: AssetImage("assets/images/silver1.png"), + ), + ), + ), + ), + ), + Container( + width: 40, + height: 40, + child: Center( + child: Text( + coinCost.toString(), + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + new ListTile( + title: new ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + ), + onPressed: coinCost == 0 + ? null + : () async { + head.lower = _value; + head.quantity = _n; + await Provider.of(context, listen: false) + .acceptCoupon(head, coinCost, context); + }, + child: Text("Confirm"), + ), + onTap: () => {}, + ), + ]), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Coupons/CouponLocation.dart b/lib/Pages/Sub_Pages/Coupons/CouponLocation.dart new file mode 100644 index 0000000..103d3cf --- /dev/null +++ b/lib/Pages/Sub_Pages/Coupons/CouponLocation.dart @@ -0,0 +1,338 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'dart:async'; +import 'package:flutter/services.dart' show PlatformException, rootBundle; +import 'package:flutter/cupertino.dart'; +import 'package:location/location.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:geolocator/geolocator.dart'; + +import 'package:teso/Classes/API%20Clasess/TesoBusinessDetail.dart'; +import 'package:teso/Classes/TesoShop.dart'; +import 'package:teso/Pages/Sub_Pages/BusinessDetails.dart'; +import 'package:flutter_polyline_points/flutter_polyline_points.dart'; +import 'package:teso/util/consts.dart'; + +class CouponLocator extends StatefulWidget { + final TesoBusinessDetail shop; + + const CouponLocator({Key key, this.shop}) : super(key: key); + @override + _CouponLocatorState createState() => _CouponLocatorState( + shop: new TesoShop( + categoryShop: this.shop.businessCategory, + dateEst: this.shop.dateOfEst, + email: this.shop.businessEmail, + handle: this.shop.handle, + latitude: double.parse(this.shop.businessLat), + logo: this.shop.businessLogo, + longitude: double.parse(this.shop.businessLng), + shopAddress: this.shop.businessAddress, + shopDescription: this.shop.businessDescription, + shopID: this.shop.businessId, + shopName: this.shop.businessName, + shopPhone: this.shop.businessContact, + shopTin: this.shop.businessTin, + )); +} + +class _CouponLocatorState extends State { + String mapstyle; + var _future; + static LatLng _initialPosition; + Map markers = {}; + GoogleMapController mapController; + static const double CAMERA_ZOOM = 14.4746; + static const double CAMERA_TILT = 80; + static const double CAMERA_BEARING = 30; + TesoShop shop; + _CouponLocatorState({this.shop}); + Map polylines = {}; + String selectedshop = ""; + Location location = Location(); + LocationData _location; + bool ios = false; + + Future _determinePosition() async { + try { + final LocationData _locationResult = await location.getLocation(); + setState(() { + _location = _locationResult; + _initialPosition = LatLng(_location.latitude, _location.longitude); + }); + await getLocations(); + return await navigateToShop(shop); + } on PlatformException catch (err) { + setState(() { + print(err.code); + }); + return false; + } + } + + getLocations() async { + MarkerId markerId = MarkerId(widget.shop.businessId); + Marker marker = Marker( + markerId: markerId, + position: LatLng(double.parse(widget.shop.businessLat), + double.parse(widget.shop.businessLng)), + icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueCyan), + infoWindow: InfoWindow( + title: widget.shop.businessName, + snippet: widget.shop.businessAddress, + ), + onTap: () => showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return buildShopDetails(bc, shop, navigateToShop); + }, + ), + ); + if (mounted) { + setState(() { + markers[markerId] = marker; + }); + } + } + + @override + void initState() { + super.initState(); + ios = Platform.isIOS; + SharedPreferences.getInstance().then((prefs) { + String currentTheme = prefs.getString("theme"); + if (currentTheme == "light") { + rootBundle.loadString('assets/styles/light.txt').then((string) { + mapstyle = string; + }); + } else { + rootBundle.loadString('assets/styles/dark.txt').then((string) { + mapstyle = string; + }); + } + }); + _future = _determinePosition(); + + location.onLocationChanged.listen((LocationData cLoc) { + _initialPosition = LatLng(cLoc.latitude, cLoc.longitude); + }); + } + + navigateToShop(TesoShop tesoShop) async { + MarkerId markerId = MarkerId(tesoShop.shopName + " Location"); + Marker marker = Marker( + markerId: markerId, + position: LatLng(tesoShop.latitude, tesoShop.longitude), + icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen), + infoWindow: InfoWindow( + title: tesoShop.shopName, + snippet: tesoShop.shopAddress, + ), + ); + + setState(() { + markers.clear(); + markers[markerId] = marker; + selectedshop = tesoShop.shopName; + }); + + Position user = Position( + latitude: _initialPosition.latitude, + longitude: _initialPosition.longitude, + accuracy: 100, + altitude: 100, + heading: 100, + speed: 100, + speedAccuracy: 100, + timestamp: DateTime.now()); + Position shopLoc = Position( + latitude: tesoShop.latitude, + longitude: tesoShop.longitude, + accuracy: 100, + altitude: 100, + heading: 100, + speed: 100, + speedAccuracy: 100, + timestamp: DateTime.now()); + + if (await createPolylines(user, shopLoc)) { + return true; + } else { + return false; + } + } + + createPolylines(Position start, Position destination) async { + try { + PolylinePoints polylinePoints; + List polylineCoordinates = []; + polylinePoints = PolylinePoints(); + PolylineResult result = await polylinePoints.getRouteBetweenCoordinates( + mapsKey, + PointLatLng(start.latitude, start.longitude), + PointLatLng(destination.latitude, destination.longitude), + travelMode: TravelMode.driving, + ); + + if (result.points.isNotEmpty) { + result.points.forEach((PointLatLng point) { + polylineCoordinates.add(LatLng(point.latitude, point.longitude)); + }); + } + + PolylineId id = PolylineId('poly'); + + Polyline polyline = Polyline( + polylineId: id, + color: Theme.of(context).colorScheme.secondary, + points: polylineCoordinates, + width: 5, + ); + setState(() { + polylines[id] = polyline; + }); + return true; + } catch (e) { + print(e); + return false; + } + } + + @override + void dispose() { + mapController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return new Scaffold( + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return Stack( + children: [ + ios + ? Container( + margin: EdgeInsets.only( + top: (MediaQuery.of(context).size.height) - + (MediaQuery.of(context).size.height * 0.935), + left: 10), + child: Material( + elevation: 5, + color: Color.fromRGBO(0, 0, 0, 0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 20, + ), + color: Colors.white, + onPressed: () => Navigator.pop(context), + ), + ), + ), + ) + : Container(), + Container( + padding: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.7), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text("Routing to shop....."), + ], + ), + ), + ), + ], + ); + } else if (snapshot.data == false && + snapshot.connectionState == ConnectionState.done) { + Navigator.of(context).pop(); + return Container(); + } else { + return Stack( + children: [ + GoogleMap( + padding: EdgeInsets.only( + top: 70.0, + ), + zoomGesturesEnabled: true, + zoomControlsEnabled: false, + compassEnabled: true, + myLocationButtonEnabled: true, + myLocationEnabled: true, + markers: Set.of(markers.values), + initialCameraPosition: CameraPosition( + target: _initialPosition, + zoom: CAMERA_ZOOM, + tilt: CAMERA_TILT, + bearing: CAMERA_BEARING, + ), + onMapCreated: (GoogleMapController controller) { + controller.setMapStyle(mapstyle); + mapController = controller; + }, + onCameraMove: (position) { + setState(() { + _initialPosition = LatLng( + position.target.latitude, position.target.longitude); + }); + }, + polylines: Set.of(polylines.values), + ), + Container( + margin: EdgeInsets.only( + top: (MediaQuery.of(context).size.height) - + (MediaQuery.of(context).size.height * 0.935), + left: 10), + child: Material( + elevation: 5, + color: Color.fromRGBO(0, 0, 0, 0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 20, + ), + color: Colors.white, + onPressed: () => Navigator.pop(context), + ), + ), + ), + ), + ], + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Coupons/LoadGiftRecipient.dart b/lib/Pages/Sub_Pages/Coupons/LoadGiftRecipient.dart new file mode 100644 index 0000000..2ac6693 --- /dev/null +++ b/lib/Pages/Sub_Pages/Coupons/LoadGiftRecipient.dart @@ -0,0 +1,88 @@ +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Friends/friendTile.dart'; +import 'package:teso/Pages/PageWidgets/Inbox/newMessageHeader.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Friends/header.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/providers/user_provider.dart'; + +class LoadGiftRecipient extends StatefulWidget { + @override + _LoadGiftRecipientState createState() => _LoadGiftRecipientState(); +} + +class _LoadGiftRecipientState extends State { + TextEditingController searchkey; + List recipientMain= []; + List recipient; + SharedPreferences prefs; + + void clearText() { + setState(() {}); + } + + @override + void initState() { + searchkey = new TextEditingController(); + super.initState(); + } + + updateList(String name, recipientMain) { + setState(() { + recipient = recipientMain + .where((element) => + element.username.toLowerCase().contains(name.toLowerCase())) + .toList(); + recipient.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(150), + child: Container( + // margin: EdgeInsets.only(top: 30), + child: Column(children: [ + buildNewHead(context, clearText, "Look up recipient"), + buildFriendsHeader(context, searchkey, updateList), + ]), + ), + ), + body: Consumer( + builder: (context, value, child) { + if (value.friends == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor), + ), + ); + } else { + if (recipientMain.length == 0) { + recipientMain = value.friends; + recipient = value.friends; + } + recipient.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + return ListView.builder( + itemCount: recipient.length, + itemBuilder: (context, int index) { + return InkWell( + onTap: () => + Navigator.pop(context, recipient.elementAt(index)), + child: buildFriend(context, recipient.elementAt(index)), + ); + }, + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Coupons/MyCouponOptions.dart b/lib/Pages/Sub_Pages/Coupons/MyCouponOptions.dart new file mode 100644 index 0000000..c0a2676 --- /dev/null +++ b/lib/Pages/Sub_Pages/Coupons/MyCouponOptions.dart @@ -0,0 +1,408 @@ +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import 'package:provider/provider.dart'; +import 'package:teso/Pages/codeQR.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:convert'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Pages/PageWidgets/Coupons/GiftFriend.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'LoadGiftRecipient.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:flutter/cupertino.dart'; + +class AcquiredOptions extends StatefulWidget { + final CouponDetails head; + + const AcquiredOptions({Key key, this.head}) : super(key: key); + @override + _AcquiredOptionsState createState() => _AcquiredOptionsState(head: this.head); +} + +class _AcquiredOptionsState extends State { + final CouponDetails head; + _AcquiredOptionsState({this.head}); + double _value; + String result = ""; + TextEditingController friendName; + TesoUser selectedFriend = new TesoUser(); + bool loading = false; + double _n; + int coinCost = 0; + int _time = 0; + bool freebie = false; + + changeValue(val) { + if (mounted) + setState(() { + _value = val; + }); + } + + calcCost() { + if (mounted) + setState(() { + _n = head.worth - (_value / 100) * head.worth; + _n.roundToDouble(); + }); + } + + // ignore: unused_element + Future _scanQRCode() async { + result = ""; + result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: QRCodeScanner(), + ), + ); + if (result != null && result.isNotEmpty) { + print("confirm purchase"); + } + } + + Future loadFriend(context) async { + selectedFriend = await showModalBottomSheet( + context: context, + // isScrollControlled: true, + // enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return LoadGiftRecipient(); + }); + if (selectedFriend != null) { + setState(() { + selectedFriend = selectedFriend; + }); + friendName.text = + selectedFriend.firstname + " " + selectedFriend.lastname; + if (friendName.text.length > 15) + friendName.text = friendName.text.substring(0, 15) + "..."; + } else { + friendName.text = ""; + setState(() { + selectedFriend = new TesoUser(); + }); + } + } + + Future giftCoupon() async { + setState(() { + loading = true; + }); + if (head.worth > 0 && selectedFriend.userGUID != null) { + CouponsHead gift = new CouponsHead(); + gift.businessId = head.issuer.businessName; + gift.targetProduct = head.targetProduct.productID; + gift.couponId = head.couponId; + if (freebie) { + gift.lower = 100; + } else { + gift.lower = _value; + } + gift.state = head.countID; + gift.upper = 0; + gift.type = selectedFriend.userGUID; + gift.expiration = head.expiration; + + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'coupons/giftCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(gift), headers: requestHeaders); + if (client1.statusCode == 200) { + setState(() { + loading = false; + }); + Navigator.pop(context, true); + Provider.of(context, listen: false).getCoupons(); + } + } catch (e) { + setState(() { + loading = false; + }); + print(e); + } + } + } + + @override + void initState() { + _value = head.worth; + friendName = new TextEditingController(); + _n = head.worth; + if (widget.head.type.toLowerCase().contains("freebie")) { + setState(() { + freebie = true; + }); + } + + super.initState(); + } + + void add() { + setState(() { + _time++; + coinCost = _time * 2; + }); + } + + void minus() { + setState(() { + if (_time != 0) { + _time--; + coinCost = (_time / 2).round(); + } + }); + } + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.030, + vertical: (MediaQuery.of(context).size.width) * 0.040, + ), + child: Material( + child: Stack( + children: [ + new Wrap( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 15.0, + bottom: 12.0, + ), + child: Center( + child: Text( + "COUPON OPTIONS", + style: TextStyle( + fontSize: 18.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + leading: new Text( + "Gift To : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + title: buildGiftRecipient( + context: context, + searchkey: friendName, + loadFriend: () => loadFriend(context), + friend: selectedFriend), + ), + if (!freebie) + Row( + children: [ + Text( + "Discount ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + Text("0 %"), + Slider( + value: _value, + min: 0, + max: 100, + divisions: 20, + activeColor: accentMain, + inactiveColor: darkAccent, + label: _value.toString() + "%", + onChanged: (double newValue) { + setState(() { + _value = newValue; + }); + calcCost(); + }, + ), + Text("100 %"), + ], + ), + Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + ), + onPressed: () async => await giftCoupon(), + child: Text("Gift"), + ), + ), + Center( + child: Wrap( + direction: Axis.horizontal, + children: [ + Container( + child: Text("Current Coupon Worth : "), + ), + Container( + child: Text( + _n.toString() + " % ", + style: TextStyle( + // fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + ), + // Divider(), + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceEvenly, + // children: [ + // Text( + // "Additional Time (hours) ", + // style: TextStyle( + // fontWeight: FontWeight.bold, + // ), + // ), + // Container( + // width: 30, + // child: new FloatingActionButton( + // onPressed: minus, + // child: new Text( + // "-", + // style: TextStyle( + // fontSize: 30, + // color: Colors.black, + // ), + // ), + // backgroundColor: Colors.white, + // ), + // ), + // new Text( + // '$_time', + // style: TextStyle( + // fontSize: 20, + // fontWeight: FontWeight.bold, + // ), + // ), + // Container( + // width: 30, + // child: new FloatingActionButton( + // onPressed: add, + // child: new Icon( + // Icons.add, + // color: Colors.black, + // size: 20, + // ), + // backgroundColor: Colors.white, + // ), + // ), + // ], + // ), + // Center( + // child: Row( + // mainAxisAlignment: MainAxisAlignment.spaceEvenly, + // children: [ + // Container( + // child: Text( + // "Cost", + // style: TextStyle( + // fontWeight: FontWeight.bold, + // ), + // ), + // ), + // Wrap( + // direction: Axis.horizontal, + // children: [ + // Container( + // child: Container( + // height: 30.0, + // width: 30.0, + // decoration: new BoxDecoration( + // shape: BoxShape.circle, + // ), + // child: ClipRRect( + // borderRadius: BorderRadius.only( + // topLeft: Radius.circular(50.0), + // topRight: Radius.circular(50.0), + // bottomLeft: Radius.circular(50), + // bottomRight: Radius.circular(50), + // ), + // child: Image( + // height: 30, + // width: 30, + // fit: BoxFit.fill, + // image: + // AssetImage("assets/images/silver1.png"), + // ), + // ), + // ), + // ), + // Container( + // width: 30, + // height: 30, + // child: Center( + // child: Text( + // "$_time", + // style: TextStyle( + // fontSize: 16.5, + // fontWeight: FontWeight.bold, + // ), + // ), + // ), + // ), + // ], + // ), + // ], + // ), + // ), + // Center( + // child: ElevatedButton( + // style: ElevatedButton.styleFrom( + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.circular(20.0), + // ), + // primary: accentMain, + // ), + // onPressed: () async => await giftCoupon(), + // child: Text("Extend Time"), + // ), + // ), + ], + ), + Visibility( + visible: loading, + child: Container( + color: Color.fromRGBO(0, 0, 0, 0.2), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.width, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Coupons/ProximityCoupons.dart b/lib/Pages/Sub_Pages/Coupons/ProximityCoupons.dart new file mode 100644 index 0000000..d179f74 --- /dev/null +++ b/lib/Pages/Sub_Pages/Coupons/ProximityCoupons.dart @@ -0,0 +1,404 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart' show timeDilation; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/Pages/Sub_Pages/CoinPurchase.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Pages/PageWidgets/ProximityList/ActiveDiscount.dart'; +import 'package:teso/Pages/PageWidgets/ProximityList/ActiveFreebie.dart'; +import 'package:teso/Pages/PageWidgets/ProximityList/DummyDiscount.dart'; +import 'package:teso/Pages/PageWidgets/ProximityList/DummyFreebie.dart'; +import 'package:teso/providers/user_provider.dart'; + +class ProximityCoupons extends StatefulWidget { + @override + _ProximityCouponsState createState() => _ProximityCouponsState(); +} + +class _ProximityCouponsState extends State + with TickerProviderStateMixin { + AnimationController _buttonController; + Animation rotate; + Animation right; + Animation bottom; + Animation width; + int flag = 0; + List data = []; + List selectedData = []; + double selectedDiscount; + double price = 0; + + @override + void initState() { + super.initState(); + + _buttonController = new AnimationController( + duration: new Duration(milliseconds: 1000), vsync: this); + + rotate = new Tween( + begin: -0.0, + end: -40.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + rotate.addListener(() { + setState(() { + if (rotate.isCompleted) { + var i = data.removeLast(); + data.insert(0, i); + + _buttonController.reset(); + } + }); + }); + + right = new Tween( + begin: 0.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + bottom = new Tween( + begin: 15.0, + end: 100.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + width = new Tween( + begin: 20.0, + end: 25.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.bounceOut, + ), + ); + } + + @override + void dispose() { + _buttonController.dispose(); + super.dispose(); + } + + Future _swipeAnimation() async { + try { + await _buttonController.forward(); + } on TickerCanceled {} + } + + dismissImg(ProximityCoupon img) async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = img.business.businessId; + couponsHead.expiration = img.expiration; + couponsHead.couponId = img.couponId; + couponsHead.quantity = img.quantity; + couponsHead.state = "active"; + couponsHead.lower = double.parse(img.lowerLimit.toString()); + couponsHead.upper = double.parse(img.upperLimit.toString()); + + Provider.of(context, listen: false) + .declineCoupon(couponsHead); + + setState(() { + data.remove(img); + }); + } + + addImg(ProximityCoupon img) async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = img.business.businessId; + couponsHead.expiration = img.expiration; + couponsHead.couponId = img.couponId; + couponsHead.quantity = 1; + couponsHead.state = "active"; + couponsHead.lower = double.parse(img.lowerLimit.toString()); + couponsHead.upper = double.parse(img.upperLimit.toString()); + couponsHead.targetProduct = img.targetID; + double price = (img.targetCost * (img.lowerLimit / 100)); + + //Calculations + int cost = CouponRateCalculator.getRate(price); + Provider.of(context, listen: false) + .acceptCoupon(couponsHead, cost.ceil(), context); + + setState(() { + data.remove(img); + selectedData.add(img); + }); + } + + swipeRight(img) { + if (flag == 0) + setState(() { + flag = 1; + }); + _swipeAnimation(); + addImg(img); + } + + swipeLeft(img) { + if (flag == 1) + setState(() { + flag = 0; + }); + _swipeAnimation(); + dismissImg(img); + } + + void calculateWorth(worth) { + setState(() { + price = worth; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Proximity Coupons"), + actions: [ + Consumer(builder: + (BuildContext context, UserProvider value, Widget child) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 30, + child: Row( + children: [ + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.bottomToTop, + child: Coins(initalPage: 0), + ), + ), + child: Image( + image: AssetImage("assets/images/gold1.png"), + ), + ), + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.bottomToTop, + child: Coins(initalPage: 0), + ), + ), + child: Container( + margin: EdgeInsets.only(left: 2), + child: Center( + child: Text( + value.currentUser.gold, + style: TextStyle(fontSize: 13.5), + ), + ), + ), + ), + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.bottomToTop, + child: Coins(initalPage: 1), + ), + ), + child: Image( + image: AssetImage("assets/images/silver1.png"), + ), + ), + InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.bottomToTop, + child: Coins(initalPage: 1), + ), + ), + child: Container( + margin: EdgeInsets.only( + left: 2, + right: 2, + ), + child: Center( + child: Text( + value.currentUser.silver, + style: TextStyle(fontSize: 13.5), + ), + ), + ), + ), + ], + ), + ), + ], + ); + }), + ], + ), + body: Consumer( + builder: (context, value, child) { + if (!value.serviceEnabled) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Container( + child: Text( + "Proximity Coupon Alerts Disabled", + textAlign: TextAlign.center, + style: TextStyle( + color: Color(0xFF003445), + fontFamily: 'WickedGrit', + fontSize: 30, + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green[200], + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => + Provider.of(context, listen: false) + .toggleBackgroundMode(context), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Enable", + style: new TextStyle( + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } else if (value.proximityCoupons == null || + value.proximityCoupons.length == 0) { + return Center( + child: Text("No coupons available in your location"), + ); + } else { + data = value.proximityCoupons; + timeDilation = 0.4; + double initialBottom = 15.0; + var dataLength = data.length; + double backCardPosition = + initialBottom + (dataLength - 1) * 10 + 10; + double backCardWidth = -10.0; + + return Container( + alignment: Alignment.center, + child: dataLength > 0 + ? new Stack( + alignment: AlignmentDirectional.center, + children: data.map((item) { + if (data.indexOf(item) == dataLength - 1 && + item.type.toLowerCase().contains("discount")) { + selectedDiscount = item.lowerLimit; + return buildActiveDiscountCoupon( + item, + bottom.value, + right.value, + 0.0, + backCardWidth + 10, + rotate.value, + rotate.value < -10 ? 0.1 : 0.0, + context, + dismissImg, + flag, + addImg, + swipeRight, + swipeLeft, + price, + calculateWorth); + } else if (data.indexOf(item) == dataLength - 1 && + item.type.toLowerCase().contains("freebie")) { + return buildActiveFreebieCoupon( + item, + bottom.value, + right.value, + 0.0, + backCardWidth + 10, + rotate.value, + rotate.value < -10 ? 0.1 : 0.0, + context, + dismissImg, + flag, + addImg, + swipeRight, + swipeLeft, + ); + } else if (data.indexOf(item) < dataLength - 1 && + item.type.toLowerCase().contains("discount")) { + backCardPosition = backCardPosition - 10; + backCardWidth = backCardWidth + 10; + double price = item.targetCost - + (item.targetCost * item.lowerLimit / 100); + return buildDummyDiscountCoupon( + item, + backCardPosition, + 0.0, + 0.0, + backCardWidth, + 0.0, + 0.0, + context, + price.toString(), + selectedDiscount); + } else { + backCardPosition = backCardPosition - 10; + backCardWidth = backCardWidth + 10; + double price = item.targetCost - + (item.targetCost * item.lowerLimit / 100); + return buildDummyFreebieCoupon( + item, + backCardPosition, + 0.0, + 0.0, + backCardWidth, + 0.0, + 0.0, + context, + price.toString(), + selectedDiscount); + } + }).toList()) + : new Center( + child: Text("No coupons available in your location")), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Desires Come True/AddDesire.dart b/lib/Pages/Sub_Pages/Desires Come True/AddDesire.dart new file mode 100644 index 0000000..7c6607d --- /dev/null +++ b/lib/Pages/Sub_Pages/Desires Come True/AddDesire.dart @@ -0,0 +1,236 @@ +import 'package:teso/Classes/API%20Clasess/Desire.dart'; +import 'package:flutter/material.dart'; + +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/util/consts.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; +import 'package:teso/Pages/PageWidgets/DesireComeTrue/DesireTile.dart'; +import 'NotListed.dart'; +import 'package:jiffy/jiffy.dart'; + +class NewDesire extends StatefulWidget { + final List selected; + + const NewDesire({Key key, this.selected}) : super(key: key); + @override + _NewDesireState createState() => _NewDesireState(); +} + +class _NewDesireState extends State { + List newdesire = []; + List newdesireMain = []; + var search = new TextEditingController(); + SharedPreferences prefs; + List selectList = []; + + @override + void initState() { + super.initState(); + search.addListener(() async { + if (search.text.isNotEmpty) { + lookItem(); + } else { + setState(() { + newdesire.clear(); + }); + } + }); + selectList = widget.selected.map((e) => e.productID).toList(); + } + + lookItem() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = search.text.toString(); + var register = serverLocation + 'products/desire-product'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + var items = jsonDecode(client.body); + + newdesireMain = List.from( + items.map((model) => Desire.fromJSON(model)).toList()); + updateList(); + } else { + if (mounted) { + setState(() { + newdesireMain.clear(); + }); + } + } + } + + updateList() { + if (mounted) { + setState(() { + newdesireMain + .removeWhere((element) => selectList.contains(element.productID)); + newdesire = newdesireMain; + newdesire.sort((a, b) { + return b.productName.compareTo(a.productName); + }); + }); + } + } + + addItem(Desire item) { + if (mounted) + setState(() { + widget.selected.add(item); + selectList.add(item.productID); + newdesire.remove(item); + }); + } + + @override + void dispose() { + search.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + padding: EdgeInsets.symmetric(horizontal: 10), + margin: EdgeInsets.only(top: 30), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Material( + color: Colors.black54, + elevation: 0, + borderRadius: BorderRadius.circular(30.0), + child: Row( + children: [ + new Expanded( + child: TextField( + autofocus: false, + textAlign: TextAlign.start, + controller: search, + style: TextStyle( + color: Colors.white, + ), + decoration: InputDecoration( + border: InputBorder.none, + contentPadding: + EdgeInsets.symmetric(horizontal: 14.0), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + Container( + child: InkWell( + onTap: () => search.clear(), + child: Icon( + Icons.close_outlined, + color: Colors.white, + ), + ), + margin: EdgeInsets.symmetric(horizontal: 20), + ), + ], + ), + ), + ), + SizedBox( + width: 15, + ), + Container( + child: RaisedGradientButton( + child: Text( + "Done", + style: TextStyle(color: Colors.white, fontSize: 15), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + tesoGold, + tesoGold, + ], + ), + onPressed: () { + SharedPreferences.getInstance().then((value) { + var jiffy = Jiffy()..add(months: 1); + value.setString("desire" + jiffy.format("MMMM, yyyy"), + widget.selected.toString()); + }); + Navigator.pop(context, true); + }, + width: 70, + height: 50, + ), + ), + ], + ), + ), + preferredSize: Size.fromHeight(50.0)), + body: newdesire.length == 0 && search.text.length != 0 + ? InkWell( + onTap: () async { + Desire unlistedDesire = await showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + content: NotListed( + productName: search.text, + ), + ); + }); + if (unlistedDesire != null) widget.selected.add(unlistedDesire); + search.clear(); + }, + child: Container( + padding: EdgeInsets.all(20), + width: MediaQuery.of(context).size.width, + child: Center( + child: Container( + child: Wrap( + //direction: Axis.vertical, + children: [ + Container( + child: Text( + "Sorry, the product you entered has not been posted by any business. ", + textAlign: TextAlign.center, + style: TextStyle(fontSize: 16), + ), + ), + Text( + "Click here to have the product enlisted and sent to the appropriate businesses.", + textAlign: TextAlign.center, + style: TextStyle(color: tesoBlue, fontSize: 16.5), + ), + ], + ), + ), + ), + ), + ) + : ListView.builder( + itemCount: newdesire.length, + itemBuilder: (context, int index) { + if (newdesire.length == 0 && search.text.length == 0) { + return Container(); + } else { + if (!widget.selected.contains(newdesire.elementAt(index))) { + return buildProductDesire( + context, newdesire.elementAt(index), addItem); + } else { + return Container(); + } + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Desires Come True/NotListed.dart b/lib/Pages/Sub_Pages/Desires Come True/NotListed.dart new file mode 100644 index 0000000..7a24673 --- /dev/null +++ b/lib/Pages/Sub_Pages/Desires Come True/NotListed.dart @@ -0,0 +1,100 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/categories.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/Desire.dart'; + +class NotListed extends StatefulWidget { + final String productName; + + const NotListed({Key key, this.productName}) : super(key: key); + @override + _NotListedState createState() => _NotListedState(); +} + +class _NotListedState extends State { + List categories = Category.category; + Category selectedCategory = new Category(); + + @override + void initState() { + super.initState(); + selectedCategory = categories.elementAt(0); + } + + @override + Widget build(BuildContext context) { + return Container( + height: MediaQuery.of(context).size.width * 0.33, + width: MediaQuery.of(context).size.width, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + child: Text( + widget.productName, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + ), + ), + ), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: DropdownButton( + hint: Center( + child: Text( + "Product Category", + ), + ), + value: selectedCategory, + items: categories + .map( + (category) => DropdownMenuItem( + value: category, + child: Text( + category.name, + style: TextStyle(color: Colors.grey, fontSize: 17), + ), + ), + ) + .toList(), + onChanged: (value) { + setState(() { + selectedCategory = value; + }); + }), + ), + Container( + child: RaisedGradientButton( + child: Text( + "Add to List", + style: TextStyle(color: Colors.white, fontSize: 15), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + tesoGold, + tesoGold, + ], + ), + onPressed: () { + Desire item = new Desire(); + item.category = selectedCategory.id; + item.enlisted = "false"; + item.price = 0.0; + item.productID = widget.productName; + item.productImage = ""; + item.productName = widget.productName; + Navigator.pop(context, item); + }, + width: 120, + height: 50, + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/Categories/AllCategories.dart b/lib/Pages/Sub_Pages/Explore/Categories/AllCategories.dart new file mode 100644 index 0000000..8c40a22 --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/Categories/AllCategories.dart @@ -0,0 +1,45 @@ +import 'package:teso/Classes/categories.dart'; +import 'package:teso/Pages/PageWidgets/Explore/categoriesTile.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:page_transition/page_transition.dart'; + +class CategoriesAll extends StatefulWidget { + @override + _CategoriesAllState createState() => _CategoriesAllState(); +} + +class _CategoriesAllState extends State { + List productCategories = Category.category; + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + title: Text("Categories"), + ), + body: StaggeredGridView.count( + crossAxisCount: 2, + children: List.generate(productCategories.length, (int index) { + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: ExploreCategory( + selectedCategory: productCategories.elementAt(index), + ), + type: PageTransitionType.leftToRight)), + child: buildCategory(context, productCategories.elementAt(index)), + ); + }), + staggeredTiles: List.generate( + productCategories.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart b/lib/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart new file mode 100644 index 0000000..80d2ffb --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart @@ -0,0 +1,139 @@ +import 'dart:convert'; +import 'package:teso/Classes/categories.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Pages/PageWidgets/Explore/products.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:flutter/cupertino.dart'; + +class ExploreCategory extends StatefulWidget { + final Category selectedCategory; + + const ExploreCategory({Key key, this.selectedCategory}) : super(key: key); + @override + _ExploreCategoryState createState() => _ExploreCategoryState(); +} + +class _ExploreCategoryState extends State { + ScrollController _controller; + List products; + List show = []; + int count = 0; + var _future; + + Future fetchImages() async { + try { + if (products != null && show.length <= products.length) { + count = show.length; + for (int i = 0; i <= 9; i++) { + if (products.length > count) + setState(() { + show.add(products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } else { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'search/category-products'; + var client = await http.post(Uri.parse(register), + body: json.encode(widget.selectedCategory.id), + headers: requestHeaders); + if (client.statusCode == 200) { + var productItem = jsonDecode(client.body); + this.products = List.from( + productItem.map((model) => Product.fromJson(model)).toList()); + + count = show.length; + for (int i = 0; i <= 9; i++) { + if (products.length > count) + setState(() { + show.add(products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } + } + } catch (e) { + print(e); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + super.initState(); + _future = fetchImages(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + title: Text(widget.selectedCategory.name), + actions: [ + Image( + image: AssetImage(widget.selectedCategory.image), + ), + ], + ), + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (products == null && + snapshot.connectionState == ConnectionState.waiting) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else if (products == null && + snapshot.connectionState == ConnectionState.done) { + return Container( + child: Center( + child: Text("No products under this category posted!"), + ), + ); + } else { + return StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return index % 2 == 0 + ? buildProducts(context, show.elementAt(index)) + : buildProducts(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ); + } + }), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/ExploreBusiness.dart b/lib/Pages/Sub_Pages/Explore/ExploreBusiness.dart new file mode 100644 index 0000000..ed62574 --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/ExploreBusiness.dart @@ -0,0 +1,80 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Classes/TesoShop.dart'; + +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:teso/Pages/PageWidgets/Explore/business.dart'; + +class ExploreBusiness extends StatefulWidget { + final List businesses; + + const ExploreBusiness({Key key, this.businesses}) : super(key: key); + @override + _ExploreBusinessState createState() => _ExploreBusinessState(); +} + +class _ExploreBusinessState extends State { + ScrollController _controller; + List show = []; + int count = 0; + + Future fetchImages() async { + try { + count = show.length; + for (int i = 0; i <= 9; i++) { + if (widget.businesses.length > count) + setState(() { + show.add(widget.businesses.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + } + + @override + void didUpdateWidget(covariant ExploreBusiness oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.businesses != widget.businesses || + widget.businesses.length == 0) { + show = []; + fetchImages(); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + fetchImages(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Container( + child: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return buildBusiness(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/ExplorePeople.dart b/lib/Pages/Sub_Pages/Explore/ExplorePeople.dart new file mode 100644 index 0000000..3f7b950 --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/ExplorePeople.dart @@ -0,0 +1,46 @@ +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Friends/friendTile.dart'; +import 'package:teso/Pages/Sub_Pages/userProfile3P.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:flutter/material.dart'; + +class ExplorePeople extends StatefulWidget { + final List people; + + const ExplorePeople({Key key, this.people}) : super(key: key); + @override + _ExplorePeopleState createState() => _ExplorePeopleState(); +} + +class _ExplorePeopleState extends State { + @override + Widget build(BuildContext context) { + return Container( + child: ListView.builder( + itemCount: widget.people.length, + itemBuilder: (context, int index) { + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: UserProfileThirdPerson( + user: widget.people.elementAt(index), + ), + type: PageTransitionType.fade, + ), + ), + child: Column( + children: [ + buildFriend(context, widget.people.elementAt(index)), + Padding( + padding: const EdgeInsets.all(8.0), + child: Divider(), + ), + ], + ), + ); + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/ExploreProduct.dart b/lib/Pages/Sub_Pages/Explore/ExploreProduct.dart new file mode 100644 index 0000000..bec06eb --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/ExploreProduct.dart @@ -0,0 +1,80 @@ +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:teso/Pages/PageWidgets/Explore/products.dart'; + +class ExploreProduct extends StatefulWidget { + final List products; + + const ExploreProduct({Key key, this.products}) : super(key: key); + @override + _ExploreProductState createState() => _ExploreProductState(); +} + +class _ExploreProductState extends State { + ScrollController _controller; + List show = []; + int count = 0; + + Future fetchImages() async { + try { + count = show.length; + for (int i = 0; i <= 9; i++) { + if (widget.products.length > count) + setState(() { + show.add(widget.products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + } + + @override + void didUpdateWidget(covariant ExploreProduct oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.products != widget.products || widget.products.length == 0) { + show = []; + fetchImages(); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + fetchImages(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Container( + child: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return index % 2 == 0 + ? buildProducts(context, show.elementAt(index)) + : buildProducts(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/Latest/AllLatest.dart b/lib/Pages/Sub_Pages/Explore/Latest/AllLatest.dart new file mode 100644 index 0000000..c237ced --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/Latest/AllLatest.dart @@ -0,0 +1,75 @@ +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/Pages/PageWidgets/Explore/products.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; + +class NewArrivals extends StatefulWidget { + final List products; + + const NewArrivals({Key key, this.products}) : super(key: key); + @override + _NewArrivalsState createState() => _NewArrivalsState(); +} + +class _NewArrivalsState extends State { + ScrollController _controller; + List show = []; + int count = 0; + + Future fetchImages() async { + try { + count = show.length; + for (int i = 0; i <= 9; i++) { + if (widget.products.length > count) + setState(() { + show.add(widget.products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + fetchImages(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + title: Text("New Arrivals"), + ), + body: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return index % 2 == 0 + ? buildProducts(context, show.elementAt(index)) + : buildProducts(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/ML/FindProduct.dart b/lib/Pages/Sub_Pages/Explore/ML/FindProduct.dart new file mode 100644 index 0000000..72190cb --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/ML/FindProduct.dart @@ -0,0 +1,220 @@ +import 'dart:io'; + +import 'package:google_ml_vision/google_ml_vision.dart'; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:teso/Pages/PageWidgets/Explore/products.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/search.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/util/consts.dart'; +import 'dart:convert'; + +class MLFindProduct extends StatefulWidget { + final File searchImage; + + const MLFindProduct({Key key, this.searchImage}) : super(key: key); + @override + _MLFindProductState createState() => _MLFindProductState(); +} + +class _MLFindProductState extends State { + List products = []; + List show = []; + var searchkey = new TextEditingController(); + var _future; + ScrollController _controller; + int count = 0; + List searchList = []; + SharedPreferences prefs; + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + Future fetchImages() async { + try { + final GoogleVisionImage visionImage = + GoogleVisionImage.fromFile(widget.searchImage); + + final ImageLabeler labeler = GoogleVision.instance.imageLabeler(); + final List labels = await labeler.processImage(visionImage); + final TextRecognizer textRecognizer = + GoogleVision.instance.textRecognizer(); + VisionText visionText = await textRecognizer.processImage(visionImage); + textRecognizer.close(); + + for (ImageLabel label in labels) { + final String name = label.text; + if (!searchList.contains(name) && name.length > 2) searchList.add(name); + } + + for (TextBlock blocks in visionText.blocks) { + if (!searchList.contains(blocks.text) && blocks.text.length > 2) + searchList.add(blocks.text); + } + + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'search/artificial-intel-products'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchList), headers: requestHeaders); + if (client.statusCode == 200) { + var productItem = jsonDecode(client.body); + this.products = List.from( + productItem.map((model) => Product.fromJson(model)).toList()); + } + + count = show.length; + for (int i = 0; i <= 9; i++) { + if (products != null && products.length > count) + setState(() { + show.add(products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + return 1; + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + _future = fetchImages(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + padding: EdgeInsets.only(top: 25.0), + child: Container( + height: 60.0, + //margin: EdgeInsets.all(10.0), + padding: EdgeInsets.all(10.0), + child: Material( + color: Colors.grey[300], + elevation: 4.0, + borderRadius: BorderRadius.circular(12.0), + shadowColor: Theme.of(context).backgroundColor, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () => Navigator.pop(context), + ), + new Expanded( + child: InkWell( + onTap: () => Navigator.pushReplacement( + context, + MaterialPageRoute( + builder: (BuildContext context) => Lookup(), + ), + ), + child: TextField( + autofocus: false, + enabled: false, + textAlign: TextAlign.start, + controller: searchkey, + style: TextStyle( + color: Colors.white, + ), + decoration: InputDecoration( + border: InputBorder.none, + //contentPadding: EdgeInsets.only(top: 14.0), + prefixIcon: Icon( + Icons.search, + color: Colors.white, + ), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + ), + ], + ), + ), + ), + ), + preferredSize: Size.fromHeight(150.0), + ), + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else if (products.length <= 0 && + snapshot.connectionState == ConnectionState.done) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.all( + 10, + ), + child: Center( + child: Column( + children: [ + Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.width * 0.3), + child: Image( + image: AssetImage("assets/images/emptyBox.png"), + ), + ), + Text( + "Sorry, there are no products listed matching the image provided", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.grey), + ), + ], + ), + ), + ); + } else { + return StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return index % 2 == 0 + ? buildProducts(context, show.elementAt(index)) + : buildProducts(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/Trending/AllTrending.dart b/lib/Pages/Sub_Pages/Explore/Trending/AllTrending.dart new file mode 100644 index 0000000..2307cd1 --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/Trending/AllTrending.dart @@ -0,0 +1,75 @@ +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/Pages/PageWidgets/Explore/products.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; + +class TrendingAll extends StatefulWidget { + final List products; + + const TrendingAll({Key key, this.products}) : super(key: key); + @override + _TrendingAllState createState() => _TrendingAllState(); +} + +class _TrendingAllState extends State { + ScrollController _controller; + List show = []; + int count = 0; + + Future fetchImages() async { + try { + count = show.length; + for (int i = 0; i <= 9; i++) { + if (widget.products.length > count) + setState(() { + show.add(widget.products.elementAt(count)); + count++; + imageCache.clear(); + }); + } + } catch (e) { + print(e); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + fetchImages(); + } + } + + @override + void initState() { + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + fetchImages(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + title: Text("Trending Products"), + ), + body: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return index % 2 == 0 + ? buildProducts(context, show.elementAt(index)) + : buildProducts(context, show.elementAt(index)); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Explore/search.dart b/lib/Pages/Sub_Pages/Explore/search.dart new file mode 100644 index 0000000..2c215d8 --- /dev/null +++ b/lib/Pages/Sub_Pages/Explore/search.dart @@ -0,0 +1,290 @@ +import 'package:teso/Pages/Sub_Pages/Explore/ExploreBusiness.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/ExplorePeople.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/ExploreProduct.dart'; +import 'package:flutter/material.dart'; + +import 'package:teso/Classes/TesoUser.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/util/consts.dart'; +import 'dart:convert'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/Classes/TesoShop.dart'; + +class Lookup extends StatefulWidget { + @override + _LookupState createState() => _LookupState(); +} + +class _LookupState extends State with TickerProviderStateMixin { + List people = []; + List peopleAlert = []; + List product = []; + List productAlert = []; + List businessAlert = []; + List business = []; + TabController tabController; + var search = new TextEditingController(); + SharedPreferences prefs; + var future; + + @override + void initState() { + super.initState(); + tabController = new TabController(length: 3, vsync: this); + tabController.addListener(() async { + if (search.text.isNotEmpty) { + switch (tabController.index) { + case 0: + await lookupUser(); + break; + case 1: + await lookupProducts(); + break; + case 2: + await lookupBusiness(); + break; + default: + await lookupUser(); + break; + } + } + }); + + search.addListener(() async { + if (search.text.isNotEmpty) { + switch (tabController.index) { + case 0: + await lookupUser(); + break; + case 1: + await lookupProducts(); + break; + case 2: + await lookupBusiness(); + break; + default: + await lookupUser(); + break; + } + } else { + setState(() { + people.clear(); + product.clear(); + business.clear(); + }); + } + }); + } + + lookupUser() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = search.text; + var register = serverLocation + 'search/people'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + var people = jsonDecode(client.body); + this.people = List.from( + people.map((model) => TesoUser.fromJSON(model)).toList()); + + updateList(); + } else { + if (mounted) { + setState(() { + people.clear(); + }); + } + } + } + + lookupProducts() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = search.text; + var register = serverLocation + 'search/products'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + var productItem = jsonDecode(client.body); + this.product = List.from( + productItem.map((model) => Product.fromJson(model)).toList()); + + orderProductsList(); + } else { + if (mounted) { + setState(() { + product.clear(); + }); + } + } + } + + lookupBusiness() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = search.text; + var register = serverLocation + 'search/business'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + var businessItem = jsonDecode(client.body); + this.business = List.from( + businessItem.map((model) => TesoShop.fromJSON(model)).toList()); + + orderBusinessList(); + } else { + if (mounted) { + setState(() { + product.clear(); + }); + } + } + } + + updateList() { + if (mounted) { + setState(() { + peopleAlert = people; + }); + } + } + + orderProductsList() { + if (mounted) { + setState(() { + productAlert = product; + }); + } + } + + orderBusinessList() { + if (mounted) { + setState(() { + businessAlert = business; + }); + } + } + + @override + void dispose() { + search.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + padding: EdgeInsets.symmetric(horizontal: 10), + margin: EdgeInsets.only(top: 30), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Material( + color: Colors.black54, + elevation: 0, + borderRadius: BorderRadius.circular(30.0), + child: Row( + children: [ + new Expanded( + child: TextField( + autofocus: false, + textAlign: TextAlign.start, + controller: search, + style: TextStyle( + color: Colors.white, + ), + decoration: InputDecoration( + border: InputBorder.none, + contentPadding: + EdgeInsets.symmetric(horizontal: 14.0), + hintText: "Search", + hintStyle: TextStyle(color: Colors.grey), + ), + ), + ), + Container( + child: InkWell( + onTap: () => search.clear(), + child: Icon( + Icons.close_outlined, + color: Colors.white, + ), + ), + margin: EdgeInsets.symmetric(horizontal: 20), + ), + ], + ), + ), + ), + Container( + margin: EdgeInsets.symmetric(horizontal: 20), + child: InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Center( + child: Text( + "Cancel", + style: TextStyle(fontSize: 15), + ), + ), + ), + ) + ], + ), + ), + preferredSize: Size.fromHeight(50.0)), + body: Column( + children: [ + TabBar( + controller: tabController, + tabs: [ + Tab( + text: "People", + ), + Tab( + text: "Products", + ), + Tab( + text: "Business", + ), + ], + ), + Expanded( + child: TabBarView( + controller: tabController, + children: [ + ExplorePeople( + people: peopleAlert, + ), + ExploreProduct( + products: productAlert, + ), + ExploreBusiness( + businesses: businessAlert, + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/FinalProcess.dart b/lib/Pages/Sub_Pages/LandingPage/FinalProcess.dart new file mode 100644 index 0000000..39860ca --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/FinalProcess.dart @@ -0,0 +1,280 @@ +import 'package:country_list_pick/country_list_pick.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/createPassword.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/GeneralWidgets/generalInput.dart'; +import 'package:http/http.dart' as http; + +class FinalProcess extends StatefulWidget { + final TesoUser newuser; + const FinalProcess({Key key, this.newuser}) : super(key: key); + @override + _FinalProcessState createState() => _FinalProcessState(newuser: this.newuser); +} + +class _FinalProcessState extends State { + TesoUser newuser; + _FinalProcessState({this.newuser}); + double phoneborder = 1.0; + bool phone = true; + bool email = false; + double mailborder = 0.5; + String countryPrefix = ""; + TextEditingController firstname = new TextEditingController(); + TextEditingController surname = new TextEditingController(); + TextEditingController address = new TextEditingController(); + TextEditingController emailaddress = new TextEditingController(); + bool loading = false; + + void _countryPrefix(CountryCode code) { + setState(() { + countryPrefix = code.dialCode; + newuser.country = code.dialCode; + }); + } + + @override + void initState() { + super.initState(); + emailaddress.addListener(() { + setState(() { + email = false; + }); + }); + } + + @override + void dispose() { + super.dispose(); + } + + void startProcessing() async { + try { + setState(() { + loading = true; + }); + + var client = await http.get(Uri.parse( + serverLocation + "api/email/" + emailaddress.text.toString().trim())); + print(client.body); + if (client.statusCode == 200) { + newuser.firstname = firstname.text.trim(); + newuser.lastname = surname.text.trim(); + newuser.address = address.text.trim(); + newuser.country = countryPrefix; + newuser.email = emailaddress.text.toString().trim(); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: CreatePassword( + newuser: newuser, + ), + ), + ); + setState(() { + loading = false; + }); + } else { + setState(() { + email = true; + loading = false; + }); + } + } catch (e) { + print(e); + setState(() { + email = true; + loading = false; + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Theme.of(context).primaryColor, + appBar: AppBar( + backgroundColor: Theme.of(context).primaryColorDark, + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Personnal Information", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.grey, fontSize: 18), + ), + ), + ), + Container( + child: new Wrap( + direction: Axis.horizontal, + children: [ + fineText(context, firstname, "Firstname"), + fineText(context, surname, "Lastname"), + ], + ), + ), + SizedBox(height: MediaQuery.of(context).size.height * 0.02), + Container( + child: new Wrap( + direction: Axis.horizontal, + children: [ + fineText(context, address, "Residential Address"), + fineText(context, emailaddress, "Email"), + ], + ), + ), + SizedBox(height: MediaQuery.of(context).size.height * 0.02), + Container( + width: double.infinity, + margin: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.03), + padding: EdgeInsets.only(left: 5, right: 5), + decoration: BoxDecoration( + border: Border( + right: BorderSide( + color: Colors.grey, + width: 1, + ), + left: BorderSide( + color: Colors.grey, + width: 1, + ), + top: BorderSide( + color: Colors.grey, + width: 1, + ), + bottom: BorderSide( + color: Colors.grey, + width: 1, + ), + ), + ), + child: new Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + child: Text( + "Country", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.grey, fontSize: 15), + ), + ), + Container( + child: CountryListPick( + theme: CountryTheme( + initialSelection: "Ghana", + isShowFlag: true, + isShowCode: false, + isShowTitle: true), + + //initialSelection: user.currentUser.country, + onChanged: (CountryCode code) => + _countryPrefix(code)), + ), + ], + ), + ), + SizedBox(height: MediaQuery.of(context).size.height * 0.001), + Visibility( + visible: loading, + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.025), + ), + Visibility( + visible: loading, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + Visibility( + visible: email, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.9, + child: Center( + child: Text( + "Email already exists, if you forgot your password please try to reset your password from the login page!!!", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + ), + Visibility( + visible: !loading, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: startProcessing, + child: Center( + child: Text( + "NEXT", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/Login.dart b/lib/Pages/Sub_Pages/LandingPage/Login.dart new file mode 100644 index 0000000..0955613 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/Login.dart @@ -0,0 +1,773 @@ +import 'dart:convert'; +import 'dart:io'; +import 'dart:math'; +import 'dart:ui'; +import 'package:crypto/crypto.dart'; +import 'package:provider/provider.dart'; +import 'package:sign_in_with_apple/sign_in_with_apple.dart'; +import 'package:teso/Classes/API%20Clasess/FacebookUser.dart'; +import 'package:teso/Classes/API%20Clasess/GoogleUser.dart'; +import 'package:teso/Classes/API%20Clasess/TokenHandler.dart'; +import 'package:teso/Classes/API%20Clasess/UserAuth.dart'; +import 'package:camera/camera.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:teso/Classes/customLoginButton.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/Pages/PageWidgets/Login/forgotPassword.dart'; +import 'package:teso/Pages/PageWidgets/Login/password.dart'; +import 'package:teso/Pages/PageWidgets/Login/username.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/SignUp.dart'; +import 'package:teso/main_screen.dart'; +import 'package:teso/providers/referral_provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:google_sign_in/google_sign_in.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/util/consts.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'facebookRedirect.dart'; + +class LoginPage extends StatefulWidget { + final List connectedCameras; + final String referrer; + + const LoginPage({Key key, this.connectedCameras, this.referrer}) + : super(key: key); + @override + _LoginPageState createState() => _LoginPageState(); +} + +class _LoginPageState extends State { + TextEditingController usern = new TextEditingController(); + TextEditingController password = new TextEditingController(); + UserProvider user = UserProvider(); + User _user; + bool loading = false; + bool gloading = false; + bool ios = false; + bool error = false; + String errorMessage = "An error occurred while verifying account try again!!"; + String deviceToken; + FirebaseAuth _auth; + GoogleSignIn _googleSignIn; + FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; + Locale myLocale; + + void signIn() async { + if (deviceToken == null) firebaseCloudMessaging_Listeners(); + SharedPreferences prefs = await SharedPreferences.getInstance(); + setState(() { + loading = true; + }); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + UserAuth auth = new UserAuth(); + auth.username = usern.text; + auth.password = password.text; + auth.deviceToken = deviceToken; + + var register2 = serverLocation + 'api/tokens'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(auth), headers: requestHeaders); + + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TokenHandler tokenHandler = TokenHandler.fromJSON(handler); + + _auth = FirebaseAuth.instance; + await _auth.signInWithCustomToken(tokenHandler.tokenFirebase); + + prefs.setString("tokensTeso", "Bearer " + tokenHandler.tokenTeso); + prefs.setString("tokensFirebase", tokenHandler.tokenFirebase); + prefs.setString("accountType", "email"); + prefs.setString("id", _auth.currentUser.uid); + prefs.setString("currentUser", tokenHandler.user.toString()); + prefs.setBool("password", true); + + user.setUser(tokenHandler.user); + + final QuerySnapshot result = await FirebaseFirestore.instance + .collection('users') + .where('id', isEqualTo: _auth.currentUser.uid) + .get(); + final List documents = result.docs; + if (documents.length == 0) { + // Update data to server if new user + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .set({ + 'firstname': tokenHandler.user.firstname, + 'surname': tokenHandler.user.lastname, + 'id': _auth.currentUser.uid + }); + } + + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .update({'deviceToken': deviceToken}); + + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => MainScreens( + // connectedCameras: widget.connectedCameras + )), + (Route route) => false); + } else { + setState(() { + loading = false; + error = true; + }); + } + + setState(() { + loading = false; + }); + } + + void signup(context) { + Provider.of(context, listen: false) + .setReferral(widget.referrer); + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return SignUpPage(); + }); + } + + signInWithGoogle() async { + try { + setState(() { + gloading = true; + error = false; + }); + + if (deviceToken == null) firebaseCloudMessaging_Listeners(); + _auth = FirebaseAuth.instance; + _googleSignIn = GoogleSignIn(); + GoogleSignInAccount googleSignInAccount = await _googleSignIn.signIn(); + GoogleSignInAuthentication googleSignInAuthentication = + await googleSignInAccount.authentication; + AuthCredential credential = GoogleAuthProvider.credential( + accessToken: googleSignInAuthentication.accessToken, + idToken: googleSignInAuthentication.idToken, + ); + var authResult = await _auth.signInWithCredential(credential); + _user = authResult.user; + assert(!_user.isAnonymous); + assert(await _user.getIdToken() != null); + User currentUser = _auth.currentUser; + assert(_user.uid == currentUser.uid); + + var names = googleSignInAccount.displayName.split(' '); + + GoogleUser googleUser = new GoogleUser(); + googleUser.userGUID = currentUser.uid; + googleUser.firstname = names[0]; + googleUser.surname = names[1]; + googleUser.email = _user.email; + googleUser.pictureUri = _user.photoURL; + googleUser.deviceToken = deviceToken; + if (widget.referrer != null) googleUser.referralCode = widget.referrer; + + final QuerySnapshot result = await FirebaseFirestore.instance + .collection('users') + .where('id', isEqualTo: _auth.currentUser.uid) + .orderBy('surname', descending: true) + .get(); + final List documents = result.docs; + if (documents.length == 0) { + // Update data to server if new user + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .set({ + 'firstname': googleUser.firstname, + 'surname': googleUser.surname, + 'id': _auth.currentUser.uid + }); + } + + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .update({'deviceToken': deviceToken}); + + googleSignInAccount = await _googleSignIn.signOut(); + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + + var register2 = serverLocation + 'api/googleauth'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(googleUser), headers: requestHeaders); + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TokenHandler tokenHandler = TokenHandler.fromJSON(handler); + prefs.setString("tokensTeso", "Bearer " + tokenHandler.tokenTeso); + prefs.setString("id", _auth.currentUser.uid); + _user + .getIdToken() + .then((value) => prefs.setString("tokensFirebase", value)); + prefs.setString("currentUser", tokenHandler.user.toString()); + prefs.setBool("password", false); + + user.setUser(tokenHandler.user); + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => MainScreens( + // connectedCameras: widget.connectedCameras + )), + (Route route) => false); + } else { + setState(() { + gloading = false; + error = true; + }); + } + + setState(() { + gloading = false; + }); + } catch (e) { + setState(() { + gloading = false; + error = true; + }); + } + } + + String generateNonce([int length = 32]) { + final charset = + '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._'; + final random = Random.secure(); + return List.generate(length, (_) => charset[random.nextInt(charset.length)]) + .join(); + } + + /// Returns the sha256 hash of [input] in hex notation. + String sha256ofString(String input) { + final bytes = utf8.encode(input); + final digest = sha256.convert(bytes); + return digest.toString(); + } + + signInWithApple() async { + try { + setState(() { + gloading = true; + error = false; + }); + + final scopes = [ + AppleIDAuthorizationScopes.email, + AppleIDAuthorizationScopes.fullName, + ]; + final rawNonce = generateNonce(); + final nonce = sha256ofString(rawNonce); + + final appleCredential = await SignInWithApple.getAppleIDCredential( + scopes: scopes, + nonce: nonce, + webAuthenticationOptions: WebAuthenticationOptions( + clientId: "com.tesoapp.teso", + redirectUri: Uri.parse( + "https://tesoappleauth.glitch.me/callbacks/sign_in_with_apple")), + ); + + final oauthCredential = OAuthProvider("apple.com").credential( + idToken: appleCredential.identityToken, + accessToken: appleCredential.authorizationCode, + rawNonce: rawNonce, + ); + _auth = FirebaseAuth.instance; + + final authResult = await _auth.signInWithCredential(oauthCredential); + _user = authResult.user; + assert(!_user.isAnonymous); + assert(await _user.getIdToken() != null); + User currentUser = _auth.currentUser; + assert(_user.uid == currentUser.uid); + + GoogleUser googleUser = new GoogleUser(); + googleUser.userGUID = currentUser.uid; + googleUser.firstname = + appleCredential.givenName != null ? appleCredential.givenName : ""; + googleUser.surname = + appleCredential.familyName != null ? appleCredential.familyName : ""; + googleUser.email = _user.email; + googleUser.deviceToken = deviceToken; + if (widget.referrer != null) googleUser.referralCode = widget.referrer; + + final QuerySnapshot result = await FirebaseFirestore.instance + .collection('users') + .where('id', isEqualTo: _auth.currentUser.uid) + .get(); + final List documents = result.docs; + if (documents.length == 0) { + // Update data to server if new user + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .set({ + 'firstname': googleUser.firstname, + 'surname': googleUser.surname, + 'id': _auth.currentUser.uid + }); + } + + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .update({'deviceToken': deviceToken}); + + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + + var register2 = serverLocation + 'api/apple'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(googleUser), headers: requestHeaders); + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TokenHandler tokenHandler = TokenHandler.fromJSON(handler); + prefs.setString("tokensTeso", "Bearer " + tokenHandler.tokenTeso); + prefs.setString("id", _auth.currentUser.uid); + _user + .getIdToken() + .then((value) => prefs.setString("tokensFirebase", value)); + prefs.setString("currentUser", tokenHandler.user.toString()); + prefs.setBool("password", false); + + user.setUser(tokenHandler.user); + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => MainScreens( + // connectedCameras: widget.connectedCameras + )), + (Route route) => false); + } else { + setState(() { + gloading = false; + error = true; + }); + } + // } else { + // // errorMessage = "Unable to " + // } + setState(() { + gloading = false; + }); + } catch (e) { + print(e); + setState(() { + gloading = false; + error = true; + }); + } + } + + loginWithFacebook() async { + setState(() { + gloading = true; + error = false; + }); + String results = await Navigator.push( + context, + MaterialPageRoute( + builder: (context) => CustomWebView( + selectedUrl: + 'https://www.facebook.com/dialog/oauth?client_id=$your_client_id&redirect_uri=$your_redirect_url&response_type=token&scope=email,public_profile,', + ), + maintainState: true), + ); + if (results != null) { + try { + _auth = FirebaseAuth.instance; + final facebookAuthCred = FacebookAuthProvider.credential(results); + UserCredential user = + await _auth.signInWithCredential(facebookAuthCred); + + FacebookUser facebookUser = new FacebookUser(); + facebookUser.userGUID = _auth.currentUser.uid; + facebookUser.firstname = user.user.displayName; + facebookUser.surname = ""; + facebookUser.email = user.user.email; + facebookUser.pictureUri = user.user.photoURL; + facebookUser.deviceToken = deviceToken; + facebookUser.username = user.user.displayName.replaceAll(' ', ''); + if (widget.referrer != null) + facebookUser.referralCode = widget.referrer; + + _user = user.user; + assert(!_user.isAnonymous); + assert(await _user.getIdToken() != null); + User currentUser = _auth.currentUser; + assert(_user.uid == currentUser.uid); + + final QuerySnapshot result = await FirebaseFirestore.instance + .collection('users') + .where('id', isEqualTo: _auth.currentUser.uid) + .get(); + final List documents = result.docs; + if (documents.length == 0) { + // Update data to server if new user + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .set({ + 'firstname': facebookUser.firstname, + 'surname': facebookUser.surname, + 'id': _auth.currentUser.uid + }); + } + + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .update({'deviceToken': deviceToken}); + + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + + var register2 = serverLocation + 'api/facebookauth'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(facebookUser), headers: requestHeaders); + + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TokenHandler tokenHandler = TokenHandler.fromJSON(handler); + _user + .getIdToken() + .then((value) => prefs.setString("tokensFirebase", value)); + prefs.setString("id", _auth.currentUser.uid); + prefs.setString("currentUser", tokenHandler.user.toString()); + prefs.setString("tokensTeso", "Bearer " + tokenHandler.tokenTeso); + prefs.setBool("password", false); + + this.user.setUser(tokenHandler.user); + + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => + MainScreens(connectedCameras: widget.connectedCameras)), + (Route route) => false); + } else { + setState(() { + gloading = false; + error = true; + }); + } + + setState(() { + gloading = false; + }); + } catch (e) { + print(e); + setState(() { + gloading = false; + error = true; + }); + } + } else { + gloading = false; + } + } + + @override + void dispose() { + super.dispose(); + } + + @override + void initState() { + ios = Platform.isIOS; + SharedPreferences.getInstance().then((value) { + String current = value.getString("api-version"); + value.clear(); + if (current != null) value.setString("api-version", current); + }); + super.initState(); + firebaseCloudMessaging_Listeners(); + } + + // ignore: non_constant_identifier_names + void firebaseCloudMessaging_Listeners() async { + try { + if (Platform.isIOS) iOS_Permission(); + + await _firebaseMessaging.getToken().then((token) { + deviceToken = token; + }); + } catch (e) { + print(e); + } + } + + // ignore: non_constant_identifier_names + void iOS_Permission() { + _firebaseMessaging.requestPermission( + sound: true, badge: true, alert: true, provisional: false); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + body: AnnotatedRegion( + value: SystemUiOverlayStyle.light, + child: GestureDetector( + onTap: () => FocusScope.of(context).unfocus(), + child: Stack( + children: [ + Container( + height: double.infinity, + child: SingleChildScrollView( + // physics: AlwaysScrollableScrollPhysics(), + padding: + EdgeInsets.symmetric(horizontal: 40.00, vertical: 50), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + height: MediaQuery.of(context).size.height * 0.10, + width: double.infinity, + child: Align( + alignment: Alignment.topCenter, + child: Container( + decoration: BoxDecoration( + image: DecorationImage( + image: AssetImage( + "assets/images/tesoCouponInsignia.png")), + ), + ), + ), + ), + Container( + width: double.infinity, + child: Center( + child: Text( + "Sign In", + style: TextStyle( + color: Colors.black87, + fontFamily: 'OpenSans', + fontWeight: FontWeight.bold, + fontSize: 22.0, + //fontWeight: FontWeight.bold, + ), + ), + ), + ), + SizedBox(height: 20.0), + username(context, "Username", usern), + SizedBox(height: 5.0), + passwordBuilder( + context, "Enter your password here", password), + buildForgotPasswordBtn(context), + Visibility( + visible: loading, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + Visibility( + visible: error, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.9, + child: Center( + child: Text( + errorMessage, + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + ), + SizedBox( + height: MediaQuery.of(context).size.height * 0.001), + RaisedGradientButton( + onPressed: signIn, + child: Text( + "Sign In", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + SizedBox(height: 20.0), + Container( + width: double.infinity, + child: Center( + child: Text( + "or", + style: TextStyle( + fontSize: 15, + color: Colors.black87, + ), + ), + ), + ), + SizedBox(height: 20.0), + // !ios + // ? buildThirdAuth(context) + buildIOSThirdAuth(context), + SizedBox( + height: MediaQuery.of(context).size.height * 0.05), + InkWell( + onTap: () => signup(context), + child: new Wrap( + direction: Axis.horizontal, + spacing: 5, + children: [ + Text( + "Don't have an account ?", + style: TextStyle( + fontSize: 14.5, + color: Colors.black87, + ), + ), + Text("Sign Up", + style: TextStyle( + fontSize: 16, + color: Colors.blue, + )), + ], + ), + ) + ], + ), + ), + ), + Visibility( + visible: gloading, + child: Container( + color: Theme.of(context).backgroundColor, + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + buildThirdAuth(BuildContext context) { + return Wrap( + direction: Axis.horizontal, + children: [ + MaterialButton( + onPressed: signInWithGoogle, + color: Colors.white, + padding: EdgeInsets.all(10), + shape: CircleBorder(), + child: Image( + image: AssetImage("assets/images/google.png"), + height: MediaQuery.of(context).size.height * 0.045, + ), + ), + MaterialButton( + onPressed: loginWithFacebook, + color: Colors.white, + padding: EdgeInsets.all(10), + shape: CircleBorder(), + child: Image( + image: AssetImage("assets/images/facebook.png"), + height: MediaQuery.of(context).size.height * 0.045, + ), + ), + ], + ); + } + + buildIOSThirdAuth(BuildContext context) { + return Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + SignInWithAppleButton( + style: SignInWithAppleButtonStyle.black, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + iconAlignment: IconAlignment.left, + onPressed: signInWithApple, + ), + SizedBox( + height: 10, + ), + CustomLoginButton( + child: Text( + "Sign in with Google ", + style: TextStyle( + fontSize: 44 * 0.43, + color: Colors.black, + ), + ), + color: Colors.white, + icon: "assets/images/google.png", + onPressed: signInWithGoogle, + ), + SizedBox( + height: 10, + ), + CustomLoginButton( + child: Text( + "Sign in with Facebook", + style: TextStyle( + fontSize: 44 * 0.43, + color: Colors.white, + ), + ), + color: Color(0XFF4267B2), + icon: "assets/images/facebook_new.png", + onPressed: signInWithGoogle, + ), + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/NewProfile.dart b/lib/Pages/Sub_Pages/LandingPage/NewProfile.dart new file mode 100644 index 0000000..173e6b3 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/NewProfile.dart @@ -0,0 +1,212 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; +import 'package:intl/intl.dart'; +import 'package:teso/Classes/API%20Clasess/TesoUserDetail.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/util/consts.dart'; + +class CompleteNewProfile extends StatefulWidget { + @override + _CompleteNewProfileState createState() => _CompleteNewProfileState(); +} + +class _CompleteNewProfileState extends State { + DateFormat dateFormat = DateFormat("EEEE dd-MM-yyyy"); + DateTime selectedDate = DateTime.now(); + String selectedGender; + List gender = ["Male", "Female", "Other"]; + bool error = false; + String message = ""; + TesoUserDetail olduser; + + void changeDate(v) { + setState(() { + selectedDate = v; + }); + } + + completeNewProfile() async { + if (selectedDate.year != DateTime.now().year && selectedGender != null) { + olduser = new TesoUserDetail(); + olduser.dateOfBirth = selectedDate; + olduser.gender = selectedGender; + Navigator.pop(context, olduser); + } else { + setState(() { + error = true; + message = + "Sorry, an error occurred please make sure to select the right date and select a gender !!!"; + }); + + Future.delayed(const Duration(seconds: 5), () { + if (error) { + if (mounted) { + setState(() { + error = false; + }); + } + } + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.all(20), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + height: 120, + padding: EdgeInsets.symmetric(vertical: 20), + child: Image( + image: AssetImage("assets/images/tesoCouponInsignia.png"), + ), + ), + SizedBox( + height: 5, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Complete your profile", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18), + ), + ), + ), + SizedBox( + height: 40, + ), + Container( + width: MediaQuery.of(context).size.width, + // height: 10, + child: Text( + "When is your birthday ?", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + alignment: Alignment.centerLeft, + child: TextButton( + onPressed: () { + DatePicker.showDatePicker( + context, + showTitleActions: true, + maxTime: DateTime.now(), + onConfirm: (date) { + changeDate(date); + }, + currentTime: selectedDate, + locale: LocaleType.en, + ); + }, + child: Text( + dateFormat.format(selectedDate).toString(), + style: TextStyle( + fontWeight: FontWeight.normal, + ), + ), + ), + ), + Divider(), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Text( + "What is your gender ?", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + Container( + alignment: Alignment.centerLeft, + child: DropdownButton( + hint: Text("Select Gender"), + value: selectedGender, + items: gender + .map( + (gender) => DropdownMenuItem( + value: gender, + child: Text( + gender, + style: TextStyle( + // color: Colors.grey, + ), + ), + ), + ) + .toList(), + onChanged: (v) { + setState(() { + selectedGender = v; + }); + }, + ), + ), + Divider(), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Text( + "Teso uses this data to personalize your experiences, to help business understand their customers, and more. " + + "We will always keep your personal data private.", + textAlign: TextAlign.center, + ), + ), + SizedBox( + height: 20, + ), + Visibility( + visible: error, + child: Container( + width: MediaQuery.of(context).size.width, + child: Text( + message, + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + RaisedGradientButton( + onPressed: completeNewProfile, + child: Text( + "Submit", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/ReferPage.dart b/lib/Pages/Sub_Pages/LandingPage/ReferPage.dart new file mode 100644 index 0000000..807be00 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/ReferPage.dart @@ -0,0 +1,143 @@ +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; + +class ReferPage extends StatefulWidget { + final String accountType; + const ReferPage({Key key, this.accountType}) : super(key: key); + @override + _ReferPageState createState() => + _ReferPageState(accountType: this.accountType); +} + +class _ReferPageState extends State { + String accountType; + _ReferPageState({this.accountType}); + var usern = new TextEditingController(); + bool visibleT = true; + var password = new TextEditingController(); + bool loading = false; + bool error = false; + bool rememberMe = false; + bool success = false; + String usernameFor; + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(Consts.padding), + ), + elevation: 0.0, + backgroundColor: Colors.transparent, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Stack( + children: [ + Container( + padding: EdgeInsets.only( + top: Consts.avatarRadius + Consts.padding, + bottom: Consts.padding, + left: Consts.padding, + right: Consts.padding, + ), + margin: EdgeInsets.only(top: Consts.avatarRadius), + decoration: new BoxDecoration( + color: Colors.white, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(Consts.padding), + boxShadow: [ + BoxShadow( + color: Colors.black26, + blurRadius: 10.0, + offset: const Offset(0.0, 10.0), + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, // To make the card compact + children: [ + Visibility( + visible: visibleT, + child: Text( + "Error", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 15.0, + fontWeight: FontWeight.w700, + color: Colors.red, + ), + ), + ), + SizedBox(height: 16.0), + Text( + "Sorry your account is connected to " + + accountType + + ", login using the " + + accountType + + " button ", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 12.0, + color: Colors.black87, + ), + ), + SizedBox(height: 14.0), + Align( + alignment: Alignment.bottomRight, + child: TextButton( + onPressed: () { + Navigator.of(context).pop(); // To close the dialog + }, + child: Text( + "OK", + style: TextStyle( + color: Colors.black87, + ), + ), + ), + ), + Visibility( + visible: loading, + child: Align( + alignment: Alignment.bottomCenter, + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ], + ), + ), + Positioned( + left: Consts.padding, + right: Consts.padding, + child: CircleAvatar( + child: Icon( + Icons.cancel, + color: Colors.red, + size: 100, + ), + backgroundColor: Colors.white, + radius: Consts.avatarRadius, + ), + ), + ], + ), + ), + ); + } +} + +class Consts { + Consts._(); + + static const double padding = 16.0; + static const double avatarRadius = 55.0; +} diff --git a/lib/Pages/Sub_Pages/LandingPage/ResetPassword.dart b/lib/Pages/Sub_Pages/LandingPage/ResetPassword.dart new file mode 100644 index 0000000..9c7a23b --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/ResetPassword.dart @@ -0,0 +1,244 @@ +import 'package:teso/Pages/Sub_Pages/LandingPage/Success.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/ReferPage.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Pages/PageWidgets/Login/email.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; + +class ResetPassword extends StatefulWidget { + @override + _ResetPasswordState createState() => _ResetPasswordState(); +} + +class _ResetPasswordState extends State { + var usern = new TextEditingController(); + bool visibleT = true; + var password = new TextEditingController(); + bool loading = false; + bool error = false; + bool rememberMe = false; + bool success = false; + String usernameFor; + + @override + void dispose() { + super.dispose(); + } + + void requestReset() async { + setState(() { + error = false; + }); + Map requestHeaders = { + 'Content-type': 'application/json', + }; + String email = usern.text; + var register2 = serverLocation + 'resetpassword/request'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(email), headers: requestHeaders); + + if (client1.statusCode == 200) { + String responseBody = client1.body.trim(); + switch (responseBody) { + case "sent": + await showDialog( + context: context, + builder: (BuildContext context) => SuccessPage(), + ); + Navigator.pop(context); + break; + case "twitter": + await showDialog( + context: context, + builder: (BuildContext context) => ReferPage( + accountType: responseBody, + ), + ); + Navigator.pop(context); + break; + case "google": + await showDialog( + context: context, + builder: (BuildContext context) => + ReferPage(accountType: responseBody), + ); + Navigator.pop(context); + break; + case "facebook": + await showDialog( + context: context, + builder: (BuildContext context) => + ReferPage(accountType: responseBody), + ); + Navigator.pop(context); + break; + } + } else { + setState(() { + error = true; + }); + } + } + + @override + Widget build(BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(Consts.padding), + ), + elevation: 0.0, + backgroundColor: Colors.transparent, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Stack( + children: [ + Container( + padding: EdgeInsets.only( + top: Consts.avatarRadius + Consts.padding, + bottom: Consts.padding, + left: Consts.padding, + right: Consts.padding, + ), + margin: EdgeInsets.only(top: Consts.avatarRadius), + decoration: new BoxDecoration( + color: Colors.white, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(Consts.padding), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.black26, + blurRadius: 10.0, + offset: const Offset(0.0, 10.0), + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, // To make the card compact + children: [ + Visibility( + visible: success, + child: Text( + "A confirmation link has been sent to your mail open the link to continue with the process !!!", + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.w700, + color: Colors.green, + ), + ), + ), + Visibility( + visible: visibleT, + child: Text( + "Reset your Teso account password", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 15.0, + fontWeight: FontWeight.w700, + color: Colors.white, + ), + ), + ), + SizedBox(height: 16.0), + Visibility( + visible: visibleT, + child: Text( + "Please enter the registered email address for your Teso account", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 12.0, + color: Colors.white, + ), + ), + ), + SizedBox(height: 14.0), + Visibility( + visible: visibleT, + child: email(context, "Email address", usern), + ), + SizedBox(height: 20.0), + Visibility( + visible: visibleT, + child: Align( + alignment: Alignment.bottomCenter, + child: TextButton( + onPressed: requestReset, + child: Text( + "RESET PASSWORD", + style: TextStyle( + color: Colors.white, + fontSize: 13, + ), + ), + ), + ), + ), + Visibility( + visible: error, + child: Align( + alignment: Alignment.bottomCenter, + child: Text( + "Oops! An error occurred while trying to reset password, please make sure your email is correct and try again", + style: TextStyle(fontSize: 16, color: Colors.red), + )), + ), + Visibility( + visible: !visibleT, + child: Align( + alignment: Alignment.bottomRight, + child: TextButton( + onPressed: () { + Navigator.of(context).pop(); // To close the dialog + }, + child: Text("OK"), + ), + ), + ), + Visibility( + visible: loading, + child: Align( + alignment: Alignment.bottomCenter, + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ], + ), + ), + Positioned( + left: Consts.padding, + right: Consts.padding, + child: CircleAvatar( + child: Image.asset( + "assets/images/tesoCouponInsignia.png", + width: 100, + ), + backgroundColor: Colors.white, + radius: Consts.avatarRadius, + ), + ), + ], + ), + ), + ); + } +} + +class Consts { + Consts._(); + + static const double padding = 16.0; + static const double avatarRadius = 55.0; +} diff --git a/lib/Pages/Sub_Pages/LandingPage/SignUp.dart b/lib/Pages/Sub_Pages/LandingPage/SignUp.dart new file mode 100644 index 0000000..9c82445 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/SignUp.dart @@ -0,0 +1,207 @@ +import 'package:flutter/material.dart'; + +import 'package:teso/Pages/PageWidgets/Login/signupusername.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/FinalProcess.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:http/http.dart' as http; + +class SignUpPage extends StatefulWidget { + @override + _SignUpPageState createState() => _SignUpPageState(); +} + +class _SignUpPageState extends State { + TesoUser newuser = new TesoUser(); + TextEditingController user = new TextEditingController(); + bool loading = false; + bool taken = false; + + @override + void dispose() { + super.dispose(); + } + + @override + void initState() { + super.initState(); + user.addListener(() { + taken = false; + }); + } + + void startProcessing() async { + setState(() { + loading = true; + }); + var client = await http.get(Uri.parse( + serverLocation + "api/username/" + user.text.toString().trim())); + if (client.statusCode == 200) { + newuser.username = user.text; + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: FinalProcess( + newuser: this.newuser, + )), + ); + setState(() { + loading = false; + }); + } else { + setState(() { + loading = false; + taken = true; + }); + } + } + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.height * 0.05, + ), + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + new Container( + // color: Colors.white, + margin: EdgeInsets.only( + left: 20.0, + top: 20.0, + bottom: 12.0, + ), + child: Row( + children: [ + Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon(Icons.close), + ), + ), + Expanded( + child: Container( + width: double.infinity, + child: Center( + child: Text( + "Create username", + style: TextStyle( + fontSize: 20.0, + color: Colors.black, + ), + ), + ), + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Divider( + thickness: 0.8, + ), + ), + Container( + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Choose a username for your new account. You can always change it later.", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + SizedBox( + height: 20, + ), + usersignup(context, user), + Visibility( + visible: loading, + child: + SizedBox(height: MediaQuery.of(context).size.height * 0.025), + ), + Visibility( + visible: loading, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + Visibility( + visible: taken, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + // height: 40.0, + child: Center( + child: Text( + "Username has already been taken...", + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + ), + SizedBox(height: MediaQuery.of(context).size.height * 0.001), + Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: startProcessing, + child: Center( + child: Text( + "NEXT", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/Success.dart b/lib/Pages/Sub_Pages/LandingPage/Success.dart new file mode 100644 index 0000000..7e3d205 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/Success.dart @@ -0,0 +1,140 @@ +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/resetVerification.dart'; + +class SuccessPage extends StatefulWidget { + @override + _SuccessPageState createState() => _SuccessPageState(); +} + +class _SuccessPageState extends State { + var usern = new TextEditingController(); + bool visibleT = true; + var password = new TextEditingController(); + bool loading = false; + bool error = false; + bool rememberMe = false; + bool success = false; + String usernameFor; + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(Consts.padding), + ), + elevation: 0.0, + backgroundColor: Colors.transparent, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Stack( + children: [ + Container( + padding: EdgeInsets.only( + top: Consts.avatarRadius + Consts.padding, + bottom: Consts.padding, + left: Consts.padding, + right: Consts.padding, + ), + margin: EdgeInsets.only(top: Consts.avatarRadius), + decoration: new BoxDecoration( + color: Colors.white, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(Consts.padding), + boxShadow: [ + BoxShadow( + color: Colors.black26, + blurRadius: 10.0, + offset: const Offset(0.0, 10.0), + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, // To make the card compact + children: [ + Visibility( + visible: visibleT, + child: Text( + "Success", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 15.0, + fontWeight: FontWeight.w700, + color: Colors.green, + ), + ), + ), + SizedBox(height: 16.0), + Text( + "A password reset link has been sent to your email !!!", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 12.0, + color: Colors.black87, + ), + ), + SizedBox(height: 14.0), + Align( + alignment: Alignment.bottomRight, + child: TextButton( + onPressed: () async { + await Navigator.push(context, MaterialPageRoute( + builder: (context) { + return ResetVerificationCode(); + }, + )); + Navigator.pop(context); + }, + child: Text( + "OK", + style: TextStyle( + color: Colors.black87, + ), + ), + ), + ), + Visibility( + visible: loading, + child: Align( + alignment: Alignment.bottomCenter, + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ], + ), + ), + Positioned( + left: Consts.padding, + right: Consts.padding, + child: CircleAvatar( + child: Icon( + Icons.check_circle, + color: Colors.green, + size: 100, + ), + backgroundColor: Colors.white, + radius: Consts.avatarRadius, + ), + ), + ], + ), + ), + ); + } +} + +class Consts { + Consts._(); + + static const double padding = 16.0; + static const double avatarRadius = 55.0; +} diff --git a/lib/Pages/Sub_Pages/LandingPage/createPassword.dart b/lib/Pages/Sub_Pages/LandingPage/createPassword.dart new file mode 100644 index 0000000..f1642a9 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/createPassword.dart @@ -0,0 +1,356 @@ +import 'package:teso/Classes/API%20Clasess/Registrar.dart'; +import 'package:teso/Classes/API%20Clasess/TesoUserDetail.dart'; +import 'package:teso/Classes/API%20Clasess/UserAuth.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/registeringProcess.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Login/passwordSignUP.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; +import 'package:teso/Pages/PageWidgets/Login/validation.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'dart:io'; +import 'dart:ui'; + +class CreatePassword extends StatefulWidget { + final TesoUser newuser; + const CreatePassword({Key key, this.newuser}) : super(key: key); + @override + _CreatePasswordState createState() => + _CreatePasswordState(newuser: this.newuser); +} + +class _CreatePasswordState extends State + with TickerProviderStateMixin { + TesoUser newuser; + _CreatePasswordState({this.newuser}); + TextEditingController password = new TextEditingController(); + AnimationController _controller; + Animation _fabScale; + bool eightChars = false; + bool specialChar = false; + bool upperCaseChar = false; + bool lowerCaseChar = false; + bool number = false; + FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; + String deviceToken = ""; + + @override + void dispose() { + super.dispose(); + } + + bool _allValid() { + return eightChars && + number && + specialChar && + upperCaseChar && + lowerCaseChar; + } + + @override + void initState() { + super.initState(); + firebaseCloudMessaging_Listeners(); + password.addListener(() { + setState(() { + eightChars = password.text.length >= 8; + number = password.text.contains(RegExp(r'\d'), 0); + upperCaseChar = password.text.contains(new RegExp(r'[A-Z]'), 0); + lowerCaseChar = password.text.contains(new RegExp(r'[a-z]'), 0); + specialChar = password.text.isNotEmpty && + !password.text.contains(RegExp(r'^[\w&.-]+$'), 0); + }); + + if (_allValid()) { + _controller.forward(); + } else { + _controller.reverse(); + } + }); + _controller = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + + _fabScale = Tween(begin: 0, end: 1) + .animate(CurvedAnimation(parent: _controller, curve: Curves.bounceOut)); + + _fabScale.addListener(() { + setState(() {}); + }); + } + + // ignore: non_constant_identifier_names + void firebaseCloudMessaging_Listeners() async { + try { + if (Platform.isIOS) iOS_Permission(); + + await _firebaseMessaging.getToken().then((token) { + deviceToken = token; + }); + } catch (e) { + print(e); + } + } + + // ignore: non_constant_identifier_names + void iOS_Permission() { + _firebaseMessaging.requestPermission( + sound: true, badge: true, alert: true, provisional: false); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text("Create a password"), + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Enter a password with a minimum of 8 characters and the password must have at least an uppercase letter, a lowercase letter, " + + "a digit and a non-alphanumeric character", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.01), + child: _validationStack()), + SizedBox( + height: 50, + ), + createPassword(context, password), + SizedBox(height: MediaQuery.of(context).size.height * 0.002), + Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () { + if (_allValid()) { + UserAuth auth = new UserAuth(); + auth.username = newuser.username; + auth.password = password.text; + auth.status = "awaiting"; + auth.accountType = "TSUAC001"; + auth.deviceToken = deviceToken; + + Registrar registration = new Registrar(); + registration.authentication = auth; + registration.user = TesoUserDetail.fromUSER(newuser); + + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: RegisteringProcess( + newuser: registration, + ), + ), + ); + } + }, + child: Center( + child: Text( + "Continue", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _separator() { + return Container( + height: 1, + decoration: BoxDecoration(color: Colors.blue.withAlpha(100)), + ); + } + + Stack _validationStack() { + return Stack( + alignment: Alignment.bottomLeft, + children: [ + Card( + shape: CircleBorder(), + color: Colors.black12, + child: Container( + height: 150, + width: 150, + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 32.0, left: 10), + child: Transform.rotate( + angle: -math.pi / 20, + child: Icon( + Icons.lock, + color: Colors.pink, + size: 60, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, right: 60), + child: Transform.rotate( + angle: -math.pi / -60, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + elevation: 4, + color: Colors.yellow.shade800, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(8, 8, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 8), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + ], + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 74), + child: Transform.rotate( + angle: math.pi / -45, + child: Card( + elevation: 6, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + ValidationItem("8 or more Characters", eightChars), + _separator(), + ValidationItem("1 Special character", specialChar), + _separator(), + ValidationItem("1 Upper case", upperCaseChar), + _separator(), + ValidationItem("1 Lower case", lowerCaseChar), + _separator(), + ValidationItem("1 Number", number) + ], + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Transform.scale( + scale: _fabScale.value, + child: Card( + shape: CircleBorder(), + color: Colors.green, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + Icons.check, + color: Colors.white, + ), + ), + ), + ), + ) + ], + ), + ), + ), + ) + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/facebookRedirect.dart b/lib/Pages/Sub_Pages/LandingPage/facebookRedirect.dart new file mode 100644 index 0000000..05d3c9d --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/facebookRedirect.dart @@ -0,0 +1,59 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; + +class CustomWebView extends StatefulWidget { + final String selectedUrl; + + CustomWebView({this.selectedUrl}); + + @override + _CustomWebViewState createState() => _CustomWebViewState(); +} + +class _CustomWebViewState extends State { + final flutterWebviewPlugin = new FlutterWebviewPlugin(); + + @override + void initState() { + super.initState(); + + flutterWebviewPlugin.onUrlChanged.listen((String url) { + if (url.contains("#access_token")) { + succeed(url); + } + + if (url.contains( + "https://www.facebook.com/connect/login_success.html?error=access_denied&error_code=200&error_description=Permissions+error&error_reason=user_denied")) { + denied(); + } + }); + } + + denied() { + Navigator.pop(context); + } + + succeed(String url) { + var params = url.split("access_token="); + + var endparam = params[1].split("&"); + flutterWebviewPlugin.clearCache(); + flutterWebviewPlugin.cleanCookies(); + flutterWebviewPlugin.dispose(); + Navigator.pop(context, endparam[0]); + } + + @override + Widget build(BuildContext context) { + return WebviewScaffold( + url: widget.selectedUrl, + appBar: new AppBar( + automaticallyImplyLeading: false, + backgroundColor: Color.fromRGBO(66, 103, 178, 1), + title: new Text( + "Facebook login", + style: TextStyle(color: Colors.white), + ), + )); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/registeringProcess.dart b/lib/Pages/Sub_Pages/LandingPage/registeringProcess.dart new file mode 100644 index 0000000..753dc12 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/registeringProcess.dart @@ -0,0 +1,80 @@ +import 'dart:convert'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/Registrar.dart'; +import 'package:teso/providers/referral_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/verification.dart'; + +class RegisteringProcess extends StatefulWidget { + final Registrar newuser; + const RegisteringProcess({Key key, this.newuser}) : super(key: key); + @override + _RegisteringProcessState createState() => + _RegisteringProcessState(newuser: this.newuser); +} + +class _RegisteringProcessState extends State { + Registrar newuser; + _RegisteringProcessState({this.newuser}); + void registerUser() async { + try { + Map requestHeaders = { + 'Content-type': 'application/json', + }; + + String referral = + Provider.of(context, listen: false).getReferral(); + + Registrar registrar = newuser; + registrar.user.dateOfBirth = DateTime.now(); + if (referral != null) registrar.referral = referral; + var register = serverLocation + 'api/userauths'; + var client = await http.post(Uri.parse(register), + body: json.encode(registrar), headers: requestHeaders); + if (client.statusCode == 200) { + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => Verification( + user: registrar, + )), + (Route route) => false); + } else { + Navigator.of(context).pop(); + } + } catch (e) { + print(e); + } + } + + @override + void initState() { + super.initState(); + + registerUser(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + padding: EdgeInsets.only(top: MediaQuery.of(context).size.width * 0.7), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text("Please wait, setting up account...."), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/resetVerification.dart b/lib/Pages/Sub_Pages/LandingPage/resetVerification.dart new file mode 100644 index 0000000..2ab037a --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/resetVerification.dart @@ -0,0 +1,112 @@ +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Login/verificationCode.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/resetpasswordCode.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +class ResetVerificationCode extends StatefulWidget { + @override + _ResetVerificationStateCode createState() => _ResetVerificationStateCode(); +} + +class _ResetVerificationStateCode extends State { + TextEditingController code = new TextEditingController(); + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + extendBodyBehindAppBar: false, + appBar: AppBar( + iconTheme: IconThemeData( + color: Colors.white, + ), + backgroundColor: tesoGold, + foregroundColor: Colors.white, + toolbarTextStyle: TextStyle( + color: Colors.white, + ), + automaticallyImplyLeading: true, + title: Text( + "Password Reset", + style: TextStyle( + color: Colors.white, + ), + ), + ), + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + padding: + EdgeInsets.symmetric(vertical: SizeConfig.safeBlockHorizontal * 20), + child: Center( + child: Column( + children: [ + Container( + width: SizeConfig.safeBlockHorizontal * 80, + child: Text( + "Enter the verification code we sent below", + textAlign: TextAlign.center, + style: + TextStyle(fontSize: SizeConfig.safeBlockHorizontal * 7), + ), + ), + SizedBox( + height: 10, + ), + inputCode(context, code), + SizedBox( + height: 10, + ), + Container( + width: SizeConfig.safeBlockHorizontal * 50, + height: SizeConfig.safeBlockHorizontal * 10, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () => Navigator.push(context, MaterialPageRoute( + builder: (context) { + return ResetPasswordCode( + code: int.parse(code.value.text), + ); + }, + )), + child: Center( + child: Text( + "Continue", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/resetpasswordCode.dart b/lib/Pages/Sub_Pages/LandingPage/resetpasswordCode.dart new file mode 100644 index 0000000..2122d73 --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/resetpasswordCode.dart @@ -0,0 +1,446 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Classes/API%20Clasess/ResetClass.dart'; +import 'package:teso/Pages/PageWidgets/Login/passwordSignUP.dart'; +import 'package:teso/Pages/PageWidgets/Login/validation.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; +import 'package:http/http.dart' as http; + +class ResetPasswordCode extends StatefulWidget { + final code; + const ResetPasswordCode({Key key, @required this.code}) : super(key: key); + @override + _ResetPasswordCodeState createState() => _ResetPasswordCodeState(); +} + +class _ResetPasswordCodeState extends State + with TickerProviderStateMixin { + TextEditingController password = new TextEditingController(); + AnimationController _controller; + Animation _fabScale; + bool eightChars = false; + bool specialChar = false; + bool upperCaseChar = false; + bool lowerCaseChar = false; + bool number = false; + bool changing = false; + + @override + void dispose() { + super.dispose(); + } + + changePassword(context) async { + setState(() { + changing = true; + }); + Map requestHeaders = { + 'Content-type': 'application/json', + }; + var register2 = serverLocation + 'resetpassword/reset'; + ResetClass resetClass = ResetClass( + password: password.text, + resetcode: widget.code.toString(), + ); + var client1 = await http.post( + Uri.parse(register2), + body: json.encode(resetClass), + headers: requestHeaders, + ); + + if (client1.statusCode == 200) { + await tesoSuccessDialog(context); + setState(() { + changing = false; + }); + Future.delayed(const Duration(seconds: 5), () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + }); + } else if (client1.statusCode == 400 && client1.body == "expired") { + setState(() { + changing = false; + }); + tesoErrorDialog(context); + } else { + setState(() { + changing = false; + }); + tesoErrorDialog(context); + } + } + + tesoSuccessDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Success", + style: TextStyle(color: Colors.green[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.green[400]), + ), + onPressed: () { + Navigator.of(context).pop(true); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Password changed successfully", + style: TextStyle(color: Colors.green[400]), + ), + ); + }); + } + + tesoErrorDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Error Occurred", + style: TextStyle(color: Colors.red[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.red[400]), + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "An error occurred while changing password, please try again!", + style: TextStyle(color: Colors.red[400]), + ), + ); + }); + } + + tesoExpiredDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Code Expired", + style: TextStyle(color: Colors.red[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.red[400]), + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Password reset code expired, please try again with a new code!", + style: TextStyle(color: Colors.red[400]), + ), + ); + }); + } + + bool _allValid() { + return eightChars && + number && + specialChar && + upperCaseChar && + lowerCaseChar; + } + + @override + void initState() { + super.initState(); + password.addListener(() { + setState(() { + eightChars = password.text.length >= 8; + number = password.text.contains(RegExp(r'\d'), 0); + upperCaseChar = password.text.contains(new RegExp(r'[A-Z]'), 0); + lowerCaseChar = password.text.contains(new RegExp(r'[a-z]'), 0); + specialChar = password.text.isNotEmpty && + !password.text.contains(RegExp(r'^[\w&.-]+$'), 0); + }); + + if (_allValid()) { + _controller.forward(); + } else { + _controller.reverse(); + } + }); + _controller = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + + _fabScale = Tween(begin: 0, end: 1) + .animate(CurvedAnimation(parent: _controller, curve: Curves.bounceOut)); + + _fabScale.addListener(() { + setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + title: Text("Reset your Teso password"), + automaticallyImplyLeading: false, + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Enter a password with a minimum of 8 characters and the password must have at least an uppercase letter, a lowercase letter, " + + "a digit and a non-alphanumeric character", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.01), + child: _validationStack()), + SizedBox( + height: 50, + ), + createPassword(context, password), + SizedBox(height: MediaQuery.of(context).size.height * 0.002), + Visibility( + visible: !changing, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () async { + if (_allValid()) { + await changePassword(context); + } + }, + child: Center( + child: Text( + "Reset Password", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ), + Visibility( + visible: changing, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _separator() { + return Container( + height: 1, + decoration: BoxDecoration(color: Colors.blue.withAlpha(100)), + ); + } + + Stack _validationStack() { + return Stack( + alignment: Alignment.bottomLeft, + children: [ + Card( + shape: CircleBorder(), + color: Colors.black12, + child: Container( + height: 150, + width: 150, + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 32.0, left: 10), + child: Transform.rotate( + angle: -math.pi / 20, + child: Icon( + Icons.lock, + color: Colors.pink, + size: 60, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, right: 60), + child: Transform.rotate( + angle: -math.pi / -60, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + elevation: 4, + color: Colors.yellow.shade800, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(8, 8, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 8), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + ], + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 74), + child: Transform.rotate( + angle: math.pi / -45, + child: Card( + elevation: 6, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + ValidationItem("8 or more Characters", eightChars), + _separator(), + ValidationItem("1 Special character", specialChar), + _separator(), + ValidationItem("1 Upper case", upperCaseChar), + _separator(), + ValidationItem("1 Lower case", lowerCaseChar), + _separator(), + ValidationItem("1 Number", number) + ], + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Transform.scale( + scale: _fabScale.value, + child: Card( + shape: CircleBorder(), + color: Colors.green, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + Icons.check, + color: Colors.white, + ), + ), + ), + ), + ) + ], + ), + ), + ), + ) + ], + ); + } +} diff --git a/lib/Pages/Sub_Pages/LandingPage/verification.dart b/lib/Pages/Sub_Pages/LandingPage/verification.dart new file mode 100644 index 0000000..dcd886f --- /dev/null +++ b/lib/Pages/Sub_Pages/LandingPage/verification.dart @@ -0,0 +1,279 @@ +import 'package:camera/camera.dart'; +import 'package:teso/Classes/API%20Clasess/TokenHandler.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Login/verificationCode.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Classes/API%20Clasess/Registrar.dart'; +import 'package:teso/main_screen.dart'; +import 'package:teso/Classes/API%20Clasess/UserAuth.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/Login.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:firebase_auth/firebase_auth.dart'; + +class Verification extends StatefulWidget { + final Registrar user; + const Verification({Key key, this.user}) : super(key: key); + @override + _VerificationState createState() => _VerificationState(user: this.user); +} + +class _VerificationState extends State { + List connectedCameras; + Registrar user; + _VerificationState({this.user}); + TextEditingController code = new TextEditingController(); + bool loading = false; + bool error = false; + FirebaseAuth _auth; + + @override + void initState() { + availableCameras().then((value) { + connectedCameras = value; + }); + super.initState(); + } + + void verifyAccount() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + setState(() { + loading = true; + }); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + int codeEntered = int.parse(code.text.toString()); + var register = serverLocation + 'api/activationhandler'; + var client = await http.post(Uri.parse(register), + body: json.encode(codeEntered), headers: requestHeaders); + + if (client.statusCode == 200) { + UserAuth auth = user.authentication; + var register2 = serverLocation + 'api/tokens'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(auth), headers: requestHeaders); + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TokenHandler tokenHandler = TokenHandler.fromJSON(handler); + + _auth = FirebaseAuth.instance; + await _auth.signInWithCustomToken(tokenHandler.tokenFirebase); + + final QuerySnapshot result = await FirebaseFirestore.instance + .collection('users') + .where('id', isEqualTo: tokenHandler.user.userGUID) + .get(); + final List documents = result.docs; + if (documents.length == 0) { + // Update data to server if new user + FirebaseFirestore.instance + .collection('users') + .doc(tokenHandler.user.userGUID) + .set({ + 'nickname': tokenHandler.user.username, + 'id': tokenHandler.user.userGUID + }); + } + + FirebaseFirestore.instance + .collection('users') + .doc(_auth.currentUser.uid) + .update({'deviceToken': auth.deviceToken}); + + prefs.setString("tokensTeso", "Bearer " + tokenHandler.tokenTeso); + prefs.setString("tokensFirebase", tokenHandler.tokenFirebase); + prefs.setString("accountType", "email"); + prefs.setString("id", tokenHandler.user.userGUID); + prefs.setString("currentUser", tokenHandler.user.toString()); + prefs.setBool("password", true); + + UserProvider userProvider = UserProvider(); + userProvider.setUser(tokenHandler.user); + + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => MainScreens( + connectedCameras: connectedCameras, + )), + (Route route) => false); + } else { + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (context) => LoginPage( + connectedCameras: connectedCameras, + )), + (Route route) => false); + } + } else { + setState(() { + loading = false; + error = true; + }); + } + + setState(() { + loading = false; + }); + } + + void reGenerateActivation() async { + setState(() { + loading = true; + }); + + Map requestHeaders = { + 'Content-type': 'application/json', + }; + + var register = serverLocation + 'api/activationgenerator'; + await http.post(Uri.parse(register), + body: json.encode(user.user), headers: requestHeaders); + setState(() { + loading = false; + }); + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + leading: IconButton( + icon: Icon(Icons.arrow_back_ios), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text("Account Verification"), + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Enter the verification code we sent to your email " + + user.user.email + + " to activate your account.", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + SizedBox( + height: 10, + ), + inputCode(context, code), + SizedBox(height: MediaQuery.of(context).size.height * 0.001), + Visibility( + visible: loading, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + Visibility( + visible: error, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.9, + child: Center( + child: Text( + "An error occurred while verifying account try again!!", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + ), + Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () => verifyAccount(), + child: Center( + child: Text( + "Continue", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + SizedBox(height: MediaQuery.of(context).size.height * 0.001), + InkWell( + onTap: reGenerateActivation, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.9, + child: Center( + child: Text( + "Didn't receive the code ? Click to resend", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.blueAccent, + ), + ), + ), + ), + ), + ], + ), + ), + )); + } +} diff --git a/lib/Pages/Sub_Pages/Notifications/Alerts.dart b/lib/Pages/Sub_Pages/Notifications/Alerts.dart new file mode 100644 index 0000000..ba7f76f --- /dev/null +++ b/lib/Pages/Sub_Pages/Notifications/Alerts.dart @@ -0,0 +1,868 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:teso/Classes/API%20Clasess/CouponHead.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/AlertTile.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/Redeemable.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/Refund.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/personalizedCoupon.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/post.dart'; +import 'package:teso/Pages/PageWidgets/Alerts/requestTile.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/util/consts.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'dart:convert'; +import 'package:teso/Notifications/NotificationPlugin.dart'; + +class Alerts extends StatefulWidget { + @override + _AlertsState createState() => _AlertsState(); +} + +class _AlertsState extends State { + List listMessage = new List.from([]); + String id = ""; + int _limit = 20; + final int _limitIncrement = 20; + final ScrollController listScrollController = ScrollController(); + SharedPreferences prefs; + bool loading = false; + + Icon iconIndicator(String type) { + switch (type) { + case "alerts": + return Icon( + Icons.notifications, + color: Colors.grey[50], + ); + break; + case "funds": + return Icon( + Icons.wallet_giftcard_outlined, + color: Colors.grey[50], + ); + break; + case "redeemable": + return Icon( + Icons.redeem, + color: Colors.grey[50], + ); + break; + case "gifted": + return Icon( + Icons.redeem, + color: Colors.grey[50], + ); + break; + case "warning": + return Icon( + Icons.warning, + color: Colors.grey[50], + ); + break; + case "friendapproval": + return Icon( + Icons.people_alt, + color: Colors.grey[50], + ); + break; + default: + return Icon( + Icons.notifications, + color: Colors.grey[50], + ); + break; + } + } + + setTitle(value) { + switch (value) { + case "friendrequest": + return "Friend Request"; + default: + return ""; + } + } + + setDescription(value) { + switch (value) { + case "friendrequest": + return " sent you a friend request"; + case "friendapproval": + return " accepted your friend request !!!"; + default: + return ""; + } + } + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the bottom"); + setState(() { + print("reach the bottom"); + _limit += _limitIncrement; + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the top"); + setState(() { + print("reach the top"); + }); + } + } + + void initState() { + listScrollController.addListener(_scrollListener); + SharedPreferences.getInstance().then((value) => id = value.getString("id")); + super.initState(); + } + + void approveRelationship(userGUID) async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = userGUID; + var register = serverLocation + 'relationships/friendapproval'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() {}); + Provider.of(context, listen: false).loadFriends(); + } else { + setState(() {}); + } + } + + void declineRelationship(userGUID) async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = userGUID; + var register = serverLocation + 'relationships/frienddecline'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() {}); + Provider.of(context, listen: false).loadFriends(); + } else { + setState(() {}); + } + } + + void acceptCoupon(CouponsHead head) async { + setState(() { + loading = true; + }); + try { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'coupons/acceptPersonalized'; + var client = await http.post(Uri.parse(register), + body: json.encode(head), headers: requestHeaders); + if (client.statusCode == 200) { + } else if (client.statusCode == 400) { + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Offer Expired", + "Unable to acquire coupon as this offer has expired!!", + payload.toString(), + ); + } else { + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Error Occurred", + "Unable to acquire coupon as this moment", + payload.toString(), + ); + } + } catch (e) { + print(e); + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Error Occurred", + "Unable to acquire coupon as this moment", + payload.toString(), + ); + } + setState(() { + loading = false; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: !loading + ? Consumer( + builder: + (BuildContext context, UserProvider value, Widget child) { + if (value != null) { + id = value.currentUser.userGUID; + return StreamBuilder( + stream: FirebaseFirestore.instance + .collection('notifications') + .doc(id != null ? id : "") + .collection(id != null ? id : "") + .orderBy('timestamp', descending: true) + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (!snapshot.hasData) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else { + listMessage = snapshot.data.docs; + return ListView.builder( + // controller: listScrollController, + itemCount: listMessage.length, + itemBuilder: (BuildContext context, int index) { + int timeInMillis = int.parse(snapshot + .data.docs[index]['timestamp'] + .toString()); + DateTime date = DateTime.fromMillisecondsSinceEpoch( + timeInMillis); + + switch (listMessage[index]["notificationType"]) { + case "friendrequest": + return buildRequest( + context: context, + approve: () => approveRelationship( + listMessage[index]["initiatorID"]), + decline: () => declineRelationship( + listMessage[index]["initiatorID"]), + timestamp: date, + description: listMessage[index] + ["initiatorUsername"] + + setDescription(listMessage[index] + ["notificationType"]), + thumbnail: listMessage[index] + ["initiatorThumbnail"], + username: listMessage[index] + ["initiatorUsername"], + icons: iconIndicator( + listMessage[index]["notificationType"], + ), + ); + break; + case "redeemable": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["couponID"]), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRedeemableAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "expired": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["couponID"]), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRedeemableAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "gifted": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["couponID"]), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRedeemableAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "likes": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["timestamp"] + .toString()), + background: Container( + //height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildAlert( + context: context, + timestamp: date, + username: listMessage[index]["message"], + description: listMessage[index] + ["message"] + + setDescription(listMessage[index] + ["notificationType"]), + thumbnail: listMessage[index] + ["thumbnail"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "comments": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["timestamp"] + .toString()), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildAlert( + context: context, + timestamp: date, + username: listMessage[index]["message"], + description: listMessage[index] + ["message"] + + setDescription(listMessage[index] + ["notificationType"]), + thumbnail: listMessage[index] + ["thumbnail"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "personalized": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: buildPersonalizedAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + decline: () => FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }), + accept: () { + var coup = jsonDecode( + listMessage[index]["coupon"]); + CouponsHead head = new CouponsHead(); + head.businessId = coup["BusinessId"]; + head.couponId = + listMessage[index].reference.id; + head.expiration = DateTime.parse( + coup["Expiration"].toString()); + head.lower = coup["LowerLimit"]; + head.quantity = 1; + head.state = listMessage[index] + ["couponCondition"]; + head.targetProduct = + coup["TargetProduct"]; + head.type = coup["Type"]; + head.upper = coup["UpperLimit"]; + head.generated = DateTime.parse( + coup["Generated"].toString()); + acceptCoupon(head); + }), + ); + break; + case "cancellation": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index].reference.id), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRedeemableAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "refund": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index].reference.id), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRefundAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "welcome": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index].reference.id), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRefundAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "adStatus": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index].reference.id), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildPostAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["assetID"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + case "desire": + return Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key(listMessage[index]["couponID"]), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildRedeemableAlert( + context: context, + timestamp: date, + message: listMessage[index]["message"], + thumbnail: listMessage[index] + ["productImage"], + icons: iconIndicator(listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + break; + default: + try { + return Padding( + padding: + EdgeInsets.symmetric(vertical: 8.0), + child: Dismissible( + key: Key( + listMessage[index]["relationID"]), + background: Container( + height: 100, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + darkAccent, + accentMain, + ], + ), + ), + child: Center( + child: Text( + "Cleared!!!!", + style: TextStyle( + color: Colors.white, + fontSize: 25), + ), + ), + ), + child: buildAlert( + context: context, + timestamp: date, + username: listMessage[index] + ["initiatorUsername"], + description: listMessage[index] + ["initiatorUsername"] + + setDescription(listMessage[index] + ["notificationType"]), + thumbnail: listMessage[index] + ["initiatorThumbnail"], + icons: iconIndicator( + listMessage[index] + ["notificationType"]), + ), + onDismissed: (direction) { + FirebaseFirestore.instance + .runTransaction( + (transaction) async { + transaction.delete( + listMessage[index].reference); + }); + }), + ); + } catch (e) { + print(e); + return Container(); + } + break; + } + }, + ); + } + }, + ); + } else { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } + }, + ) + : Container( + padding: + EdgeInsets.only(top: MediaQuery.of(context).size.width * 0.7), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Center( + child: Column( + children: [ + CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + Text("Processing request....."), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Notifications/ChatScreen.dart b/lib/Pages/Sub_Pages/Notifications/ChatScreen.dart new file mode 100644 index 0000000..bcdc4a5 --- /dev/null +++ b/lib/Pages/Sub_Pages/Notifications/ChatScreen.dart @@ -0,0 +1,345 @@ +import 'dart:async'; + +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Classes/ChatMessage.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/bottomBar.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/header.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/recipient.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/sender.dart'; +import 'package:flutter/material.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'dart:io'; +import 'dart:convert'; +import 'dart:ui'; +import 'package:intl/intl.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class ChatScreen extends StatefulWidget { + final TesoUser user; + + const ChatScreen({Key key, this.user}) : super(key: key); + @override + _ChatScreenState createState() => _ChatScreenState(user: this.user); +} + +class _ChatScreenState extends State { + final datakey = new GlobalKey(); + TesoUser user; + _ChatScreenState({this.user}); + TextEditingController controller = new TextEditingController(); + bool first = true; + String id; + + List listMessage = new List.from([]); + int _limit = 20; + final int _limitIncrement = 20; + String groupChatId; + SharedPreferences prefs; + final ScrollController listScrollController = ScrollController(); + File imageFile; + bool isLoading; + bool isShowSticker; + String imageUrl; + TesoUser currentUser; + Future _future; + Timer timer; + int counter = 0; + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the bottom"); + setState(() { + print("reach the bottom"); + _limit += _limitIncrement; + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the top"); + setState(() { + print("reach the top"); + }); + } + } + + void sendMessage(String content, int type) { + if (content.trim() != '') { + controller.clear(); + + var documentReference = FirebaseFirestore.instance + .collection('messages') + .doc(groupChatId) + .collection(groupChatId) + .doc(DateTime.now().millisecondsSinceEpoch.toString()); + + FirebaseFirestore.instance.runTransaction((transaction) async { + transaction.set( + documentReference, + { + 'idFrom': id, + 'idTo': user.userGUID, + 'timestamp': DateTime.now().millisecondsSinceEpoch.toString(), + 'content': content.trim(), + 'type': type, + 'read': false + }, + ); + }); + + var inboxReference1 = FirebaseFirestore.instance + .collection('inbox') + .doc(id) + .collection("lastMessage") + .doc(groupChatId); + + FirebaseFirestore.instance.runTransaction((transaction) async { + transaction.set( + inboxReference1, + { + 'senderID': id, + 'peerID': user.userGUID, + 'timestamp': DateTime.now().millisecondsSinceEpoch.toString(), + 'content': content.trim(), + 'firstname': user.firstname, + 'surname': user.lastname, + 'thumbnail': user.thumbnail_dp, + 'username': user.username, + 'read': false + }, + ); + }); + var inboxReference2 = FirebaseFirestore.instance + .collection('inbox') + .doc(user.userGUID) + .collection("lastMessage") + .doc(groupChatId); + + FirebaseFirestore.instance.runTransaction((transaction) async { + transaction.set( + inboxReference2, + { + 'senderID': id, + 'peerID': id, + 'timestamp': DateTime.now().millisecondsSinceEpoch.toString(), + 'content': content.trim(), + 'firstname': currentUser.firstname, + 'surname': currentUser.lastname, + 'thumbnail': currentUser.thumbnail_dp, + 'username': currentUser.username, + 'read': false + }, + ); + }); + listScrollController.animateTo(0.0, + duration: Duration(milliseconds: 300), curve: Curves.easeOut); + } else { + // Fluttertoast.showToast( + // msg: 'Nothing to send', + // backgroundColor: Colors.black, + // textColor: Colors.red); + } + } + + void readMessage(DocumentReference reference) { + reference.update({"read": true}); + + FirebaseFirestore.instance + .collection('inbox') + .doc(id) + .collection("lastMessage") + .doc(groupChatId) + .update({"read": true}); + + FirebaseFirestore.instance + .collection('inbox') + .doc(user.userGUID) + .collection("lastMessage") + .doc(groupChatId) + .update({"read": true}); + } + + @override + void initState() { + super.initState(); + readLocal(); + listScrollController.addListener(_scrollListener); + controller.addListener(() { + if (controller.text.isNotEmpty) { + isTyping(true); + } else { + isTyping(false); + } + }); + currentUser = Provider.of(context, listen: false).currentUser; + _future = findUser(); + timer = Timer.periodic(Duration(seconds: 30), (Timer t) => addValue()); + } + + void addValue() { + setState(() { + counter++; + }); + } + + readLocal() async { + prefs = await SharedPreferences.getInstance(); + id = prefs.getString('id') ?? ''; + if (id.hashCode <= user.userGUID.hashCode) { + groupChatId = id + user.userGUID; + } else { + groupChatId = user.userGUID + id; + } + FirebaseFirestore.instance + .collection('users') + .doc(id) + .update({'chattingWith': user.userGUID, 'typing': false}); + + setState(() {}); + } + + void isTyping(bool value) { + FirebaseFirestore.instance + .collection('users') + .doc(id) + .update({'chattingWith': user.userGUID, 'typing': value}); + } + + Future findUser() async { + TesoUser loadedUser; + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + String auth = user.userGUID; + var register2 = serverLocation + 'users/finduser'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(auth), headers: requestHeaders); + + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TesoUser tokenHandler = TesoUser.fromJSON(handler); + setState(() { + user = tokenHandler; + loadedUser = user; + }); + } + + return loadedUser; + } + + @override + void dispose() { + listScrollController.dispose(); + controller.dispose(); + timer?.cancel(); + FirebaseFirestore.instance + .collection('users') + .doc(id) + .update({'chattingWith': "", 'typing': false}); + + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(90), + child: FutureBuilder( + future: _future, + builder: (BuildContext context, AsyncSnapshot snapshot) { + if (snapshot.hasData == null || + snapshot.connectionState == ConnectionState.waiting) { + return buildChatHead(context, user); + } else { + return buildChatHead(context, user); + } + }, + ), + ), + body: Container( + height: MediaQuery.of(context).size.height, + child: Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(bottom: 60), + child: StreamBuilder( + stream: FirebaseFirestore.instance + .collection('messages') + .doc(groupChatId) + .collection(groupChatId) + .orderBy('timestamp', descending: true) + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (!snapshot.hasData) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data == null || listMessage == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else { + listMessage = snapshot.data.docs; + return ListView.builder( + padding: EdgeInsets.all(10.0), + itemCount: listMessage.length, + itemBuilder: (context, index) { + if (snapshot.data.docs[index].data()['idTo'] == id && + snapshot.data.docs[index].data()['read'] == false) { + readMessage(listMessage[index].reference); + } + int timeInMillis = int.parse( + snapshot.data.docs[index].data()['timestamp']); + var date = + DateTime.fromMillisecondsSinceEpoch(timeInMillis); + var formattedDate = + DateFormat("yyyy-MM-dd HH:mm:ss").format(date); + ChatMessage message = new ChatMessage(); + message.idFrom = + snapshot.data.docs[index].data()['idFrom']; + message.content = + snapshot.data.docs[index].data()['content']; + message.idTo = snapshot.data.docs[index].data()['idTo']; + message.timestamp = DateTime.parse(formattedDate); + message.type = int.parse(snapshot.data.docs[index] + .data()['type'] + .toString()); + if (snapshot.data.docs[index].data()['idFrom'] == id) { + return buildSender(context, message); + } else { + return buildRecipient(context, message); + } + }, + reverse: true, + controller: listScrollController, + ); + } + }, + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: buildBottom(context, controller, sendMessage), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Notifications/Inbox.dart b/lib/Pages/Sub_Pages/Notifications/Inbox.dart new file mode 100644 index 0000000..89d5fe2 --- /dev/null +++ b/lib/Pages/Sub_Pages/Notifications/Inbox.dart @@ -0,0 +1,145 @@ +import 'dart:async'; +import 'dart:typed_data'; +import 'package:intl/intl.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Classes/inbox.dart'; +import 'package:teso/Pages/PageWidgets/Inbox/inboxTile.dart'; +import 'package:teso/Pages/Sub_Pages/Notifications/ChatScreen.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:flutter/material.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; +import 'package:flutter/cupertino.dart'; + +class Inbox extends StatefulWidget { + final TesoUser user; + + const Inbox({Key key, this.user}) : super(key: key); + @override + _InboxState createState() => _InboxState(user: this.user); +} + +class _InboxState extends State { + final TesoUser user; + TesoUser currentUser = new TesoUser(); + TextEditingController controller = new TextEditingController(); + Uint8List bytes; + List listMessage = new List.from([]); + String id; + SharedPreferences prefs; + Timer timer; + int counter = 0; + + _InboxState({this.user}); + + @override + void initState() { + readLocal(); + super.initState(); + timer = Timer.periodic(Duration(seconds: 30), (Timer t) => addValue()); + } + + void addValue() { + setState(() { + counter++; + }); + } + + @override + void dispose() { + controller.dispose(); + timer?.cancel(); + super.dispose(); + } + + readLocal() async { + prefs = await SharedPreferences.getInstance(); + id = prefs.getString('id') ?? ''; + setState(() {}); + } + + @override + Widget build(BuildContext context) { + currentUser = Provider.of(context, listen: false).currentUser; + return Scaffold( + body: StreamBuilder( + stream: FirebaseFirestore.instance + .collection('inbox') + .doc(id) + .collection("lastMessage") + .orderBy("timestamp", descending: false) + .snapshots(), + builder: (context, snapshot) { + if (snapshot.data == null) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else { + listMessage = snapshot.data.docs; + return ListView.builder( + padding: EdgeInsets.all(5.0), + itemCount: listMessage.length, + itemBuilder: (context, index) { + int timeInMillis = + int.parse(snapshot.data.docs[index].data()['timestamp']); + var date = DateTime.fromMillisecondsSinceEpoch(timeInMillis); + var formattedDate = + DateFormat("yyyy-MM-dd HH:mm:ss").format(date); + TesoUser username = new TesoUser(); + username.userGUID = + snapshot.data.docs[index].data()['peerID']; + username.firstname = + snapshot.data.docs[index].data()['firstname']; + username.lastname = + snapshot.data.docs[index].data()['surname']; + username.thumbnail_dp = + snapshot.data.docs[index].data()['thumbnail']; + username.username = + snapshot.data.docs[index].data()['username']; + + InboxMessage message = new InboxMessage(); + message.bio = ""; + message.userID = snapshot.data.docs[index].data()['peerID']; + message.firstname = + snapshot.data.docs[index].data()['firstname']; + message.surname = snapshot.data.docs[index].data()['surname']; + message.thumbnail = + snapshot.data.docs[index].data()['thumbnail']; + message.message = snapshot.data.docs[index].data()['content']; + message.timestamp = DateTime.parse(formattedDate); + message.messageID = listMessage[index].reference.toString(); + bool status; + if (snapshot.data.docs[index].data()['senderID'] == id) { + status = true; + } else if (snapshot.data.docs[index].data()['senderID'] != + id && + !listMessage[index]['read']) { + status = false; + } else { + status = true; + } + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: ChatScreen( + user: username, + ), + type: PageTransitionType.leftToRightWithFade), + ), + child: buildInboxTile(context, message, status), + ); + }, + ); + } + }), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Notifications/newMessage.dart b/lib/Pages/Sub_Pages/Notifications/newMessage.dart new file mode 100644 index 0000000..c9fba86 --- /dev/null +++ b/lib/Pages/Sub_Pages/Notifications/newMessage.dart @@ -0,0 +1,126 @@ +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Friends/friendTile.dart'; +import 'package:teso/Pages/PageWidgets/Inbox/newMessageHeader.dart'; +import 'package:teso/Pages/Sub_Pages/Notifications/ChatScreen.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Friends/header.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:convert'; + +class NewMessage extends StatefulWidget { + @override + _NewMessageState createState() => _NewMessageState(); +} + +class _NewMessageState extends State { + TextEditingController searchkey; + List recipientMain = []; + List recipient; + SharedPreferences prefs; + + void clearText() { + setState(() { + // searchkey.clear(); + // recipient = recipientMain; + // recipient.sort((a, b) { + // return b.userID.compareTo(a.userID); + // }); + }); + } + + @override + void initState() { + searchkey = new TextEditingController(); + Provider.of(context, listen: false).loadFriends(); + super.initState(); + } + + Future loadFriends() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'relationships/friends'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var people = jsonDecode(client.body); + recipientMain = List.from( + people.map((model) => TesoUser.fromJSON(model)).toList()); + } + + recipient = recipientMain; + recipient.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + } + + updateList(String name) { + setState(() { + recipient = recipientMain + .where((element) => + element.username.toLowerCase().contains(name.toLowerCase())) + .toList(); + recipient.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(150), + child: Container( + margin: EdgeInsets.only(top: 30), + child: Column(children: [ + buildNewHead(context, clearText, "New Message"), + buildFriendsHeader(context, searchkey, updateList), + ]), + ), + ), + body: Consumer( + builder: (context, value, child) { + if (value.friends == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor), + ), + ); + } else { + if (recipientMain.length == 0) { + recipientMain = value.friends; + recipient = value.friends; + } + recipient.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + return ListView.builder( + itemCount: recipient.length, + itemBuilder: (context, int index) { + return InkWell( + onTap: () => Navigator.pushReplacement( + context, + PageTransition( + child: ChatScreen(user: recipient.elementAt(index)), + type: PageTransitionType.fade, + ), + ), + child: buildFriend(context, recipient.elementAt(index)), + ); + }, + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Payments/PaymentView.dart b/lib/Pages/Sub_Pages/Payments/PaymentView.dart new file mode 100644 index 0000000..3868ca5 --- /dev/null +++ b/lib/Pages/Sub_Pages/Payments/PaymentView.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; + +class PaymentView extends StatefulWidget { + final String selectedUrl; + + PaymentView({this.selectedUrl}); + + @override + _PaymentViewState createState() => _PaymentViewState(); +} + +class _PaymentViewState extends State { + final flutterWebviewPlugin = new FlutterWebviewPlugin(); + + @override + void initState() { + super.initState(); + flutterWebviewPlugin.onBack.listen((event) { + Navigator.pop(context); + }); + flutterWebviewPlugin.onUrlChanged.listen((String url) { + print(url); + if (url.contains("#access_token")) { + succeed(url); + } + + if (url.contains( + "https://www.facebook.com/connect/login_success.html?error=access_denied&error_code=200&error_description=Permissions+error&error_reason=user_denied")) { + denied(); + } + if (url.contains("https://expresspaygh.com/retry_later.php")) { + denied(); + } + }); + } + + denied() { + Navigator.pop(context); + } + + succeed(String url) { + var params = url.split("access_token="); + + var endparam = params[1].split("&"); + flutterWebviewPlugin.clearCache(); + flutterWebviewPlugin.cleanCookies(); + flutterWebviewPlugin.dispose(); + Navigator.pop(context, endparam[0]); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Container( + height: MediaQuery.of(context).size.height, + margin: EdgeInsets.only(top: 10), + child: WebviewScaffold( + url: widget.selectedUrl, + scrollBar: true, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Payments/Withdrawal.dart b/lib/Pages/Sub_Pages/Payments/Withdrawal.dart new file mode 100644 index 0000000..27cfc0d --- /dev/null +++ b/lib/Pages/Sub_Pages/Payments/Withdrawal.dart @@ -0,0 +1,292 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Pages/PageWidgets/CoinPurchase/MomoType.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class WithdrawalPage extends StatefulWidget { + final String momonumber; + final String amount; + final String provider; + const WithdrawalPage({Key key, this.momonumber, this.amount, this.provider}) + : super(key: key); + + @override + _WithdrawalPageState createState() => _WithdrawalPageState(); +} + +class _WithdrawalPageState extends State { + String processing = "Processing request, please wait"; + bool confirmBox = false; + String recipientName = ""; + String currency; + String image; + + submit() async { + String num = widget.momonumber; + String provider = widget.provider; + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register2 = + paymentServer + "withdrawals/getAccountInfo/$provider/account/$num"; + var client1 = + await http.get(Uri.parse(register2), headers: requestHeaders); + if (client1.statusCode == 200) { + var parsedJson = json.decode(client1.body); + if (parsedJson["status-text"] == "Success") { + setState(() { + confirmBox = true; + recipientName = parsedJson["account-info"]; + currency = parsedJson["options"][0]["currency"]; + }); + } else if (parsedJson["status"] == 4) { + setState(() { + confirmBox = false; + processing = parsedJson["status-text"]; + }); + } else { + setState(() { + confirmBox = false; + processing = "Request Failed, please try again later !!!"; + }); + } + } + } catch (e) {} + if (!confirmBox) + Future.delayed(Duration(seconds: 5), () => Navigator.pop(context)); + } + + withdraw() async { + setState(() { + confirmBox = false; + }); + String num = widget.momonumber; + String withdraw = widget.amount; + String provider = widget.provider; + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + Map body = { + "provider": provider, + "number": num, + "amount": withdraw, + }; + var register2 = paymentServer + "withdrawals/cashout"; + var client1 = await http.post( + Uri.parse(register2), + headers: requestHeaders, + body: json.encode(body), + ); + if (client1.statusCode == 200) { + if (client1.body == "Payment Made") { + setState(() { + confirmBox = false; + processing = "Payment made successfully"; + }); + } else if (client1.body == "Payment Pending") { + setState(() { + confirmBox = false; + processing = "Payment submitted successfully, " + + "funds maybe transferred to the specified as soon as possible"; + }); + } + } else { + if (client1.body == "Insufficient Gold") { + setState(() { + confirmBox = false; + processing = + "Insufficient Gold coins, you need to have more than 9 gold coins to make a withdrawal"; + }); + } else { + setState(() { + confirmBox = false; + processing = "Request Failed, please try again later !!!"; + }); + } + } + } catch (e) {} + Provider.of(context, listen: false).getUserInformation(); + if (!confirmBox) + Future.delayed(Duration(seconds: 5), () => Navigator.pop(context)); + } + + @override + void initState() { + switch (widget.provider) { + case "VODAFONE": + setState(() { + image = "assets/images/Vodafone.png"; + }); + break; + case "MTN": + setState(() { + image = "assets/images/MTN.png"; + }); + break; + case "AIRTEL": + setState(() { + image = "assets/images/AirtelTigo.png"; + }); + break; + } + submit(); + super.initState(); + } + + select(s) {} + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: !confirmBox ? pendingCenter(context) : confirmCenter(context), + ), + ); + } + + Widget pendingCenter(BuildContext context) { + return Container( + width: 200, + height: 200, + child: Column( + children: [ + Container( + child: processing == "Processing request, please wait" + ? CupertinoActivityIndicator( + animating: true, + radius: 15, + ) + : processing.contains("successfully") + ? Icon( + Icons.check_circle, + color: Colors.green, + size: SizeConfig.safeBlockHorizontal * 20, + ) + : Icon( + Icons.error, + color: Colors.red, + size: SizeConfig.safeBlockHorizontal * 30, + ), + ), + SizedBox( + height: 10, + ), + Container( + child: Text( + processing, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: SizeConfig.safeBlockHorizontal * 3.8, + ), + ), + ), + ], + ), + ); + } + + Widget confirmCenter(BuildContext context) { + SizeConfig().init(context); + return Container( + width: SizeConfig.safeBlockHorizontal * 72, + height: SizeConfig.safeBlockVertical * 42, + child: Container( + width: SizeConfig.safeBlockHorizontal * 72, + height: SizeConfig.safeBlockVertical * 42, + child: Column( + children: [ + SizedBox( + height: 20, + ), + buildType(context, image, widget.provider, select, widget.provider), + SizedBox( + height: 20, + ), + Container( + child: Text( + "You requested to withdraw $currency ${widget.amount} to $recipientName on ${widget.momonumber}", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: SizeConfig.safeBlockHorizontal * 3.8, + ), + ), + ), + SizedBox( + height: 20, + ), + new Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Color(0xFFb90222), + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => Navigator.pop(context), + child: new Container( + height: 20.0, + width: 70.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Color(0xFFb90222), + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Cancel", + style: new TextStyle(color: Colors.white), + ), + ), + ), + SizedBox( + width: 10, + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green, + padding: new EdgeInsets.all(10.0), + ), + onPressed: withdraw, + child: new Container( + height: 20.0, + width: 70.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Confirm", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ], + ) + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Categories.dart b/lib/Pages/Sub_Pages/PersonalSub/Categories.dart new file mode 100644 index 0000000..95868a0 --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Categories.dart @@ -0,0 +1,602 @@ +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; + +import 'package:provider/provider.dart'; +import 'package:flutter/cupertino.dart'; + +class Categories extends StatefulWidget { + @override + _CategoriesState createState() => _CategoriesState(); +} + +class _CategoriesState extends State { + Color antiques = Colors.white; + Color agric = Colors.white; + Color auto = Colors.white; + Color bags = Colors.white; + Color electronics = Colors.white; + Color clothing = Colors.white; + Color gifts = Colors.white; + Color food = Colors.white; + Color home = Colors.white; + Color pet = Colors.white; + Color machinery = Colors.white; + Color health = Colors.white; + List favorites = []; + bool fresh = true; + + @override + void initState() { + super.initState(); + } + + void setFavorites(String id) { + switch (id) { + case "TECAT001": + setState(() { + if (!favorites.contains("TECAT001") && fresh) { + antiques = accentMain; + favorites.add("TECAT001"); + } else if (!favorites.contains("TECAT001")) { + antiques = accentMain; + favorites.add("TECAT001"); + } else { + favorites.remove("TECAT001"); + antiques = Colors.white; + } + }); + break; + case "TECAT002": + setState(() { + if (!favorites.contains("TECAT002") && fresh) { + agric = accentMain; + favorites.add("TECAT002"); + } else if (!favorites.contains("TECAT002")) { + agric = accentMain; + favorites.add("TECAT002"); + } else { + favorites.remove("TECAT002"); + agric = Colors.white; + } + }); + break; + case "TECAT003": + setState(() { + if (!favorites.contains("TECAT003") && fresh) { + auto = accentMain; + favorites.add("TECAT003"); + } else if (!favorites.contains("TECAT003")) { + auto = accentMain; + favorites.add("TECAT003"); + } else { + favorites.remove("TECAT003"); + auto = Colors.white; + } + }); + break; + case "TECAT004": + setState(() { + if (!favorites.contains("TECAT004") && fresh) { + bags = accentMain; + favorites.add("TECAT004"); + } else if (!favorites.contains("TECAT004")) { + bags = accentMain; + favorites.add("TECAT004"); + } else { + favorites.remove("TECAT004"); + bags = Colors.white; + } + }); + break; + case "TECAT005": + setState(() { + if (!favorites.contains("TECAT005") && fresh) { + clothing = accentMain; + favorites.add("TECAT005"); + } else if (!favorites.contains("TECAT005")) { + clothing = accentMain; + favorites.add("TECAT005"); + } else { + favorites.remove("TECAT005"); + clothing = Colors.white; + } + }); + break; + case "TECAT006": + setState(() { + if (!favorites.contains("TECAT006") && fresh) { + electronics = accentMain; + favorites.add("TECAT006"); + } else if (!favorites.contains("TECAT006")) { + electronics = accentMain; + favorites.add("TECAT006"); + } else { + favorites.remove("TECAT006"); + electronics = Colors.white; + } + }); + break; + case "TECAT007": + setState(() { + if (!favorites.contains("TECAT007") && fresh) { + gifts = accentMain; + favorites.add("TECAT007"); + } else if (!favorites.contains("TECAT007")) { + gifts = accentMain; + favorites.add("TECAT007"); + } else { + favorites.remove("TECAT007"); + gifts = Colors.white; + } + }); + break; + case "TECAT008": + setState(() { + if (!favorites.contains("TECAT008") && fresh) { + food = accentMain; + favorites.add("TECAT008"); + } else if (!favorites.contains("TECAT008")) { + food = accentMain; + favorites.add("TECAT008"); + } else { + favorites.remove("TECAT008"); + food = Colors.white; + } + }); + break; + case "TECAT009": + setState(() { + if (!favorites.contains("TECAT009") && fresh) { + home = accentMain; + favorites.add("TECAT009"); + } else if (!favorites.contains("TECAT009")) { + home = accentMain; + favorites.add("TECAT009"); + } else { + favorites.remove("TECAT009"); + home = Colors.white; + } + }); + break; + case "TECAT010": + setState(() { + if (!favorites.contains("TECAT010") && fresh) { + pet = accentMain; + favorites.add("TECAT010"); + } else if (!favorites.contains("TECAT010")) { + pet = accentMain; + favorites.add("TECAT010"); + } else { + favorites.remove("TECAT010"); + pet = Colors.white; + } + }); + break; + case "TECAT011": + setState(() { + if (!favorites.contains("TECAT011") && fresh) { + machinery = accentMain; + favorites.add("TECAT011"); + } else if (!favorites.contains("TECAT011")) { + machinery = accentMain; + favorites.add("TECAT011"); + } else { + favorites.remove("TECAT011"); + machinery = Colors.white; + } + }); + break; + case "TECAT012": + setState(() { + if (!favorites.contains("TECAT012") && fresh) { + health = accentMain; + favorites.add("TECAT012"); + } else if (!favorites.contains("TECAT012")) { + health = accentMain; + favorites.add("TECAT012"); + } else { + favorites.remove("TECAT012"); + health = Colors.white; + } + }); + break; + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + width: double.infinity, + padding: EdgeInsets.only(top: 40, left: 10), + child: Column( + children: [ + Align( + alignment: Alignment.topLeft, + child: Container( + height: 40, + width: 40, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + color: accentMain, + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: IconButton( + onPressed: () => Navigator.pop(context), + icon: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + ), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + width: 60, + height: 80, + decoration: new BoxDecoration( + shape: BoxShape.circle, + //color: Colors.grey, + ), + child: Image( + height: 60, + width: 100, + fit: BoxFit.fill, + image: AssetImage("assets/images/tesoCouponInsignia.png"), + ), + ), + ), + Container( + margin: EdgeInsets.only(top: 10), + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Your Interests", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 21, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "What are you interested in ?", + style: TextStyle( + fontSize: 12, + ), + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Choose one or more categories you are interested in !!", + style: TextStyle( + fontSize: 12, + ), + ), + ), + ), + ], + ), + ), + preferredSize: Size.fromHeight(218)), + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Consumer( + builder: (context, value, child) { + if (value == null) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else { + if (fresh) { + if (value.interest != null) + value.interest.forEach((element) { + Future.delayed(Duration.zero, () async { + setFavorites(element); + }); + }); + fresh = false; + } + return Container( + width: double.infinity, + padding: EdgeInsets.only(top: 0, left: 10), + margin: EdgeInsets.only( + bottom: 100, + ), + child: Column( + children: [ + new Wrap( + children: [ + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: agric, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT002"), + child: Text( + "Agriculture", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: auto, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT003"), + child: Text( + "Auto & Transportation", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: bags, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT004"), + child: Text( + "Bags, Shoes & Accessories", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: clothing, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT005"), + child: Text( + "Clothing & Accessories", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: electronics, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT006"), + child: Text( + "Electronics", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: gifts, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT007"), + child: Text( + "Gifts, Sports & Toys", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: health, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT012"), + child: Text( + "Health & Beauty", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: food, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT008"), + child: Text( + "Food", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: home, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT009"), + child: Text( + "Home & Garden", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: pet, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT010"), + child: Text( + "Pet Supplies", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: antiques, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT001"), + child: Text( + "Antiques", + style: TextStyle(color: Colors.black), + ), + ), + ), + Container( + height: 40, + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(7), + decoration: BoxDecoration( + color: machinery, + borderRadius: + BorderRadius.all(Radius.circular(20.0)), + border: Border.all( + color: accentMain, + )), + child: InkWell( + onTap: () => setFavorites("TECAT011"), + child: Text( + "Machinery, Industrial Parts & Tools", + style: TextStyle(color: Colors.black), + ), + ), + ), + ], + ), + ], + ), + ); + } + }, + ), + ), + floatingActionButton: Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.only( + top: 10, + ), + width: MediaQuery.of(context).size.width / 1.4, + height: 40, + decoration: new BoxDecoration( + shape: BoxShape.circle, + //color: Colors.grey, + ), + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: accentMain, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + ), + onPressed: () { + Provider.of(context, listen: false) + .updateFavoriteCategories(favorites); + }, + child: Text( + "Save", + style: TextStyle(color: Colors.white), + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/CompleteProfile.dart b/lib/Pages/Sub_Pages/PersonalSub/CompleteProfile.dart new file mode 100644 index 0000000..7af3259 --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/CompleteProfile.dart @@ -0,0 +1,262 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; +import 'package:intl/intl.dart'; +import 'package:teso/Classes/customTesoButton.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'dart:convert'; + +class CompleteProfile extends StatefulWidget { + @override + _CompleteProfileState createState() => _CompleteProfileState(); +} + +class _CompleteProfileState extends State { + DateFormat dateFormat = DateFormat("EEEE dd-MM-yyyy"); + DateTime selectedDate = DateTime.now(); + String selectedGender; + List gender = ["Male", "Female", "Other"]; + bool error = false; + String message = ""; + String olduser; + + void changeDate(v) { + setState(() { + selectedDate = v; + }); + } + + @override + void initState() { + super.initState(); + SharedPreferences.getInstance().then((prefs) async { + olduser = prefs.getString("currentUser"); + }); + } + + completeProfile() async { + if (selectedDate.year != DateTime.now().year || + selectedGender == null || + selectedGender.isEmpty) { + SharedPreferences.getInstance().then((prefs) async { + Map user = + jsonDecode(prefs.getString("currentUser")) as Map; + TesoUser currentuser = TesoUser.fromJSON(user); + currentuser.dateOfBirth = selectedDate; + currentuser.gender = selectedGender; + Provider.of(context, listen: false) + .updateUser(currentuser); + }).whenComplete(() { + SharedPreferences.getInstance().then((prefs) async { + if (prefs.getString("currentUser") == null) { + prefs.setString("currentUser", olduser); + setState(() { + error = true; + message = + "Sorry, an error occurred while updating your profile please try again later !!!"; + }); + + Future.delayed(const Duration(seconds: 5), () { + if (error) { + if (mounted) { + setState(() { + error = false; + }); + } + } + }); + Navigator.pop(context); + } else { + Map user = + jsonDecode(olduser) as Map; + TesoUser currentuser = TesoUser.fromJSON(user); + currentuser.dateOfBirth = selectedDate; + currentuser.gender = selectedGender; + Provider.of(context, listen: false) + .setUser(currentuser); + Navigator.pop(context); + } + }); + }); + } else { + setState(() { + error = true; + message = + "Sorry, an error occurred please make sure to select the right date and select a gender !!!"; + }); + + Future.delayed(const Duration(seconds: 5), () { + if (error) { + if (mounted) { + setState(() { + error = false; + }); + } + } + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + width: MediaQuery.of(context).size.width, + padding: EdgeInsets.all(20), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + height: 120, + padding: EdgeInsets.symmetric(vertical: 20), + child: Image( + image: AssetImage("assets/images/tesoCouponInsignia.png"), + ), + ), + SizedBox( + height: 5, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Center( + child: Text( + "Complete your profile", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18), + ), + ), + ), + SizedBox( + height: 40, + ), + Container( + width: MediaQuery.of(context).size.width, + // height: 10, + child: Text( + "When is your birthday ?", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + alignment: Alignment.centerLeft, + child: TextButton( + onPressed: () { + DatePicker.showDatePicker( + context, + showTitleActions: true, + maxTime: DateTime.now(), + onConfirm: (date) { + changeDate(date); + }, + currentTime: selectedDate, + locale: LocaleType.en, + ); + }, + child: Text( + dateFormat.format(selectedDate).toString(), + style: TextStyle( + fontWeight: FontWeight.normal, + ), + ), + ), + ), + Divider(), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Text( + "What is your gender ?", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + Container( + alignment: Alignment.centerLeft, + child: DropdownButton( + hint: Text("Select Gender"), + value: selectedGender, + items: gender + .map( + (gender) => DropdownMenuItem( + value: gender, + child: Text( + gender, + style: TextStyle( + // color: Colors.grey, + ), + ), + ), + ) + .toList(), + onChanged: (v) { + setState(() { + selectedGender = v; + }); + }, + ), + ), + Divider(), + SizedBox( + height: 10, + ), + Container( + width: MediaQuery.of(context).size.width, + child: Text( + "Teso uses this data to personalize your experiences, to help business understand their customers, and more. " + + "We will always keep your personal data private.", + textAlign: TextAlign.center, + ), + ), + SizedBox( + height: 20, + ), + Visibility( + visible: error, + child: Container( + width: MediaQuery.of(context).size.width, + child: Text( + message, + style: TextStyle( + color: Colors.red, + ), + ), + ), + ), + RaisedGradientButton( + onPressed: completeProfile, + child: Text( + "Submit", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Friends.dart b/lib/Pages/Sub_Pages/PersonalSub/Friends.dart new file mode 100644 index 0000000..caead32 --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Friends.dart @@ -0,0 +1,91 @@ +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Friends/friendTile.dart'; +import 'package:teso/Pages/Sub_Pages/userProfile3P.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Friends/header.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +class Friends extends StatefulWidget { + @override + _FriendsState createState() => _FriendsState(); +} + +class _FriendsState extends State { + TextEditingController searchkey; + List friendsMain = []; + List friends; + SharedPreferences prefs; + + void clearText() { + setState(() { + searchkey.clear(); + }); + } + + @override + void initState() { + searchkey = new TextEditingController(); + super.initState(); + } + + updateList(String name) { + setState(() { + friends = friendsMain + .where((element) => + element.username.toLowerCase().contains(name.toLowerCase())) + .toList(); + friends.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + // extendBody: true, + appBar: PreferredSize( + preferredSize: Size.fromHeight(90), + child: buildFriendsHeader(context, searchkey, updateList), + ), + body: Consumer( + builder: (context, value, child) { + if (value.friends == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else { + if (friendsMain.length == 0) { + friendsMain = value.friends; + friends = value.friends; + } + friends.sort((a, b) { + return b.firstname.compareTo(a.firstname); + }); + return ListView.builder( + itemCount: friends.length, + itemBuilder: (context, int index) { + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: UserProfileThirdPerson( + user: friends.elementAt(index), + ), + type: PageTransitionType.fade, + ), + ), + child: buildFriend(context, friends.elementAt(index)), + ); + }, + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Posts.dart b/lib/Pages/Sub_Pages/PersonalSub/Posts.dart new file mode 100644 index 0000000..d6d8c7c --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Posts.dart @@ -0,0 +1,92 @@ +import 'dart:typed_data'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/Pages/PageWidgets/Posts/user_posted.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:teso/Pages/PageWidgets/Uploads/Pending.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Pages/PageWidgets/Personal/Empty.dart'; + +class Posts extends StatefulWidget { + @override + _PostsState createState() => _PostsState(); +} + +class _PostsState extends State { + // ScrollController _controller; + List trends = []; + List show = []; + int count; + Uint8List thumbnail; + SharedPreferences prefs; + bool loading = false; + + void postContent(context) async { + await Navigator.of(context).push( + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => RecordVideo(), + ), + ); + } + + @override + Widget build(BuildContext context) { + return Consumer( + builder: (context, UserProvider value, child) { + if (value.posts == null || value.posts.isEmpty) { + return buildEmpty(context, postContent); + } else { + return StaggeredGridView.count( + crossAxisCount: 3, + children: List.generate(value.posts.length, (int index) { + // if (index == 0 && provider.isNotEmpty) { + return buildPosted(context, value.posts.elementAt(index), 0.325); + // }else{ + // return buildPosted( + // context, value.posts.elementAt(index), 0.325); + // } + }), + staggeredTiles: List.generate( + value.posts.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ); + } + }, + ); + // : Center( + // child: CupertinoActivityIndicator( + // animating: true, + // radius: 15, + // ), + // ); + } + + Widget getTiles(BuildContext context, value) { + try { + List provider = value.getPending(); + if (value.pending != null) { + return SizedBox( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: ListView( + children: provider + .map((item) => uploadTile(context, item)) + .toList()), + ); + } else { + return Container(); + } + } catch (e) { + return Container(); + } + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Recently.dart b/lib/Pages/Sub_Pages/PersonalSub/Recently.dart new file mode 100644 index 0000000..dce4e47 --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Recently.dart @@ -0,0 +1,175 @@ +import 'package:teso/Classes/TesoUser.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Recently%20Viewed/viewedItem.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/Classes/API Clasess/Product.dart'; +import 'package:teso/Classes/API Clasess/TesoBusinessDetail.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/Pages/Sub_Pages/Coupons/Acquire.dart'; + +class Recently extends StatefulWidget { + @override + _RecentlyState createState() => _RecentlyState(); +} + +class _RecentlyState extends State { + TesoUser currentUser; + int _limit = 20; + final int _limitIncrement = 20; + List coupons = new List.from([]); + final ScrollController listScrollController = ScrollController(); + + @override + void initState() { + listScrollController.addListener(_scrollListener); + super.initState(); + } + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + setState(() { + _limit += _limitIncrement; + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + setState(() {}); + } + } + + tesoCouponDialog(context, CouponsHead head, double price) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return AcquireCoupon( + head: head, + price: price, + ); + }); + } + + @override + Widget build(BuildContext context) { + return Consumer( + builder: (BuildContext context, UserProvider user, Widget child) { + if (user == null) { + return Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ); + } else { + currentUser = user.currentUser; + return StreamBuilder( + stream: FirebaseFirestore.instance + .collection('recentlyViewed') + .doc("users") + .collection(currentUser.userGUID) + .orderBy('dateViewed', descending: true) + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (!snapshot.hasData) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data == null || coupons == null) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else { + coupons = snapshot.data.docs; + return ListView.builder( + itemCount: coupons.length, + controller: listScrollController, + itemBuilder: (context, int index) { + if (coupons.length <= 0) { + return Container(); + } else { + CouponDetails couponDetails = new CouponDetails(); + couponDetails.issuer = new TesoBusinessDetail(); + couponDetails.targetProduct = new Product(); + couponDetails.businessId = + snapshot.data.docs[index].data()['businessId']; + couponDetails.couponId = + snapshot.data.docs[index].data()['couponId']; + couponDetails.expiration = DateTime.parse(snapshot + .data.docs[index] + .data()['expiration'] + .toString()); + couponDetails.type = + snapshot.data.docs[index].data()['type']; + couponDetails.quantity = int.parse(snapshot + .data.docs[index] + .data()['quantity'] + .toString()); + couponDetails.worth = double.parse(snapshot + .data.docs[index] + .data()['worth'] + .toString()); + couponDetails.state = + snapshot.data.docs[index].data()['state']; + couponDetails.productCost = double.parse(snapshot + .data.docs[index] + .data()['unitPrice'] + .toString()); + couponDetails.issuer.businessAddress = + snapshot.data.docs[index].data()['businessAddress']; + couponDetails.issuer.businessContact = + snapshot.data.docs[index].data()['businessContact']; + couponDetails.issuer.businessDescription = snapshot + .data.docs[index] + .data()['businessDescription']; + couponDetails.issuer.businessLat = + snapshot.data.docs[index].data()['businessLat']; + couponDetails.issuer.businessLng = + snapshot.data.docs[index].data()['businessLng']; + couponDetails.issuer.businessLogo = + snapshot.data.docs[index].data()['businessLogo']; + couponDetails.issuer.businessName = + snapshot.data.docs[index].data()['businessName']; + couponDetails.targetProduct.productID = + snapshot.data.docs[index].data()['productId']; + couponDetails.targetProduct.productName = + snapshot.data.docs[index].data()['name']; + couponDetails.targetProduct.productImage = + snapshot.data.docs[index].data()['productImage']; + couponDetails.targetProduct.unitPrice = double.parse( + snapshot.data.docs[index] + .data()['unitPrice'] + .toString()); + couponDetails.lowerLimit = double.parse(snapshot + .data.docs[index] + .data()['lowerLimit'] + .toString()); + couponDetails.upperLimit = double.parse(snapshot + .data.docs[index] + .data()['upperLimit'] + .toString()); + return buildRecentItem( + context, couponDetails, tesoCouponDialog); + } + }, + ); + } + }); + } + }, + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Referral.dart b/lib/Pages/Sub_Pages/PersonalSub/Referral.dart new file mode 100644 index 0000000..3d42f5b --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Referral.dart @@ -0,0 +1,241 @@ +import 'package:firebase_dynamic_links/firebase_dynamic_links.dart'; +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +class Referrals extends StatefulWidget { + const Referrals({Key key}) : super(key: key); + + @override + _ReferralsState createState() => _ReferralsState(); +} + +class _ReferralsState extends State { + String refLink = ""; + @override + void initState() { + SharedPreferences.getInstance().then((value) async { + setState(() { + refLink = value.getString("referral"); + }); + if (refLink == null) { + String uid = value.getString("id"); + final ShortDynamicLink shortenedLink = + await DynamicLinkParameters.shortenUrl( + Uri.parse(dynamiclinkprefix + + 'https://mobile.tesoapp.com/referral?referrer=' + + uid + + dynamiclinktrailing), + DynamicLinkParametersOptions( + shortDynamicLinkPathLength: + ShortDynamicLinkPathLength.unguessable), + ); + setState(() { + refLink = shortenedLink.shortUrl.toString(); + }); + value.setString("referral", refLink); + } + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: refLink != null && refLink.isNotEmpty + ? Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height * 0.5, + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [tesoGold, tesoAsh, tesoBlue], + ), + ), + child: AppBar( + backgroundColor: Colors.transparent, + leading: Container( + margin: EdgeInsets.all(5), + height: 35, + width: 35, + decoration: BoxDecoration( + color: Color.fromRGBO(0, 0, 0, 0.4), + shape: BoxShape.circle), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + onPressed: () => Navigator.pop(context), + ), + ), + ), + ), + Align( + alignment: Alignment.center, + child: new Column( + children: [ + Container( + padding: EdgeInsets.symmetric( + horizontal: MediaQuery.of(context).size.width * 0.2, + ), + margin: EdgeInsets.only( + top: SizeConfig.safeBlockHorizontal * 5), + child: Text( + "Invite Your Friend And Earn Silver Coin", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w900, + fontSize: 20, + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + width: SizeConfig.safeBlockHorizontal * 50, + height: SizeConfig.safeBlockHorizontal * 50, + child: Image.asset("assets/images/refer.png"), + ), + ], + ), + ), + new Container( + alignment: Alignment.topCenter, + padding: new EdgeInsets.only( + top: MediaQuery.of(context).size.height * .44, + right: 10.0, + left: 10.0), + child: new Container( + // height: 80.0, + width: MediaQuery.of(context).size.width, + child: new Card( + //color: Colors.black, + elevation: 4.0, + child: new ListTile( + leading: Container( + child: Image.asset("assets/images/wallet.png"), + ), + title: Text( + "Share your referral link and invite your friends via SMS, Email or Whatsapp and Earn up to 250 Silver Coins", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 15, + ), + ), + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + margin: EdgeInsets.symmetric( + vertical: MediaQuery.of(context).size.width * 0.1), + height: MediaQuery.of(context).size.height * 0.28, + child: new Column( + children: [ + Container( + padding: EdgeInsets.symmetric( + horizontal: + MediaQuery.of(context).size.width * 0.2, + ), + child: Text( + "YOUR REFERRAL LINK", + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.normal, + fontSize: 18, + ), + ), + ), + SizedBox( + height: 10, + ), + Container( + decoration: BoxDecoration( + border: Border.all( + width: 2, + style: BorderStyle.solid, + ), + ), + padding: EdgeInsets.symmetric( + vertical: 10, + horizontal: + MediaQuery.of(context).size.width * 0.1, + ), + width: MediaQuery.of(context).size.width * 0.8, + child: Text( + refLink, + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.normal, + fontSize: 15, + ), + ), + ), + Container( + width: MediaQuery.of(context).size.width * 0.4, + margin: EdgeInsets.symmetric(vertical: 15), + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + ), + ), + child: TextButton.icon( + onPressed: () => Share.share( + 'Join Teso App using my referral link and earn 5 silver coins ' + + refLink, + subject: 'Teso App!'), + icon: Icon( + Icons.share, + color: Colors.white, + ), + label: Text( + "Share", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ), + ) + ], + ) + : Container( + width: double.infinity, + height: double.infinity, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PersonalSub/Settings.dart b/lib/Pages/Sub_Pages/PersonalSub/Settings.dart new file mode 100644 index 0000000..76db822 --- /dev/null +++ b/lib/Pages/Sub_Pages/PersonalSub/Settings.dart @@ -0,0 +1,246 @@ +import 'package:camera/camera.dart'; +import 'package:teso/Pages/PageWidgets/Settings/privacy.dart'; +import 'package:flutter/material.dart'; + +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Settings/AccountSettings.dart'; +import 'package:teso/Pages/PageWidgets/Settings/EditProfile.dart'; +import 'package:teso/Pages/PageWidgets/Settings/terms.dart'; +import 'package:teso/Pages/Sub_Pages/AccountSettings/BlockedUser.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Referral.dart'; +import 'package:teso/providers/app_provider.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:teso/util/consts.dart'; + +class Setting extends StatefulWidget { + final Function logOut; + final List connectedCameras; + const Setting({Key key, this.logOut, this.connectedCameras}) + : super(key: key); + + @override + _SettingState createState() => _SettingState(logOut: this.logOut); +} + +class _SettingState extends State { + Function logOut; + _SettingState({this.logOut}); + bool enabled = true; + TesoUser currentUser; + + @override + void initState() { + super.initState(); + } + + void editProfileDialog(context, TesoUser user) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return EditProfile( + userProfile: user, + // connectedCameras: widget.connectedCameras, + ); + }); + } + + void accountSettingsDialog(context) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return AccountSettings(); + }); + } + + @override + Widget build(BuildContext context) { + return Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + margin: EdgeInsets.only( + left: 20.0, + top: 20.0, + bottom: 12.0, + ), + child: Row( + children: [ + Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon(Icons.close), + ), + ), + Expanded( + child: Container( + width: double.infinity, + child: Center( + child: Text( + "Settings", + style: TextStyle( + fontSize: 20.0, + ), + ), + ), + ), + ), + ], + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Text( + "Personnal Information", + style: TextStyle(fontSize: 15), + ), + ), + new Consumer( + builder: (BuildContext context, UserProvider user, Widget child) { + if (user.currentUser == null) { + return Container(); + } else { + return new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Edit Profile'), + onTap: () => editProfileDialog(context, user.currentUser), + ); + } + }, + ), + new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Account settings'), + onTap: () => accountSettingsDialog(context), + ), + new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Refer and Earn'), + onTap: () { + Navigator.push( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: Referrals(), + ), + ); + }, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Text("Connections"), + ), + new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Blocked accounts'), + onTap: () => Navigator.push( + context, + PageTransition( + child: BlockAccounts(), + type: PageTransitionType.leftToRight)), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Text("Support"), + ), + new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('Terms of use'), + onTap: () => Navigator.push( + context, + PageTransition( + child: TermsUse(), type: PageTransitionType.leftToRight)), + ), + new ListTile( + trailing: new Icon(Icons.arrow_forward_ios), + title: new Text('See Privacy Policy'), + onTap: () => Navigator.push( + context, + PageTransition( + child: Privacy(), type: PageTransitionType.leftToRight)), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Text("Actions"), + ), + new Consumer(builder: + (BuildContext context, DeviceProvider value, Widget child) { + return SwitchListTile( + secondary: Icon(Icons.camera), + title: Text( + "Coupon Alerts", + ), + subtitle: Text( + "Enabling coupon alerts would you allow receive proximity coupons"), + value: + value.serviceEnabled == null ? false : value.serviceEnabled, + onChanged: (v) { + Provider.of(context, listen: false) + .toggleBackgroundMode(context); + }, + ); + }), + new Consumer(builder: + (BuildContext context, UserProvider value, Widget child) { + return SwitchListTile( + secondary: Icon( + Icons.dark_mode_outlined, + ), + title: Text( + "Dark Mode", + ), + value: Provider.of(context).theme == + Constants.lightTheme + ? false + : true, + onChanged: (v) { + if (v) { + Provider.of(context, listen: false) + .setTheme(Constants.darkTheme, "dark"); + } else { + Provider.of(context, listen: false) + .setTheme(Constants.lightTheme, "light"); + } + }, + ); + }), + new ListTile( + title: new Text('Log out'), + onTap: () => logOut(), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/PopUp/Personalized.dart b/lib/Pages/Sub_Pages/PopUp/Personalized.dart new file mode 100644 index 0000000..c2c2a15 --- /dev/null +++ b/lib/Pages/Sub_Pages/PopUp/Personalized.dart @@ -0,0 +1,154 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; + +import 'package:http/http.dart' as http; +import 'package:flutter/cupertino.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/CouponHead.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'package:teso/Notifications/NotificationPlugin.dart'; +import 'package:teso/Pages/PageWidgets/Coupons/personalizedDiscount.dart'; +import 'package:teso/Pages/PageWidgets/Coupons/personalizedFreebie.dart'; +import 'package:teso/util/consts.dart'; + +class PersonalCoupon extends StatefulWidget { + final CouponDetails details; + final CouponsHead head; + const PersonalCoupon({Key key, this.details, this.head}) : super(key: key); + + @override + _PersonalCouponState createState() => _PersonalCouponState(); +} + +class _PersonalCouponState extends State { + bool acquiring = false; + + void acceptCoupon() async { + setState(() { + acquiring = true; + }); + + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestheaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'coupons/acceptPersonalized'; + var client = await http.post(Uri.parse(register), + body: json.encode(widget.head), headers: requestheaders); + if (client.statusCode == 200) { + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Coupon Accepted", + "The personalied coupon has been added successfully!!", + payload.toString(), + ); + + Navigator.pop(context); + } else if (client.statusCode == 400) { + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Offer Expired", + "Unable to acquire coupon as this offer has expired!!", + payload.toString(), + ); + + Navigator.pop(context); + } else { + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Error Occurred", + "Unable to acquire coupon as this moment", + payload.toString(), + ); + setState(() { + acquiring = false; + }); + } + } catch (e) { + print(e); + Payload payload = new Payload(); + payload.loadID = "TESN000"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Error Occurred", + "Unable to acquire coupon as this moment", + payload.toString(), + ); + setState(() { + acquiring = false; + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.transparent, + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Color.fromRGBO(0, 0, 0, 0.8), + child: Stack( + children: [ + Align( + alignment: Alignment.topRight, + child: Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon( + Icons.close_outlined, + color: Colors.white, + size: 35, + ), + ), + margin: EdgeInsets.symmetric(horizontal: 30, vertical: 30), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 0.85, + padding: EdgeInsets.only(top: 25), + child: widget.head.type == "TESCP006" + ? buildPersonalizedFreebieCoupon( + context, widget.details, acceptCoupon) + : buildPersonalizedDiscountCoupon( + context, widget.details, acceptCoupon)), + ), + Visibility( + visible: acquiring, + child: Container( + color: Colors.white, + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/CreatePost.dart b/lib/Pages/Sub_Pages/Posts/CreatePost.dart new file mode 100644 index 0000000..38479f2 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/CreatePost.dart @@ -0,0 +1,196 @@ +import 'dart:convert'; +import 'dart:typed_data'; +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; + +class CreatePost extends StatefulWidget { + final String video; + final Uint8List thumbnail; + final String aspectRatio; + const CreatePost({ + Key key, + this.video, + this.thumbnail, + this.aspectRatio, + }) : super(key: key); + @override + _CreatePostState createState() => _CreatePostState(); +} + +class _CreatePostState extends State { + String aspectRatio; + TextEditingController controller; + SharedPreferences prefs; + bool sending = false; + + void postVideo(context) async { + setState(() { + sending = true; + }); + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = {'Authorization': token}; + String urlLocation = tesoStreaming + "api/mobile/upload/authurl"; + var client = + await http.get(Uri.parse(urlLocation), headers: requestHeaders); + if (client.statusCode == 200) { + var details = jsonDecode(client.body); + String muxuploadsID = details["data"]["id"]; + String muxuploadsURL = details["data"]["url"]; + + Provider.of(context, listen: false).uploadPost(Uploading( + id: DateTime.now().toString() + + widget.video.replaceAll("file://", ""), + aspect: widget.aspectRatio, + path: widget.video.replaceAll("file://", ""), + thumbnail: + widget.thumbnail != null ? base64Encode(widget.thumbnail) : null, + title: controller.text.isNotEmpty ? controller.text : "", + pending: 0, + muxuploadID: muxuploadsID, + muxuploadURL: muxuploadsURL, + )); + Navigator.pop(context); + } + } catch (e) { + print(e); + } + setState(() { + sending = false; + }); + } + + @override + void initState() { + super.initState(); + controller = new TextEditingController(); + } + + @override + void dispose() { + super.dispose(); + controller.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: AppBar( + automaticallyImplyLeading: true, + title: Text("Post"), + centerTitle: true, + ), + preferredSize: Size.fromHeight(70.0), + ), + body: SingleChildScrollView( + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.all(MediaQuery.of(context).size.width * 0.025), + child: Column( + children: [ + Container( + width: MediaQuery.of(context).size.width, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.25, + height: MediaQuery.of(context).size.width * 0.35, + color: Colors.black, + child: widget.thumbnail != null + ? Image.memory(widget.thumbnail) + : CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + Container( + width: (MediaQuery.of(context).size.width) - + (MediaQuery.of(context).size.width * 0.35), + height: MediaQuery.of(context).size.width * 0.35, + child: TextField( + decoration: InputDecoration( + border: OutlineInputBorder( + borderSide: BorderSide.none, + ), + filled: true, + isDense: true, + labelText: "Say Something..", + labelStyle: TextStyle( + color: Colors.black54, + ), + fillColor: Colors.white70, + ), + controller: controller, + maxLines: null, + keyboardType: TextInputType.text, + textInputAction: TextInputAction.done, + ), + ), + ], + ), + ), + SizedBox( + height: 20, + ), + Divider(), + Container( + margin: EdgeInsets.only( + top: 10, + ), + child: Text( + "Teso businesses and other Teso users can see your post in their feeds and on your profile.", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ], + ), + ), + ), + floatingActionButton: !sending + ? Container( + margin: EdgeInsets.all(20), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15.0), + color: tesoBlue, + ), + child: InkWell( + onTap: () => postVideo(context), + child: Center( + child: Text( + "NEXT", + style: TextStyle( + color: Colors.white, + ), + ), + ), + ), + height: 50, + ) + : Container( + width: MediaQuery.of(context).size.width, + height: 50, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/SpecialPosts.dart b/lib/Pages/Sub_Pages/Posts/SpecialPosts.dart new file mode 100644 index 0000000..c6c38f0 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/SpecialPosts.dart @@ -0,0 +1,585 @@ +import 'dart:typed_data'; +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flare_flutter/flare_actor.dart'; +import 'package:flare_flutter/flare_controls.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/API%20Clasess/PostFav.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/comment.dart'; +import 'package:teso/Pages/Sub_Pages/userProfile3P.dart'; +import 'package:teso/Services/video_controller_service.dart'; +import 'package:teso/blocs/video_player/video_player_bloc.dart'; +import 'package:teso/blocs/video_player/video_player_event.dart'; +import 'package:teso/blocs/video_player/video_player_state.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:numeral/numeral.dart'; +import 'package:teso/GeneralWidgets/widgets/video_player_widget.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; + +// ignore: must_be_immutable +class ViewPost extends StatefulWidget { + Post postedAd; + TesoUser user; + bool friend; + final bool play; + + ViewPost({ + Key key, + this.postedAd, + this.user, + this.friend, + @required this.play, + // this.posts, + }) : super(key: key); + @override + _ViewPostState createState() => _ViewPostState(); +} + +class _ViewPostState extends State { + bool favoured = false; + List coupons = []; + Uint8List imageBitmap; + final FlareControls flareControls = FlareControls(); + bool campaignAd = false; + int likes = 0; + int comments = 0; + var userDoc; + var document; + + void sharing(Post ad) async { + await rootBundle + .load("assets/images/rawLogoOverlay.png") + .then((value) => setState(() { + imageBitmap = value.buffer.asUint8List(); + })); + Provider.of(context, listen: false).downloadVideo( + ad.postID, ad.playbackID, ad.rendition, imageBitmap, context); + } + + @override + void dispose() { + rootBundle.evict("assets/images/rawLogoOverlay.png"); + super.dispose(); + } + + void likePost(Post ad) { + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + PostFav liked = new PostFav(); + liked.admirerId = cid; + liked.countId = DateTime.now().toString() + "$cid"; + liked.timestamp = DateTime.now().toIso8601String(); + liked.postId = ad.postID; + + setState(() { + // ad.likes.add(liked); + likes++; + favoured = true; + }); + + flareControls.play("like"); + Provider.of(context, listen: false).addLike(liked); + }); + } + + void dislikePost(Post ad) { + setState(() { + favoured = false; + likes--; + }); + Provider.of(context, listen: false).deleteLike(ad.postID); + } + + void commentsDialog(BuildContext context) { + if (userDoc == null) { + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDoc = value.data(); + }); + }); + } else { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20.0), + topRight: Radius.circular(20.0), + ), + child: CommentSection( + postedAd: widget.postedAd, + user: TesoUser( + username: userDoc["username"], + userGUID: userDoc["id"], + )), + ); + }, + ); + } + } + + Future getCampaignCoupons(String campaign) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'coupons/campaign_coupons'; + var client1 = await http.post( + Uri.parse(register2), + headers: requestHeaders, + body: json.encode(campaign), + ); + if (client1.statusCode == 200) { + var details = jsonDecode(client1.body); + setState(() { + coupons = List.from( + details.map((model) => CouponDetails.fromJSON(model)).toList()); + // coupons.removeWhere( + // (element) => element.expiration.isAfter(DateTime.now())); + }); + } + } catch (e) { + print(e); + } + } + + @override + void initState() { + campaignAd = false; + _getDocuments(); + _likedListen(); + _commentsListen(); + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + if (mounted) + setState(() { + userDoc = value.data(); + }); + }); + super.initState(); + } + + _getDocuments() { + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .get() + .then((value) { + if (mounted) + setState(() { + document = value.data(); + if (document != null) { + if (document["campaignId"] != null) { + campaignAd = true; + getCampaignCoupons(document["campaignId"]); + } + } + }); + }); + } + + _likedListen() { + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .collection("likes") + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + favoured = + event.docs.any((element) => element.data()["admirerID"] == cid); + likes = event.docs.length; + }); + } + }); + }); + } + + _commentsListen() { + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .collection("comments") + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + comments = event.docs.length; + }); + } + }); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Stack( + children: [ + _buildVideoPlayer(widget.postedAd), + Align( + alignment: Alignment.bottomRight, + child: Container( + margin: EdgeInsets.only( + right: 10, + bottom: 30, + ), + width: 50, + height: MediaQuery.of(context).size.width * 0.73, + child: Column( + children: [ + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: InkWell( + onTap: widget.postedAd.publisherID != null + ? () => Navigator.pushReplacement( + context, + PageTransition( + child: UserProfileThirdPerson( + user: new TesoUser( + username: userDoc["username"], + userGUID: userDoc["id"], + firstname: userDoc["firstname"], + lastname: userDoc["surname"], + ), + ), + type: PageTransitionType.fade, + ), + ) + : null, + child: CachedNetworkImage( + imageUrl: serverLocation + + "api/pulldp/" + + widget.postedAd.publisherID, + imageBuilder: (context, imageProvider) => + FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + height: 50, + child: InkWell( + onTap: () { + if (campaignAd) { + if (favoured) { + return null; + } else { + likePost(widget.postedAd); + } + } else { + if (favoured) { + dislikePost(widget.postedAd); + } else { + likePost(widget.postedAd); + } + } + }, + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.favorite, + size: 30, + color: favoured ? Colors.red : Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(likes).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + height: 50, + child: InkWell( + onTap: () => commentsDialog(context), + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.comment, + size: 30, + color: Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(comments).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ), + SizedBox( + height: 20, + ), + Container( + height: 30, + child: InkWell( + onTap: () => sharing(widget.postedAd), + child: Icon( + Icons.share, + size: 30, + color: Colors.white, + ), + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomLeft, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: 10, + vertical: MediaQuery.of(context).size.height * 0.05, + ), + child: new Wrap( + direction: Axis.vertical, + children: [ + new RichText( + maxLines: 5, + text: TextSpan( + text: userDoc != null ? "@" + userDoc["username"] : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox(height: 5), + Container( + margin: EdgeInsets.only(bottom: 20), + width: MediaQuery.of(context).size.width * 0.7, + child: Text( + document != null + ? document["title"] != null + ? document["title"] + : "" + : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + height: 1.5, + ), + maxLines: 4, + overflow: TextOverflow.ellipsis, + textDirection: TextDirection.rtl, + textAlign: TextAlign.left, + ), + ), + ], + ), + ), + ), + Align( + alignment: Alignment.topLeft, + child: Container( + margin: EdgeInsets.only(top: 25), + child: IconButton( + onPressed: () => Navigator.of(context).pop(), + icon: new Icon( + Icons.arrow_back, + color: Colors.white, + size: 25.0, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildVideoPlayer(Post ad) { + return BlocProvider( + create: (context) => VideoPlayerBloc( + RepositoryProvider.of(context)) + ..add(VideoSelectedEvent(ad)), + child: BlocBuilder( + builder: (context, state) { + return Container(child: _getPlayer(context, state, ad)); + }, + ), + ); + } + + Widget _getPlayer(BuildContext context, VideoPlayerState state, Post ad) { + // final screenWidth = MediaQuery.of(context).size.width; + // final containerHeight = screenWidth / ASPECT_RATIO; + final containerHeight = MediaQuery.of(context).size.height; + if (state is VideoPlayerStateLoaded) { + return GestureDetector( + onDoubleTap: () { + if (campaignAd) { + if (favoured) { + return null; + } else { + likePost(ad); + } + } else { + if (favoured) { + dislikePost(ad); + } else { + likePost(ad); + } + } + }, + child: Stack( + children: [ + VideoPlayerWidget( + key: Key(state.video.playbackID), + controller: state.controller, + ad: ad, + play: widget.play, + details: coupons, + ), + Container( + width: double.infinity, + height: MediaQuery.of(context).size.height, + child: Center( + child: SizedBox( + width: 80, + height: 80, + child: FlareActor( + 'assets/like.flr', + controller: flareControls, + animation: 'idle', + ), + ), + ), + ), + ], + ), + ); + } + + if (state is VideoPlayerStateLoading) { + return Container( + height: containerHeight, + color: Colors.black, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } + + if (state is VideoPlayerStateError) { + return Container( + height: containerHeight, + color: Colors.black, + child: Center( + child: Text(state.message), + ), + ); + } + + return Container( + height: containerHeight, + color: Colors.black, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/UserPosts.dart b/lib/Pages/Sub_Pages/Posts/UserPosts.dart new file mode 100644 index 0000000..a3b23d8 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/UserPosts.dart @@ -0,0 +1,515 @@ +import 'dart:typed_data'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/API%20Clasess/PostFav.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/deletePost.dart'; +import 'package:teso/Services/uservideo_controller_service.dart'; +import 'package:teso/blocs/video_player/uservideo_player_bloc.dart'; +import 'package:teso/blocs/video_player/uservideo_player_event.dart'; +import 'package:teso/blocs/video_player/uservideo_player_state.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:numeral/numeral.dart'; +import 'package:teso/GeneralWidgets/widgets/uservideo_player_widget.dart'; + +import 'comment.dart'; + +// ignore: must_be_immutable +class UserPosts extends StatefulWidget { + FBPosts postedAd; + + UserPosts({Key key, this.postedAd}) : super(key: key); + @override + _UserPostsState createState() => _UserPostsState(); +} + +class _UserPostsState extends State { + bool favoured = false; + Uint8List imageBitmap; + var document; + var userDoc; + bool likeShow = false; + + void sharing() async { + await rootBundle + .load("assets/images/rawLogoOverlay.png") + .then((value) => setState(() { + imageBitmap = value.buffer.asUint8List(); + })); + Provider.of(context, listen: false).downloadVideo( + widget.postedAd.postID, + widget.postedAd.playbackID, + widget.postedAd.rendition, + imageBitmap, + context); + } + + @override + void dispose() { + rootBundle.evict("assets/images/rawLogoOverlay.png"); + super.dispose(); + } + + void commentsDialog(BuildContext context) { + if (userDoc == null) { + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDoc = value.data(); + }); + }); + } else { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20.0), + topRight: Radius.circular(20.0), + ), + child: CommentSection( + postedAd: new Post( + aspect: widget.postedAd.aspect, + assetID: widget.postedAd.assetID, + playbackID: widget.postedAd.playbackID, + postID: widget.postedAd.postID, + publisherID: widget.postedAd.publisherID, + title: widget.postedAd.title, + rendition: widget.postedAd.rendition, + timestamp: widget.postedAd.timestamp, + ), + user: TesoUser( + username: userDoc["username"], + userGUID: userDoc["id"], + )), + ); + }, + ); + } + } + + void likePost() { + setState(() { + likeShow = true; + }); + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + PostFav liked = new PostFav(); + liked.admirerId = cid; + liked.countId = DateTime.now().toString() + "$cid"; + liked.timestamp = DateTime.now().toIso8601String(); + liked.postId = widget.postedAd.postID; + + setState(() { + widget.postedAd.likes++; + favoured = true; + }); + Provider.of(context, listen: false).addLike(liked); + }); + } + + void dislikePost() { + SharedPreferences.getInstance().then((value) { + // String cid = value.getString("id"); + setState(() { + widget.postedAd.likes--; + favoured = false; + }); + Provider.of(context, listen: false) + .deleteLike(widget.postedAd.postID); + }); + } + + @override + void initState() { + super.initState(); + _likedListen(); + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .get() + .then((value) { + setState(() { + document = value.data(); + }); + }); + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDoc = value.data(); + }); + }); + // SharedPreferences.getInstance().then((value) { + // String cid = value.getString("id"); + // if (widget.postedAd.likes + // .map((e) => e.admirerId) + // .toList() + // .contains(cid)) { + // setState(() { + // favoured = true; + // }); + // } + // }); + // _future = initializeController(); + } + + _likedListen() { + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .collection("likes") + .snapshots() + .listen((event) { + setState(() { + favoured = + event.docs.any((element) => element.data()["admirerID"] == cid); + widget.postedAd.likes = event.docs.length; + }); + }); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: AppBar( + automaticallyImplyLeading: false, + backgroundColor: Colors.transparent, + leading: _backWidget(context), + ), + preferredSize: Size.fromHeight(40)), + extendBodyBehindAppBar: true, + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Stack( + children: [ + _buildVideoPlayer(), + Align( + alignment: Alignment.bottomRight, + child: Container( + margin: EdgeInsets.only( + right: 10, + ), + width: 50, + height: MediaQuery.of(context).size.width * 0.7, + child: Column( + children: [ + _favoriteWidget(context), + SizedBox( + height: 20, + ), + _commentWidget(context), + SizedBox( + height: 20, + ), + Container( + height: 30, + child: InkWell( + onTap: () => sharing(), + child: Icon( + Icons.share, + size: 30, + color: Colors.white, + ), + ), + ), + SizedBox( + height: 20, + ), + _deleteWidget(context), + ], + ), + ), + ), + _nameDescription(context), + ], + ), + ), + ); + } + + Widget _buildVideoPlayer() { + return BlocProvider( + create: (context) => VideoPlayerBloc( + RepositoryProvider.of(context)) + ..add(VideoSelectedEvent(widget.postedAd)), + child: BlocBuilder( + builder: (context, state) { + return Container(child: _getPlayer(context, state)); + }, + ), + ); + } + + Widget _getPlayer(BuildContext context, VideoPlayerState state) { + // final screenWidth = MediaQuery.of(context).size.width; + // final containerHeight = screenWidth / ASPECT_RATIO; + if (state is VideoPlayerStateLoaded) { + return GestureDetector( + onDoubleTap: () { + if (widget.postedAd.campaignID != null) { + if (favoured) { + return null; + } else { + likePost(); + } + } else { + if (favoured) { + dislikePost(); + } else { + likePost(); + } + } + }, + child: Stack( + children: [ + VideoPlayerWidget( + key: Key(state.video.playbackID), + controller: state.controller, + ad: widget.postedAd, + ), + AnimatedOpacity( + opacity: likeShow ? 1 : 0, + duration: Duration(seconds: 2), + onEnd: () { + setState(() { + likeShow = false; + }); + }, + child: Container( + width: double.infinity, + height: MediaQuery.of(context).size.height, + child: Center( + child: Image.asset("assets/lovw.gif"), + ), + ), + ), + ], + ), + ); + } + + if (state is VideoPlayerStateLoading) { + return Container(); + } + + if (state is VideoPlayerStateError) { + return Container(); + } + + return Container(); + } + + Widget _favoriteWidget(BuildContext context) { + return Container( + height: 50, + child: InkWell( + onTap: () { + if (widget.postedAd.campaignID != null) { + if (favoured) { + return null; + } else { + likePost(); + } + } else { + if (favoured) { + dislikePost(); + } else { + likePost(); + } + } + }, + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.favorite, + size: 30, + color: favoured ? Colors.red : Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(widget.postedAd.likes).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _commentWidget(BuildContext context) { + return Container( + height: 50, + child: InkWell( + onTap: () => commentsDialog(context), + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.comment, + size: 30, + color: Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(widget.postedAd.comments).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _nameDescription(BuildContext context) { + return Align( + alignment: Alignment.bottomLeft, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: 10, + vertical: MediaQuery.of(context).size.height * 0.05, + ), + child: new Wrap( + direction: Axis.vertical, + children: [ + new RichText( + maxLines: 5, + text: TextSpan( + text: userDoc != null + ? userDoc["username"] != null + ? "@" + userDoc["username"] + : "" + : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox(height: 5), + Container( + margin: EdgeInsets.only(bottom: 20), + width: MediaQuery.of(context).size.width * 0.7, + child: Text( + widget.postedAd.title != null ? widget.postedAd.title : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + height: 1.5, + ), + maxLines: 4, + overflow: TextOverflow.ellipsis, + textDirection: TextDirection.rtl, + textAlign: TextAlign.left, + ), + ), + ], + ), + ), + ); + } + + Widget _deleteWidget(BuildContext context) { + return Container( + height: 30, + child: GestureDetector( + onTap: () async { + bool result = await Navigator.push( + context, + PageRouteBuilder( + opaque: false, + pageBuilder: (_, __, ___) => DeletePost(), + ), + ); + if (result) { + Provider.of(context, listen: false).deletePost(Post( + aspect: widget.postedAd.aspect, + playbackID: widget.postedAd.playbackID, + postID: widget.postedAd.postID, + publisherID: widget.postedAd.publisherID, + assetID: widget.postedAd.assetID, + timestamp: widget.postedAd.timestamp, + title: widget.postedAd.title, + )); + Navigator.pop(context); + } + }, + child: Icon( + Icons.delete, + size: 28, + color: Colors.white, + ), + ), + ); + } + + Widget _backWidget(BuildContext context) { + return GestureDetector( + onTap: () { + Navigator.pop(context); + }, + child: Container( + height: 40, + width: 40, + decoration: BoxDecoration( + color: Colors.transparent, + ), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/ViewPost.dart b/lib/Pages/Sub_Pages/Posts/ViewPost.dart new file mode 100644 index 0000000..b98a610 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/ViewPost.dart @@ -0,0 +1,920 @@ +import 'dart:typed_data'; +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flare_flutter/flare_controls.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import 'package:page_transition/page_transition.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/API%20Clasess/PostFav.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/comment.dart'; +import 'package:teso/Pages/Sub_Pages/userProfile3P.dart'; +import 'package:teso/Services/video_controller_service.dart'; +import 'package:teso/blocs/video_player/video_player_bloc.dart'; +import 'package:teso/blocs/video_player/video_player_event.dart'; +import 'package:teso/blocs/video_player/video_player_state.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:numeral/numeral.dart'; +import 'package:teso/GeneralWidgets/widgets/video_player_widget.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; + +// ignore: must_be_immutable +class ViewPost extends StatefulWidget { + Post postedAd; + TesoUser user; + bool friend; + final bool play; + Function report; + + ViewPost({ + Key key, + this.postedAd, + this.user, + this.friend, + @required this.play, + @required this.report, + // this.posts, + }) : super(key: key); + @override + _ViewPostState createState() => _ViewPostState(); +} + +class _ViewPostState extends State { + bool favoured = false; + List coupons = []; + Uint8List imageBitmap; + final FlareControls flareControls = FlareControls(); + bool campaignAd = false; + int likes = 0; + int comments = 0; + var userDoc; + var document; + bool likeShow = false; + bool dark = false; + + void sharing(Post ad) async { + await rootBundle + .load("assets/images/rawLogoOverlay.png") + .then((value) => setState(() { + imageBitmap = value.buffer.asUint8List(); + })); + Provider.of(context, listen: false).downloadVideo( + ad.postID, ad.playbackID, ad.rendition, imageBitmap, context); + } + + @override + void dispose() { + rootBundle.evict("assets/images/rawLogoOverlay.png"); + super.dispose(); + } + + void likePost(Post ad) { + setState(() { + likeShow = true; + }); + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + PostFav liked = new PostFav(); + liked.admirerId = cid; + liked.countId = DateTime.now().toString() + "$cid"; + liked.timestamp = DateTime.now().toIso8601String(); + liked.postId = ad.postID; + + setState(() { + // ad.likes.add(liked); + likes++; + favoured = true; + }); + + flareControls.play("like"); + Provider.of(context, listen: false).addLike(liked); + }); + } + + void dislikePost(Post ad) { + setState(() { + favoured = false; + likes--; + }); + Provider.of(context, listen: false).deleteLike(ad.postID); + } + + void commentsDialog(BuildContext context) { + if (userDoc == null) { + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDoc = value.data(); + }); + }); + } else { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20.0), + topRight: Radius.circular(20.0), + ), + child: CommentSection( + postedAd: widget.postedAd, + user: TesoUser( + username: userDoc["username"], + userGUID: userDoc["id"], + )), + ); + }, + ); + } + } + + Future getCampaignCoupons(String campaign) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'coupons/campaign_coupons'; + var client1 = await http.post( + Uri.parse(register2), + headers: requestHeaders, + body: json.encode(campaign), + ); + if (client1.statusCode == 200) { + var details = jsonDecode(client1.body); + setState(() { + coupons = List.from( + details.map((model) => CouponDetails.fromJSON(model)).toList()); + // coupons.removeWhere( + // (element) => element.expiration.isAfter(DateTime.now())); + }); + } + } catch (e) { + print(e); + } + } + + @override + void initState() { + campaignAd = false; + _getDocuments(); + _likedListen(); + _commentsListen(); + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + if (mounted) + setState(() { + userDoc = value.data(); + }); + }); + SharedPreferences.getInstance().then((value) => + value.getString("theme") == "light" ? dark = false : dark = true); + super.initState(); + } + + _getDocuments() { + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .get() + .then((value) { + if (mounted) + setState(() { + document = value.data(); + if (document != null) { + if (document["campaignId"] != null) { + campaignAd = true; + getCampaignCoupons(document["campaignId"]); + } + } + }); + }); + } + + _likedListen() { + SharedPreferences.getInstance().then((value) { + String cid = value.getString("id"); + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .collection("likes") + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + favoured = + event.docs.any((element) => element.data()["admirerID"] == cid); + likes = event.docs.length; + }); + } + }); + }); + } + + _commentsListen() { + FirebaseFirestore.instance + .collection("posts") + .doc(widget.postedAd.postID) + .collection("comments") + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + comments = event.docs.length; + }); + } + }); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Stack( + children: [ + _buildVideoPlayer(widget.postedAd), + Align( + alignment: Alignment.bottomRight, + child: Container( + margin: EdgeInsets.only( + right: 10, + bottom: 30, + ), + width: 50, + height: MediaQuery.of(context).size.width * 0.73, + child: Column( + children: [ + _publisherWidget(context), + SizedBox( + height: 20, + ), + _favoriteWidget(context), + SizedBox( + height: 20, + ), + _commentWidget(context), + SizedBox( + height: 20, + ), + Container( + height: 30, + child: InkWell( + onTap: () => moreDialog(context, widget.postedAd), + child: Icon( + Icons.more_horiz, + size: 30, + color: Colors.white, + ), + ), + ), + ], + ), + ), + ), + _nameDescription(context), + ], + ), + ), + ); + } + + Widget _buildVideoPlayer(Post ad) { + return BlocProvider( + create: (context) => VideoPlayerBloc( + RepositoryProvider.of(context)) + ..add(VideoSelectedEvent(ad)), + child: BlocBuilder( + builder: (context, state) { + return Container(child: _getPlayer(context, state, ad)); + }, + ), + ); + } + + Widget _getPlayer(BuildContext context, VideoPlayerState state, Post ad) { + // final screenWidth = MediaQuery.of(context).size.width; + // final containerHeight = screenWidth / ASPECT_RATIO; + final containerHeight = MediaQuery.of(context).size.height; + if (state is VideoPlayerStateLoaded) { + return GestureDetector( + onDoubleTap: () { + if (campaignAd) { + if (favoured) { + return null; + } else { + likePost(ad); + } + } else { + if (favoured) { + dislikePost(ad); + } else { + likePost(ad); + } + } + }, + child: Stack( + children: [ + VideoPlayerWidget( + key: Key(state.video.playbackID), + controller: state.controller, + ad: ad, + play: widget.play, + details: coupons, + ), + AnimatedOpacity( + opacity: likeShow ? 1 : 0, + duration: Duration(seconds: 2), + onEnd: () { + setState(() { + likeShow = false; + }); + }, + child: Container( + width: double.infinity, + height: MediaQuery.of(context).size.height, + child: Center( + child: Image.asset("assets/lovw.gif"), + ), + ), + ), + ], + ), + ); + } + + if (state is VideoPlayerStateLoading) { + return Container(); + } + + if (state is VideoPlayerStateError) { + return Container( + height: containerHeight, + color: Colors.black, + child: Center( + child: Text(state.message), + ), + ); + } + + return Container(); + } + + Widget _nameDescription(BuildContext context) { + return Align( + alignment: Alignment.bottomLeft, + child: Container( + margin: EdgeInsets.symmetric( + horizontal: 10, + vertical: MediaQuery.of(context).size.height * 0.05, + ), + child: new Wrap( + direction: Axis.vertical, + children: [ + new RichText( + maxLines: 5, + text: TextSpan( + text: userDoc != null ? "@" + userDoc["username"] : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + fontWeight: FontWeight.bold, + ), + ), + ), + SizedBox(height: 5), + Container( + margin: EdgeInsets.only(bottom: 20), + width: MediaQuery.of(context).size.width * 0.7, + child: Text( + document != null + ? document["title"] != null + ? document["title"] + : "" + : "", + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.safeBlockHorizontal * 4.3, + height: 1.5, + ), + maxLines: 4, + overflow: TextOverflow.ellipsis, + textDirection: TextDirection.rtl, + textAlign: TextAlign.left, + ), + ), + ], + ), + ), + ); + } + + Widget _publisherWidget(BuildContext context) { + return Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: InkWell( + onTap: widget.postedAd.publisherID != null + ? () => Navigator.pushReplacement( + context, + PageTransition( + child: UserProfileThirdPerson( + user: new TesoUser( + username: userDoc["username"], + userGUID: userDoc["id"], + firstname: userDoc["firstname"], + lastname: userDoc["surname"], + ), + ), + type: PageTransitionType.fade, + ), + ) + : null, + child: CachedNetworkImage( + imageUrl: + serverLocation + "api/pulldp/" + widget.postedAd.publisherID, + imageBuilder: (context, imageProvider) => FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + ), + ); + } + + Widget _favoriteWidget(BuildContext context) { + return Container( + height: 50, + child: InkWell( + onTap: () { + if (campaignAd) { + if (favoured) { + return null; + } else { + likePost(widget.postedAd); + } + } else { + if (favoured) { + dislikePost(widget.postedAd); + } else { + likePost(widget.postedAd); + } + } + }, + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.favorite, + size: 30, + color: favoured ? Colors.red : Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(likes).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _commentWidget(BuildContext context) { + return Container( + height: 50, + child: InkWell( + onTap: () => commentsDialog(context), + child: new Wrap( + direction: Axis.vertical, + children: [ + Container( + width: 50, + height: 30, + child: Center( + child: Icon( + Icons.comment, + size: 30, + color: Colors.white, + ), + ), + ), + Container( + height: 20, + width: 50, + child: Center( + child: Text( + Numeral(comments).value().toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } + + void moreDialog(BuildContext context, Post ad) { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Container( + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Container( + width: 50, + height: 4, + color: Colors.grey, + ), + ), + ), + ), + buildTop3(context, ad), + new Container( + width: MediaQuery.of(context).size.width, + height: 40, + margin: EdgeInsets.symmetric(vertical: 20.0, horizontal: 15), + decoration: BoxDecoration( + color: !dark ? Colors.grey[200] : Colors.white12, + borderRadius: BorderRadius.circular(5)), + child: new Center( + child: Text( + "Why you're seeing this post", + textAlign: TextAlign.center, + style: TextStyle( + color: !dark ? Colors.black : Colors.white, + ), + ), + ), + ), + // bottomButtons(context, friends), + ], + ), + ), + ); + }, + ); + } + + buildTop3(BuildContext context, Post ad) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + GestureDetector( + onTap: () => sharing(ad), + child: Container( + width: SizeConfig.blockSizeHorizontal * 30, + height: SizeConfig.blockSizeHorizontal * 20, + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular( + 10, + ), + ), + color: !dark ? Colors.grey[200] : Colors.white12, + ), + alignment: Alignment.center, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Icon(Icons.share), + Text( + "Share", + ), + ], + ), + ), + ), + ), + GestureDetector( + onTap: () => reportDialog(context), + child: Container( + width: SizeConfig.blockSizeHorizontal * 30, + height: SizeConfig.blockSizeHorizontal * 20, + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular( + 10, + ), + ), + color: !dark ? Colors.grey[200] : Colors.white12, + ), + alignment: Alignment.center, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Icon( + Icons.report_problem, + color: Colors.red[900], + ), + Text( + "Report", + ), + ], + ), + ), + ), + ), + ], + ); + } + + flagContent(level) { + Provider.of(context, listen: false) + .flagPost(widget.postedAd, level); + Navigator.pop(context); + widget.report(widget.postedAd); + this.dispose(); + } + + bottomButtons(BuildContext context, friends) { + return new Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.symmetric(vertical: 5.0, horizontal: 15), + child: Column( + children: [ + new Container( + width: MediaQuery.of(context).size.width, + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Colors.grey[200], + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(5.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Container( + width: MediaQuery.of(context).size.width, + child: Text( + "Hide", + textAlign: TextAlign.center, + )), + ), + ), + ), + friends + ? new Container( + width: MediaQuery.of(context).size.width, + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Colors.grey[300], + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(5.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Container( + width: MediaQuery.of(context).size.width, + child: Text( + "Unfrend", + textAlign: TextAlign.center, + )), + ), + ), + ) + : new Container( + width: MediaQuery.of(context).size.width, + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Colors.grey[300], + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(5.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Container( + width: MediaQuery.of(context).size.width, + child: Text( + "Add Friend", + textAlign: TextAlign.center, + )), + ), + ), + ) + ], + )); + } + + void reportDialog(BuildContext context) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Container( + height: MediaQuery.of(context).size.height * 0.95, + child: Column( + children: [ + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Container( + width: 50, + height: 4, + color: Colors.grey, + ), + ), + ), + ), + Container( + child: Center( + child: Text( + "Report", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w800, + ), + ), + ), + ), + Divider(), + Container( + padding: EdgeInsets.symmetric(horizontal: 10), + child: Text( + "Why are you reporting this post?", + textAlign: TextAlign.left, + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w800, + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 15), + child: Center( + child: Text( + "Your report would be handled as soon as possible. However if someone is in immediate danger, call the local emergency services - don't wait.", + style: TextStyle( + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + fontWeight: FontWeight.w400, + ), + ), + ), + ), + Divider(), + Container( + height: MediaQuery.of(context).size.height * 0.7, + child: new ListView( + scrollDirection: Axis.vertical, + children: [ + ListTile( + title: Text("It's a spam"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(1), + ), + ListTile( + title: Text("Nudity or sexual activity"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(2), + ), + ListTile( + title: Text("I just don't like it"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(3), + ), + ListTile( + title: Text("Hate speech or symbols"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(4), + ), + ListTile( + title: Text("False information"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(5), + ), + ListTile( + title: Text("Bullying harassment"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(6), + ), + ListTile( + title: Text("Violence or dangerous organisations"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(7), + ), + ListTile( + title: Text("Scam or fraud"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(8), + ), + ListTile( + title: Text("Intellectual property violation"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(9), + ), + ListTile( + title: Text("Sale of illegal or regulated goods"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(10), + ), + ListTile( + title: Text("Suicide or self-injury"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(11), + ), + ListTile( + title: Text("Eating disorders"), + trailing: Icon(Icons.arrow_forward_ios), + onTap: () => flagContent(12), + ), + ], + ), + ), + ], + ), + ); + }, + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/comment.dart b/lib/Pages/Sub_Pages/Posts/comment.dart new file mode 100644 index 0000000..14611b5 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/comment.dart @@ -0,0 +1,332 @@ +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/Firebase/Comments.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Posts/user3P_commentTitle.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CommentsPost.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/bottomBar.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:intl/intl.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +class CommentSection extends StatefulWidget { + final Post postedAd; + final TesoUser user; + CommentSection({ + Key key, + @required this.postedAd, + @required this.user, + }) : assert(postedAd != null), + assert(user != null), + super(key: key); + @override + _CommentSectionState createState() => _CommentSectionState(); +} + +class _CommentSectionState extends State { + TextEditingController controller = new TextEditingController(); + final ScrollController listScrollController = ScrollController(); + List listMessage = []; + int _limit = 20; + final int _limitIncrement = 20; + int total = 0; + var userDocs; + List latest = []; + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the bottom"); + setState(() { + print("reach the bottom"); + _limit += _limitIncrement; + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the top"); + setState(() { + print("reach the top"); + }); + } + } + + @override + void initState() { + super.initState(); + listScrollController.addListener(_scrollListener); + _listenComments(); + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDocs = value.data(); + }); + }); + } + + @override + void dispose() { + controller.dispose(); + listScrollController.dispose(); + super.dispose(); + } + + void sendComment(String text, int position) async { + TesoUser user = + Provider.of(context, listen: false).currentUser; + if (controller.text.isNotEmpty) { + CommentsPost comment = new CommentsPost(); + SharedPreferences.getInstance().then((value) async { + comment.postId = widget.postedAd.postID; + comment.comment = text.trim(); + comment.timestamp = DateTime.now().toIso8601String(); + comment.commenterId = value.getString("id"); + comment.commentId = + "TESCPCM" + DateTime.now().toString() + value.getString("id"); + + setState(() { + latest.add(FBComments( + comment: comment.comment, + commenterID: comment.commenterId, + commentID: comment.commentId, + commenter: user.username, + postID: comment.postId, + thumbnail: user.thumbnail_dp, + timestamp: DateTime.now(), + )); + total++; + }); + }); + Provider.of(context, listen: false).commentPost(comment); + controller.clear(); + } + } + + _listenComments() { + FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + total = event.docs.length; + latest.clear(); + }); + } + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + centerTitle: true, + title: Text( + "$total comments", + style: TextStyle( + fontSize: 14, + ), + ), + actions: [ + IconButton( + onPressed: () => Navigator.pop(context), + icon: Icon( + Icons.close, + ), + ), + ], + ), + body: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(bottom: 60), + child: StreamBuilder( + stream: FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data.docs.length == 0) { + if (widget.postedAd.title != null) { + return Align( + alignment: Alignment.topCenter, + child: buildPostTile3P( + context, widget.user, widget.postedAd), + ); + } else { + return Container(); + } + } else { + QuerySnapshot results = snapshot.data; + listMessage = results.docs + .map((e) => FBComments.fromJSON(e.data())) + .toList(); + if (latest.length != 0) { + listMessage.addAll(latest); + } + + return ListView.builder( + padding: EdgeInsets.all(10.0), + itemCount: listMessage.length, + itemBuilder: (context, index) { + var formattedDate = DateFormat("yyyy-MM-dd HH:mm:ss") + .format(listMessage[index].timestamp); + if (index == 0 && widget.postedAd.title != null) { + return Column(children: [ + buildPostTile3P( + context, widget.user, widget.postedAd), + Divider(), + ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + snapshot.data.docs[index] + .data()['commenterID']), + placeholder: AssetImage( + "assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: snapshot.data.docs[index] + .data()['commenter'] + + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan( + text: snapshot.data.docs[index] + .data()['comment']), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime( + DateTime.parse(formattedDate)), + ), + ), + ]); + } + return ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + listMessage[index].commenterID), + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: listMessage[index].commenter + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan(text: listMessage[index].comment), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime( + DateTime.parse(formattedDate)), + ), + ); + }, + // reverse: true, + controller: listScrollController, + ); + } + }, + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: buildBottom( + context, + controller, + sendComment, + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/deletePost.dart b/lib/Pages/Sub_Pages/Posts/deletePost.dart new file mode 100644 index 0000000..505320b --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/deletePost.dart @@ -0,0 +1,155 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; + +class DeletePost extends StatefulWidget { + final Post post; + const DeletePost({Key key, this.post}) : super(key: key); + + @override + _DeletePostState createState() => _DeletePostState(); +} + +class _DeletePostState extends State { + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + backgroundColor: Color.fromRGBO(0, 0, 0, 0.5), + body: Stack( + children: [ + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.symmetric( + vertical: SizeConfig.blockSizeHorizontal * 5, + ), + width: MediaQuery.of(context).size.width, + height: SizeConfig.blockSizeHorizontal * 52.6, + child: Column( + children: [ + _descriptionBox(context), + SizedBox( + height: 5, + ), + _cancelDelete(context), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _descriptionBox(BuildContext context) { + return Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(15), + topRight: Radius.circular(15), + bottomLeft: Radius.circular(15), + bottomRight: Radius.circular(15), + ), + child: Material( + child: Container( + padding: EdgeInsets.all(10), + child: Column( + children: [ + SizedBox( + height: 5, + ), + Container( + margin: EdgeInsets.symmetric( + horizontal: SizeConfig.safeBlockHorizontal * 2), + padding: EdgeInsets.symmetric( + horizontal: SizeConfig.safeBlockHorizontal * 6), + alignment: Alignment.center, + child: Text( + "Once you proceed you cannot undo your actions . " + + "Are you sure you would like to delete this post ? ", + textAlign: TextAlign.center, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary == + Color(0xFFfd0a35) + ? Colors.white24 + : tesoBlue), + ), + ), + SizedBox( + height: 10, + ), + Divider(), + SizedBox( + height: 10, + ), + InkWell( + onTap: () => Navigator.pop(context, true), + child: Container( + alignment: Alignment.center, + width: MediaQuery.of(context).size.width, + child: Text( + "Delete", + style: TextStyle( + color: Colors.red, + fontSize: SizeConfig.safeBlockHorizontal * 4.0, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + SizedBox( + height: 10, + ), + ], + ), + ), + ), + ), + ); + } + + Widget _cancelDelete(BuildContext context) { + return Container( + width: MediaQuery.of(context).size.width, + height: SizeConfig.safeBlockVertical * 6.5, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.0), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(15), + topRight: Radius.circular(15), + bottomLeft: Radius.circular(15), + bottomRight: Radius.circular(15), + ), + child: ColorFiltered( + colorFilter: ColorFilter.mode( + Colors.white.withOpacity(0.1), BlendMode.lighten), + child: Material( + child: Container( + padding: EdgeInsets.all(10), + child: InkWell( + onTap: () => Navigator.pop(context, false), + child: Text( + "Cancel", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.blueAccent, + fontSize: SizeConfig.safeBlockHorizontal * 4.5, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/Posts/postedDetails.dart b/lib/Pages/Sub_Pages/Posts/postedDetails.dart new file mode 100644 index 0000000..67f8569 --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/postedDetails.dart @@ -0,0 +1,103 @@ +// import 'dart:typed_data'; + +// import 'package:teso/Classes/API%20Clasess/PostedAd.dart'; +// import 'package:teso/Pages/PageWidgets/Posts/comment.dart'; +// import 'package:teso/Pages/PageWidgets/Posts/expandedPost.dart'; +// import 'package:flutter/material.dart'; +// +// import 'package:teso/util/consts.dart'; +// import 'package:video_player/video_player.dart'; + +// class PostDetails extends StatefulWidget { +// final PostedAd type; +// const PostDetails({Key key, this.type}) : super(key: key); +// @override +// _PostDetailsState createState() => _PostDetailsState(post: type); +// } + +// class _PostDetailsState extends State { +// PostedAd post; +// _PostDetailsState({this.post}); +// bool available = false; +// Uint8List bytes; +// TextEditingController controller; +// VideoPlayerController _videoPlayerController; + +// void deleteDialog(context) { +// showModalBottomSheet( +// context: context, +// shape: RoundedRectangleBorder( +// borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), +// ), +// builder: (BuildContext bc) { +// return Container( +// child: new Wrap( +// children: [ +// new Container( +// width: double.infinity, +// margin: EdgeInsets.only( +// top: 20.0, +// bottom: 12.0, +// ), +// child: Center( +// child: Text( +// "Delete post", +// style: TextStyle( +// fontSize: 12.0, +// ), +// ), +// )), +// Padding( +// padding: const EdgeInsets.symmetric(horizontal: 20.0), +// child: Divider(), +// ), +// new ListTile( +// leading: new Icon(MaterialCommunityIcons.trash_can), +// title: new Text('Delete'), +// onTap: () => print("Delete")), +// ], +// ), +// ); +// }, +// ); +// } + +// @override +// void initState() { +// super.initState(); +// _videoPlayerController = +// VideoPlayerController.network(tesoStreaming + post.post.path) +// ..initialize().then((_) { +// _videoPlayerController.play(); +// _videoPlayerController.setLooping(true); +// setState(() {}); +// }); +// } + +// @override +// Widget build(BuildContext context) { +// return Scaffold( +// appBar: null, +// body: Container( +// margin: EdgeInsets.only( +// top: 50, +// left: 10, +// right: 10, +// ), +// height: MediaQuery.of(context).size.height, +// width: MediaQuery.of(context).size.width, +// child: SingleChildScrollView( +// scrollDirection: Axis.vertical, +// child: Column( +// children: [ +// buildPostDetails( +// context, post, deleteDialog, _videoPlayerController), +// Padding(padding: EdgeInsets.all(05)), +// buildCommentTile(context, available, bytes, controller), +// ], +// ), +// ), +// ), +// ); +// } +// } diff --git a/lib/Pages/Sub_Pages/Posts/user_comment.dart b/lib/Pages/Sub_Pages/Posts/user_comment.dart new file mode 100644 index 0000000..1b9429e --- /dev/null +++ b/lib/Pages/Sub_Pages/Posts/user_comment.dart @@ -0,0 +1,289 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; + +import 'package:page_transition/page_transition.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CommentsPost.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/bottomBar.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/UserPosts.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:intl/intl.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +// ignore: must_be_immutable +class CommentSection extends StatefulWidget { + FBPosts postedAd; + CommentSection({ + Key key, + @required this.postedAd, + }) : assert(postedAd != null), + super(key: key); + @override + _CommentSectionState createState() => _CommentSectionState(); +} + +class _CommentSectionState extends State { + TextEditingController controller = new TextEditingController(); + final ScrollController listScrollController = ScrollController(); + List listMessage = new List.from([]); + int _limit = 20; + final int _limitIncrement = 20; + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the bottom"); + setState(() { + print("reach the bottom"); + _limit += _limitIncrement; + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the top"); + setState(() { + print("reach the top"); + }); + } + } + + @override + void initState() { + super.initState(); + listScrollController.addListener(_scrollListener); + } + + @override + void dispose() { + controller.dispose(); + listScrollController.dispose(); + super.dispose(); + } + + void sendComment(String text, int position) async { + if (controller.text.isNotEmpty) { + CommentsPost comment = new CommentsPost(); + SharedPreferences.getInstance().then((value) async { + comment.postId = widget.postedAd.postID; + comment.comment = text; + comment.timestamp = DateTime.now().toIso8601String(); + comment.commenterId = value.getString("id"); + comment.commentId = + "TESCPCM" + DateTime.now().toString() + value.getString("id"); + }); + // setState(() { + // widget.postedAd.comments.add(comment); + // }); + + Provider.of(context, listen: false).commentPost(comment); + controller.clear(); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Comments"), + leading: IconButton( + icon: Icon( + Icons.arrow_back_ios, + ), + onPressed: () => Navigator.pushReplacement( + context, + PageTransition( + child: UserPosts( + postedAd: widget.postedAd, + ), + type: PageTransitionType.rightToLeft, + ), + ), + ), + ), + body: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(bottom: 60), + child: StreamBuilder( + stream: FirebaseFirestore.instance + .collection('posts') + .doc('comments') + .collection(widget.postedAd.postID) + .orderBy('timestamp') + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data.docs.length == 0) { + // if (widget.postedAd.title != null) { + // return Align( + // alignment: Alignment.topCenter, + // child: buildPostTile(context, widget.postedAd), + // ); + // } else { + return Container(); + // } + } else { + listMessage = snapshot.data.docs; + return ListView.builder( + padding: EdgeInsets.all(10.0), + itemCount: listMessage.length, + itemBuilder: (context, index) { + int timeInMillis = int.parse(snapshot.data.docs[index] + .data()['timestamp'] + .toString()); + var date = + DateTime.fromMillisecondsSinceEpoch(timeInMillis); + var formattedDate = + DateFormat("yyyy-MM-dd HH:mm:ss").format(date); + if (index == 0 && widget.postedAd.title != null) { + return Column(children: [ + // buildPostTile(context, widget.postedAd), + Divider(), + ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + snapshot.data.docs[index] + .data()['commenterID']), + placeholder: AssetImage( + "assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: snapshot.data.docs[index] + .data()['commenter'] + + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan( + text: snapshot.data.docs[index] + .data()['comment']), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime( + DateTime.parse(formattedDate)), + ), + ), + ]); + } + return ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + snapshot.data.docs[index] + .data()['commenterID']), + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: snapshot.data.docs[index] + .data()['commenter'] + + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan( + text: snapshot.data.docs[index] + .data()['comment']), + ], + ), + ), + subtitle: Text( + TimeElapsed.fromDateTime( + DateTime.parse(formattedDate)), + ), + ); + }, + // reverse: true, + controller: listScrollController, + ); + } + }, + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: buildBottom( + context, + controller, + sendComment, + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/ProductDetails/CouponList.dart b/lib/Pages/Sub_Pages/ProductDetails/CouponList.dart new file mode 100644 index 0000000..8e066d6 --- /dev/null +++ b/lib/Pages/Sub_Pages/ProductDetails/CouponList.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; + +import 'package:teso/Classes/API%20Clasess/CouponHead.dart'; +import 'package:teso/Pages/PageWidgets/CouponsList/activeCoupon.dart'; +import 'package:teso/Pages/PageWidgets/CouponsList/activeFreebieCoupon.dart'; +import 'package:teso/providers/device_provider.dart'; + +class CouponList extends StatefulWidget { + final List couponsList; + + const CouponList({Key key, this.couponsList}) : super(key: key); + @override + _CouponListState createState() => _CouponListState(coupons: this.couponsList); +} + +class _CouponListState extends State { + bool acquiring = false; + List coupons; + _CouponListState({this.coupons}); + Future acquringCoupon(CouponsHead head, int cost) async { + setState(() { + acquiring = true; + }); + await Provider.of(context, listen: false) + .acceptCoupon(head, cost, context); + setState(() { + acquiring = false; + }); + } + + void calculateWorth(worth, CouponDetails coupon) { + setState(() { + final tile = coupons.firstWhere( + (item) => item.couponId == coupon.couponId, + orElse: () => null); + if (tile != null) setState(() => tile.worth = worth); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.transparent, + body: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Color.fromRGBO(0, 0, 0, 0.8), + child: Stack( + children: [ + Align( + alignment: Alignment.topRight, + child: Container( + child: InkWell( + onTap: () => Navigator.pop(context), + child: Icon( + Icons.close_outlined, + color: Colors.white, + size: 35, + ), + ), + margin: EdgeInsets.symmetric(horizontal: 30, vertical: 30), + ), + ), + Align( + alignment: Alignment.center, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 0.85, + padding: EdgeInsets.only(top: 25), + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: coupons.length, + itemBuilder: (context, index) { + if (coupons.elementAt(index).type.contains("FREEBIE")) { + return buildFreebieCoupon( + context, coupons.elementAt(index), acquringCoupon); + } else { + return buildActiveDiscountCoupon( + context, + coupons.elementAt(index), + acquringCoupon, + calculateWorth, + ); + } + }, + ), + ), + ), + Visibility( + visible: acquiring, + child: Container( + color: Colors.white, + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/homeSub/HomeFeed.dart b/lib/Pages/Sub_Pages/homeSub/HomeFeed.dart new file mode 100644 index 0000000..07bcda0 --- /dev/null +++ b/lib/Pages/Sub_Pages/homeSub/HomeFeed.dart @@ -0,0 +1,204 @@ +import 'dart:convert'; +import 'dart:math'; +import 'package:http/http.dart' as http; +import 'package:flutter/material.dart'; +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:pull_to_refresh/pull_to_refresh.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Pages/PageWidgets/Home/homeTile.dart'; +import 'package:teso/Pages/Sub_Pages/homeSub/VideoList.dart'; +import 'package:teso/util/consts.dart'; + +class HomeFeed extends StatefulWidget { + @override + _HomeFeedState createState() => _HomeFeedState(); +} + +class _HomeFeedState extends State { + ScrollController _controller; + // List trends; + List show; + int count; + var _future; + List deadFeed; + RefreshController _refreshController = + RefreshController(initialRefresh: false); + + Future> pullAds() async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/homefeed'; + var client = + await http.post(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var posts = jsonDecode(client.body); + setState(() { + this.show = List.from( + posts.map((model) => Post.fromJSON(model)).toList()); + // this.show.sort((b, a) => a.timestamp.compareTo(b.timestamp)); + }); + + await prefs.setString("homefeeds", client.body); + // await fetchImages(); + // + return show; + } else { + return null; + } + } catch (e) { + return null; + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + pullAds(); + } + } + + void _onRefresh() async { + try { + await pullAds(); + } catch (e) { + print(e); + } + _refreshController.refreshCompleted(); + } + + Future watch(advert) async { + List towatch = []; + towatch.add(advert); + if (show.length != 0) { + for (int i = 0; (i < show.length) && (i < 10); i++) { + final _random = new Random(); + towatch.add(show[_random.nextInt(show.length)]); + } + } else if (show.length == 0) { + for (int i = 0; (i < deadFeed.length) && (i < 10); i++) { + final _random = new Random(); + towatch.add(deadFeed[_random.nextInt(show.length)]); + } + } + Post reported = await Navigator.of(context).push( + new PageRouteBuilder( + pageBuilder: (_, __, ___) => new VideoList( + postedAd: towatch, + // posts: towatch, + // user: user, + //friend: addable, + ), + ), + ); + if (reported != null) { + show.remove(reported); + SharedPreferences prefs = await SharedPreferences.getInstance(); + await prefs.setString("homefeeds", jsonEncode(show)); + + print(prefs.getString("homefeed")); + } + } + + @override + void initState() { + // WidgetsBinding.instance.addPostFrameCallback((_) => widget.toggle(1)); + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + // pullAds(); + SharedPreferences.getInstance().then((value) { + if (value.getString("homefeeds") != null) { + var posts = jsonDecode(value.getString("homefeeds")); + setState(() { + deadFeed = List.from( + posts.map((model) => Post.fromJSON(model)).toList()); + }); + } + }); + _future = pullAds(); + super.initState(); + } + + @override + void dispose() { + _controller.dispose(); + _refreshController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: FutureBuilder( + initialData: deadFeed, + future: _future, + builder: (context, snapshot) { + if (show == null && + deadFeed == null && + (snapshot.connectionState == ConnectionState.none || + snapshot.connectionState == ConnectionState.waiting)) { + return Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ); + } + if (show == null && + deadFeed == null && + snapshot.connectionState == ConnectionState.done) { + return SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: Container( + child: Center( + child: Text("An error occurred"), + ), + ), + ); + } else { + show = show != null ? show : deadFeed; + return SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: StaggeredGridView.count( + controller: _controller, + crossAxisCount: 2, + children: List.generate(show.length, (int index) { + return show.elementAt(index).aspect == null || + show.elementAt(index).aspect == "null" + ? Container() + : double.parse(show.elementAt(index).aspect.toString()) < + 1 + ? buildTile( + context, show.elementAt(index), 0.65, watch) + : buildTile( + context, show.elementAt(index), 0.35, watch); + }), + staggeredTiles: List.generate( + show.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/homeSub/HomePosts.dart b/lib/Pages/Sub_Pages/homeSub/HomePosts.dart new file mode 100644 index 0000000..366c324 --- /dev/null +++ b/lib/Pages/Sub_Pages/homeSub/HomePosts.dart @@ -0,0 +1,79 @@ +// import 'package:flutter/material.dart'; +// import 'package:video_player/video_player.dart'; + +// class VideoWidget extends StatefulWidget { +// final String url; +// final bool play; + +// const VideoWidget({Key key, @required this.url, @required this.play}) +// : super(key: key); +// @override +// _VideoWidgetState createState() => _VideoWidgetState(); +// } + +// class _VideoWidgetState extends State { +// VideoPlayerController _controller; +// Future _initializeVideoPlayerFuture; + +// @override +// void initState() { +// super.initState(); +// _controller = VideoPlayerController.network(widget.url); +// _controller.addListener(checkVideo); +// _initializeVideoPlayerFuture = _controller.initialize().then((_) { +// setState(() {}); +// }); + +// if (widget.play) { +// _controller.play(); +// _controller.setLooping(true); +// } +// } + +// void checkVideo() { +// // Implement your calls inside these conditions' bodies : +// if (_controller.value.position == +// Duration(seconds: 0, minutes: 0, hours: 0)) { +// print('video Started'); +// } + +// if (_controller.value.position == _controller.value.duration) { +// print('video Ended'); +// } +// } + +// @override +// void didUpdateWidget(VideoWidget oldWidget) { +// if (oldWidget.play != widget.play) { +// if (widget.play) { +// _controller.play(); +// _controller.setLooping(true); +// } else { +// _controller.pause(); +// } +// } +// super.didUpdateWidget(oldWidget); +// } + +// @override +// void dispose() { +// _controller.dispose(); +// super.dispose(); +// } + +// @override +// Widget build(BuildContext context) { +// return FutureBuilder( +// future: _initializeVideoPlayerFuture, +// builder: (context, snapshot) { +// if (snapshot.connectionState == ConnectionState.done) { +// return VideoPlayer(_controller); +// } else { +// return Center( +// child: CircularProgressIndicator(), +// ); +// } +// }, +// ); +// } +// } diff --git a/lib/Pages/Sub_Pages/homeSub/MyCoupons.dart b/lib/Pages/Sub_Pages/homeSub/MyCoupons.dart new file mode 100644 index 0000000..16f2489 --- /dev/null +++ b/lib/Pages/Sub_Pages/homeSub/MyCoupons.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Pages/PageWidgets/Coupons/mycoupons.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/RedeemingCoupon.dart'; +import 'package:teso/Pages/codeQR.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/Pages/Sub_Pages/Coupons/MyCouponOptions.dart'; +import 'package:teso/providers/user_provider.dart'; + +class MyCoupons extends StatefulWidget { + @override + _MyCouponsState createState() => _MyCouponsState(); +} + +class _MyCouponsState extends State { + SharedPreferences prefs; + + @override + void initState() { + super.initState(); + } + + void _scanQRCode(context, CouponDetails img) async { + String result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: QRCodeScanner(), + ), + ); + if (result != null && result.isNotEmpty && result == img.businessId) { + await Navigator.push( + context, + PageTransition( + child: RedeemingCoupon( + couponDetails: img, + ), + type: PageTransitionType.fade, + ), + ); + } + } + + tesoCouponDialog(context, CouponDetails details) async { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)), + ), + builder: (BuildContext bc) { + return AcquiredOptions( + head: details, + ); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Consumer( + builder: (context, value, child) { + if (value == null || value.mycoupons == null) { + Provider.of(context, listen: false).getCoupons(); + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else if (value.mycoupons.length == 0) { + Provider.of(context, listen: false).getCoupons(); + return Container( + child: Center( + child: Text("No coupons available"), + ), + ); + } else { + return Container( + // margin: EdgeInsets.only( + // bottom: 80, + // ), + child: ListView.builder( + itemCount: value.mycoupons.length, + itemBuilder: (context, int index) { + return Column( + children: [ + buildMyCoupons(context, value.mycoupons.elementAt(index), + tesoCouponDialog, _scanQRCode), + Divider(), + ], + ); + }, + ), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/homeSub/ProximityCoupons.dart b/lib/Pages/Sub_Pages/homeSub/ProximityCoupons.dart new file mode 100644 index 0000000..93f5b6a --- /dev/null +++ b/lib/Pages/Sub_Pages/homeSub/ProximityCoupons.dart @@ -0,0 +1,322 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart' show timeDilation; + +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/Pages/PageWidgets/HomeProximity/ActiveDiscount.dart'; +import 'package:teso/Pages/PageWidgets/HomeProximity/ActiveFreebie.dart'; +import 'package:teso/Pages/PageWidgets/HomeProximity/DummyDiscount.dart'; +import 'package:teso/Pages/PageWidgets/HomeProximity/DummyFreebie.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; + +class ProximityCoupons extends StatefulWidget { + @override + _ProximityCouponsState createState() => _ProximityCouponsState(); +} + +class _ProximityCouponsState extends State + with TickerProviderStateMixin { + AnimationController _buttonController; + Animation rotate; + Animation right; + Animation bottom; + Animation width; + int flag = 0; + List data = []; + List selectedData = []; + double selectedDiscount; + double worth = 0; + + @override + void initState() { + super.initState(); + _buttonController = new AnimationController( + duration: new Duration(milliseconds: 1000), vsync: this); + + rotate = new Tween( + begin: -0.0, + end: -40.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + rotate.addListener(() { + setState(() { + if (rotate.isCompleted) { + var i = data.removeLast(); + data.insert(0, i); + + _buttonController.reset(); + } + }); + }); + + right = new Tween( + begin: 0.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + bottom = new Tween( + begin: 15.0, + end: 90.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.ease, + ), + ); + width = new Tween( + begin: 20.0, + end: 25.0, + ).animate( + new CurvedAnimation( + parent: _buttonController, + curve: Curves.bounceOut, + ), + ); + } + + @override + void dispose() { + _buttonController.dispose(); + super.dispose(); + } + + Future _swipeAnimation() async { + try { + await _buttonController.forward(); + } on TickerCanceled {} + } + + dismissImg(ProximityCoupon img) async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = img.business.businessId; + couponsHead.expiration = img.expiration; + couponsHead.couponId = img.couponId; + couponsHead.quantity = img.quantity; + couponsHead.state = "active"; + couponsHead.lower = double.parse(img.lowerLimit.toString()); + couponsHead.upper = double.parse(img.upperLimit.toString()); + + Provider.of(context, listen: false) + .declineCoupon(couponsHead); + + setState(() { + data.remove(img); + }); + } + + addImg(ProximityCoupon img) async { + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = img.business.businessId; + couponsHead.expiration = img.expiration; + couponsHead.couponId = img.couponId; + couponsHead.quantity = 1; + couponsHead.state = "active"; + couponsHead.lower = worth; + couponsHead.upper = double.parse(img.upperLimit.toString()); + couponsHead.targetProduct = img.targetID; + double price = (img.targetCost * (worth / 100)); + + //Calculations + int cost = CouponRateCalculator.getRate(price); + Provider.of(context, listen: false) + .acceptCoupon(couponsHead, cost.ceil(), context); + + setState(() { + data.remove(img); + selectedData.add(img); + }); + } + + swipeRight(img) { + if (flag == 0) + setState(() { + flag = 1; + }); + _swipeAnimation(); + addImg(img); + } + + swipeLeft(img) { + if (flag == 1) + setState(() { + flag = 0; + }); + _swipeAnimation(); + dismissImg(img); + } + + void calculateWorth(val) { + setState(() { + this.worth = val; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBody: false, + body: Consumer( + builder: (context, value, child) { + if (!value.serviceEnabled) { + return Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + child: Icon( + Icons.location_off, + size: 120, + color: Color(0xFF003445), + ), + ), + Container( + child: Text( + "Proximity Coupon Alerts Disabled", + textAlign: TextAlign.center, + style: TextStyle( + color: Color(0xFF003445), + fontFamily: 'WickedGrit', + fontSize: 30, + ), + ), + ), + new ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(18.0), + ), + primary: Colors.green[200], + padding: new EdgeInsets.all(10.0), + ), + onPressed: () => + Provider.of(context, listen: false) + .toggleBackgroundMode(context), + child: new Container( + height: 30.0, + width: 100.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.green[200], + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Enable", + style: new TextStyle( + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } else if (value.proximityCoupons == null || + value.proximityCoupons.length == 0) { + return Center( + child: Text("No coupons available in your location"), + ); + } else { + data = value.proximityCoupons; + timeDilation = 0.4; + double initialBottom = 20.0; + var dataLength = data.length; + double backCardPosition = + initialBottom + (dataLength - 1) * 10 + 10; + double backCardWidth = -10.0; + + return Container( + alignment: Alignment.center, + child: dataLength > 0 + ? new Stack( + alignment: AlignmentDirectional.center, + children: data.map((item) { + if (data.indexOf(item) == dataLength - 1 && + item.type.toLowerCase().contains("discount")) { + selectedDiscount = item.lowerLimit; + return buildActiveDiscountCoupon( + item, + bottom.value, + right.value, + 0.0, + backCardWidth + 10, + rotate.value, + rotate.value < -10 ? 0.1 : 0.0, + context, + flag, + addImg, + dismissImg, + worth, + calculateWorth); + } else if (data.indexOf(item) == dataLength - 1 && + item.type.toLowerCase().contains("freebie")) { + return buildActiveFreebieCoupon( + item, + bottom.value, + right.value, + 0.0, + backCardWidth + 10, + rotate.value, + rotate.value < -10 ? 0.1 : 0.0, + context, + flag, + addImg, + dismissImg, + ); + } else if (data.indexOf(item) < dataLength - 1 && + item.type.toLowerCase().contains("discount")) { + backCardPosition = backCardPosition - 10; + backCardWidth = backCardWidth + 10; + double price = item.targetCost - + (item.targetCost * item.lowerLimit / 100); + return buildDummyDiscountCoupon( + item, + backCardPosition, + 0.0, + 0.0, + backCardWidth, + 0.0, + 0.0, + context, + price.toString(), + selectedDiscount); + } else { + backCardPosition = backCardPosition - 10; + backCardWidth = backCardWidth + 10; + double price = item.targetCost - + (item.targetCost * item.lowerLimit / 100); + return buildDummyFreebieCoupon( + item, + backCardPosition, + 0.0, + 0.0, + backCardWidth, + 0.0, + 0.0, + context, + price.toString(), + selectedDiscount); + } + }).toList()) + : new Center( + child: Text("No coupons available in your location")), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/homeSub/VideoList.dart b/lib/Pages/Sub_Pages/homeSub/VideoList.dart new file mode 100644 index 0000000..7c0f823 --- /dev/null +++ b/lib/Pages/Sub_Pages/homeSub/VideoList.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; + +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Pages/Sub_Pages/Posts/ViewPost.dart'; +import 'package:teso/providers/user_provider.dart'; + +class VideoList extends StatefulWidget { + final List postedAd; + + VideoList({Key key, this.postedAd}) : super(key: key); + + @override + _VideoListState createState() => _VideoListState(); +} + +class _VideoListState extends State { + @override + void initState() { + Provider.of(context, listen: false) + .predownloadAds(widget.postedAd.map((e) => e.playbackID).toList()); + super.initState(); + } + + report(Post post) { + Navigator.pop(context, post); + Navigator.pop(context, post); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: true, + backgroundColor: Colors.transparent, + leading: InkWell( + onTap: () => Navigator.pop(context), + child: Container( + height: 50, + width: 40, + margin: EdgeInsets.symmetric( + vertical: 30.0, + horizontal: 10, + ), + child: Icon( + Icons.arrow_back_ios, + color: Colors.white, + ), + ), + ), + ), + extendBodyBehindAppBar: true, + body: PageView( + scrollDirection: Axis.vertical, + children: List.generate( + widget.postedAd.length > 10 ? 10 : widget.postedAd.length, + (index) => new ViewPost( + play: true, + postedAd: widget.postedAd[index], + report: report, + )), + ), + ); + } +} diff --git a/lib/Pages/Sub_Pages/userProfile3P.dart b/lib/Pages/Sub_Pages/userProfile3P.dart new file mode 100644 index 0000000..17c45ea --- /dev/null +++ b/lib/Pages/Sub_Pages/userProfile3P.dart @@ -0,0 +1,747 @@ +import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:numeral/numeral.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/ThirdPerson.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/customTesoButton.dart'; + +import 'package:teso/Pages/PageWidgets/Posts/posted.dart'; +import 'package:teso/Pages/PageWidgets/Third Person Profile/header.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Pages/PageWidgets/Third Person Profile/Empty.dart'; +import 'dart:convert'; + +import 'Notifications/ChatScreen.dart'; + +// ignore: must_be_immutable +class UserProfileThirdPerson extends StatefulWidget { + TesoUser user; + final ThirdPerson fullProfile; + + UserProfileThirdPerson({Key key, this.user, this.fullProfile}) + : super(key: key); + @override + _UserProfileThirdPersonState createState() => _UserProfileThirdPersonState(); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _UserProfileThirdPersonState extends State + with TickerProviderStateMixin { + final datakey = new GlobalKey(); + ThirdPerson userProfile = new ThirdPerson(); + int count; + ScrollController _controller, control, scrollController; + // AppBarBehavior _appBarBehavior = AppBarBehavior.pinned; + Animation width; + Animation heigth; + AnimationController _containerController; + double scale; + bool available = false; + bool scrolled = false; + SharedPreferences prefs; + bool addFriends = false; + bool friends = false; + bool pending = false; + bool approve = false; + bool loading = false; + int request = 0; + var _future; + + Future getProfile() async { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'user_details/pullProfile'; + var client = await http.post(Uri.parse(register), + body: json.encode(widget.user.userGUID), headers: requestHeaders); + if (client.statusCode == 200) { + var profile = jsonDecode(client.body); + userProfile = ThirdPerson.fromJSON(profile); + third(userProfile); + } + } + + void _scrollListener() { + if (_controller.offset >= _controller.position.maxScrollExtent && + !_controller.position.outOfRange) { + // fetchImages(); + } + } + + @override + void dispose() { + scrollController.dispose(); + _controller.dispose(); + _containerController.dispose(); + super.dispose(); + } + + @override + void initState() { + super.initState(); + _controller = ScrollController(); + _controller.addListener(_scrollListener); + count = 0; + + if (widget.fullProfile != null) { + third(widget.fullProfile); + } else { + _future = getProfile(); + } + + scrollController = new ScrollController(); + scrollController.addListener(() => setState(() {})); + _containerController = new AnimationController( + duration: new Duration(milliseconds: 2000), vsync: this); + + width = new Tween( + begin: 200.0, + end: 220.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth = new Tween( + begin: 400.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth.addListener(() { + setState(() { + if (heigth.isCompleted) {} + }); + }); + _containerController.forward(); + } + + void third(ThirdPerson fullProfile) async { + switch (fullProfile.relation) { + case "not related": + setState(() { + addFriends = true; + }); + break; + case "sent pending": + setState(() { + pending = true; + }); + break; + case "received pending": + setState(() { + approve = true; + }); + break; + case "friends": + setState(() { + friends = true; + }); + break; + } + if (fullProfile.user != null) widget.user = widget.fullProfile.user; + + // trends = fullProfile.posts; + // await fetchImages(); + } + + void removeRelationship() async { + setState(() { + loading = true; + addFriends = false; + friends = false; + pending = false; + approve = false; + loading = false; + }); + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = widget.user.userGUID; + var register = serverLocation + 'relationships/unfriend'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() { + friends = false; + pending = false; + addFriends = !friends; + }); + } else { + setState(() { + friends = true; + pending = false; + addFriends = !friends; + }); + } + setState(() { + loading = false; + }); + } + + void addRelationship() async { + setState(() { + loading = true; + addFriends = false; + friends = false; + pending = false; + approve = false; + loading = false; + }); + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = widget.user.userGUID; + var register = serverLocation + 'relationships/friendrequest'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() { + request = 52; + pending = true; + friends = false; + addFriends = friends; + }); + } else { + setState(() { + friends = false; + pending = false; + addFriends = true; + }); + } + setState(() { + loading = false; + }); + } + + void approveRelationship() async { + setState(() { + loading = true; + addFriends = false; + friends = false; + pending = false; + approve = false; + loading = false; + }); + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = widget.user.userGUID; + var register = serverLocation + 'relationships/friendapproval'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() { + pending = false; + friends = true; + addFriends = !friends; + approve = false; + }); + } else { + setState(() { + friends = false; + pending = false; + addFriends = false; + approve = true; + }); + } + setState(() { + loading = false; + }); + } + + void declineRelationship() async { + setState(() { + loading = true; + addFriends = false; + friends = false; + pending = false; + approve = false; + loading = false; + }); + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = widget.user.userGUID; + var register = serverLocation + 'relationships/frienddecline'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() { + pending = false; + friends = false; + addFriends = !friends; + approve = false; + }); + } else { + setState(() { + friends = false; + pending = false; + addFriends = false; + approve = true; + }); + } + setState(() { + loading = false; + }); + } + + void cancelRelationshipRequest() async { + setState(() { + request = 0; + loading = true; + addFriends = false; + friends = false; + pending = false; + approve = false; + loading = false; + }); + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + String searchValue = widget.user.userGUID; + var register = serverLocation + 'relationships/cancelrequest'; + var client = await http.post(Uri.parse(register), + body: json.encode(searchValue), headers: requestHeaders); + if (client.statusCode == 200) { + setState(() { + friends = false; + pending = false; + addFriends = !friends; + }); + } + setState(() { + loading = false; + }); + } + + @override + Widget build(BuildContext context) { + if (scrollController.hasClients) { + scale = scrollController.offset / 250; + scale = scale * 2; + if (scale > 1.90) { + scrolled = true; + } else { + scrolled = false; + } + } else { + scale = 0.0; + scrolled = false; + } + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(238), + child: Column( + children: [ + AppBar( + backgroundColor: Theme.of(context).backgroundColor, + elevation: 0.0, + leadingWidth: 50, + centerTitle: true, + leading: IconButton( + icon: Icon( + Icons.arrow_back_ios, + ), + onPressed: () => Navigator.pop(context), + ), + title: Text( + widget.user.username, + style: TextStyle( + fontSize: 15, + ), + ), + actions: [ + Visibility( + visible: addFriends, + child: Container( + margin: EdgeInsets.symmetric(horizontal: 10), + height: 30.0, + width: 40.0, + decoration: new BoxDecoration( + shape: BoxShape.circle, + border: Border.all(color: accentMain, width: 2.0), + ), + child: IconButton( + icon: Icon( + Icons.person_add_alt, + color: accentMain, + ), + onPressed: addRelationship, + ), + ), + ), + IconButton( + onPressed: () => statusDialog(context), + icon: Icon( + Icons.more_horiz, + ), + ) + ], + ), + Container( + width: width.value, + child: buildHead( + context: context, + loading: loading, + user: widget.user, + posts: userProfile.posts != null + ? Numeral(userProfile.posts.length).value().toString() + : "0", + friends: userProfile.friends, + following: userProfile.posts, + relation: friends, + // unFriend: removeRelationship, + // approve: approveRelationship, + pending: pending, + // approveRequest: approve, + //cancelRequest: cancelRelationshipRequest, + // decline: declineRelationship + ), + ), + ], + ), + ), + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ); + } else if (userProfile.posts.length == 0 && + snapshot.connectionState == ConnectionState.done) { + return buildEmpty3P(context); + } else { + return Container( + height: MediaQuery.of(context).size.height, + child: StaggeredGridView.count( + physics: scrolled + ? NeverScrollableScrollPhysics() + : AlwaysScrollableScrollPhysics(), + controller: _controller, + crossAxisCount: 3, + children: List.generate(userProfile.posts.length, (int index) { + return buildPosted( + context, + userProfile.posts.elementAt(index), + 0.325, + widget.user, + addFriends); + }), + staggeredTiles: List.generate( + userProfile.posts.length, + (int index) { + return StaggeredTile.fit(1); + }, + ), + ), + ); + } + }, + ), + ); + } + + void statusDialog(BuildContext context) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return SizedBox( + height: MediaQuery.of(context).size.height * 0.5, + child: Column( + children: [ + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Container( + width: 50, + height: 4, + color: Colors.grey, + ), + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + height: MediaQuery.of(context).size.height * 0.4, + padding: EdgeInsets.symmetric(horizontal: 15), + child: new ListView( + scrollDirection: Axis.vertical, + children: [ + ListTile( + title: Center( + child: Text( + "Block User", + style: TextStyle( + color: Colors.red[800], + fontSize: SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: () => blockDialog(context), + ), + Visibility(visible: friends, child: Divider()), + Visibility( + visible: friends, + child: ListTile( + title: Center( + child: Text( + "Send Message", + style: TextStyle( + color: Colors.blueAccent, + fontSize: SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold, + ), + ), + ), + onTap: () => Navigator.pushReplacement( + context, + PageTransition( + child: ChatScreen( + user: widget.user, + ), + type: PageTransitionType.fade, + ), + ), + ), + ), + Visibility(visible: addFriends, child: Divider()), + Visibility( + visible: addFriends, + child: ListTile( + title: Center( + child: Text( + "Add Friend", + style: TextStyle( + color: Colors.blueAccent, + fontSize: + SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: () { + addRelationship(); + + Navigator.pop(context); + }), + ), + Visibility(visible: pending, child: Divider()), + Visibility( + visible: pending, + child: ListTile( + title: Center( + child: Text( + "Cancel Friend Request", + style: TextStyle( + color: Colors.red[800], + fontSize: + SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: () { + declineRelationship(); + + Navigator.pop(context); + }), + ), + Visibility(visible: approve, child: Divider()), + Visibility( + visible: approve, + child: ListTile( + title: Center( + child: Text( + "Accept Friend Request", + style: TextStyle( + color: Colors.blueAccent, + fontSize: SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: approveRelationship, + ), + ), + Visibility(visible: approve, child: Divider()), + Visibility( + visible: approve, + child: ListTile( + title: Center( + child: Text( + "Decline Friend Request", + style: TextStyle( + color: Colors.red[800], + fontSize: + SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: () { + declineRelationship(); + + Navigator.pop(context); + }), + ), + Visibility(visible: friends, child: Divider()), + Visibility( + visible: friends, + child: ListTile( + title: Center( + child: Text( + "Unfriend", + style: TextStyle( + color: Colors.red[800], + fontSize: + SizeConfig.blockSizeHorizontal * 4.5, + fontWeight: FontWeight.bold), + ), + ), + onTap: () { + removeRelationship(); + + Navigator.pop(context); + }), + ), + ], + ), + ), + ], + ), + ); + }, + ); + } + + blockDialog(BuildContext context) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return SizedBox( + height: MediaQuery.of(context).size.height * 0.38, + child: Column( + children: [ + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Container( + width: 50, + height: 4, + color: Colors.grey, + ), + ), + ), + ), + SizedBox( + height: 5, + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 15), + child: Text( + "Block ${widget.user.username.toUpperCase()} ? ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + Divider(), + Container( + padding: EdgeInsets.symmetric(horizontal: 15), + child: Text( + "${widget.user.username} won't be able to message you or find your profile or post on Teso. Neither would you, " + "they won't be notified that you have blocked them. You would have to unblock them to be able to interact with them.", + style: TextStyle( + color: Colors.grey, + fontSize: SizeConfig.blockSizeHorizontal * 3.5, + ), + ), + ), + Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width - 20, + height: 40, + child: RaisedGradientButton( + child: Text( + "Continue", + style: TextStyle(color: Colors.white, fontSize: 18), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + // Colors.green[400], + // Colors.green[600], + Colors.red[800], + Colors.redAccent, + ], + ), + onPressed: () { + Provider.of(context, listen: false) + .blockUser(widget.user); + Navigator.pop(context, true); + Navigator.pop(context, true); + }, + width: MediaQuery.of(context).size.width - 20, + height: 40, + ), + ) + ], + ), + ); + }, + ); + } +} diff --git a/lib/Pages/codeQR.dart b/lib/Pages/codeQR.dart new file mode 100644 index 0000000..92845aa --- /dev/null +++ b/lib/Pages/codeQR.dart @@ -0,0 +1,125 @@ +import 'dart:io'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +// import 'package:qr_code_scanner/qr_code_scanner.dart'; +import 'package:flutter_qrcode_scanner/flutter_qrcode_scanner.dart'; + +class QRCodeScanner extends StatefulWidget { + const QRCodeScanner({ + Key key, + }) : super(key: key); + + @override + State createState() => _QRCodeScannerState(); +} + +class _QRCodeScannerState extends State { + var result; + String resultingCode = ""; + QRViewController controller; + final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); + + // In order to get hot reload to work we need to pause the camera if the platform + // is android, or resume the camera if the platform is iOS. + @override + void reassemble() { + super.reassemble(); + if (Platform.isAndroid) { + controller.pauseCamera(); + } + controller.resumeCamera(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Stack( + children: [ + _buildQrView(context), + Container( + margin: EdgeInsets.only( + top: (MediaQuery.of(context).size.height) - + (MediaQuery.of(context).size.height * 0.935), + left: 10), + child: Material( + elevation: 5, + color: Color.fromRGBO(0, 0, 0, 0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(25), + bottomRight: Radius.circular(25), + topLeft: Radius.circular(25), + topRight: Radius.circular(25), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(25.0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 20, + ), + color: Colors.white, + onPressed: () => Navigator.pop(context), + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.18, + ), + child: Text( + "Scan QR Code from vender to redeem", + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + ], + ), + ); + } + + Widget _buildQrView(BuildContext context) { + // For this example we check how width or tall the device is and change the scanArea and overlay accordingly. + var scanArea = (MediaQuery.of(context).size.width < 400 || + MediaQuery.of(context).size.height < 400) + ? 150.0 + : 300.0; + // To ensure the Scanner view is properly sizes after rotation + // we need to listen for Flutter SizeChanged notification and update controller + return QRView( + key: qrKey, + onQRViewCreated: _onQRViewCreated, + overlay: QrScannerOverlayShape( + borderColor: Colors.red, + borderRadius: 10, + borderLength: 30, + borderWidth: 10, + cutOutSize: scanArea), + ); + } + + void _onQRViewCreated(QRViewController controller) { + setState(() { + this.controller = controller; + }); + controller.scannedDataStream.listen((scanData) { + setState(() { + resultingCode = scanData; + }); + if (resultingCode.isNotEmpty) { + this.controller.dispose(); + Navigator.pop(context, resultingCode); + } + }); + } + + @override + void dispose() { + controller?.dispose(); + super.dispose(); + } +} diff --git a/lib/Pages/explore.dart b/lib/Pages/explore.dart new file mode 100644 index 0000000..bfdae28 --- /dev/null +++ b/lib/Pages/explore.dart @@ -0,0 +1,369 @@ +import 'dart:convert'; +import 'package:teso/Pages/Sub_Pages/Explore/Latest/AllLatest.dart'; +import 'package:camera/camera.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/Classes/API%20Clasess/ExploreObject.dart'; +import 'package:teso/Classes/categories.dart'; +import 'package:teso/Pages/PageWidgets/Explore/categoriesTile.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/productDetails.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/Categories/AllCategories.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/Categories/ExploreCategory.dart'; +import 'package:teso/Pages/Sub_Pages/Explore/Trending/AllTrending.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Pages/PageWidgets/Explore/header.dart'; +import 'package:teso/Pages/PageWidgets/Explore/popular.dart'; +import 'package:teso/Pages/PageWidgets/Explore/trending.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'dart:io'; +import 'Sub_Pages/Explore/ML/FindProduct.dart'; +import 'Sub_Pages/@Generic/Camera/Picture/TakePicture.dart'; +import 'package:pull_to_refresh/pull_to_refresh.dart'; + +class Explore extends StatefulWidget { + final List connectedCameras; + + const Explore({Key key, this.connectedCameras}) : super(key: key); + @override + _ExploreState createState() => _ExploreState(); +} + +class _ExploreState extends State with TickerProviderStateMixin { + var search = new TextEditingController(); + // List trends; + List showTrends = []; + List categories = Category.category; + // List arrivals; + List showarrivals = []; + File _image; + String thumb; + SharedPreferences prefs; + var _future; + ExploreClass deadExplore; + RefreshController _refreshController = + RefreshController(initialRefresh: false); + + Future loadPage() async { + try { + prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'explore/main'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + ExploreClass exploreClass; + Map products = jsonDecode(client.body); + SharedPreferences.getInstance() + .then((value) => value.setString("explore", client.body)); + setState(() { + exploreClass = ExploreClass.fromJSON(products); + showTrends = exploreClass.trending; + showarrivals = exploreClass.latest; + }); + return exploreClass; + } else { + return null; + } + } catch (e) { + print(e); + return null; + } + } + + void _onRefresh() async { + await loadPage(); + _refreshController.refreshCompleted(); + } + + @override + void initState() { + super.initState(); + SharedPreferences.getInstance().then((value) { + if (value.getString("explore") != null) { + var products = jsonDecode(value.getString("explore")); + setState(() { + deadExplore = ExploreClass.fromJSON(products); + showTrends = deadExplore.trending; + showarrivals = deadExplore.latest; + }); + } + }); + + _future = loadPage(); + } + + pickImage() async { + final pickedFile = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: TakePicture( + connectedCameras: widget.connectedCameras, + ), + )); + + if (pickedFile != null) { + setState(() { + _image = File(pickedFile.path); + }); + Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: MLFindProduct( + searchImage: _image, + ), + )); + } else { + print('No image selected.'); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + child: Container( + padding: EdgeInsets.only(top: 25.0), + child: buildSearch(context, search, pickImage), + ), + preferredSize: Size.fromHeight(150.0), + ), + body: FutureBuilder( + initialData: deadExplore, + future: _future, + builder: (context, snapshot) { + if (snapshot.data == null && + deadExplore == null && + snapshot.connectionState == ConnectionState.waiting) { + return Container( + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ); + } else if (snapshot.data == null && + deadExplore == null && + snapshot.connectionState == ConnectionState.done) { + return SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: Container( + child: Center( + child: Text("An error occurred"), + ), + ), + ); + } else { + // trends = snapshot.data != null + // ? snapshot.data.trending + // : deadExplore.trending; + // showTrends = trends; + // arrivals = snapshot.data != null + // ? snapshot.data.latest + // : deadExplore.latest; + // showarrivals = arrivals; + + return SmartRefresher( + enablePullDown: true, + enablePullUp: false, + header: ClassicHeader(), + controller: _refreshController, + onRefresh: _onRefresh, + child: ListView( + children: [ + Container( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Trending', + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + letterSpacing: 1.5, + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + child: TrendingAll( + products: showTrends, + ), + type: PageTransitionType.leftToRight), + ), + child: Text( + "See More", + style: TextStyle( + color: slimAccent, + fontWeight: FontWeight.bold, + fontSize: 16.5, + ), + ), + ), + ], + ), + ), + Container( + width: double.infinity, + height: MediaQuery.of(context).size.width * 0.65, + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: showTrends.length > 6 ? 6 : showTrends.length, + itemBuilder: (context, index) { + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: ProductDetails( + product: showTrends.elementAt(index), + ), + ), + ), + child: buildTrend( + context, + showTrends.elementAt(index), + ), + ); + }, + ), + ), + SizedBox( + height: 20, + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Categories', + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + letterSpacing: 1.5, + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + child: CategoriesAll(), + type: PageTransitionType.leftToRight), + ), + child: Text( + "See All", + style: TextStyle( + color: slimAccent, + fontWeight: FontWeight.bold, + fontSize: 16.5, + ), + ), + ), + ], + ), + ), + Container( + width: double.infinity, + height: 80, + padding: EdgeInsets.only(left: 10.0), + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: 10, + itemBuilder: (context, index) { + return InkWell( + onTap: () => Navigator.push( + context, + PageTransition( + child: ExploreCategory( + selectedCategory: categories.elementAt(index), + ), + type: PageTransitionType.leftToRight), + ), + child: buildCategory( + context, + categories.elementAt(index), + ), + ); + }, + ), + ), + SizedBox( + height: 20, + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'New Arrivals', + style: TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + letterSpacing: 1.5, + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + child: NewArrivals( + products: showarrivals, + ), + type: PageTransitionType.leftToRight), + ), + child: Text( + "See All", + style: TextStyle( + color: slimAccent, + fontWeight: FontWeight.bold, + fontSize: 16.5, + ), + ), + ), + ], + ), + ), + Container( + height: MediaQuery.of(context).size.height, + child: GridView.count( + physics: NeverScrollableScrollPhysics(), + crossAxisCount: 2, + crossAxisSpacing: 5.0, + mainAxisSpacing: 5.0, + children: List.generate( + showarrivals.length > 6 ? 6 : showarrivals.length, + (index) { + return buildPopularItem( + context, + showarrivals.elementAt(index), + ); + }, + ), + ), + ), + ], + ), + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/firsttimer.dart b/lib/Pages/firsttimer.dart new file mode 100644 index 0000000..9ae230c --- /dev/null +++ b/lib/Pages/firsttimer.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:teso/util/SizeConfig.dart'; + +class FirstTimeIntro extends StatefulWidget { + const FirstTimeIntro({Key key}) : super(key: key); + + @override + _FirstTimeIntroState createState() => _FirstTimeIntroState(); +} + +class _FirstTimeIntroState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.transparent, + extendBodyBehindAppBar: false, + appBar: AppBar( + automaticallyImplyLeading: false, + toolbarHeight: 05, + backgroundColor: Colors.transparent, + ), + body: GestureDetector( + onPanUpdate: (details) { + // Swiping in right direction. + if (details.delta.dx > 0) { + Navigator.pop(context, 0); + } + + // Swiping in left direction. + if (details.delta.dx < 0) { + Navigator.pop(context, 2); + } + }, + onTap: () => Navigator.pop(context, 1), + child: Container( + width: SizeConfig.blockSizeHorizontal * 100, + height: SizeConfig.blockSizeVertical * 100, + child: Image.asset( + "assets/images/firstTime.png", + fit: BoxFit.fitHeight, + ), + ), + ), + ); + } +} diff --git a/lib/Pages/home.dart b/lib/Pages/home.dart new file mode 100644 index 0000000..92c8b3d --- /dev/null +++ b/lib/Pages/home.dart @@ -0,0 +1,218 @@ +import 'package:flutter/material.dart'; +import 'package:progress_indicators/progress_indicators.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/Pages/Sub_Pages/homeSub/MyCoupons.dart'; +import 'package:teso/Pages/Sub_Pages/homeSub/HomeFeed.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/consts.dart'; +import 'Sub_Pages/CoinPurchase.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; + +import 'Sub_Pages/homeSub/ProximityCoupons.dart'; +import 'firsttimer.dart'; + +class Home extends StatefulWidget { + final Function showUploads; + final Function toggle; + const Home({Key key, this.showUploads, this.toggle}) : super(key: key); + @override + _HomeState createState() => _HomeState(showUploads: this.showUploads); +} + +class _HomeState extends State with TickerProviderStateMixin { + Function showUploads; + _HomeState({this.showUploads}); + TabController tabsController; + String title = "Home"; + double titleSize = 45.0; + + @override + void initState() { + super.initState(); + tabsController = new TabController(length: 3, initialIndex: 1, vsync: this); + tabsController.addListener(() { + if (tabsController.index == 1) { + setState(() { + title = "Home"; + titleSize = 45.0; + }); + widget.toggle(true); + } else if (tabsController.index == 2) { + setState(() { + title = "Proximity Coupons"; + titleSize = 30.0; + }); + widget.toggle(false); + } else { + setState(() { + title = "Coupons"; + titleSize = 45.0; + }); + widget.toggle(true); + } + }); + SharedPreferences.getInstance().then((prefs) async { + bool first = + prefs.getBool("launched") != null ? prefs.getBool("launched") : false; + if (!first) { + int result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: FirstTimeIntro(), + )); + prefs.setBool("launched", true); + tabsController.animateTo(result); + } + }); + } + + @override + void dispose() { + super.dispose(); + tabsController.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: buildAppBar(context), + body: TabBarView( + controller: tabsController, + children: [ + MyCoupons(), + HomeFeed(), + ProximityCoupons(), + ], + ), + ); + } + + Widget buildAppBar(BuildContext context) { + return PreferredSize( + child: Material( + //elevation: 0.4, + child: AppBar( + backgroundColor: Theme.of(context).primaryColor, + automaticallyImplyLeading: false, + title: Consumer(builder: + (BuildContext context, UserProvider value, Widget child) { + List provider = value.getPending(); + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: TextStyle( + color: Theme.of(context).primaryColorLight, + fontFamily: 'DeadheadScript', + fontSize: titleSize, + letterSpacing: 3.0, + ), + ), + Container( + height: 30, + child: Row( + children: [ + provider == null || provider.length == 0 + ? Container() + : GestureDetector( + onTap: () => showUploads(context), + child: Container( + height: 40, + width: 40, + margin: EdgeInsets.only(right: 15), + child: HeartbeatProgressIndicator( + child: Icon( + Icons.upload, + color: tesoBlue, + size: 18, + ), + ), + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: Coins( + initalPage: 0, + ), + ), + ), + child: Image( + image: AssetImage("assets/images/gold1.png"), + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: Coins(initalPage: 0), + ), + ), + child: Container( + margin: EdgeInsets.only(left: 2), + child: Center( + child: Text( + value.currentUser != null + ? value.currentUser.gold + : "0", + style: TextStyle( + fontSize: 13.5, + color: Theme.of(context).primaryColorLight, + ), + ), + ), + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: Coins(initalPage: 1), + ), + ), + child: Image( + image: AssetImage("assets/images/silver1.png"), + ), + ), + GestureDetector( + onTap: () => Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: Coins(initalPage: 1), + ), + ), + child: Container( + margin: EdgeInsets.only(left: 2), + child: Center( + child: Text( + value.currentUser != null + ? value.currentUser.silver + : "0", + style: TextStyle( + fontSize: 13.5, + color: Theme.of(context).primaryColorLight, + ), + ), + ), + ), + ), + ], + ), + ), + ], + ); + }), + ), + ), + preferredSize: Size.fromHeight(50.0)); + } +} diff --git a/lib/Pages/notifications.dart b/lib/Pages/notifications.dart new file mode 100644 index 0000000..cb332ec --- /dev/null +++ b/lib/Pages/notifications.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'PageWidgets/Alerts/header.dart'; +import 'Sub_Pages/Notifications/Alerts.dart'; +import 'Sub_Pages/Notifications/Inbox.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/TesoUser.dart'; + +class Notifications extends StatefulWidget { + @override + _NotificationsState createState() => _NotificationsState(); +} + +class _NotificationsState extends State { + // ignore: avoid_init_to_null + Color fcurrentColor = null; + Color fTextColor1 = Colors.white; + Color fcurrentColor1; + Color fTextColor2; + int _page = 0; + PageController _pageController; + bool chats = false; + + @override + void initState() { + super.initState(); + _pageController = PageController(initialPage: _page); + fTextColor1 = Colors.white; + fTextColor2 = Colors.grey; + //setColor(); + } + + void setColor() { + setState(() { + fcurrentColor = Theme.of(context).colorScheme.secondary; + fTextColor1 = Colors.white; + }); + } + + void navigationTapped(int page) { + _pageController.animateToPage( + page, + duration: const Duration(milliseconds: 500), + curve: Curves.easeInOut, + ); + switch (page) { + case 0: + setState(() { + fcurrentColor = Theme.of(context).colorScheme.secondary; + fTextColor1 = Colors.white; + fcurrentColor1 = Theme.of(context).primaryColor; + fTextColor2 = Colors.grey; + chats = false; + }); + break; + case 1: + setState(() { + fcurrentColor1 = Theme.of(context).colorScheme.secondary; + fTextColor1 = Colors.grey; + fcurrentColor = Theme.of(context).primaryColor; + fTextColor2 = Colors.white; + chats = true; + }); + break; + } + } + + void onPageChanged(int page) { + setState(() { + this._page = page; + }); + switch (page) { + case 0: + setState(() { + fcurrentColor = Theme.of(context).colorScheme.secondary; + fTextColor1 = Colors.white; + fcurrentColor1 = Theme.of(context).primaryColor; + fTextColor2 = Colors.grey; + chats = false; + }); + break; + case 1: + setState(() { + fcurrentColor1 = Theme.of(context).colorScheme.secondary; + fTextColor1 = Colors.grey; + fcurrentColor = Theme.of(context).primaryColor; + fTextColor2 = Colors.white; + chats = true; + }); + break; + } + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + TesoUser user = + Provider.of(context, listen: false).currentUser; + return Scaffold( + appBar: PreferredSize( + child: AppBar( + backgroundColor: Theme.of(context).primaryColor, + title: buildNotficationHeader( + context, + fcurrentColor, + fcurrentColor1, + fTextColor1, + fTextColor2, + navigationTapped, + chats, + user), + ), + preferredSize: Size.fromHeight(50)), + body: PageView( + //physics:, + controller: _pageController, + onPageChanged: onPageChanged, + children: [ + Alerts(), + Inbox( + user: user, + ), + ], + ), + ); + } +} diff --git a/lib/Pages/productView.dart b/lib/Pages/productView.dart new file mode 100644 index 0000000..88a66e5 --- /dev/null +++ b/lib/Pages/productView.dart @@ -0,0 +1,364 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; + +import 'package:flutter/cupertino.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/CouponHead.dart'; +import 'package:teso/Classes/CouponRateCalculator.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/ProductImage.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; + +class ProductView extends StatefulWidget { + final CouponDetails couponDetails; + + const ProductView({Key key, this.couponDetails}) : super(key: key); + @override + _ProductViewState createState() => _ProductViewState(); +} + +enum AppBarBehavior { normal, pinned, floating, snapping } + +class _ProductViewState extends State + with TickerProviderStateMixin { + AnimationController _containerController; + Animation width; + Animation heigth; + double _appBarHeight = 256.0; + AppBarBehavior _appBarBehavior = AppBarBehavior.pinned; + int number = 0; + bool acquiring = false; + + void acceptCoupon() { + setState(() { + acquiring = true; + }); + CouponsHead couponsHead = new CouponsHead(); + couponsHead.businessId = widget.couponDetails.businessId; + couponsHead.expiration = widget.couponDetails.expiration; + couponsHead.couponId = widget.couponDetails.couponId; + couponsHead.quantity = 1; + couponsHead.state = "active"; + couponsHead.lower = + double.parse(widget.couponDetails.lowerLimit.toString()); + couponsHead.upper = + double.parse(widget.couponDetails.upperLimit.toString()); + couponsHead.targetProduct = widget.couponDetails.targetProduct.productID; + double price = (widget.couponDetails.targetProduct.unitPrice * + (widget.couponDetails.lowerLimit / 100)); + + //Calculations + int cost = CouponRateCalculator.getRate(price); + Provider.of(context, listen: false) + .acceptCoupon(couponsHead, cost.ceil(), context); + setState(() { + acquiring = false; + }); + } + + void redeemCoupon() { + setState(() { + acquiring = true; + }); + + //Calculations + // int cost = CouponRateCalculator.getRate(price); + // Provider.of(context, listen: false) + // .acceptCoupon(couponsHead, cost.ceil(), context); + setState(() { + acquiring = false; + }); + } + + @override + void initState() { + _containerController = new AnimationController( + duration: new Duration(milliseconds: 2000), vsync: this); + super.initState(); + width = new Tween( + begin: 200.0, + end: 220.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth = new Tween( + begin: 400.0, + end: 400.0, + ).animate( + new CurvedAnimation( + parent: _containerController, + curve: Curves.ease, + ), + ); + heigth.addListener(() { + setState(() { + if (heigth.isCompleted) {} + }); + }); + _containerController.forward(); + } + + @override + void dispose() { + _containerController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + // timeDilation = 0.7; + return new Theme( + data: new ThemeData( + brightness: Brightness.light, + platform: Theme.of(context).platform, + ), + child: new Container( + width: width.value, + height: heigth.value, + child: new Card( + color: Colors.transparent, + child: new Container( + alignment: Alignment.center, + width: width.value, + height: heigth.value, + decoration: new BoxDecoration( + color: Colors.white, + borderRadius: new BorderRadius.circular(10.0), + ), + child: new Stack( + alignment: AlignmentDirectional.bottomCenter, + children: [ + new CustomScrollView( + shrinkWrap: false, + slivers: [ + new SliverAppBar( + elevation: 0.0, + forceElevated: true, + leading: new IconButton( + onPressed: () { + Navigator.of(context).pop(); + }, + icon: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Color.fromRGBO(0, 0, 0, 0.4), + ), + child: new Icon( + Icons.arrow_back, + color: Colors.white, + size: 25.0, + ), + ), + ), + expandedHeight: _appBarHeight, + pinned: _appBarBehavior == AppBarBehavior.pinned, + floating: _appBarBehavior == AppBarBehavior.floating || + _appBarBehavior == AppBarBehavior.snapping, + snap: _appBarBehavior == AppBarBehavior.snapping, + backgroundColor: Theme.of(context).backgroundColor, + flexibleSpace: new FlexibleSpaceBar( + background: new Stack( + fit: StackFit.expand, + children: [ + GestureDetector( + onTap: () { + Navigator.push(context, + MaterialPageRoute(builder: (context) { + return ProductImage( + productTag: widget + .couponDetails.targetProduct.businessID, + productImageSRC: widget.couponDetails + .targetProduct.productImage, + ); + })); + }, + child: new Container( + width: width.value, + height: _appBarHeight, + child: Hero( + tag: widget + .couponDetails.targetProduct.businessID, + child: CachedNetworkImage( + imageUrl: productURL + + widget.couponDetails.targetProduct + .productImage, + imageBuilder: (context, imageProvider) => + Image( + fit: BoxFit.fill, + image: imageProvider, + ), + ), + ), + ), + ), + ], + ), + ), + ), + new SliverList( + delegate: new SliverChildListDelegate([ + new Container( + color: Colors.white, + child: new Padding( + padding: const EdgeInsets.all(35.0), + child: new Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + new Container( + padding: new EdgeInsets.only(bottom: 20.0), + alignment: Alignment.center, + decoration: new BoxDecoration( + color: Colors.white, + border: new Border( + bottom: new BorderSide( + color: Colors.black12))), + child: new Wrap( + children: [ + new Center( + child: new Text( + widget.couponDetails.targetProduct + .productName, + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 24, + ), + ), + ), + new Row( + children: [ + new Icon(Icons.shopping_bag), + new Padding( + padding: const EdgeInsets.all(8.0), + child: new Text( + "Price : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + new Padding( + padding: const EdgeInsets.all(8.0), + child: new Text("GH¢ " + + widget.couponDetails + .targetProduct.unitPrice + .toString()), + ) + ], + ), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: new Row( + children: [ + new Icon( + Icons.store, + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text( + "Shop Name : ", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ), + ), + new Padding( + padding: + const EdgeInsets.all(8.0), + child: new Text(widget + .couponDetails + .issuer + .businessName), + ) + ], + ), + ), + ], + ), + ), + new Padding( + padding: const EdgeInsets.only( + top: 16.0, bottom: 8.0), + child: new Text( + "Product Description", + style: new TextStyle( + fontWeight: FontWeight.bold), + ), + ), + new Text(widget + .couponDetails.targetProduct.productDesc), + ], + ), + ), + ), + ]), + ), + ], + ), + widget.couponDetails.countID == "null" + ? Container( + height: 80.0, + padding: EdgeInsets.all(20), + child: new TextButton( + onPressed: acceptCoupon, + child: new Container( + height: 50.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: tesoGold, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Accept Coupon", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ) + : Container( + height: 80.0, + padding: EdgeInsets.all(20), + child: new TextButton( + onPressed: () => print(""), + child: new Container( + height: 50.0, + alignment: Alignment.center, + decoration: new BoxDecoration( + color: tesoGold, + borderRadius: new BorderRadius.circular(60.0), + ), + child: new Text( + "Redeem Coupon", + style: new TextStyle(color: Colors.white), + ), + ), + ), + ), + Visibility( + visible: acquiring, + child: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + color: Colors.transparent, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/Pages/scannerqr.dart b/lib/Pages/scannerqr.dart new file mode 100644 index 0000000..d784bcc --- /dev/null +++ b/lib/Pages/scannerqr.dart @@ -0,0 +1,106 @@ +import 'dart:convert'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; +import 'package:teso/Classes/API Clasess/CouponDetails.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:teso/Pages/PageWidgets/WalkIn Coupons/ActiveDiscount.dart'; +import 'package:teso/Pages/PageWidgets/WalkIn Coupons/ActiveFreebie.dart'; + +class ScanQR extends StatefulWidget { + final String shopID; + const ScanQR({Key key, this.shopID}) : super(key: key); + @override + _ScanQRState createState() => _ScanQRState(shopID: this.shopID); +} + +class _ScanQRState extends State with TickerProviderStateMixin { + String shopID; + _ScanQRState({this.shopID}); + + int flag = 0; + var _future; + List data; + List selectedData = []; + double selectedDiscount = 0; + + void initState() { + super.initState(); + _future = getShopsCoupons(); + } + + @override + void dispose() { + super.dispose(); + } + + Future> getShopsCoupons() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + var register2 = serverLocation + 'coupons/qrCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(shopID), headers: requestHeaders); + + if (client1.statusCode == 200) { + try { + var details = jsonDecode(client1.body); + data = List.from( + details.map((model) => CouponDetails.fromJSON(model)).toList()); + return data; + } catch (e) { + print(e); + return null; + } + } else { + return null; + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Redeem Coupon"), + ), + body: FutureBuilder( + future: _future, + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ); + } else if ((data == null || data.length == 0) && + snapshot.connectionState == ConnectionState.done) { + return Center( + child: Text( + "Sorry you do not have any coupon from this shop to redeem"), + ); + } else { + return ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: data.length, + itemBuilder: (context, index) { + if (data.elementAt(index).type.contains("FREEBIE")) { + return buildActiveFreebieCoupon( + data.elementAt(index), 0, context); + } else { + return buildActiveDiscountCoupon( + data.elementAt(index), 0, context); + } + }, + ); + } + }, + ), + ); + } +} diff --git a/lib/Pages/splash.dart b/lib/Pages/splash.dart new file mode 100644 index 0000000..289a6b7 --- /dev/null +++ b/lib/Pages/splash.dart @@ -0,0 +1,164 @@ +import 'dart:async'; +import 'package:camera/camera.dart'; +import 'package:flutter/material.dart'; +import 'package:page_transition/page_transition.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Services/DynamicLinks.dart'; +import 'package:teso/Services/locator.dart'; +import 'package:teso/main_screen.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'LandingPage.dart'; +import 'package:http/http.dart' as http; + +class Splash extends StatefulWidget { + @override + _SplashState createState() => _SplashState(); +} + +class _SplashState extends State with TickerProviderStateMixin { + List connectedCameras; + Animation _animation; + AnimationController _controller; + final DynamicLinkService _dynamicLinkService = locator(); + + gotoPersonnalServer() { + _controller = AnimationController( + duration: const Duration(milliseconds: 2000), vsync: this, value: 0.1); + _animation = + CurvedAnimation(parent: _controller, curve: Curves.bounceInOut); + + _controller.forward(); + } + + var timeout = const Duration(seconds: 2); + var ms = const Duration(milliseconds: 1); + + bool gone = false; + + startTimeout() { + // return new Timer(Duration(seconds: 5), loggedIn); + loggedIn(); + } + + void handleTimeout() { + changeScreen(); + } + + changeScreen() async { + Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: LandingPage( + connectedCameras: connectedCameras, + ), + ), + ); + //Provider.of(context, listen: false).getFeeds(); + } + + void loggedIn() async { + await _dynamicLinkService.handleDynamicLinks(); + SharedPreferences prefs = await SharedPreferences.getInstance(); + String tokens = prefs.getString("tokensTeso"); + if (tokens != null) { + Navigator.pushReplacement( + context, + PageTransition( + type: PageTransitionType.rightToLeft, + child: MainScreens( + connectedCameras: connectedCameras, + ), + ), + ); + } else { + changeScreen(); + } + } + + Future apiversionCheck() async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString('tokensTeso'); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'api/version/current'; + var client = await http.get(Uri.parse(register)).timeout( + const Duration(seconds: 5), + onTimeout: () { + return http.Response( + 'Error', 408); // Request Timeout response status code + }, + ); + if (client.statusCode == 200) { + String currentVersion = prefs.getString("api-version") != null + ? prefs.getString("api-version") + : ""; + if (currentVersion != client.body) { + try { + var register = Uri.parse(serverLocation + 'api/logout'); + await http.get(register, headers: requestHeaders); + } catch (_) {} + await prefs.clear(); + await prefs.setBool("launched", true); + await prefs.setString("api-version", client.body); + } + } + return true; + } catch (e) { + print(e); + return false; + } + } + + @override + void initState() { + super.initState(); + gotoPersonnalServer(); + availableCameras().then((value) { + connectedCameras = value; + }); + apiversionCheck().then((t) => {startTimeout()}); + } + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Scaffold( + backgroundColor: Colors.white, + body: Center( + child: Column( +// mainAxisSize: MainAxisSize.max, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + alignment: Alignment.center, + child: ScaleTransition( + scale: _animation, + child: Image.asset( + "assets/images/tesoCouponInsignia.png", + width: 80.0, + ), + ), + ), + SizedBox( + height: 20, + ), + Text( + "${Constants.appName}", + style: TextStyle( + color: tesoGold, + fontSize: 25, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/Services/DynamicLinks.dart b/lib/Services/DynamicLinks.dart new file mode 100644 index 0000000..41e510e --- /dev/null +++ b/lib/Services/DynamicLinks.dart @@ -0,0 +1,44 @@ +import 'package:firebase_dynamic_links/firebase_dynamic_links.dart'; +import 'package:no_context_navigation/no_context_navigation.dart'; + +class DynamicLinkService { + Future handleDynamicLinks() async { + // 1. Get the initial dynamic link if the app is opened with a dynamic link + final PendingDynamicLinkData data = + await FirebaseDynamicLinks.instance.getInitialLink(); + + // 2. handle link that has been retrieved + _handleDeepLink(data); + + // 3. Register a link callback to fire if the app is opened up from the background + // using a dynamic link. + FirebaseDynamicLinks.instance.onLink( + onSuccess: (PendingDynamicLinkData dynamicLink) async { + // 3a. handle link that has been retrieved + _handleDeepLink(dynamicLink); + }, onError: (OnLinkErrorException e) async { + print('Link Failed: ${e.message}'); + }); + } + + void _handleDeepLink(PendingDynamicLinkData data) { + final Uri deepLink = data?.link; + if (deepLink != null) { + try { + if (deepLink.pathSegments.contains('resetpassword')) { + var guid = deepLink.queryParameters['resetguid']; + if (guid != null) { + navService.pushNamed('/resetpassword', args: guid); + } + } else if (deepLink.pathSegments.contains('referral')) { + var guid = deepLink.queryParameters['referrer']; + if (guid != null) { + navService.pushNamed('/login', args: guid); + } + } + } catch (e) { + print(e); + } + } + } +} diff --git a/lib/Services/locator.dart b/lib/Services/locator.dart new file mode 100644 index 0000000..395744b --- /dev/null +++ b/lib/Services/locator.dart @@ -0,0 +1,10 @@ +import 'package:get_it/get_it.dart'; +import 'package:teso/Services/DynamicLinks.dart'; +import 'package:teso/Services/navigation_service.dart'; + +GetIt locator = GetIt.instance; + +void setupLocator() { + locator.registerLazySingleton(() => NavigationService()); + locator.registerLazySingleton(() => DynamicLinkService()); +} diff --git a/lib/Services/navigation_service.dart b/lib/Services/navigation_service.dart new file mode 100644 index 0000000..76be921 --- /dev/null +++ b/lib/Services/navigation_service.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; + +class NavigationService { + GlobalKey _navigationKey = GlobalKey(); + + pop() { + return _navigationKey.currentState.pop(); + } + + Future navigateTo(String routeName, {dynamic arguments}) { + return _navigationKey.currentState + .pushNamed(routeName, arguments: arguments); + } +} diff --git a/lib/Services/services.dart b/lib/Services/services.dart new file mode 100644 index 0000000..24f38f5 --- /dev/null +++ b/lib/Services/services.dart @@ -0,0 +1 @@ +export 'uservideo_controller_service.dart'; diff --git a/lib/Services/services2.dart b/lib/Services/services2.dart new file mode 100644 index 0000000..181d3ee --- /dev/null +++ b/lib/Services/services2.dart @@ -0,0 +1 @@ +export 'video_controller_service.dart'; diff --git a/lib/Services/uservideo_controller_service.dart b/lib/Services/uservideo_controller_service.dart new file mode 100644 index 0000000..e22e6c7 --- /dev/null +++ b/lib/Services/uservideo_controller_service.dart @@ -0,0 +1,67 @@ +import 'package:better_player/better_player.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/util/consts.dart'; + +abstract class VideoControllerService { + Future getControllerForVideo(FBPosts video); +} + +class CachedVideoControllerService extends VideoControllerService { + // ignore: unused_field + final BaseCacheManager _cacheManager; + + CachedVideoControllerService(this._cacheManager) + : assert(_cacheManager != null); + + @override + Future getControllerForVideo(FBPosts video) async { + try { + BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource( + BetterPlayerDataSourceType.network, + "https://stream.mux.com/${video.playbackID}.m3u8", + videoFormat: BetterPlayerVideoFormat.hls, + cacheConfiguration: BetterPlayerCacheConfiguration( + useCache: true, + ), + ); + + return BetterPlayerController( + BetterPlayerConfiguration( + autoPlay: true, + aspectRatio: double.tryParse(video.aspect), + looping: true, + fit: double.parse(video.aspect) < 1 + ? BoxFit.fitHeight + : BoxFit.fitWidth, + showPlaceholderUntilPlay: true, + placeholder: Container( + child: Center( + child: CachedNetworkImage( + imageUrl: tesoPostThumb(video.playbackID), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/blank.jpg"), + ), + errorWidget: (context, url, error) => + Image.asset("assets/images/blank.jpg"), + ), + ), + ), + controlsConfiguration: BetterPlayerControlsConfiguration( + showControls: false, + ), + autoDispose: true, + ), + betterPlayerDataSource: betterPlayerDataSource, + ); + } catch (e) { + // return BetterPlayerController.network(tesoStreaming + "pd/" + video.path); + return null; + } + } +} diff --git a/lib/Services/video_controller_service.dart b/lib/Services/video_controller_service.dart new file mode 100644 index 0000000..abaf346 --- /dev/null +++ b/lib/Services/video_controller_service.dart @@ -0,0 +1,66 @@ +import 'package:better_player/better_player.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/util/consts.dart'; + +abstract class VideoControllerService { + Future getControllerForVideo(Post video); +} + +class CachedVideoControllerService extends VideoControllerService { + // ignore: unused_field + final BaseCacheManager _cacheManager; + + CachedVideoControllerService(this._cacheManager) + : assert(_cacheManager != null); + + @override + Future getControllerForVideo(Post video) async { + try { + BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource( + BetterPlayerDataSourceType.network, + "https://stream.mux.com/${video.playbackID}.m3u8", + videoFormat: BetterPlayerVideoFormat.hls, + cacheConfiguration: BetterPlayerCacheConfiguration( + useCache: true, + ), + ); + + return BetterPlayerController( + BetterPlayerConfiguration( + autoPlay: true, + aspectRatio: double.tryParse(video.aspect), + looping: true, + fit: BoxFit.fill, + showPlaceholderUntilPlay: true, + placeholder: Container( + child: Center( + child: CachedNetworkImage( + imageUrl: tesoPostThumb(video.playbackID), + imageBuilder: (context, imageProvider) => FadeInImage( + width: double.infinity, + fit: BoxFit.fill, + image: imageProvider, + placeholder: AssetImage("assets/images/blank.jpg"), + ), + errorWidget: (context, url, error) => + Image.asset("assets/images/blank.jpg"), + ), + ), + ), + controlsConfiguration: BetterPlayerControlsConfiguration( + showControls: false, + ), + autoDispose: true, + ), + betterPlayerDataSource: betterPlayerDataSource, + ); + } catch (e) { + // return BetterPlayerController.network(tesoStreaming + "pd/" + video.path); + return null; + } + } +} diff --git a/lib/blocs/blocs.dart b/lib/blocs/blocs.dart new file mode 100644 index 0000000..66e351c --- /dev/null +++ b/lib/blocs/blocs.dart @@ -0,0 +1 @@ +export 'video_player/video_player.dart'; \ No newline at end of file diff --git a/lib/blocs/video_player/uservideo_player.dart b/lib/blocs/video_player/uservideo_player.dart new file mode 100644 index 0000000..92e29c3 --- /dev/null +++ b/lib/blocs/video_player/uservideo_player.dart @@ -0,0 +1,3 @@ +export 'video_player_bloc.dart'; +export 'uservideo_player_event.dart'; +export 'uservideo_player_state.dart'; diff --git a/lib/blocs/video_player/uservideo_player_bloc.dart b/lib/blocs/video_player/uservideo_player_bloc.dart new file mode 100644 index 0000000..b557ea1 --- /dev/null +++ b/lib/blocs/video_player/uservideo_player_bloc.dart @@ -0,0 +1,28 @@ +import 'package:bloc/bloc.dart'; +import 'package:teso/Services/services.dart'; + +import 'uservideo_player.dart'; + +class VideoPlayerBloc extends Bloc { + final VideoControllerService _videoControllerService; + + VideoPlayerBloc(this._videoControllerService) + : assert(_videoControllerService != null), + super(null); + + VideoPlayerState get initialState => VideoPlayerStateInitial(); + + @override + Stream mapEventToState(VideoPlayerEvent event) async* { + if (event is VideoSelectedEvent) { + yield VideoPlayerStateLoading(); + try { + final videoController = + await _videoControllerService.getControllerForVideo(event.video); + yield VideoPlayerStateLoaded(event.video, videoController); + } catch (e) { + yield VideoPlayerStateError(e.message ?? 'An unknown error occurred'); + } + } + } +} diff --git a/lib/blocs/video_player/uservideo_player_event.dart b/lib/blocs/video_player/uservideo_player_event.dart new file mode 100644 index 0000000..5d9835c --- /dev/null +++ b/lib/blocs/video_player/uservideo_player_event.dart @@ -0,0 +1,16 @@ +import 'package:equatable/equatable.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; + +abstract class VideoPlayerEvent extends Equatable { + @override + List get props => const []; +} + +class VideoSelectedEvent extends VideoPlayerEvent { + final FBPosts video; + + VideoSelectedEvent(this.video) : assert(video != null); + + @override + List get props => [video]; +} diff --git a/lib/blocs/video_player/uservideo_player_state.dart b/lib/blocs/video_player/uservideo_player_state.dart new file mode 100644 index 0000000..eadba7c --- /dev/null +++ b/lib/blocs/video_player/uservideo_player_state.dart @@ -0,0 +1,36 @@ +import 'package:better_player/better_player.dart'; +import 'package:equatable/equatable.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; + +abstract class VideoPlayerState extends Equatable { + @override + List get props => const []; +} + +class VideoPlayerStateInitial extends VideoPlayerState { + @override + List get props => const []; +} + +class VideoPlayerStateLoading extends VideoPlayerState {} + +class VideoPlayerStateError extends VideoPlayerState { + final String message; + + VideoPlayerStateError(this.message); + + @override + List get props => [message]; +} + +class VideoPlayerStateLoaded extends VideoPlayerState { + final FBPosts video; + final BetterPlayerController controller; + + VideoPlayerStateLoaded(this.video, this.controller) + : assert(video != null), + assert(controller != null); + + @override + List get props => [video, controller]; +} diff --git a/lib/blocs/video_player/video_player.dart b/lib/blocs/video_player/video_player.dart new file mode 100644 index 0000000..1bac9a7 --- /dev/null +++ b/lib/blocs/video_player/video_player.dart @@ -0,0 +1,3 @@ +export 'video_player_bloc.dart'; +export 'video_player_event.dart'; +export 'video_player_state.dart'; diff --git a/lib/blocs/video_player/video_player_bloc.dart b/lib/blocs/video_player/video_player_bloc.dart new file mode 100644 index 0000000..16d2d73 --- /dev/null +++ b/lib/blocs/video_player/video_player_bloc.dart @@ -0,0 +1,28 @@ +import 'package:bloc/bloc.dart'; +import 'package:teso/Services/services2.dart'; + +import 'video_player.dart'; + +class VideoPlayerBloc extends Bloc { + final VideoControllerService _videoControllerService; + + VideoPlayerBloc(this._videoControllerService) + : assert(_videoControllerService != null), + super(null); + + VideoPlayerState get initialState => VideoPlayerStateInitial(); + + @override + Stream mapEventToState(VideoPlayerEvent event) async* { + if (event is VideoSelectedEvent) { + yield VideoPlayerStateLoading(); + try { + final videoController = + await _videoControllerService.getControllerForVideo(event.video); + yield VideoPlayerStateLoaded(event.video, videoController); + } catch (e) { + yield VideoPlayerStateError(e.message ?? 'An unknown error occurred'); + } + } + } +} diff --git a/lib/blocs/video_player/video_player_event.dart b/lib/blocs/video_player/video_player_event.dart new file mode 100644 index 0000000..54a527b --- /dev/null +++ b/lib/blocs/video_player/video_player_event.dart @@ -0,0 +1,16 @@ +import 'package:equatable/equatable.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; + +abstract class VideoPlayerEvent extends Equatable { + @override + List get props => const []; +} + +class VideoSelectedEvent extends VideoPlayerEvent { + final Post video; + + VideoSelectedEvent(this.video) : assert(video != null); + + @override + List get props => [video]; +} diff --git a/lib/blocs/video_player/video_player_state.dart b/lib/blocs/video_player/video_player_state.dart new file mode 100644 index 0000000..3e1d987 --- /dev/null +++ b/lib/blocs/video_player/video_player_state.dart @@ -0,0 +1,36 @@ +import 'package:better_player/better_player.dart'; +import 'package:equatable/equatable.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; + +abstract class VideoPlayerState extends Equatable { + @override + List get props => const []; +} + +class VideoPlayerStateInitial extends VideoPlayerState { + @override + List get props => const []; +} + +class VideoPlayerStateLoading extends VideoPlayerState {} + +class VideoPlayerStateError extends VideoPlayerState { + final String message; + + VideoPlayerStateError(this.message); + + @override + List get props => [message]; +} + +class VideoPlayerStateLoaded extends VideoPlayerState { + final Post video; + final BetterPlayerController controller; + + VideoPlayerStateLoaded(this.video, this.controller) + : assert(video != null), + assert(controller != null); + + @override + List get props => [video, controller]; +} diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..0c333e1 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,107 @@ +import 'package:camera/camera.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; +import 'package:flutter_libphonenumber/flutter_libphonenumber.dart'; +import 'package:no_context_navigation/no_context_navigation.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/Pages/Sub_Pages/LandingPage/Login.dart'; +import 'package:teso/Services/locator.dart'; +import 'package:teso/main_screen.dart'; +import 'package:teso/providers/app_provider.dart'; +import 'package:teso/providers/referral_provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:teso/resetpassword.dart'; +import 'package:teso/util/consts.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'Pages/splash.dart'; +import 'Services/uservideo_controller_service.dart'; +import 'Services/video_controller_service.dart' as ma; + +Future main() async { + WidgetsFlutterBinding.ensureInitialized(); + await Firebase.initializeApp(); + await FlutterLibphonenumber().init(); +// Initialize Firebase. + setupLocator(); + FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler); + runApp( + MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => AppProvider()), + ChangeNotifierProvider(create: (_) => UserProvider()), + ChangeNotifierProvider(create: (_) => DeviceProvider()), + ChangeNotifierProvider(create: (_) => ReferralProvider()), + RepositoryProvider( + create: (context) => + CachedVideoControllerService(DefaultCacheManager()), + ), + RepositoryProvider( + create: (context) => + ma.CachedVideoControllerService(DefaultCacheManager()), + ), + ], + child: MyApp(), + ), + ); +} + +Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async { + // If you're going to use other Firebase services in the background, such as Firestore, + // make sure you call `initializeApp` before using other Firebase services. + await Firebase.initializeApp(); +} + +class MyApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( + statusBarColor: Theme.of(context).primaryColor.withOpacity(0.7), + // systemNavigationBarColor: Colors.black, + )); + return Consumer( + builder: (_, AppProvider appProvider, __) { + return MaterialApp( + key: appProvider.key, + debugShowCheckedModeBanner: false, + navigatorKey: NavigationService.navigationKey, + title: Constants.appName, + theme: appProvider.theme, + home: Splash(), + onGenerateRoute: (RouteSettings settings) { + switch (settings.name) { + case '/': + return MaterialPageRoute(builder: (_) => MainScreens()); + case '/resetpassword': + return MaterialPageRoute( + builder: (_) => ResetPassword(resetID: settings.arguments)); + case "/login": + List cameras; + availableCameras().then((value) { + cameras = value; + }); + return MaterialPageRoute( + builder: (_) => LoginPage( + referrer: settings.arguments, + connectedCameras: cameras, + ), + ); + default: + return null; + } + }, + ); + }, + ); + } +} + +// Future _firebaseMessagingBackgroundHandler( +// RemoteMessage message, data) async { +// // print('Handling a background message ${message.messageId}'); +// data = message.data["senderID"]; +// } diff --git a/lib/main_screen.dart b/lib/main_screen.dart new file mode 100644 index 0000000..7dad590 --- /dev/null +++ b/lib/main_screen.dart @@ -0,0 +1,905 @@ +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; +import 'package:location/location.dart'; +import 'package:teso/Classes/API%20Clasess/Campaign.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Product.dart'; +import 'package:teso/Classes/API%20Clasess/TesoBusinessDetail.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/Pages/Campaigns.dart'; +import 'package:camera/camera.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:page_transition/page_transition.dart' as Transition; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Pages/PageWidgets/Uploads/Pending.dart'; +import 'package:teso/Pages/Personnal.dart'; +import 'package:teso/Pages/BusinessLocator.dart'; +import 'package:teso/Pages/Sub_Pages/Notifications/ChatScreen.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/Settings.dart'; +import 'package:teso/Pages/Sub_Pages/PopUp/Personalized.dart'; +import 'package:teso/Pages/codeQR.dart'; +import 'package:teso/Pages/notifications.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'Classes/API Clasess/CouponHead.dart'; +import 'Pages/Sub_Pages/@Generic/Camera/Video/RecordVideo.dart'; +import 'Pages/Sub_Pages/@Generic/prominentDisclosure.dart'; +import 'Pages/Sub_Pages/Campaign/AuditionPage.dart'; +import 'Pages/Sub_Pages/Coupons/ProximityCoupons.dart'; +import 'Pages/explore.dart'; +import 'Pages/home.dart'; +import 'package:teso/Pages/LandingPage.dart'; +import 'package:http/http.dart' as http; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:teso/Pages/scannerqr.dart'; +import 'package:provider/provider.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/providers/device_provider.dart'; +import 'package:teso/Notifications/NotificationPlugin.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'dart:convert'; +import 'package:teso/Pages/Sub_Pages/Coupons/ProximityCoupons.dart'; +import 'package:teso/Pages/DesireComeTrue.dart'; +import 'package:teso/Pages/Sub_Pages/PersonalSub/CompleteProfile.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/CoinPurchase.dart'; +import 'package:teso/Classes/NotificationSpliter.dart'; + +class MainScreens extends StatefulWidget { + final List connectedCameras; + + const MainScreens({Key key, this.connectedCameras}) : super(key: key); + @override + _MainScreensState createState() => _MainScreensState(); +} + +class _MainScreensState extends State + with TickerProviderStateMixin { + final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; + int _page = 0; + PageController _pageController; + String result = ""; + ScrollController _scrollBottomBarController = new ScrollController(); + bool isScrollingDown = false; + double bottomBarHeight = 75; + final picker = ImagePicker(); + FirebaseAuth _auth; + String dd; + bool _initialized = false; + bool navVisible = true; + + Future _scanQRCode() async { + result = ""; + result = await Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: QRCodeScanner(), + ), + ); + try { + if (result.isNotEmpty) { + Navigator.push( + context, + PageTransition( + type: PageTransitionType.downToUp, + child: ScanQR( + shopID: result, + ), + ), + ); + } + } catch (ex) { + setState(() { + result = "Unknown Error $ex"; + }); + } + } + + @override + void dispose() { + super.dispose(); + _pageController.dispose(); + _scrollBottomBarController.removeListener(() {}); + DefaultCacheManager().emptyCache(); + } + + void clear() async { + await DefaultCacheManager().emptyCache(); + } + + @override + void initState() { + notificationPlugin + .setListenerForLowerVersions(onNotificationInLowerVersions); + notificationPlugin.setOnNotificationClick(onNotificationClick); + Provider.of(context, listen: false) + .connectionToServer(context); + Provider.of(context, listen: false).getCurrentUser(); + Provider.of(context, listen: false).getUserInformation(); + Provider.of(context, listen: false).checkBackgroundMode(); + Provider.of(context, listen: false).getMonthlyStatus(); + Provider.of(context, listen: false).pullAds(); + Provider.of(context, listen: false).loadFriends(); + Provider.of(context, listen: false).getCoupons(); + Provider.of(context, listen: false).checkBlockedUsers(); + super.initState(); + _pageController = PageController(initialPage: 0, keepPage: false); + + SharedPreferences.getInstance().then((prefs) async { + String deviceToken; + await _firebaseMessaging.getToken().then((token) { + deviceToken = token; + }); + Map user = + jsonDecode(prefs.getString("currentUser")) as Map; + TesoUser currentuser = TesoUser.fromJSON(user); + Map updates = { + 'chattingWith': "", + 'typing': false, + "username": currentuser.username, + "deviceToken": deviceToken + }; + FirebaseFirestore.instance + .collection('users') + .doc(currentuser.userGUID) + .update(updates); + + init(context); + if (currentuser.dateOfBirth == null || currentuser.gender == null) { + Navigator.push( + context, + PageTransition( + type: PageTransitionType.leftToRight, + child: CompleteProfile(), + )); + } + }); + } + + void toogleNav(bool visibility) { + setState(() { + navVisible = visibility; + }); + } + + void navigationTapped(int page) { + if (page == 0) { + _pageController.jumpToPage(0); + } else if (page == 1) { + _pageController.jumpToPage(1); + } else if (page == 2) { + tesoDialog(context); + } else if (page == 3) { + _pageController.jumpToPage(2); + } else { + _pageController.jumpToPage(3); + } + } + + void onPageChanged(int page) { + setState(() { + if (page < 2) { + this._page = page; + } else { + this._page = page + 1; + } + }); + } + + void uploadsDialog(BuildContext context) { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Container( + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 15.0, + bottom: 5.0, + ), + child: Center( + child: Text( + "Uploading....", + style: TextStyle( + fontSize: 20.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + getTiles(context), + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Text("Close"), + ), + ), + ) + ], + ), + ), + ); + }, + ); + } + + Widget getTiles(BuildContext context) { + try { + return Consumer( + builder: (BuildContext context, UserProvider value, Widget child) { + List provider = value.getPending(); + if (value.pending != null) { + return Column( + children: provider + .map((item) => uploadTile(context, item)) + .toList()); + } else { + return Container(); + } + }); + } catch (e) { + return Container(); + } + } + + void tesoDialog(context) { + showModalBottomSheet( + context: context, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Container( + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Wrap( + children: [ + new Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 15.0, + bottom: 5.0, + ), + child: Center( + child: Text( + "Tɛso", + style: TextStyle( + fontSize: 20.0, + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + new ListTile( + leading: new Icon( + Icons.qr_code_sharp, + ), + title: new Text('Scan QR Code'), + onTap: () => {_scanQRCode()}, + ), + // new ListTile( + // leading: new Icon(Ionicons.md_locate), + // title: new Text('Proximity Coupons'), + // onTap: () => { + // Navigator.push( + // context, + // Transition.PageTransition( + // type: Transition.PageTransitionType.bottomToTop, + // child: ProximityCoupons(), + // ), + // ) + // }, + // ), + new ListTile( + leading: new Icon(Icons.video_camera_back), + title: new Text('Post Video'), + onTap: () async { + await Navigator.of(context).push( + PageRouteBuilder( + opaque: true, + pageBuilder: (_, __, ___) => RecordVideo()), + ); + }, + ), + + new ListTile( + leading: new Icon(Icons.notifications), + title: new Text('Join Campaign'), + onTap: () => Navigator.push( + context, + Transition.PageTransition( + type: Transition.PageTransitionType.fade, + child: Campaigns(), + ), + ), + ), + new ListTile( + leading: new Icon(Icons.location_on), + title: new Text('Business Locator'), + onTap: () async { + PermissionStatus alreadyConsent = + await Location.instance.hasPermission(); + if (alreadyConsent != PermissionStatus.granted) { + bool results = await Navigator.push( + context, + PageTransition( + child: ProminentDisclosure(), + type: PageTransitionType.leftToRight)); + if (results) { + await Location.instance.requestPermission(); + Navigator.push( + context, + Transition.PageTransition( + type: Transition.PageTransitionType.leftToRight, + child: BusinessLocator(), + ), + ); + } + } else { + Navigator.push( + context, + Transition.PageTransition( + type: Transition.PageTransitionType.leftToRight, + child: BusinessLocator(), + ), + ); + } + }, + ), + new Container( + margin: EdgeInsets.symmetric( + vertical: 15.0, + ), + child: new Center( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: Theme.of(context).colorScheme.secondary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + ), + onPressed: () => Navigator.pop(context), + child: Text("Close"), + ), + ), + ) + ], + ), + ), + ); + }, + ); + } + + void settingsDialog(context) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + enableDrag: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)), + ), + builder: (BuildContext bc) { + return Setting( + logOut: logOut, + connectedCameras: widget.connectedCameras, + ); + }); + } + + void logOut() async { + try { + SharedPreferences.getInstance().then((prefs) async { + String token = prefs.getString('tokensTeso'); + String id = prefs.getString('id'); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Accept': 'application/json', + 'Authorization': token + }; + var register = Uri.parse(serverLocation + 'api/logout'); + var client = await http.get(register, headers: requestHeaders); + + if (client.statusCode == 200) { + clear(); + FirebaseFirestore.instance + .collection('users') + .doc(id) + .update({'deviceToken': ""}); + _auth = FirebaseAuth.instance; + await _auth.signOut(); + + await prefs.clear(); + await prefs.setBool("launched", true); + // print(r.toString()); + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute(builder: (context) => LandingPage()), + (Route route) => false); + } else {} + }); + } catch (e) { + print(e); + } + } + + bool onWillPop() { + _pageController.previousPage( + duration: Duration(milliseconds: 200), + curve: Curves.linear, + ); + return false; + } + + Widget build(BuildContext context) { + return Scaffold( + extendBody: true, + body: WillPopScope( + onWillPop: () => Future.sync(onWillPop), + child: Stack( + children: [ + PageView( + physics: NeverScrollableScrollPhysics(), + controller: _pageController, + onPageChanged: onPageChanged, + children: [ + Home( + showUploads: uploadsDialog, + toggle: toogleNav, + ), + // VideoList(), + Explore( + connectedCameras: widget.connectedCameras, + ), + Notifications(), + Personnal( + showSettings: settingsDialog, + ), + ], + ), + Align( + alignment: Alignment.bottomCenter, + child: Consumer(builder: + (BuildContext context, UserProvider user, Widget child) { + if (user.saving) + return Container( + width: double.infinity, + height: 30, + alignment: Alignment.center, + padding: EdgeInsets.all( + SizeConfig.safeBlockVertical * 1.3, + ), + margin: EdgeInsets.only( + // left: MediaQuery.of(context).size.width * 0.119, + // right: MediaQuery.of(context).size.width * 0.119, + bottom: SizeConfig.safeBlockVertical * 15, + ), + color: Color.fromRGBO(0, 0, 0, 0.2), + child: Text("Saving...", + style: TextStyle( + color: Colors.white, + )), + ); + else + return Container(); + }), + ), + ], + ), + ), + bottomNavigationBar: bottomOptions(context), + ); + } + + onNotificationInLowerVersions(ReceivedNotification receivedNotification) {} + + onNotificationClick(String payload) async { + Payload load = Payload.fromJSON(json.decode(payload.toString())); + switch (load.loadID) { + case "TESN001": + await Navigator.of(context).push( + Transition.PageTransition( + type: Transition.PageTransitionType.bottomToTop, + child: ProximityCoupons(), + ), + ); + break; + case "TESN002": + await Navigator.push( + context, + Transition.PageTransition( + child: DesireComeTrue(), + type: Transition.PageTransitionType.fade, + ), + ); + break; + case "TESN000": + navigationTapped(3); + break; + case "TESN0R0": + navigationTapped(3); + break; + case "TESN003": + await Navigator.push( + context, + Transition.PageTransition( + child: Coins(initalPage: 0), + type: Transition.PageTransitionType.fade, + ), + ); + break; + case "TESN004": + TesoUser user = new TesoUser(); + user.firstname = load.load2; + user.userGUID = load.load1; + user.lastname = load.load3; + await Navigator.push( + context, + Transition.PageTransition( + child: ChatScreen( + user: user, + ), + type: Transition.PageTransitionType.fade, + ), + ); + break; + case "TESN005": + Campaign campaignItem = Campaign( + businessID: load.load1, + campaignID: load.load2, + description: load.load3, + rewards: int.parse(load.load7), + startDate: DateTime.parse(load.load8), + status: load.load4, + targetProduct: load.load5, + title: load.load6); + await Navigator.push( + context, + PageTransition( + child: Audition( + campaign: campaignItem, + ), + type: PageTransitionType.rightToLeft, + ), + ); + break; + } + } + + void _fetchMessage(RemoteMessage message, BuildContext context) async { + if (message == null || message.notification == null) return; + final Map _data = message.data; + final RemoteNotification notification = message.notification; + Payload payload = await NotificationSplitter.getPayload(_data, context); + + await notificationPlugin.showNotification( + notification.title, + notification.body, + payload.toString(), + ); + if (payload.load2 != null && payload.load2 == "personalized") { + try { + var coup = jsonDecode(payload.load1); + Product product = new Product(); + product.productName = payload.load7; + product.unitPrice = double.parse(payload.load6); + TesoBusinessDetail business = new TesoBusinessDetail(); + business.businessName = payload.load5; + CouponsHead head = new CouponsHead(); + head.businessId = coup["BusinessId"]; + head.couponId = payload.load3; + head.expiration = DateTime.parse(coup["Expiration"].toString()); + head.lower = coup["LowerLimit"]; + head.quantity = 1; + head.state = payload.load4; + head.targetProduct = coup["TargetProduct"]; + head.type = coup["Type"]; + head.upper = coup["UpperLimit"]; + head.generated = DateTime.parse(coup["Generated"].toString()); + CouponDetails details = new CouponDetails(); + details.businessId = head.businessId; + details.condition = payload.load4; + details.targetProduct = product; + details.issuer = business; + details.lowerLimit = head.lower; + details.upperLimit = head.upper; + await Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: PersonalCoupon( + details: details, + head: head, + ), + ), + ); + } catch (e) { + print(e); + } + } + } + + Future init(BuildContext context) async { + if (!_initialized) { + await _firebaseMessaging.requestPermission(); + _firebaseMessaging + .getInitialMessage() + .then((message) => _fetchMessage(message, context)); + FirebaseMessaging.onMessage + .listen((message) => _fetchForegroundMessage(message, context)); + FirebaseMessaging.onMessageOpenedApp + .listen((message) => _fromBackground(message, context)); + _firebaseMessaging.getToken().then((token) { + // print('token: $token'); + }); + _initialized = true; + } + } + + void _fromBackground(RemoteMessage message, BuildContext context) async { + if (message == null || message.notification == null) return; + final Map _data = message.data; + Payload payload = await NotificationSplitter.getPayload(_data, context); + if (payload.load2 != null && payload.load2 == "personalized") { + try { + var coup = jsonDecode(payload.load1); + Product product = new Product(); + product.productName = payload.load7; + product.unitPrice = double.parse(payload.load6); + TesoBusinessDetail business = new TesoBusinessDetail(); + business.businessName = payload.load5; + CouponsHead head = new CouponsHead(); + head.businessId = coup["BusinessId"]; + head.couponId = payload.load3; + head.expiration = DateTime.parse(coup["Expiration"].toString()); + head.lower = coup["LowerLimit"]; + head.quantity = 1; + head.state = payload.load4; + head.targetProduct = coup["TargetProduct"]; + head.type = coup["Type"]; + head.upper = coup["UpperLimit"]; + head.generated = DateTime.parse(coup["Generated"].toString()); + CouponDetails details = new CouponDetails(); + details.businessId = head.businessId; + details.condition = payload.load4; + details.targetProduct = product; + details.issuer = business; + details.lowerLimit = head.lower; + details.upperLimit = head.upper; + await Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: PersonalCoupon( + details: details, + head: head, + ), + ), + ); + } catch (e) { + print(e); + } + } else { + switch (_data["notificationType"]) { + case "chats": + TesoUser user = new TesoUser(); + user.firstname = payload.load2; + user.userGUID = payload.load1; + user.lastname = payload.load3; + await Navigator.push( + context, + Transition.PageTransition( + child: ChatScreen( + user: user, + ), + type: Transition.PageTransitionType.fade, + ), + ); + break; + case "campaign": + Campaign campaignItem = Campaign( + businessID: payload.load1, + campaignID: payload.load2, + description: payload.load3, + rewards: int.parse(payload.load7), + startDate: DateTime.parse(payload.load8), + status: payload.load4, + targetProduct: payload.load5, + title: payload.load6); + await Navigator.push( + context, + PageTransition( + child: Audition( + campaign: campaignItem, + ), + type: PageTransitionType.rightToLeft, + ), + ); + break; + default: + navigationTapped(3); + break; + } + } + } + + void _fetchForegroundMessage( + RemoteMessage message, BuildContext context) async { + if (message == null || message.notification == null) { + return; + } + final Map _data = message.data; + final RemoteNotification notification = message.notification; + Payload payload = await NotificationSplitter.getPayload(_data, context); + + await notificationPlugin.showNotification( + notification.title, + notification.body, + payload.toString(), + ); + if (payload.load2 != null && payload.load2 == "personalized") { + try { + var coup = jsonDecode(payload.load1); + Product product = new Product(); + product.productName = payload.load7; + product.unitPrice = double.parse(payload.load6); + TesoBusinessDetail business = new TesoBusinessDetail(); + business.businessName = payload.load5; + CouponsHead head = new CouponsHead(); + head.businessId = coup["BusinessId"]; + head.couponId = payload.load3; + head.expiration = DateTime.parse(coup["Expiration"].toString()); + head.lower = coup["LowerLimit"]; + head.quantity = 1; + head.state = payload.load4; + head.targetProduct = coup["TargetProduct"]; + head.type = coup["Type"]; + head.upper = coup["UpperLimit"]; + head.generated = DateTime.parse(coup["Generated"].toString()); + CouponDetails details = new CouponDetails(); + details.businessId = head.businessId; + details.condition = payload.load4; + details.targetProduct = product; + details.issuer = business; + details.lowerLimit = head.lower; + details.upperLimit = head.upper; + await Navigator.push( + context, + PageTransition( + type: PageTransitionType.fade, + child: PersonalCoupon( + details: details, + head: head, + ), + ), + ); + } catch (e) { + print(e); + } + } else if (payload.loadID == "TESN0R0") { + SharedPreferences.getInstance().then((prefs) async { + String currentSaveUser = prefs.getString("currentUser"); + Map olduser = + jsonDecode(currentSaveUser) as Map; + TesoUser user = TesoUser.fromJSON(olduser); + user.gold = + (int.parse(user.gold) + int.parse(_data["reward"])).toString(); + Provider.of(context, listen: false).setUser(user); + }); + } + } + + Widget bottomOptions(context) { + return AnimatedOpacity( + opacity: navVisible ? 1 : 0, + duration: Duration(seconds: 2), + child: Container( + height: SizeConfig.safeBlockVertical * 12, + margin: EdgeInsets.only( + bottom: SizeConfig.safeBlockVertical * 2, + left: MediaQuery.of(context).size.width * 0.05, + right: MediaQuery.of(context).size.width * 0.05, + ), + padding: EdgeInsets.all(SizeConfig.safeBlockVertical * 0.54), + decoration: BoxDecoration( + color: Colors.white38, + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30.0), + topRight: Radius.circular(30.0), + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + child: BottomNavigationBar( + //iconSize: 19.5, + showSelectedLabels: false, + showUnselectedLabels: false, + backgroundColor: Theme.of(context).primaryColor, + selectedItemColor: Theme.of(context).colorScheme.secondary, + unselectedItemColor: Colors.grey[500], + elevation: 150, + type: BottomNavigationBarType.fixed, + items: [ + BottomNavigationBarItem( + icon: Icon( + Icons.home, + size: SizeConfig.safeBlockHorizontal * 6.7, + ), + label: "Home", + tooltip: ""), + BottomNavigationBarItem( + icon: Icon( + Icons.search, + size: SizeConfig.safeBlockHorizontal * 6.7, + ), + label: ("Explore"), + ), + BottomNavigationBarItem( + icon: GestureDetector( + onLongPress: () => {_scanQRCode()}, + child: ImageIcon( + AssetImage("assets/images/rawLogo.png"), + size: SizeConfig.safeBlockHorizontal * 6.7, + ), + ), + label: ("TESO"), + ), + BottomNavigationBarItem( + icon: Icon( + Icons.notifications, + size: SizeConfig.safeBlockHorizontal * 6.7, + ), + label: ("Alerts"), + ), + BottomNavigationBarItem( + icon: Icon( + Icons.person, + size: SizeConfig.safeBlockHorizontal * 6.7, + ), + label: ("Personal"), + ), + ], + onTap: navigationTapped, + currentIndex: _page, + ), + ), + ), + ); + } +} diff --git a/lib/providers/app_provider.dart b/lib/providers/app_provider.dart new file mode 100644 index 0000000..0ddec5a --- /dev/null +++ b/lib/providers/app_provider.dart @@ -0,0 +1,62 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/util/consts.dart'; + +class AppProvider extends ChangeNotifier { + AppProvider() { + checkTheme(); + } + + ThemeData theme = Constants.lightTheme; + Key key = UniqueKey(); + GlobalKey navigatorKey = GlobalKey(); + + void setKey(value) { + key = value; + notifyListeners(); + } + + void setNavigatorKey(value) { + navigatorKey = value; + notifyListeners(); + } + + void setTheme(value, c) { + theme = value; + SharedPreferences.getInstance().then((prefs) { + prefs.setString("theme", c).then((val) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, + overlays: SystemUiOverlay.values); + SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( + statusBarColor: + c == "dark" ? Constants.darkPrimary : Constants.lightPrimary, + statusBarIconBrightness: + c == "dark" ? Brightness.light : Brightness.dark, + )); + }); + }); + notifyListeners(); + } + + ThemeData getTheme(value) { + return theme; + } + + Future checkTheme() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + ThemeData t; + String r = + prefs.getString("theme") == null ? "light" : prefs.getString("theme"); + + if (r == "light") { + t = Constants.lightTheme; + setTheme(Constants.lightTheme, "light"); + } else { + t = Constants.darkTheme; + setTheme(Constants.darkTheme, "dark"); + } + return t; + } +} diff --git a/lib/providers/device_provider.dart b/lib/providers/device_provider.dart new file mode 100644 index 0000000..05ff21c --- /dev/null +++ b/lib/providers/device_provider.dart @@ -0,0 +1,300 @@ +import 'package:provider/provider.dart'; +import 'package:teso/Classes/API%20Clasess/PostionAP.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/prominentDisclosureBackground.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:location/location.dart'; +import 'package:flutter/services.dart'; +import 'package:http/http.dart' as http; +import 'dart:convert'; +import 'dart:async'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API Clasess/ProximityCoupon.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:geolocator/geolocator.dart'; +import 'package:teso/Notifications/NotificationPlugin.dart'; +import 'package:teso/Classes/Payload.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/Error.dart'; + +class DeviceProvider extends ChangeNotifier { + bool serviceEnabled; + Location location = new Location(); + bool _serviceEnabled; + LocationData _location; + + StreamSubscription _locationSubscription; + List proximityCoupons = []; + bool fetching = false; + bool declining = false; + bool runFirst = true; + Position1 position = new Position1(); + + DeviceProvider() { + try { + checkBackgroundMode(); + } catch (e) { + print(e); + } + } + + void checkBackgroundMode() async { + final bool result = await location.isBackgroundModeEnabled(); + serviceEnabled = result; + SharedPreferences.getInstance().then((prefs) { + serviceEnabled = prefs.getBool("backgroundService"); + if (serviceEnabled == null) { + serviceEnabled = false; + } else { + serviceEnabled = prefs.getBool("backgroundService"); + } + if (serviceEnabled) _listenLocation(); + }); + } + + void toggleBackgroundMode(context) async { + try { + bool prominentResult = false; + if (!serviceEnabled) { + prominentResult = await Navigator.push( + context, + PageTransition( + child: ProminentDisclosure(), + type: PageTransitionType.leftToRight)); + } + + final bool result = await location.enableBackgroundMode( + enable: prominentResult, + ); + serviceEnabled = result; + SharedPreferences.getInstance().then((prefs) { + prefs.setBool("backgroundService", serviceEnabled); + }); + if (serviceEnabled) { + PermissionStatus status = await _requestPermission(); + if (status == PermissionStatus.granted) { + await _requestService(); + _listenLocation(); + } + } else { + await _stopListen(); + } + } on PlatformException catch (err) { + Navigator.push( + context, + PageTransition( + child: ErrorPage(error: err.message), + type: PageTransitionType.fade, + ), + ); + } catch (e) { + print(e); + Navigator.push( + context, + PageTransition( + child: ErrorPage(error: e.toString()), + type: PageTransitionType.fade, + ), + ); + } + notifyListeners(); + } + + Future _requestService() async { + if (_serviceEnabled == null || !_serviceEnabled) { + final bool serviceRequestedResult = await location.requestService(); + _serviceEnabled = serviceRequestedResult; + if (!serviceRequestedResult) { + return; + } + } + } + + Future _listenLocation() async { + _locationSubscription = + location.onLocationChanged.handleError((dynamic err) { + print(err.code); + _locationSubscription.cancel(); + }).listen((LocationData currentLocation) async { + try { + double distanceInMeters = Geolocator.distanceBetween( + currentLocation.latitude, + currentLocation.longitude, + _location.latitude, + _location.longitude); + + if (distanceInMeters >= 804.672 || runFirst) { + if (!fetching && !declining) { + position.latitude = currentLocation.latitude; + position.longitude = currentLocation.longitude; + + await proxiCoupons(); + + if (proximityCoupons.length > 0) { + Payload payload = new Payload(); + payload.loadID = "TESN001"; + payload.load1 = "proximityCoupons"; + await notificationPlugin.showNotification( + "Proximity Coupons", + "There are proximity coupons available in your area, click here to accept", + payload.toString(), + ); + } + runFirst = false; + } + _location = currentLocation; + } + fetching = false; + } catch (e) { + if (!fetching && !declining) { + position.latitude = currentLocation.latitude; + position.longitude = currentLocation.longitude; + await proxiCoupons(); + } + _location = currentLocation; + fetching = false; + } + }); + } + + Future _stopListen() async { + try { + _locationSubscription.cancel(); + } catch (e) {} + } + + PermissionStatus _permissionGranted; + + Future _requestPermission() async { + if (_permissionGranted != PermissionStatus.granted) { + _permissionGranted = await location.requestPermission(); + } + return _permissionGranted; + } + + Future> proxiCoupons() async { + fetching = true; + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'coupons/proximity'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(position), headers: requestHeaders); + + if (client1.statusCode == 200) { + var details = jsonDecode(client1.body); + proximityCoupons = List.from( + details.map((model) => ProximityCoupon.fromJSON(model)).toList()); + notifyListeners(); + return proximityCoupons; + } else { + return null; + } + } + + Future declineCoupon(CouponsHead couponsHead) async { + declining = true; + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'coupons/declineCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(couponsHead), headers: requestHeaders); + + if (client1.statusCode == 200) { + declining = false; + return 1; + } else { + declining = false; + return 0; + } + } + + Future acceptCoupon(CouponsHead couponsHead, int cost, context) async { + try { + declining = true; + SharedPreferences prefs = await SharedPreferences.getInstance(); + + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + TesoUser currentUser = + Provider.of(context, listen: false).currentUser; + + int remaining = int.parse(currentUser.silver) - cost.round(); + if (remaining < 0) { + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Insufficient coins", + "Unable to acquire coupon due to insufficient silver coins, get more silver coins to acquire coupons!!", + payload.toString(), + ); + return 0; + } + // Calculations end + + var register2 = serverLocation + 'coupons/acceptCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(couponsHead), headers: requestHeaders); + + if (client1.statusCode == 200) { + currentUser.silver = remaining.toString(); + Provider.of(context, listen: false).setUser(currentUser); + declining = false; + + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Coupon Acquired", + client1.body.toString(), + payload.toString(), + ); + Provider.of(context, listen: false).getCoupons(); + return 200; + } else if (client1.statusCode == 999) { + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Unable to acquire coupon", + "Copies of coupon not available at the moment for acquisition, please try again after some time", + payload.toString(), + ); + declining = false; + return client1.statusCode; + } else { + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "CouponAcquisition"; + + await notificationPlugin.showNotification( + "Unable to acquire coupon", + "An error occurred while trying to acquired coupon, please try again", + payload.toString(), + ); + declining = false; + return client1.statusCode; + } + } catch (e) { + return 10; + } + } +} diff --git a/lib/providers/pageAnimations.dart b/lib/providers/pageAnimations.dart new file mode 100644 index 0000000..29e4c92 --- /dev/null +++ b/lib/providers/pageAnimations.dart @@ -0,0 +1,187 @@ +library page_transition; + +import 'package:flutter/material.dart'; + +enum PageTransitionType { + fade, + rightToLeft, + leftToRight, + upToDown, + downToUp, + scale, + rotate, + size, + rightToLeftWithFade, + leftToRightWithFade, +} + +class PageTransition extends PageRouteBuilder { + final Widget child; + final PageTransitionType type; + final Curve curve; + final Alignment alignment; + final Duration duration; + + PageTransition({ + Key key, + @required this.child, + @required this.type, + this.curve = Curves.linear, + this.alignment, + this.duration = const Duration(milliseconds: 300), + }) : super( + pageBuilder: (BuildContext context, Animation animation, + Animation secondaryAnimation) { + return child; + }, + transitionDuration: duration, + transitionsBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { + switch (type) { + case PageTransitionType.fade: + return FadeTransition(opacity: animation, child: child); + break; + case PageTransitionType.rightToLeft: + return SlideTransition( + transformHitTests: false, + position: new Tween( + begin: const Offset(1.0, 0.0), + end: Offset.zero, + ).animate(animation), + child: new SlideTransition( + position: new Tween( + begin: Offset.zero, + end: const Offset(-1.0, 0.0), + ).animate(secondaryAnimation), + child: child, + ), + ); + break; + case PageTransitionType.leftToRight: + return SlideTransition( + transformHitTests: false, + position: Tween( + begin: const Offset(-1.0, 0.0), + end: Offset.zero, + ).animate(animation), + child: new SlideTransition( + position: new Tween( + begin: Offset.zero, + end: const Offset(1.0, 0.0), + ).animate(secondaryAnimation), + child: child, + ), + ); + break; + case PageTransitionType.upToDown: + return SlideTransition( + transformHitTests: false, + position: Tween( + begin: const Offset(0.0, -1.0), + end: Offset.zero, + ).animate(animation), + child: new SlideTransition( + position: new Tween( + begin: Offset.zero, + end: const Offset(0.0, 1.0), + ).animate(secondaryAnimation), + child: child, + ), + ); + break; + case PageTransitionType.downToUp: + return SlideTransition( + transformHitTests: false, + position: Tween( + begin: const Offset(0.0, 1.0), + end: Offset.zero, + ).animate(animation), + child: new SlideTransition( + position: new Tween( + begin: Offset.zero, + end: const Offset(0.0, -1.0), + ).animate(secondaryAnimation), + child: child, + ), + ); + break; + case PageTransitionType.scale: + return ScaleTransition( + alignment: alignment, + scale: CurvedAnimation( + parent: animation, + curve: Interval( + 0.00, + 0.50, + curve: Curves.bounceInOut, + ), + ), + child: child, + ); + break; + case PageTransitionType.rotate: + return new RotationTransition( + alignment: alignment, + turns: animation, + child: new ScaleTransition( + alignment: alignment, + scale: animation, + child: FadeTransition( + opacity: animation, + child: child, + ), + ), + ); + break; + case PageTransitionType.size: + return Align( + alignment: alignment, + child: SizeTransition( + sizeFactor: CurvedAnimation( + parent: animation, + curve: curve, + ), + child: child, + ), + ); + break; + case PageTransitionType.rightToLeftWithFade: + return SlideTransition( + position: Tween( + begin: const Offset(1.0, 0.0), + end: Offset.zero, + ).animate(animation), + child: FadeTransition( + opacity: animation, + child: SlideTransition( + position: Tween( + begin: Offset.zero, + end: const Offset(-1.0, 0.0), + ).animate(secondaryAnimation), + child: child, + ), + ), + ); + break; + case PageTransitionType.leftToRightWithFade: + return SlideTransition( + position: Tween( + begin: const Offset(-1.0, 0.0), + end: Offset.zero, + ).animate(animation), + child: FadeTransition( + opacity: animation, + child: SlideTransition( + position: Tween( + begin: Offset.zero, + end: const Offset(1.0, 0.0), + ).animate(secondaryAnimation), + child: child, + ), + ), + ); + break; + default: + return FadeTransition(opacity: animation, child: child); + } + }); +} diff --git a/lib/providers/referral_provider.dart b/lib/providers/referral_provider.dart new file mode 100644 index 0000000..3a20dab --- /dev/null +++ b/lib/providers/referral_provider.dart @@ -0,0 +1,19 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + +class ReferralProvider extends ChangeNotifier { + ReferralProvider() { + getReferral(); + } + String referral; + + void setReferral(user) { + referral = user; + notifyListeners(); + } + + String getReferral() { + return referral; + } +} diff --git a/lib/providers/user_provider.dart b/lib/providers/user_provider.dart new file mode 100644 index 0000000..632cb36 --- /dev/null +++ b/lib/providers/user_provider.dart @@ -0,0 +1,874 @@ +import 'dart:convert'; +import 'dart:io'; +import 'dart:typed_data'; +import 'dart:ui'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:connectivity/connectivity.dart'; +import 'package:flutter_cache_manager/flutter_cache_manager.dart'; +import 'package:flutter_upchunk/flutter_upchunk.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:share_plus/share_plus.dart'; +import 'package:tapioca/tapioca.dart'; +import 'package:teso/Classes/API%20Clasess/PostUpload.dart'; +import 'package:teso/Classes/Connection.dart'; +import 'package:teso/Classes/Firebase/Posts.dart'; +import 'package:teso/Classes/ReportedContent.dart'; +import 'package:teso/Classes/Uploading.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/SuccessRedeem.dart'; +import 'package:teso/Pages/Sub_Pages/@Generic/ErrorRedeem.dart'; +import 'package:teso/Classes/API%20Clasess/CommentsPost.dart'; +import 'package:teso/Classes/API%20Clasess/CouponDetails.dart'; +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/API%20Clasess/PostFav.dart'; +import 'package:teso/providers/pageAnimations.dart'; +import 'package:teso/util/SizeConfig.dart'; +import 'package:teso/util/consts.dart'; +import 'package:http/http.dart' as http; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Classes/API Clasess/UserFavCategory.dart'; +import 'package:teso/Classes/API Clasess/CouponHead.dart'; +import 'package:teso/Notifications/NotificationPlugin.dart'; +import 'package:teso/Classes/Payload.dart'; + +class UserProvider extends ChangeNotifier { + UserProvider() { + getCurrentUser(); + } + + TesoUser currentUser; + List interest = []; + List posts = []; + List friends = []; + List mycoupons = []; + List pending = []; + List uploadOperation = []; + bool wifi = false; + bool firstTime = true; + bool saving = false; + List blockedContent = []; + List blockedUsers = []; + List blockUserList = []; + + void updateUser(user) async { + currentUser = await update(user); + SharedPreferences.getInstance().then((prefs) { + prefs.setString("currentUser", currentUser.toString()); + }); + notifyListeners(); + } + + void setUser(user) { + currentUser = user; + SharedPreferences.getInstance().then((prefs) { + prefs.setString("currentUser", currentUser.toString()); + }); + notifyListeners(); + } + + getPending() { + return pending; + } + + getCurrentUser() async { + String currentSaveUser; + SharedPreferences.getInstance().then((prefs) async { + currentSaveUser = prefs.getString("currentUser"); + if (currentSaveUser == null) { + } else { + Map user = + jsonDecode(currentSaveUser) as Map; + TesoUser olduser = TesoUser.fromJSON(user); + currentUser = olduser; + prefs.setString("currentUser", currentUser.toString()); + } + }); + Future.delayed(Duration(seconds: 5), () => notifyListeners()); + return currentUser; + } + + setFavs(List categories) { + interest = categories; + SharedPreferences.getInstance().then((prefs) { + prefs.setStringList("favoriteCats", categories); + }); + notifyListeners(); + } + + getFavs() async { + try { + await pullFavoriteCategories(); + } catch (e) { + SharedPreferences.getInstance().then((prefs) { + interest = prefs.getStringList("favoriteCats"); + if (interest != null) if (interest.isEmpty) { + interest = []; + } + }); + } + } + + Future update(TesoUser user) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'users/updateUser'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(user), headers: requestHeaders); + + if (client1.statusCode == 200) { + Map handler = jsonDecode(client1.body); + TesoUser tokenHandler = TesoUser.fromJSON(handler); + return tokenHandler; + } else { + return null; + } + } + + Future> pullFavoriteCategories() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + List favs; + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'favoriteCategories/pullUser'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(prefs.getString("id")), headers: requestHeaders); + + if (client1.statusCode == 200) { + var handler = jsonDecode(client1.body); + favs = List.from( + handler.map((model) => UserFavCategory.fromJSON(model)).toList()); + setFavs(favs.map((e) => e.categoryCode).toList()); + return interest = favs.map((e) => e.categoryCode).toList(); + } else { + return null; + } + } + + updateFavoriteCategories(List catF) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String id = prefs.getString("id"); + List favs = []; + catF.forEach((element) async { + UserFavCategory category = new UserFavCategory(); + category.userGuid = id; + category.categoryCode = element; + category.countID = DateTime.now().toString() + id; + favs.add(category); + }); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + + var register2 = serverLocation + 'favoriteCategories/updateFavorites'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(favs), headers: requestHeaders); + + if (client1.statusCode == 200) { + setFavs(catF); + } else { + return null; + } + } + + Future getMonthlyStatus() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'monthly-desires/check-status'; + var client1 = + await http.get(Uri.parse(register2), headers: requestHeaders); + if (client1.statusCode == 200) { + if (client1.body == "not submitted") { + Payload payload = new Payload(); + payload.loadID = "TESN002"; + payload.load1 = "DesireComeTrue"; + + await notificationPlugin.showNotification( + "Desire Come True", + "You haven't set up your Desire Come True list for next month", + payload.toString(), + ); + } + } + } catch (e) { + print(e); + } + } + + void updatePosted(FBPosts postNow) { + posts.add(postNow); + + notifyListeners(); + // predownloadAds(posts.map((e) => e.playbackID).toList()); + } + + Future pullAds() async { + SharedPreferences.getInstance().then((prefs) async { + String id = prefs.getString("id"); + FirebaseFirestore.instance + .collection("posts") + .where("publisher", isEqualTo: id) + .snapshots() + .listen((snap) async { + this.posts = snap.docs.map((e) => FBPosts.fromJSON(e.data())).toList(); + if (this.posts != null) + this.posts.sort((b, a) => a.timestamp.compareTo(b.timestamp)); + }); + notifyListeners(); + }); + //predownloadAds(this.posts.map((e) => e.playbackID).toList()); + } + + Future commentPost(CommentsPost comment) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/add-comment'; + var client = await http.post(Uri.parse(register), + body: json.encode(comment), headers: requestHeaders); + if (client.statusCode == 200) { + print(client.body); + } + } + + void unCommentPost(CommentsPost comment) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/delete-comment'; + var client = await http.post(Uri.parse(register), + body: json.encode(comment), headers: requestHeaders); + if (client.statusCode == 200) { + print(client.body); + } + } + + void addLike(PostFav like) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/add-like'; + var client = await http.post(Uri.parse(register), + body: json.encode(like), headers: requestHeaders); + if (client.statusCode == 200) { + print(client.body); + } + } catch (e) { + print(e.toString()); + } + } + + void deleteLike(String like) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/remove-like'; + var client = await http.post(Uri.parse(register), + body: json.encode(like), headers: requestHeaders); + if (client.statusCode == 200) { + print(client.body); + } + } catch (e) { + print(e); + } + } + + void deletePost(Post post) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + Map muxHeaders = {'Authorization': token}; + var register = serverLocation + 'posts/delete-post'; + var client = await http.post(Uri.parse(register), + body: json.encode(post), headers: requestHeaders); + print(client.body); + if (client.statusCode == 200) { + http.get( + Uri.parse( + tesoStreaming + "api/mobile/upload/delete/" + post.playbackID), + headers: muxHeaders); + this.posts.removeWhere((element) => element.postID == post.postID); + notifyListeners(); + } + } catch (e) { + print(e); + } + } + + void viewPost(Post post) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'posts/view-post'; + await http.post(Uri.parse(register), + body: json.encode(post.postID), headers: requestHeaders); + } catch (e) { + print(e); + } + } + +// coupons + Future viewCoupon(CouponsHead coupon) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'coupons/viewCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(coupon), headers: requestHeaders); + if (client1.statusCode == 200) { + return 200; + } else { + return 400; + } + } catch (e) { + return 400; + } + } + + Future loadFriends() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'relationships/friends'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var people = jsonDecode(client.body); + friends = List.from( + people.map((model) => TesoUser.fromJSON(model)).toList()); + notifyListeners(); + } + } + + Future getUserInformation() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'user_details/pullInformation'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var people = jsonDecode(client.body); + TesoUser user = TesoUser.fromJSON(people); + setUser(user); + } + } + + Future getCoupons() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + var register = serverLocation + 'coupons/acquiredcoupons'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var details = jsonDecode(client.body); + mycoupons = List.from( + details.map((model) => CouponDetails.fromJSON(model)).toList()); + notifyListeners(); + } + } + + Future redeemCoupon(CouponDetails coupon, context) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + try { + var register2 = serverLocation + 'coupons/redeemCoupon'; + var client1 = await http.post(Uri.parse(register2), + body: json.encode(coupon), headers: requestHeaders); + print(client1.body); + if (client1.statusCode == 200) { + var data = client1.body; + int coins = int.tryParse(data); + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "CouponRedemption"; + + await notificationPlugin.showNotification( + "Coupon Redeem", + "You have successfully redeem a " + + coupon.issuer.businessName + + " " + + coupon.type + + " coupon", + payload.toString(), + ); + getCoupons(); + await Navigator.pushReplacement( + context, + PageTransition( + child: SuccessfullyRedeemed( + couponDetails: coupon, + returns: coins, + ), + type: PageTransitionType.fade, + ), + ); + Navigator.pop(context); + } else { + Navigator.pushReplacement( + context, + PageTransition( + child: ErrorRedeem(), + type: PageTransitionType.fade, + ), + ); + } + } catch (e) { + print(e); + Navigator.pushReplacement( + context, + PageTransition( + child: ErrorRedeem(), + type: PageTransitionType.fade, + ), + ); + } + } + + predownloadAds(List paths) { + try { + // if (wifi) + // paths.forEach((path) async { + // final fileInfo = await DefaultCacheManager() + // .getFileFromCache(tesoStreaming + path); + // if (fileInfo == null || fileInfo.file == null) { + // unawaited(DefaultCacheManager() + // .downloadFile(tesoStreaming + "pd/" + path)); + // } + // }); + } catch (e) { + print(e); + } + } + + Future uploadPost(Uploading uploads) async { + try { + Payload payload = new Payload(); + payload.loadID = "TESN003"; + payload.load1 = "Posted"; + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + Map muxHeaders = {'Authorization': token}; + var uploadOptions = UpChunkOptions() + ..endPoint = uploads.muxuploadURL + ..file = File(uploads.path) + ..onProgress = (progress) { + print('Upload progress: ${progress.ceil()}%'); + pending.forEach((element) { + if (element.id == uploads.id) { + uploads.pending = progress.ceil() / 100; + uploads.isProcessing = false; + } + }); + notifyListeners(); + } + ..onError = (String message, int chunk, int attempts) { + print('UpChunk error 💥 🙀:'); + print(' - Message: $message'); + print(' - Chunk: $chunk'); + print(' - Attempts: $attempts'); + pending.removeWhere((element) => element.id == uploads.id); + notifyListeners(); + } + ..onSuccess = () async { + var client1 = await http.get( + Uri.parse( + "${tesoStreaming}api/mobile/upload/playback/${uploads.muxuploadID}"), + headers: muxHeaders); + print('Upload complete! 👋'); + if (client1.statusCode == 200) { + var details = jsonDecode(client1.body); + + var details1 = details[0]; + var data = details1["0"]; + PostUpload videoUpload = new PostUpload(); + videoUpload.aspect = uploads.aspect; + videoUpload.campaignID = uploads.campaignID; + videoUpload.title = uploads.title; + videoUpload.path = data["data"]["id"]; + videoUpload.thumbnail = details1["asset_id"]; + + var register2 = serverLocation + "posts/upload-post"; + var client2 = await http.post(Uri.parse(register2), + body: json.encode(videoUpload), headers: requestHeaders); + if (client2.statusCode == 200) { + pending.removeWhere((element) => element.id == uploads.id); + notifyListeners(); + } else { + pending.removeWhere((element) => element.id == uploads.id); + notifyListeners(); + } + } else { + pending.removeWhere((element) => element.id == uploads.id); + // print(e); + notifyListeners(); + } + }; + var uploadChunk = UpChunk.createUpload(uploadOptions); + uploads.token = uploadChunk; + pending.add(uploads); + notifyListeners(); + } catch (e) { + pending.removeWhere((element) => element.id == uploads.id); + print(e); + } + } + + Future cancelUpload(Uploading uploads) async { + try { + // uploader.cancel(taskId: uploads.id); + uploads.token.stop(); + pending.remove(uploads); + notifyListeners(); + } catch (e) { + print(e); + } + } + + connectionToServer(context) { + MyConnectivity _connectivity = MyConnectivity.instance; + _connectivity.initialise(); + _connectivity.myStream.listen((source) { + if (source.keys.toList()[0] == ConnectivityResult.wifi && + source.values.toList()[0]) { + final snackBar = SnackBar( + content: Text( + 'Connected', + textAlign: TextAlign.center, + style: TextStyle(color: Colors.white), + ), + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Colors.green, + duration: Duration( + seconds: 3, + ), + ); + if (!firstTime) ScaffoldMessenger.of(context).showSnackBar(snackBar); + firstTime = false; + wifi = true; + notifyListeners(); + } else if (source.keys.toList()[0] == ConnectivityResult.mobile && + source.values.toList()[0]) { + final snackBar = SnackBar( + content: Text( + 'Connected', + textAlign: TextAlign.center, + style: TextStyle(color: Colors.white), + ), + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Colors.green, + duration: Duration( + seconds: 3, + ), + ); + if (!firstTime) ScaffoldMessenger.of(context).showSnackBar(snackBar); + firstTime = false; + wifi = false; + notifyListeners(); + } else { + final snackBar = SnackBar( + content: Text( + 'No Internet Connection Available', + textAlign: TextAlign.center, + style: TextStyle(color: Colors.white), + ), + action: SnackBarAction( + label: 'Retry', + textColor: Colors.white, + onPressed: () => connectionToServer(context), + ), + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Colors.red, + duration: Duration( + seconds: 3, + ), + ); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + firstTime = false; + wifi = false; + notifyListeners(); + } + }); + } + + Future downloadVideo(String postID, String playbackID, String rendition, + Uint8List imageBitmap, context) async { + if (!saving) { + saving = true; + final snackBar = SnackBar( + content: Text( + "Processing", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5), + ), + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Color.fromRGBO(0, 0, 0, 0.5), + duration: Duration( + seconds: 3, + ), + ); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + try { + if (rendition == null) { + SharedPreferences prefs = await SharedPreferences.getInstance(); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': prefs.getString('tokensTeso') + }; + var register2 = serverLocation + 'posts/getrendition'; + var client1 = await http + .post(Uri.parse(register2), + body: json.encode(postID), headers: requestHeaders) + .timeout( + Duration( + seconds: 5, + ), + ); + if (client1.statusCode == 200) { + rendition = client1.body; + } else { + saving = false; + final snackBar = SnackBar( + content: Text( + "An error occurred while saving ad try again", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5), + ), + behavior: SnackBarBehavior.floating, + margin: EdgeInsets.only( + left: 10, + right: 10, + bottom: MediaQuery.of(context).size.height * 0.80), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Color(0XFF800000), + duration: Duration( + seconds: 2, + ), + ); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + } + } + var fileInfo = await DefaultCacheManager() + .getSingleFile(tesoStreamMux + playbackID + "/$rendition?download"); + String location = await getTemporaryDirectory().then((value) => + value.path + + "/" + + DateTime.now().millisecondsSinceEpoch.toString() + + ".mp4"); + + final tapiocaBalls = [ + TapiocaBall.imageOverlay(imageBitmap, 0, 50), + ]; + final cup = Cup(Content(fileInfo.path), tapiocaBalls); + await cup.suckUp(location); + Share.shareFiles([location]); + } catch (e) { + saving = false; + final snackBar = SnackBar( + content: Text( + "An error occurred while saving ad try again", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5), + ), + behavior: SnackBarBehavior.floating, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Color(0XFF800000), + duration: Duration( + seconds: 3, + ), + ); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + } + saving = false; + } else { + final snackBar = SnackBar( + content: Text( + "Try sharing after saving is complete", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: SizeConfig.blockSizeHorizontal * 3.5), + ), + behavior: SnackBarBehavior.floating, + margin: + EdgeInsets.only(bottom: MediaQuery.of(context).size.height * 0.80), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + backgroundColor: Colors.grey[800], + duration: Duration( + seconds: 5, + ), + ); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + } + notifyListeners(); + } + + checkRelationship(String id) { + return friends.any((element) => element.userGUID == id); + } + + Future flagPost(Post post, int reportID) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + ReportedContent report = new ReportedContent(); + report.postID = post.postID; + report.publisherID = post.publisherID; + report.report = reportID; + + var register = serverLocation + 'posts/flag-post'; + var client = await http.post(Uri.parse(register), + body: json.encode(report), headers: requestHeaders); + if (client.statusCode == 200) { + blockedContent.add(post.postID); + notifyListeners(); + } + } catch (_) {} + } + + checkBlockedUsers() async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'users/blocked-users'; + var client = await http.get(Uri.parse(register), headers: requestHeaders); + if (client.statusCode == 200) { + var people = jsonDecode(client.body); + blockUserList = List.from( + people.map((model) => TesoUser.fromJSON(model)).toList()); + blockedUsers = blockUserList.map((b) => b.userGUID).toList(); + } + notifyListeners(); + } catch (e) { + print(e); + } + } + + checkBlockedContent() async {} + + Future blockUser(TesoUser user) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'relationships/block'; + var client = await http.post(Uri.parse(register), + body: json.encode(user.userGUID), headers: requestHeaders); + if (client.statusCode == 200) { + blockedUsers.add(user.userGUID); + blockUserList.add(user); + notifyListeners(); + } + } catch (_) {} + } + + Future unblockUser(TesoUser user) async { + try { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String token = prefs.getString("tokensTeso"); + Map requestHeaders = { + 'Content-type': 'application/json', + 'Authorization': token + }; + + var register = serverLocation + 'relationships/unblock'; + var client = await http.post(Uri.parse(register), + body: json.encode(user.userGUID), headers: requestHeaders); + if (client.statusCode == 200) { + blockedUsers.remove(user.userGUID); + blockUserList.remove(user); + notifyListeners(); + } + } catch (_) {} + } +} diff --git a/lib/qr_code_scanner.dart b/lib/qr_code_scanner.dart new file mode 100644 index 0000000..bc2f4d9 --- /dev/null +++ b/lib/qr_code_scanner.dart @@ -0,0 +1,2 @@ +export 'src/qr_code_scanner.dart'; +export 'src/qr_scanner_overlay_shape.dart'; diff --git a/lib/resetpassword.dart b/lib/resetpassword.dart new file mode 100644 index 0000000..87b60a8 --- /dev/null +++ b/lib/resetpassword.dart @@ -0,0 +1,439 @@ +import 'dart:convert'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:teso/Classes/API%20Clasess/ResetClass.dart'; +import 'package:teso/Pages/PageWidgets/Login/validation.dart'; +import 'package:teso/util/consts.dart'; +import 'dart:math' as math; +import 'Pages/PageWidgets/Login/passwordSignUP.dart'; +import 'package:http/http.dart' as http; + +class ResetPassword extends StatefulWidget { + final String resetID; + const ResetPassword({Key key, this.resetID}) : super(key: key); + + @override + _ResetPasswordState createState() => _ResetPasswordState(); +} + +class _ResetPasswordState extends State + with TickerProviderStateMixin { + TextEditingController password = new TextEditingController(); + AnimationController _controller; + Animation _fabScale; + bool eightChars = false; + bool specialChar = false; + bool upperCaseChar = false; + bool lowerCaseChar = false; + bool number = false; + bool changing = false; + + @override + void dispose() { + super.dispose(); + } + + changePassword(context) async { + setState(() { + changing = true; + }); + Map requestHeaders = { + 'Content-type': 'application/json', + }; + var register2 = serverLocation + 'resetpassword/reset'; + ResetClass resetClass = + ResetClass(password: password.text, resetGuid: widget.resetID); + var client1 = await http.post( + Uri.parse(register2), + body: json.encode(resetClass), + headers: requestHeaders, + ); + + if (client1.statusCode == 200) { + await tesoSuccessDialog(context); + setState(() { + changing = false; + }); + Future.delayed(const Duration(seconds: 5), () { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + }); + } else if (client1.statusCode == 400 && client1.body == "expired") { + tesoErrorDialog(context); + } else { + tesoErrorDialog(context); + } + } + + tesoSuccessDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Success", + style: TextStyle(color: Colors.green[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.green[400]), + ), + onPressed: () { + Navigator.of(context).pop(true); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Password changed successfully", + style: TextStyle(color: Colors.green[400]), + ), + ); + }); + } + + tesoErrorDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Error Occurred", + style: TextStyle(color: Colors.red[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.red[400]), + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "An error occurred while changing password, please try again!", + style: TextStyle(color: Colors.red[400]), + ), + ); + }); + } + + tesoExpiredDialog(context) { + showDialog( + context: context, + builder: (BuildContext bc) { + return AlertDialog( + title: Text( + "Link Expired", + style: TextStyle(color: Colors.red[400]), + ), + actions: [ + TextButton( + child: Text( + 'OK', + style: TextStyle(color: Colors.red[400]), + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + //title: Text("Alert Dialog"), + content: Text( + "Password reset link expired, please try again with a new link!", + style: TextStyle(color: Colors.red[400]), + ), + ); + }); + } + + bool _allValid() { + return eightChars && + number && + specialChar && + upperCaseChar && + lowerCaseChar; + } + + @override + void initState() { + super.initState(); + password.addListener(() { + setState(() { + eightChars = password.text.length >= 8; + number = password.text.contains(RegExp(r'\d'), 0); + upperCaseChar = password.text.contains(new RegExp(r'[A-Z]'), 0); + lowerCaseChar = password.text.contains(new RegExp(r'[a-z]'), 0); + specialChar = password.text.isNotEmpty && + !password.text.contains(RegExp(r'^[\w&.-]+$'), 0); + }); + + if (_allValid()) { + _controller.forward(); + } else { + _controller.reverse(); + } + }); + _controller = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + + _fabScale = Tween(begin: 0, end: 1) + .animate(CurvedAnimation(parent: _controller, curve: Curves.bounceOut)); + + _fabScale.addListener(() { + setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + title: Text("Reset your Teso password"), + automaticallyImplyLeading: false, + ), + body: Container( + height: MediaQuery.of(context).size.height * 0.9, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: new Column( + children: [ + Container( + padding: EdgeInsets.all(10), + width: double.infinity, + margin: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.02, + top: MediaQuery.of(context).size.height * 0.02, + ), + child: Center( + child: Text( + "Enter a password with a minimum of 8 characters and the password must have at least an uppercase letter, a lowercase letter, " + + "a digit and a non-alphanumeric character", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.grey, + ), + ), + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: (MediaQuery.of(context).size.width) * 0.01), + child: _validationStack()), + SizedBox( + height: 50, + ), + createPassword(context, password), + SizedBox(height: MediaQuery.of(context).size.height * 0.002), + Visibility( + visible: !changing, + child: Container( + margin: EdgeInsets.only(top: 20), + width: MediaQuery.of(context).size.width * 0.6, + height: 40.0, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + accentMain, + darkAccent, + ], + // stops: [0.1, 0.4, 0.7, 0.8], + ), + boxShadow: [ + BoxShadow( + color: Colors.grey[500], + offset: Offset(0.0, 1.5), + blurRadius: 1.5, + ), + ]), + child: Material( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(25.0), + ), + ), + color: Colors.transparent, + child: InkWell( + onTap: () async { + if (_allValid()) { + await changePassword(context); + } + }, + child: Center( + child: Text( + "Reset Password", + style: TextStyle( + fontSize: 18, + color: Colors.white, + ), + ), + )), + ), + ), + ), + Visibility( + visible: changing, + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + child: Center( + child: CupertinoActivityIndicator( + animating: true, + radius: 15, + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _separator() { + return Container( + height: 1, + decoration: BoxDecoration(color: Colors.blue.withAlpha(100)), + ); + } + + Stack _validationStack() { + return Stack( + alignment: Alignment.bottomLeft, + children: [ + Card( + shape: CircleBorder(), + color: Colors.black12, + child: Container( + height: 150, + width: 150, + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 32.0, left: 10), + child: Transform.rotate( + angle: -math.pi / 20, + child: Icon( + Icons.lock, + color: Colors.pink, + size: 60, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, right: 60), + child: Transform.rotate( + angle: -math.pi / -60, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + elevation: 4, + color: Colors.yellow.shade800, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(8, 8, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + Padding( + padding: const EdgeInsets.fromLTRB(8, 4, 0, 8), + child: Container( + alignment: Alignment.centerLeft, + child: Icon( + Icons.brightness_1, + color: Colors.deepPurple, + )), + ), + ], + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 74), + child: Transform.rotate( + angle: math.pi / -45, + child: Card( + elevation: 6, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5)), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + IntrinsicWidth( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + ValidationItem("8 or more Characters", eightChars), + _separator(), + ValidationItem("1 Special character", specialChar), + _separator(), + ValidationItem("1 Upper case", upperCaseChar), + _separator(), + ValidationItem("1 Lower case", lowerCaseChar), + _separator(), + ValidationItem("1 Number", number) + ], + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Transform.scale( + scale: _fabScale.value, + child: Card( + shape: CircleBorder(), + color: Colors.green, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + Icons.check, + color: Colors.white, + ), + ), + ), + ), + ) + ], + ), + ), + ), + ) + ], + ); + } +} diff --git a/lib/simplewidgets/custom_alert.dart b/lib/simplewidgets/custom_alert.dart new file mode 100644 index 0000000..9adca22 --- /dev/null +++ b/lib/simplewidgets/custom_alert.dart @@ -0,0 +1,82 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; + +// ignore: must_be_immutable +class CustomAlert extends StatelessWidget { + + final Widget child; + + CustomAlert({ + Key key, + @required this.child + }): super(key: key); + + double deviceWidth; + double deviceHeight; + double dialogHeight; + + + @override + Widget build(BuildContext context) { + + Orientation orientation = MediaQuery.of(context).orientation; + Size screenSize = MediaQuery.of(context).size; + + deviceWidth = orientation == Orientation.portrait + ? screenSize.width + : screenSize.height; + deviceHeight = orientation == Orientation.portrait + ? screenSize.height + : screenSize.width; + dialogHeight = deviceHeight * (0.50); + + + return MediaQuery( + data: MediaQueryData(), + child: GestureDetector( +// onTap: ()=>Navigator.pop(context), + child: BackdropFilter( + filter: ImageFilter.blur( + sigmaX: 0.5, + sigmaY: 0.5, + ), + child: Container( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: Stack( + children: [ + Center( + child: Container( + width: deviceWidth*0.9, + child: GestureDetector( + onTap: (){}, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10.0), + topRight: Radius.circular(10.0), + bottomLeft: Radius.circular(10.0), + bottomRight: Radius.circular(10.0), + ), + ), + child: child, + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/src/qr_code_scanner.dart b/lib/src/qr_code_scanner.dart new file mode 100644 index 0000000..fad8126 --- /dev/null +++ b/lib/src/qr_code_scanner.dart @@ -0,0 +1,145 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +typedef QRViewCreatedCallback = void Function(QRViewController); + +class QRView extends StatefulWidget { + const QRView({ + @required Key key, + @required this.onQRViewCreated, + this.overlay, + }) : assert(key != null), + assert(onQRViewCreated != null), + super(key: key); + + final QRViewCreatedCallback onQRViewCreated; + + final ShapeBorder overlay; + + @override + State createState() => _QRViewState(); +} + +class _QRViewState extends State { + @override + Widget build(BuildContext context) { + return Stack( + children: [ + _getPlatformQrView(), + if (widget.overlay != null) + Container( + decoration: ShapeDecoration( + shape: widget.overlay, + ), + ) + else + Container(), + ], + ); + } + + Widget _getPlatformQrView() { + Widget _platformQrView; + switch (defaultTargetPlatform) { + case TargetPlatform.android: + _platformQrView = AndroidView( + viewType: 'net.touchcapture.qr.flutterqr/qrview', + onPlatformViewCreated: _onPlatformViewCreated, + ); + break; + case TargetPlatform.iOS: + _platformQrView = UiKitView( + viewType: 'net.touchcapture.qr.flutterqr/qrview', + onPlatformViewCreated: _onPlatformViewCreated, + creationParams: _CreationParams.fromWidget(0, 0).toMap(), + creationParamsCodec: StandardMessageCodec(), + ); + break; + default: + throw UnsupportedError( + "Trying to use the default webview implementation for $defaultTargetPlatform but there isn't a default one"); + } + return _platformQrView; + } + + void _onPlatformViewCreated(int id) { + if (widget.onQRViewCreated == null) { + return; + } + widget.onQRViewCreated(QRViewController._(id, widget.key)); + } +} + +class _CreationParams { + _CreationParams({this.width, this.height}); + + static _CreationParams fromWidget(double width, double height) { + return _CreationParams( + width: width, + height: height, + ); + } + + final double width; + final double height; + + Map toMap() { + return { + 'width': width, + 'height': height, + }; + } +} + +class QRViewController { + QRViewController._(int id, GlobalKey qrKey) + : _channel = MethodChannel('net.touchcapture.qr.flutterqr/qrview_$id') { + if (defaultTargetPlatform == TargetPlatform.iOS) { + final RenderBox renderBox = qrKey.currentContext.findRenderObject(); + _channel.invokeMethod('setDimensions', + {'width': renderBox.size.width, 'height': renderBox.size.height}); + } + _channel.setMethodCallHandler( + (call) async { + switch (call.method) { + case scanMethodCall: + if (call.arguments != null) { + _scanUpdateController.sink.add(call.arguments.toString()); + } + } + }, + ); + } + + static const scanMethodCall = 'onRecognizeQR'; + + final MethodChannel _channel; + + final StreamController _scanUpdateController = + StreamController(); + + Stream get scannedDataStream => _scanUpdateController.stream; + + void flipCamera() { + _channel.invokeMethod('flipCamera'); + } + + void toggleFlash() { + _channel.invokeMethod('toggleFlash'); + } + + void pauseCamera() { + _channel.invokeMethod('pauseCamera'); + } + + void resumeCamera() { + _channel.invokeMethod('resumeCamera'); + } + + void dispose() { + _scanUpdateController.close(); + } +} diff --git a/lib/src/qr_scanner_overlay_shape.dart b/lib/src/qr_scanner_overlay_shape.dart new file mode 100644 index 0000000..886c533 --- /dev/null +++ b/lib/src/qr_scanner_overlay_shape.dart @@ -0,0 +1,165 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; + +class QrScannerOverlayShape extends ShapeBorder { + QrScannerOverlayShape({ + this.borderColor = Colors.red, + this.borderWidth = 3.0, + this.overlayColor = const Color.fromRGBO(0, 0, 0, 80), + this.borderRadius = 0, + this.borderLength = 40, + this.cutOutSize = 250, + }) : assert( + cutOutSize != null ?? + cutOutSize != null ?? + borderLength <= cutOutSize / 2 + borderWidth * 2, + "Border can't be larger than ${cutOutSize / 2 + borderWidth * 2}"); + + final Color borderColor; + final double borderWidth; + final Color overlayColor; + final double borderRadius; + final double borderLength; + final double cutOutSize; + + @override + EdgeInsetsGeometry get dimensions => const EdgeInsets.all(10); + + @override + Path getInnerPath(Rect rect, {TextDirection textDirection}) { + return Path() + ..fillType = PathFillType.evenOdd + ..addPath(getOuterPath(rect), Offset.zero); + } + + @override + Path getOuterPath(Rect rect, {TextDirection textDirection}) { + Path _getLeftTopPath(Rect rect) { + return Path() + ..moveTo(rect.left, rect.bottom) + ..lineTo(rect.left, rect.top) + ..lineTo(rect.right, rect.top); + } + + return _getLeftTopPath(rect) + ..lineTo( + rect.right, + rect.bottom, + ) + ..lineTo( + rect.left, + rect.bottom, + ) + ..lineTo( + rect.left, + rect.top, + ); + } + + @override + void paint(Canvas canvas, Rect rect, {TextDirection textDirection}) { + final width = rect.width; + final borderWidthSize = width / 2; + final height = rect.height; + final borderOffset = borderWidth / 2; + final _borderLength = borderLength > cutOutSize / 2 + borderWidth * 2 + ? borderWidthSize / 2 + : borderLength; + final _cutOutSize = cutOutSize != null && cutOutSize < width + ? cutOutSize + : width - borderOffset; + + final backgroundPaint = Paint() + ..color = overlayColor + ..style = PaintingStyle.fill; + + final borderPaint = Paint() + ..color = borderColor + ..style = PaintingStyle.stroke + ..strokeWidth = borderWidth; + + final boxPaint = Paint() + ..color = borderColor + ..style = PaintingStyle.fill + ..blendMode = BlendMode.dstOut; + + final cutOutRect = Rect.fromLTWH( + rect.left + width / 2 - _cutOutSize / 2 + borderOffset, + rect.top + height / 2 - _cutOutSize / 2 + borderOffset, + _cutOutSize - borderOffset * 2, + _cutOutSize - borderOffset * 2, + ); + + canvas + ..saveLayer( + rect, + backgroundPaint, + ) + ..drawRect( + rect, + backgroundPaint, + ) + // Draw top right corner + ..drawRRect( + RRect.fromLTRBAndCorners( + cutOutRect.right - _borderLength, + cutOutRect.top, + cutOutRect.right, + cutOutRect.top + _borderLength, + topRight: Radius.circular(borderRadius), + ), + borderPaint, + ) + // Draw top left corner + ..drawRRect( + RRect.fromLTRBAndCorners( + cutOutRect.left, + cutOutRect.top, + cutOutRect.left + _borderLength, + cutOutRect.top + _borderLength, + topLeft: Radius.circular(borderRadius), + ), + borderPaint, + ) + // Draw bottom right corner + ..drawRRect( + RRect.fromLTRBAndCorners( + cutOutRect.right - _borderLength, + cutOutRect.bottom - _borderLength, + cutOutRect.right, + cutOutRect.bottom, + bottomRight: Radius.circular(borderRadius), + ), + borderPaint, + ) + // Draw bottom left corner + ..drawRRect( + RRect.fromLTRBAndCorners( + cutOutRect.left, + cutOutRect.bottom - _borderLength, + cutOutRect.left + _borderLength, + cutOutRect.bottom, + bottomLeft: Radius.circular(borderRadius), + ), + borderPaint, + ) + ..drawRRect( + RRect.fromRectAndRadius( + cutOutRect, + Radius.circular(borderRadius), + ), + boxPaint, + ) + ..restore(); + } + + @override + ShapeBorder scale(double t) { + return QrScannerOverlayShape( + borderColor: borderColor, + borderWidth: borderWidth, + overlayColor: overlayColor, + ); + } +} diff --git a/lib/util/SizeConfig.dart b/lib/util/SizeConfig.dart new file mode 100644 index 0000000..1345b53 --- /dev/null +++ b/lib/util/SizeConfig.dart @@ -0,0 +1,29 @@ +import 'package:flutter/widgets.dart'; + +class SizeConfig { + static MediaQueryData _mediaQueryData; + static double screenWidth; + static double screenHeight; + static double blockSizeHorizontal; + static double blockSizeVertical; + + static double _safeAreaHorizontal; + static double _safeAreaVertical; + static double safeBlockHorizontal; + static double safeBlockVertical; + + void init(BuildContext context) { + _mediaQueryData = MediaQuery.of(context); + screenWidth = _mediaQueryData.size.width; + screenHeight = _mediaQueryData.size.height; + blockSizeHorizontal = screenWidth / 100; + blockSizeVertical = screenHeight / 100; + + _safeAreaHorizontal = + _mediaQueryData.padding.left + _mediaQueryData.padding.right; + _safeAreaVertical = + _mediaQueryData.padding.top + _mediaQueryData.padding.bottom; + safeBlockHorizontal = (screenWidth - _safeAreaHorizontal) / 100; + safeBlockVertical = (screenHeight - _safeAreaVertical) / 100; + } +} diff --git a/lib/util/consts.dart b/lib/util/consts.dart new file mode 100644 index 0000000..a5c62f4 --- /dev/null +++ b/lib/util/consts.dart @@ -0,0 +1,180 @@ +import 'package:flutter/material.dart'; +import 'dart:math'; + +final bisBoxDecorationStyle = BoxDecoration( + color: Color(0x336CA8F1), + borderRadius: BorderRadius.circular(10.0), + boxShadow: [ + BoxShadow( + color: Colors.black12, + blurRadius: 6.0, + offset: Offset(0, 2), + ) + ]); +final accentMain = Color(0xFFfedb65); +final darkAccent = Color(0xFFd29b32); +final tesoGold = Color(0xFFd8b468); +final tesoAsh = Color(0xFF908b8f); +final tesoBlue = Color(0xFF2d4dbc); + +//local +// final serverLocation = "http://172.20.10.3:55555/"; + +//testOnline +final serverLocation = "https://mobile.tesoapp.com/"; +final serverwebPrivacy = "https://tesoapp.com/privacy"; +final serverwebHelp = "https://stream.tesoapp.com/frequentlyasked"; +final serverwebTerms = "https://tesoapp.com/eula"; + +final tesoStreaming = "https://stream.tesoapp.com/"; +final paymentServer = "https://securepayments.tesoapp.com/api/mobile/"; +final tesoStreamMux = "https://stream.mux.com/"; + +String tesoPostThumb(post) { + return "https://image.mux.com/$post/thumbnail.png?time=3"; +} + +String tesoProductThumbnail({String productLogo, int width, int height}) { + if (width == null && height != null) { + return "https://mobile.tesoapp.com/products/$productLogo?height=$height"; + } else if (width != null && height != null) { + return "https://mobile.tesoapp.com/products/$productLogo?width=$width&height=$height"; + } else if (width != null && height == null) { + return "https://mobile.tesoapp.com/products/$productLogo?width=$width"; + } else { + return "https://mobile.tesoapp.com/products/$productLogo"; + } +} + +final dynamiclinkprefix = "https://tesoapp.page.link/?link="; +final dynamiclinktrailing = + "&apn=com.sparentechBacware.teso&ibi=com.tesoapp&imv=1.0.1&isi=1573175173"; +final arkeyAndroid = + "7e64228fef25c8ebd5c126411c7fec3506683a430b1668f22073123586c96c1feab0be9721c8cf3e"; +final arkeyios = + "76a6d2a4be1a00714b76d453ab9b95460828b286d07fa89c18b8a6f49a0ccb0813aa3f23be12e73b"; +final slimAccent = Color(0xFF2e7cce); +final mapsKey = "AIzaSyB3gbhILEzrSCFpxE509PnEb7slCkBfBQI"; +//test mapsKey +// final mapsKey = "AIzaSyCHwkEaC_ddxHtTS2GBIX3lUVuiC9wTO-o"; +final twitterKey = "0UMV5CXhhEqrw2QGHqiKzRkn2"; +final twitterSecret = "204Mkhkz5m3swIGgTl74qi8aIiRbC6Nf0zVkB32of0EXpaYHWe"; +// ignore: non_constant_identifier_names +final your_client_id = "1759156777594606"; +// ignore: non_constant_identifier_names +final your_redirect_url = "https://www.facebook.com/connect/login_success.html"; +final userdpURL = serverLocation + "tesoimages/GetProfilePicture/"; +final productURL = serverLocation + "tesoimages/GetProducts/"; +final businessLogoURL = serverLocation + "tesoimages/GetLogo/"; +//final getVideo = serverLocation + "tesoimages/GetVideo/"; + +class Constants { + //App related strings + static String appName = "TESO"; + //Colors for theme + static Color lightPrimary = Colors.white; + static Color darkPrimary = Color(0xFF303030); + static Color lightAccent = Color(0xFFfea404); + static Color darkAccent = Color(0xFFb90222); + static Color lightBG = Color(0xFFF5F5F5); + static Color darkBG = Color(0xFF212121); + static Color darkAccentBright = Colors.white; + static Color lightAccentBright = Colors.black; + + static ThemeData lightTheme = ThemeData( + fontFamily: "TimesNewRoman", + backgroundColor: lightBG, + primaryColor: lightPrimary, + colorScheme: ColorScheme( + primary: Colors.black, + primaryVariant: const Color(0xff3700B3), + secondary: lightAccent, + secondaryVariant: const Color(0xff03dac6), + surface: const Color(0xff121212), + background: darkAccent, + error: const Color(0xffcf6679), + onPrimary: Colors.black, + onSecondary: Colors.black, + onSurface: Colors.white, + onBackground: Colors.white, + onError: Colors.black, + brightness: Brightness.light, + ), + textSelectionTheme: TextSelectionThemeData( + cursorColor: lightAccent, + selectionColor: const Color(0xff90caf9), + selectionHandleColor: const Color(0xFF303030), + ), + primaryColorDark: darkAccentBright, + primaryColorLight: lightAccentBright, + scaffoldBackgroundColor: lightBG, + appBarTheme: AppBarTheme( + backgroundColor: Colors.white, + elevation: 0, + foregroundColor: Colors.black, + titleTextStyle: TextStyle( + color: Colors.black, + fontFamily: "TimesNewRoman", + fontSize: 20, + fontWeight: FontWeight.w800, + ), + ), + ); + + static ThemeData darkTheme = ThemeData( + fontFamily: "TimesNewRoman", + brightness: Brightness.dark, + backgroundColor: darkBG, + primaryColor: darkPrimary, + colorScheme: ColorScheme( + primary: Colors.white, + primaryVariant: const Color(0xff3700B3), + secondary: darkAccent, + secondaryVariant: const Color(0xff03dac6), + surface: const Color(0xff121212), + background: darkAccent, + error: const Color(0xffcf6679), + onPrimary: Colors.black, + onSecondary: Colors.black, + onSurface: Colors.white, + onBackground: Colors.white, + onError: Colors.black, + brightness: Brightness.dark, + ), + textSelectionTheme: TextSelectionThemeData( + cursorColor: darkAccent, + selectionColor: const Color(0xff64ffda), + selectionHandleColor: const Color(0xff1de9b6), + ), + scaffoldBackgroundColor: darkBG, + primaryColorDark: lightAccentBright, + primaryColorLight: darkAccentBright, + appBarTheme: AppBarTheme( + elevation: 0, + titleTextStyle: TextStyle( + fontFamily: "TimesNewRoman", + color: lightBG, + fontSize: 20, + fontWeight: FontWeight.w800, + ), + ), + ); + + static List map(List list, Function handler) { + List result = []; + for (var i = 0; i < list.length; i++) { + result.add(handler(i, list[i])); + } + + return result; + } + + static formatBytes(bytes, decimals) { + if (bytes == 0) return 0.0; + var k = 1024, + dm = decimals <= 0 ? 0 : decimals, + sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], + i = (log(bytes) / log(k)).floor(); + return (((bytes / pow(k, i)).toStringAsFixed(dm)) + ' ' + sizes[i]); + } +} diff --git a/oldupload.txt b/oldupload.txt new file mode 100644 index 0000000..a9a4eae --- /dev/null +++ b/oldupload.txt @@ -0,0 +1,33 @@ +// prefs = await SharedPreferences.getInstance(); + // String token = prefs.getString("tokensTeso"); + // Map requestHeaders = { + // 'Content-type': 'application/json', + // 'Authorization': token + // }; + // String url = serverLocation + "posts/upload-post"; + // var request = http.MultipartRequest('POST', Uri.parse(url)) + // ..headers['Authorization'] = token + // ..fields["title"] = controller.text + // ..fields["aspect"] = aspectRatio + // ..fields["thumbnail"] = + // widget.thumbnail != null ? base64Encode(widget.thumbnail) : null + // ..files.add(await http.MultipartFile.fromPath( + // 'video', widget.video.replaceAll("file://", ""))); + // var res = await request.send(); + + // var response = await dio.Dio().post( + // url, + // data: formData, + // options: dio.Options(headers: requestHeaders), + // onSendProgress: (int sent, int total) { + // print('here : $sent $total'); + // }, + // ); + // if (res.statusCode == 200) { + // var response = await http.Response.fromStream(res); + // Map handler = jsonDecode(response.body); + // PostedAd postedAd = PostedAd.fromJSON(handler); + // Provider.of(context, listen: false) + // .updatePosted(postedAd); + // Navigator.pop(context); + // } else {} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..4177025 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,204 @@ +name: teso +description: Teso Ghana + +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev +version: 1.0.3+43 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + better_player: ^0.0.79 + bloc: ^7.2.1 + cached_network_image: ^3.1.0+1 + camera: ^0.9.4+3 + circular_countdown_timer: ^0.2.0 + cloud_firestore: ^3.1.0 + connectivity: ^3.0.6 + country_list_pick: ^1.0.1+5 + cupertino_icons: ^1.0.4 + dio: ^4.0.1 + equatable: ^2.0.3 + firebase_analytics: ^8.3.4 + firebase_auth: ^3.2.0 + firebase_core: ^1.10.0 + firebase_crashlytics: ^2.3.0 + firebase_dynamic_links: ^3.0.1 + firebase_messaging: ^11.1.0 + flare_flutter: ^3.0.2 + flutter: + sdk: flutter + flutter_bloc: ^7.3.2 + flutter_cache_manager: ^3.1.3 + flutter_countdown_timer: ^4.1.0 + flutter_datetime_picker: ^1.5.1 + flutter_inappwebview: ^5.3.2 + flutter_launcher_icons: ^0.9.2 + flutter_libphonenumber: ^1.2.1 + flutter_local_notifications: ^9.0.2 + flutter_polyline_points: ^1.0.0 + flutter_qrcode_scanner: ^0.0.7 + flutter_shapes: ^0.3.0 + flutter_staggered_grid_view: ^0.4.1 + flutter_upchunk: ^1.1.0 + flutter_webview_plugin: ^0.4.0 + geolocator: ^7.7.1 + get_it: ^7.2.0 + google_maps_flutter: ^2.1.0 + google_ml_vision: ^0.0.7 + google_sign_in: ^5.2.1 + http: ^0.13.4 + image_cropper: ^1.4.1 + image_gallery_saver: ^1.7.1 + image_picker: ^0.8.4+4 + inview_notifier_list: ^2.0.0 + intl_phone_number_input: ^0.7.0+2 + jiffy: ^4.1.0 + loading_indicator: ^3.0.2 + location: ^4.3.0 + no_context_navigation: ^2.1.2 + numeral: ^1.2.5 + page_transition: ^2.0.4 + path: ^1.8.0 + path_provider: ^2.0.6 + pedantic: ^1.11.1 + percent_indicator: ^3.4.0 + permission_handler: ^8.2.6 + progress_indicators: ^1.0.0 + provider: ^6.0.1 + pull_to_refresh: ^2.0.0 + rxdart: ^0.27.2 + share_plus: ^3.0.4 + shared_preferences: ^2.0.8 + sign_in_with_apple: ^3.0.0 + crypto: ^3.0.1 + tapioca: ^1.0.5+1 + time_elapsed: ^0.2.6 + url_launcher: ^6.0.12 + video_player: ^2.2.6 + video_thumbnail: ^0.4.3 + video_trimmer: ^0.6.0 + webview_flutter: ^2.3.0 + +flutter_icons: + image_path: "assets/images/tesoCouponInsignia.png" + android: true + ios: true + + dev_dependencies: null + flutter_test: + sdk: flutter + +flutter: + + uses-material-design: true + assets: + - assets/lovw.gif + - assets/styles/light.txt + - assets/styles/dark.txt + - assets/images/color-filters.png + - assets/images/tesoDP/dp1.png + - assets/images/driving_pin.png + - assets/images/destination_map_marker.png + - assets/images/gold1.png + - assets/images/silver1.png + - assets/images/blue.png + - assets/images/wallet.png + - assets/images/refer.png + - assets/images/red.png + - assets/images/redBack.png + - assets/images/grey.png + - assets/images/firstTime.png + - assets/images/blank.jpg + - assets/images/tesoCouponInsignia.png + - assets/images/rawLogo.png + - assets/images/rawLogoOverlay.png + - assets/images/loading.png + - assets/images/empty.png + - assets/images/prominent-disclosure.jpg + - assets/images/google.png + - assets/images/twitter.png + - assets/images/facebook.png + - assets/images/facebook_new.png + - assets/images/MTN.png + - assets/images/Vodafone.png + - assets/images/AirtelTigo.png + - assets/images/background.png + - assets/images/cashOut.png + - assets/images/payGold.png + - assets/images/store.png + - assets/images/silverAnimated.png + - assets/images/emptyBox.png + - assets/images/categories/agrix.png + - assets/images/categories/antique2.png + - assets/images/categories/autos.png + - assets/images/categories/bags.png + - assets/images/categories/clothes.png + - assets/images/categories/electronics.png + - assets/images/categories/food.png + - assets/images/categories/gifts.png + - assets/images/categories/health.png + - assets/images/categories/home.png + - assets/images/categories/machinery.png + - assets/images/categories/pets.png + + fonts: + - family: WickedGrit + fonts: + - asset: fonts/WickedGrit.ttf + - family: DeadheadScript + fonts: + - asset: fonts/Deadhead_Script.ttf + - family: Locanita + fonts: + - asset: fonts/Locanita.ttf + - family: Billabong + fonts: + - asset: fonts/Billabong.ttf + - family: AlexBrush + fonts: + - asset: fonts/AlexBrush-Regular.ttf + - family: Allura + fonts: + - asset: fonts/Allura-Regular.otf + - family: Arizonia + fonts: + - asset: fonts/Arizonia-Regular.ttf + - family: ChunkFive + fonts: + - asset: fonts/ChunkFive-Regular.otf + - family: GrandHotel + fonts: + - asset: fonts/GrandHotel-Regular.otf + - family: GreatVibes + fonts: + - asset: fonts/GreatVibes-Regular.otf + - family: Lobster + fonts: + - asset: fonts/Lobster_1.3.otf + - family: OpenSans + fonts: + - asset: fonts/OpenSans-Regular.ttf + - family: OstrichSans + fonts: + - asset: fonts/OstrichSans-Medium.otf + - family: Oswald + fonts: + - asset: fonts/Oswald-Regular.ttf + - family: Pacifico + fonts: + - asset: fonts/Pacifico.ttf + - family: Quicksand + fonts: + - asset: fonts/Quicksand-Regular.otf + - family: Roboto + fonts: + - asset: fonts/Roboto-Regular.ttf + - family: SEASRN + fonts: + - asset: fonts/SEASRN.ttf + - family: Windsong + fonts: + - asset: fonts/Windsong.ttf diff --git a/teso.iml b/teso.iml new file mode 100644 index 0000000..e5c8371 --- /dev/null +++ b/teso.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000..14f51d7 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +// import 'package:flutter/material.dart'; +// import 'package:flutter_test/flutter_test.dart'; + +// import 'package:teso/main.dart'; + +// void main() { +// testWidgets('Counter increments smoke test', (WidgetTester tester) async { +// // Build our app and trigger a frame. +// await tester.pumpWidget(MyApp()); + +// // Verify that our counter starts at 0. +// expect(find.text('0'), findsOneWidget); +// expect(find.text('1'), findsNothing); + +// // Tap the '+' icon and trigger a frame. +// await tester.tap(find.byIcon(Icons.add)); +// await tester.pump(); + +// // Verify that our counter has incremented. +// expect(find.text('0'), findsNothing); +// expect(find.text('1'), findsOneWidget); +// }); +//}

h``zDxJ ztB%|~Yxu>?A^OOXx(C((#Ad`5&!Mc2Hl)Q{ixy_!oPeJ9M(lax5A?&!xwAO?f#1V; z?RDV2UaeFHVCyv6Uwjya&O_Onx`c8*#&xo9a(bf^-*~i@f{I7iy+&QDpndL>;LQUl zH@?*J^qx~M`wxQ7p2N6VY4q z7be2AR<7q!a8FD4>zP5sXewB30X&32&OG~wbBD2CO#&{q`5ne5~1R`^2nP<6PWk{EyZ8U z<}pUC@W#NsM2U&fCc$c{*c{E66JSkB5M@%*o3V%wVlO4a_2!924SkffnaVo6Ll4oG z$ep_(V9V7<5;j8DwK8N9$Yh3Nyy}L>FQPQa(Fd^erO);s5dpmKAj+YeFm26-$+Hoj z6L!_M{~Nm(-|N1C?#VY5piZCz6VCni&ttmd&)43IfMLYuTYef?0gx!U(>{)Ns0Fo{ zce`3m5Ya9KEDV&&sGEec>jKXI-mhT$PyeHJsv`izpkc(WfABVx#g$;Krsh^_OPKH3%w6@j@7IGCb)?}VY%yR5-12eOY0fmq*)l)byY((6}-*Xw)dYK!?=V_EKjd8 zhxEzM%EH!+TJ4LMU7SUL4R~SpR<8tY(ecjCKf?TNWt)c0#RysfyRN%&UO-hqCeV?4 zuyf~Ux={f$_|j*g-taQ;(n8?oOV15&BBUGn?&98UapiyH`lIBG7@&oqUb2nTzxI=M zm1?19A_iT05cQ@v0Ou!6ldbtURNu_Z3E^ncGOYw{(muVesi5vA41640@BQake*UBA zwPqq%-1t%~u743&s|`FUCVaFW`DPGBZ0cJnwjqk^D6j!LbCtpW%ig;O-Ig9_eZTH^ zt-ZfY!Zt*CKRSfC~!HZOaiHJsemoHDplNKjFUkdSOkquXdSniCGd zsI`W3o~A}oXET;4v*@bZ--pKZvdlP?aNKPjdNYo)lmJB6p+mJx5fcbj4{!z%1yZlt({$Vr3mY ze*?oyUXwmIZCrz z5!L$S$Ntry{d|325B9}l2Zw&J&&l5PUElJSf?n%pMY7Fl7=k2Lbe-t6jOzr%g;U$u zuvJ$lHI#rUdv9@MDLJoOf~eLv=k5%9Ryq{HYK!9tjH1zchDQ&x!%*V<#<9ex&6AmQ zlBnXiQNP7KS;#@kvkt@e_BTAFQFVoR$?UH8Aop&n-it5h`1Uk%-OY4D95`l`D^Grk z{g+Z8OGbU@wXRWSY3 z59BFi6d=m>rWY^jZk|JR>fC5^W1cJ&{zxc0`3}MAH#TEP=Bk2T<=98xjXm~264>I3 zk6!cDFkBtvGGbh9cWg&T!wZJ&j6>?_tD~7&&vOG0&crxqX4bxFv@h+47P$KwH+6-= z2r6R`Ob+&OP&Mk@>*^sPJPsPlewLaF*^*dNH$D{a;&~rOMe_NGjta{mGkro|a6vW& zI2N<_tr$3b}>k=fW$>4SpC%NY|3k6yB=UhSe6e@UChm z>-+XQPuO;qoQ2qoce|Rk&SXtnC(-o+b)T-LY=)dQo>}==Vj#$v{ljoVc9xYa2btk# zi&?FfEP7`+b1i!An#G?xj#}lYKF`QS?4$2r7g>aI?s`t&@k+)MMUS5V7oiVm1Z9a%)!ZVSi9HD=VO112-yVN?pblw`umo*3@3 z004pLY&XHoS0dYwkCGF@K)z(df-#J75#zwpBH4+JW)Y}N`+&!l3?P^D6Q<#GIt61=Gz@B~*22d_x_kAE&IC%rt+=$%yC0KSM zcWKgWCRoH+diK2;l+94G)r_Sc8)HeMY~f~$6z<7m#Q_y_7>1JF1xDB7@8y%t*yqNx zpaG@C{TqgiXav+IIKI^T&NA?TGw04S?b|{cwC2>gF^;-q#_{?Hv_yqz4vxg2LT#zf zyNu=4@Ue7 zhzW7J${lw;MC)4hni)Gw5ULU!jIrpVXTQ|khs^pL%ys_KpZjay`m)dV`+2Z~9US_> zK5KjE1ONOxRppj~i)aX(b!WLLojyeppSr}VaOzZMe5!1>x9F=vruHR6 z>Q1~nns~h}*;UM`j`!8-^f~66%r;}NvyE7VVaI3U>cv3m72Z0>#q!?V3`dE|AMi_fqbNVqs0bw^zKar>k<9J~oW zgJfwW`mR%3z(I~qWl@`~l{qyo9JJOkV(V9Lu$dkox)tBX{bJXj6Iob^2z&b?TM{!#AEDxE1xQF-*q&%vx5Nh9mt$NlG1NvTxX}Z*_ zr8^N;C*I-qsFkv0a;>#gp9@k|XtY?u?FQZ%MZhQf-FyGsuA< zu&~W>@X4WE57SxdC7~UMC`@ssUWQ@6VSLlKto8GNGH6ddlBBwtjPr2r-N|*QUI4Ly zGF*$=)v!}+@3gt0F8I#TGdH1UuU&@1APV!0m?dm(xdefDsKk0NV|VF2@2L>DAR(RY zzRso}lq96-5-bks>4%c@>$4QmOEV=2m7O`?ti>~CUG}xt%yoIDyMwlrfYsjDZX{P^ zoi4b^8odQ{9_WZ0A_3nA#NKDCM@>IamH4bp5w&S|f9Ag5`_td?rn8@yFY&>? z;O*eh5B6EvrN^&)+jg_LMcviir7OLK6Hez@EvJ69$izh0j#-}`gd*AEmD!v^Zn}X- zM(tOEJ)WX1MSES+76MdcVFmAf;w@m&k`B2@ckGc7%~QjhEn*>Y+*AbX!(?EAlp|xb zwYR%7np@Ou`@oL%+`5dZu-%m0z*Ajp4{}@YLC>_ZRe0tzY&MRThFyAw_R;sTdUQdq zy_MniS2B9Z8ndLsSry@WZ*@2gL3hsZO@9ITroRYhz6{x2hg{wwmq)mK4M(s4z35kc zBWp3=!5aR+FTyruPA#DD{`(GZt0b9mILGj&Z)1GRccEuqP1#?|xI2Yh-r`qoK)>>j zpm)CfQvNSj1?xEw%NiheSIf ziCiosI?e1~)={mUBo|0g|9zBqdN5(tqBSvt%Ode?p4vo>f5?*1W(XJ^;`)Z(@!%1l z2H9^VOO^~|h7v^1LE^ixNs?TCUcv0lWqJ0lBMF+VjY#KLl_1COVL;*WQHQ`3l+x zf+^qYup%*BBv%#pAp5B(Rs}X!Gycv$3}5{Ru%G^aneY91Y?>Kf{U-GHe|tK0Y0KfpfzK4hLb{o1c*_`2VZ zTzlhsy&~BCA4aDu=r%rc&>)qS68G$At5^~gI}y@*n_)U}hipHLdlMorvZ$}sJ{+eL zI2O9XT3%_*lT#oWOca_Kl)T@AMxDQt?Fgm5IZ2kg$t; zRYYjndTAbks+plhgD9$kOFZxKJY{Xe;AlJ8lOO%Sw|(OKzw`TE`ltVw!&udW{i=3w z=m-1v+V05@eZ!fvN4MF2r=1B5LF#F(QGA7j11$}Qa5M-^g^&NMx6TDlK9AlF)F^nw>QptaC#(GAZ{Mz%gt)hpD$ZC6wOF z0P;d6`H*!{&j3TS*4+E&7sh<2m^Z`AfZTNFiPa3qou?i`HZW`ijxS*Me-LjqrCCAF zo@2Q4<@nJx`1~~GD74T|lG;3lXF4=qyim#r2y)w9lyChDzoNFY1GI+yvmZvLr|@$* znJm!=RI|0ubD&BP)wE5pI|euO&X=GfilD0Jm&QQQB$e7nED^J60t&dCA+U-R4uEg_WUFanwnv;*XRuwT{ut#8!}AAA2Frp|Y43MeK8XH+O+ zY)=q{RD|uQY>PmH?Eu>`vX;$|qeyc=N0Ht?9S(jdIpr*2`OPRR>5CK4yW65TR#fmg zhI5QV!mbH(!b*gS8l^BMTYS(}Vz!gmdM&hPt|y^+@t!Gy=Q;KMccE*yufc%!`l^GT zI?r&;^(>y)!=dZb55=5w1(6A!xF3J!2^LQ$f?snpTz5AzIn8>z)2gxFud!cuMX)lk zc)niF@Ksc$6X9qTfA|ylkN>a8+4cP66uXXnI`MQ^!&m~cu2WFBmR1Hw+?I7;8G(*H z@&N4vZ^yV0Y;jA;)`YlwC=h{S_LdXyyXeZ(=)yulxXkHyUBJboyfJ9#2P`d=dH*&; zPUe$7dNrLe@jPzE9K>Rt?Pa9GT-Lg?^dn?1em*msQKI&)U1~Nm`Jcc_V84PL9Qwh2ReR6$o>$6z z>17+WZ4nqGoq0NSB{T6s7%>LvBskcNPM#esBkgp2CoZs{s zqr#|t!kA>+52(YSzHGEHb*$I6S%^s8$0;ntx?xxu(=l1BE#fIBox(7zoA!{-t=HWn zL(D8tyQ*30hR+SX>Uy~9>eZ>bgH`Og$Ivlb1Jv;=&tmueV*0nhi}i-v;kGZK?Ss8; z77YIGnEJ8YBa7CJAZ-r|V_sM$wRCgh_n-PO?f?2N?D_k#t$^4<r=A(E zj_fbOSd$kcBpW4B&Z2T8|7#dt$@MDNari@JdP?166Ceb zkUwj0J?nw3=ilS|QZPn|&)AO6An_U7A$}jvc|PA5qYB$16pU?gMm6=z&%fs9{=)Bg z<>%*HeXuW7J3#IS`&Dgv>=XahW+*RquOiYx=_EHvD4`A|v+PmX6qxqTw!o<|7{deM zWW^(+>tjXZvyy4vqW-Pv@VhCQh3W~h6qO{WIRk>0B;#fBDH2&;DN$b@hZtzm=dWW4 z&1crv+3tNnYQILwjXFilBAZT!)UdV9$WH_iBG&e*SI}{T zNyCdH?K%8YAAqm;M!e18Ag{Uxz5QAK1k3T?t=l?@{|Bq0PF0ZxuAwQgSz8Wy~IO@u4kbvDwQCw}w#uu2q zbOKwr_86pMeOcn)$N;Ls2DE80i@>VJ9bqyOs1-dJotKjf4x%`uam5lzCMMN=RoH`&b@LB;6fJ-XI) zIKO~e`&6r5U6wVYfl^Aeb8R%8 zLpXihlLVJq?nL&u%qJlTai}FJD}xhVN4NG7nv$EkZovI{=6C%aSkm=MYy02Pkj_WU1+vL2g&Jf@%f$w5zM|7f+Hm?c1bt|p-};d`@K z-+q6a1;XG85a(E8g3O6&aPc11AiKraBbfZwpXDOxn9ocJWM$M`2l3!kh%=5b)&86b z)vf4-N50|1-}eXa{F49fhadcp{oOyYbWz1oLw5?gTw#8?45}aoHS#KHZ?MRWirE-}Fh9Pri z)MJXQNDmrfPGac8-ql5`6>M3qloUYQ@|zyp*lG-3wnC}oSqH$wd~n?FTvyBHOX+B zj^xKV)z-6o%{9ordh`0o*eXcZ#1^`=Y9=W`kkUR{HJ!=`Wz=Q3$B-Lz zpY7c@{H5<%m3HjNQ6K=|i!%XMy>Mlzj|;#Ygg9TI*DM=!G=Y_|y+Fz?>@PdxRf?D_ zgI|ULYOU#HV!fA&y(`QC;c7ZD^A^WTuPU94hAaXzrG+!Gl36<%igf$9PQxi%#e)gP zFcg|K>#2C}= z^-C&!4TDf?)b49FwB&}H%w-)|vM3RufCJK<(U<}(YRFcRqY%M4 zIrddVkWr8-$l%Fb3?{t}L;%o-;PhGJOYlNK;2LYMLpaF9N|yfz*cXKz9QwijEpvBy;5)AW z-KR>u8v<&F*r3K7fD&2lN{VwOYT8G@Hn;f1QcGu9v2Mocw-FDAR0fHS*fR^tnzqX7 zU{^AgFu2k-4x>kJdj=aJ+Zpc}$8?A!H>`l|9o<6NDC#Hrx~0RpLE3XjIoJI60u22; z!etd$2zV-4GfhaI; z(crfUWQ@#~PD0E8O~mmQ&Rq%6CZ3O#0WZm5@9$r^lleIvDUm=&49C>+{wsLa!Zlu` z5(gSeINs=w7etJ4TvY^@(nfd8{m&tYevJ??(lI0k653e;U+>RWMn~?>b`a_@(PQ6l zYtPaXov=Js%wb0`+{CVyr|$cs931+={vCF3=m-0^?1{he<}W?+cuJ?D#=nL$dQtT`H*nQdXw4cZx*g7(<8?KI# z-$rKCWlMYSaRds(AovE#7=cMSL9FUE^G8Z$uEmiZ(6Z#(la*!&EBQou4KmDL>rcd9FDkg-U1E`YZ{2XvDG*$_dA zCM&VE>kt$L{@R5r0`YAeT(Ka&uZU;OOu5 ztcyd#LM$Z#;ggPAwP)9z!~~Ev*g=p@cOco$HY6;q(DgLpEwN!65d@S`*LtXijOLoV zMrQ6cN&tNb2b;|HG&k5d71Eup&awv|{nN&tp~rQLBr}?|2HcuQRy+ziI=&&uS?Za+ zD>i4Z6NXFA;v!=eKr2`XzV-ht<%gan_MZc~k8Bim*hI7?9_nL5@4HJ>C3p`l6zN!d z@Y%?c&0{Of9Pm6Hc#dUJi7b87gN^=htl+Wqouv`GOt$`+Ig(B@$_yQ`=_~?Y80V@9 z`EMdX>YrJBRV$<))&p|ypuZDAhh`8K(7Ggpy+2HWSk#(|Z3g8i+s(E@oh@hG3u>Ok zwfM8M=|$5q=X0k^umWmpuo=((s$p*iWh2ymc5##_73rV|$~3o7Qq1~=DwrnDqJGov z;gA0b;NZ{?_5wRN^n<;?F8%#KaZ~+;AAFtL{+gaqcE7SHh^eG}r7v}6np3u+o@MR} zd5&a#7Y)Ljd%D}6RVS>dn-iJ4EN>0x-LtO#djlC9*~YQU*qx0pka%*RB3q5rGB*A( zPz1ARjp`l3qS>q7N4e62knEq}!W!qHNAxaPuWIS_=0VP9bjh>D# zuS--=kHAEaI_$sJ`FrW13)x7ru$MNwLDoKROX3!`j9(QJaxR_m7fwk>!6lrL`8t_w z37}jukV?m02v+?-a0>D~WyvIcX(3dL>nQ@J5v=H`HCr{yV2hPkv1ITP>tE7)%a#lb z);dX_#wYo(#AG!~8CVIVB$$N@f>5&OJx@EwoI*)tMRwq7Y)(Z9N3$HTpb3(QM=xh+ za@4crvi8U)fioAg6Y@BLJdHKiPeV|q2eqa3cF;9b?=1S}^BKSLe&gMFdf!J!}Q1y(-tQ@_(`Uy69_$r78n)3d6`CPae#RWggPJ?QBZ3Twhr8(bLL zthsZCSwrtK`p=QR@5=gqjTze~GjrQJ<+LE1WWndS$u%H|z@ufqwrC7gkz_kt2{?Ua zI>+ZnPx0zBBb!>GS%&z-+|wztu-wDx5!qC(nQTB#N%lY`IZbkSOCJVPQp>!>IeGR! zGj`^EEXo3t7 z)D8~)V2k-rzx8PMkN(=%j55DiM!|9E*|8=;ZElt$C{spL!Eo9xv zie#O$!^f4#@HV+=3uwZrJ;U;>BFl-aU1y05HZ!Z0kFCfJCCDa3c%C;Y!q$M~h=PsAcd_;$G5v?O7I9cJ@y# z!4XBECc2Qd^;QMPK(m^mMBT0CCD;$%&Ji~F*wJo<$Vdq?HZ0;2UbYC z4{LECTLR+~;{k~HC+SP#$VP&W}|d5aQ? zBx>Pv-uEHTAj<)s=OG#4_LfRa0(Cf+Am;V5fk>hjdFzYdjV!E)lo)k*zFm0i_xL;i z{NI*u_^Z$Vhko}D_Jv^whkmfd>c9AruPsHsOlBLqlPKz$rDwL>Ynut-q7KL4IUL2a zrrRB~^z+nRGopZmaJ>(&RQb;xz%-I2h2S5o#rNKmUy}Ln7UWDN zvUl%DR$nMfJ^UVMcyBFa5iROa`!KBU0g|th#Kt63_BcgoFR^$0?LQ9u&0oXU{a{~! zc5vtiTg;xi|7(=#xq!SLvS+PxQ>b-TW2PVD8+AQ(n z?0t7j=Qu=}Au;th<&yKOGeg(x(HDR@$Yg9XB1uQbAZYhIdF+5@3*K7vY>PxYnWaOG zbThJDU9&~8V z*C)n_`hN7@N1Y@fYr8@OIAoAiTV%@HNcB}SRc+C~?j*6T1!>QFZ@TIU2c8-C5)JzL zyi9rj^ZLXck&^FCB*5ZcMmrp^Rs50%|3Uln7tfogbJmh;TOC(jp6Qbl>O9xQdw=|r zsdwZE1PxBXa}BwQ;OIkcq+DENSOt8V(K7`;TjMp7tzAB5MA2Ut=_`0chaooCgt$9oNvR>W(u<#&PRmdd3e6IA7Ck-5eG1Uu z*GX|Au@-JCS!~d74mfTNFCfE^SzB8rps-xdyop~RnkB8jB)CTjRd z=fpc+6gDj~($d!{gPo#i62(Ggr={~UbSUVlIT-m%a0HM+g&8t-=-jf_+~dfiZ# zdUiy5p<&NSBAR>Ww;@Lr#)M>4ks%3+3B_~?THOYEu)q-Fxt^LI9c!nesWfOv$yxGC z4;WAyvW*6IX>nf{5g%Wf>!?z)eytmaI^&zNJS(Cl`2}r37Th~yKLfeJV2Zi9eo|~9 zMQkLWWt-d59;n$5Xcvx=vA__$7E+?Oy^JApzi z!fxTTe)`Oj?=RCGspO=tUT^Ifp(iQKg(Rkdj6-fTvS!YmB&CK7!|Ev0Np;el_e?1r zw8Rvc{P!r7d$V9acVUwx!s$5DYNZS%oKD%q#&7SG;e^(go$o#lbN|$Ecb1 z*rQLAlkSjMq9aj-GUF-%8MjK8zFST!ym2VQxySn9@j5N}`KgCqTdb4X8hB{J&SWM$ zwEX-N1hv4Km)dVG3UO9nS0Kt=Puy4IDB9&t<_N1-IF z9utFbTCYXq`%;nSWT2Mq6&<;WH4$vCk%^Cz^K}Ew=+M2-Q$~H7*?x!J8(KzWG+g>v zxIjl1u^qBCF?!+fX6g8ya%v0P{Jx1qyIhU+H+t|!KF>3VU?vh8yazj2*ukM6EUd9H zDPv?hy4FKAG9Xb|oO$2GT5G{TcgLHdn+-Nicx^H3+Y%Pn63}WFiGfr;$zJpB1%RIU ztnEqNb9vS>djU70)_Kn1E}4}fCnQuOvs}DiwqtdL7q{FnYYp~tX4;FRB@XZ2;x92x zB%sf(`qqPkR{NHV%{4V-qb17`+I~WZF|)fYFNlD*@b5i)R6&|Y;1XAmF!#C!=|-0z zWU1dvtXaVKwp^cQi2w(h(cBQpYi~8m8!pSe4UnScXGSpP&4K{g*QU>y*QAv@0SCuP z#rs8&B;;8$w8Z#Wfmj~`1=2DAzDS(nj2PPinW zwLCX^u|1v{H(QX7R@;gDXTb$=iFM#lX1XXOG0AWTk zI&&GY{XSsOp=9>cvaTB0tj}%9IK5f0e66>r#fInUulu%%=t2mRvEbG4Wq?P)YKx3G zmC3Bm=r{zIERPoue2WdWHbnYhkna3>!NyM3L7hC$eojG8UuvSgL_lp(`|UMY59Yrc zOJE`fwx20OsI2(1K91MSWK{zaZ@!SCdac^#y3}%)Kr5Xs&9L2!ZpWoJnsn~{uhbUI zvDz{qs|h0$?R;Jra^F(LC8N)T5YC6;GI}|65*CJc)RgpOVUT*1uR5;p> zGKl0kb=W@T2P0^U05_12ESF?Spa%&$mRJk3^)}?%_WpEHjr-o8y?o|9pM0-1NuOk3 zV{4F`ToXj4l<|(WUqt!J$_?e=|YZJ(0nFo)uX&xVjFK(z&qb}ag!y~U>Pk?o3W zK*?x2$D|l%CK(Qi%$|J7+NJk}Cv87|ZcG0;Qu6Kb`aV~jInSdENM@Ot#>Pgkxsi{< znla7|YG$e>>*pCvEjikWS*FtK_kfzj)H6*;xg{~nsNm=(Ln~d{}W49gyML=ea6JZ1p2#1VA-d3g67QNj49%q2E1bVFn zlwK|B>)okVOV)YT^RqnRX3G&H%TJDfK9|sv6qnDPlhahl^$ygo+}*&+FU8U>?IoO2&8sn z=b9Y$@PjROco+^AW^*x@5*uEFQesndpl0uvXPN#`3MFQufzuq7+%tmy#0ifA+t}%=6%BT3DJAP#i|Pt zO{?MidA&E@0TaQzCdp7&u7U{c=LkxYc~2_|!CON6`B}5$Hm?DRMd!0doZLhWvgNQ})5 zvl$sQc^YMbqnDvK$%&wWShS(BPf}b*63DxH{gYPZweoy$#9&Zp2qsuj&h(T+g=AWz!3hkn|?aGJAw^rFA-X+iv+Bc66k|M=&D<#O4`AnT0AQQZjK$dKdAWVl6dzwAWxmIKa+yHde;7uLVq5ve#%`lU|qY zwc7^dkPS~bpo_Rf=4rX14%nQ8vLy1+-;+eQUS8}ZDs`nzEiyyGELH$wa8${u0t9bvXU9S6W=^{TxvMIxyJQb=()#4vwFgT z6O3pr!B{uLELr*@NCP{r=$Pzl)%?B2@8(^w%IOXwGw!`1n<2OdLk1Dmfc;Vl2*)=q z*Nb~7+gV#6?1j)4cOlkTz}tLcy&7#dqa^|_rYY`^`T8K#hPQ?_qYR0%P?5>Pi8W8I zLvjF;kO|~uwzeQX;e?@CU7cnpm5F5Q+q%90O!*8?ExHt}-?%PXY}s2L!HRk3B!D)8 zI}zhflThjTY|Bb|YmuUdB3}fc%!YVJ9TMSK<_dI#B?8A)?qg@Aun*Tm3 zMv|8j5+w(3gh)yd^kQ_D;Cn+_OKowF9`I(Xs7sa_tX3A{*g|p(N1z?TUwYIWn6u^~ z%jj7bL8j0R$JP>oSS)lP?=jgeh;E6JDEI`D*|hEVOD#J;7;r30CJ`ir!}K}Z^OnAB zUWg*#Ypqzov%VsGha;iw_9xWhh)h50#E`xJ4Xn-KAgd!*VgzfeiCox{okKj6nvUFC z27+@){YH>t!MZP+#Jj8}6icpI299PhHRLD|prz3wUw^XoOgxBwy@u{{1f15zhcfVU z3+8?hDZ4V9EQ8;z8ETq=KrgVznsyy}mmub8ub;b%H9t7?gDrM&=m!fMBK2_h7~D}b zU|`F3BX_(H?f|SBx)}o2)Bnufd-a(rh!(wTAD5v2N2Gwd-uv>(}a?#3osz@9mbQKSAltTU~-avV&oD!?6ZM zyFiaF#Jj9@oFM*1%Nr6yUDQ1$%^vJvX$OaXu&`rjb3-iZz0&7`rX=Z-k*A3WHdVw0 zn`VZq#&Cv%;?ul1A5X|u%qh}Gh(>MQY7KpD$W1vm{{=CHV2cCR&#AU0Lvb~+WtbsO9!zq^0mN}8E&tWXZ9BzS}WPg=76zjnb{v# zW-5bk7l&c{DIsDHK0zEjHt^aob8O!zl8`~xt9v;?ddpIWVv~I?Jzz+T+^c~n+gw)d z038Z8O_XuKJV|47Fv<03TqH(27a}Sp=^4!el6Qg)zN;Z8%dij=t+($jFtcV51U3bF zA;%3r9iJD1I)pl&u=d`k(2wnFJS#?aQ;bk8AC);d9?(b32234@hW21)UlAR_CEMH* zc&MIT2ocEHzAjleQ$uQtb1@}U}SO~y}9|&#ZE|8b@UMv<4w(C5Xdk@y%5lW$h3NWUXs} zH8yJr5|!A|lD*e?qKso^QHiOqWNQ2abk&m!x%4|I9%bL$YAT)wa zoq64e=`$JxxO7080hA|^Plh4e3~HEO&!TawOn#_FCjXODmBofx(v5DOVnXw$^7*#PIc=3oHGfBx1B?2j)X!FV%wT32FAfsAHGJKke+rHCSiOEJ^i z?)iAVd?koub8ioedSxlYLJZQOAViPu?9OF9h3$`1c!YG|(cUGCuM916bwS0sq(|(m zXJU~pma>U{;wiMT=gYfPTT8~c84Y+^Pb1SV+0_;VD)R;AEjk2ADJ5)+8<%b1iWjgN z*=IF;U-7A7Q`En`)(|_XEv~y&F3C2)g;tSf_#DUc-IT3ZN)cV&Cn*p!yK-F4;Jf31 z&Zma$D?Zh1i)z?hv8m$wIWodJ@od{N?WV{a6MFXAqOMP5j-{`uXUo)X&$G5=HbJJi zzTUd$Q^n_sTI%3ek8`QPUAR(}okfR$Wl#~^h-|5IfvMunu;X1gzsnbRW;h=LL>>;U z9Y@{XrYTA_=G2Rqvm+v|vzc?zw^Y|?{mSPtN&tZXgqmH}vkf3P6qoggIa%hmpJ~$^ zYi@x6V1n%%pp;=t-B+l49v`m3>y9>6+Ps!TR5SbTuii7Fb`k6Y9b-*i^%LCR94_X5PQMgAeTQWZqja z(VH#71j(ZA%CLBj&%AP(e|h?A`S9jd=<&tKfLpe~<@@^IWvTC0=4w1}=F9llRd0Z) zX67E6`W?LxVuhonOli|hnhMB&ZD!t2{Pgr{KD4_P z-(3juV}u%6qmIdSee@@)NUdBvR{mvs1s|Pn4duArT-kXwAOw=C zhOHqnNC6S4>@GYw{K+5sfnWEH;$Xj8@}GzR03ZNKL_t(x?cmT4wwQd!KmLh!`MGy_ zt(R#PYIUmhftje|WwUW<&Hc(HW1gPo;rD-seEA=Jba=^c`+oM9&F5nfTy=2on&$~` ziaXRj&$T1&J@pzsdDUxp=SnuK8@>-s>^Vohu zYGkfL%6*RG3jfvy^PY=)6qvA8ty%ME$==3H5~hC*j=LScZ-HR`92`Tam--1 z<9WM=U%K||dFZNF^W1nn>@G*<+OxrhFqVD#ZAR;!kGDJdsNTbS^vig5K7u+yt(i?H zkuU=#sfJGx3_UJ4@LqW(@7=tPUE3sj(Y3-Q>%?)6%oV1IwmaqlznS-Lek&gzUdqLG z1p6!DR69AXqZRqHO%t-)@yo-j_|$keKezcR=E<>3m&1vcKF%}(IGSP8jPH(V)5N3W z?fmlDuiz7>U&AyjetaCYY>~AO-2#oVdB&$bUX6Rlm-B())qJAd&C~>TR}#UY?9qf*ioEFcb)nMpJ-#**K-h>CoyLkW6Z{z;qF6Jh9 zor33~B@}sAHoj{S_i1Og+g+}YJiTQ=l<)IBtf+v3bV?~HEnQ1UH`3kG&9Za~64Kou z-JMH!cjwZqvcS?E|Ml~Ie$PAL#R7BBoH^%QbImRIurZqbP!r;Ds`&&rD1usgHF^A4 z0eo_G6QC!98YH!{ApL!;T7ZxQLg8$8{YS2ONMRnEgPY~mN>&wB{TpE zOM2jZ=W{4ZR;3#g<~$Y}wLi63MD+hE?*nTp^0f8RYXIt^R|)b7wALk8$`O8#rox zA25l|;|M(#3T_$gqN!4%R$D%hPyaAUx;}94;E5Kk|LA>WgD%7siT8>HAmbwb1;VMOeU<=5ewZV zP2OdiY~Wb4!(^-X32o08YME5ULa$IM8lf8r_qe{n2QVz2XJko9G*4%luSUhPV2HV% zHoe_|TLE_hP9+}tQXO)WQ~@pE%vpZm@y+Qx!gG$rM-~cWX}5$q6v| zb4!Q21G@6}Epob8dv!0tLJap7$bM#@?y}$Tc5sB`IsCfg2;Sb*ew6Kd2i>@ebkm>o z{#!8T!DwRAAVVCyDLpq_0yG6)$aG#dY*cMLML#|HjkF^W>-4`7RwS?0=d0c$FNh8N z=D4b}K|0+&NdwLPpn}ga0tRdmyvOz#Ch<-7hAIi3G~&V^v$B1jq&n_(A&z|#A$~`T=Q(AawP>NvHG1QSD-+e1f<;9ZITNAtLtoZYi9PoJ5J13> zAAGNRKpjw- z^RoPeHu0Pt?n_P_XPakK22q_P#R%7L;lVqd1%-1Ahi5I0MMpzhPfr|42p>bweFM5_ z5&J7XaF5TKANp*ndI|`0`r;}jkSrzm&rq=PoJ3?mTdqj+6r9RGV9ffDb|AJ;lS3MA zt%dS4gI)mH{@5ceUm8Mul2f;<$P1USY88(yb?vOx!Q{MT+aMv`$ zm5$)+3|}h3L7O~n5lM2QV{yF7t8jF#A1|}%)-v~d%vR4jw&ovhu7rE3Wl8rPJJ$j} z>1k$vMNnT3i20gP<;WYpQ541YBtNH%dA-k?c|@&S=t}nX1);#p2LS((82$vhO;oaT zKgcUP6TB6j0KYpCPVT&hw0J*59>m2Tp%HK97l z8tn*sdO7w}YO+0JP_Z*;F#6bpMG9S?9=Y~WacP3EdF$+P&GU9g5BTuW0GY+sVJoc6 zuzMAr-3&nES$7xwIEPnKf`>qwHLK_oc8}0i7}ep36}f}vdC9oGcM74DepaHs0|D-) z;yoK{O-S=9`S!vcQ5^<=f#+m+i$#d5Ep$0#D2V2bCG}mk!>0Ce8pYihqz{O^*&VY=Zt3pn%mPY21u;P#lGv*KI+Rd82gG`hELYDR?8E0XRy}^PA}AlXSKREO$I9gC)IJ6|xdSxp zlmM$>_p;<&D0{K9oL2%NTzFXFJ_J0%dXMM_gNq#(a171$n`DFMqK@kv!^`_?rKgbe z+r8`uhZQjjkM^}w-Hig)$5M*;jb|SCvtB3SlHT^elZ_?lI^^l9$$`ReyQK5%CSK{O zDcva$91fPaN_}k7-)Kpwt(Wy^90Fl8hi2`*gr*i{Z+9s9#*sL*#pdNvi3eF^c_2IB z$78L=lq)x?X|Gz!hu1yuwQSYyN6zZ0hE1dvg;{0gVMM#L#UvlKT0l%wLQ zb5`Yq7WCr$N|H!6kRS?vIr~YdD7-K9oA@`SfOuSntZDnCx;l_iQ?~onGPHTW1=f7K zuS*o%BPDbpCx0)vxZx;vp<+>nXU-WyYZmLOsjd@F@369eXl!WrS6wqFmXeNmgql~O zTQi4(kL?XBhQIQi8S_x^HlDUcQ%LWuIB>eC^D@ zlGtI`HT)m>e>0#L+;C222=PB^R(4ztJl{q?c5GZ<_$~1q8KHRPkli6B-YEK!omA6v zRw&iMXFuXd=Q6(~_sUDHBo2%IWJ>9Xiz_eaE98r!(u{HgxIVW7TsHrOF}hu)TD9*0NmStW1UHW!k(c1k{M^((Y_!&N7@BY794f0*SZuj zr6U(fDl?94K@>uG5nP7KHI4K!!_F<(Lw;VAxCu2XQc7NG@pNR-=S|bPi{Omt=wp5z zOmRVi$T3)NlqIc>IC13zdqg8eI6EnWO zJgUgwT$^F>P}0|yo|YYZWI#PEXmM}_4E%nIv3&mgTz6gBouseXzTq&&x9FPzY?X!e}H%s9VcC8W+RlR%TcjR*!=_!cTc*ybft7zi=|YR8bFHxuX>e1cWs>;;N42b2;x1Y-RXh@K#sS z(=dd&Cl99Z+sKU`!H>FfT?MIOtu{Rc#0I1+G;Q3kv$+@S*NA*rp9SA@FEQ4@6JEd zzbPMF@?X0Z8M=cP(#ID&*v{&;O5z7?_II^@l7e0FQBBa#NJq6C0Wxt-J*3=!BkB_$;^fr)4fkfL+81~Yw=2!gO* zq*@k)BOM(6zs6q9j8k3KnzKn}WD9@T{{lKmYf!yz*@S?7_dX;Y5e(*N!NgsVVZ2bF zT#ii@*ma`8>o6`A8u}KTKfy=H{7_5YkF7RO+OA9Zrj+<;Ct#?pmE}C%ZQyYTLr#8} zv=73cuw(bKL;j6R99PiV7B9Ib>pjJkQQ#x4?Td@SMf0IXW;vtMg%KpTYAWw1B%^z1 z4+eJ8qAV1_IY9ySr3@w!?(p}`0@ho$43I0%(n=6Z(?AQhWcIZsVK%pLRS0-Z~n9;ul?9xiOuB>p2_{2@G&S(b}~>+ zB_GlrFdK>~YHRzws9^RDoY}64!|h>F4C3Zj|Bil z@Un6b$ze#2hi-~VBvRSTgN?*rF8kiKpqZ~XDAHp)|7wAK0gV#+h#dTIy_LUSacNR6 zM?27WJhm@t&1P}D%8YrsZq0@X{M47q_uFvkoE2WMzc5&+vr7AEbLu>y>X!cK)u5N` zYi?|OA-rT%_2a$2(9#T3!Cc{&dw&B6O!)9l+4#Bppq(yA1hv~AD_u(mSrhLgX5yen zc#fEb3nLNlJK1sz&U-K7U1pAh{)|`HxXh;z>#omgIo?1FA&7QXn^ifcj>IWs8qY%y zj((!gxEy6oxvQMt|0!0UR22`(D4C~B8}z5m1%kw0p2w;&uMGz2*if+eGlJgQGLXkEMCfi8}@@1g1j zZe$g{t|jmc4DKcN|K;TRP_eG&A(AXb{r%<4nGosg&#^dUvq)YZ!a*MEz5oX7!j)oY z_RoFN?X8*GORjC*0^uV9f8pGsgu`|+NX^`DC`@}E0usy`na{3~I@sTEUYgys_|O@1 z8A9JFe^YLV5K%D(5U++VAQsT2n`SMl&3BM^wf(Sf%p-YwWpm);sEhY0IW)^Pn@7N? zNtP|yZiC^`pmDY$mQ~h`5GGaUQ~Y%WLD@2bbb_)0XUA zXYO86if}5!;aD&qs<0e)R$l7(fkPlfAbepsk5S?s%g%ZmvmEDF+H~b*i`>uZj+~JN z2Nh)RRM-bUnz_1;#SgEv_!Xn(G1#n>u^okH`S_9vd|XFa_TANa0?oqSRNq_eJb^sH zmf+S$-$FBG22bS+gR6Ozd5L?y1TuF%SRu4^Lh+jP{_lB*7}(M;oYcP()Y|7)8j^5n6-iPTqcc-s$kx7 z``5igH>szH(e@3R4}>d80`PZM6O^u+Gslv0Qf)Qs%IP<>5U5XS!CuWyM5)?@HIxm` zNMmy(7Bu}GX{kfK3xK*}cbS=Q-_kz%j&-3T;5u*8p3|%BgJU*qD%!twuo`uYkPkgP z)WQe)+Y3FMG+bhEwIVtB=n_o4esuM`pr8H3=PHNSq*JClKX;EYV-(0diY!85Yeis6 z9ptFW(ER+H_2WF9)%wUval7~*c9b!_8RW!9T9(~<@Q2L>FP<}Awc*(2v9H2K^ZHQ( za?}{ILq3B9H5OB2c?-F;vLz4?C6yCOqYs=5n3evMe_d@28D#ScT**&9#i(R$Cf=Vh z%LrGwT~oD7bSvIq&d(U$Z15i5jaxrM(rMCYe0KM-;*(Pv%of&*nUKOGY__;tQEN z()dmUb92ZxD&AVJZ%70&1ZhOPu?u@9zWH@-7QTX_I=nGjminCh;5%%35eBsH$U8*! zKPAD_C7~ZIGcsWVR=7Lu+QmQ-w*=fqUmvm2ONeT4Ja>h0gkU&(8B;V~vXR+L=#b`@*j zGmh(Y=v-^zTJ*7H_Zs4Iz?Re}->TdjkD z9u+D*VF4bLvDAT@Jugb)8{5?%-KTYyZQKw3TBI1<6U@s^{%Ar+Vz_x&X@0vPsmbZG zUlD*3Aeh*Y4E8j*6;F?vG<(PV_T3jBe*lpbyJ2^uX{_%{7=dno?sET%@|A+Q=8BzY77mQ@s!&Qx7?jltZ>iIV zOY8-FVxTy@H~v@6oVs(h3l$z$u%d#jU6&WXN8B<}f~;lj4#*n9bc!Xm#-CWa zzd9l?5=k*)%OKY~`)ljb5y7kU2#$m_pI;5JTkJdfXU+21;Zv&hN4m0tbj83sEoD9A zg6W~0gA;WLO6}-2+63_tpY!jjOU?@#BPmMdfx5UgE#JY;%#CiYp@i9{7i*@)O%D>uZ~l&Eu9>VPXK}VcIE;^YP z30hJrw&g*yPShf`rfev-y2+F;GZx3W2Ew09IoL7H$B!V|Kb z!hdBhoy3punUu%k0jaG%8iYDxd}<~Qu<&O=Vz<-o(rt%$d{qtPZU~!p5AX3owaZ+T z_Bv>@Iq0S7}Cra=ZfEH>PR;e75JBgD?&Y)As^ zHMHEqP@E_dI2Td>x=Tf@agGz^%4*ssc)~fd+H#57oz0?aHAOpqq9K4G>7|ovLmYw2 z#M&z=%scer3Hn^wyoK8h{$Iq0KH532cP(2bDTA%$fT0$;W_>>txd%OavXW`$y5O*IPU~DcWCn6V5sGHygB_iWZLa z)hq56v!z`yytOk&{-|}JQ}AVpnE|t-x+=VRtj+Z}!(p~R_g#%7XIUHlfdAyYXO6gQ z)SUQhR4S#2_uXE(+?KURH@UooNc59%77+{}HZkkRjxUEt`GgHApgK}Sia6ghMhh@+M{($C4vVZ%0N2vDd0p6QOYp)whSEI zxI;c2P@jE`dPO$GaYR3MNjhyor^NBMqM1oiuT_z9;&q_+$Nr$=(Woha?##Hz`iKl! za2%WKq!rlq{#UufsGIQ zDbcjJEV5cISjw>0FRm%o6XsmDP^>EvcFP1*vvLuoIFr^ktas8+_lWV%uoEzbXmnYR z>d;AsaBFD`caPMp@;M)n#?On{LVO7c9Rwzy=EGm}ShN(OuO-<}Quj?zD<3U@U(SnL zr)2~?gkK!p72?=4&VeEg`NnGM+}O4CcLa)#w+H&6%dKaWi=B_0A1uHEJ!UVisd3^| zg8KGljzgkbtLMn83pSSz?%}ZxwyRFNeRo@pgBw_ZJkD{_9W|36LovJSJPuq@2J#};bSX!DjC|&^ah)XKql{{Wb zh+qra;3F1Ebt3?|vgcx_g{qIlh8%rOYpYzbWO;cx<%H7#mxGCgMY2W5g(l#1$j#E# zf|;<(1-J)h%FZ-QZ~inn#Bh_=(Xv@_k(3A~$UaVZu@2Ttb^_{FssF%&zrz1*g^9 z@i%tCr&4vV%;=k}1mZfO~^ZnXCY<0XzNq{*VLb)Q&uctOPS z8QD$C_%5(2nI@NMrAOCi`u!JgFlFBLuAv&m5%xkumsjZ9(+UAbpPTu!cygh`}B3N2MATQ91av1iTXopr+pAG5~>)%K&z!L%ULjSNM|~ z72|qP)!C5pRwUoVQ1gK>Z@jbj(|#m?6n>$RpQx#K{S=8%NSCn0)V5DzK28>IDJbej z_GtlO$bKIlQ^d(W;B}_cE_%M(_ox)<$J-LR_5N3y6hDO4Am1H#I1>=k4eFab^p! zYsEVb%^KG`CaKBwaZ7+CdkTE5x!aP{B*UV`2HRfSJ%eNI_y5fT1h)OS?z9QDhw1+G zm!~~EJbW?Y4nS6KRLt1k#atUii}oX*>3DxO3?s|H%IgiU6_$%&kedChzNdrz0Z#g( zR~`S8nugei45`(exJ70TimqA4{Z&3ZycuGSE1#SL5!=KISQCf&x$%1#iX&FQ6O8imM7 zqcx&!J|&j7TC(jg!0unukz*4AsMBzBzo`#AC2yxl%iJRsXqTzFeuim^F6^-- zG|7=@uX;);i{h#<<(aH!JXV=KYedC(ch%W!Y#pF&m>l(Kn?xLLEPV$5st5E~0$$>jKpaTs z+eIS667Hwe*#sZ?lV#LS!SUUiRHK#BB4(AEUluzTUt!p8SpDrFS2_MadEHp7+2XIL zt{yRHYF@V-fU=dlyk>S-P|E%xvbgjYkz86DAM=N=nJ;;e@~|Aiqs#R2jK#nNgSkE? zJ8Mk)n3?78aWy5zhc+tlDW7kAjcfS84|^mWT)p53Vef}axJx@5N4kI1@~lBS_5 zlh%pT2?89P(wnN6-Av;hO$y#?PP+ds8I1Xh9KQoy=5?K!IXrR`R1$vV%zoIVTV7uN zG%%DS7IJe+@$58_DG+j3cht0@sK0om<6<*Q*@IXw-XwuEDR@bp+PPx@&;BoHV~I?fb*+_Q9F=L= zdy>3057e*H^l|3*<@ZCeVV9Mh>9f+q>nWI)V8p1g1(&BAKre%=looIjV=`_=4 z)3hx<7`VEt@%aup+4ifPawp;UEjxi8Gwg?Zye3mQEO=f1Oa*{Cz`)<-HX6g{QKqVc zTd_7&&Q2^v+t3%;l=)h(4e$u528*hNURqsQRqB5~{5kx+CFa`k@eX8gzp{7+x$YqJ zA0+pRz(O)aeDA&+D|NHl`M64em+ij&_Gz2->4y}BPeNuUnM$owjZ_q=F$k1M!ej6F zcZP=C>yXXB`&6RRpnXKM;|!n0plt~vw(hmpaer*uST|l!L{4|SHnjZnFet2n&pPQn zccZYHB5wz!JcATI(tL3b%B#y#_88X+qH#dGP^KcE#~F25S=rGgv28WH=sotGkz5^4 zVhEOHEiY=%OQ-V5t)w8xuiO8ZHtCnsg5$vl+AK#B6<7o#`{0v@Tt*6MSN0=O2yQ(@unS- zL92wIG0>P*P#2MEqmc^R4g#%;3S-NOH0fTwcq#1Mw=x6Ue*aA)(6LRHld3r@$i@q~ zt%OaI-gp;_0R$7L?y&t*mbc@e#HYU@{C%X(2V%jY zh^DxJ`BVuiSRx;zsd9&^Hf@f0o)0?XMBl&wvhanNa9?uA1scYUkfK#A5kXOop_`STo54;Mq-%TJQKS&PmZN!59Sx8F3j3R34 z_=8boranHISV;fA00QeCNvl8B%B!jO-`#nlskvncSWq!?VX}qMCR$&9v+I|qr5a3C z9~>wRDcoOcG39!Jr2fU+ZC2~zpdE`LeNb>ZO*Lfmq|^em%gcwY!3djXsawjNyu4dW zuT0Z=>p1wS=Ia+EVMp`Me%1l8qVCktWS#Fg2_^@Amqg?)kh;*g53zxZsde`tUIM3}9`) zz@evsJU?A?WGZ@WhtX*n8bV)D+`PaPyugYd4r0`-bo?`w!@Zp;Pg`D5QG>|V={zZq z(|$sa{ZtEH=iMQN<*ak)ByfL>ShSe8(IYf6(MTK5lIxjkLtucoTIg}7%+Xf;EO934gjW=~;K=FD;3))nwkxBU1z3iRJ`#-Q1Pd+I+Wv#E zw8R9vS{wfvZMD6ws9?75e02SnZ`KzPoDZ$2u>g&q9tm!3M+OB0HuIx4nPxV0F4sDeP)oj&VA=7i zb-!xz=7=BIL>AxrxXz} zREvoWV>7ciUw-qt9ugs9?BKmaqSxXwEJPxz>p%eIZDHT%O5uS^Sbi`Ae$dK{aJLt5 z0vVRz2CcFAGt9~^eGrI>#;*!nA|gIr(sI;Q<;JM^uxgn8DoPtQVEB6vitx=>ZXTZ7 zn?d0TsPMB#Y3VisfV{8jviBZt&uwjOzaXCUVa?z_$V^czT60~sTXWm+@ji>sw#|%> zjC>Dy*yo|5d_c4?Hg)yWmc{m{%S(_+1OmdG7xmqo?k@iF`MucM)#*R*?cWnLt5OX5 zXla-BP{+?s_LhXDmXB*e;sitUjiNjqsVk%2S_tjiZH0EFTF>n3fY~C49mF4D*ScxR zxxEGkB0lr%;e4_Vp;fHtNVO2u;6EKt&z-5bytHKG<&{1@u7LPwbgydITA?M%aKR$Q zOcMlN*(_E%AzDEOFoW0WhiZ{x4H!He&f2krQ&3uJ(%2b&o`nl5D=+6gXr5H(+CK~H z&FU3$cB!D`=DNTCLKYng`mW|NQ@-`E^=lo^eJj}62RTocmmM2%i&r)IcXyC^o5Fis zR?-hB3yXq-ZnzsASb^pcQ z*53Z?q!$zTaO3pvL7#{C-GtaWIB=xOV_`r2iGB(-e7-caKs3wFCs?Psn_Ke6)6vHM zwJ-d7X=B4snn?h3fQLv6@T5;vnPydOLqk6T)A`(vNf8ig1FsXUJ~1f>x{P&nnLnRt zbhZC3@4_T2qq z6M~_tJ|E!P;QUO^=NyD^oPnp?5{SU?dEb12!C<8PE|!0v-(y@o3;$1aDMVC{kTmTwE2}FD)%DJt&-W(qA0#)}(no+1I@lyR-Z2GFwSfgevuB zmsnk+Doc?u^u6(S`HPaS_4FBbu!1yA+=uY``o;^O7V+|u(oZeA1xBq698!GC+Jyqr ztsTI2cXR~X;^9K`W*9x&Wmtolqw8#}`CF$#_ae$da=Q0s)$&}9u5J)qrvKGbHBfj^v-3{f_mt2tcGbQ$k}lgjF534Z5AghOo&oSUdvTq+dgYGD z0|ZeWOk~u&siC-M`!`$Ebbok`GGrp^o`YisL?=m%Da4>K@)O234aEKQ+Sm;6snoQd zec=Arw>Mb4E!^fdpuVRl=v{$b<=T?PYVu3Ak~e28B|rc<@Xyqzf1oUidI*ODcLpLq z9U*$}f9{I4Pt4y^i%SZBnt6zw>47ipz>*NEoF~VCbg_sEC9N4Jfl8hl#D7IowvIwu z_tY|i*ZG%zq$BNwuBk5KWpFB{B2n8?FNNRnLQmDd^kkSDh5e5EysT#Zp!|Kb7@$vE!wOqsv{;d@FU4l^(-dcY`>}?Y8_)drQT|Ky?H8q`)|tg7 z^pZb99@~TGdsXKIOmKc^mX73!%q9R;x0!6l@B7N5?EG5PZyHb=nClS@?_93)LhfH% zMu5*LW9J!TD5`@GO!r@rk!;)`3qQ^ZkKaSCg|4oyh$1C}uy~!eU(?h4i-yoyY_uby zU7AF!`8_{o@PmF48hXbfy1OXqKP*0aB8ZzBSus1?{>*D$C#~*be$N%vSFS;#kiCj6 z70(tr*znHNgyTS6Mmzl@D`r{?gEz`NmQ>!fLLDk{?wZkP?Z2^>G*Bw+jkl~|JK_ar z)$^YRq}A1furR(B|M zi@pU1D`vb5`*Ql58!~6cr=>2@7J`>E4Tw^eR^XKCW-JNo^N|SUz7fYy1SnJ>f7AP> zhnip5je^T8!?x9C*O^M=O+$^3C56S4ot?FOqc73CeS(KYAM3t&dJ1W})UE05dN~_5 z*(XE-_|e=br5iBvb)8zWd!oXMQZd3J2D4DTI`6!$dPhYT!8=YHo7yXA#5*3392{V` z4qmIP?yIYi1<0$}zX_OrH@!UTQa_E59k+VkWO<*-_zWmoxLmOacVJ>t1RJfLoG zWEJRv$mO%Y-^Ix|BR9s!VzEhlHPl`(;Uv$|3Lc!GSMm*ipBsyHm*?t0{!*_}>e}=D zk?sE}RSo~bdXmJD)vpCjfjy-9{dM*SwX249*igMMH1i*+2NLI}nwm%osYEI|Jprzk z^^^X2X=>Wz;|Dv9ncu}U`gTRVi?KA7X$u9QA{^n6Rsf&EsV{k^CtYX=C&xnlIrkD3 zSJ)S9=_HyjXXN>k3X6%iO!kEGHiGU-DvYmCck`OTXun$x`tSZ;_h?UjA3s;LWwKNa zEW?4MySDEexI+QH`E&OTkpyLxu+#?5Sv}e#v%_5o{e!#o}^BC2Sc;{ zvJeeb=wS;Jh#=)po0w1j**9U?n~?|(5&&CO$2v5(Z-HK2%qpEH``so#Ao{`Q&bzYC z5lhay%4_549y-{`B8ZwRQevGYdZJ;=z3+7*VUK%+iE|YjgJlr4rK(tlwo=EPhCj6H ziN7MLU~CTb4TZ#3oBIVq6tO||M%h`qAY?N$k;Nl{ZD{iAs73i~a`{%VZ3?Zw*x1Qm zO|P`370WXcX_C{0O%JK;RgSP1rAbH9_ugiBDuKlFhx5eG+idA>V(U=bVGFBt58YiV+<8-f?;@D~Za60w67-avUu=&19ll z*c3(@fqKuiEFt3X!_$n3QKQ!ZZ`jVe11TdP zlz&6Xm0Rd;I{NHpCmJ{@czuF+>0J`S2O;-9`HCQ-W47F;78W5bm6-WO7Innx>P|N& z#)!tXyt-;LY0RJb-(v_<^8SISb#nL3mzDahk`b}fmVE~Y2LYDN_+&W1ebP@@8MG|LNx`aomK{Zj$s3vt_-=xyuMG9#^uVRIEM!UhU)4N&^uOhvH1kM*06) z`^nU5U0{K)6}lvF;oX)^1FZ=fvJD#l)YOmijv71Y_#RWg=H+I~8#SsV-*#`2B{5$S zld3zhm`%AYg^vIF7Fin_!GRr@e0|rTlqslrA}Vd)`-*T z8y};L+KlYREg)FYRJ{JH>U+cqhdKH5FD%EPG4;>Ac3oXAh~WLx8whOl-M8=!Mk8dY zuP_7Yj2Vp}{6smB;&krVB#XZ&6X)qGAd^e2E5}Nw2zI2Vi>p zS5#CaeR}@M>K&luy^X8a<{m2mZ;Q`<7|z~>c){DP1l7(TwWQiYM#NO5RCiwCi0Vs8 z=DmYTMU?r|;)<(4$Be_?|2~8t<5+lEMo{+zjEVDIAHPUDCfeFgK+GT2+FFK^+R|%~ zfA{$q63BIV4Bh%@Rg9^jpX4Q%kLw&{2{MNV4d>V5Jq&fRxjR_RCScLslm@jT>sgM_ zJCICl2M($OUlO0PNNuI5UTVur;x*`X%n$T)u5&Fnf(YKKi{Pp;igJVp83omr*5b8D zo`8$Uf~;x2McUn^o@e?#NC#&J(yy{i{(d1XjLWVBw$YYu3rU%qnSfYtL9|EoIoaQB zW(IhcQbA~FsVuZ(BxPJz_?!i`2sP9-G&RAFTS%;JCrF+5t(~J}Zfo6vm_kDn6BvF7 z*qq!OO$NK4QX1aPBsV`l-Fy5kNOnIPrUTy}x89y5caGsI0lEw1lHKqA7J<(v1WqCU z-u#&K_~?@XM6k&7f3#38nZ*eq6i)Y8{Zc3Wp3YHpC`X-TXyJSgP&-*C+SYK%QX?}| z3Q_XhePGGwePDQBVd3%y%{Qu&uXA_PK;_NC559(^CAv>UxrlSk{{~rHVDW*!Hl?#K z7M`_*R%v|kofk>xeh#Mq_L#8SEE+ZADZvIA5#EI!8d_w`f?4c0+#a-iNdvAqNKTe` z(inuKLc4RWzFl%?ILmLP3AVz~2rdO2Q#lvM4$5Qg<*mG!n>Q7d1Vh}-UW68xOs6)s z)WC*fn}OBpvmYG7SX#`O6k#;MRNc)ix!ehu;Z z4Kqgg57+H*pEVC?Cc=XMCu$LV3Gv0z%0Ely{{9{z+3In6(SGX2Wu^~EpRm-;LNSzv z4xgrrN38whIEY=J@})~HuxvQBy^JHqTFE_W@}1$Xx-1CXUH%Vu>u|!{=4(cJk42~x zEAEXB3mNZ$g{vs}#q^a{#DZz7OGs*o-{9kpki1B?K?UeKZE0A%t1I{%x!M?zo2Ic) zN&vvARkMf){cOBl0Vy9yaP6iR{j@lzuef8~6CLpt;}?a%tHY6iCLKR(O13nYa-b-Y zCU^4My&eTmQWEd0)o=L7cWswdx>d|Jnv`9x)gwQ2SW*^zK26i4 z3s%X>hb>XJ5te?dqmk-cl^`W z#)-HexYmgN zmxG0+dq0>?c7?umb!p+~(Q5{{jDp>y!>NBwQ-wO?BIjrj6MEnn{fm~>@9(Q`E zq9-UE$a{B!Pd7UVA0g}?hF%`1v*VD(hq(nRxN9IR7g7r6H#OgJ+AB{!w#; zq%SXb-0pkJqTkZ@Pbp;iTxrwBzZJd-6n38lL$@XO`Lv|O_Q)b>4=f4kUx)C*1l*{y zIS8W)?H$EUGL+#**f4ElIvk{ZHCO*ucmke~^hORD;>hrS!?Z22TE@k0-K3V!8s*u+ z@VI^1zGYvYXC>Jf&b<%(`7Pa%g2gW@OgM&Snc}x}xQHb3=BxU(zuOww?}#;U$E5>- zuI|$ggoct9g`~II`4!sFdVQ2O!}W}j1GNM%ib9Ff^-KLFLu6?;!pyKTiZ8)p#FQ4( zewYs}f7g7e4JbEikLmj#z<@&gpl{%=v^{M?4nNKb8-MRkk8*MR!Ji z)yhYNa^gj3Vz|eo7casHzFv2u_?M?PHa2>lzL^M(eAe{})A9N7n&S1?!weWHKWV(C z#hr2>$Sv!ehodMyk^-%^^~eemb$#mcP^(sa8ZFwnR+-4Mu2Uny{9x<5uz!x_|7JYQ zAMw6Z6pv2Y|7vbqeDiQTY470h$@A@!7+6^)FJe&AjIc(>^5jat=m(m{=)#ze+r%E8 zmxy;_H{g}c9u|FrCQU)guzE^e3`%lyM#my`#ZqMHcIKqbrX#t^tQG@VnI_>38Dy)C zt?WIi-5Ci|T)E5&-S5}?)&D=FB4KIbHfTttjxVE%VXt#FyGEYs-P+2f!d|= z$g!@q@V9rNTKIitiCtK-!v$*=^cF0+*mSB3)r;S+b!9b{|B|X&X)<108j6>AF(Z@M z692Cw*#BxXTs;zcAec8KysV;-XVXQ~E>j7f_ZSsh;M37?%b=0W%e@GeY2J3u2JZse z9)Sk?4KVa2WKV49P{TfY@Gz<)wZ)+e+X>BABIsuTs+GA7)&RtRolhewOA-O7`kXpx znr&1PuXv$9wTk35;u|H(vlotUf{K;b|?v*!I9^ zwDEs3*#>OK>Vi^DD8U%s$J+wh_CQN7&@`o#+LImnm>B3N`XW-4%T@Bv3@KUJcA3AC zo%IBYxU)kW0o^O-Q1m@sE^Rx3Ca=WL6SVnep9o@;BA^-jEzJ_$6KI!AZ2X=9r(g=| zV+Rher%_8_uje|)pB~aapi|@Py`y_%Nt7_H{uafVfbvjQ?ADhq`gEe-2D&|GWVnM0 zteok;I-|2*WyYCj7u^Eq{A}bqm**tM&Z?f!+@G9?D!Nwe91rcAk3f$52F;HO)gX)O zLie8}hPDO$Q?3pVZ|DNF3Y*QMkUWG$?#-<~?y-y8I-2bLOc_g+XES8s(^5QmM^z)* zIq-k80HDR^!niJ@!1j^<5~ShjRryAmMpur~)j<R-sC-Z7`Zqu3^V9fT=?zUnugTaQKOaGM8XDu3PWyTxSSm2Tf6(>!&sx zMEu~b)Wo)8XV@?T7a$#dPsc1{PoJ9F_RvM1T7c|yeGN8180a{D>+Z-`q}9B@;3zYZ zBBN9ymwuZjCl|4+M^`thCw~9-wOnv;t%n4O&a3R;vZAr3A|&Q-^9$tnAr93*GRXo;@)wt^JDJ%b7E*f0*y?~7JUhu zXv(>)ZEjdE=UYQQYBoZ*Q^`;cbB=G-REv7dxvG5yYsrz3I+sX_(h8z5aU$&&Jw1s3 zZVp3YjGMGRnnFYO>EhFuLGl|mR|C(eBiN$VRaH-eh5TGUadU!a6OgaJVg*U|pj=A3 z&c3uA?a(Jts2V+(A)*w?zK~9dHXw&h3L-ia^t~qqnDQBoFLzN-jPREHg`nSAkAQJK zhCuS>U7h1mF4JC&6oofZvrz{&8`0l9bXc_~ zbdpFnZ$`veNc}h`S`{1(zf*Q4=wm~i1kXC`?xqWMecz!rHVdq{_f2rn_e`or+;wxq zhZmSdCj;vaMWUYgVc!<=U$|vsEgoH>tlWWtCV^V$<4!_L+?;VLrVZP1+pLRXc4+i_ zz#?7>=Dp2CZDNP(tY@r7*6s;8$31QLQ<9Sksja_=DQm&zv*;7eXAbXsC-)PEwx_^) zT&E5x8xB61)gKan%|qX1sVG)YE?Vx>Ex1EUadwl@w@&gi12w@UwyU8_q7KV8o6wM z9KT(@U%@7tc3lxrfw-0(8#*j9 zwwL7t??-hqQEoODVfA!Y45FqXJ{9!0y*&(D>zvn40{C`BfWmJ@H+rLdoNlHpc zNlCXff=CWXcSys~Dcv1{bc1wvH_|CN)DRLQIn>bcAFlg-*87DoFpD+EdF;LY_VX#W zCy3)2L*$IJ(D!EL`PJ%1;Bo5avG~0*5-iKH4^0m_*X=w}x2Go(X<6TE(z!RKX#_cl zn||GsW~i+|Yxa7#`b0_Xu-P_+e_Z;P+zYV&A3Zin3`@LzyJGNWjn)K2+Y7Z!OhQKB+Q#E3~%*X zozeaD@yX-IF6JTPqxs(J-ao>nYK53|ssv>eL*>(8Bpg%cOnLp{--4s%R(qur5U?*UX@w3O zG~t=po&9${f#d4o)=}o>n%?Fm`Q{O_<6pGRiyqv2t*uc1fbeH;?d6bre{Rsck)Wx* zJQ?Cq2EF1wyD(q3XpO9D=7$n8C-x=?S_%vwQkq4_Zys|zo@Fz=b!QKQ^`YMT1OJ1% z51XrCa|6-33--x=&=zLOq-Z`&-9)r#D`L0E*uOIT9U{`+8{XkmvGo>Sc@dqm)m^Di zrl!fMrT{kV6?CA(-}W1L_srH$&s5%1gw?@YJ^{2t9rl4N!Ob@b1xQtBs@Y29HAQHRDN`w?C=hY02i4 zN8ci)cN1sf4GF2QvMh5>K&0&9|weddo> z?Mf&dyy>GGIXx2|$6yf`6trQ)R6c01=j}b`7dLo4@rP7!X|_^i=?-DOMU1Pu6J)1z zNC0UMIH9P*dyOO~yn!(rRSzE>)YIyp!Xa9pGm7LAq%8VQ&BSX~*d>K~i7cw`YVK>z zV2{4Z!EXZtX75o{tJF=W3(qNXG$#xnFrV*?o}&552#xCeuH4iaji&vQ`U4xtx)Mcp z24^4Xt5yNf^?HIlg0d2Qb_5qO)enPV=t~1_N$@1|ebbc)x1liI2kq>Q$+=T^JEMJr z1o0)_+6FXGH}xorWT<-<^dzJX0;DcXI!BDtHCWp|5etwSI}IZc3%t3;CiFg>h<{ zZu-lG?NLZP>#W1xz9k{h$cDCjbT7xlwe$68d8erf@2ua(twgEFT%Bc8&~KXaA4U&^ z(|)_r@qNv@VB_uTmWJ_p(w(7f{-XM{qnkX)#L{80^@?nl(eL9LJwZc8)V00oqk-2Tdwq4wfi{Gd1RDo4Iix4UT{W~F_r|r|8XP%qIjs7wG z@8dma4)@lp{tej5Pl6&(HRsly+(X~Dgj)4aiLIuGiMY*dN-eQrm1bOo9A?QPdJsIM zsaKLjczXs!J4}8vk1KX+up zub<|2(A@0ro!52eAFM)J<2PKaqAr{(E#ByB0y0VZ6=W?qq&e*zn|up(B-Le`U?1+s zAT%7F;u;dV@Z7zFZW0}$cq}Ob+KBd(r$w6$rt_HUdkk`q_%^QrqEA)(%Y&=}^Az=YMbv@%h z2tV^ZObl;sJm+ps`2JxUFt`!$$9x{H(JS=(7b1P&(LKEQaNu%UBp%2zeL8ks{@o#+ z0vfZFqIyC%Onb3x7)&ylh`x?*x}Q=Dlh8j*drLE=)E-ZFf4D)3>r-(x{{LgFyIY#J zDqi1JE@uIhsmHF7hAtK@qG^Xiv)jx?6z1Rdox>C6eQJsMAad9Y{E3abT9Hi0J}@(w z(~-#w1NGGA4serF z94NJ>hWvbEesc#I!@dGvr&Goes>RLnC2r-FsoCEn1F*TIGjvR+vbAfx6sg(sRCj_D z?)CH>KYpd+(42)vC%u8U&i+>@HThw8itLO**YA;~SljJ@0-*6Cw10vN$CcfyycmwBzS*s)qA9h;h&92A@NG;-9fib{J0EvEUi$u}d7ZHsJN1N3 zJg8g~EqnY=JO)!?KgOFex?c2;yr^www9{fwpwjOZMOp+y!|b&i7Of4AfOqUjJL(RW zX^|75=EQD96xzQf(_AD)8!j%UwkVH|r*&49C^XQEJ*wqn1VeLctPjmpNKfv@0$_WY zzgPYYRXA=LoCf-%LT_-5iSxS=e>~=%4n7as{PXA}n(A60-aA)2ZR+85^nVo>Le0y? zsIAKI7`fTi^no7`?6LPV&0eYg_R=QtT#^+33!Nl-IwiHW9#!qv#|Q`i z-;9h|^H;LHxT|MRuA#X0#%`~-Z-CILulH}l4reyr-GAKt3~{vUyDOfdA;vH(d=oG! zYI6Gis466bb|vW(MKgfJ)+D27FWQCnEvYRz`}fbRyYGe&wKRy6k^Q)7`DVX77mTUp zD@si&Y&-~?*jgQsIjV>M;8Ec3pX>dk7nE%?^F|qswp+Ri7+o!$`JJQ`>F9Wow@s1S zSV~PDqZ=!@&Jd_E8FS)E3C3U`$*jb##9lQjTM#~Fd=`B8A&%t#kh=uUwA|`53Q?fewEPhFSd%#7ux(4yQrV&mVI&Zn4ie=G9 zk8gX$Y+^RtxvDwi@M&+qcg5q^b$-eV#`K>$$KVvTw7lGRGZb&7bkJK_L*v-8Bc%N# zF9omP$E;YJw;I!}iYch#=)NIcHI`-Il|J8)GDF)*bkUz|Af1D02TLnO!Z2-MhCKf2 zfXw@Ali|-iJVW*4%+?hS!isi-#cj6<;So;w85G$+1J{H{Q6w$dfSwyl zy<|wUEI4RDNt{KFDfCd-w3e?y7_T^g&=#@0qNa-0`0L zn@By=X4F2MSM-xlWf{?RsF}Qt(-hJLhW59(g znakdGy}$pO4R8`}|F0~E6(rfi-*AXGR}+maAbkV|9rq}nujKYwQ8=R%O;|*7UJdMg z`rtzp6G>6$<(}ffhv_|Lsz{d?(K6o}1k1=|)sH*pUQ&qs%T3oAX2C(Gxy5ZgVUaDs zB`6){GTiT)SCxUnZ8F! z%$A**JDJ5LBUh+*nd zmbOfSlI{qS26|qdWZt|oBj1GjH0V^{IKHD#{N)VRS2%8{)7dPKES%ZVqO?-vFQj8o zXcFrC@gaIbm39IDY*U6oXnWYy@g2q#y7#v6jKzuDG}!s$XxTC0^2Tbzr5Azqo6ksc z^EUsir|4K9>qa#vLT-pspI7EPuf@hYbi?`uNn^_&DADsj=SkW&nlBdM1;Olvq3C^( z?NKRx6FI@2zvRFD)^F{XrhzU}#~!sAcdi6V-R~?gEQC*w8IK$a__T$w`51^gT#5`p zP9Ez{{qk|j%hE14CzbR*&2saq0O?=eu%$6bQ%g-WRiXN zcXucy2t*pmLr^?J?MW(2?Auq5SXU+oK>j3W^SO&OpNlWkU9>}@n<;Y!a8JzMF9HLa z?_2nzlC~CE?FiuaLAdJwzTTQzY0P4LUC6|ae5daUN!C?Te?H}q(hg)4!-lLQLZ8jO zjVRO!S|Q;_*JtI@yT-FMBP1!IdcsevCT+S)^ zg{Vn0W{9XEUC?V*h2T=Dth|j*0(EIi)Mb5b zA&ZM-76En*b4`7OoBH*jsV$cCueiM!-*jm{ny|r@4AR`eV)RuX*K!-Q)NAQ@fndOV&ldfN~^16f7zrT6g zd08t^HCCL4(F?Omf2Ui#+pK*bzJskZ|3#L6A3gMQ^=I~`{x?2>gc5HCqNx#((ma$s zv^=yHe9el*cSILT>_G_Bf;WZUv=;Dgqwn72)U)98h5TD60D0)IFLw73=_AsDYu5RBs)KL7g^1`DKJSUwo;t}WY>%gJmW-bL;bC(8n z(aH3}<$19p4;?3_9zw1vZaxtt@hg_ooM(QWU7fy%_rK{*yPpx)@2BT1SJ~CHvO{w3 z04rIaRL4JlXD0bU!_0-Bm=upbqvTo0a zQHVVvfm(hFO4_dwHr+A>2AP#XqRn$cVZ7DZ`tul_Px7a8!#cmn@s2-5FQrQ27W(-8 ztS6zHG9M`J6UZU`_EpGip@98?OrYfex{$_LIFvt$oyy%Lr`%{qc+W#*cGdTRwt6b2@S0#&h+ zC!K3w&9tgxy4y3;Q`p=5s1c=UZtJ&GBQiEn1|yKx|H4kXP;DG4{0E~Q zCJnFAFUNOq=_D~~Z?r@<$;Um+dk@X58Pn(4z(7UT@$Xdn+%|E!sP9b;fv$^Sdr-W^c;=XmMaM1kE2Ov z-+fB|C|wKva!fLZUzK7x=2%n{-g$s3bu=wnqG^2)1KHS$8sUC+c(2GpUAd^n@hX?1 z=Sha3pz-Gi$yyUK@70%!mU&71@-t!=J^B@Y%5A`_R(dx8qz)+YrigmFq0M~$M*YC; zs~K+}HyKVZ5$|l%L;#&heRH#S3|3gNL8(;K-W9`wlYmpgdJA)Tr}djE+tVG-FKRNC zb@PCMT~wZ0-dJVLVmI}MayEiYFT3buLnUOh93isut%XV>UuQ$xk_^C-`1Aayu`Hf> zwk2;FXRcCtCo;|u8xjc;|0==@Ia}GN(`zmwvkKXxPsem(&C?__1F|{hA*9wBf4CWl z$wiy4FJzyEB#*7>&XN7k8U6bi#c$=Na>b`*#Ln@>F7t7nF8|F)T}UDTl3HE>$rlU{ zK6I~bfWP2R?5gh8?^ovtS1P-~UxM5l6!@?i4p06p$@R-HdfGMGyE)qq514I)&Io3z zl4a8kNGuHS`m?$a7uq1PRItPoedqqwQYI!*3OU0zCvwzLb$+jadBve($&JTE1?n7EU{!7`Nq@f50YxVLF>Jsz_O zbV(7RG9Fb$X~S)uNXR6VNJVT7pf||~u(pX3;roYPC74B2^^KC2A~nr}_E+8MisxzA-ADwY>@D+i5@L->ZoOu2ClfMt1f5>*+6L97*f?Y^ zr#mzxyhY{z+4Q6f>3wTWm`F%Bx(eDZHy{M1Dh`PN2@0|5U_I z194ww{pYvS|KYTmpso`)pIsKCKGNSWI)zD~;qU#qlK)uvHW$dva_*x}b4!coW+2+q z`uZN@`tuw`l?^6ZI<^@Dx4sknD%um1V9an%u%(aJN-H(W31afADv5NL*D`Q^P_>XA z*sLtFZ@5=I)ZZH;pwQH9)GJIiG-TgL>`F}qpvb1&P7NNU*pd0P=WYd*C%u{#lChvO z%Eh`pZz%h)YSr35c7SX1kE(NEBkX(yqF}YOBQw5ib4+MqiPV?P3CvpoYfz)wd~e2WLai z)vAXU^fz~r_=EN&er!DJdBJh(i<*zNh1a;Q$G7G{_tDmb|>*aWx?HC?w*~4 zH#rHrKKwoBMh~=*sqFtK*@op9xIpVa>ilIrA*kmG_VNJ=IQO0D(47wd-3yvf@I!12 zt}%j7;Y09Rq22dOYinlwnQ(pcxK_^teOz_y%?6cImM{R~Nv^#-fJF|3Q2J9&N6HF-vRyxk-4Idc{WQ{m z*;WR^x^@i9_rXy;L0AR|{@@Vqy}f-d4*g}Yu+v@8ZoyoI+zr-AdvA4-{`}3sJN(*f zpp9?9BF?OV8cx#^Z$4^=XOcNfB*M;P_j&>S*lCE=1eko!|6?OV*8UBiE^VJTTq6fh zAho)pUW{(<8qRll9s`ZWUvygT?(VH{h+(8Y=7nGWBZa$_1=o09z%kocI2|&_i!H5U zTxAYNxZya%#TKrA8vI#^okc32g8UyrFG8UD`hK{9l^tdfFe*8otO*{p!}mQ_(+!PO zPVS4tF$lQ3v{}vz4jAc2lIUiz9g>mpkL3B{@tv-Jq z6K0f2ymLv_?-hiPK{ZyA)B_UsJQ2iDYz>2%@3{zUCB@E0+*1OFTd3hryJc4f@O3|$UgGg_aaqQmw9A!Q48*yY%%ICZ|i=o zXOIReaJX*pb8wNGoZ78PV%{kP5WkHS1~Qs1 zQ!9Z(Qa8xeU01pTH=1jmLQ zua0zvwz)ut-tY_H{Cd~*$8?StHZI_*)N=09&#qj-p>l8~rq6LCk4cr#$6)I)X_3KB zJ^1>yoohBg17=uS8S5^%uN{`-47Zb?|Jg~QUP_~$oPtdEYlQvYe0Gf*a>K$`+`F>4 zGRWs5K;$7-hA;IKDttsbdZe#6>_M(ah6Q*FY(<->}EEzBeN!X^ZrEivr;)D23|&&sX89|~^(Qi?XaNs*@E zU;p9QQf#u6X~kQ4bL}Q<)3@Tg>>~)ds5sNVdRSH;J0f)50=E%aeh({MF4kP~{qCi- za0x^$)>)XtDO2@9_1HPJ$i0Tqp(}gU-rF4Mi|I`Q)h+%>8{}O*t0^zp8JuB9HN}E@ zfjVAfidufVS_t3af#hQ@9n=@M4tz_(0NEQCHGzRmC;l!OsHmGkNg75f zzMO4jW(oE?vv*bkvRZYsiW(|}qR{nmqSTj@*C`}NDg1QrTx1kVytrs7z^Rmr*4vhJ zU?Cf*h~(9{<5X{xf5yBt{&RN8mV6DqQ0^wIJq~UH{48>=^*<8&S3b8im+4Ol){7`> za;X;5>lh~lL`JqVehHKQvMWlg0G|K632^Xc)H3kJb~8Zcd03%X_RPPqAd^zOb-V^@!)9-R?@~u&QE-p=1mtHXWGuQB>Yzuyb=DcKVC}Gw^ zUs$ZqPo!z~KLmpx%_w#nu5;kzI~*abshNf>oP3{vJRQu5+%Ektdy~s$*GDnz_>p=X z&CK)5X-;wV8DN2!36s>tSVv1^q5jiotcjxhw}vXo1>VUZ7})Kt8^oQXOW*pxG)lT1 z|IjO8(X+ib$b7wMrDKC_ua>c*l?hedEjy?g3Cq^z$3FQ+vzFbb5mK_lI-CEpQ@CL0(jzcQ*(f=XwS_P^sLwdUEfRdzZN2|JQT1)Yb-X?nSB9X3 zCF;4zZ=G4Fih*8U~r9iDNyQ8g3(h4~k)~zDMBP44W2y*p66U zHg>U60%S-qqn&nW{#kfHot2@X*v{Q#Wz4J*ga))-wN_N!UXg`;Qrgqk-I@GUrUR5! z?~Y89IE)5#@3A(RwJvU~EZ#H3w*)-LqID}8q&y5vKZtDHUYYtFJm2$t3C^NbNI2!f zBuMC8{Vc<2H$JT%=_AIl5{ekPWpxk*nRYnO*!y0zT<%n!Ul|CtNp)qO8Z(iRs{q*#1?oqVdIjV*wqkTX@rX7#7xo~ZDd$}Zc z=Wpo6n&UP=8#sCq1DCGCHQ)%OIN@kVLFv!eZ_F@G*_H`S%;3t#V(X=)r8G1wr4qG+ zc55&d4gp=8OGsb9mZJohY*Hs*SiMqpDxOHn{5t_4+pUNK{#l;@+tS>Sb)lC>23N+0 zMTKI72_o7j7x3&**QIk&A-saCZp{+*m|An41GrSER1)sXzCuHkIu~ZWTjT5HVEJmg zr&%u7r;8f(EAQ&7);q;jvjVmuld918s2A%#Ql`j}-6&TtTV*vs#;R@0wBx;I6B$2i{9)rq&|{ag2OSeNE^TJj z_-v6{xiZrMS*zTF%=*QqDRYY9ZLWq#gOgKbXXjd}cbQjN@isffKg(0g5m%iCnyKn3 zK}!w5qYSzuOPR7CRRl^DjAjCF*5a*r#>!1}H7APc-3+)g0pG7ihttJib{XY=>l}O& zN1wzPtJ}h0bmTF^!Xj|+mC#cu$J`D*U{EJott|3*duk35(*5jd$+NPt+V-cOUYD_U zsF+&NvTZ9YQ(MPicXm%2zBE880pfF=4t*~m`+ENOr@oby55ZgVNb8!P$_~jk=Cw1) zj!<&%;PNR>3Ddt1VsmyBQ)_=Nw1T}-Jr7t0Vdu`Wxc|EJon96(0Okt&ZL1vcae_7) zl?hXjJp}@)^{n=cXF^Dk7vJYv=}fBPk>D#TdV+Q0#<{IN9MoHUB*ilw6J{)2EaFNF z7TRC@2@zzUKCPp{gWyjs7QZ|4JSiRjIZ2C+P}Fm-C8e(qBk-dEKP>SXP;y)%QRxY-(uiZi@=o zDrw>!bz#LB=S!fTp$28Ksqfy=Dkmdf4(0SP-bty(M|DyIa?$f?_~`+B!JF0xnB;Wp z0X0DG)S-nIzVizo1TNJDjn#QeCovlkyxu7cI#fzB7rg0vp7q){SNY#_P*WC7hHIk0 zE=NmTCNZPHa;p)0>iOMrn^7mP`=B1tFD4P{8lgN18DSzW+QI>NrH5hdSA?PI9z*4s zy_M^XH@#No17nV|F*)4DSq@Z^Hpwe{nI*j?gxK#)4{ppeBvJ%p+!TxF=D+ZK)&yxX zqe_`zO>{EOzx!2UEfNxjhn3E^Q-BCatX>%SIDOr`_!WfRpc9LmV4}@QvD3O)n@*Pz zoEFTk_pQp@!!q-1o!ui@S!IB`4iimu&T7@2(ccGM_Kh2gtpz$DYYxo(XZ(%H`-NFK z+mUABF`epS8>9-LjE=B#%;=M$bNJ`dF^qn)jj{(^4Ec2=@ z)XgU=S@q}#e+tXkNg}QCw{nFPatc~H6;Iwe2-gmhjws3#WStz>_XsnDj2M3{oInAV z9_Xkp)vNy!K$Q~BES^9=3%-}NLIPOTrVpBzjVNoBczh(qBCW!jePWpK{^jv{Tvl`V zXQ_{AOeDO5X^9=)hOyjh!3!zTyz6uB5qQpD?|!n@Rxp%?P71!Q$V{vV4sOgwDb() ziz~N5uL{k~7}hRt9}XCm%l^@_2cS#t6LTxDcNrJ0wNG(>k? z+7T8x_zC9H8UEeH7;*_NL!4#67`ZVE6*FzqS?}w2maKgOqd@`;qQHv0f9C_V?Fad0 z?u{o2OT3dRrV}nOFO%vvkB zrc3*u@|Xa6$z=AZdE$!8)Gn|IAbl3=j2rGLZGr~C6?R(&wp+U$cmsao<9T1er-T-4 z1=SFr6!VX%tXfic6f5_#-RG_~&7wU`%thD^7(?9pZ)eqyT?pWvyv`BTG4&WTc5C|4 z9EIsj%&eu`F#8YcWYN913c?ht{$a4zA5F}YV*}_ol5=7e%6unuc8J&f-K>p)ffxUH zR7!R81W+^5oYwURuUPBrpP6p&$lq31Pd_eyjvP|fm7*?MZ=0Cm4Xn>n(IDz(-jmQy zVYU=cE`aei0f8ummx5LmCkgsYL!|mSUUPcDy{O0>scJhd;Ctg)2F_HGSEjQ*wg+#1 z3^v{F6jv?V16IT}LKH9)GCO3ERDx(@b@^gw!^-x8G$b`yQwnArEov z<5s|Xo|La z&#YYh+H{n^kz%jy$~6i{RI}Yp^ga(XCxD9C_JaBnk+M;eq!b@}s(7?B$A-i3&SDwI z8&Z($OAkN1f(Xi3u+C60G1Z+Ji!c;tSr8z5?){uzyI<7u=|w2KJH_sf{CN1Y3G=lC zO`d&KQC6}oG{$q`$U00NV`Np6fdXOSTC#1SUs z*y&*Oodwi-?bw4$U&le`E(I|H&qNk>A=TTij$d=e2S_YmFA}-F6w4SY$>Yx?8&fw= z?*$dlww>qr>Uk|1bG8A8{~`d$bL)vDt?uJ3QZ<=VXd~U?KWlUJkk+i4=jy?BLg&I7ofx;VYEKT5LN;YX18oa)v?1Qh9{O0 zOjV1T8vW~Mc}AJz@|#L|D)}N8`9=+ML3dLZjji|Ur3~2-f`DV+59&Y18k_wL-%w9W zUBv)2wj`Ks;&GxH7VEnj08K5EEEy1{ zQv6&&{@d1z6pK?%%w(~~cZl7|+ut1XkLmJg^FQ09pn5kKy|CU^&iQF%RR zewxIn!(o_qW;U$Y4M3`JKVdDR=8)!Yh^H3bvG~_xs#!5`enNTXZmMYksmmd=D6Q?B zHaFYu@mUO()RGPaK9;DiJLQg zFtkRY@9?pGW&mX9g8kCxhA+uV)B9=NgS_{h{aoi)8^@gL@4RW#%WvWDhv*?(siLs@ z;MDcN6>FTYaF_qG)&Z_Z96)e&&J<`Fs#KbCWVLU>uwkzEJrVeEwuxNjJg<6^j~)No zPH~OmyKbJXkNn$JSD7|-^PRb9vxPK^Yg&)>``pt5c~ zYI*sKw)6(x*J$efz?S3ebb{$(Ue#4>ok4}xjbv+BXZddz+VsCK*45QzG*ZtxL|Rom z5g5AhZRT&-V9qRAWxMBLyu`l&J`i4DGzkYgf<(Qu-l4|7hZN0bOe~lmTCSRI+6{cn z*ZBs4F?UcPx6*nal;g89>#vWr`91|bdY(}+ZXR6(^#DL)=Y^BAG5g_ZP~$4-iZcb47X zhnSDc7XF>T*H7$C5dQXc=%72=J`*&5j>ciiq$&Wj9D65z3?*HW=n8Ffb)0rWjK{^C zUAkJ!cf+=lo@|`=MW5Y`6Qna0CIathr~iOwo7+31i5J%&X5C_~#J$k_zC)#SQp5$* z6`ycl5+Y2wmui8_^JXjD!4JOk$`F~A)mXQXwd6{$zt5y{UtVXE{=3rsY}fU7s3-h2 zG$dCb5dP-WO7RDT;J(egcOEHhM{|>JQ!Z>0yzw{_!YEWnmHZ^@H)FWw-E5XKe${4% z##z-nfUZAGS04uI0d;ib7A9R4rodpXj%}`*ikxrsQxRg4$Y%KU$nqA~=K)U$H|}8662VVP9UK;yuK8y9}>Nk-d!d@{`gGRv))1)Y^`6fju%;$x4E6e z2bMJ*aA|k0@38PXS5c~=pTtY!g@s{S#mpQs+juNG-j{I<9Tgs>*0MuuI_03g>{jXf5|jWbhj-ONk=OkFW}FlwOI!f z^P+BZvq$YcL~x6vShXftW8zpGE0Jelk}+?MvAtQt23_0oEcT{w)yDe*Vhb&beg5%T zlJ}^!APaVw29~MIAF?pETvhK#P17K%*vhkx)7tFD>V4(vmJ+OKRfttlZ$&ayMnqdB zVub*r-VklkT-@>fM=R=uGvc-@%IZSGmKhE9C@lh8n8e)L^55$~A0K-!E@#JanO;2W z;DGnDvZU@p7Hggt*Wul?IaODhdzBaV!^**%{h(@`^29+snWbrF2RAWFw)NvMdg{F3 zoE;HxuNd|R)f4`qk1b=cvpd5kjU_i>SA}r*K5)yzRvbXJos7n~+LvgL>fw5m`{Omb z$eG|@I)AxJMi<>&!p}H%<0OdQ@d$iYss*kegm*eS!m_&pz~ai8X<^L6yxw|>C2AS4 zrXtg#J|z~RskZqz-tp3M8!?9ZXA|RX+UOb4o~N>F5M{6J7UU~Ypf$*mx zL&ARcC60^SLzjKxigoYptk;R7J7B<^?H~9UUrXY@N?-&o^IgyqhnMLB|3a%?Z`Px` zv(YbWaby{665z)ZP~7&(#H286mC+|QWO zT<5bXSN*e6Fp!XG1~3v_jfLrrL+ec}m>nLPTYkel`c@XwGB*@Ej}0d%p$vXo&jaEY z)C?^l@xNfWUcXC5Jajp)kxqJZbRaQp8D8~LV&EK-%evh(&gEZOfV1vC-4=;_qp2X` zTKfzO`?|w35PMAZAP2Pb^-e1Cef4XJo=p2T&9>qRD(nY?SBfmjx)^$>C%QBX7q9cG z4++T0$vqzTbD#EG#Bcg=H92l%7U5G2+Lvc8y)%){^W11nHfJ~V3mzO^z59q_2A2NX ztH#kxCennSjr$b@L(0}A9Q1KoguD?lHvECs3VSrt*FcLDX2wNkpbBv_*R!IUxq5!? ze|Z#B%&V&paV>PNbnZ4=|Ify0&2^qiB&;%q+yZfl*??WzQG*MwT($K(I~u*OMZCO0 z^|Qoj0Ts%kn6|meO2?0Jt$KX^P538`STr!T~ zc^C70;~H%V(v4H|h%r${^_!3-9+#`7lj!C;j zrLi9kd^`i$JZZtMkDsB+&1F~as)1=fT*kG+{JQD0_Yp{?$^2D#tS(JfyQLMJ2V9^& z*SnmQN#)5rt8xP)t*eEkhx*%!^yHI|2Usc?QKQV@sKxHu7(tt*QtGVabC)iX7&^~RH=RyE0s*fzZ zpJ|cIb0uVP?;QfZuxm(h4QPl@)tmQDEzKC0sQ^}V9md5UpLh7>8oaVv_UvGft#0aO zO_XHu%Ye;bLbwmRgu`K3^U%r;z@C@D72VLhHq+2|7<@3h@v@-J{=1dQ_3ZdHbyq0- zP*|tMpC5(~+T(Om-s*(#0V=DO&0XmonK+g7YQe7z;s`3_tyBQ}xEi;&m;3|o8EfF(inCu^Sn++wVrKC^OfY5Uiu}CR#bZ>scVOWIenN$NPwgQ2dr7J=;6UaZj(z%|@2m9&5nrlxx9fqvbFwTE=>4 zT9U8Ng4h&iY+z+MjgwMMgC3xk_Znp7fkE*HYS6C#W53=G>_M~I`0u*B2Q>EW`qA3s z2Sp;}w%_eiU;pYUP)goXOYk)fYhjOD&bT&k84P|5EiV^Cp7>Xk3RUxZ-IYqE4d2A| z6zIav4=^400P0rj3fLcXd|T^Q<=F+`=zO!u5M5<~+_+Fu=1Uo~(9~Q}p5Z{kV&FH% zx0`lyt;_XCvqMD7qYpHx;ToU0)^js#ZX~C2s2d0fX!43S^^0cZALt{y$}t*vSbGk8 zyxr*QJUR;drBxJucIfQyp&h;_5@~lwD!?FgT9&_Tr!@HI?jM7B+wZ z!~sO&-$B<^(fw9NZOx}0!|)(@KhZ(_>mezR^=&HaxK)M)&gPV0)GzJR8i=PD6*4|z zkjON1RM4{R*msZc!_2wLP`M9>UJt}0GM`PkZt+}TRjt?0KU!OSBJf!CzX#n-KTGQg z5s^~R_=EhVCter+s=CJCk2bUbW;KCS<627HJ*-xcc>h}dKs|jYu==f8yjaEBLRTlD zZc)?iI{VKosiTIW-<_($`?-M(<{iO z>=m?(;d1iuxQ0yUh<5n3^)wlJd2+p+2viTg4rF=8mfzbFohAZT4><>cgaTFXW1jTj z`Tj{o)!Sudy$*vF0~VZmghS&ddxRA24Y0%q%FrrnR{$dii_b42JWt|m0*+{Z6~b_@ zjPVAW44q)<)IIRZdj7K5c;p_El+CY(kl`oM$!C~CNX;X2-HLLr?~d-8@-y+tof?X1 zS@)@fb@wAxo}KfFy&u6Xn?pZHEU-OrNQwZ<)H?+7+vz}ITI#gQpE85t&yBi1gG<7v zE~$ndDV>Gzs9smPrw%^U9ZwY74$a!;mDHJ2?jeH!!(zNKzNR30&>Upu`d2b*m6e+g ziCrC#zg)OwD*&9(rkz61cI;Qzr{Gcs`W}>A9wDK07@)s z{;8)H(0Sis%($U&(pr2N%Dq5cse_1pwGy@XNk^#N;C^PjUcZ*u4IzhEXS3-|0h|0I zE0Vl{f2BL!h>P{$=V9Csyrng=hVEyI;iXVgRhKkp+~+lr_0vvI{_UYZV67*qy3L($ z`QDEb`r3!5;BF0Cc#JTJ?gCQ&H1FqAT42f}+&9I_+2M*q)!QO$kcA>iMgMn3NbIZ8j@v^+>RN-^uD*> zGeskEuD5%lYaYOKAItiGECASLN(Xps^^v0c8opU_1RhnPQZK3GeF~g_yvrRVjox>) ziQ&3%tz~xv{s{`E<-8LH$k>b#6PH2kcRHu^QXWyX-7wP)KXyGejw|H1RjQNgAly6Mdq_nYm+jYdhick`_P74z{Hh%={37? z!#vNrkbtrq&rkp#;Utb?OZsH->q*PTP%tISqf!d9$ax2<(&W5rpY|0btGO2AI_d~6kWu#Ts-b&WS3q@nZ%NOxe`pjcnAhCD+@u*6t2N`Owbtp>2I4J?6f93D{ASxJm zsl&s(f>G{8s2^y$1X{#2yOL%8HnZq1V~zmgGHQ}pM{44*!Q1aE+l+NG4!zB8VB|2- z#qT*lCIRK`iVVEIVOemYtOu1^mB$Zy2L?`ZxNjvHa@4^vvg-m~Np@IXwjOGSS99kv zpWEkjXX)(){8`tHoNwE!O$!&Jz=23?ys||+w0F!}lOZ|UP2Zt#w#&}s;7(UupXUWY z;rQ153zl-*z4LSreg3MULDy@I`4)%C3OmNY$O8mrdreVWOMTE>Y_e>1pmvpd812S% zk9Z-;lTp8*>61FOuzGpR*Hx1oVV{w~y54@(9ud$cvTe+%{m~!vcRqk7&)vyevH8Lv zPGB{ynacZ$?wK#x=#d=t`7aAR(*UL|RB)2yycc;AG*JuWGV|!nG)XFTc?Q=M0ujuR z|0ZOj17zJ+42IUnFxVFa=c1?oN)6mgz{iF>vnAM>y&L@W_RUhFt0gwcjFhcR*XyzQ zfAZK&E5P)3kC<>>2jaY9w1t-|P`}F2x=11pzm_Caj*ty|=+3ZR%=b|Yb_?q|u=iJe zC?%(hH&2h{!hr{2zxo$%;`h>&?&c8mzB=L%g4DB)|3c8MB6hL!{MSp@bz`%yyKL|^ zez1Wlsx7nt`Km{WV$_3D=sk_7b$B$V5f9!T(m zi&s_|27X6n#j)W@E3wF|>{3HzAokJp)%*AMSV0zi?USB6q8`j=TaF+7jht}}%;jZf z$Gh*u;M!fnoOtc1R|@NK$al(WCSCRZ+CQUiLS( zlUaoPvdC_R*)MykrY3wv7zqbQ1fPvcPA`2TC@Bl7sVCg69S~yZ31!gne>qL8ky&13 zrs)d>=bn74%0J7&`zvC=h8M}8^N&VS#a;#Kz{7I*>XpK-E{AN(MjPta#|fkfp_6aR zKKT1_C7Q%2txZJL((7dt$W=+B-XP4pZhv39sw|s9^}VD{J>M)Q9~ul)~pLk`K>SB+R1t|ZaQK6r(;7^Q^Yp+8WM!#Ydcf)gQb_Q6YS78z7R~Z6sJDq9u^3!@`0f zye-;)^|m@Ll?feXJ0epVKj#6-$stkuMD20dUy3wWdHQQA#sp%_;Qb|6l=QN@1(!}v z>33sLl?ywCx%*Sc_uR2gd1o*5vdMDXuY5GVme@K?Qd!5`*@}C;pjWN--L0J+)#rgI{?(*x5PPxvuAV22HvKh9nK)0m@rsS|9;U zyWzR{T^q`y)9xhuP1@YKJeKx0Xvr%G@S8d} z`^sIEhj0kb2({@Y*7+WP5_gx@@amzc;%Cy7s>ysVE*R>r~pf z-Ay?e@ttp@TF5Ua?oZ**>%Uj{=xxi0(|WdS>!@;F{*~H`AjiM*Y6KbP^^gAk%PxR_ z+A_}l!&JY?MBe)sY-4B0X#NNC^4NP`Vq*cY=92j9b1GNW#{_L?tr3|!t)FD@EHOfw z2xPqZ>7CF#w|HYw78v{2FMGK)Tstj8iHTE{{lcewzoh^ZX{x&5@lQK;vK227SnvaT z+sDTTdb4X^Q^1j3@9pjo%K3lg<<`LjzAa<{a29VaaR2^n_(yf4vsG7+s@*U1=8-yP zSLJ6`A+fMpXNf!>t)>d89b>c6*JcId3~aRlc96>HPMg@~co3K|#gd>(eXPx({nO0f zDBiiTtSYH6yjxAp%Wh(6eVw)YzmUAPht>7^3c2AMnipmE&yAVFHCR(F?)uV%R z3YlMSUcyqeujutY|F~HV@3;5{x6Z|GUH9B96@u(wZC({|XlMiEGTnboOXTP6uw%LF zZ|c%KlvH2aT9^(Ofa*l+`h81yT&*_hIE=Mzp7RH_xV!&;O&vwFOb{G@De(HqxMr35st+!f z4vwv6a1Qn9h356F5k17gc^gznPnD{r!Ad^*F)T26QKWg2s=nSFykl9n=bj|9Jyh`Y zMCC6LfI^>s{l{YLz2qnl-~V$9bn$`ZCi8AkY=@H;4(eo;BWn3XIzWU!y~XtIy}hUF zzty}C(wv*-h;KSC)l3wXGiJ+gmfZ0>0MC|6tWO-`MXr_oC|M3W#i#-PzPkw~yy}g& zZ3H^4Cu<(K`!|C%YS0Ddg$B)qI``t{Oomer$16=h2N!2fiERpq+3W|VIDX*zK0Nz} zl*wq}CxiTyrP@*9<+oIi=Y;5|Z*uNRT~dN~!CIWCAV$rXsdtFaR6d6%yM8KPENb-I zIb&ufca?PobA2&a(p*DodhXFT6V=VKjFq~?3VfguGJ0TcHT2Lyvu-GNw%Bq=wxQXF ziEY77H2*1{NL+jNk@v^o*2xfWpmNDC7&z@8pQzO-9C&E);bmo38b%9PWxkObo$i(| zFM$+KceZ%;eh7*!TFP{`Li0R4e{%>s5&$(4T54;463gB?G&jw}<}co}>(dqlV@`u4 zs@!%P)@V4>(~Ah=Vt;We$|2Fzxwqh{O_@F>ATeuK$hgJiJqVs+r~1=7&%wAO^}h%5 z+N3JRZnW@8Xd}_*269t!P8P_CuLy7n6Nk3;(qp3^XKuy7IU&FK{FtljH%bTESy`8Q z-+?V(Wb7r#(9jy7k?3o_5)iq=)qNE?c>@qxRRfuk30kc)`MRZj&Bj zDX1&*2>U-gi%K>FjMZU{|H?9$U2-R%Y{{U9RQLOvY0Gb55_76w-e6wp6bkJ+q zrqtDV{cB!*RLlKZ*5f~9ERG`EXC=K8fClKHe-H6Us81^Kt!*-%?jm@cUmmtOyCpS& zDyx=~tf;(&nWCaT1o5mN)bKrwkKuLy_WEPlhA2MO5tEI)4+5UDAnzsOzRC$bzQ%rW zlA-AeD*Jd&7FB{4Rj_OqQKfX&?_IZ^!t<{z;pSK^ zMR4^jXFtUk{FU=+>h`KOjE|X`C?G|C!`OD2A5~Ms;#c=3nCR%JtQygPOfP)dd*LtI>(V!diNIC{r(+R^zG`^&17 zrVy^*F*^7p1JY}>>>zvl@JkEA5Zl)$jvtRFWxCGP%1BMYPL%~-xK`7IKt%+9DqSeR zkrj<~UD&rcC)!pDnL;M6HPz>PUJ<j4#H$XO~~s&mGjxnrcIz@2f+ zLH>^8fVRYYXy|5Y;$wnhyUEwd{@u`1az%}G(ot6BfktIP+Q^WG9%T=m9D!@agp^kC z&5E_5+35v995FC`hrg%uGj0!S*4W&)EGrJSS>hjYhCaR8^Vzknt%8VWvjqRbQXwrFSXyuT zcR{)Qt-!5M43`ul2{Qg3#{Cpu@wmo6y9Wld{>toJk?U?g5FK} zZr63BCJ&V%+c@wwbC(Zd?b3AV?%X=!deiCg$AJZ^q$Q@@Aanw#uQ6s=}1W&n{29H9M+Rx3S}*!myWnFCU9u+CMp z&W2@r+CUzh-ezA`IUC1o^D8NxeY%olHtTqJ`rg@*8iqjDQ;F?$PxRcd3iUawnWASn zcr)uHmxZ`~qtPOF6-vq@d zTQEx;9WcYHFSGW&<16>M*l{H)w&9|~pY9!#EmXnCjy9t7NKm0ge%KDsRrO3cjJ7#% zpR$(uyjPa0MN4je>)IRyiCEIPU}-|3SQP%YO~!6Kw=scS|7Fk;vx5-+&LM%*AC$Ud zQ_T&lLgl*8Yx5W9ZXV#fX4zBC zsPnT-gJ_fDuRr$ZbR9?F88()F$N2J2?|9~@%fE1Q8e@v~h!RG$=xlQ!b8Ieqa)Lmp ztUK%Qd~m-{*p1Gm(>~Su*bSL@Ij^5zGG3X#lX?Fd(|>ByC-db!v~-P#9J0V57KHQf1%3}LP%Ln6M z56cheqnm)U7>+%=_W#iz68eD2+mI1&t&|%;ANZw%)tLYY_9jZcK4iN|)_HEepq) zFM&Rr>?O?(843%BcRnPk@$H}Yq;dnl9RU}VCOcEro*P~ZllbU-=MlQD+|=UR=h35) z(ZuSql@Hm8f%qqQ$D#|H5{za8pL-6PYY#8Pgu-5a@=v3LUg+-$J*2nbBK9D?SFtfc z-@W*Ir)k4UjOYJWPL#3YLr)<&*b3AuLzeT?E*_`a$xkb{bnp#{xJWYf?nAWWqxbewt z&gQPVP8F)EP*Q4m==kR0%mgFR*6$~OMc~UYxsK=L4;ensFfNjyn{QumtAo;5O9aV? zK&MDTZxQU*m#2*Z3H`7}+&6f4oL1AoYU5%_sgJVLwnuamv|FYS#L%3Vy`Q0@vc8*3 zI$dLa33jU73tw@y{8^77+d7KD79&8DYWYyyZ&qIW`0?1hU*lhd`TZ6nx{NNMwK%z4 zWC#ZXq;vtXcS0pFu=W4DQb5uRlBuyBU=N~9?|TFL?znA5O$B7HRdn_qrYY5-`J}zIZ_cUU|dZMzt{XvnmySP2K^X7$A*Uh1g zL(u%I+>f-KJZbJVFGW$O8}+_n94RdgzpD2nJR^&&#-p>bORPGGckhEe-xh7T7S{du z@X_*%hv|;%rv-&$1})K7!`WoQaEi$itxDnS3#ZCS2u2pa?sFE?58ON+APm!O^T##M zM!NQhagx4hhRO2}NLS3hzY>C-)LFA(-klC=-vUS<{h5xAz%!MLWb4UN7;R?731$_Ze zRby@L7g_WlJTBfbD1ZJzr)V0YP`9q2RYLMnGL{rmEdr0uJ~!h6)X`MC?5HH!!{0*xW=6SVulQ*Y56V z&h28A=&ZGISl8*0renhWoNedVxorNixqD*?tDP4u8G@R8VE|6Ok2e z(ID!m3_kmWeoSJvUJsO#mZ%*YY9Q8QK|uw#C#xlV8^g92j$Ua3l&b&DkGAGOH!yR- z7B8i&E1msa>?@OD*~?s31zv^=+-dvbFF(296N>0(&*GBv+t>QQ6GN9!w&|z5ulI(_ z?|-_vT_%1a(J**g}ena*31@Q|ncz#awBhLg~>jX5Ugj@qKI0BfpPWFf|S3SP?0t zYZjZ?g}+a<$=Yirsc;?u>P4FM6L;x6!JaE+BYqKn=7YQAYeIwMZE|btxB_S<_5D$# zMx(OA*Y92h)L|zT`#5BgxF`A@&oSkY29fcUZJ7)rm# zObpLg)!{;f`B691qxU6}Q(U)q)`o$YKYivB83^0cup&{C+W~ZHeEdByX(_9#d)Y~? zQdrd0sNswgFz_MH(XQRJdloeeu-SCzr##Yr|%|ESfzw5sMprpm4!ohdOgGED6c-JL`VJ_2|#qrS7PK8g`;r+QL?H0 zu68)WV*TMpd`+((zvk@pbke-vm=%2wZxJkrS`KJ|myUUfD0cd&uW|gCY2ij-rS+nB z4tTF>CK^gYxsMXyonf~+YqE${wpaf|AdzV~?lc+`3D7q-6`oRTjny_)4Zoo%!xgK7#AU^xa{E>jNFfe5LP3OT$2Op8Q4iR`?ksYISOp5Xa*0zmS zFJgP0f`MIw>r$!AuIGTp)BU*@Bs#Ud)&pgPB<;aD242fz`K^g6YrAc%j=A z3{Vt!gh99NIDIX`+rh5<$AtDs27-4B$yc-J{;UD6kY#YA;L75*GEhzPrVKnxp4&@s z>;JN-%f%Br-Q-o33d>&t>>qi1yvhH<-zb)0xagPvF*kETg&hiElY6ff}5xR@Ea zw*^rVnTd}#O>-7c*nMVQfTczV0_gjCGiXn6jT3udR&qc(MDl~ApROe3Wn26mRQ^#N z@)shO!+a9Wm)pT%>$;z+PyNBcG1A4XHiXyo|2yW1Y{RfAV73oKiQMZYVE zN02f*K8lxO0w9oA7iy5=>VKzuoW80Ye(MP_A8kShYf49HMiK@p`v;*EgFMyZl1E`( zWqV^kIE85jhAVd- zYipT4yx*+?&_s>`v|H=hEPHF<6+?|FdpenRyI+(BLAw=%sPF?>jr}9#A21xmcGMLw zo-TenyaSM-mAit(;FWM!j|1iMdX#IuCr$p$yw-h^$zr)|%WG1QYEq{IC-4<>C+J-6 zu_!g8L_j=Y_1$t|&O}bE`pRfRa|I9|DNqHjTm;-;Jh~Dfyua17SjG_G%JU&Ca~<=) z%+f4YKw}}i$tfuhv;K>x#8`G;FBs`dm*y`rFKQRpfU>WQ3Phvb4Ps9h$T}gVV@{Wb za<`UkEzU#fL1vs$85GhxeB?0>d1ynX8DG))5U*NLtC=xCzjwD%zVrA>n03<}?9*uy=oRakUSJ zsGe^(Ayy%g!oWEP)`g;Kb}6cf#eAaSZU=GJp~@|Fnd+-9q*sXt7#RFD<7MGfYCNcA z*{(%@&-DLLsPEGLMz41Ir!j0CGtjMl6#>oxMKiO}XX-n-oc3|aE#S(;Ns>|}6-(cH zy4@<0OR?{MM)(qH4#7cYu!-?6wOawINEWfdXF6hv8k&fD|0+2RfMDiIb&R53){N)J zhqzC5KN=m|r>=m(JJ%Ls#s%EB1wMrR9!}3QzDuavElHDC(jDC69`{wm5A zob<~jkTsPjWwPkdHs&}KKGslEa~VKJwuj;L9oyjl2qODV+8P96rN4*sR(7$txP7^~e^AiK zRDmJv??HiMU!2)E))CZUOGpA}u`|n>Tz(Y3rIPfpI=z}6+9etI{t5wknyhm)5!)Dg zTjL`^Py+s<2%Tf0OGZ5i4GH=1bx3-qC6pw>L@Wf4=vLbEBU& zoAcv;mX<^~D`wDMUL1Uho=swe;j+|1|6LatE*%-NRZn)+!Jiw_`s)!^nB-1U(H2|Q z?GDQQrKC*RyUzO&$SzOXcOPWMIBNNzZVh}$4W+%J_+Y1Q#Ui|y_-U=n$L`; zWWv~adHu|KD^4P`61-%g5~kPl?lk%R=k=?Hv=fBMIziv)ip*8^47_fpUHd$|X*%uY zleO~L*jQlpP2q>JoDxhr%OMoyjsVa0#pWt`^u4A$O%uuE@@joK9LR}f$;%eKGf9pE ze<>rs4>)XH4j7l16i|l?R?7au*`c;&k*Cv@S|hSfW}__@%i&P(de|P(Y^f8IuarAr;Ru9f^<%5vH?L^@~@bMYS0UJZB3@kB%6t5=W18En2zVS&&(q!FGf zz*(eJ-P2t}3*cuGbGC_Xzm|q_W_{OD_>wH4yZqQ$d!{isRiQK1SX&;(6@Gumcs*n~ zBhI*TuWS@W?vtklUQt(X!4S@eh5RH}!s2eA#b(!N37sNw9WTX?OwBrKjP$?SRASmP zY+?p$9O1qnVVN3#Bc1~+-lX;y7l9kclgVhdOT7bs7`}Wnk2Vmp{`F@~-e>B}3>fGn zaJ-Eqd*ssKo|Vv!>D#|5SHnm31Yz;38?37`<&}LjmUYl$G~+Q)G0`f)<{D~yAL2rv zAxdtv8A8ZE?#f?EGZNh?MYw4c zLFjhs0I~6iaLC(2IvX5!42j56&0$HOc}zj)&iru9!R)X~-mg2AW|ENfZduWX0 zL@Zx}Un%Ia$U2|uZ}Nn&b&fE~hGEg52(Z5^pFhQvSuK$v0B|DTK5a0?HHt42tPP@0xuwM)tg{0)6iO6x~Enj!A_hvF|6fah7g|x#Jd@vsdNjOi{(Lgt7Rj z8k(~21^y@fc;~!JIQIr2A2a=Tu>gbhH+Fr18eN34%1c#Z$bs!@3E;!M;GIB~f{`;m zSsf9ye@$`(s@khWAYwo<9e<~Q_T|f$*}ju(e-+L_&QL(P{?AxxdcsQ)Zv1PP^b0qj z*E;f3cU-`f=_uY!p{vhy9A_6v+4WdvIl!6)|UX zBvJ$&cY(aU6klWT&b1Akw_9ZvY&z0&B)ItXQ^~XP$nwbZmPyU3<|QGwFPO$6f%~nc zw^*JudOB&K!o0LGWYgNzjB9vJ9_WlcGwQ&1^&+2J{KD<-<4e}znAAZK)v*Xe@v>}q zL%q%^czJ+la1lDQW*JtvHF{O>vS!M06dC$(b?{d zk1r`P&ZdRkDAX0je5W0CrhW=9imSJW@aM3vKttx%J4*&@V*eP{9s02n*C9)bW=jSi>-QP&QgIt{Pya2 z8&kdu-$aA;En$?!oT=!4w-yfuK19WLlFqFXV5G@BWyDcd7j=}AoYC(lXy$L6L%o|) zS!&ThMha*UloGLRz3=>vZ7otC1In{|z|qJC0Fo@@2-?GHm-U4jy zOIZam=xBFS)20$1&Cf|2OPjng(I7`8iw5ojllAg{#-WpYb86rhw%`#5j zVlS@UgxxE?o(y!(AfheGoUv?f>EY>YnL8JkU`^p`mX(ybt%q!f>dvzu?#fN$$K!i3 zrxQUaIY%aDHkH*n`e@PJ7z}}uZctPOw1^fJw*O)<|G3G203@)0G2Xwc-RdteVTgTs zyc2`v4vFfBI)6U znNLH9>$|n|Wz9ANItJql-&xU`ZRkAd8Ywoyk+SrI<&UqTca5SEV9mB*A`Tfvw3+po zJE)EZ*G&c{epDVQzHWpD};xO6+Ihmz)IVY zb8@{eBMcW;BW6gKD~Ct`;Lu#*DEm!YTVC*N5+)Uz@Cc!LeGoISS! z^t`^5^7u%fuTj{BB!39nb6ofqCKN`SqF%oiEJm(wwMbQeL2L{sJb8GHrR^X*mx_Al zztb9OkP0d7-|CP(xQ7ox5WQXZ?0u&iw=Do;&Ml79FmBPkr(6FnjD~S9sFFzD?GO2J zV(|B6@Wa+9Z6B zY5tIUm=1;gRo{<8I~3*joFj398)2X%YE(Q1-`iUf?5%c5vLv#sH*e?*Rse_y zz{M(0PR8jeoi#38x2gwCsyT4FHb_#*bsQ~W%i2Uj$8DCwwj@qh$3Gt0zUAt4* z@)!0ee>*r%Zi}2-h4JzoitcXuMn{t9w4-P{vr#2tvk-6~mqc9^+@N?#%tZyc@tT|P zWuldl_R)lcf+@@3%%kuQLQ+1cLyjI*hON;lx1sAuX1|SO$}7z*LF;MPs`9a99!ktY zXSvNT?=W2p_uI~W8(&k2+o7#zT}MbSY>>shVTOI=$BshskjR~3#_y_LZIyM=nf0T$ zJ|7UtO&lPZetY7#P-rV^S1m!iwfL41sQZuydi7_ynE)KX*41s{oqm_RKt>JUVA`g*&gfyYYyZ;hC zXWODr=)VOhhxHP#KBYQF} zytlV{LgzamBW}W@aXQ2=9CAyD-_$-xAz6t zKAU04uyMD5;Jgz>BX8~olQEbS3%sg_{Sg$myVU&~Q`OqBNL&PPKRCyM9}J_gI)SWb zYXMZS3HAql7Elcl`sUQxMdNEZ_71?!A*3F5F_biu6i;Cr)NzDLml8F2g88KmZBJ-< z!L4q5cJ2FlgcgvrJthHn;EbCW;ZYblAOr;~F6HGMwGt@a5!mJxc(hS>r6)pq{fdUK zjV2n@<_3WZ@sxLTACwWYr0HQoITTDZ_+BV5v;J6ITr`9nmv`P`Iz_ugq(&_JDM!f) zr3iPfadBi%jPM*Ip9*ps;e)e`OBzlffU8Et&s$k3PIe@3NhD~tj}GrYp596zln@W2 zJ;sR95asekOIpLKayBPMv#^}HpH3V-m`DlCtWJr<9!W*Cje}$iTo z^TELcPX$N^UdB%V=fjKv7Zbfdx+Kb;W~Ki~AYhT`{Y}2piV;`qG6_T=8{8S4G%92+T39rbpHFlM(efyRP*@sD|PC<^Le$)?}?+(5$N+2Iu=}3we!{Ku3G5PitU(_`d0|4Pt>IrzD&DE>!lK*IuHJ;MI49%Gkhahd zd8^)v84gFcnk7Cg%&iP$kdXZmry2h5&;Ownn5JLePYH>{(3Kbe{RfYA474jAym~MkGHDj zr5{e6-h1u6*IL~X%8K7mkqD6h0063tw500CJ^AAtLV*9cV(elz0086w8A+hJd)8^^ zrxu#8Q}9poEKDa@RC20RU-)UMKSdxx%Z*E`jzA~Cjs#*Q6HAT&1L?@g`K6_R9}ff- zQTw>$9@U)HoaLlDjl-Y$ojb{MUqK2M9b`9_c_8ZXCgi1eqY@j9C^jiNNx4B z6I|*uU&0XEme&k}rx*Lwe-5wJdC)?eUkk25c%hi&dlCR8uru8R?g%}Ffc5dSxZUAgdYtZ_nwBQ=JZk$> z!SV1$_ls$RA=oAI_=J6nUxKLaJr726ddqjp@AR-U{W`YBIq+{`WF9&C{kdHaRMfWN zeZuNY-$@#1c2O$HqX|{+aQVa*2^sLf;$IBV&G5IQSkX$w&*cLE&;c!({(8U%)>5|@ ze1B%d#SEZcpglQ0=dle0YOmYho(z8_;DRpg4CXrz#`&idue|P{2T6>#_<(S%aN>(y z?!m!g04H23oUx}bI42Cvz~ zH})|4w@hFK6tl_$wOAWM&jvssLM#(jj2r1YAHq-U@3he4Fc*O{pkQnBFG|Qx>{7 z*V;2*e<874i+V|FBYSM*`T0hSE_K7(;gEJ@Yvtuy*eydAH_tC&$2Cisz9}O?Ychfe&a7`2SWs8 z@(bKg8ny;kQPJ98#(K<%Z|j73LKu}Pp8VGNSxMZU zIllY(C3NxpWVS{ol`n z8)50O9OHMztH;reVh71RhtA_xw4GYe(!C1@9mif`mmn!T_3S;R720O&%RqgLNHE$C zdw%**@}(08W2Cw%1&UL20#eI%-JZ-}Hr7uJ8BeN?CEcrP%2|0= zF&EKmT4-NAwyEx}9$XCf@^*;zAU(T%(@1NW@LJUi@bWHw!__qwIlEmyy?y9zm9m@! z4LtE!=1+GCUqeCz59OA*G&VX#?PrC2RFJDWaheSeqO~o*pJWl)g*>E=b z%a;;9BJ?!$yF-&7-maD2{Ao|o1YA)0!yxeaN8rKMRTtvoCk`4QTn9M_Aq)jMz=W?y zcW%wjbtCj&W0`C(#w!W8T}B+D`SZdbP~JL&;HM@c9{4e`A*Sm#GR%vhFU6Tioj}?M?(`CbRllizLAAIfa&+W-Etf_~aj0aIFud=aD?riW2?O6fD1dja zGC?XQv{xeCLuejk8Kk8Cq<%L_G61>fyf%P%BXe%R@5K@luOg;-IGLXe2y33sk%d9RgoA`HF0z-rCcqt^1{ zOO#R%6(mL~P5XUJo*ZhO7hfnlW7^L2jrzNI{+DnPY6{c+QWX79j$D0)J^00fzDS$$ z{u8j@HQ3OwWhpGE``)C+s*6hJ=p>b}E)~eF`{fglf!$E<@RZBQ{bU^9;V=x~x3$C? zY1!XtR;_12rj2syqMCAh^Iz7aXm@yx4y`x#YxT>U?)RILi*cXu>j``;zk>j3FfFJ( zsdMvhD#&xn!8)QMoJvE&Z=uR)Mx=w==WMJ4kWsd4$-`0CeQah|>a+=?z07M+(hU5D z*&a5MW&WhD%+E3!-6XFUfRhr}w9e{I{D{&KqR%fG;=RL5)-%We*v z1s+p1@VJy^FSz;*WvS7k;%wcJohHSC1s2C*FiJcz^mafY#HZc15%>nTd2ZuxnOfg2 z1wJ_ewLFM}x&`!g`#xwGXAEiW>p|x2U)LTe zv~A3|QsUBcf3Yn>?5vdPMoY1Bj-Yn**7Ae*=Js};pzhtjnS-h~J!-Z{-y@eu3Jp7F z@CDhgFISxi>mq(6yfcq}HMc?MQfu!}XP5Ua zv=d;TDtNNm+MG?mO9hX@+)_Q7dM|zLK`?tUE+K0toBzzfl;#+hJdoNyBX7AKM;)#s zt(an6?MZC#3KU#Q5UlDRnV$Q7FZQ-raRd^^ejNkXbfIPb#?C34N(dwReJ|)XZIYbK zDK^$@&!lx9jLc`mmOCU2THtA9*UDv-ww(Y&e;d9#+apz~r8#Q_#io9&&SlLG^XwM3 zAN$U;Qw6DNr6NY`D<_ul{?wOl|Z=q0)Bx2~6 z%`PtfIdBJN{&(b)!M-nOY5{dLP^ zr0AHmB84gN8sNSviZUi2JQM*|Tsw!t7%_SjbQFbcOGeOJ*zr5u`qKu6m#egvx3Fb= zX3fq+A`g$L25P9sN_T0gr%p`-@(=cu-BtP`Z~oan%4G<<33#Lx85#m~fj=b}{53?t z?1bKw+&_2U_p_bwm=a7vZEW+~w#qIh&z1E_RgsLbcyGEB7^u}vDEdaHg4ClAKvd#^ zwY|V+_18ytG`CqDCAn5=;kR2uD8Pn#ssmU7bck~1YNTV@`O<8X`i%&`{kZ|S9kIW&p!fV7 z)%u77m&#s~v$fUZOC<9($JOJtk`iatv)eP%dG;aD`NHZ>C!tra4Ncw2$lZ776^J2k z8H)i6|K4C}1r#^Hl7g%rF<1WD09`p_%)Yxkr2c0o4^_qt>qZ|W%qjNW`uD_WR8UVx z04Xg8tu~Z4N)VUeSf`zRY_0KLh$nZ12k*V-=)LEQ4rcPjkF(2+PUkL-{_hJWVTi+? z!n|}W&u^h#9s36=$d6u@miau&E(y6Y7g0QMoSf3usXpZR7GIXZ%A!J(gs6W>>fYMU zc}DAgI<3;GRNu7z{O0%uzphbzm!ENE;r!}#$VDChqX0OHhf^Kce*OqCkHF}Jr;_03 zgO73=Rv{5e2+5+x)1ziuRkL=n^wqgWqXa%uhU3AHUZ9g?d=27|6WbC+>_Ax!2cqoi zA@`?ZZ-wP}n@8a2VQ+TxF)KAvVQ!!dB5gmjU(%8jV+@TfcHH$OFH;ajd2oSg%dlvZ zDMhRMNS);Yh6wcL*r-Rg)kdjAFJ$b7asX{9FaHf!Uj*WYwbYwHJLw)BloS0ZqvD15 z0wA)?y4KCxaK}I+SE@ct@J`xV+|(4I?~70LM};i|M4H%c71qaR`sxUv-~}9FL9@d4 z`|JUxu*pH82(k3xyLq>OE@gaolKb|Qh4T1G$%J6?*w11}ExfP=K(-u7!wDs*O zCPHUaqa+!gJJ0ScSZ7@if+rh)I&7{K0C%QQP^{56l>nfy;IpT#G%|*=Cz!Ge6vz2B z7w?OPM*8#RS=nFI2!o^XNGI5x4O!VXsu*`rG8bgy`A<3Oc1jd2Z?FLpRSmAiGZ5U}Tj1bJgd#u^B@2Hzi)#Tu-m9 z!beqwEj9zz9&a3&i%KJ}rhna}N`O5JF4It#XBr5fW|*^VfpYlV5;5L<&+Dw89>QNP zYffsXbI0@W6{!97x7D35C(25-3)pW~PCITk!=3BY5z_yhS{GJSYdgvBA25$s@;kb% zhw1Ny%!nwieC5vmqhbQ6>^Zl}!7<3L)d)2Y@4uP@{#DwxWofz0X0YU?OG< z($8Z!E&i=zkF%_I$0s{8|GN6gT8FLRaL4Kx5T3E?s`v*gdt(cKhsQ%;6A0wT{VMsr zGSgE&xx3*(@ER-+>}f!NVAQ@4(_yLYA;4DY>My(?FrBvX&KiF+^b{=y2VM(OaBJ_4 z1KXI6Z-~wHW*^0>E~)%1_1a!6a^lb-;(6~0B^^7F ze>S&FFSM+fXf{^9F_sq0#W%nwP2QEs(CE=jg-37e`|OPN+UugNXqcCk0txFC!tybh`nZg2ztIz z*G?S~DO}7`#I&hKWA+L8wD&)lfaxKyv>3wj(C~i@%q87{SLdc6r~2&Obz?}z`vVW} z{whpfq1cTN;5o^zw#^wkCS#sknzju33kaHCic%d#kjVe5f{PGm3bcupe<}11Z5%5z zi2(G8aS905K2_lO7)o0{%foD@Z{)44k2&^Z`%2Yc+Fr%3Q)OCyB5-1TM}j6no}^o2 z!z8~{xIqgahX;E?3(ImOnZ!(7%x&Z29W^*^eqj(^7NOY`gw0BEEgFfqP;%^(cj)fS zZk2LAnD}DE=;RoYAxym6)5MX{V~S^k;NF+IK$D#pI43>0yM%!o)L{BF9XCeBVuHuy zJKG9*pmZ?!^LlX!=q@q1CKyYm_BQ=QQ0XL$@0aV<##(E5ai}Z1SDXSagJmm)=0Zde zb$ayo1@DVE?Nvu)@d%c8x!S7McL=4yGw987fr>j{Hb^3frMtLj+cNxvP%+TmL{g7e zTTT=FT5{QYv9Ml|p;^8-<_m`$R!1AY^0XIYtD8&LiYXyC8Oi6q?Zdzuq7Qx>^h##` zEASVglF1cYNMnn|tA=z?B{4 zFPbJ{Cgv%Wm(R{X_BX9PLANfW=R^$C*x~s+;sTY@bNS>R`GG0t@OBb>A|uSN>R8|8{bSZHv*gADB+~=t;!Z23=tV=L-8eVY0=rW zgcCq4=vTpgb7ddB%k`)|>)R%zLs$(F&3Un4^F8*Z9xjZCh~7oK8d)SoGrVc6DcYDb z^fY$lw24pcwXgWmii=Wq-#wzAi0imSy?*^(Lit-a;Ru_N8LmiKfR1uB|LK4_wM~&L zjEf5DShEy-U0MI{57RP8i`cmqJ*J1!8|sgn*hA)&`8A)f(#)X&PwWKnrQLGm7NG_A z^7D-wrDxP;S^p6zk-k~B(Q{c=0GQmUqR1>MrB0!@$(GV_v?E_JbADTJ!Y{N>Mtim~F zRPrHXf#sXCqiU1%iwkffDspw!f|J06ce<#GL|<)q3Tb03fIf-@w7QtP0{mBcM*^!A zrAF`T#XS9sa$KjdICz9*&^r0$T$19AvBBqOy-W~i;PTpf_n5=Gj`>nw4)PSC=k9D9>3{BoUnp zn}%~@G@b(XrQfMP&-7`Bp%B zF)l|#iyn|!I&Y1YfC=p}zAbmw32V-q2_O5g>rcCNaeR(njjd^w40co8qXu?ck@EYk zl0~)|GzrXP65!OXaq`+VwrWa+SNRbChaflqzUe}$E<=XB%rf7KB_|F6`s$c7Y_RGg zh*!>{u#|Yh+(ADN>|6l+fKdmv6om;*Gpd6VBc|HWGXu7B7+0nz)}DvYkYkJO{d0Vw z^gDt96*9yxyZF`Un^>pkq=G3OL_$xAtjmn!rpjO7~ffD zZ<Ovfp zK}j*jPayGz!bkV_5YccI_P_tsPTp~SBhbffVooex>HI;`6+~Y&{c+RzLz>& zlewe{4nUeqI;)7*9nQXkW!v!(-ULGz>Y%>=E<;Ch{)|eTEWwp|Y*4B;7E|I?ZSBtc z`y*dMg45EoJcS%2%{J(biglrbbZ(nDGkuiWE6}g6v5SNnx>f3nWfz(HkjK_vaYr-8vu^#1KHd7y(C%FWe*AS_c8p9AV*u>#c2>;v3L zllY}$Ny>V*j+X?&8)rSe|ELB~L9J8Y#5KdaRwL2OP?`TjGMUpOmp+sfpg<>83Ewj;_;{~nXba#Z$GrbS83s) zc7inY9xIw@OISHJ(re(~idwq~GFG0LqABQ*4M|qDvW)%r&RlMg?q~B?T+vN^Z~=P> zuBxdRT0sfu`(?nc=w6M2>|2hB+=Vhpn(HyS}{s0BDP7&?% z4k*)z_T{)GRLYHso@t|)u7uf{Bw~JPZk$a8_*w+l&OX>ehfOVRpYJ$&$z4~U#w;H* z{G@;LCV7`Nanbln^SRJAVfalo#=OfOU;EcU76<|1k=U{p)EKz1Qzo9IQ=oQ678dFP z9R&CBN1b3e>xst4(PJ1HsgDR0+~u$CF(=~qvHl7Qq5v50#5S1buJ+{&bP_=RSajmY zvb)|g7UMdK$xytK^obnh7}i`~>EX~mBLsg!Jm9u0IMJ=SrOpQqavM@lHb`lalB~;40Zw41ud@j{jkFR9W_6bP;))932S@$73BA8@QWD+_~e^He@o za{t5!qw@Vntr{09ZpzNeXz@4oHD8`ASMkbd(X+<9SXciU;GNs8t}wQ zdt&E=w<+~e(-;&!FYpA?C6ph+XGz0}ATA0<`YUmCqqkyf=nr-UK4dBMJH#m}Yn1aV zSPLMLYlp4)PYhP;%{N|+4q_Hul?*RDlAV2B%NLppaEQtHjB5ExifG%8y}Q>kGQMzA zuh!R|l=d$x@!U;6O1d7j>L8d{l;I(1eUuVUd7rK?nc&SbVN(n4scThQsKl544R5YeuOPeASOPeFpVDUoU ziXyxHWb6(`H#?6(AERo04mwTPk@Pc9Vg z(P1Q2KVI9&jsC9o{Mva03U+IVyhH0Z++(11TYZ2odBTZt1X2rdrZtpM)Y?o-Y9;rY zP3sGAI|JcMbi?mYtu4-fx#QtfIttytaEDV)Xke5R$kJu6fJ($B@i~taeAR8RZv8bt`z2KzgYmicoKM0^#g}E}K{#fHh z9iFm17pSi4UCmvEG^SCp?JDmQ^f!_K$QmMnk8;5<>ZblBCYi zKIyastZs-{E`6p*>{fjV-5B&7Ew1A|y-iyy(3v)zMqS|!8jduIjsLL?rT$GHdR&pV z_!_g(c;iKV%T9xv$P!1gH8k=#&T3;%az^(9*_MwR^u^7uq!_0fkDyZA*fSivGMcw+ z!te~Qa=EtxXEd9K0>`}{!ISA+!CCeM=D)jrrk zpyDnPndqpB)U~H|pBuxIjxW_!QJd*&rOtUr5?9r)zJ*pR-t48jVCQ0Zcz1-p7CJM+abzL`(J1`H3_n#NJuBr9OJO|0LRvpFgX$lw|saUQ{hPU|uCj2Bp&xuNJUVk)!R_Tvzpm zvK=lQvV>Vl$hl5^A0%6bly16RtBqJR14c=nB4_F?s{xwD9)kXJh!qgm4Wi zt6uY!nbC4Mi4t>XZ(G^tIBbA-tr;F-ksfvrp)7NUqDYg^_IR@-7gW4llb_o4`{us! zV3jI%Wca#f-LPqbXxVE8ZZ1zVU2c&6dD0m3N&eQuI?w-j0R)*(YmSMYsQk|)Z^ERF za|c;PBOqZMi{Mh+Y1d3s6;f2cOk9ZkAx z!n`1T#5fXhcbiVFC?`Yphw6!N!|nR@u__1sj~+Lx4FkIF)2D#Y;}lW4bkCn%TV$!M zS@j|H?2cii9$aO?H#t=$N2y1&;(dXA7X9+)dY5VnQ+dTa4RLhb2l!*)j3R9H^oWKn zR+6c_rd9}+LUaiO@m-YH@a1f;u0lmbjwadyCE1V_>oK$0-&F4B7p;bZV#Rr0M6SwM zAE*dIb&|_^e}uS_+2y zfVxU{))lM+;>Xm??vCV7_^6(_KLf4=Pj`_Q+Ja)ZGo(Xfe=C;!o>i5(=8AcyfMSI) zgs*YWDCyJtAOMO>=$!y^arwF$ae2k(>fnmqoTaPUYTvm8-RWPYG|IBPT_reXAQfgD zN%)9j)t|d<2B41RQ0m~?Csl4IujTSB1ZSauHzQAp75^-rq+egXA_vD+IilhI#zCFP zukkcht{iHuAC+4Cga*18%G8G{!<=Gd zzKA<;i1OFcLv~4LD<(_J*eHj9=%%`Px7y7;Sp{b!@Nf65M&llBBhNg9#hCN7IlYwF z*y4=LLjIXS^V@*hk7^^$e$g7JfggI`R$ibfg({=lZ5&Mw9-NV$il(_RsZOoEX2Gsr z9ZgT`jx*L}A-IRI$%%h4_Ybv0>2=FPvSh`8%sq9dX6VZIXXs6AwQ~ITE)t@1E>@N< zJNZw~Fw9>Y8>Tp_IUR9wJ~cY7&vapA$|r4OvHx(Hf-g5qnXO+{JE$-j9?M9!6e(^X zqHVU#M@mAP>*Kw19t-|k@^4}Z49`fk;gj^pZz+ zbjex`wwA*jNn7@Y4`#;N$av5w6mte(f}H!fK&CAFYt!weOVZxt2}{+clS|32t2l9o zB22vMjFo@1a#(Oz(0BYq2)RBpZj2M#S6CJdF^HBI;G!JJ5)n0~=97kl%{$+Me`(2z z7q&bVtU&z>nw>^u=u@iRrO}6dk4rCZ+zu#Npba@8b8WD@%LePJArHi%Qu_V{Ps(>G z8zLRa8CdYF*Yt6nADmMVYSfk3Hk=X?73i0$-M`EGDV4(fwK{&I4L*QQ)*k}6ywc2KIh?X|FbOM zvS3f8xFLhirUA&h7k>h@P2)Y~RUWfarYb61^o=9$byH)9*+haiY&qh&HzOTic<6Hk z2%S%qk<*!Mx0CZart0DCoh*`5LS|LYB_eYYOBsK2GuF~f0-q$dt5Z1lGg-lMltbJ$ zV!kC0%}MLp<7p&^I+52tH9J$@L~G(*k@DbIlBP~2@oBM42K?f-4JmRV{e-l=Z?xeE z3Z3HRdLfs$_cH4zgA#Yn#ks>i+PqB?73j+434Ch`7n>{3_G}v_@~c9&OpF26KT`g( zjzyFZq~dsbfs1jko`=0zSh3XInwE}z|3wE@<;`7$f|V{_j~snC?b=f2O#?=-x11`jeH$f+EY3LX2@&3CfeD zElcxIgJ&%Uw4p;jnNrd19E3{FnDwC2Fzr;J_|4^&7dW8kGOxvHXzd^0*i2G|G>uiW z?mHrPp3G|SHjZ4F>Bqhokg40?@m1gYXkws#nark2M5fkspeglXI*PmBW>WfLRQhQX}9E(uU^@>LN-+ zXVOiZYd|F*i(Hi`{=LqAySeJe19hFT8L8P)9V1uzoT_1B5q%kwN|=cmdE4) zNRlMV(iPSS;tD|Sm2~$2DXcOsbIH-E2(hkP%GQB7g6GX;38>lzvMg zz}O#K5q2bT1#&s$pY$V1lir(f5}Y_zZR#N2YDyIhqv8t|$DgoF0)vlz#Hb#F?9!Jn z8u%_AM}>DGZFXV=Rc|@#vr|anTZms!$t|}_1&rY-q18SUAr7Mb`*l+0&Zmf|MB8BF+}P|tLx{%D=Y z$o=jbZs9Cm3?&O!HmU76c21~9muN0p5Z&-IA5ZHtQMe6NHT-07w-@Xpk}LX<6L?5l zGBwVXx+Xs1P#fb!YRz9Pi#^apLeAh7Qt&T=CVq)(cFXVEKIiP3G!3yR{690@kJ1gn z?~Qu(G25Elv=u+fUC`mKnX?<_r{BqQQ$e=&y_aFG`S{{KVE zjVdzjfp0;4!r%>B$AAj^sdR&LV5E+$#!iqV+$IKmiU!6h)Ns-CO91qy>-Uugr~`*Y za7Ci+byu6~*K7~Dd*zLuQHv+HEnifb0j;%;sK2Y5P{p6ShL?Fohe&BGwblfHzS3`V{edG?5vPSEfDTru}TbIE#)9543eCo?d?Ea9FSCqdnEIH>!Eel zc}WplA6v#G(Cv6~l}_GqW%$#`DwC)3wZH=0MD0?+|M*BBzf&9-y!nR{5=Q3unao9) zU8@L%mX<9app_pX%e>O7wDhX~%HTIKgMHzI-E<+B{=vF26H84Rw|_L93??BoFgw<- zuTY$>)6rf;N1Jvj@c3a7B^lF7dqphwja0tsMGM}ZM66qgRkdM zaJFe>^x0xQjD?-11^K1U=!YqC%-3E}ZQn4-^GD>$;dPV6X!q0Vf_g#-2pc44+Vv-v z?A}{5J#ZX0*2c<90)9%{c#?qxfM$(k{Mg8JW`*&&LO;bXhaZ$(LeYut6C{+EJghdPL6PQ14)>kYi3v z&%S&KC#HqpziEGs4iyI|1v%NeR(OV}KZRYIa)9_l0xz8n_+cf(GMr>lD;prli(d^Q zr9QeHo)`31`Dp?Y~dUn+Zw?L&~t<_QNJJOfjV%p}&~?8{L%xZ?)+Qo8WDkP~JU z2_(7-fS3iXFAG|qAX(Q)lFYN>ZK%z*;@ne|TEjwto)4k+U*Ilby(C(ij6}*izpWuM z!1V=4Rc0aYX_+nS@&+dwm(?h!L)o!#iuU*qXbW;OnGoM06c`Ve2u|JT?I}*oRpEVx z8JakdOrqFwY6Ml&x(^>Jpr)^VeG>E6ELe}qpBD31*Q;qh^oHjg_mFfQ$3{1V7_!;$1XP8u+d*>vb< z-Oi@+cSxoxI0hvOPN7>kE%$wBVktDgEO6%Zbg>jNSrx|wzt$~AV?sXYrrf@0ZO)rNQ(O>N2!tJ!xy;C3b*m0{jf_a65u_im3lDnx?v0j9yLKhP?g`H z)dj+;W?Tqjfl$UnX?2@(F*7x;oHOS}k^x;EggX6lIAwl`?*=}^&=ibRglQeZ;xyzg z2NAe&wg>21tW;OU7G;3x(!vPhLUx8+3J&e&ejwGi>2$3!>BSt$WfBxpa9S~TyC~rc z&YI(^@+dVER5dqR)Y7P%`QlJxn6K+v-(MA}zY>cT9A@s0Em5{z&yhb3gD36e=)Z6_ zx*PG2b|xz-_YUN=BX#LUD;`icAmLlGsTU`kjn?=MtASG z`F{#ky8WDaEk#MYCeR;`RGSJ zbt9Dey8VxAk3OY5XH@IYa}3J{$d+ouBumq<1fvA~$SPaX@W?D={(CfvaH`lbHkgp( zO|6ij^7Xo|ZIWjez%;ueyHEV@slOmKJbDHJ12=|qpdGA}y)u}Uh(H@ck;(J%ii2`* z8n{}TY0#b;D>V8oy7exv2=VQfYls`M|%@6C!2)Df`_xLO`U=~9*W~; zqvFUL)E>aq6#1RcIf`f&Q9@$n`%W@(*M1r(|L|w4JcLR>jPu4F8x?SMiwRvrV{KBN zuW6kz=a%4W&d05q2yS6<8XvKwOafaY?Rts(3|ty?GWiu6K3E^(TkZSZ^_6 z@Ey`Ou-c1)$@VE;TXJmpFl50q<1;(ya0uzB$cN|5cPnoq%~A+ItRq0T%qu9w$vpc4 z*D`;*)F|e1bV1N*?_Os)O+L3=y+XY}f{H01-XC((Q1 z{yUL);C?kQSrs)aZz0EARY|}N#n2EaEep&k9{@9&X#|z)v-FzX9QFL*@){VhPjBE$1=K7$$x>T|Tp_a$nn}*C? zYSAM29USwG_v{;hN^yB$Ru!~V*U3=Uk}Yw^sT?V z*N#X2k&Uf3M?UM>>8n%igetTP*8!h2S4e1k@Iw)sf;5}owq11T=sVBqoSu|Z^dwj1 z#g*S~OI1c?8>n6mvK*UC^gMa;<^0KBBG0hmcws>oZr$XLkXeO%KA&~WaL)>$hB&T!1l80}}61lI;LhlEu$>f$tID6)5 zJ~d(FFl(fya^x0kUbm{(hYq4s#|rA579V(4p2+m*lE^@38;0x`u^Fx_%RSo4pQ%ip zF;70)!Z`EH3Gz{3#utICT5*xgd; z_2+z`01$4E!l){)5q86(hukQ00I(|r@27hI0Xp2%pblTOTy0dHFfp_IbH{B>6}d)I^cO3m-nZljTKI zoctmlgs+o|_NU}b|8K3AIqeTSMRVJ<@M+Igt#d-*sQmXv?4Q4SseLeY+YFC?SN0EL z(Y~*pFa%qu?zCi|&1xF(^3Q=7F~MJhf_}JMH}2_Irj36+ZTWHzr8$-7Q0;P5Oo+-{ zQtGjIgS5}S@7@1k`ROR|b(7-*mN{#U+zUlBbFx13>&+uW=~ia5+z=St}5lLXm_jT19B!qcNU(tUKgKyHw<4-JMyp z5HSX&`TTmvdl7Sfm?xQao0L{#{M5sMHpqPnixypXpjSzSBojzwcC}>CIY}}ayp#ftGLB|}5>Dtd5M?53iS(L_?AoxcQS96Zj z%oGdtZh}PT?}y4=K!$VWZPa!g0^~#drPeTu|Vu&RrOW1kKDDxr%&zWZO;RMV)PhGY*-0uz&E}Q;~vKPrP*HP92)m zoSKrzGU=ng+y(X{#$L*FITR1>Ei}E>IFwNEZ_BZnh`j!)D@J2NRYo}`-|oA^N1a4^ z;Q#ZNA7%Z6ZIq8!V|XzJBeyx6W7jp21c=sHzZr2I7b_ICQ*ypGW~ zU!dn3qr1M)A(zIUy$Q(mgJTL!PY-lW! z&3c9OpfL=sP0C&#WqH;tIV1vg!-NCri0X9+H+OF1t_fc7X*pYod%ims7Guz~kV;rw zRU(D8YwALQHKZMc9&AXi;z1iKR3rhRPI04MC8eJUJ~4{3x@8fxB19a1rV~`pD9_YQ zQ|}c)Aty12JM{YUX3j1~{O=IU4ZghV<*Q2}!-v|5KfgAK0{=dM*2;EmOf$VXhrw<7)Pn^k2x$NnmqJ`w|4cI1_0yW0G#uR_LW;!f0QXYYb} z3c?#kDdF-&>hxblHHqS{ZWJ)#xtKtoqRjNi!qt8Pqa&c)ZGo*mR{)ors zN$`C{NQ+YJv12xy(bFfius|BqzGQ0n=I!MX29x0!49jjFM5V`edbSbYKD+?z;%dbD z&4K(pj>;^uEFLX9YFs@-=$bWsmM)*D((zcn+U}Z1FwzCRS>1N3486B-eO8?+%+?L3 z<@D;{14WABnV%PurX5zl7FsUk{^<10+mpi?7AyV9qfs-5iDV-;@%+%U`s3RWRKybc zba&2sRUrhHOH@VR=y0%T1A{-B(IBcTen?f&=cW%sWAMFEdB}ra@4wpcd=%daE&1b}%@&26A?i=JnrxwJ(02bLmT4ME7k7Zn&V+Am=2{i@d<1zdl1xU1aqg z4HIwfZnnKnMVVMOlCLQ_0nOJADI=fP>7C1(kmaQF5xq@gqFOd-`&K=v{A$>YNmT!Z z9A!w&O*YStx+`^qYUL7CCN-~*^+mfwkG%F-|MHe95_$D*LU;N$q)};bo;=( z1&Out(Ee}y+?N=fUu}%s;z72uUiQ{}g@@BtTJfGIsr6|jq9QH7JVjSH^(mS*^M^MI zfj9YGEk)u)L$9k(#V?-CJMGd+Y|ZB*SAyi8Sv##@RX&?gxxhQiL`8*U_b;o6gVzue7m9WUz6E$3PAc%k3o))S~kiH3jy+-@aG~ zcVhmwuuQK?B3*wD9Zu#)$emXdAC307&a-{>2OYGHp5JHJ)R1@aX;V+MKCY@x2$GUMh)O1wAjm4O%%;r@} zjsf+q&Dwm5epM$w3tOx41T{s{TVo?u;}l4jj0Nm|^WwXb{|Om{2p9R88JD)+rV*VY zBI3sqr_NupmpKRhEkiV4M~_V^xtm&zH%$T z=VrhS+4Z2XGc7sl5K9tVOviMtxqDY9}DaWh18Wi($hxWTLn5E6_R7 zGM-T)s{Qxvj|{d6N@npxq=;B*2fL!OLw-Og>!`6GWSR!`o;il=zDY++#)Xt;3*AoY*REE0J zS@4Lsy*WS^0qv7MHDSw1-9q1GIEp*;1LMi$HE!g!^(%9dYR7 zr{ea?E#|Fb54x3W|7+S^WokaxCY?y^Ip=gwF(OKe&=hA?|9@IJ3$Lc%u>S+YDXpY* zNcRXS3F+EE+DS`{0fLl-(%lUk@}(Ie1C$Wy?j9u}ige28eD?c2|H5<5=MT8g`J6kh z>w3N3F3tz}I^Rdm24eI<2T=zU7(_&FQCjcOV+QI|UBdAdmo7^gkrvwks^K-c3+mJ9^FV7)c-zlu52cnWT?3HdM1 z;4TSDm5)-Ux;-nGAZr(Nr5)ZCc@fpYzFY0xo#uh*da7d$=H6>Y)5DWmJLDtOTt`Q5 zoA@lO!S!g=l4F%o#V-Z+xJxE7Fa*jNpKBparQ09xScye%f8w2XCALa;9 zN?e%A7&s@}FJ)}s(pOu~iO|&-ST!L??YEpvfjaQlA4ynuI5ppLf?M19AD7M?Mq|3Z zvi+F4)Z-L~^~(4(ctxn*glidNpNKwtw76AGk58mEo2nW9_k5nk%IxW*=#eu)^)K6{ z@h4$7MvGsRjz#!Oxj88%C^Ih$T;@z)m_P(BKz#(!6$QMD5cu++pbuV6P9tuiPEOn} z_77)5Hbd)BX*1@3?Y|9ZoEe(NPHHH&Onf(8=>S`11n7Nsh5+R56av69DUeSdweK>w z14K9>o-aK=?HqB6Irk7jrR{k`-g&oo4=2(JB;1$BjDRKI9|WjX3uP;=C6zmA9PL7J z=k#ku9`qjqp>ipc^A%!r`N1g-H^^!PJ&gkkGNf!x{~gHTDOR0-!jrDl7nDO|ULE-J z(0yIoe7Iy0a&GFKoF#^pl+tz}5FlG`!^%XPhnG_Skha=Q5n;f8u&1TKHA2<_IX>F zj>_gAvr-qHMZgz{C#X9?TMF?KkCgvJc4-=LUB{snRydsfFo7N(;tJEDDeDK?k-5mm zt}T{5NW_Fnb^Ztao@mdMN{Kv~MX4p0ad};(G))K|I+ynGfyn^l zs?YfF#cNrih_XjvGTJ1VvpTI3@=HEa7wRAT>&|n|151O~J2JD=GQOqy&rW3rXwF-^ z3gZn9O#>n$ARO3 zwWfqTk!ryh3d6z7`j^4oB2r-7GvxU}!wlBn?Vz25(-Gh{f&L zK+}GctQqc)EBMy@yLHCd$bA&jy@s7ML^exG$8G z8V#7_`FHD!NO_d^ZMg9Fo>{4vJ6uGY%*Ka!% zOsMyK8tX4g3VU7iG}a8>n47}aH#iNx>)qMatdX*&p44*8-Wl}s*E!2)gY8~@Q8J8p zlFdF?s|k*JML~RAjbf1E>l(Zf{D69L2u)C9CFLF1lAG6ey9h}3vmJn_UrKVAtF(!Y z)-C*Vb#>15+6|{^m!kwf9MOBQjWJ@{6Q?{Ds!t}hf|=D`KS0{fx(eXA4J2t0_H7EgYe(YJVp{2ax6#*D7y=J?LA7rM zL_dOYG?(|3xUlFQVCxvvwv@+z`=xNsu_=7y@A~HIs-9ZhXSuzx%Xpu;Pfm`_>B6zN zb`MbvW~K%0JJoA$P{GQ>WZ4?!&}4xMY!+~X{Wr(sJEfhO2vRUsr*pE~QCEsgDN*`v zwox{Fo9R9G%#+#kAm3%GKfKO*gdMSBz0q+VmS>yo=>z-H_VU5BP*R0P*jCYhN-K=t zpj@&`>W1ux|Bw14cpDEK#n(ajNLXd8L|p~D$^MG1WduBX#GWRluzW7L=1{QHw5Zlm zXA1g8h%skb+f;uS3zTd(YW6K_k)N6K%5PJz$j#v&S&zL~r%XmueqUi$CyZOOuy?N~yGN=Y1`?u#(M zzG$5xn&G?uhxfMf;6sE_ob6re_Ana8@QJneoQa{9y?a9uuS)$0%e7m|rSvfu5>B3A zv`kmRJye|wj1{+jk1r~o?Gg}nn@^kVS)3_s#&`Qvzk$5&^nI%7=)dX$GHZO>x5e>> z%LHOTF|fmE>20pe_J*)-HAhgQZ~xeWWdj~Y9I900#F6)^LWWiVPqKaX6&=sbb;L9} z4vZGc)y;1r$Tu3BzRFK)+Sbr?FwXi>sCNBCj4Z=y_-ZDdM=`teZ#v9|*;lOJ(K7IN z9Zy3m_{yq-17PyhfX_d;R4R&;ZF}PXlb*D{Do?(RpeJF-6$>$tnwyBw{Wz*$=e>xA z_B(Wmr{%PlumBJL#hzV8TxHmOwCo&We$JxhN)Hd3_DB(2b+}`u^?Y~(+T!Cu(7?V5 zu7ISHUnzo$oZ?Q#QD2AHE&|y_$BY`|0>N6L&o4A(4yMyj;e^rjl zhFtPGfeRF%hbjy)tF~{7tTKdha%~Uw#>?6GD8Xs0u-Cpir45?xN;tY!RWXV(+aQeb z{-KP}+l(Y#nNN4A5nICbe#bP)N3+UHNPU@Qo+2rYdy4MHSdPL%Ngz~ zXGQBN80FnxPK#8I8_>pVW%SxU8mVKY04XA;c1`bMZzY=HDeD=L}as$Kv}}J zUQx#|{dP#6WaJO(!~oI@f$|5Ht=0=zJIZce?JDiG6ILVMV44FYei{rZ`OcR<{cZWg z^UGwg+(7CfH5yQ~kJFhx8ux6+k%-Kgb>9sc+RL8+*~#8EmATv^p~2g$n5l79!%u>q z4$chCWe=Ls4Cmi=6Z(=EM4ptmPPu91s@#tuLA#6@Y1P*HTLG0-uKcau-uHk)6-dc8c-XJ)Qc%gjQO5Sr`#g`;z75Cs3L zY?WQ`VLA7c84{E$&7YS|>N!wU2FDL-TMu27e{N4*;D9*fU7b>!nYpZ3?!2-`R!qD@ z5HQyn-S z^hi!EjKBVI%SqWpr6ZG}7J6S=O9EVJpyBG5@X!ChV43+DpyV|V+~&E)UrLh?p5|1e z-97iU5RiHBRl`r^bK;HK36p^vj`K}r2PQk+LPE?aX`iwG zSD_BH^&UBCU^s%JCXgZijA&yXx&FmQI;i-)!0ca)`r}WRM%xqI4?t7{Y7N@Iy4@eZ8HpZ*`dOr*(q7JpQFdqApmD*6lP?q>+yzIe7 zSg}I$!ATp5*V`quye@+NRM~;=Nsr0ms~4=4A||Q%GWALe;_e@VmaSH@H47xf9;3V( z9STTqO5fkc{_`&UM~4H)%8C40%updD6nl%VLIcI>y7y;FTF44e@%MP(zS0bgrn>P! z^TgDe+57oWK`HH?wfM)X36&ERp4P{TMejV;kmVXJ{;~}o!tCJAsIKu7_tt4>18M<> z45H}jpdYhq4^1Uc@6?}7V${P-0<`>_({s_wLFcUOj@7^|pWvyMP?`Fpazp-HjBa_oCAi!@*(@oMd{>HX(RD$(j81=l+-2NtUk-<-E#tvkzkMa`Cld*`RWKjV|ib*FJgw4+=T(#W?&9wI1l+78+Jc^s2AKl&BFDm3teFj%#Nl5If8C+g0}e7jLu(v* z??%fb>;env(-#`%Eo&UhHnuCb&r@KF*L*Ya6?ViL>{i z;9Gu9f^%+Ovl!<=y=PPIt_Uq7huC~4iv;1IS~tqyJ_LaRp3BLkpWk3J$tVzVycgvi z1C4{(Iqh4;Nj`wd~rO z-xajhM-O^9>%Y$8O^Ppg>eovravsXiqv5tzfY7^_@9x$sq%O#WI={E%R3t1N>i&ib z$C*DRVOeV}?KYsWN>>($)z&|5^mV|5CB*1uqm%d(fRn?FW%PZc` z+A$)&EF)W+=%dYQrkC{x|nEo2bO}`9q8u9Sa+Wz z`0k{+>3F!??cwI-i(L3&t@Dr5Ki7xwAZNwY^JC?I;2jKD=D_ryJ86Oc>5n9Jt@rkJ zZWNh$Y;{c}Slx4j8t~k6z3&!iYSz1B{2F}&gX+f-?}b5m9lA;Ox`DC4WhT|ATHVQU zgUc){ujxOAI4$*Os-=7ap6^R5`N+(<*KOQt?n}3~A5E!Dio$C<9Udyc{=SNX2wc-@-`-8=3jM|R^1E;c)E^a&EjC6YH4%>P@*qF8 z!t!Ec=FWI664!GbpvBm8pwKH46@R5`tJc9A%y!L|A>)JxE@wn}q-`t&N zM3i8$k*sAO`f(M;1_73>cG9+G`%%qPtBuXy;&9~`rAEO`H3BuMt2L{DIfq%Y6G8NzJzY*9XB#iGtj?L zG1QN|hMISc!gio`#Gm+1NLr-=u>cMVQqS#zUDs17JJL#|4*yzK6`ot4 zt_GrVX><)~7T+DIaFXjLF}7EjBWGuFIDQ6q48Na&Ktz^=?4#$Sc!O+!ryKf0b@Zv+ z{*en#OL9~6q7W+Zq8;g|)fV$pY(JmF@{T|x{u@B|Siy}4N2}fP&d3cN;H&A=c|>+~ ztX&3K-oN%n$0JbB3nz@WmeqlpZu@M2g-+asUJByfs`2q_$vKnpU1!0)KO2kKJHzA; z^}vjqfD&1Le60;mOS)BXuAeJuSV7hxSLX4;-mQ#)fOOUN^lJC@Rq`kMHt8^vukhK< zF=sO_CHi1`(f1o2Qu-v!t$#sMK}y|Z&rk5cZo)n0G#F)|sH9C$L|*Q$z8=}pflR+W z2P@v?&k}Zrg0l5cVDT?1k`V1Y&`YtfYCLSCr|qbGH@oGvkqCGt?Lr`mwpZ@1Xs~S4 z8)L^>P!g+JsfoPyEs+e(In>}kn>>uU=u>`3`r*Os{0w_;_X^E0hW9T#ClG!p#ohZ< zY}jY-Yn&s*?6eRR{+kiC4?v2e zxLvxYEb4|yhViRiH&TLOl;8sT5ghTwp40TPlHiM=3bkEy&fz>j3+TpEkrV8XcRy;X z*SF4gRaVw08f6(EKmfMWg4R?P)yHwSsb`!T^B@}rpN8R#{tMhFI)deb*^hF1ibf=K zd37g&*cCByMUdy5^O;BrMQ-CPYL(^w_f8IF!e?3KyF@Z`(rVQDNJMP^J`;*+J*f|U z#-^rlr}Q7O@3h;%$STFhg4fW75a{=18k&^CTFpbw1II;tr$uR8dp)Jr`7ZfmzZFR`|(rOp>FG z)*7@QMwh;}An^@vy43d5Jx^=taQxbq_Ye~=NE6wr{<-0R`Nvq-JK_q$Y*oNU;ch>! zT#Acl*2m>mes^B0<5_`y;X?k`KT`eV;!zDX{aRY~vLHnfb$)<2_EnFrTH&@a=?YQ4 zX`HGdVt;p4HR=1xVmUNfa3E1z_$Ot|LzBa<;j}=1$vJx8!k;_gvz$i|rnrwrF{Ko+ zswipH*nO4iv;%#BLdNehTy7>OZos^B%u-N5OI%2eKEq#Qa9G-k(bocdEZPw`$8a*+ zI-7MqDXz;^#npS`jjQK)ZJ2A_6AmpxJZ!|#dU4oZz5)g_)4j>jg5j!IU}=2w$Sj$8 z7-B$S5qo>6+fi4#@CiiP{s*3mJZB;FU~k!-R};?VStIsnIc6ND14@`PdYulFi+FXt*8A;;0P&~}5YsxO7T_v?ozqORF~BP^unL%t=m?}8YC zx(VHqzo`cn=Xk$57@HuP2&`Xu(oH9pWfsPJz%p?^|4;KyDXnf;vv(vdFJAi75By4z zly-rve30h`RCJ&V7-|F8P0XsteVH@c!XO(I#i9x@FT7#GJSk(8{Vi^>LID!`Ww-1c`4| ztL&SKIrzG0kE15FY3+!j>lZk`_e@V~TM9yu)Ry&dUE*bXkI$*`tY{N`k_j2tv536J z%hNxT8n7fiSqdE^5$-IC85_m^ylJ0lW5(?01q0rcx>KL&*YK`|;IaqQt%|s`QX#Qf zC7ME)o22)tFnDmEMXp`8kzWKOayUJ-ve zn*-b!XL|tA922~2x!I9!w(}%;6(@bKtSS4v;YG9_CDXb>$?xrdQi9*uEoHZFX_|;5 zX)($#!)ZaLqR{d%=!EmS!?z@QFqV_-5b&;04=W;*U$t#?w-RsG^mv GL;nYRiA%Ep literal 0 HcmV?d00001 diff --git a/assets/images/tesoDP/dp1.png b/assets/images/tesoDP/dp1.png new file mode 100644 index 0000000000000000000000000000000000000000..79002d38b0ea80556944e8b5db6ea2cba6534095 GIT binary patch literal 6023 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 B_YVL7 literal 0 HcmV?d00001 diff --git a/assets/images/twitter.png b/assets/images/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..6bda38894adedc7bd9fbd73e05e22a312aea9f58 GIT binary patch literal 6983 zcmb_hcTf{;w~r!Sx`f_)4V{E4B2A=7?>+PyAP_(lA)s`SrZf>GQlv@my$VQ?-XS7A z^iYJ$d*{yF?|w7)zi)QVp4sy&dv^Dkd3N`Cr>m_-LPSpl002ld)Sv3z<^F$y0Pk-9 z&7>^nEEph{56ljNmIGe!J|aRs$L_ej0WWMPnBOGPS9*$iyd4)YvW8kC<7O^725p$mD#BZaSUxYxTd=y zm0maO;Ll3LlIKL_#a*9IMAYFA<%{v|e(0pqhkh$7svFZ^kC`&oiO!xQi^L?g*;dyCiYPdl7s8&=}i_%s<+KBqpecim3-Qx zuoJ$~X4%qK{DII8Ck+2Ahd&h%AGM~!{P*Dl=5{WVw;&=lTN;DRi$Sg`m2H8`J|J+) zck()sT#oOsJa857HiW0JKc`rY@<_S0`B+?bwwZUz2ecH%(r&1;m)lqTDo78&BlIv} z5!pO*L!Z->%0f|l-Qc{c7Xq_sNBDm&-~RqG`DS~VbMvi0mraa%4r|OhS>INPst=QP z2c4nGOj&(n0&sJO*DX=uv#UN&6RP<)t((uJNyG(~VuXpY`cs*T;z1cr*a@MUqw)Up z5Y8jj1BmtUm0OrD>Ag z(OW3&q)G<@vw9nXPu6kUGq#SAlr*v{l3Q$~PhXE#4-MY4oMLPtGnW6R$nvG^Y`gzL zDTCtSw1=iXSJ}&;SEMI_n3N$Lc>DC>9O3nLEn{;aZfNAO9#CgzTY>7CaqvV#2hXZJ z)|As}y*H&a?xWk4dqrO|>PJFzYF+RA;pkCrqmntW57M#KLESND``6a6aW0&r>haB! zP#o@yZ+?}#s?F*-IMXV;WSbZS8=4JK%m}J^RX0Dm8hVYwoEF0n5o2ya*GrO0tX`ec zatp^*M)6>I21TO=*I)D{@GRA~y-81ErXg7YEUDGl-kEy@63k@%A+*xmSU%k?_@wnt z2D3%&{!6ho^MB=F;Phtrr%+_fBeN;d!B+r6so4T@xj&eT66cAy92m# zqrJ}`_ejd0z;;|UbF+l{ce^3ABPtCBq{&wbBjqOKdHVrmCQi+fRJU*H;7#)8O8ss_ z=Lw~f0nQmaK^s>7({Fwd-7AIHpMnx}yz0ly{{^tRZi# zhbom7i_Jrg4c8)_B<#RbzBA2Mw^4p1Awyw+AW;!EXYhEqZ;A?Xf0xc7rEr5DkDOCH<0PWXfSQI^08 zCr+m|2o?61q-VP2Fv_h-LoZnZg5@S5aXj|Oa zUNL;PyfmpIFz(!T8KDu7996R~s@J(d5C&i7PHZA=D)43434hxGo zARsg7TBs&5^~HAzV-oOsxZm)Lx*jbqX$?&vvHenO?PgclM2n zaq%Z_7-I@cvP-FAG*%s<_-Q)Yy$+pqkuY6jU06`lz!1E$aOz)X1=8V*Y+4M9^pU+G zkX{h$Fe-QvbCObS3#q>PQsw_g(kHRSaFPK|b=@uX zj5WLCD_TExd+)lwP=r&5W|Y=+y&#MY2jAUBi!_5l6(;;+sM4*DVcsVG+3Jc!$I_B2 z;YRJqwHS=6C%9=bNA&jqR+Z?WEO`sxziLy@E-<>~FxgYOV)aLwvAMqqNp02*7qw@<`)x<5;Nr>8)p{El}_KP>O`?PkkK6>^(O< z+7^%SQIFEcXU&{HXj#G9V3k`MAznEt4@lOg#RaxbR!pI!LBWs6KN z(GwHu%z?d#b+UPic3ACLW?sg*pJ%TE+uwQz8yF66Tr7OTLD0~>`{Y_%;r_n%>~X^b zGCU4GwU=ZM^!4K7mrP0TFItoOEgB0O1d>@rX}*t&DIL2Xh9gWYtL1d~jAzXn8sL&w z!Dj|r{643A7?isEaMlF=o3ilx+!mg^gU*?L#LV-66l7GZ8mp}BSRhHJ1a|i z5iQu8W>rL9ma}0-R%!CigCAW8z6Qa{cKhcjDOGENe@Jtcyo_v78Epnu`R=2$QAkHh z6AtsYHAi%*bt|qG{1;l5<_0`_xbv0kOUCzS13Yz$s)rMQXhRbIl3_w1buB65TP#!5 zhgW2XfWK3ZfSRfYv|Y`oIW+yP>5)Wx4hh}I8~i+K{fAom@+pBe-`NvG^M(4VEI~2o zXA6RYiQ@Xk%cl>&wS;!ak1k*5x1N8=zRuEi-aW`kebtJ>t@6sz)1taDIdf$CM#uG< zXwlX{;mK+!~l98J!WGV!o*5bALN9O*1>lDWUt^M>Fon}MB&Ufv4p zJ&4Rf1vFVA%fvZH8R0$enGd}fep`E}ml3oZ22R@y6`$c1|IrA0y1#Z0d;f+vXn_*Q z9icszrS@XoDbN~|Ii(xFFoRJ%eRQ?au$BX>*BDqAb|)iSGw(#{9bGj^Rk_T(2R_Z< zgH+EC^PWgd4>>93aGCl}bHgWtwOQ{CWFL+E$!uKAc`{n5t`L5tIl=6A{E?0fQ7WZ6 zs#R%nkQ`jbC{tlxH?Qw37q+~P!fHnh>5B!O1GC7de1Q&@UR1st9D_?vFeaGkjF>7~ zK6%GmVI&P@m`|KjgNEnv2odb2e(QIK%%Xp_ETnfDiL&>Z#`O!&!8hrXs6Oqd##k;# z?65B=RE1OHS z$97aM%0qh0)Oc30%-P4p9Jx;=O6K?YV+D+h7uj9Bh7DZIx89}9Yxx|AzsDVY&MrqD zVsPdlhdsD7BK@?^6PWMak zUveh;?@IDKNZk;*V9ilXn&x{sJ+0A?Ois6-l{a7c%tU;7mN$ExO#aXaa`IOaW-_QG zl`B^xocPVF?@Qms%;Te^v5!ceM`5vq!G6hKi_;blA6;ai!z*MR{X*U2EFQb_G$fwH zFM0;7z7XuwsK+c3ezX!Ld~l?GRuBGEoLrRLq3tt4S31fEd72;#x=hhTrgH(8WtFDF znFEeJiHUQwKP{~%n@C0&0lTB1VG>*5t2E!SXk+S)raI=Sa3kv%=ZfhBzubAim;~h3Pm|e<*H{H^0bw63)XL} zKIbPM*OMq?`L({`pj2t~nL1A=Tr`k(@aC)?{k$?2(kl%48U|XNbXvIzmT1!i_Mh zDq;a7vA5&h_?+RK=GOK&Xn#4n?Vq-I*=_$sVBALMxq z-oZ2IARo4Um}SVT<8I@n`?=1D?ME#dT4xu@By3!3;x+DOCx{fLrd-w;UDx!3kdLMR z*wd6%g>k)$J%lkJV7BCnmzg`!@)h0GKEI)xO0ntL$!}f+`v-aH>SL=b;f||AQZ(z& z!_TQ$yPgI~pmcu_h5%$F-@QU4jz2YrqBq==L%9SozdE~Ap&e%9yIOa+j$@BM+~`XR zX((JQDEcKM_4~IaQW;63O1t1f`OaYqX=|!pboPAp(W+#pO`SB}CH7MCM%Xnbvynd3 z;5&Rog#@000uE7GrwYcsNRuniYoW!F`I{3ty{bG@KJT&ZyWeA7u(1mtu2OXV{k>+) z$e%gwCC0zBx6hyqXs3ZQymBUTHSWD^2mgS6z0y+k*wOu96DT!A)Lh5ZYDJ;Rz)vd0 zmT0*d0oQJo1)^-tFc;lLk}&}cYqjf{^F>0?&E^+iA!Pax@R%=pC%Boe1I4dE7c1!5 zAKF(qKw(AO2w*nmm?-E_F2i3in3b z=L_bl(FpWvzx!eT2u;*jbXaphWkQxwFr{|lsQ7NS>;%gsSTm4p-=$a}z}MX{Cg4YA zMmuIR8cGC?rgDaT6eL;-|{S_-R;msQ??{kp0MoNT3M7n_|n&%evw8cjVKw&lCw zL$5a&OW6uF%DemSIH8eO-VVlFeQ5kTkp|P(WcVl^)jk;iqEKxKzPRv1S3}8_R4fnU z&plG=#@?DhuV*81+rtJTCoM0`%GEer=Iy4nGGxAj!H zvEHtBr{SYpiasKw3{K+0q#e4{R__v4Dm(+KL<+0XpMJHKt68Subq^BG5$xlwkAMF_ z6Tx>?0T1gsJntAvJqBNfaq;OCDWto$SywWU9$5Q`jO5YWT}cKP;=A15T-`jAusc=Q z#nI)Fdu-Wm*J*Dr?YWh98)x_HV){b^Nc>JuwB#07+8`T8u5r@@Kp;5e*vl;=G3Sm_ z08Gx_7*9S(lea?t9`9rf;RajNn*Kr&9}bJ=$>-#tEHq#lyXc^}wJlfnfRz#~T;6#s z#ZWM~V}lCclIS)k2ZuQdNp&cE(LGx64nLt(-R6*NqPpL`97>MF%6CDoBLhg^w(QnOQh^{6^tMs+96+f^2=HK0->(| z?gdWrEUbB2G|3Ih#Llu+@m`Il#f?25mYRO$ZN3&{`cQgBd!Wj>XyQfb;+Jwy`}{vU zN!bX5$zN8Sa6Du-CJ^xquDcn;e%3Aw+xpB#_5DCEpzH)L>29RR4VwHuLZ=%#>Yv4N^0Dg6V?9Mg<~s7jhiX#!3G{rWpcdnn*qm z7r%Dh4cyzr>z&tvv4i=2WlJlr0cB}FpV?MhmY9!%x-9?0Kl=Z7@xYcC3%Y0O?g&Yt z)4W^c;PO*3@pG{CgUZ;$pmzx%CL$^=Bq|~#E@~hGmXQ>Zkq{FQ5s?uQX{*Mt{vUyd zmxGHV;{O+nY^i7636%digRhsPUw|zP3IKU|`+;0MY@MKY;bQM5BrPl=ED7>;z5_uH zUiKi3e=x28!9XAvPX}nAu(O|syAz4Y*_|EjKXwMr{vLKRGEcqi{XL+beljw;cOqYa zDC)Ke^lzO1_LGrOhq^d9`vD|HL;^E#cJDYe|KjsM9Ag&;Kj(iaJ1+W_cNDsRp=h~y zK>ZNjP{4op4)XSNQmiu4{x=^jgF6;LR8j;YAr1jch{fnd6x~rs|HVh&B?t--c{1Qd zyLX4E{|jQMrvY$uafix)Kp;O4ZxGzY$rI}52L(w>+k-`=q@Y3&M^UhlgalYx2<#vR l6_OMcg-Sa(I7o>)ND1FH^yNJUapwupP|CD{%*p3J(B)JMZ7UQ3L=q@DUBb!2*B5T}Cd! zUl{hU-+#aX|9RjTeg)rgZQiNdgYe_1|B%;=NiN_ZrGvPdgOategY!o_Bf#0&ncdXN z+}_}$jS;)Gok`N(D=Gkxz<>Wn^n=UP?yR%N2jv^&VVcqGQi%~M=9?W~MjoYMYK;46 zxJ0yHWH%bm=G^aPe^389^x=ozzN2N4<*wzpf1|;l{{3XzCB7$goymgs`!nOO9`&~y zAl12hlHG;(YtNGVFT9@|A&KVi-@kv8J))q&lodnQn^mG>%lCTmAgg~cEyR1*5Vb@m&d&9T3*!M)fcm7p8oAjb3Z2Q;s$^Lut0Kz!5>VAay#8~ z@@oD8hAy7Pc5H^@Su_9wc(Yzgu&8$_FPa?PH}N7Y6&={d?OPYb2GC&B_(<_CtyOPZ zHTYeL0G~%)^OV>C6tIyR6j7!udbL@e>CHLMNFDRSi5vhRv^w}mx-R2Y2|T3e=I*!8 z@Jxv|e1Hg8$~bWUqq*jl(V_ZvPk~d`+Sw2Rg13D0)14n{it^Pl(q;S^V;0N+&;tA! z2i5YAa$(fR#pN(TG?3VjqtrioZ#stxhak3o=$oC73VLrhq!=ip(mm0!;UI)Dac z4f6ImA{2i~U&U;~MF@cbM7_VgL+$Xz`PUrA|0=dU1NkUoM@R%z=X**VR>sUq%Cs?} z#u#t%Sez9sEVsFHhz&>q9DqK^+yBU`fu#G5x36KITefSR#L#`>zuVsmX@7`SYZ}jh zI-?!Zyixj{H#ymKzMAhlS6{4Z3_t8@!xgSIDbr2Wc^Dp7LeL>Njc_$WtS&S&jbbHoW8I9_S({(g^U|j6^1FQGdmj+MS4!A%Ep=V)7A@yi zdHAlyWSS^_+?0en_TysMXA7gxN2{W3^Iof_Mi|)IKEOgzkYKM>H6kh3&Cr6c)FNr^ zF6qa@AW!j4LF~Ki$K692!kfwaWy{N7{JNe8n^PoG!_D8*tp`j;E1e_2dTeB%Jx#G*>Y`ELO9z)ODNW(PT5{L;Xq26Ot||Le$}RHoV#qb z6NLV%Keqtqu49TY#9|gmWJoymo_4Q~3)XMYbRBP_m+Pg=Df&LY1KHo=rl#2E|NFqE zLGk_`%VCtb!4JAL9vtAbb|Xxo#i9vw(=4eQvVYyGC3wf* zXz6bA{Bb`_t5V8hZlVT>jJFt=SFk(H3R#c7OY?AiD&F)2ZV<85kiSQDu5oB%`FE7Z z%XjGMgQK(Q3I$RFLJSy%G$BitW5nH!g*%mFIX_gJmKSp03%{2M-uewa{UnGi(eWwQ zo?M4HjoM$#L4mJ(&z>_;kyi`rt;g2R?1hcEk7F68<0&X4hC61(a@WW{a1^2;-J7aq z_n^v-A}n@`*(bt)ZOD){X4!s>TXDA-Eg0WyQW^_8{MJt$^Zr7d(AM^Eajh%h&TY8bvTvTXV6X3b9=uv@Y?)y2Ph!7otfMm5id z1B@XxCQMG)kkjk--ScKNR=97sBU-rV2{pCqkpwiQSI{C&2hA1NCKJ%7lb|<`79o!$ zMug)uZw9@d{cx(_pqj=M0%FoX!`kz*DrZm^MXJUnU;X>%~hF*LtR z?k2v^WOBc3hibHxuIq}O<#JW1RSgVqJAduUj*6AZcZDYgag`^t(rSI9N z#I1;I=<83`o^Fc1E5>fw`F;|0m8Tu)p>qRHZM{*RM+02V4fZm$6$gEL$TjEEJMX-z zj2blvW6@#<5dfcgX zFNX!a+##O>-YwL{u<>3)(U*YZu&bEa!Nc`)qcFMW`qS1rKcCqIc|x~c%s(a;9wZ#% zBE{e3++-wUYO7ZeB^z;k#+I?2%`d~tFwmf*3>mH}(indvcYZF&@%^qfj+7Hvci-Vw zpr`*5dN`VLxpS1iu(;}ld(L`s=GEs4Y1X!Oj7jLCK2(GgD>V+ez6q3`ANw$NEw~@< z*WA<9Zr{4i=fpNgy}G|2f1q#b2^(TG@)>&jGT~4Lu$eOaAa^kc|1wY*(oWWFGhfe6 zH08Q*Hsy|HnY0`sNIsSIbZO7k>(Gt$!g+3IDN|R8Lrp0)G%j-=-z7WWI#PNfoX$M8 zPe^}IME+yg8>M~mYGx50y!i|{^^6^%zgGk83?dnK)iYi01Ib*^XRY1z87ooDSL5-d9zb1N9SYi^a@LZ{H!YT0yM`4|L%|%oJ5y52Ej} zaEmoBv1r1(scV^sSKL`DHv}7?X@cnuDxFX+m9(07_vnBLSKlptH(#7f;uXJ>G8Vo0 z9fGb(C4>t5r=Y-lDUC;4{u5Y`>qo5T)s5-a8EuC=j#}qq2Tq0kgI{x#f5Qkg!r7&0 zKHXCoLhjFRPQFBVehBvz}+X8QV zG#qgg-I_0-uYJ3h>Y3?HG;4JZAJ)QSg0zH2jpgJr1V7g{__>5UjDc(pF?-=5e^uSz zYNxD|5UmiI&QrxMQWGiTdo+a+AlIE-ir~{}(@;!QtqYZnNEqk)S+o(CcZEjbflOh! zxW0aG`rZ4x=EOC;)um}!9I)B*&EA(Gbhz#oBn!BDv*{qH`E_*j8+EbzUC!~0aal{F zWZ_U=owgXOuHlc+Na?9)HuKXJ@tlJ=^&9!1fjTrXWGpqy`9pf6Uq@+Pf4K1-#4>L%G8}3x=KoVMf)jE zrdlUfQ6A(~?ZVnYe>i11QyB&(2LV--iU_1!^Aqb&m0mA|y=RLDd|P9OEo`(m#_z9Q zyHJudCFpDlvnw0#n;Cb5D)2OU(pNe<&6JM;Q|nykuvA8A%VRMP?RzQvVj^ywh#Ty;w%6UXt7R@1 zbB#?Hro$`>Z6*DY-Kjl}9|k$B2WNX{ZBm?a^6vxsq=0|IgPu#hlusnop26&xP5K%} z?kj(a$GjQb>hl&IDXi5hRRtb+NWmlicFEZuYP;WmR%*am5uoEdY;OjJji0}3ya{ZG z#bW@XLO{=AzI^VOCZyHGnXO_+KCvS)2jl)TmfCM@^P2lrbMk_Qh0RIDYvdSY6c4uB zw+Jo3+&;;LiFUFWG2|^<$J$iwIzw`OblEE#bOxlmmm)s@mIS^!9a9B4#*9~W`92K}>YlFd*QIk>s=BG_W6-^XVW^X| z8RND;U$m(wen@ba zlGP%+J|de*UG^7re8^OU0sDjvqiZ|8XX3JA9_0PetERR55j;R>wdh&tH&&Vn#t$3a zfgZ|@<#kOKNdxk49nDxN-w&pJ$~^qqcJR%|EnSZc zb#bA!`l3j@H=7l$*c4xA*9B&s{k%CfdTd&&-hmKun{)XbBZ=4L+eV2}VV@{v8JCiZ z@ZMaeZmQSFqHjB3$yfra4HL$ei&df%VQuuh)-Cgdscwq!$StgD?QU~~7)4urk0SSC_}l5NRr zz26um097mUjS{hmB&VqG>__d#uI@^-4*B6m%~jFgg{V65SqwDK?>by(`$xtN{vE}UNt0M2* zmis^vA&`^H4r6L8(pDE9{B11aHl3;yZj$#~HzVJFF{{u%#KL2Rv}{H73iCZzJLVF~_^emN{0Ln@ z?RdM{zMKANCh)R~<7Ty(W{|VOcRo;pwl1t$d43Vxa!c4QADwuTI!Hw;6mlDl60@#x zi_#d9^zL&$AAOpFg=w@zYTC?liQQ#o${N4XuGy|=hzqEs+87)DD50>L$8OeZCW zZ$!2oU22$+BDv~KUf>ijR4=VS3!B=*sxaBK|9q5So5Fl;GRfhck10OQc|Gy>sGbKB zRQ_c(*6Np|P&dbMBHIhDvh{D-C%t+RTdxGu`+09P3gsFxuavMLseB@Iqmk4K)&v**3f$Dg0xPLbnd3KJK3`G;k;J*Q(QrI)c!A)8#DN>CyrNA9x!U94+8vo8E@^yG{h=S4?>*pG!J zfN1aLtn!;^ovm+wd8qfrq_Ow)Ho9A?#uP1kpm&0)P!9*e49~Rnq;r9@)?cx~yZ`SE zAcLa)_sDjS5Y`4S^Yf+Oy17^JZ=wv?QeH~|oDTutT&xXyGPVcPuO@exb*~W@q3Vaq zh;AqBXtMa(C;9#AKeqn1Kz38EC|U~J%?EJ2IOA<;mCZ33LXI>e)r^(J?hGRZ)0tsjhX?t!c#iwZa{)QyucXMav4)&q5# z*;#na45CK@SVj{^1nP%4K^Hr@hHB+y`)*S_rfsibbIhMMJR9>Kh?mg;@dSW#JVo*! zsUmfr8-&}>5CgXY-Ht;IME49=?~WU+Y_{maDotlMI2U?3QhW1r*yvD*b?xWR&T&KP zt3LN&o->N{ZJewy$bF_N3?K@!pe>k&sJ02O)%{i{zJ7g7_16;^a3fE2CkfxE&aFJI zuJ_G2CfiYiEB*8wvez%@X-sJKkS$x=)WW4ts@05-+2$q#=(SDZ&s+2Z*&r<+4w3cW zeJ;{i&|*ox8k??JA;TE0b^@15g*cl<84uzwcbs~DtUYg8(7!4|$H{dOtB%OCw4|ES zc&p%;8u}SrqIg^Fx&$H{)!b}jO6qlMB@0|27Y$1MwECS=@#M`}2VV1_pSK*l=|Uoq z9AZEtmF0j>`Rv@86`i=-}ezm1KBES&uKzHL_s< z+{KIo^qv3?T+e9(NHmom#NOdieUN)*u~M*9x@j4jE3miO4(QH)x)Jo!SB8&6HUytu z(ES&g+w_}UGMx?2iF;>wMgp$l@c`m6YD?8ualW7--2-xyD8hrVuPi)21g_4)-EEZvC0*wWe{ru5)I&N0q4t10aUz z1x2j?8SW+b2g@2EDVKaTo(8I9-n(T&A9D@Y({N6V4zCvNx+$sDFuAZKBvj? zFxThwsu}fAP~-aBbL{P@RibH)j7u2l?J)p67s5%mf!q_`pRYC2YWNPfEYyz)#0Pe# zVyQG7*58M}9H(|8urbMfmP>(O&mr%C3q)YRxPy~jVk7l>Pk)3O2fjX23DMR@RB9{r z@?g0g9>FY~(ctmnl80g)`J)MIp>3(D7CY?FtERU!=p#7?_kjW`fc-hwCYgr4W=%}S zA8(aArYo1gLEF@2(rN)w|27k&B%qB40LUAL@t+>S!rgD}ez^cjR58PuSc-kg;H{W}<@}mR<|Yk-}ysFGi&Sp}~o& zL03WUUkxtM?M$E&j27t7W$LyalGd_6WU#g=gw&Nh^>8lFkfCZ~O+S(T~3XY_2@GtG`UI zzQ{Na(B>Wkar9lR(Oh^`{pqnEBol|=(RgLaS-@R-Nv0YIK`g;)vHDys&)`871y5!lN1Y1LW7r#EsFQ!!OLqJn5;` zvg0E+b2b*8{n>jtPtDy2wCuwmQx1Hm6bt05(s-PZ^m2$^!8eG@vh;D`@9|(>Vt@>8 zgbhuI<0!OV;U4vy3Iz0)MkKBa12Y4TVudE2RK(5yovZ04t9J&cNzZDn&&1dqRpD(gF_?QGoH2@mlOgq7aD?LPtk}I}8G^`t4U8 z?@I9Fle7Ohq7AL(Gl?D=)Cj#rfcW!%h7l-H@{KWC%bh4(V0G0b(G(YPak7RE&5H#G zbHeQEXuPZkemfX6R|T+2KX)QecO*9mgPgLAGX2JYbz#7G=&|Onr9ch)eeS`4u@U0{ zD#^G9y|TxUbg_~IpyjZMe_+Wy3A8oLf=@|!fY=&Ck_W*++7oFYUm8#|9PhK)Zi~kS z93Ti0FiWHnAb&j6|AJ>Qkq5Y#e1!&cOswWPHrJf58n51$!GK}%nNV!2UNQg4cq zUq1%tz5s%`>_+z998Uu$+L*-qmNxEHkl0%HssuoOW+)K||D-1xEsPbfAMjb-B@c`M zmTvLx1e`XZgY7^g<6jI|AQtTAtyOI(FAeZW$BG_s=*l71ODHDpaX{PAG;AXMp`)a? z)R@C_tgvJAt{1PThsCY_yVaV(6QE~0=3|j&MtRa}PzRrY4SoFqHcEYA;8lHJ&vBjc zcMKR;+#Mc!vX+e!aCO?JLA~yH2tbwwF8idpLDO2X15N8_irSsv;IrNR)_6cZ0+9ct zKhV2n(nQ-1E*sPRW=sv7~0fb~RuC`x1=X z*Ct>981U2Ii3HM{cCw=JV?w)LuVNXQU`l2-900H*0r~J{J|Nfxh7J%eD&(+>zw862DQ+Kk(*W{5 z2ENwHTugnoM8I$Sn^Vpo5FqBjI;Zf60k6^?9r_T93rG)~!xwp-s|rI$hvK4B07My$ ztRxOPfLdD%CO~2L(~iD%ni8VNhfW6Q4XAcO8{2}PSnUHgf}cqNJs*kaAjTC80DxU> zu&sS&T0=bwvaLmcttVhXRx?IKX#y7jfHPNED&+RF#{7}o7GiK{Z-;gQ_CyYRs_Dmm zaVPLIz}e(@Ct-MR=|FqqiVV^E#&bkY6WOXJx~a-X`M#Uwv7wM#Ia**Cn@urSvJ$oR}q) z4sZdjXn+WPoKQeJmo)8Ro!G(|?>8qLHRvw}z~(U;G}w~HE|GxcmB^H6I)iu`$lVX0 zUUa#*p$37a!#8vQB0pQ<93@dwO{Vo7CMy*Vs>ga9A-*`Mq1p-)woXa2PmVZh;)e|2 zh=p^d+2YzaQ*9e9j5O!4%qDj zU@~m`>Qa%{A;maA8q?^1W7;Zi{^v!Tls_U+cnWqRVlIxBdWTmUh4{M0-F2hn=3S)c zTx^P8{d9%RJg-dU@wQhszvySgRRqm_LnPh&_DQ%S5lXo3)hT z?e4j_Ju;n!otw*}Yx30`O_NR``-ZkQWVkPW5e~#0#dP}bN4oP0Ugwulcyj*xBJNQ$ z0wqpwypO*Zy8EGFa_GpqdtQzaA9WO{+|zZgC&8z}^2|zp2hf78+iYv=8^oXLm{g2; zF9(AdrL%V${5kyOUh} znVr`2Fuk- z*=ELKMepORxcwZBgTU_b>a+&7vp%_^p~@P^4%0}(Dv_2u7+{Cn=H0y4rR?9Rx#ntu z?<4a?J^Erg4auiN&aHcillhY4%M+RQGFY&*7!4Hk0d}=q(?G|Uv#~#_AI`1kc(NXo z`l`+}H_cs{ZCn=Y@VNf@VHTM>(P4-~0Yxdyd*)2!{_LqiHjVpVT*Z^!z=!| zXf0Q_T+8o^INSe?nn9Q1VyVVCh`GuqXwW*mG(yV7GznKMTK4g|k}r6mI?d;w*PVhx zKlu*hUs_RW*G?xRYmMk*eB#V?>imA}c`78B8(O9%(xXG={y`^6q&#v{Q6C*Armj=Y zxF;{e!*mnS)zZyV+9gas%tag`gf($18n)wpL;4PK^GZ_A4C!vB2^zz7(6AA*Uqq48 zrFQA$B%t&|osu3>g**`tu)dY>nM-8nG$_ro2b9#h9#$6IR748Wg&ZEDcmH^MJg{P#ew4AVTINcYT{ z>mGP*Fb!$H2ihh8!*g>}vd#)p)~$CI&$+n)g9W(t1mU7W1(Xi4eI)y&8KM6S*kG%U zxtKn#ALAtjO6YG9$H4c71;HG1zxk#{(fh1?h+7&HHhmjVpgGQkFP{G-I*7Z@SkolE zu1~^J;Ufi7|4mf>u^)66`~~pDGij|xQ{g5BZlq9l1{5s36XIgNtn>b8mUCkznI7>C z_z`v+*gpK)KGQMVAcQt{rQn7eu1SM-3;_W79H+^gd*nz@-3HwYF&`9dGywS9CuHw& z4;ywjwK)cy4Pu661sBoJdmxP8K++}K(NJCq%J;Q6K(!)V_Y|p>vxMy24*PKVP7g#2 z13BS6+?thQ(MFswCDz43m2Vz_qfl_1y2i*s#&vtKn`P#a%X}P7hk^N&%EdlPl_0_& z_q0b&21f(jH_3ii%e)fFY!(BlgNx8&>=Y&@h)W{4pu~rU0=Q}@9cp?1wv3_|NS%>6GQIm6qZ-YN z!USWS6j*sdIdO@0co;-;dXOLa2DN@a2Ff2*KAW76&qNoj>#+*M1lN4&_g`>}ZWqh& zDV{AvMBS3omzqB?16xG_OK5p6+TSHmbHBF4{>qaQU85r*xhGS`;PSW5%O}!lKPgt?P~1X$T-$l_?CAil2DbFNNyOZ_Zal=JEm=PEK{ zQy)8g_Vk!wX?!b^*wAiqbLi!^$Dt-Q76L_Z!A%uj__6a@(uVo7tmFRl9~qKl`E}88 zTKxsU4__1yTGkbqGTwN@TU|q;3`!kD5j_+y~<6|^DGS=rg2M)s!Jt~yUHDl4C>lE6H&6)9jUO!~V zEwaK2Z)8x4FHw%Pk0`@+)E9LOBw?*A7{-mfXQ9W1k^J`d(-E%Op3~-2N^-??B2uMk z3Qv-S$0)NpGJEYe2~Z`WR2otJZ+>GTq&$rRbd1bT&f&cv-SCCIp5weMf)P% zRZm1TpLjN2{FOzK1t95W^rRo+a=*o?c{Mc@@1|mzXQgn%If%C0p=UW2?56cO& zC7=`O7`iTs$eW+=oy=lYW5c{HQ|Re+0yGJ3(?(hVv3KDW5R9LtbKZT-*qT6I9F!NzlT8_8(_Z zxAkO$B(OQs)Z1^T4NM3Nqj)+PZC6JJEgTB)*TkgAMptb*T4*A=`6P$(CTi(`qJ5`w zP|4e0(OT@Qi&1yez#qb!1`#S2gv=g^+ES(?Z!Oi;Zu7U%2@65ze z7VXC`>Cy|9d2N*VvAl-H5wA3o@0TiqXHu+3o6T}4W42KT)Uql-t(lly!Y9b3k8@k=XYghpXbGKB3An$~sWP2@Qv=Y{0c8+*xho235LS@OM@JmXIMc1{+%7LEv6KxpixE4+-JD+dK$VQ`446w~yux^Dqs}R~98KE$~-wQPC>4Rmb-ib@%^xt9+YpxbC)?CJ2OQ~WJ zs>AQDf<2(k;XdyJ{!cKV&v`RNoC;ODIeF-oT4x8 z(XZHaBgjIr3uvBm>Cq@E%h@`9w0ob3M3KYEc59uXlG`O}*@KuspV@gj2M(PLol>eDJ;Jz4AF(xA$ZtbL@ix6oRX8h*G9Rgdc5RCbMU}g`b9mj@) zj=>%zU;iPsdvkY?+vaM!S2j@vSmewnT(Rq(Li}YDQ=B>gh)l>0Q`#T?_=oyjcAQ5 z#jIiAM#VGhB?Q*kMuws0AXeU%| zmM!;4dofOx4`b!$L(z*5uHx6$o{0;AABC5zuaG~KBhX?0MRoK{Oy_niH59LnzBEjIBo&Fziz)*9m zx-B{2zh(>P_!sAG)C#3!!&SbMx5^ym?fy3?FUk@q7ulod*-q{~yYN->Kb=A87;e)0 zYqueh9wDzSLz$NTX#h$m!~SY^!uHo-b~U%GxjhwTGRk+MKz_kTHuIOv7%u#~|MA9Y z0Hz)i7I#O&SmE0EczpkO(CcW(R05N%ma0}=4h=26PhOb+F$c{`N03}u-m^$?i_p^O zG4uWxg<6J$A&rSCPlc(IsTWlDMQMy0{9oT@IJCf<0AZDCgEh?Onj7Ox+aBt_7lr?0 z)1t@9xnM=2%wF%KhIWFc19NM_KR$n;H(u(@-+Kq=DbM~cmsf;8F^zI;)GiIv-sC}3 zQl{7#gTHzoq&E(I`@;t=kDS{q*fYk*~b z$xocDO8gGkJVdFWrmyX0^v(L^%n_U2&G z`{`{~7<2#5!{YiMLJ~7i+%yuVm(>43M@Q-BhTXu(Dw(9e29mZi_=T$Qk^n;}`)Y}q zGSarNkZaiMl=JZ&g@@kxeEop^R(e$`Exi&;t9rNq38R{sqNrn3E0TLv4YdX~Im(TF zoKp|2r3({DnAM!NMMmcbR$OKcjXdeW!$GCCBv^SIJgt#>Nq|kZp?4FW=X5KoS&pk? zuxyd3k3Scfu?CU_tAPo$X_8L6!y!`V;x-!BOl4Y`XxP2hiQ73gGRh-n($D9*e#g}5 z`#CvUvzYw`bfhY0u(ER>&QtabBO9CQOI?+=iX9r}9a7%X4HBlVnt`sT$x^o-*LA?V zuK99OvSph8MaG$>S5@#Qbt!tX4|j_G`tX(WX{@RY8?9ZK7SZ z&6J)ImF|5rzI{)&V%t(=C9)P)=({~%J@}}p=jG-Zh_%!zC;7G_NCX1Fo?1R~smsQk zB!$%sh>*2{)zp?UmAKT$!q&uiILQ`{MS&=&tlmwJSQnu$0RNEHsvL?-7_-LU&)94X zDkb@aXWh{T`sxU<n7u36uSV_#g7TY_Ysm<#YQ2f@(cV>#+)=y* z?fY`NE?J%?f%YS2w=2Pk86~Ez>2&z8;k#d$OD1uE{t> zVWxNgj%DVK_PVTUT2e3*SXC89xdl)Xo-i`-4zO|iw=KYK9TD``e-Ho1iVL7){;M*e zvf10<{lD!M<*>ID|2=@A3q=~08r~+(|9`yZ7X|-)OOMv_&q-QDJyPkxxA9w-X?a{l zDBRnz>%HoE8=@D8;?9acG6M~-QPB!`pl^D{ErSWmyJZn3*0bSI1;#jBvQ$|$!|Dy__cj9jc??H%Pu>6CD zRjHGM!LYPG;~dpLu^ogAEI)U;LQ4KOom;Ap_X5$({U5aKOY#H)falhsVZGXerT(4M zNRIlP+sUCSGexPLy2!$RO!pS=IQn-kmFC<>C2&BJd5Z0~&Lw259my@SA7vNXW=S_E zBEvE$CkAYiQ~t=s7j zDXrH;MHE0!GYLDD{bKV3Ol8CBPbUA36}qQAHXVC)Jbua|GoytH0Kjy@>;>y#lJ2hV zoMbgQxVHi=D*mLY)<%otr_2nu1r>l=Z7wUeLb}k}@o-#20W}Rqp*dfjTVbuiLFK2b z`DPK-!_nVJ^cl@DvC=+#lXnnsdClUTd4STtLY2J>kNQ|vEWEdQU`yN!`|{1ps7zEp z>rLlrMqcL(yUF`%GDo_>dHzK4=AOHfyqIY~3nnf=Ho?2{qBc`EWPk&a00xG5r**&7 z-K$qJ`U>!FL?(&S&cg>lB7-g~o6?pzt4L*PMQ0rapa&Igql-)#;hd^IW-*}fn_C3c z0h3IWh(Iwp6Z{%KT&+JxHWeW)@i^r z)rSYPv&?hBz-}U3#OUjhYG5VUJ>-RDg4FpOqY-pp!2EKR}Sg1}Nn2Us>W+G(NQxCR3-XZV;Y~o5|G-DzpiB~@b{*Xe0 z*3yP&vnoF__5qKAA)Z|lT}fS^yXp?Mu4fLk_3)ae(OV!N7btS7?5g|_U8`NrvUTy1 z!$L#$T9MMt?Apebd*(L1rihc59I1zqcM;cJ#2Lq=+u1iFz=xU1u@ zQejV-DDS^`nacenUbp{)tZ~pINXys=aGl4+oGklL>C=5Bp&?7d%pMi;>+*W;5Dgb| z|6t7|<{aY4Y)6ykXWyH}ZA;x~KMks2`YwLs(l-t4shvZdVMcc{!4s(Jtrc)^0V_N- z2^KbDFQL4a=iB#Q&0#QY+z&4+RANg}Gq#e6dyKD?J)EBY!h99~S{u(}G~3WEM37mwOXl$s2036B0bkwAN?BKB3js4Dh6k?MvZl5f3ggtxpVp zo>vhh{18@llar17ZRInNg&XKT>f(tTsk9IknemOw!d7xag&p%wOb*R5<%77FB(K45 z1b&9?sZDUqm`^>&qzm7`y;e-~vUI@j+JAvz9&r$#?p zRvyrB(8Lla3{ajB(lbMNMztu^VE_nrf@~JS=(Lm%?~Vk{jaH6G)ZI+r49`5x-G^dK zhnzJOH)5U5V&j$`{mM$sy=apEL0!Hu-s(pp6s>M2Va#|=O=Zo;wN4D!9MH;3C6Ee# z{rw#C4f(v{iMicP$;3@$vb%vlcvt0#w!|~ZASbUwOcw|FRljtmN2bb4aXQOUhBJvH z`L8a0gf{o*7bcjEN*I8J1JMQkoS#QE!zww|`^3?m)Wa6fZ8rspqe>;CZn&dzv`wKy zNw#t6UCy|#a3f>Zqe8DgbA7TpDh-3}W%Aegc;E57k7^xjllD11BranM=A0cXTnXKi%MQo4m;IpglIRCic!xg()8 z!+i~RgfWgq7ihX@SLq~9NZuWNxeV&JS*ZG19^2OVn=ORc)Ku%FH47s5Y21IVF~iw* zWA*`wE_LvsCYQ9+YD01@6$Y^V2U=A=tRRFrQflg1s6GEgXKNv5bybs!FDJ+Lucnlv zH}>qh=$U(ZjxBt%O%tnm7;O#wMpz~}MxWvuQyRbNl3e$xzXs6X+Zxe-Co+F%BMABokRB-+yqe#MmmCplMIanA9B zoX?9eI7Jl2+4@|6mR?Bc@(rZf{?JNJMm@RPuXyy8`wQ#;YMw(pR2Apd8_`ZRTE< zrZWX!V%s7@f6mxQEk|^xOb)q>;APDs0~7c}fv^3X;YAh-UJgUgimOLA!PfqSQp+c) zWz32fyrYxlmi;jJFk1*;_N3R$rl6Sr&2Am(MQ2Y8xG6akZlQ8q7yC6|Yl$!bXKbISn20WF z*=?o)BNzP<`neh_(}ovxaP^@f{v+Or;(Cm12gS%>T@x9p&AF4LSrc5?%O2 zCs!+T(fZ!f;H1l?F)r1qEMgdcf!>;+`o$h8j^%K6jcVh=swM;FSDcKW*BQEl*&;xb ztmgh>xSYS*<4y}K=zUy3Gx~nymv!o~?vk@#@l4$XKMXs#>V=A*gtgFcK>xrHKiB2C z&g@@_`7WAzfl5UK<+LEZgT@yIB_Iz0_-O4co-ykWE5|iS^OqpM-pigo2Yv@1UD@Iju4<$o!}k_o8fiLB}r8 zG8rSB9H4LYBgZyULc<9j5IRa&`J##GDg4vhY5`t2pOv00I8_-Jtui{HODE5Ad5cGw z$w4qF)A9$hWsl%}?;0WWMO*1Fq>kJg7ZE`8o`_$TN#T+G)M>F(j?aJ-Kc35qz+IVa zs9=!Jg1dk{1rESTiUl|ST;2~xIE{b0)(Gx#s>O&pM^Tz@i)I&yn}4V#WP2bDMb2PX2061k9# ztCDs{#Lx?INopqSAvK3P2Ugxa}* zEmu#Q(BZ<3bnFCPz(n`VT_7v!dN3IgC8d&v&kQsXi0Oi$DQrgLDmpf3gs2ek*J+CZmuEh zk0KJ-_go1iQ8!zT{iE%#X*V=~!v3g~oLT#ibJ^*e?|0h>*1#G)(SB6n9(gmTe{)5_ zm=f(YOCtlFAKBF8_j9?qcruN4z4Q62+PR>9mut(ON2S>TcZH{Nc6bo3^O@974%I&c zK(%y%_Z^X-+2x8`?2Q?$0sL9(gcKhs3x zOoh?E7R3YFk0^Zr0Aag?h#C@g?JyO>oN~C^aqjp%HVqy(-3O|(?fDH@cF>FC9N=s) znO4C5ZMb@2*urY=hDVTW35wxjqCsHYZ1c8Dr}@L~BVML+M-WM{q6Wv-;aM%7x~<$P4S zQbM^JquGMf`#0 z+KJVuHVvb<7&a+^Or_h2LesW|B`zj1T9K}vf4S!Az{y~aeP9CKc>VG@5b4$0e})Zm z5|4{6yt;Mp(@_u`X5^s@qJv$~%F86ABgXw(k(QqF_vcX>)zc>8e`}gGW1a;JB=2L< zg4a8AC~DMdr7r~hTfK?rF+mujBw8C^t~ai9U9GzND*Q3~01C{Kh+on)_wFKYX;-xX z5PeXK4j#!*@z70J@T29}m~ZMYk|AJC;tI>BnOP{tgn-PuaV?!UjRQou5X>2#uT_Yk z5Ir2vqpVsy#sEt)$>bOXEK1R51@Z`q14=XySsx)qJs;mH+>mo%(^f|Ll8?ZPg6J2Z6jH~D7fn|brz z`dO?+cX4jjy;Zl)*=L`9#3jWzx%4@qIic@gAV3gMFC|6KRu(s;L;y5YP0zgj(h=KWRYkeoc2a1oqeTQ=8+^gop?vBfCdO zdnO_RWu^mha6qX^x0GZ+e0)$u*dsRP0}&wz8ul3)7J!2Cq#y@CLV7?!e#FBAQc*o1 zA%W=WZ>cGOe7rz*HXs)lC@KD>wD|EoI!H$w7#j@?@B=b3-r-_{Bqg6E#DHR=z#kFM z=B7YZ6`+YRP)_y%1qtZo3DnmGh6MvX-GM;?*X+yyPq!yd_9w@0Kzlo&pujCQ=KUx9 zdrVBAhWg`MM9^C#5H$3|TSTCvJqSE`C50>ek9T-DPmy8w80bKESD>HIV}KtB9s!`E z1rQSfIy(Xc1wc@5Zn(Lh5fPv0=|Cv&08$dqTACm@_@}o>0By~CCwt%*rAK=^06QCi zn(CR7;!a-n(Lnc+oD5*34^UEg{G#}nk$R)^^}*WWDIpeUWB`zpd8sG`Ffl&EBR7vkM1tdyxag2 zBLEjC2m%ri77Xz6d>|pd{D|{XRPdA(4`5+_K!CqhmVXu&0{n=$H#P(W2RtDnfG8+# zg@sOOsh&%UfS*1+r6xV+=RERo18HfVkq`l~KS1w4+z0wT*H+zscY6XKWMz4Vfw>P2 ze9FxNl9B>HyuXhO1F^6^l@@|XNbWh=uRr0xK)!hd-V*Xik_gL@8RG;#f2d7aT*$6X%UEr2l)9j zuqYq!@#B45%*A^&5CY;I0^Acc^mAG9m7CKYE%gf|6o`WZ@a7Gus^XBI5hNmV{Q><% zLIMH;g6QR~oah&2VL=5^W_rdqkbfOgmsKDX(Rb7b|K;Pt_r=iN(vZuD_%lBtuPe8!wVk!GqduXlwUvzn zw<{m9zLBkgF*o@0>tP0B!apXCmVCs5um2!?y{53Oy)hv>JtLhVBO@~*2NyjPJ1Ywt zGc6%ABQqldBNGD)BOMbPHya~23n$?}eu%+Wvo|u~RuU2W$F;!U_=wFM9qqUo7+hRj z=v`RoZS74Nn7FvO7#Nuun3?Io7IY47HjetPbT$qo|2%_;v4f$#xt*iAtqtMp8TAcp zogDdy!88493D$Q1I<1WZ{h#H~8`@ekxa!+6FwrxS7W?40ba{#@M1kipo> z*xJ~}(E)7B^egOag>t&_c>G1#2s zby{}Z!uH1cj<)t+Y;CRndB+vZY#nVK%xvulnZZ*cq*ODvF|u`Wp!&A~#^7CG%ts8q z{Y-R>9CXZVUzl0A*}%VSG>q)rjEsMo%Gw&4o4Eb2rmWm-od018e)dM-o%R1UHZtTk zv9-6>2R{IFYkgB=22*pBKUb5L<(9N@aMZUkG?o{Hk-JbupUH^Fq{0_W+{MX9|{_?Na z*VqR9&f0@tPRJJ!@c9Yw_;7!Bdvkqtd2xPrdUAYpc(A{>yR*Huxv{>sy0W~q_90|j<*M32xg&=4;Wv|w)s@d^Y4;9nqK5bz|bvwQsE-&1Q1Rp!sa&cxTw5@j#ArB@E?HMNp2q2Lv@%>*^eaoi9}!=w zzIZB6B92;nq`qXPNFh%uL#m;4u1vkoVs)gUY@tf;XBfV8WBFp8*-WYSXk*24lil`6 zhICWqYMblz(duYZ)q0oDo3{iq&DEPfL*CQqj5XJ64@Q$nXUeqH?v5t2Sgwt=)b0Pu z77iznZLL3?DON7i8EMXnr#MRn-p&b;W-~{1``HRZiSF0 znr($r78Y-X(Ka4zg)^J ziBk}x+KvCBYQCGGZc?(FsO5aPo1_;+wU=y^Xug+XR#>u^YSnnSmu5FWwV&=dZ@!=5 zx>vHF>3Mg!pXCEfeUKf1X>pJfLSA~18^L~bkQXgReV8AwYH?VQY*KnynC^UZSd<+^ zeN>#EXmM0hTv&QkTHbhcR8~FkLVa9bKW}kd(Y#lBT-knibX?U9OLJ1)hiQ3IGell? zQai?ed{Q?lMsr#}t7>`L@Y|&9v~k7x__S#wh~}($C(-h(<)EfabjY zX5R9=<6*Dtyz}|)_`C}Oj`pG(8q4aU2cDw*q8Ewd zlgmNEVA`u8(j=>^ValTNs}b6!ldDn2LE7sv)&;BUanAkn>j~cblj~msaCA45B3RZp zQxX&vH`6j4r#CYS;&ivOU(~E`=hRIrZs)aJPHz|Vg6Zyl8zouaEt(Zo+$~u(o!%|m z4bt7OI4)S1wzntE$`@qpZYy@E0JZy$gR6cA)aGX7CM~l-x?!>FvJnkl& zRzB{fyPQ4lX9v>*4)T+10Efjzm4Ku2rZd2C^&tJzN&SM&(`oa5<(D>c>CM53V65Tat^%T2xb61>?GNO9uJDDK!B5` zbI{YpAj8Y^&4TR<@L|8|1@wG>4&H%C*${9N-B7p}KJYTxP*_9Vu-q5Es1e!F6cRm% zniqc9W7)7ALp><&7yg7uIq>2Vz38bI0hBU1h-yQAKmo9=h$8u0y zhJF$NE`kM+a#3G`CHjbQFGD0`a?z89`pCI2Llq)&KNLyyQ)^y^sgLDiHVyUDyI+Ru zA?0BYN(?ZkUPhS7;q6NdaxYy*xsK%#+z$=%11^8~AmtOnNe&6& zUPXt<DjAQf>AN>13PUZ)?(6mc&MPdK+;XIw-S@$O6ha$ma6 zd>AX@zaM`2cRc#uXt8~9D(?c#(AC#J}O}#BQ zlP%L+7@2Quy{)i|EYsSTT4-Imt#lnP)43m6=mgwW`5>3;!Abw_#l5Qzku5jC8vQ-M zeOD75S#Crjy*Q$ISDQRuZo)CTIN^R*myKLuCN8}+oqAVaEL&lrHo7$5de=}LSz%== zy}b0Ybl2ECUSZ=hy1WLsYwAX>v6sVU2CT@;vmQMpXw;$ZR5hedxuWs1D*7+eGnr_(_OT6Cy6N zg`W1%M=4hmrZ%>P+4j)S7*!KtDzlBd{4l^dQ4{4dwoUN#Ferdh8yzgOL;Ue^NJ6eQ zHfd~!oab>^A*wdMNM@J%>*I*}L~UZz*e<=tcZF_d)s5@ zxLs6T`o7FQ_wwU}>qK4V{n$SL)8j86l=^Hq*#n`EfXNWK`dqB>12G=JRCH8*K85U| z)K|cC@uMp6X@YGrlKbD(pkq}^$ z{}KOHt%||%KMEC&_*vqL*e?XFB_Th=esd%gN|!u>s%}p-mEE{;%&o3K-jABf@9FS* zTQX3PhyKH$a$&Q#tb<>;=6mY71oSHE$YLiF#dP*AOc<(p2WCPDI^kac04PChk z#KtnQGUwO$@3K4Di47A4&3j2H-W#-jXWe#Rv|8)nU{CY$-q>J7K+=Fb_1o26?Mjdh z3jE)zS%lnx41#b4ujX$w^X3iV1}21-aNs)XA2ibgfyrVaf}Q;jG{a@T{W%tlW^T-4 zH%7o{hL{rvjAmldZC}xhsr)x6vp?Jr2cwx(xDuV!5e&nDO1(%i zD>ugS#RQ|7%+u7yiv9-v!B#Muq0*{yx;`2&p4%Vm@L8wcZFDi;Xrq0{EwaLtr!Wxh z1d_#Wsg-X_1fvk2@C`B!&Q^4yYgTr18{f~Cm`30rk{Htt z&d*n)k0|~O)SW{ZAB4Fnk!4US3F}Sw#fO_ zLVj+SM6s!6F4jdpaDQG?4%a2omvD`2%21VB{gZcswIiuBji%~mI2N_2Vv53UfJrKD zOe@t_FZ)`JeU-b_&<`BCM_jW$UjITfABf$*WQG~^o8|rFLoAVUlpD!&O&l;n z%}(hwGAxQ|L@14VAIYs0QIHx&q+7~vgr1n8WMYn9?4W_W8yg7~bYK}szQ3O=Fh9JR zN+m~Wn6Lqg`F=N^iGx z7I4&x(`fmzoxZRPz5b>&Ikx3-jgye$nfl|uy+}2X?T`x)-T$%m;NKHJV-iAeK(9Bm zeJHB_8%T>sBL53W3wzyAGQ9$6$;xy|##bP%>^=tGdUC1o-x2YT>hz>@CE_|)O8x@U zOZAk0fOL!(O$gy1AU*O-@d~6BhI7F{+FB;aW_u)o#tsam4c>08j^3B_cKW=LAEyKZ z=?a>D9G#QIkCOorB!*7U$t0Y^$>FMN&+lyZeo=FU7b2!I>`oP%Cc=huf`PP?+LIM> zTch=Kt?lue_T!b-TDSi-$_7u##dc%3uBgrwjYEVsmP3@+L!(t(bJY)(ijKCqh>?!) zmlrR_=Z9-mG$fH<1hkwDr(hucvd9E{lKrYY`0J&p2Lv%-G^GfMi7g-wjf=f*g6Qso zYlSR!mo9)H)|}}6UZ*}QP(?9b-#F~s@0sA@HU?{lNey|>m=w>qSV6_O3{UaSFX!Bdvlu^F^yc1lkYo0YHfsl@u zq;kj&5iFrH`GmN7>NDFQxsUSEt%>i;xVfIJGc{#&tQ%~yVU`zEDPfl1m5Xr>4Kd<| zhc|WWmU~nwm1+Jdz6h1OxAqc#o{fcOs+hjJCU*Q{C^fb7ErJY-don|I^816F%Y_8pTWM3H_}g%D%%$Gu1kNKSS-KFI zq!HC*yDe`wdW0TZ*Eyz?RSND%-5#}Gs6x{#r4Lx1OC9t&o_8+9eqrePd1YiPLN5qi zU7&J{J=Zm#d8@C1v@CHN+f%T-)o!^sfE9{8n1Gu&q_2u&az1}|DBfc3i7&p^L2gpA zlmk#Nh^FJT_hfcyXO`tY$6Nl6R+Vz1J&9tyASU)^-dgmO{FHG_ZhOvrmT_L@wiI5M zPJLdJCemub2W^)1w^@T2`%q-2_St8?veo?Mzyf5BDF-+)lU0w%NEh|@=P#$K>t1yQ zE*k-Gnh&0IoV8bEo6QryUxrpOfWxGl8tOt zZbzBDJ7SDP;XV%`=y4w;Y1gdmis- z;;%Ss=R0#AZs2;y<>2#_v3XBwVe1&~_4Tv*}BVEtske}gSlrVczWEfd6(ow!M!}HzQO&ZZXZP=*R zv7+5c36X2*>U~J=MU$!sM7P94Iv20O;ivKJs?BN5?G?f&MhLFC-h@PkA@6%fUl78= zD~0w3>hIu`0$BtJ3wiWEJOs4}B??|M1US_eLDkFok5n6!M_KcaR2xAteJBY|1DtBJ zkU=GLGR%X6)BZ#{G}uE(u@X;4ih@&ZO*9h8LWR6}UTOt!s?FB|d>`CUrk3(4%j>UH zo6PCeLsWb%U|Ro^YD?O^IR%H>`;#uPhxjYiu3bT)(a~zA2B+HlYj_WI;8fe_y}{ZT zPNisNhH$v*q2kHGOrnFT*mx?VNRE#8*H9BA17L1E2G98Dj_N*aSR9Yh+)N8h|- zed6?BWCX%t-PMy-HJ=hzt1K|K(Pq9SbJe%t*h>hz-O0?38dUOt*l)6dSCnoo@RGf-dn$R@O$KyzZM{e4xcLYy{ zwIlS$>U9DjVVZglZjpbc+DjOgO_F{zh7nt}$!aas%;A;6{FO8`R%dd}3hfAmsU#ik zb3s+s@Mqzv`2~;58r48VnSxkY8r791geGJ2pU(Ot_`psTZp49km!T1(q&J3*b#)2*LIPZUS=Gp$&XyUt|DW6_@?)*^&{Jmz$WS`OD( zNxmJwFpw3uo}Av5w7zxn(XMckK(Re#D^h|1=e2zeNSKS>n77E&Lf*oPL$-Mx#u_x? z{?`g@=e$Y3HCtc8RM(sk2iRR)JPs)g_fzPwH%_$KIeSY~B-xBc9=|VoR$O*ySqiTg zvPgv0!DjBt1b=xjn`bJ13`7#Tx2ZZo7vB<%qZr~8mw$WzSl6tC;U3$I8T$TEJWKj! zjO??s$HnmHJH_iH2WUR~0aCG#p;4bS+xBb+JOK;W6PDoqnr8qwXZQb3wFRDgN__p@2%+DQM8C*J)55h9>caPaMs^p~Ch!~$ zYR2lV$*v0U=8=F?Z2mA_jY@}Dv+?%wt^+4^l9;_+AK9UqVCgbiZ0>1O>4m_Bfe3Tg zO^g(AA@<U*5NC;1kuoEu^<8&IgF}@REjft4w^3;eXb96 zSg96~lt%Knm*OG|Y!?w*kE;;tAzaW~Q+%-TGY~HaSs=74>01w+ODSgwLFX#-nKoR6 z?OQfRow69w_sJ^)l=RHG$l7Urn~jVul2(D!B;lUZR2|BN+?C8hYVKse)5)ZVhKJ%B z#)iY~%?IDb#3qSD5-|RpY1L<^*BwZgr_M`~8P2Ipu}n48&Q76_u7ydO<$bU3l_G0> zWE{R4AIA!ZAy*~aqYo=Q6ijO))gI$oFv}+;Y(u{PZb&ep&(C{qRm$S z_{EioKPiYBHD|#0SHGA{*3%27ASa#}&bGi5q@fe-D+S5*qW?-k_SwGlxe>@})~Nax zD3{HLS05iORCjGf%C@m9P2yW0uURLP8n1Ork6PijbMDQ2h5V>XfbDjbI+j=UeeFyA z&9PL8<>v$3w)?QH#_*S55dOo%HQ%U**e`MR5mgc##?r;wTzt9qes<4NHSXQt9vn%t>Xu zW)M-%ami7+-_7A&j^mQ~@Uq_)z00XMo80J8^e2^Y5)b7}n!SXp322jCqxmPr`c!~q zY#UGrL8;r!zK@|tnLErb^_EVnC>CYmP^<6zmiV{qpW1i_pCK&&rXbT3lgRxa)kch@ zhOZJII`Pg^m>Jw`#%0(e>Z0w=R@TLq0quC+LLOL3gQ6bN(>;=91IjaP)`6_E$t9Ky zbD49ctF!7@g}MvT81Q#`0585qZR7Co&R>%f+ZvTrO&{*Q^h_X=))g;ikgUNoy&$u# zi})kEMhgw{xo(ghyFWM+GE`lTzy=h0FuZ?jhR-Q2^5W}zn3#(k|y z(hIPgUU3GP(&?i22o?0e0Gu?xw@H|9xu4M4!+1pDtd(5#YT;Zb^br^whC_|Hz<)$e zI4XsO@Ko=N%be$!Ri@-qU#IkPJ9Tzq$i8#BoH#bYsO{o6-+HUA`JCjXyXbYG>wMUJ z3MuYgF1#EClw!#_?jh$|V_I{Y&Fc=to@9?XQjG*Pkkmbnk_sz*a=LQKh~h=nIzYn~ z<`2n$XAcbc9fJi&@qouSHD+%LIb)7JABS;N!HBFigDjulhL5g5%I}EL`r=0^a)tVh zt%b|rkTth&$p|`7)^kh<7Q6rHusTedHw3xHtRKss$w}vV%L2PWl*t***d%{kfBK*g zuBL`v(=E?hfnxB@JX+M3b`qnj;=d@!c9aiqsFDTIYZ-QU@`;fH2Sg1DW1{MjNJ(&T zd@o{R9c!@3$$sX_N|Bpn${^(lwP5>e#l{mg-Yf!G7rcv|U)j?Mh)6g;246P?q z|4=yE7Ezt#K!wh@7~7{`DC#sIBaPyaB9k*&lA?}-z>?z@N1(*Qqt-^QG=?Q@4GQ2~ zb9@i=GbLrec{=fh1(C~|HPa!s*84a<1OW%@*YhlT9OQK2Qf$jSp%*)R@`u=hAcc}1 zZ<|`{7}f-0hl6Z^wUG?VvNXJXgfdp<8zt4S-0jkX7LP3}C!X}xl>iFPgQ+Rg52qR8 z2qsDy1+)cpP9(zyxE;|`Hz_DI2eNJ@RLN(KB&gc4^4>==3AmxfALHLE4GRA($fPJ9 z`)1))OgiUD&`=8Jj-`qZtuk@oSauaYA=+ah2#Rs~V$Dla`Gw_61N%s^lX=-!F13`J z35=YumgBt*3yhA|C<(6wZMAz$^#j>!iWS=O1LjilekqK=s0>RklCQrlMA-@dhQMBs zKOlJ_asSKJ4=HSLK(9cFAYGv1^#%QBwdqRN=ijPL%8BWRidwI(eh=*G3;(!!?L~*} zzE@YDpizG~4X!pd?yxI^UA;n@MIX4@G;538>CBHHd)5crO+GN^p{yCh0Pm>T_ZK4_ky0C(i zWG^(GAh4_72yApX?hF$+KU?p1xI@7KSDSJN;@Wf~=j*Tb<9pbC!FOeArz zES+v7xW9bLVr+j**cvL^H@o({yuI*frNHmve|`)*Jzm!(`1}sM*J=}ykYz#BYqjY&nhbHG`j$3%80mzS9aEBlWTotHO>>4I zlZ;?9wB`&ynARP|9}FdMMhbAqRI_$(aZ7e|279L_6Su}Db3Uaqn?JFVHaPDVtD+cdp3WA0xvgp|#i&DoIxenrP``sx0 zdFe~>LpC^Z^&?><0XPLDnyH@(hs*((MF5<^ebplhxg$vXF*}+vDm!l=@@&Cd{&OvB9t=T5(J&GWFVDULwX2RZ1Gxg5zRA zMnSpbxB~eNM9s_Lli!c=TSm-_i=AivX6YOeJ9%^y=IKkaI>Z2p1<^)#Y9eF3 z7XNH*C=J0(qae=&`VOLoI_EClA&_N{gl*z_Gd+*b;lQ#?rq%01*4ja~N*R4#T4k3R zS7J?9tAlF;mWR$+4i+5udFgs(%5pc>XVlGbF6-wj93tDKt1)r;6|F95+m2p!?JA&` zh|SB1Wbb`T2j_aotpbFf;Einl+WxZs`6k6&>#diHZRx&kX#dkmPzJKWv(sf()rAWY znstzCmHnC#su?|C2+=3GM)$iJiJ-)(iPxp#h8eUg^){md4JxlJjG8#Zc>pRq-pUVH z-#m9^;3q&QJllAKmydoN>gR7-*((yGD+hpqL(`;6sW z0xa+^y*occC28#u;^fn&S^B)mB<+h+5RiL*rw}?vM3gWY8ca&0k<%MRSRo~0Y@2=b zo~mINY|pb1D;`|mss6FAiAxA{9T1#HGY=XY7i>))k_J}C#4+QLI{8;g)+)p%@)}Js zBYdQ=SBgn{HnQNQl0vMk{ztV*iZ!!3A;y=4)-;q_Y`T^yr=85CJ69TTqZHNUXvE0p zKdi4*m^=_MMiO_3?KB*lQlml6ise6KPEeRSAArtYhchl}AIFIFyr+jtJYj=ao1Ptm z%YAGx=+xLBQRP@vw?rjh+gz1ti};bhj^m}{`;{_j;|)cq9_eK9BxyE`EW(Y5{YXG* zejo~rlmlw3{E5g13hDNP9f(53!tSD+gPlyV)4fS*p)c9UOGUWDZ>DvW%);hpQAL$o z6cG5{Cz6FxP{@X5r;ythpa2R=9ZSVI3X2n(rO4z(XO$S~M`Oh>)QGtj2H#PKM>Y5# zu9i!2RTRp)dn^+yFNu%j)3G`8JE?zZNK%!JQORKPIL4EuQ2Xp=RpC@I(|;v3sd(8y zDRMfk+vQ)|Be!43$8v&JRs8#bFwr6sSwXqUe_<%Ls3NJp+@Bx~uhJs%v+wDSson$;h5hkr%G-;xcaeUT<0{yO(&ZC^^@)vTxkw7%j;RMu5}TU0U`3P}vn$1H1vy>g{u}k`3>g9`14;ScQKecB z!fvD4_pLw;F-I8ke#XtJ8xAI5BAbq>6_=i~G z zlsWqEa@oNe1~Ii9>1$)KhC#jn4y<7ibN%{9!(a$s{HkHdG}4b??N$G(LpRT<48eg} zwCxO&i@oz>#cd%+lh0jzD~LL>Z$}D}|8XYfPV({n7gZA~Y{_%;!(BbDk%!&nFuHis z6f9iLi)9h1R%3?`&?IKhnbq9=~V`_C_>qrG>IZCL04{TZLYR9IN z`1bd`kpMG!n_el0 z95fPlhujZmE0lTs;;9Og2?Qeb1(cuYsH~+-TUBQye!g|ec`u()JgfRg!(h4KlGJS5gyY1j>F-Osv&>VxakXzb>RXuex;F1ryJ@D+OWIu8(vEVv3AbQL5 zHG8HNa3UEQ{-pF=+4>|~Fyp~<(r~Xcc@cqS%R8CG@MCUmf@H{PXUb*H@fMp{m-UX! zVx3}t1rE>bV)G}q{o^u!9|z!hOPv4d)CBJ3ndJPAANb%wV+VR}qs6%ezSSFSB<+UE z+;>zSPJ_fM{si4C;)WEF?ORPQcoHe*$ROAaJizj~Cxjrrie2F7R_lp$wWVIMlX;j` zNes2J^9t}CYQg)R2+|hwtwLN$r&Y&APpx9T*%~;0VZQE#pJHTL&BY6Gq)aozS7Z}i znLz#O|1(%NSWrG*7DG8+bj7MhXD1ZRGnZ4~Ha|o_7isuI$(tTvIU0|-h*lsoDH-$p zxh-0+p7)aL;H|NZ41u{ap2u`QD5S*Xwq^!X9=jUroY6wclyIn?+_Exv+!DPst@N3kGv<2iTkW3q zp49~F%&=TpMcrQ-hLmjkX%>$Al}OI(mY4DGSMS3>&lG!5)RU9dMcL(CltL=XDS??L zDJbJem54ZsP(t;&u|(uzF~v=hQia9@bBRJixG6)%arqldWK!>D>Jm`)yy(efXbr=# z_?O}eH8!_r?A);+oa2kAw8<34h2nBDMTNy8GbrOqF?iU6O1O51Wpi55i|CC?zf?%5 zRZGpCwzHIJBFoeDXwHem-jZ=^A89CG4K@TdIM{T=hfY|`Wk#!fQNUMJQoK@OB5eJLWrvw+p^fwOO^up z*81dT=s>fTu}yOSXjq`x6dl~te5e?gZKPXGH8xILk~zg};!)AGrg2rufmE|+;Hgy9 z^C()Ub}5XxI&_G!SOI4Wir{LzWbzZ?sT92YT0biB&nKe(Sc>YM49vLNw6(^yqK?nZ zRd)Gr*U{aAJ8zxPTqNUkEd%SiR+i39AR;Qa072aYaSZyC;TvY(O`4H)=8cHQK11Gz z^+L^J1sPjzh+99jbVLpZ50~+mMqqct@-qdQ7jI#@mGHLy5}^_;o){A7E)F!<|pDd>g&mV!_k0`pCaI^u;c%L*@)VC7R_*tcR%2gwi&Ks5+dqfK_rmIeugXN-Bg;}-J_bY7c3w-0}8={(g+&Alrndh?#N7k#qRMS z-@Qfbu)qsQLSC3Yz!uG!5!9NPm=W8+(#`6*ZqR3?I=;Muu6~Ljth}v z)42q}KPQSM@}@O0|F{NwDv-7aK<8l=G?6Mv93Cr1Ll8S3wZEIR*xOj4zN*81+Jqcb zw$Qu-QmbfDGEb=tJ%PHdOgbj!Iq!Ju6n5UpoN$!=;~5r7ucNbt=AwrT-3q4)o+F(! z%ZUrD!b2#*jqmwj`W(}*Bv^3it1KJ8HKPsy(>jV zrn}Dq!h0Dn9CPv;Oulgg=^m1BJp(j}ki0c;e*I91q2{pYYJY6&_$&?1(04&iG>}n! z7Sl9Ykiu7;{dA0c;~r`E1Vb3zFwuVR(Lcg^W75IcREuWUuD}(EG@xx+x;&?3Bb;Lh zUi!T8rWwJpx1_Ro#`S}OB}jaN?y|Uw18IWv#esP##Ia||sqe{xwN^EZezmfY zNv(;+jc~uCq;va3v$ZcCIGdtee}E^+3?I86nwg>=Kk^h2OXNtcNZ%1ugz|_$>Nk={ z1tgW3Mi@!hWsXPGA0~%T3=58LEs#)eVI9|(O4XlP5-66Wuquu6=@r~N>~>4fu!~F2 zXF_0^I;7L7b#PzwG_}XmpmZ~tCfTnqvIsMOk@;>Q9t-+nENp?Ju#Q)gy_Z5L^y`hV zf4M^rmk7KdQ5Z|T;*I9FHcBzL;;9Suy1b8bpCq^>TViZ(a>yIT4U}-DV`{&AWx#m1 zWiXQAInBzJ*?wqgUpjMk>&O%MWNuGRJ-aYgU);k*t>lpxSAa4oE{8Fpm5Yn#dl6rn zR6?Ojax`7hd19lJFfRTxHT7Feg9%K{p$1p{RKwl?p@mbK&NGGD82tMJC*XV5Yt57( z+<;=w)3=`+aMi^iORIn2SV`)VK|1dUVw-Uaz{O8O>0kVWF(DZ%Bbee|mJLR%nK>y{ zSL6BBOYeg3HV4nEsJSpD03R1_THLo8Vg3S5!~I|;YUNu}#yCmHjpFLJv=aKeJw70^ z-#V8&E<7ovFQJ9=l14J~t#)z<3yDufr9wW<`*w>3@}1!`7d7af%iL1_A+~dc12^>B z5o5tKWU0ulWpbpcd$JSbt?z2F)xg|*nWx)5@4GY-K$va&LdT@b>fj1FhH5wM7EORQ z>4IB~N)5^Ybx_65?6W~xG0yuc{&$bl$ZsQBH}bN@_-LyGYn$~UVYYZE%9%gBs|+Jf zOb@koo%>k!t-MeA;+;c!<0sR;feB`N@#ryXvTIB`9_K5;5Ijw)_eqwjX9x+OlXf%n zT{IZZt~i~@jF@b#noOJvi>GOG=y*aL#|e(UA#Tcy@J=O99HIrg2#4+CFg?b7$DGbI z$2KERsGZcYpvvuP$Y5kh^$+m6>2W1F1UQvUQ-5^S9f>f<)Cro&Kv6dm>Ja`Jtr_YL z30EvnC(vA;I)|PAseC*=K?4q#O0lsa!P?$b`#e>ssK)8v1F;pPH>4gU_kRasJEA7r z6)3`oJ35~}h?Qox|0#z@6RRKkmmL0@tT~?30aW%!4o~ZZh;M=VM-JcnEH+EZ`C5w# zq^c~L^H&DT;We+1x)QX0hRq#0?fkAYo3cQ9WChFNHOdm%;4#4}9*r6>L5X#=l=G(+ z)m*(C7xYICe<||=1OHVHf2AGtDj*xvI28N_uF(_7E^T!;z6Rn7SBlp_yk0@`PdPmP zJR4XJZ}|=yKfUIy7b^s%?u6E3y}8kYWU(7$mjB*wNZw!9I|7#jqFwhd4R(BOf8_8k z{Np_sm)|jZo8BHg*588V@V_RE_*Wu9EeV4TPZ(x|?wO9Lgqnmojf84K-TLdkANDw8 zd69T2F`+`tIaRTsRVj1r6J0qm70Gkw5I++|g=l}E%Dh$6U|O0(#JH^gy~5h0rLg_g zLH}+$x|#_iUqXbuWHCl~s&FUHgNceP{>vTtZUQ2a!fqn3{^72KrhQ7jmTqE6T=GRq zNnw(HZc1v5Z5?{TK-V?(ZL$77vwI!Rk& z($e1piQ{ZbKTA)Yg#o>QJFpLsW?yxcH_y#=yMOs^HeCHk*SvIt0+z!g3Pyg|iZ~`k z>6a3nb(O@VT2mHT$>-+EO;}xQGEVzRmtOq!Bmbv$@63#kn`|SI##K2&nYsJMB_NX1 zU`(F)6BW=f)9wa(8vWUO3Qw~0-{`suQx1@w41$fLG&IX*^3uRte4Q%bl!VQBhdI7C z1OG$rkI$f07$V!wh4spF{zu17hL@|Wg>_rt)q3b>&A)DvJ^{>A!YHVG@EXN60s=iB-LmLAJh$e8_O%y+yE z61yCFufH1kj zV)_Z!nsIm(5BPj!(J7GBA6T)Bq(5ueq&7W%U{`Y~weBR3D|9d9;1TEe78R%K&$Dk( zddT5~NbU%)QOFa?Oz&!9p82)L^!~#9<->Q)A6ZP7rZkY$3RF1u-Z0v6FBid`0VBid zvu}!ofsT_NX!g0WrIa*GVQkyqKG^<_JrMuAUmwH$MUq^WN^l2o!Vj1hu#B>YP$q*8fcWx3! z#TMux0<%)s9U)&)732$+O1|m#zg7A3Z)p{x z%S}~V0}*ceMw zH_fe>1dKr}+>?P+>@(NnxeB1ENlZ z{T+FsQUGC*T^g+f-wn?O?$0R1NYULuf(U$N${#9?E-j z$&@e#A^iE+6ju~p0Lgx5?`Dz^svAkZ#cN|&=tVCy6;^G88(3$~X=n!8RYjwgwYc6u z(_(>9gBV$ZWX3zFzQq0c2YjYbwpKY4H(=qA%dl~NgpT|HckxJ(y|GcH zf{*v((t+R`a<1NEipY(n-|RnN9FYmF(5`=P+Dsr0$)1|w+^PQ@Tj5>sk?+n8 zs*NX>j(p{bmu1D}p>)^EmBt>IC%wsi&diQpj_DVoE@y)lqp$a8I9MTvQ`Z(z7`vx$ zxN_KJQmx1Zuq#ljiZAs)Sa4G+K#4|!pACExKg#8pm+J*aeLx&8A@#+`)(ZQz=!+i6 z7oVYA0=W<38ujY7XVrvhbh7uOi29u=K~q7iQ1$+8w1C5&z|Ya*%+a>WiyBRNLnJMQ z1*31o47FwZTz0>OXT}qBl_tU=wJG0u6cQmplGe#Q+558uOa-yAnznJKCP0{Lm>-5>-p2PEzA>i>mtP8kI*9rXE z?*Z8NUQptLD%Mg|_VHuaH(%ankHj87 z!QY&*-~2_30QYj`0pJN z=8&F{CXfREjq0j5dmvE$N0Xzt-wIU7-%XAh=qrOsj4;G{;3h}eG|>SnoO^%yKbJ)y(H949*IvGs&zcx8WG!gx2a?D(6-q?F>a^#m(SUCVU zIm%Cz0_@7*KU>MX5qL#)5QT>m+q5EZ&G^k1Z#E&CE|*$~;t_jt8?N^`f~g5e>0zNx?pFlOw`WVRvM{BD9gDP4m!pjD!J2cQk2AAX*%$hJjJ+mw^Z9c#{5r z0tw-GX8i;`O!ZZguVK)tDJ1=ZddXG<`vUN0sfY8z-@=UgNi7?3wpqut6pGRv#BL}g zH^8-~%m*&i!E6oKCA2(pwu=CYkiEi>=;MOi(|S>70f~j=+CGCxaH{(PWI{e+N=4=9 z`K7W<&@Y>kPBS}bVvtp}vqzOE-{X#}@UE!K#kxU9)73+`DztIK>^vuiqq%!0^|PHA z)&_GXWfjp2VY@qx8$qLr5R=YjvCRjCJo{xw;3mg4ktQdJuz{TOO>FVx5B_Pry3(f}3v6T_geWB}uk)YPu(Pg3~; zu)?UHm3fr0$mB|tY2jpjjD4xx!3Xhs`}Hr76a392D!;_d6mQ&0H-ViD)fToibH5Mf zYz*}leFLHPKHeD@@*b;`r`|MVo~p$%>!o@%txqGpWQ$Yb5dIN?dq|L@W z+MiHl{!~b!*DJ%sflP)7;hG~6u@v0oXa)aP`l4FL#eoe{V^=FdZ8%UO#HK`XL z_!t6biy&`beF#T*Y`f;k5E!)FdQ$TKDc*1X3ifIkM2`JF$adbt0OC}B^(srJ8t(;S zl4gT}_vH3ST3?Mc#QV%xOwmvSQBpQ=oP@-IvQ~bA_HPLlV;MM5>_g?b@`=lG3q-kN zsU1A?Ny}=*?_{rHl@#;B7>9>TB=Y03jdnf>OO6yuRK^z@jgTu3OXXnqu~tMF4@HoV zYJ!Xiztk7?Ae6a+M2aDHQQRXY3$ib>`{s; zYBkg@YE!heYLyCFRJFBQt6CIQrMc73=lY&=o$EUH&-X8P{szhMe7;}L$AddI6o0e# zzRA0>!An$t)S#qV)k^cvPf7t7N47-ipXDGQ16)X%Eo0$@S0 zTCwY}GU`d@;@^s<%gq3ya>+-XX|`9>*B-Kk~5TinYmYl~owLV_i@2k&#vb)>+)N zVyfvj6jdO4+aJ{g@Ghq?OM+7w>Ohu*v=$%xYD3{$8%e@U@D3JJB}cR`fAdgWg!8+` z3*`j5<+PVF7hM|gi58)aI(D-zsW1)`ztk#%rTEIefn!{~dpLGZYV*j#F$Vzs+iica zOn7Mj4Vi~BR~X7uRGTfp?_TP;uS|Z0Ap*6`GS3;K&^D<7M3j~L%MrP}}K5$qy5W;}pzP7WJ z!_LO^UeY9-r8I z7i7aum%BV4zD+}8HEJjFqx1EV#=ZcTY%|Er&w%}D(kqqVW|s=OwFIKguv2ZbUQ4Q* z)wZ4e#eng|So#M@Ncw2+YIAyaeZxsr(2y}l-hDByFXurm<3M8!sfl;s@pQp!&V=__ z{q(Qevwu%m9W&)lO|0`Y|0YjzKHI-JOuwP3#vy;BqqQ_OvEbsLNL%<>EAffQx+c%! zHP?xsWzkT$%6<3gtWP%jGxg*0kiKcf{dYG7&j$yQUxt!2@xUG9#)&LkYJt5xefyc~ zUyG<$=&LPW;5i~si-W>p(9hatoel4g+^R*Q`;XWzesqEC+0|3*9<|fX+8Ktm zjQhF(U+iBad01z=xIwJTfiXlt|K*Vq?ox10O6AhnK*q#whQ(Qyz_Tt?>cv|b z7lMTNW8LkvWP{Q-i`GNQ6)D{of8||U)mNf#KNIfh3VL`eGFP!Ws4uwjXWc>X@+ISk$=a^%Cab(ou;mJ@iz(11>VH}Z% zMyF_~ouU#{H2S#;kW>p^UjQynYml>uIGQ_DSh2ZpAQynb@R1lZefok*z8uqnI(ZT;7`TSE7;8Y!N<8qD2uk7M7KEzV#0(X9tE z29PkKlG%iy!|P8uWM&*sXLAricolHrJ2O4iyO)w@=5gOn!`tY8D3`Toq%Us9&d_dL zyP?O0RGrNNwNy*k{t}}H00$C<_py#Ys3m2WZRsL}-vJ@LH}OO{ho4FWY7nqc?_wbc z{BnfADaRn?jEC5XT5H6Oa^8+T2n`JaDE7r2zqgUkFeHmX zZ8SdUF%QoC@>lA3M;0L2GvU;NI@D4-v;|@YO+4ub8;LV1{NfF;O0Y{2FbZ`thKdB? z5?!DIR@4bpnA1w=NOJ1kt$oVu4o#=D{I>bwHX zSy_3HucgRK$GcLm zi#c@zLE4pfOJ;JWrlYN4N-}#7oZm~{bp<1{>~2%tvs$IW;p0}yC06k?%(bfTG-+JSKtusUz4H-rKui6C?E}dM9B8Cd=^Y`T z7?(YDEJ@u&m76Lsz~p-R>cUG`U;#Sr{uh85`u>ym7hInSTH`VdEcrBWgu0geKbF#~ z&aj{nAsN#Bmj?yAK}Gy1xBxD?REcIlAHxtP19DDRLzsQ;l-}qd-7C5>$0BTe3%ZhEW4}iK` zUPMz1xAPj}Rf0RiHc?Wra8shpXu3qfqpbDNgV~38=eXpuUYR+#T#nNlW*C%xm5I-x zT!K5qX1-kcR|uM$S(w{Meq2UHtUNiayrkl>M0a`RP@vKxlZI-jb~i?$P*bnlza^o} z=#*J^`|_pJilGGq>v5^uT=J$-mCpT-`G+bK<}}7(Rpzw{?sc;Er%Ilx7c981`EnO~ zM+s5?tfJB;hDc(DgQ}U873Oh>H(B)R7Vycp8HOnAI|db3U7-#_wA(Mw7QT&|FrQsy+usZc-<1o zyY+uRyYd7^1ATy6|97gwxc~y7AUx&ls{9oI`r`lU%2lra4?3phZ9z+w34!@0Wo&IF z7FVPZFZs>jA38?Xn^xf=>pygieVn6VsMlKxI%d0G(!6+%f{ro$;vn}A9V3xrOgX!{ z+Cp1I8Cxq!b|z59*0;w)|BH?ZC<^*-s!HO@`S72!tGN%jRrf)LObwS`zWMRqvw#$S znZjX(7;7KCuB8@(6twZ)xyH=nk*ECnaq59ATKWWO2xtE3G54?4z`Q|T%gnc=apK}l7j_Rh?j+&YiJ3_&&P6m*OVH=EMx zO;bN0PKS|V- z5PH2?Gpw>SH;8u!ygt)LJ1BG5AZSKG&Ftp?2yGO{sKZd%iBtH*!n@^=kVrEoiZh(t3Yu1MBu! zLTRydd|q&I&CGW8BZJ+ptAw5$8dhmqQ7oy@*CKL#SS_dL!n2t{McLuCgu25QQa@hW z+@5`EEUOc!M1XfDvcO3DjIrvV=0AI z!AXnpEO>DB`nBEHI%7TZ3kDyG72Z39-j!SQ4CT93RoQQBk< zYYIB%I@?SfXMnO9KOY4hqb37ZTC_Q1dXm1>h#qMOZf?@c&ox^!P`%3b*GkjfR*=5c zdvOCVvdaES3-ze>$yZt5tc&h1wT0tUn~wJ_KI;13-G9>Y$z%=B#Y&d%c(S}Cr@l{0 zR~~&k_x1K;nkl`f7t?3I0UI+KRbQT;sAcNkPP;7g;|6fxwdvnKe3`8APi|C4=p65D z{1Cj4)w=CQ+cWzJKnEtw-5eDZ?fwklv_t+G0^a7e5b({lNCwF5#Z5eAqjw5Y- z>lIWna_fnWl6_L{;x*oTE6gmt7IYsst5XF5jv;>22_%3{>VCG3yI%p1C5b4ZN@Ssr zc+bzs^;BIhz*eimeS#&@V9x8{eu>V6nBK!K^Q6Sw8n!eEv)u8k>1BO2{jp zCg*jX35y-cjX6=!G0T4#(aDkGMq0XgLtvQB3%O2r%P(@7WtB42_YFK*-1BoRxw{He zjojj%1kGDnKP`$WDho-CP^dCF}Vq}D4)&@2)WMBP@8xvK9fUJ zBeWr3YiKVto!od>xuLndas^LAOG0Kr(;zHFXWc=4JYA484d>BXs-}5aSo&d&+8?F$6IXO{tbf1C<}!mL)0k}#G%|v?qvgbb&S%t`swX z3w`!huNd=l=84S$z50HSEV+VNi#F>-ivy-24E@cl+*fhk;~*L3L+{=DnHPF|CZ*G_ z0{4hpj6pjPU+KB&K3!^%3?~-X|i#KYQ5Xp*i%ekxIRvRq*R4aMpa2hNJvV|32`&Z}J4D zB`*86IYqqH98d(WrZwx;&-N+9FESte%06ajD-2qw{;eO+BVYZ}YT!o_dmrp<8N!Ad z>qu-(>$uaZ{0xv8*d*?>cHk2+Qnu=wMfP2{CrdmV!-&E&AIE&L(0*p*3^%-MR`9ig zerqJ~@9WsQ;*CD*r76PqTlqrioB9_jdve}{RBd)`nLmY1m75-=|GBwoGo`9MS$@=5 zWV|l5-~IAcc6N=s&bJt<5ji2t<6E2bKxQCBIV>~m9^$+pWWHl@%kmc{C>p)b|K;Nc z4tx#ynw%Y(tBD*G9LabcLl}8qULx_!k9BwNzS;3G_pKI9s_qBrQ)eSuvATv;tZoII z8}Im^w%?aGEvn*Om5il1?rTmv@_MZ{iknh=6Wmt*q7$*@e{VYT${nX#0k6FWjluWc zl|K68wDl??c5JPOtt$29*l0fa`rV@FQn?E;WNmc;OP|D-DBnAG3>t3btT=`Ye4iJ0 zdUHAWa3)sdz3tff{g&8*^&3^^ocQ=))_pPjhFB;~0iN?9nsxzyarzD%K~USjZ74$E z7&Sy{-r=mlvqhNjoDdK-u}I}O%V|mBh&Y!{=C{dlkWnV-lQ_>7IFP$t z(#I9R>t%3?uA)|jk~9u<#2mm!UIknOB-l;U3X()J5rXh0s-LYk^S|VlnIK9cDU7ZH zrA*YOn{1F}$g*e}Ukj+8NvT9!PD{fl6w9!`2Q{CDdWMKCX+ak9IBNf04w3=AJfIQCh5@}pYp|k0NkjLR%c-fr z+yWZR3%GmnAa2IDXxdb1=`2}JYhe9ox}8XB!C^*!AaxnkJ4}n}3h4rM7b1AiL)2bu zIM~n6UDis2>VkbboQ#H~Qp*bAtdzF0dyZ(nw#21O0}7DYmtjKeM0cbe?OH+ZMM^RT z#N7itXq&nCqFrjE>F(89msvC{Ff?TJ0L=IPK@o^st3zspUGLZ{j}_)S-XwLoSxOh5 z8}Ll%)0$*>vs9@~UN{#jhv=ijg~&U}zv~Lx*_1#%L~!oqCcPIj3K9CkEL^@^aPOJW z*9Xq=Tbx*r{QNQ0LoT-%ZJ`HS4=FC7 zOnX5^05Msm2Cf2fkw*M^g1X2@w(WGgT0 zIFW@&BE6459_bNnc3B(&EFg)R-J_G-R+ea?qdP4JpcxYS%JKboetHOM<8nn$OJr~< z!~J*;OThj3$5vQAmoYJDf#7qJt??;8u^CjTV43WSf}nBQQ4eSPN+Awf95X=0)5?4A zq4JV$TquZ_PoC_tAIc#{v>aG=QgvB{p#YGh7bPt^1AJv)If-#JO41gU1Di_JeA1*^ zCo5Jhhl^&UR9ki=&vjKT>IpGq!P%qkGkVu*Vv5sTz;6|a#Ay&nrFwW(GN8Lw?<*j3 ztJcP%BpL&fN7jD0Dd4bIk?C_sv;3x#k6Q=St;wfGX*IV)Qn${H_LGfV;{d?=G@sZH ze;y{+!$QCRB`==%q$dia9)Oz{HH#|eu$~F44=6C zG7BiY&~X+G44J!St9^eqrJkq>g~D0_u(@qn8RF{z2V$|FlHvCta6z2IXY$J3ub`-p z!(iqj3T(A*I?m|a65zT0v?wV3@fV|(I)oFtuGdZdM5EE?iZM}@9|C}0ijJ<6BAWr#EYA`Yasg z6$~fr)$eB8IJ-6K+qP>SsJapPutf0p?t8cOm>#O3W%t0%YTPkMx}a0J`l3+H(a_H5 zN3V>`M_w~OE9#XFd^WPvE#1|t^R@R#@436ra}L7uknP^V*U$MIn%fYN=gVs4LUu2% zb`r?RFVw!`cV54k7Q^rPQg&|^Kh$2v{tP~S>bgdUWai?+AlcD6rR^954+3d2N%NG}dG5iZdi z#BtCsvlLt(*o^shONw4zp+1yd+E~RY+~Wf)dTCI9=W z^|2(V+2+G|Nwk721^${5F!|qi(GPLjT>pi?PJty%_iZ`v6qrzH{15!qDY7s_q!*-z z(D9JlpuCGx0s2!2Zfy)VJuLPPEDg7J9>DGY2mX5FY|lq}u7|fKcJ;wb z?>n)7@K?KK99)MaptFP|Jz|H0y_WyMUtIzR1E&R)*h@TV0y+P|UxiH967G@Z%#N6lqlz5qd2jnJDnrxbVAvl)t^WZ2viLv77Mv{l#E~F&gTUaGI!f zF3vs!n_w|$op|b?zvZUyt$v%V5Ekg#m-2$7kq-oBCc1fvv3;&bk#_&EC_=KSdL)BsOPScsp=D6&Oq?92b-KoyERyu`0S;|#= z7@w9=N;2hL*WZzDTTWV+(RmI<)zuTCSoEmYO1ZxGXk_$Q0?mfxzhGkk1C71d{+%DK zXB}@f+4g&tK4V!m`u+Nt&Uf|(@5}MdN?+D+et+AgO$cKYqeV&Z&HmB{cPI%y$N-+X zv^6H(scsV@S@f>?HFloff8ye#9|iteRA1S7@gMvZT3O8b5B`eP*OA#hoVol<Eml-JK)qi?UjEYhs z)4g4~4Utv8F3fPr0%$J{9N^omQ)FNm;GKn1HAFb}vAOV4fxx5AqeWD1(rzZ`46aXT zJ-mF327)y~g+^xL;X4gXB=$QhuIxdl~uYF_ySuY|os+PSm;LFA z77E|tFESA`RCwPAcaWq@3@n8Y43pf!H8L`6eU4Lq+#65WLBF5}VZDTY)X4)wn-{*R zla{)4(&9v`&^R^v)|(`C<;Lp;->Uly^3~p*UffBA3uiD)Lv6la z6syxxLaO{r1JnBr4aJ*m9(>GJuR|#CS1JQHyJZ8jBD*1JmRe7P7lP!evKT5}_>7p- zi{>{&cUg;ORBALHCCJyU%sA3cdSK7Jlzo!!yOX!Ylpb|VrptNR@qaPUG2)nc9MR$< z;!pe9GVQ_rCajbg^@dTu+)VsLh>YCxE&IhW^O6pcTbC-+HL=`pTZY<1sb%Ucw>X|w zs=mYNosU{ot4=E?wgE6Hn#|II>5l6w^tk1CJ24=Yy?7barfX)A8wnKLTLsxqZd2dw z!&41?uS7wTOZqT-x~f>a;j{vX6Egk(ZwN`MA_aP4JfO| z&#ys1HMT8%H#GR1#PKd7VArm|cm{WX1U$vN(Q){)-cl!ISdjxV!i9LWq}!5fF}MM7 z*_7cEjzlC<+SvVmE<&gy+riQV$*$rJqK>GoSt-y+<7xHod)u7;)pCj@JQ1owqj_y* zpN4bAMBsC;2>eE_Qsf|^M5=pT%fAHa?8KE%&GvefIj5g_tuDLGTCnc#oUP;8{XC7r zcW`P%#9ayzwk@Tw0NwkmzoIzlLZPn9;9F7;;>Gf9#kbRa&Zwbt_TfMq1Ih4*}ha?8P(6*zdP0C{Jx?b zj?R=ja@V=JDNzNKetW>$9;zdZ(oxLB#}_0kXE0*N$g-(r1BJm6X|lfam@2@2apy!4 zyYaN((^}`eUom2zq*tZ{gD2Q%Og2?b9=8YQe)9#vzFc|gtqd0TtGI|NQi_?I8Jn47 zo^WD$p8$MYp=Hj&bZvVcTs~7XH@%kDxpnC|4Q+465l`e={2|KY!c%Vz5k$idNCiOK zlDaO*=LYm;?pZi~NQ1@h7SsZ56a_{V+N9bXF3lC%%}CJ1cAAt$=$}l&r2=nM0g^rM ztI5wg4?|B+n&9M0U;_TA$3!9H=5$fT46_~^ZSN0$6F2(yE}N;jS-jO|=3Xg)Fhsmw13j<>0+@9!nZ+|j9n8JC_kt-@ zN|X+X3r}x*0B<++-EqptzD(LnSX@}rid1HP=~H-o@32=TV>4;t>Cb0|P|ddlEdlTEyn~V(mrMz(=e#JD-Y7j%&ALV-G7?$S0bT5(oK@HhVDS z--7$yAu){S+qc#qotM2h>b#t@+^PF#iIGe;sfcA;Oedd_4(=F}rtTDdyaZUj6{|`` z{Co8JvhLZpta$FX#1yA>$6sQy4N7M1da-dp{DGd&p>?cZ|7}*982SayylOL{p9WMX z{znOltPye>U^8araCPlFz*d5(P@Ir<+>~n^%I%J6Fu{#AwxBvDr@~4c!8Wjg6;M_t zt;SVpV_P;PBu7oqn-_W^iq^~tf;RHH%FNQ@vPPpUkAEfTYa%RDESRhkWv3JHNr_Ht zXeTJELj;rhW|WIQyW3_|@o}Omv#d{7(&T)SN`C~dfc2|V^0RRNFlE-YkR%@{XXK_C zn2-?M#s1@0vU5Rv(!vFk2Pt>Ot*yy#Q?isf6$MkW?NZfOEb|IdFWV>=E~I)|#Q*+c zwMv3R%+vm?rk<}Qth7M|Nz@4dh-N@rM(2qBQbS?uUl9Q;ZX7Qb*4c3d8-uG-(srh1Zw=4IFt|6-;n8$EK)8tpbv2X6bX7(&31-`5 zuUZopG7B^{rvg}h`TLz^Bf_F#(x0Lwd8qjF8!y8)@FYOEMt@jo%ylzbpQVOR( zj!rWnV-3TAbB1{&D_%ZSz&Oj&M4}g4sJ>2f&^LkK&}2g>32r%ruPYHV2zrWh`=v!Q z0?4xO2MwcxZef8$a=7DkoP2o}ByJTD)s$t@3_V%S@dr@>=FDfsF@3GsB9=k7`q(yb zAh9al*(Qd(CRY~iXrW+03sd?-IfnfvH*FX2JU+0+2DXhb_UyoDXF(OY@_Mr&0Zpup z=xZ@yelJ8X_>ZBhG-&qRa%v!~KNIuPSr|7TN9>4Pu*K;T#&|B`(xg^E?=*5O2Y8Z^ z4`aA6XDB+#^lyQhxdEVM8tJXeR#>FMlqk-Z2>|B(7U{)6H};r{(E+GDxL<0>rxxnK z+RKA0ur>fyrG&U{Zo&3D*G~sj)STki`YwP7DVFzdy|(wt$x1(EmRQTV^;D(g`CFdW zTIbRC0t#fM;w2Tq!Df&{EpEmY_9ay!4k^PsBMoXQ+4V-wI>Yv!Ar-GYI!d*lB?=zR z3NV;IJbVA><9mo!YNDZY0Zo+fATzaal|U~VM!!f@ljC*Y%f_}8CiR0k3?=cT%ekW* zCV&EgGzmCS4OS^Y7gg?%@JL;hPa6rN-Y!q424O|{==Z!8xy5Gz^y5sACz*kEbB~8q z7_4#pw*vV&u0Fmpo_!I=-~F5W($@+zZh=dvN^)OW?7r*OsLJUocPn8&8``Q&#hXT7 zZ)O6a>)ut6xTN|Lv-D>T0>Rg4BNMP@if>w#si-Ofg;@ndTLDXhnOcp#2pSx*@i+hz>X@Z}!N|Upl(pJC)g|%z_;B?i>6ixW3aGm8U;D<(S zR21SdvCeXUzVNp%ZGUB?1$CC#6WLV{#OTAcKzjD^Czt^qRzPstG*i$vyDh0`$VYGx z_&D-3DWxBJ`?Nk&o&nicn@CW7It^Y=X%H;WfNdaV7Oc|x!DW(-vq-we?)z!ezyV|< zY5)RTtmOxmc=Xdvgf<+ealO1LT33TeLf4bIvu8ExUe+#sLcNg6%nw$0~FPkp)qxl-HK zlMP{ih;RkA+Xqs+^|jX$z`~9#uG72>8s3V30tWlrSn1fVIC5kxKNXYA=B`6*6tYb= z(+qiabM>V|K8peeXOD~&#RLzwJ{COU$35R zqL-^hyi}9!*kRXgdcvT}`yF>tx5SfYRt0U-fbJ~v78uvc%h1bL1$iIdnn1KVo`+HV|a_41% zUUh3IaGd!oRXLzLEbaks3eOBy}#w>UJ5GLldfyG>*0Fd?GNbUPc>l1|~XK)@G2ww)^_UO#BTHjZ`(O@2~*-Sc7 zX9xC90Rd^}#kK$$Rw|ifY6fPv7?R@tWY-9ZyqZeKFda9N!fG;|^d}iXn3knVCcmC$ z`Z;xpdPcjoH(PhcK;8zFF>{I4TH4nC4Z0>Vr-9Q34Q8SZmL@WHu(wk!ZpTIlPTHJDTQS7i-zJ%Vn7wvBrgzR{ z$2WJifmO|SPL)sL=EuqZ9-+hjW7_#|*`oV@mo4Uk$~Yj3!ln;&9sEB`I|r_>{ule~ zCIBbmHqN`*LIH%!{M-0j{dePEIocp*0M`D8|Fx)|u7*9s{4?#0-!k`hpqO^*X6prB zh4LANeVfmuU@jYI=Qb8QaZfmOp%}^$x_0xWSFbxoy22Ph>AOahvV|yI$?vhK0T6`D zRsjqC$Fwu7KG_eqNEbRdMT;JMrIal`N_6~$}!Z{z>)nmcK;Yt2RMMEsv= zXY4&zmtQeo<1=Co5MxR)?c|hP!y%%R{F}cNxK|;DT?o$4JkIx+8y@a< zz&!~rifKo6^domt>Q4(|&!P8bS;4f0m_c&3JXLwti>(Q!B+Yijg_upwttydESM;UQ zJ9M30sGS~*Ro8r<=VJ3pi?RqwY$v1i>)KG^MN}3EU+eUn_$(Y6`WzG)SRk9-Pb_Sb z!T^d{)UP+NF<`k5&2KZg3u#`e{#nB!BUC=vze}R43Qq1D(5#|?byjKeA7+^ za}OvjdRTo0y7~RZm3HwV%;8+RxIh}46te3~^qWsQOM8p1f`h5{pg04%e(x26a|ovk z!R91a)m{Awt>J+ny@tiBm(0f`xTX_fzpf;~xLKNvv&WS;)N>})Z7V3I9c^mgsRU|@ zY3DmiH^fh$V%nK9Vmvvdn08FeU83y&nRYxYu%_R_WIEoJ1;+0!2vYBbPJ6|(E123} zK36pLzo!;%|NYbRx%Zc!k{iM+<<4b3z8a$qz+6fC^-Z!j^@6|u+N~d0#5(gcN~NG& z!~GEUGJ#q9Z6?kVCVDuoGN~vP;tEvBH4ACc3+{25s5PBI>b>%P)(2$($*Y(sIA-x4 z?MQv#)v9U}s&f*#+w(R}HJ&GqAIJBlC+Fd+tHE zy)|f?3UvJqzCo>)Ub{qD4}XtzrIloxccn$E$#qN{bk;ia$`5P3z@nnUCoI)JE%#R) zF<)3t(YgalE%(*{WR?kDpD&gNU&f|q^9pMmRoN&d@#dh@_Yzq#DqN5RP<*>8Q4U!h}M>Q=n^|_gVru9o+uyU2t?k}(I)RbCV3*~8cPs-MjP$IOmUW!lR zFjpeVx42dnwxYkv6pb_mpOu*}q|);unUO__CPka>P@sR_o3QWhB@rt{Y8w)DW&`&{ z-c(dy3eF?H9{Lje2*Cbf1w=9JaDeY#&92s@n07K#;(5q^H9Cv*%mEaKkXJf_?Bpz(3;_fOgw)X!wkf@tcXmFRm!O~v)@u@H@?+XTL*F* z5$f0;`ufMUzXJ~XrCAiy z&do73-!uRXPLNg~F{o%5&i$nrD1f)4y0FXz<4gcBJ-{cSm(f5oW#>jX4#4GwPSPIL zgyAE!S??~#$qr*N8LY{4O#OF_e7v|lvvldrYfIq;nshkCml$5>cpYV}h@>amT8Ci- zQ*wb}J6~L$h)-lbjh`UH=(@Ql*d_7hb8L!^+6W9_U$v!MR!n(oW|YI#aNtFKuCKjk z`jjPO{ZQ_r0rRU7+y^IRWrEi$DSP=#a~C1vz%nU8J;BYWMsH`(ZRsMJK}vc*sPdur zGKO()Mqh@I%H4mjZ@KOf`#)GCxmdCR^l?1(j)H+ikOj^~N7LDIJc!%fOFO+$6e)5t zKX_c2ghC0wB&iD~i<>U{Q{a+EP#_%hW)+LSfAzsAVL+whhP&{zTW&9CSo0H6&c$(^ zUHD;k0se=54{lXV2xs@1HUs*^@20)#a<{h)IIHJuh0P9!89~TDOr)=r7Z4>g`&VfK=a5T8ebSG>*~H8h)Cc|f;quM(mauK%`C%+v`;S7P0wr+^xw-u zoN01|{4ZNqpfb3njMWqgo~GK{il2bRs&v74slwB7rsW3CUH1b1UT!?PE5u2;e5Iwn zY_PNOoj-r}(7nS#={Wt6rZFso=H}^>UKRzY;&VUcj~-kVUyO`P&p9}(s~58iuh6zI z47GDqadJv3bg8j(Y2Z~w(+LSJ^ViB@%Bvs0Hm+hQ(jAzo5IiI7gUdvpTIjE6^-dLV zgw)4Ik~!fSKBuy5VdegPcF+}Zg6jR#&al<@mX9UNsgMPJMN!Ox+;zC1W8Y9=njvh&KA zOkc~ofA1vt(k^clKaZ>}o_Wd*@lcgFenwNw%X*heiGTWJumLdIfZt_;<^rQ>={@Jbd^fWGYHm3(O$NEI)j|6RI)Gyhe7 za(H?bdc`D^2KqaV^j4cOr+<)!H(EU76Bm{SxbS?n{#N>=wZ*Bw$sp@OmcnN6%L}Dj zaRQzN&wbRhp>q%Jo+t|yGPwtas;CfIY?rwXi#XcDh%WTJ_a?}+SdF%#TQ>rNc{CAd zmjw*{Dzn7M_upz;rzo?;?>}w3&wo6MP5S=1`aC@HNbl+iC!X&pbk7}6Tf+oZR-*30 zGo3Iph@-x85;(+pzJ?IEQ=|<#3H)|uq+71cBqXc~xtr%HxHYgy1Uq8OJ!*T`~Up6n#G;OM-%p<06PE~LtR7hE=%lucH zf|1=FYF+Cqh#(DJv+GCloq8H3T~^+Sa<+C>R$U4g?Gpb4CFzSO`Yu?l9K?!QCn3Xy$cJpQm-ri4De1XZ0Pa4<<7Jq(97E_bEWVG?kw|YD0W2nhHTGz0 zZ}P5~L)@2P0|2lKiC+1ObyhIk9tUbk4#jBGNI28xiJ+)8=sL3)#>J#d%^C8DKpt=9 zX%EWv2>93w)u~Cis0k}pab7a#Aiia&8GfN5={olOp3*3jL2QZJ*ej3qNJtW0v0Xw zjW!fjJ3f)rFMo@206oJMf`e-_(~P#}V+Z(ZhfSXh%Q7kjiG}NeIV4Vzp;?2-#UaQ-EX8>GJGvL^+7Y)gpm6iD z6cCWA?lOp3u#t&zXRC}$j=^m?KV1wd3!sOll}pe%NH2zF((r5`!^9*XE288>C<;+- z?y|ne#d5%1XQN#LjhbPFih-D}S6<-0uhDpg{33LQP~vL=SktXckAw_#BEnVJlK_~8 zkDV$9i+NTeIm*XxkKQsoaOr(bGz(W{>eXnb$GNBWc2!bkK+lBk+P@qkUM$>ih_&UC z`TiXURc7vHd|hoFGDK8FbDYzVyRNxTrGi%3+<^lRc=BvfV0A+?U6ZG_@hC1A^<6s2nj{Dy@R(*}Xbi@1 zzvnp3NnsDAx)93`6L-220>NWS-8~qFZ&@{t&FKk*fchP=l0X+bA<1;gKR-Jy+5M0^ z8_&9vn?#wOsjD*dG~sT1;Arw?=feZr)47bKdYwZN7NnlflBPm{p!8rwKj|8Q{O97k zTK}^a#A*{f;!lo!-}85tO-{|wPU^PoY|yu~X0BF*_MV=G5lw>QGf7rT7NJ{ktm?F& zJ+co_VXZRAroEficuajQ5!3o>$CcKo_QIH?B*dz01qAZzRhi>@fa`-!+%D^gsF-?BMhXa(=XeFQ6UOpzGN`N zOrQ4KN2+P~>J!85e!v!oSBVQushDFlMR8jYSgGN0;XQ24ab)W)zYaOyeU^#QVuLp} z#_0PK4r|I_kiKyUCO*SFw)l3yZJMr`loNg^@WJ@^PkcX?NGL8{GrPIX% zAN?BN;1pa%L-r-yp4Sez^5RR4IkHLAydR9Rr$N!auj%xMul573tMmnGQQafme=|Ky zD~{4Or<DCuS^s|BX$rFf!{+{}74CVk)d3^w_)? zUC%X(h88ZN=KQ81ujMwJX_4k8lpfBr2jgHo!%3Kqn5IXcHceHn0bVk7(#y}FZx@KH zfh@8l3V%jNq1*OnXY)SDTkRq2M(B%|N$crv%>-v-0s$#mVk3lE)oXH>q~8r96omS~ zqie{>CP?xU%6s#j&!J+!Gi)qbaJG-$YcDYK@tov|A_E%4xi={?I2-0KG2z8}?R@?b z&w>~;DZ$@5=_2!mk_8UVg-n0_A;f#@wX_tI_g~Ue3qC5wcD)~X>vm`Ny$$Qtc$r00 zs&`4=i>Ofhx{v0!@47Txw6MO7$l&`x^I);#`E4H7#b+Na03Sc_APo9S;;5dpDO zRdbAFEd7R9Tj0cK%=DWxcq; zNu_vdJm9{y?ATq=UUPR>=I+R{+fIthn-Ee8PSyn(IT!RMLXHz5p!1apQR@Y;^SY_k(lc(_Y>^H1GLL_&pMuToj7fTN@GuFQR zk9hg7;Wicy=zra!CmS@#_3oc|xz1EOo|hh1>(A!yg^9T2D3pBVLC1HA?;9 z_g663PGb76c=;)vU4O%bZT`pUmR0HVBZ_$W{3n(Q=X<=w%f*xQCg7iVnVdsj9Bc`J zWKQSiqvDi4Q^d;=&t}g))-Gq=2&q*@qMuX1(K{Kt(0nbf-y3Y~-nFa`DdOe%Ep_{niH|UtsUr2{_X&H!>XW9iWJppTcn#XZvs6 z4y!63+xB{W@25}(@2rd2dO{!fvkE2Fb5!vu*SZ2Zb&<)a?1WLn zMvt8P6S*Qv4|$A5>x_%(MMBgKL@Wvq)EN@qO4!1P)|NT{zj*ooO}t!ZV#|?};2h~H z_`8tbQc{v|8JO!Lrn~S(I;=@5vL3~g&NJq~VNh6+a^pge-H>G%wwOUCUp=2`x-iVB z^j!L;qLCra9SBoAR${^vsX3rr4N*3v20CoomXM;)W7;}S=dUVx|V4_KZO@> z3MR~#U)OK%&)|SJPgP}8BLeJXUKhqk>rSjb$d;t#RL7*LeMx5TJQ?Qx>3H{Mah@p` zfgU;BoF#Nc^3LYH5x-}-)I)0Pq8lgC%i0Hy3!D<7<_lwX{PXQ>$T4vvd)fRbt*ln# zuQn#y@Yz2>*HqQT0~ZF#!#DYZcHx^h6?VQ@R&@mx2gWp9ta$$>woI-ffVgpyuE07* zdEgPyzhLY)=uJ}Nqi52%+6lRCOo)aT=c|%51vQ~?J|-|fcl!Jbm)3G_jbwYe57+1G01|I? z9oz**=G)^m%Pbg143|u=&Aoy9N+~4B+$GG>4RZ+7^L{_LJK>1Mhai~!)8d{>z1__- z<7Xs-dCJvpl_FksUd+2iZE^se%nKjy(1ZwTbS!fZDDqha(ut<;IK()EO2p{)IStO* zxW7kaX}qz^7BFcRCdXEeeg3ug;1-M7N!YUqPt%`;AI`oiPd$4R{^n=tpR)}O#%@xw z>0vp~`KG>E_e}nq!z#7&E%STbZ>vp@>KxCv?WVftI^P^MMxXCEGxjWum>#zjoqzK( z>sg$CbKKE$zKgrpv$SFQtNX+G_lT*UPru&$dhzG{2cEHa8De%a!1H%6#jJOgbLwPR z?eBipz20>(v)|*6e-8?#dcP`7{eBbu_a~9@`KF%P=}ghz!y2>a+qP4ub3K2Ln(jUS z=4tk4@x$NauBqqW!>9gy`t$c!ALEO?WV5qX9`ebk*^7hxsk5(YJ!;F0Tf&BMm>gC^G zQ{=yY$mCv5!0H}@sjKi30RD~!Kd>K|m*e1r2}skz)7mlpKkU8dSCf0+ZyQ2LLJ35W zjxJOPMZgG%G+p!#BE1`W?=3V9y+{c?RO!7$dR2<_A_CGyq=SF~k*=Jq``P=vIA@#} zXYaAcF3cOFqHrA?H>?Zz5KgKNC(%Zc zd5MzUa0BUT0%YOg6%Y?d9z`LN_(QG{#1~{uPqkY_Nr-=%AG-s)P9>V^SwU zXbjb2i71i#(pws2DXM66K`7G2*imM|wB!*4z8!6eKKAg`$I7b{W*R z90;WN)!VEVr>N})9*BBMhovx`r1)zkPFs!_w*pn2L&tLSKrzsIoQvB{u&M=#xLZ7( zFf3~Vbom)=a+74S&vtVX`XSFWlnLd>o^Y=heOn0he&Y2a7?L}d)B3$lrImhW?Gbe zCWzxnT1Z%>J&yn?)`mQb)Qf+iEb}!aI5-4w6Pwk>V^2K+7HUNs@^EdjQ}x-KXTf6= z>m0%MJYgr9ALpMGSx}|=_+>J4#bXoZucKw>R>4DJ@u^27Ytgc61jv@XUwQ#(t~EDP z2=nM!ILU07bI^3nDz1-A&zkXt9!czH^cZ< zI11(L__(n7qM3qzNU|`$Kz0_cA8;vY6{~ivfTU4izZT$$Tj83$fH5+CrkPJh6Q+}i zo2#QHjV$;$z^^`Grs~f-7eX`j8Mg|_j?w}o*yKq^^Q*#3EZTw;#ktnuki(PgDL1gj zO3F@icCZB*j=fY&3_3Z_<8{6B65LDq#4WjTlRUO7CPyagT(RtVhMTF1)T|~SSSXn6 z+r!sxR0n0K*%0!^mBfM=_`P}v98=a6%Ae#$2AZw7*)6Y*1>TnXDi*Ov z)wLNHO~M|wA>(+fSP~VfI*KoynW~d(rb%k5mfJ)TnUCI{XrDtZfz_*hA z0;<1PGQW!RZ-xkjPgia7()m?zzebV!N?FZWP=U&o;>Bvk%nkNeK>Y0G(xi$Lnijbr zyr#J!!wN{gi;PxTWqJs2NgEz!@zyH%ty^6%%LotK2*+Omwko1^VTm3HN@h|PA)ZC% zkcGN}VD2M|`trjZ;p>2U(X4v$_Ik<1`lpxmQmhR!5)E?34GIAbN?8pm?G0*+4H}mX znyigl5{){>jd}r%23d_p?Tsdjjb@jPDApzmi6$%KCYyjJyR0UM_9myrCYQ@5qUgm# zqS?#1*(abGoz?8$-W<5t{PMCH!`c!e(Gq6d5)sf6mDLi{-V(dm5`Wo(Wo=E8XiYJ0 zO$%tnWwmCuw`MQ4=3chuv9=XRv=te*l?1evWwlkbw^c2+)m*mWS=;L*+8d19n*!Qf zvfA6)+dCH9-(9wMv3B%GbbK)G=nv=^%<33!?-*U|7{Bb8VC|fg=$tn0oC)Zh%j#Tc z?_65!T)ymFxn_O0D)DaJ_}yl}yX~xZyY27x7T+CQz9X={KazNVZ2bNt;Qd+F`-}GX zSBvleT)qdebpa*2Kqg(_z%FQZ7ez-G)lwJrRTrGCn^v;>rb#zLU^i2CH%mu1+fw)K zt8R9-p1YDg940-8z#i`G9^Q@~zNH?4s~#jFP;^`H8K9i+Bv#UN7Tfc>5 zzm;UGRzZ0L$GcSw;1>mgo{|v)<#FAsvb$0i>X*NEcxB~b=*dTqoj1CSta+_V@4WX= zNaE%F#bEX88)3I4Ufy8^1jW)t^M(3J1|?K+#0AoM^M!oz9WqIx3yFQpw>@Om1KVh$ z%?})klngBD5a9nbY_By$0v&M=p>2@l8q^=e^NplIuI4c8Y$4)qkbA#^i?4!us zuK_T`M8UBZ$$dDa+l~6JsecJ4wLl&@ZpEodfwY|+z~^SjNC1&7)_emh;!v;-RC$`b zfA(hp5D5jdJ_;A5SW{74)ufbwyJ`kKxF1Ji44=Gt-#_g$$QTQW5qiji6ugI_{OB>m zOezzC%GKZZdnKu?ohS1}h$I;Mv0jX-XQDj0Og39{{I=)t_KxztCWQ!#Z;oY1+#M66QizyF9hT@0?^x`zSP zoW~X=!R%0MyZ~H;@OEWhVSKWO3|Y{w^qd8Gj|tDH+TyFvaiX^rgs=0+?F2zH zsA-an2ML(D0e-(2If^&f#b{6dL$~4=NzhT#Buk_s{}!6#7I!1c;UGwCYK8iB8%L%l zmdtj0GZ#1kw8Vo8`xPs1+ZKU$1ox9hQ@2+ zx~?&G`8DI*h#&~dZdFu3mWbj&+*=#Zq4Ltnq4WgYjb0-Td*4b;Xo$d)Cajw?(f2&b z*k6{^$@1D_9hG0A?^!;D9IU%|@>}LnB<7$OsJJ>qH$JWbEJCX>kolN8NiKm+*EK*e z9yuT6OG!tPKDOCIs%V4SbUGLKh>DMO-f99X-g}uEy0xkZg<-C9p9UdUpgOoE3v$QY zZ4Duq1ZpXDb-Ta7B2i!`nEJ~FU)o3yuzPH$Y@Zxw$Cp&?yIVl6ud(|>oi~k8=Wn}> z?V)Vh-~FS^3(BJm`{R2Vhw#UIKOs$fv+Vog4<}z2q{r;a2dhyeV~$g=Q> z;ohxxeEw4VpZ|!UG5g;3d@y+Bm+>c41hS8Wy#U`Yo~ytq(}Pxlh2N6CcJH`=ge}6; zohdx^?(Kv0)wHGDAN+-u@+|27NwPBm!fAbaTF*B(TfRpO1d1Pmp+jZ7^E`mR58sRt z(lyX~x49Cq1eW*29mWqY-#rtLAGCiTiRm38p84jig702`JW7tD$)Vlyjy%$xq<*aa zllyi&i31^R60o)TbD@0g!3*Dh&(LLG-6(&Jn_i+q0wIF)``dFR688=r^Z) zp8R$;Jfd&**CQZ856;N;0anweTGxN?kDWQn@`issOi=tD+H;&zyGTcvOe|PVJEEFe zI5!o7jp0v%40-lY7pC{1hOf}x?>TR|xxD^yLD*OdOgK-z#Z#lX)$$;}=x7uB1D$@9 zuKV$k1s}`R6Cv1y<_}N7la~*8RspEV>-R$UQ9GflggRFqGJua}(cWqi%3& z6d8P4m5*h9YJPHKBo=BtUL>XoL;%FR57y_Www~ol zhf{MJO>aLhQce}H9;TCP&wO4CJ_Aqf>Q)&xx@;_b{;rQV?~CVr?Y=voF)XEKxj4OV z+~U45UVNFhFKh>!ICx|*^W#NVFc}TPWR76|f$v;^!2q@2(3Z>i;4m&{#E=nQL=t z{-^CkzI*~=UsvcW^(?!w&6kB=jx*FsIh)1{C)dtPt=>O2zqE7icY2{{xXhMBC)(jN z0LAZ%=bqc2il3FC9RIzyLP*kg076N8*VZb_ZtW@ly|auK#(S5f-Ich zvXYEkSPn`;rLE&G&tTjzCKpB#^+1lrv1latIZAR+{&v9ep(1;;jMP9#L`%LbjkAu2 z^7$w8!uc~o?Fh=&N%>5@WEbv&&^m7e~ zU&q>0yOLWV4xYy2>5;jD;FLSNpkKNMmZ{zxN~GK?X&lc#(|6coMQx`HL+O1CESQgy z$NpYk@}6%+ergz(c%ABFMUJV~AQFxA-Sl}8?( zJ9}J{iU0S;**+sv1L;MdMe7j~vEvH5z5q&*GZe|k@agaeGyA@V5S1G^b@CfcXBM#^ zCDO)x!@iwvv+CZ<#{Y}IXa6;;v?f92A%6J7M`cAI}$B!2tCHr$7-bF~~ zdmh0~j4#iMf@$)Cxg-y>PA^N`F>h#txnBD3y7zaE-`7Lk<`FGJzVj#aK0EhXgJpPK zzR70fIG*qGy$%YCV;l^(#4i1*Q3u&=1e{%-zDJ#tbpercxukQ_H0Qsc1ydI310uVk zAMV8)I<@xmt=kHMZ8SqC@4h({XTPSbefwP?aE??A*dl$i1ZzN&{gp?hk&k5}#3nH- zox&O2tN&J$owh3!l)5e{Nw|x#?lr#=H&~9|(WI|9G!HodlHSK-T@;Hf=vj+pgIiYV zg$*=46>hKDhVCjz79-cS#mDTr>C$CB`2?ygAv)wCW=Sx3nZUOQ8i zG9!Ntx*^pY+j`z6}Z(e9dHI?Rz$Joj9 z?`B80ZRIg;*eSZpPQ;E|72f8wS5_vS#8OxlA*}6HrIWS7oTiF}igyaN+9oqMbxNb8 z%dgzpwDZ8JNGj`m%{YIZabl1}$=X31mMj+|rdy%?C|0)IU$=@@;cvqY2YoWq&kJbX zDoe6a!$E(&24F;Bw5p@=mkYg?e%%_+Vn@?`fBlY4-P(W+#}~gZ^t-@%_)tzKb69}E z2ZY|+*Vay!w=N9^74)v_l8c?J`2!3`ZS?B1Hk@pqTpCV9=rt5_I@_xU7)_VxHC9?X zJDOe^&GqXw)fYQEI|mpqZR$0*Z#cUKT^g@|^;>#5UEJdWOx6+lts~Yho;jB$+Y0(^ zQ^hXc)d8k^Hu~+08!o<`m!^aW{f;$GSHH0Uv*Qx|&hOT)0bef7&ieJ={VaA3+7Ebf zwWMo2@5>heh(Q-A!YvpUhyrmLbW_^6h2FYCK@|;p=t|te`2)?VYz=x@H{Bwi zT$#fo4L;mMxJRo8THGu(=(}&@{@V1)f@#2@U#P@A&N672~nvq7+g$VC*^&khGQlrn6Hr|z{za0z)jArUf zysMpq98I>2X4^NtYlD6}q9Dd|y$GMTaY0U2T*mVwHa_(^zn$z9jTfd$d>X5RoSkfq z7Z*2unmd0xyG0r=ts#6{$AVnEN{zpKxAATN^828j4D?R~{6B{9|0bW~o$aUp)5zyK zR*vDH*d3yrID{AE)&ML?F?XeW1pzbw>Ne%Y%Fi`+h}MDs5&=h~$=-1zS_hi^Hq+ex z%oJy#sK52lwND^nfWQ-CV+RA~Ez6ryTk8@iMCO%b@ap;@L?15Y^@@b*IqVb%GN|-E zDr^x1P=!JCtRFe@j;%4&@Mjd zQwAAZ_(8>9-6+s#TR7LQt}LBAd>+8!k67GmS~^haVsQzP-D?SH^pkts;!}ChHhgjs zg=5$z@U(WvmOQ~jIpyY4o<0;hY^sn$N2 z-7%s!@VNUUZ{BFu)5q1*8E4qQe}?d#P84bq)s4?>wC*&1Mn&?UyfF|WmPBMT=2a+n z;`dJ$<^KMTxo=bG?5k;Gc7u8;@bo&zBY%84=yXLYgSmh9C6Rn~A^}hCf5TEfD#a;+ zV$W7_wlx*`o+;<*>v?o!p15++yz`whI&m0G5qkULyL~!y)K2+qF1psFh5GWqB;B42 z)&z0&&iC3LzdTe`zg+?v)#SVS$?~i>Y%Tw;Yp1SlQjg-|gzv}wdVW44Yne^|LI2CV zDKzrua`USlVQiqv=GNw{Yub^yUSj0s0i%EHJL|ePfVCqIq3{)|D{Yf}FH~3+j1cTE zrcHuHi5+kftR`6cNZ6p=)C}NP=a!2b0yv}?U;=$x?VF_(Qwb$ss1L`INj_o%DpF2} zD7M#TKtAkQP+w!z#owX6jx@;nlsE(}Cdkpm>6J+f2b;^quDaiCDv?*Zi((eKdBfjPQg3Ai}+EQabV7Zdpo(Y9cM+9bt03#ap9%v&W#|Yc6N3kxuO$%Uuj&FmIvndI!be zRq&U6+`R?ld_~j8fSE@YfRbR0GTY0+G+X7f7?_WHbH_ve42I`%OuG&&f!x7Qm4d4_ zjC?i2dt@zUp4FD9$>P2}zbKB-4I;Xb_s^s_%z zXn!%0O%C6I;X@vr@Nv4~yE4V5?qS+jDDJ7*UW6m9$Gw0Q#%H~x_ZO`nbubI@+#?|e zzm3^1j-pCN_gb%#G3%*WhCaCu7kKGzJsO6hnLQi8W%g5eRIQCLx%EqF2-Z?qL+>(* z^;lDcC!}6kYKoq^KZ|$G&~Z=T(KhU+9{h4u$HyA|`*eiiHmSR!n$2Q^?zNgMHZ=Xy zUaw5w8ij_7r}Jn7*~+KZS5xpGXU9uyLd$S@g@g0tg%c8{i<9a(itr_Xr0 z?VTS!q{eqYf7!pBR7JDKpVAwu_C9lt(?VNkcAag>yGwa$J0taVs_{3xyc zY6F?@pO1VNUR%61VF*Z9QD36IR`_84=TPzUilSfrC4JV*UvwPxKWUOhjXq((Y%72T zk(W=*ozC?!W~&buw_cLr$yAXfDGCqR2xQnUvN{>F2hv=S6^a0Ma=4V<-VymH6h#dJ zGco(pwg-3zVEDdCV77$p{1E~wN^9!@ct#+*9VO^tNmG=kkVhN(L7#V*0LsFL7+P^B z5#-ht?_1N78s%}h{NxLSQ*_a~y@T*}PK4QRJ{FcDmlWlslSVwmK!!`ih~rl-De63r z00a|)xG#iH{B1R1g#x}JyMwqR1>#YNs3axxq786_BD(VcBmIz9aD+D$0VP@im1IU0 z9&cTz`8!WiNNJi+0bp?=2+fr+N-%%;SyTbnE9(L>LnumUg4%47k_j96i{8fhE_MDa zqA@SJ;>7%;Ah@Q{Id=fzk9^%E0!vwmP8~qlNriPV$>t+nQ<@P!FuWfOVi|R~DTN&3 zn-Q`YP{npE!wKIPRLo=<`qef?LquGz9!Uq%Db^REfQ(o@vz@||FX8NCd=WAjtMA+P zowRZvH+^lj$Y%`_cu)93G1Om_(6*DHy6uDtJ=yaX-?LNBTQdpJR*Sn$2C=qI(G#&Z z3}4V?ghlxx?vW-kpPRFu8@;wg7-ACdoSW{T5S}*^q(k|54DC7b*q{MRcIMJdzQ2oh(KCK(iz_^HNmpC8pp&NglMdAgIzU zS$F=)M;TIpBH}4itaTmL3+3o3P1ssrVwx=?3K?UcAvL8bNkIGMopE*|!DeFVI8Wzp zY$~TABAbADIsbIxE=9-=8pH_E@x#gAdrYC6SZa%S1<2^$Ag{pVY?Kii_$XYfQI$xz zrPixTTLhUV%!4^oZw=7UmC>q%%k9d1CJKur#9L^kH7UBS06+=KSqFODfq6J9naEaK z1O!i2NuJFlOPais)@6$zx)4UALv!Ka#Qwnk2ryD7M+D5DqmAgl&Ip9pp9VeQZphL|0GB(oyrPPV*d*C7BSY9 zPR5cH=@y+*o=5W*(SfJDB)9Uo2TVl0xp@HxF#@)w$e9UwQuekc?5=bd`M2B=vUwC2 zh6x`%pz+(ed=$n4738=)hs+Q#2|E38Cau#Xd4o+s)DA$2J^wySk?>*UswVJ0Ha}<$ z@I*8I_HdENjRI{!;5(^=E4no7MEFE>vCJK3^R8HhVL75J4@f8sRVdLqjMQEQN&_<8 z)&PGaLqsS_t%nhvT~K*m!|)Jt6V2QgNqK=6^hUd!E7x7*xQQI56rjrlA}X`YPMV7r z16DRf`t*Z}{1B-Q<(|@9o$P=kL0gY{(v?X>8&5@ud6^|GX{siPp%N(;li;#ifwaMJ zlvm~?rt551R+&3g^H%lyR}E%X4YyT|E>w+QR86o{Pl{Jh8&%KvSI=cuFSJ!JEmSXG zRIjkqtcusH8`W(3*KB9j?6%eHEz}%b)DT!|kHl+_jcQN)YtJ%kFWPFa7Ha=o)B;%X zKnXm^7!MA>L$mM{?Rct1JoP0W&ia;C;_Xf2w+sPqnX=xpw7+Fre0%%yEjw%7U5PrP z4ge8Q$DLKj+g``FSSN5qY)eKL3A`&(W5pE|>=|Vg+7dC*1|@g1s(~ zgkrj8R4@kvu$pap($UJkjVgRhcQJD*+a5xw!Y(@#Ae z6+QE(-TM=i+5j?nH=u+Y(QXMG{nwcgKL+G3MRo@TYT4;|^tRip=M`k-)o(}@Q%8{6 z5(4H1GM9qbqHx1K5DGj<2M?AVLI`Hll3j7aR-l?lipO|Ttp5YzrBEP}ga<_qTzT_T zzkisk&t($Ofg-2FXYVFKQu8SEPfG58LhKX0sr~?9LtlCLD)}cjV7%L)rf$lxuPzJ; z`Hn9X5+cfBNpDQ#=X%mQPEy{%0)rg{iS-I1a@=y$1zhA7Pm<_NNG8dXrcOvbBd5K? zOA@d`9kM`F2$b8~1-h?8rHCy;Q4$^0(2La@HU$)6QpQ@lF2Z=yEM~=CeO^U8a3;Hi zg_P=5Ucsl>8~eV1H~=stP?!kUvb)A~mAJN0(D^#ikAfry^ObP(m-|v=qiAs?mP*Ab zAg>PG&py5ehHctJ{pLfgYElI|rA|qK?_vh3`~$oMK?QJ{{cKUU3FuMjz%>%_13+4a z!MU*mf|LThRzVMAa1$ZW&Fc=h1uf*1Z)&2BjQ_Vk9~+=x!j$5PNFc_NIWX#lASjm5 z@09`RFzKn;Ld18;j?4^euS{I$Ny=iti*94OKlykxgImh{1E~_G}y7f z^r#o2gj@0-KuBC;XXbv3I1U3hp?*#lt5x$63_~O-F-Pa`0pVT5;fvxW(>ruV#5libT0%CDIoG#DBg2@%&b=kImw;5=Qa3QS3zZ54u`R1~<9%r@#6-t(>ShEUA$r|4QCp*g7 zFIyjx7HaJ78gh>U#$McAF)~Exjqe8irRVjxZ9k2CA$-Yh3thk)NxKMohP zTIKQU+<;aF?)3`6qVm3b*dn9>%M;_nAk?U*l3%B;xNq)$%_RBsQ(qeoif;l3l`^D@ z{D^wBE$afRmZ}5oHOPjB@65a1q!7p<^hZb&>XRZeCijmKq*`HgYgF!HT#CzvLAv8%J7w72S5Chv&;UK@Uei5 z@A|#3%@M_&gol5GekR`DrN2H}HA~;@*vcOm;6r_R{0fN%e2+Hs2Mqw7JdZ2&xM%Z@ z&7%ARO#nSqzp6E$&aH=`>S<4Ee;sU6Nk7=OGDSd8a~ALUJcKC3X?88O0Ct@x`+~4! z)b4&zrghzGuUDpiNTBuI@5Q!=M$~aoE${n@Ul+C$)^|w`R(?ME!-pZ9BOaDPkQ-9xZxr2RF_d$Ewx%>GtY2Y9xz-@$`;Aeyy=H+nlhjFot3`Mm=k;Gf zHU*13?^DpIMeUHGk6byg0JEuP+Oc##rr^|I~ZK}1|wgDPv z(_c&$iR3ee-k2%)%fhMaN_Y4_RuxE! z2E$00{zX1R13x~UXu+W5Sd$xeStzw`9w~Ddrg#hwB)vufIqS2_3SKY-@3Zpu-t<%x z91-RfW57%IOY<+TtI4Psy`4}K|K9LZLo(6WjsEx2v`6N{Y;<*-B;})HO}RI6*FtiC zCkHyf&9c?Jv{ddl-t1lnvWG)CST{Z$4 zPTg6x^EPs5&PF8gbtO(4`z(5&nx+X_6DOx5soOj(XWc%g=*wTHUwv}It7By48fNc6 z@QLiLmLxuB=27Xoz5~2kZog0f-i2c2h8E+dgsB!Z&(0j&M zQT-4Ql3!T2B$>ETo7d?P9_fnMdy%I!7e0tOMmmN z-(LOfJH8e31hp^wy^OD}ggPOyfyYz&?@L|Vo>7nfT1$WRCu2!pMfl?9?5pck#7xvH z09X@4%7G$*p`}0w&0tC^6zQ!qDX4;G2wf41j2|scMI@iB>nO;RvukO1gl5=14s&vK zw9L&C&G7qH=9H#qGEDuN5kf`gFlV$Z+ooou#JV|6(3vbd_<58phsBLJv>XTGd9atN)&*H%RGd9I|Spp}$dWW~wvr>th9 zm7GN+pHI$}H6yfA3OTHK)csU+O0-fdt*q~xo~s!2Yo*l}S@S#lshVsO$>+NDgP?O& z6j&SA%VF~{&QHw>p`Ae_pF%n3YIX|RnNvkJkE;FDovv-PvlfZuv-4ctEkZkcjl))K z%umCsL_6oZm94~=a}9Jqk$e`}KH2ws7DyzYm+Q8F|2`*@Pn|qcPCIFs|3Bn2pVHb+ z_7;(RD(Do@6%)y)|MOTIokCV3`FwKm92=oibdN|r)%~?nN_2|v6UnFPg%++~r$ngO zUftPWJDW&8B{uAz1zixyr*4@nr^9n1`7A={ma7uUXU>IAnF5h~7CY!x6UnEIZly7i ze0E;w;v%^Oi8j0{{j@!Bm=w50R^xY7|O62k9WGadsu;n`w(h(i>T$&UKsFUPPNWz#Ef9 z%l&PM$kkpg0Jrkqc29EUMG;khX&D9$-NcK+-7OIsxC4*v1Eq?cl4w0Q?9J>5UWc4P z69)%Nq1b%j|33?=MI@9KKh#Z2DJb)t`u`L)yUi_wXMOM&-4G6{&J>M@7Ex z)f+Bg_ZqB7DEAxZY!-Q`r+vPEE?oHMqA*5dWxv%Zk;v8dLd3vr1S4-7B3F}e={VDq zkLbKQG2W9r2dkyN2Qe-=6au*<>3PAA_uLA+x%uAeGD{M<+KV*t!+rzvy|=w=kxQTR z|4NsvVZ2+)$3TH-HmPFb9mt+Z6`197019rgr3;Ik2HIAMLvr+iPZ?o=E*UO$rZELN zr}#-tMFqL3`FKm2X@h_?n$NXK*k7~NcX}J&P~w3n^PLY(kAZg0zn9+qG21^`T2+7I zBqq{`wsTrz92+O zQ5C?iBb7efWjTyeQY)ZMAN+t2KaAFlEx1{#)W>Ud7-KM6z|cI{H}sZ-j7s|^HDcva zZ4`i21X`GLBo*v}W4AC}f-@i{1a#o}2vRJhvkN}(doIrw`F)V|_C!4ys4iiHc`==8 z1?$Xxr0OKg;Zt&`B*Bcj;Zs?ZgGCH&prwgiO^;cEhb<}mD5d+Zwd+mHupR@YZAC}i zecSU|gUN`r7Pc7?C!Q>m3qk$ORZb_&;fO^Og=UdVH)wwzqSQ zS6@$lB8TMsyD@zH)n;inDJ-p&%AcKT-3qQqy%nVO z_cZ#g8;ZSXIs_wCOaDA&caOS4rR$DKOpBkFJqcHFxrXoXRPM!bsT8b2Gg4)`faO=2 zl6r+!`tWp#_^)!!xC)(8mCqGMzbXvID)gF%KiByGszkvm4F*(Z>N1IfDfP<#uZzOr z*>@MeYB8`X6hw8dhvftxrCw#hI5O8Se)1L@S7pVeIzMc5QimI>vUxl*Kkk20p9ib9 zQ&e4;%sgo*Q?GW=A6b}bJ88tnRXf?LE-qXzoHVtJRlE3(EG}Q1GSowm)5)%Y}zd^zwxZC`=aq6bu$k1|g?w$*F>XGfM# z+D4LPRTVwCNFCfYKkZ($N5JT)!;>lSWcBxl6+!Zh+0?vMUT*T;V zaqvgHV~tPYvhYh+(KMCK)GF9zf7U8>l8P zPP--IFA|I%4^jxRzw9xwxXY$zPfaGJ(^tJH%H?N28 z{|K>|_$o&1f8fRgeOyOFh;W`H4dgyQi zT)0t7xXE0&*;zP>DZ)ZDf>_zIK}XmT%f>AcPID11XAy2pkshLvUIvjq=twj!(!V7# za4z!YStPM+93mP;j3Y;&qoQz8F)dNCb5ZfvXHi(DXkyto#UMHj9gV|9XSPIV&qe2+ zMdvZa6o|$Y8N?9F#$~veik6tFxtN->7(CPKI?>k+2CtjSynInW9KgzvmKx*+5yUby zp(uq{s3`zcA}cTvEClWb8I%Is>-#AK6bcJqlWz2HqyXy?+}|cV!%M-wNO1QNc~9C+ zFp9b@gbE=A^S1@$V)(nEHzy~2dOR#&C?-r4aEW$%?e zT7g5cJo&&!dPrABb7lUJvb0P)-0(#wmMtcQ1qxbt@hPvK3x3D}Z?`fMnZ;hxnDeKLL? zdC%TdR5Oe5XZloe7L#XE8EvFZ+*&$EQcBqw~mdX46kRIfaHf zWXai85jh~)?9YAaOG6L3t_>Z(4L#`KG5t$Fm(KF`A!0l>Af{nxK8^Z+HD90@fQwm#dfqdXMI#A z3!JjEFT~&_MzpA3J4MvPFSIg?ELBjpX+`8d&=j3Q&P-J4PW}l2m28-6wtzx0=L^Z3 zKds1hyg<3{=5E=Wi(L=p6neQ!Fy=(6SkUogC$qRyuVhJSdqXa8Y!Kh@g>*Q?m#@v$ z(BHS%$mKaRT4CNrjt8Aj;i4*zZc20cGmW+excKg(9mt)$@ujKFsdXo%X|v^iO_f=U zxX_dG0)3L|3-vOLVA(9ql~sC`KI!Ih37)aC<(Rx#zr3}mx^P~!zME+gpnMClqWwRBt10g;UelI}eAUGJ&d8}J&h zgOM)26leGOAV_`V{wpm)P3ENKAFhJx)oQ36={g0s@;rwBoa-AF#@JHpSx|RtkfL*! zvkVSHplQmkF%+y_Z<<^FvtAU!{_l%I)#!gacM4VCX#6kyLe|l<-$*sEAXGUaTXq$p)g*}4H(63zLl|C%oCVcE@r2C00k*LZzK1YpVa0*%hT<=u=waumBpJC z+XbdABu>yNa`Y9LmWPBPz0BxoHj#rSwc*#O0~T1*QyNajhp^ z*)a3Z3)#p)wW`BE?R#w(_`XxM@^BpR{qDYh3dA z?p(eQ!HN_6n&x=WiixSLc>&7%e$YN+({|7i$VvI5^K4b+$Gf1zM51%Yw~gdIsGgP3 z4J9>l>ZT%1lkI_jRh8?#>B@T8_j&pGVSnuW>%)PDknY35EXU#XV`ln9y zqp+zwAVAQVxICS+N_Re)w=1naAv$-6%Tu=j{?jF|S?AL)=zp9$#O3M!DY01n?-%l; z?l55HMqIWOyTgbIh8hbkAd%a%y|trQz|KI;%WJ1Ce@REiv>J{C$H2^{6Ie!-c)05l zwd}(Z$d{EAt*!6HZ)GUnIvuR4`gTLoa;1&DQt5L;rgI)zHj{`Qj+t(0k$bpZT)_{s3((~~mm zPcG!_lH0WAFIF}}L`Y9dSPiIUc#OQf4 zL^bvCx%`MZe;0Udngzs5R`E~oiV#~WxuyKkf8l5D*=Xt0)1m8+FE4(+0l>Yk^cs%?m-v79e9agTSs4|(9d0fP;Uaq1) zJek&ZT#Sq>SF=@_%3L@u5gq$K^@V)FMKV*QOSZt1@_=K-s#-9ZrRsZ9v9~I5bSDk# zNF_h=Da!t_(0^0j0^_`?YIP6<71W#=do4<9y*m0pdag_1SmXo1%OpI2E(80LyRP$7 z4w!Sm92UHdN&bQo5X~=Fg0iK9*f!Vm!@h^Y3kAD6Va3skJnCOUeEZ7R`D0&|FN%-i z`kNb9Q5o?ce$8c=`zWt%nqQCcjNm=~CfR!Jp5Dq`_On}o&6Ixo+-zg; zhxoNg&27rFzrx-z;Aot&j9lUdl&A(-;yIzwXX#10dAVZ!Mtk6p(_E6j6aR`d z()7RkNLlTcgL7FXr$Nn6CNonyAw@syhUMr?vAtar8nW10lZM*lqpyk%PII~>P0Yrz zd)0F+mMBLNBR45~--pHvu7(eq)h2|UPQyVbee}$TP3OL@drRp?2CWaYouo3@KYx#J z?jU-X{TDBn&&HeIosRu@d3pI2K-1C%(IAAd{(E`)KghZBKk9{yeg&5T+v3UnkR;4f z;7|;jJ`b?1$HUr1Wre>39Lk_ltr1e`#8*$ zn6z!jZudY2IpZKguzu?}Xm4~!ar6QdX#g_uJBfqR#dpes)}ascM6GwA4;{8G_Ms13 zN{maG63B%d9@!+odr8_jV=i#W$}r=gvjk}9>*hyTkRP&zKAJoOY363kJAO0IV z>ouA6V|#%msPSEV@|K`ND`&XWIe&ZO3;B6|aE37omog$~)~*|^vBURHH%Yskk7nLj z&M$Q&MC1L&BNKa#?$1%?8TYNACPJENT|KtlpJN?bdDl=T>gQ>>T5(=OyhuY6-&Wp{ zK5W1|&-kzOY@lg~GS3tH^l(G&Dkf7_EG|?la%zJ*o}9bL&Xigt!<;rfG9p8j2PJ-< z{$tSY3n4u+=6N;<+dT`ai@<*Jy5O-H-l-XZ@TK@MZK1L!9l zGG$(iWbP=rfEkmDPGV;NZ)V|PYy-acl*i+eRF2y~3&?*w={-)LP`=ER7wW#GN zk4Mc1^QpW@UI=&u-?S$I}`U89JRK)|~2U1ymIBYJv*=V)mNJ5WL#< znuf=nt&$i>c}FuL$HKg?q6G#vy;t-EJ}LMp+3_bt`Os1D{e=1|McHO$@R#4 zWt*K|P!PVA_Noq$+=3n@aIpd?Byfe|ZH1Bxg-Z~4ap;$)z#QUzU}^TEPQ%!nFos=Qm>(jBjU+;3w=92(NqC$1 zO5?Q^HRG<}aS<`t-6_o@a?Cd)1LRYi$n4D<4#PFMW5lJ3qLO%oo0LbaSwxsv=}quH{WYX35$D)Rp#-UmAW`fOnPPbkNC|JUq4_ksUOUuiPb6)SYN z(KB3e+6D^7_D8 z#}f_mD7a}KF2ubHG1VTuTU}-MM&0i4bwehEaU)b7nVG0N!g4Qgd{9A`L^h6iqR+Z@ z#w9wb81FS&n7N1k3%Pxm;Mha**SWTW)TBF>bU5tJ`!blEfD*}THUm*MzkHA!t#L?E zQ4|3^^o&e38L6VnMQKf{2_$DI6xIf-iE(Q1j*?a_>D;N;4L10rN>;^-)1Z`y>x?o@8bD&ar4Gj+AWN$xenR~LC~fF0z1 zF05pC;I}8=vToBu`?co#nT4CRkH-pc>U|%+vboVX^vm^joT||k#T>Sh$+?G`P5Ev_ zT6Yc=KN)+VvM7cj>86<#%imew5d zZqm===$H&0=U1+L0y-E*dP#;kjfQJNQKnRL}0qIClW5`B8jRCC!vesoHqeuc`SQ0`2 z!Ke|?Rx}Ao2nk^)WDjL2Qbc75xFKo)6)K37rM7?w2*^Q1Dljb*kF%UJ^DyVkOQ+}f za$oM-efypNcfW6)kDa3Cx~9O3?bZ|988qanY#BJNrXtoa^|l_Y zyH?OXMccX5_e5M*Q+D7rBV?(+x1+AEzWw!yb4vq*(0X0VfoY~}>BsSd^^HHYPqS_; zJ)ilcwBMx}70`MJP64fIGD={iLfU|>CQMQq{#Q2FX0IoyMzq1Uap*pE?U$fA8EX%i4^m-!ljvlmKf*HaA z9EZ&Nn?X19h*w&=Z8+tH7qB*sv&f9Fb^!smLS_0GA_4czdW|mEB^(^Hd(a!IUk$>= z3?AfJa1V%|Dhn-HJ zbmVGk`ISki;_XIP5zf_C~dTU%b!Q{!GahnO)#u1VeD`VKwLhZwS zjKHq%At_;^E?1F)DjFKjxLYpjwRCzuF6wk75A!kFTFOg4`X+>2T_{#MnqMCmw|J5D zh|HU_+~Pco`Ce3MZN`#6sxOiJ`hDj9T(Yqn>S!=Im?gQKonAo&nth9Gw$9Rag|dCK za)HO&^MtSfCthlp^^+`dVC0)4BFBI&_aR}^XR^;Xn}r5tqQ8Yt(y4IUoT%9V<}x@7 z9|Iq=rhnd$15jTQ(g1i9u^cbC4NI4gn!wzk$gQywUFKG&*zot6UV_*|uSC$c*q5z> z8>5*m<+*o)cxAo*Ev3RRQe2ct^slpV`GmZVy8K<>g3fsp5}4kXCfSZ~rG~oT3tVO5tDaBTfbdC(O5Ee*Qk9fwk(ygS z%s1a+{!JS)<5i-&05c@Xwpj@-Ohd<;FewfN6|Ux15@t#R(sYKI2SGmd2-#K!Ea*cZ zo}5Y^1YBSWz1CTr1jg?319|8pjFJ?+Qbm7*;>SM4PYa4cTjlVwn{tGt98Fe^OO+E1 z%Beo(^n!B6RyFIUnj@*^lU47fs>KGCVTt&+1r@+f4RluuW@0L@)y7d6^+RQLOFK}FW4{;iXoU}OxqEEYP?wTCwHiqy|*gmWuP9GkpRAS&j0`G*qsDCS<71`8 z4-I<}S2}`1`aY#YFlGxpl4L%SBBfwo|hit z1wrsI%U-oM`7Guqxe*BqxN3)yi zKa+aiwY1F|?%AhnRY2fp%h}w+6N2jWX)gzy@A}o=E7;v9Jgb)4FzNL-Pt0L3olE-8 zuQP6)x%ncx7V`5KDfQPQ%da>{b);WSnIh@)oC^#7?DmJ0rt|jqXvYMD?kSh9n^#5J z5gt8Y>hI zTaV3!g!8KdM+u}|Uqj+9OjVpPPIlZ2cP;l~jR-f9+A_1lbKHPn#NLPbf3Xpq`YxlC zNVDA>I{l&`(p9iw3*|B4O)B@E3uxOiXW4w_b+t_BxWY4t(m_m4Eviq7-W9#V){-q% z-E#$a2v77a`ozw5xTdEHTOhJi9r4hmFTi+u~o;S`9+srE$1wWOeFV zYl*ii0$BMnb^{9)Gl!o8wgU0C&vV5N`PklhOiyo$;u(J z^?fFnnb~T%UA1ii+a6melrS9A{8$2L1AO-kbvHhX?ivk?ffo^IU4*O!Ui5KXmfBYm z1Y$GP+$gE+hq`jDPW@1~87 zriGl&nZ)P)Hp`xw2QUR#X=;K+ursneK{bOtX_d&~qj%C1&k4{`4T(nus3T4%yCvBb zj=7dCW@kx=AwbrK9Xv@h&FP11Zgwtm%L)z*dMxHtlLumbs%WOZsIsr9YN4pwR(8!z zRzs52CChYDS!09jW}oc#f~?6_-s~p7Pm=4C<*icr!v^`|K6%H2{E4li%T3WuQuHMM lhl+0haaB~5{O_bO0vG{2AO_)lY>51qbw0iL1Ada7e*-6yoW=kE literal 0 HcmV?d00001 diff --git a/assets/styles/dark.txt b/assets/styles/dark.txt new file mode 100644 index 0000000..a84674d --- /dev/null +++ b/assets/styles/dark.txt @@ -0,0 +1,285 @@ +[ + { + "elementType": "geometry", + "stylers": [ + { + "color": "#1d2c4d" + } + ] + }, + { + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#8ec3b9" + } + ] + }, + { + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#1a3646" + } + ] + }, + { + "featureType": "administrative.country", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#4b6878" + } + ] + }, + { + "featureType": "administrative.land_parcel", + "elementType": "labels", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "administrative.land_parcel", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#64779e" + } + ] + }, + { + "featureType": "administrative.province", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#4b6878" + } + ] + }, + { + "featureType": "landscape.man_made", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#334e87" + } + ] + }, + { + "featureType": "landscape.natural", + "elementType": "geometry", + "stylers": [ + { + "color": "#023e58" + } + ] + }, + { + "featureType": "poi", + "elementType": "geometry", + "stylers": [ + { + "color": "#283d6a" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#6f9ba5" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#1d2c4d" + } + ] + }, + { + "featureType": "poi.business", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "geometry.fill", + "stylers": [ + { + "color": "#023e58" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#3C7680" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry", + "stylers": [ + { + "color": "#304a7d" + } + ] + }, + { + "featureType": "road", + "elementType": "labels.icon", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "road", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#98a5be" + } + ] + }, + { + "featureType": "road", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#1d2c4d" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry", + "stylers": [ + { + "color": "#2c6675" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#255763" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#b0d5ce" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#023e58" + } + ] + }, + { + "featureType": "road.local", + "elementType": "labels", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "transit", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "transit", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#98a5be" + } + ] + }, + { + "featureType": "transit", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#1d2c4d" + } + ] + }, + { + "featureType": "transit.line", + "elementType": "geometry.fill", + "stylers": [ + { + "color": "#283d6a" + } + ] + }, + { + "featureType": "transit.station", + "elementType": "geometry", + "stylers": [ + { + "color": "#3a4762" + } + ] + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": [ + { + "color": "#0e1626" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#4e6d70" + } + ] + } + ] \ No newline at end of file diff --git a/assets/styles/light.txt b/assets/styles/light.txt new file mode 100644 index 0000000..add938a --- /dev/null +++ b/assets/styles/light.txt @@ -0,0 +1,160 @@ +[ + { + "elementType": "geometry", + "stylers": [ + { + "color": "#f5f5f5" + } + ] + }, + { + "elementType": "labels.icon", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#616161" + } + ] + }, + { + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#f5f5f5" + } + ] + }, + { + "featureType": "administrative.land_parcel", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#bdbdbd" + } + ] + }, + { + "featureType": "poi", + "elementType": "geometry", + "stylers": [ + { + "color": "#eeeeee" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#757575" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "geometry", + "stylers": [ + { + "color": "#e5e5e5" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#9e9e9e" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry", + "stylers": [ + { + "color": "#ffffff" + } + ] + }, + { + "featureType": "road.arterial", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#757575" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry", + "stylers": [ + { + "color": "#dadada" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#616161" + } + ] + }, + { + "featureType": "road.local", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#9e9e9e" + } + ] + }, + { + "featureType": "transit.line", + "elementType": "geometry", + "stylers": [ + { + "color": "#e5e5e5" + } + ] + }, + { + "featureType": "transit.station", + "elementType": "geometry", + "stylers": [ + { + "color": "#eeeeee" + } + ] + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": [ + { + "color": "#c9c9c9" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#9e9e9e" + } + ] + } + ] \ No newline at end of file diff --git a/commentOld.txt b/commentOld.txt new file mode 100644 index 0000000..fff9197 --- /dev/null +++ b/commentOld.txt @@ -0,0 +1,339 @@ +import 'package:teso/Classes/API%20Clasess/Post.dart'; +import 'package:teso/Classes/Firebase/Comments.dart'; +import 'package:teso/Classes/TesoUser.dart'; +import 'package:teso/Pages/PageWidgets/Posts/user3P_commentTitle.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:teso/Classes/API%20Clasess/CommentsPost.dart'; +import 'package:teso/Pages/PageWidgets/ChatScreen/bottomBar.dart'; +import 'package:teso/providers/user_provider.dart'; +import 'package:teso/util/consts.dart'; +import 'package:intl/intl.dart'; +import 'package:time_elapsed/time_elapsed.dart'; + +class CommentSection extends StatefulWidget { + final Post postedAd; + final TesoUser user; + CommentSection({ + Key key, + @required this.postedAd, + @required this.user, + }) : assert(postedAd != null), + assert(user != null), + super(key: key); + @override + _CommentSectionState createState() => _CommentSectionState(); +} + +class _CommentSectionState extends State { + TextEditingController controller = new TextEditingController(); + final ScrollController listScrollController = ScrollController(); + List listMessage = new List.from([]); + int _limit = 20; + final int _limitIncrement = 20; + int total = 0; + var userDocs; + + _scrollListener() { + if (listScrollController.offset >= + listScrollController.position.maxScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the bottom"); + setState(() { + print("reach the bottom"); + _limit += _limitIncrement; + + FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .limit(_limit) + .snapshots() + .map((event) => { + listMessage = event.docs + .map((e) => FBComments.fromJSON(e.data())) + .toList() + }); + }); + } + if (listScrollController.offset <= + listScrollController.position.minScrollExtent && + !listScrollController.position.outOfRange) { + print("reach the top"); + setState(() { + print("reach the top"); + }); + } + } + + @override + void initState() { + super.initState(); + listScrollController.addListener(_scrollListener); + _listenComments(); + FirebaseFirestore.instance + .collection("users") + .doc(widget.postedAd.publisherID) + .get() + .then((value) { + setState(() { + userDocs = value.data(); + }); + }); + } + + @override + void dispose() { + controller.dispose(); + listScrollController.dispose(); + super.dispose(); + } + + void sendComment(String text, int position) async { + if (controller.text.isNotEmpty) { + CommentsPost comment = new CommentsPost(); + SharedPreferences.getInstance().then((value) async { + comment.postId = widget.postedAd.postID; + comment.comment = text; + comment.timestamp = DateTime.now().toIso8601String(); + comment.commenterId = value.getString("id"); + comment.commentId = + "TESCPCM" + DateTime.now().toString() + value.getString("id"); + }); + Provider.of(context, listen: false).commentPost(comment); + controller.clear(); + } + } + + _listenComments() { + FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .limit(_limit) + .snapshots() + .map((event) => { + setState(() { + listMessage = event.docs + .map((e) => FBComments.fromJSON(e.data())) + .toList(); + }) + }); + + FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .snapshots() + .listen((event) { + if (mounted) { + setState(() { + total = event.docs.length; + }); + } + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("$total Comments"), + actions: [ + IconButton( + onPressed: () => Navigator.pop(context), + icon: Icon( + Icons.close, + ), + ), + ], + ), + body: Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + children: [ + Container( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(bottom: 60), + child: StreamBuilder( + stream: FirebaseFirestore.instance + .collection('posts') + .doc(widget.postedAd.postID) + .collection("comments") + .orderBy('timestamp') + .limit(_limit) + .snapshots(), + builder: (context, snapshot) { + if (snapshot.data == null && + snapshot.connectionState == ConnectionState.waiting) { + return Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Theme.of(context).primaryColor))); + } else if (snapshot.data.docs.length == 0) { + if (widget.postedAd.title != null) { + return Align( + alignment: Alignment.topCenter, + child: buildPostTile3P( + context, widget.user, widget.postedAd), + ); + } else { + return Container(); + } + } else { + listMessage = snapshot.data.docs; + return ListView.builder( + padding: EdgeInsets.all(10.0), + itemCount: listMessage.length, + itemBuilder: (context, index) { + int timeInMillis = int.parse(snapshot.data.docs[index] + .data()['timestamp'] + .toString()); + var date = + DateTime.fromMillisecondsSinceEpoch(timeInMillis); + var formattedDate = + DateFormat("yyyy-MM-dd HH:mm:ss").format(date); + if (index == 0 && widget.postedAd.title != null) { + return Column(children: [ + buildPostTile3P( + context, widget.user, widget.postedAd), + Divider(), + ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + snapshot.data.docs[index] + .data()['commenterID']), + placeholder: AssetImage( + "assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: snapshot.data.docs[index] + .data()['commenter'] + + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan( + text: snapshot.data.docs[index] + .data()['comment']), + ], + ), + ), + subtitle: Text( + TimeElapsed().fromDateTime( + DateTime.parse(formattedDate)), + ), + ), + ]); + } + return ListTile( + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: Colors.black, + width: 1, + )), + child: ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(90.0), + topRight: Radius.circular(90.0), + bottomLeft: Radius.circular(90), + bottomRight: Radius.circular(90), + ), + child: FadeInImage( + height: 90, + width: 90, + fit: BoxFit.fill, + image: NetworkImage(serverLocation + + "api/pulldp/" + + snapshot.data.docs[index] + .data()['commenterID']), + placeholder: + AssetImage("assets/images/tesoDP/dp1.png"), + ), + ), + ), + title: new RichText( + text: new TextSpan( + style: new TextStyle( + fontSize: 14.0, + color: Theme.of(context).primaryColorLight, + ), + children: [ + new TextSpan( + text: snapshot.data.docs[index] + .data()['commenter'] + + " ", + style: new TextStyle( + fontWeight: FontWeight.bold)), + new TextSpan( + text: snapshot.data.docs[index] + .data()['comment']), + ], + ), + ), + subtitle: Text( + TimeElapsed() + .fromDateTime(DateTime.parse(formattedDate)), + ), + ); + }, + // reverse: true, + controller: listScrollController, + ); + } + }, + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: buildBottom( + context, + controller, + sendComment, + ), + ), + ], + ), + ), + ); + } +} diff --git a/fonts/.DS_Store b/fonts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUpMh9H2BNBh0QSWmV*mgE literal 0 HcmV?d00001 diff --git a/fonts/AlexBrush-Regular.ttf b/fonts/AlexBrush-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58c43a9436b484ac3fb1ba0416861d67f28cc4ba GIT binary patch literal 49020 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 SP7B6zVA^lu3-O1pVE+dc)2BHA literal 0 HcmV?d00001 diff --git a/fonts/Allura-Regular.otf b/fonts/Allura-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..cad9a53dc429a1da76cf54aa733cbae329f2e8a3 GIT binary patch literal 49000 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

MFD6Oy$%BIfY;0`67*jJnC)GclC9K2n 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%0A<>LkA0w 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 geb&y1B^{`c_-F8~@ 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Ⓢ8!INUE__RaIYn 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Ⓢ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 z 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