From ef0f71310b5ce146c314ed32302bfe1512aa8c7e Mon Sep 17 00:00:00 2001 From: tom5079 Date: Fri, 17 Dec 2021 11:23:32 +0900 Subject: [PATCH] Code Refactor / Dependency Update --- .idea/misc.xml | 5 + app/build.gradle.kts | 28 +- app/libs/patternlockview-release.aar | Bin 41875 -> 0 bytes app/libs/pinlockview-release.aar | Bin 40695 -> 0 bytes app/libs/recyclerviewfastscroller-release.aar | Bin 53539 -> 0 bytes app/src/main/AndroidManifest.xml | 10 - .../java/xyz/quaver/pupil/sources/Common.kt | 12 - .../xyz/quaver/pupil/sources/Downloads.kt | 1 - .../java/xyz/quaver/pupil/sources/History.kt | 5 - .../java/xyz/quaver/pupil/sources/Hitomi.kt | 59 --- .../xyz/quaver/pupil/sources/Hiyobi_io.kt | 5 - .../xyz/quaver/pupil/types/Suggestions.kt | 35 -- .../java/xyz/quaver/pupil/ui/MainActivity.kt | 4 +- .../xyz/quaver/pupil/ui/ReaderActivity.kt | 3 +- .../xyz/quaver/pupil/ui/SettingsActivity.kt | 57 --- .../ProgressCard.kt} | 11 +- .../ui/dialog/DefaultQueryDialogFragment.kt | 163 ------ .../DownloadFolderNameDialogFragment.kt | 66 --- .../dialog/DownloadLocationDialogFragment.kt | 168 ------- .../pupil/ui/dialog/GalleryDialogFragment.kt | 225 --------- .../pupil/ui/dialog/ProxyDialogFragment.kt | 130 ----- .../ui/fragment/ManageFavoritesFragment.kt | 157 ------ .../ui/fragment/ManageStorageFragment.kt | 177 ------- .../pupil/ui/fragment/PINLockFragment.kt | 57 --- .../pupil/ui/fragment/PatternLockFragment.kt | 61 --- .../pupil/ui/fragment/SettingsFragment.kt | 243 --------- .../ui/fragment/SourceSettingsFragment.kt | 133 ----- .../pupil/ui/view/FloatingSearchView.kt | 122 ----- .../pupil/ui/view/SwipePageTurnView.java | 471 ------------------ .../pupil/ui/viewmodel/MainViewModel.kt | 21 +- .../xyz/quaver/pupil/util/ItemClickSupport.kt | 69 --- app/src/main/res/anim/shake.xml | 24 - app/src/main/res/anim/shake_cycle.xml | 21 - app/src/main/res/color/lock_fab.xml | 23 - app/src/main/res/drawable-hdpi/ic_email.png | Bin 325 -> 0 bytes .../main/res/drawable-hdpi/ic_fullscreen.png | Bin 145 -> 0 bytes app/src/main/res/drawable-hdpi/ic_help.png | Bin 571 -> 0 bytes app/src/main/res/drawable-hdpi/ic_home.png | Bin 279 -> 0 bytes .../res/drawable-hdpi/ic_notification.png | 0 .../main/res/drawable-hdpi/ic_settings.png | Bin 469 -> 0 bytes app/src/main/res/drawable-mdpi/ic_email.png | Bin 235 -> 0 bytes .../main/res/drawable-mdpi/ic_fullscreen.png | Bin 99 -> 0 bytes app/src/main/res/drawable-mdpi/ic_help.png | Bin 345 -> 0 bytes app/src/main/res/drawable-mdpi/ic_home.png | Bin 222 -> 0 bytes .../res/drawable-mdpi/ic_notification.png | 0 .../main/res/drawable-mdpi/ic_settings.png | Bin 352 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_email.png | Bin 383 -> 0 bytes .../main/res/drawable-xhdpi/ic_fullscreen.png | Bin 125 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_help.png | Bin 676 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_home.png | Bin 314 -> 0 bytes .../res/drawable-xhdpi/ic_notification.png | 0 .../main/res/drawable-xhdpi/ic_settings.png | Bin 628 -> 0 bytes app/src/main/res/drawable-xxhdpi/ic_email.png | Bin 550 -> 0 bytes .../res/drawable-xxhdpi/ic_fullscreen.png | Bin 149 -> 0 bytes app/src/main/res/drawable-xxhdpi/ic_help.png | Bin 1000 -> 0 bytes app/src/main/res/drawable-xxhdpi/ic_home.png | Bin 395 -> 0 bytes .../res/drawable-xxhdpi/ic_notification.png | 0 .../main/res/drawable-xxhdpi/ic_settings.png | Bin 914 -> 0 bytes .../res/drawable-xxxhdpi/ic_notification.png | 0 app/src/main/res/drawable/account_group.xml | 4 - app/src/main/res/drawable/account_star.xml | 4 - app/src/main/res/drawable/arrow_right.xml | 4 - app/src/main/res/drawable/avd_star.xml | 14 - .../main/res/drawable/backspace_outline.xml | 4 - app/src/main/res/drawable/book_open.xml | 4 - app/src/main/res/drawable/brush.xml | 4 - app/src/main/res/drawable/cancel.xml | 4 - app/src/main/res/drawable/clock_end.xml | 22 - app/src/main/res/drawable/clock_start.xml | 22 - app/src/main/res/drawable/close.xml | 4 - app/src/main/res/drawable/delete.xml | 4 - app/src/main/res/drawable/dot.xml | 30 -- app/src/main/res/drawable/eye.xml | 8 - app/src/main/res/drawable/eye_closed.xml | 44 -- app/src/main/res/drawable/eye_off.xml | 8 - app/src/main/res/drawable/eye_off_white.xml | 8 - app/src/main/res/drawable/eye_white.xml | 8 - app/src/main/res/drawable/fingerprint.xml | 4 - app/src/main/res/drawable/gender_female.xml | 4 - .../main/res/drawable/gender_female_white.xml | 4 - app/src/main/res/drawable/gender_male.xml | 4 - .../main/res/drawable/gender_male_white.xml | 4 - app/src/main/res/drawable/github_circle.xml | 4 - app/src/main/res/drawable/history.xml | 4 - app/src/main/res/drawable/ic_download.xml | 3 - app/src/main/res/drawable/ic_downloading.xml | 19 - app/src/main/res/drawable/ic_imhentai.png | Bin 3719 -> 0 bytes app/src/main/res/drawable/ic_message.xml | 4 - app/src/main/res/drawable/ic_progressbar.xml | 5 - .../res/drawable/ic_progressbar_cache.xml | 5 - .../res/drawable/ic_progressbar_complete.xml | 13 - .../ic_progressbar_complete_cache.xml | 13 - app/src/main/res/drawable/ic_star_filled.xml | 3 - app/src/main/res/drawable/icon.xml | 30 -- app/src/main/res/drawable/icon_red.xml | 30 -- .../res/drawable/image_broken_variant.xml | 4 - app/src/main/res/drawable/lastpass.xml | 4 - app/src/main/res/drawable/lock_pattern.xml | 4 - app/src/main/res/drawable/menu.xml | 4 - app/src/main/res/drawable/navigate_next.xml | 3 - app/src/main/res/drawable/navigate_prev.xml | 6 - app/src/main/res/drawable/pin_filled.xml | 5 - .../res/drawable/reader_item_boundary.xml | 10 - app/src/main/res/drawable/refresh.xml | 4 - app/src/main/res/drawable/shuffle_variant.xml | 4 - app/src/main/res/drawable/side_nav_bar.png | Bin 68495 -> 0 bytes app/src/main/res/drawable/sort_variant.xml | 8 - app/src/main/res/drawable/tag.xml | 4 - app/src/main/res/drawable/thumb.xml | 5 - app/src/main/res/drawable/thumb_drawable.xml | 6 - .../main/res/drawable/thumb_horizontal.xml | 5 - app/src/main/res/drawable/track.xml | 6 - app/src/main/res/drawable/track_drawable.xml | 6 - app/src/main/res/drawable/translate.xml | 4 - .../main/res/layout/default_query_dialog.xml | 135 ----- .../layout/download_folder_name_dialog.xml | 59 --- .../res/layout/download_location_dialog.xml | 25 - .../res/layout/download_location_item.xml | 51 -- app/src/main/res/layout/gallery_dialog.xml | 109 ---- .../res/layout/gallery_dialog_details.xml | 40 -- .../layout/gallery_dialog_dotindicator.xml | 34 -- .../main/res/layout/gallery_dialog_tags.xml | 40 -- app/src/main/res/layout/lock_activity.xml | 97 ---- app/src/main/res/layout/main_activity.xml | 42 -- .../main/res/layout/main_activity_content.xml | 89 ---- app/src/main/res/layout/mirrors_item.xml | 50 -- app/src/main/res/layout/nav_header_main.xml | 32 -- .../main/res/layout/pattern_lock_fragment.xml | 37 -- app/src/main/res/layout/pin_lock_fragment.xml | 42 -- .../main/res/layout/progress_card_view.xml | 75 --- app/src/main/res/layout/proxy_dialog.xml | 123 ----- app/src/main/res/layout/reader_eye_card.xml | 67 --- app/src/main/res/layout/settings_activity.xml | 27 - .../res/layout/source_select_dialog_item.xml | 70 --- app/src/main/res/layout/suggestion_count.xml | 32 -- .../main/res/layout/swipe_pageturn_view.xml | 30 -- .../main/res/menu/activity_main_drawer.xml | 61 --- app/src/main/res/menu/main.xml | 42 -- app/src/main/res/menu/reader.xml | 36 -- app/src/main/res/values-ja/arrays.xml | 8 +- app/src/main/res/values-ja/strings.xml | 130 ----- app/src/main/res/values-ko/arrays.xml | 8 +- app/src/main/res/values-ko/strings.xml | 130 ----- app/src/main/res/values/arrays.xml | 25 - app/src/main/res/values/colors.xml | 5 - app/src/main/res/values/dimen.xml | 15 - app/src/main/res/values/ids.xml | 9 - app/src/main/res/values/strings.xml | 175 +------ app/src/main/res/xml/download_preferences.xml | 21 - app/src/main/res/xml/history_preferences.xml | 21 - app/src/main/res/xml/imhentai_preferences.xml | 21 - app/src/main/res/xml/lock_preferences.xml | 26 - .../res/xml/manage_favorites_preferences.xml | 30 -- .../res/xml/manage_storage_preferences.xml | 34 -- app/src/main/res/xml/root_preferences.xml | 102 ---- 155 files changed, 28 insertions(+), 5188 deletions(-) delete mode 100644 app/libs/patternlockview-release.aar delete mode 100644 app/libs/pinlockview-release.aar delete mode 100644 app/libs/recyclerviewfastscroller-release.aar delete mode 100644 app/src/main/java/xyz/quaver/pupil/types/Suggestions.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt rename app/src/main/java/xyz/quaver/pupil/ui/{view/ProgressCardView.kt => composable/ProgressCard.kt} (61%) delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialogFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadFolderNameDialogFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/dialog/GalleryDialogFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/PINLockFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/PatternLockFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/fragment/SourceSettingsFragment.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/view/FloatingSearchView.kt delete mode 100644 app/src/main/java/xyz/quaver/pupil/ui/view/SwipePageTurnView.java delete mode 100644 app/src/main/java/xyz/quaver/pupil/util/ItemClickSupport.kt delete mode 100644 app/src/main/res/anim/shake.xml delete mode 100644 app/src/main/res/anim/shake_cycle.xml delete mode 100644 app/src/main/res/color/lock_fab.xml delete mode 100644 app/src/main/res/drawable-hdpi/ic_email.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_fullscreen.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_help.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_home.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_notification.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_settings.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_email.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_fullscreen.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_help.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_home.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_notification.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_settings.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_email.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_fullscreen.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_help.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_home.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_notification.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_settings.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_email.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_fullscreen.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_help.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_home.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_notification.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_settings.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_notification.png delete mode 100644 app/src/main/res/drawable/account_group.xml delete mode 100644 app/src/main/res/drawable/account_star.xml delete mode 100644 app/src/main/res/drawable/arrow_right.xml delete mode 100644 app/src/main/res/drawable/avd_star.xml delete mode 100644 app/src/main/res/drawable/backspace_outline.xml delete mode 100644 app/src/main/res/drawable/book_open.xml delete mode 100644 app/src/main/res/drawable/brush.xml delete mode 100644 app/src/main/res/drawable/cancel.xml delete mode 100644 app/src/main/res/drawable/clock_end.xml delete mode 100644 app/src/main/res/drawable/clock_start.xml delete mode 100644 app/src/main/res/drawable/close.xml delete mode 100644 app/src/main/res/drawable/delete.xml delete mode 100644 app/src/main/res/drawable/dot.xml delete mode 100644 app/src/main/res/drawable/eye.xml delete mode 100644 app/src/main/res/drawable/eye_closed.xml delete mode 100644 app/src/main/res/drawable/eye_off.xml delete mode 100644 app/src/main/res/drawable/eye_off_white.xml delete mode 100644 app/src/main/res/drawable/eye_white.xml delete mode 100644 app/src/main/res/drawable/fingerprint.xml delete mode 100644 app/src/main/res/drawable/gender_female.xml delete mode 100644 app/src/main/res/drawable/gender_female_white.xml delete mode 100644 app/src/main/res/drawable/gender_male.xml delete mode 100644 app/src/main/res/drawable/gender_male_white.xml delete mode 100644 app/src/main/res/drawable/github_circle.xml delete mode 100644 app/src/main/res/drawable/history.xml delete mode 100644 app/src/main/res/drawable/ic_download.xml delete mode 100644 app/src/main/res/drawable/ic_downloading.xml delete mode 100644 app/src/main/res/drawable/ic_imhentai.png delete mode 100644 app/src/main/res/drawable/ic_message.xml delete mode 100644 app/src/main/res/drawable/ic_progressbar.xml delete mode 100644 app/src/main/res/drawable/ic_progressbar_cache.xml delete mode 100644 app/src/main/res/drawable/ic_progressbar_complete.xml delete mode 100644 app/src/main/res/drawable/ic_progressbar_complete_cache.xml delete mode 100644 app/src/main/res/drawable/ic_star_filled.xml delete mode 100644 app/src/main/res/drawable/icon.xml delete mode 100644 app/src/main/res/drawable/icon_red.xml delete mode 100644 app/src/main/res/drawable/image_broken_variant.xml delete mode 100644 app/src/main/res/drawable/lastpass.xml delete mode 100644 app/src/main/res/drawable/lock_pattern.xml delete mode 100644 app/src/main/res/drawable/menu.xml delete mode 100644 app/src/main/res/drawable/navigate_next.xml delete mode 100644 app/src/main/res/drawable/navigate_prev.xml delete mode 100644 app/src/main/res/drawable/pin_filled.xml delete mode 100644 app/src/main/res/drawable/reader_item_boundary.xml delete mode 100644 app/src/main/res/drawable/refresh.xml delete mode 100644 app/src/main/res/drawable/shuffle_variant.xml delete mode 100644 app/src/main/res/drawable/side_nav_bar.png delete mode 100644 app/src/main/res/drawable/sort_variant.xml delete mode 100644 app/src/main/res/drawable/tag.xml delete mode 100644 app/src/main/res/drawable/thumb.xml delete mode 100644 app/src/main/res/drawable/thumb_drawable.xml delete mode 100644 app/src/main/res/drawable/thumb_horizontal.xml delete mode 100644 app/src/main/res/drawable/track.xml delete mode 100644 app/src/main/res/drawable/track_drawable.xml delete mode 100644 app/src/main/res/drawable/translate.xml delete mode 100644 app/src/main/res/layout/default_query_dialog.xml delete mode 100644 app/src/main/res/layout/download_folder_name_dialog.xml delete mode 100644 app/src/main/res/layout/download_location_dialog.xml delete mode 100644 app/src/main/res/layout/download_location_item.xml delete mode 100644 app/src/main/res/layout/gallery_dialog.xml delete mode 100644 app/src/main/res/layout/gallery_dialog_details.xml delete mode 100644 app/src/main/res/layout/gallery_dialog_dotindicator.xml delete mode 100644 app/src/main/res/layout/gallery_dialog_tags.xml delete mode 100644 app/src/main/res/layout/lock_activity.xml delete mode 100644 app/src/main/res/layout/main_activity.xml delete mode 100644 app/src/main/res/layout/main_activity_content.xml delete mode 100644 app/src/main/res/layout/mirrors_item.xml delete mode 100644 app/src/main/res/layout/nav_header_main.xml delete mode 100644 app/src/main/res/layout/pattern_lock_fragment.xml delete mode 100644 app/src/main/res/layout/pin_lock_fragment.xml delete mode 100644 app/src/main/res/layout/progress_card_view.xml delete mode 100644 app/src/main/res/layout/proxy_dialog.xml delete mode 100644 app/src/main/res/layout/reader_eye_card.xml delete mode 100644 app/src/main/res/layout/settings_activity.xml delete mode 100644 app/src/main/res/layout/source_select_dialog_item.xml delete mode 100644 app/src/main/res/layout/suggestion_count.xml delete mode 100644 app/src/main/res/layout/swipe_pageturn_view.xml delete mode 100644 app/src/main/res/menu/activity_main_drawer.xml delete mode 100644 app/src/main/res/menu/main.xml delete mode 100644 app/src/main/res/menu/reader.xml delete mode 100644 app/src/main/res/xml/download_preferences.xml delete mode 100644 app/src/main/res/xml/history_preferences.xml delete mode 100644 app/src/main/res/xml/imhentai_preferences.xml delete mode 100644 app/src/main/res/xml/lock_preferences.xml delete mode 100644 app/src/main/res/xml/manage_favorites_preferences.xml delete mode 100644 app/src/main/res/xml/manage_storage_preferences.xml delete mode 100644 app/src/main/res/xml/root_preferences.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 16390d4e..94226a6e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -32,8 +32,13 @@ + + + + + diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c70e60b6..b4fc8664 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -43,8 +43,6 @@ android { } } buildFeatures { - viewBinding = true - dataBinding = true compose = true } composeOptions { @@ -91,11 +89,11 @@ dependencies { implementation("com.google.accompanist:accompanist-drawablepainter:0.20.3") implementation("com.google.accompanist:accompanist-systemuicontroller:0.20.3") - implementation("io.coil-kt:coil-compose:1.3.2") + implementation("io.coil-kt:coil-compose:1.4.0") - implementation("io.ktor:ktor-client-core:1.6.5") - implementation("io.ktor:ktor-client-okhttp:1.6.5") - implementation("io.ktor:ktor-client-serialization:1.6.5") + implementation("io.ktor:ktor-client-core:1.6.7") + implementation("io.ktor:ktor-client-okhttp:1.6.7") + implementation("io.ktor:ktor-client-serialization:1.6.7") implementation("androidx.appcompat:appcompat:1.4.0") implementation("androidx.activity:activity-ktx:1.4.0") @@ -115,10 +113,8 @@ dependencies { implementation("org.kodein.di:kodein-di-framework-compose:7.9.0") - implementation("com.daimajia.swipelayout:library:1.2.0@aar") - implementation("com.google.android.material:material:1.4.0") - + 0 implementation(platform("com.google.firebase:firebase-bom:28.3.0")) implementation("com.google.firebase:firebase-analytics-ktx") implementation("com.google.firebase:firebase-crashlytics") @@ -126,26 +122,16 @@ dependencies { implementation("com.google.android.gms:play-services-oss-licenses:17.0.0") - implementation("com.github.clans:fab:1.6.4") - - //implementation("com.quiph.ui:recyclerviewfastscroller:0.2.1") - implementation("org.jsoup:jsoup:1.14.3") - implementation("com.tbuonomo:dotsindicator:4.2") - - //implementation("com.andrognito.patternlockview:patternlockview:1.0.0") - //implementation("com.andrognito.pinlockview:pinlockview:2.1.0") - implementation("ru.noties.markwon:core:3.1.0") implementation("xyz.quaver:libpupil:2.1.11") implementation("xyz.quaver:documentfilex:0.7.1") - implementation("xyz.quaver:floatingsearchview:1.1.7") - implementation("xyz.quaver:subsampledimage:0.0.1-alpha09-SNAPSHOT") + implementation("xyz.quaver:subsampledimage:0.0.1-alpha10-SNAPSHOT") implementation("org.kodein.log:kodein-log:0.11.1") - //debugImplementation("com.squareup.leakcanary:leakcanary-android:2.7") + debugImplementation("com.squareup.leakcanary:leakcanary-android:2.7") testImplementation("junit:junit:4.13.2") testImplementation("org.mockito:mockito-inline:4.1.0") diff --git a/app/libs/patternlockview-release.aar b/app/libs/patternlockview-release.aar deleted file mode 100644 index 2599bd60bd9efd52520f7539e5767ae072aafd37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41875 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 diff --git a/app/libs/pinlockview-release.aar b/app/libs/pinlockview-release.aar deleted file mode 100644 index 646f97a4b542c0f71566dc1fb62decb9c541937e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40695 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 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 51fbc85e..c101d84a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,10 +26,6 @@ tools:replace="android:theme" tools:ignore="UnusedAttribute"> - - - - - - abstract suspend fun search(query: String, range: IntRange, sortMode: Int): Pair, Int> - abstract suspend fun suggestion(query: String): List abstract suspend fun images(itemID: String): List abstract suspend fun info(itemID: String): ItemInfo @@ -62,10 +54,6 @@ abstract class Source { open fun SearchResult(itemInfo: ItemInfo, onEvent: (SearchResultEvent) -> Unit = { }) { } open fun getHeadersBuilderForImage(itemID: String, url: String): HeadersBuilder.() -> Unit = { } - - open fun onSuggestionBind(binding: SearchSuggestionItemBinding, item: SearchSuggestion) { - binding.leftIcon.setImageResource(R.drawable.tag) - } } typealias SourceEntry = Pair diff --git a/app/src/main/java/xyz/quaver/pupil/sources/Downloads.kt b/app/src/main/java/xyz/quaver/pupil/sources/Downloads.kt index dbbf8c24..9180a3c3 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/Downloads.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/Downloads.kt @@ -26,7 +26,6 @@ import kotlinx.serialization.json.Json import org.kodein.di.DI import org.kodein.di.DIAware import org.kodein.di.instance -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion import xyz.quaver.io.FileX import xyz.quaver.io.util.getChild import xyz.quaver.pupil.R diff --git a/app/src/main/java/xyz/quaver/pupil/sources/History.kt b/app/src/main/java/xyz/quaver/pupil/sources/History.kt index 600c052a..c3c52b08 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/History.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/History.kt @@ -26,7 +26,6 @@ import kotlinx.coroutines.launch import org.kodein.di.DI import org.kodein.di.DIAware import org.kodein.di.direct -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion import xyz.quaver.pupil.util.database class History(override val di: DI) : Source(), DIAware { @@ -56,10 +55,6 @@ class History(override val di: DI) : Source(), DIAware { //return Pair(channel, histories.map.size) } - override suspend fun suggestion(query: String): List { - throw NotImplementedError("") - } - override suspend fun images(itemID: String): List { throw NotImplementedError("") } diff --git a/app/src/main/java/xyz/quaver/pupil/sources/Hitomi.kt b/app/src/main/java/xyz/quaver/pupil/sources/Hitomi.kt index ef4d75f0..3f8a7441 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/Hitomi.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/Hitomi.kt @@ -19,8 +19,6 @@ package xyz.quaver.pupil.sources import android.app.Application -import android.view.LayoutInflater -import android.widget.TextView import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -59,8 +57,6 @@ import org.kodein.di.android.closestDI import org.kodein.di.instance import org.kodein.log.LoggerFactory import org.kodein.log.newLogger -import xyz.quaver.floatingsearchview.databinding.SearchSuggestionItemBinding -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion import xyz.quaver.hitomi.* import xyz.quaver.pupil.R import xyz.quaver.pupil.db.AppDatabase @@ -124,21 +120,6 @@ class Hitomi(app: Application) : Source(), DIAware { private val bookmarkDao = database.bookmarkDao() - @Parcelize - data class TagSuggestion(val s: String, val t: Int, val u: String, val n: String) : SearchSuggestion { - constructor(s: Suggestion) : this(s.s, s.t, s.u, s.n) - - @IgnoredOnParcel - override val body = s - /* - TODO - if (translations[s] != null) - "${translations[s]} ($s)" - else - s - */ - } - override val name: String = "hitomi.la" override val iconResID: Int = R.drawable.hitomi override val preferenceID: Int = R.xml.hitomi_preferences @@ -178,12 +159,6 @@ class Hitomi(app: Application) : Source(), DIAware { channel to cache.size } - override suspend fun suggestion(query: String) : List { - return getSuggestionsForQuery(query.takeLastWhile { !it.isWhitespace() }).map { - TagSuggestion(it) - } - } - override suspend fun images(itemID: String): List { val galleryID = itemID.toInt() @@ -229,40 +204,6 @@ class Hitomi(app: Application) : Source(), DIAware { append("Referer", getReferer(itemID.toInt())) } - override fun onSuggestionBind(binding: SearchSuggestionItemBinding, item: SearchSuggestion) { - item as TagSuggestion - - binding.leftIcon.setImageResource( - when(item.n) { - "female" -> R.drawable.gender_female - "male" -> R.drawable.gender_male - "language" -> R.drawable.translate - "group" -> R.drawable.account_group - "character" -> R.drawable.account_star - "series" -> R.drawable.book_open - "artist" -> R.drawable.brush - else -> R.drawable.tag - } - ) - - if (item.t > 0) { - with (binding.root) { - val count = findViewById(R.id.count) - if (count == null) - addView( - LayoutInflater.from(context).inflate(R.layout.suggestion_count, binding.root, false) - .apply { - this as TextView - - text = item.t.toString() - }, 2 - ) - else - count.text = item.t.toString() - } - } - } - companion object { val languageMap = mapOf( "indonesian" to "Bahasa Indonesia", diff --git a/app/src/main/java/xyz/quaver/pupil/sources/Hiyobi_io.kt b/app/src/main/java/xyz/quaver/pupil/sources/Hiyobi_io.kt index 83b59797..0c9e616f 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/Hiyobi_io.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/Hiyobi_io.kt @@ -60,7 +60,6 @@ import org.kodein.di.android.closestDI import org.kodein.di.instance import org.kodein.log.LoggerFactory import org.kodein.log.newLogger -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion import xyz.quaver.pupil.R import xyz.quaver.pupil.db.AppDatabase import xyz.quaver.pupil.db.Bookmark @@ -207,10 +206,6 @@ class Hiyobi_io(app: Application): Source(), DIAware { channel to totalCount(tags) } - override suspend fun suggestion(query: String): List { - return emptyList() - } - override suspend fun images(itemID: String): List = withContext(Dispatchers.IO) { val query = "{getManga(mangaId:$itemID){urls}}" diff --git a/app/src/main/java/xyz/quaver/pupil/types/Suggestions.kt b/app/src/main/java/xyz/quaver/pupil/types/Suggestions.kt deleted file mode 100644 index 4b902410..00000000 --- a/app/src/main/java/xyz/quaver/pupil/types/Suggestions.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2019 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.types - -import kotlinx.parcelize.Parcelize -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion - -@Parcelize -class HistorySuggestion(override val body: String) : SearchSuggestion - -@Parcelize -class NoResultSuggestion(override val body: String) : SearchSuggestion - -@Parcelize -class LoadingSuggestion(override val body: String) : SearchSuggestion - -@Parcelize -@Suppress("PARCELABLE_PRIMARY_CONSTRUCTOR_IS_EMPTY") -class FavoriteHistorySwitch(override val body: String) : SearchSuggestion \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt index b2b09f77..06d42f43 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt @@ -65,7 +65,7 @@ import xyz.quaver.pupil.ui.composable.MultipleFloatingActionButton import xyz.quaver.pupil.ui.composable.SubFabItem import xyz.quaver.pupil.ui.dialog.SourceSelectDialog import xyz.quaver.pupil.ui.theme.PupilTheme -import xyz.quaver.pupil.ui.view.ProgressCardView +import xyz.quaver.pupil.ui.composable.ProgressCard import xyz.quaver.pupil.ui.viewmodel.MainViewModel import xyz.quaver.pupil.util.* import kotlin.math.* @@ -175,7 +175,7 @@ class MainActivity : ComponentActivity(), DIAware { contentPadding = PaddingValues(0.dp, 56.dp, 0.dp, 0.dp) ) { items(model.searchResults, key = { it.itemID }) { itemInfo -> - ProgressCardView( + ProgressCard( progress = 0.5f ) { model.source.SearchResult(itemInfo = itemInfo) { event -> diff --git a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt index 56ce631d..b49f8c41 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt @@ -198,12 +198,13 @@ class ReaderActivity : ComponentActivity(), DIAware { Text((i + 1).toString()) } } - else + else { SubSampledImage( modifier = Modifier.fillMaxSize(), imageSource = imageSource, state = states[i] ) + } } } } diff --git a/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt deleted file mode 100644 index 90b0f0e5..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2019 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui - -import android.os.Bundle -import android.view.MenuItem -import androidx.appcompat.app.AppCompatActivity -import xyz.quaver.pupil.R -import xyz.quaver.pupil.ui.fragment.SettingsFragment -import xyz.quaver.pupil.ui.fragment.SourceSettingsFragment - -class SettingsActivity : AppCompatActivity() { - - companion object { - const val SETTINGS_EXTRA = "xyz.quaver.pupil.ui.SettingsActivity.SETTINGS_EXTRA" - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.settings_activity) - - val fragment = intent.getStringExtra(SETTINGS_EXTRA)?.run { - SourceSettingsFragment(this) - } ?: SettingsFragment() - - supportFragmentManager - .beginTransaction() - .replace(R.id.settings, fragment) - .commit() - - supportActionBar?.setDisplayHomeAsUpEnabled(true) - } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - android.R.id.home -> onBackPressed() - } - - return true - } -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/view/ProgressCardView.kt b/app/src/main/java/xyz/quaver/pupil/ui/composable/ProgressCard.kt similarity index 61% rename from app/src/main/java/xyz/quaver/pupil/ui/view/ProgressCardView.kt rename to app/src/main/java/xyz/quaver/pupil/ui/composable/ProgressCard.kt index 4c3527a6..474215e8 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/view/ProgressCardView.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/composable/ProgressCard.kt @@ -1,16 +1,19 @@ -package xyz.quaver.pupil.ui.view +package xyz.quaver.pupil.ui.composable import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.* +import androidx.compose.material.Card +import androidx.compose.material.LinearProgressIndicator import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp @OptIn(ExperimentalFoundationApi::class) @Composable -fun ProgressCardView(progress: Float? = null, content: @Composable () -> Unit) { +fun ProgressCard(progress: Float? = null, content: @Composable () -> Unit) { Card( modifier = Modifier.padding(8.dp), shape = RoundedCornerShape(4.dp), diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialogFragment.kt deleted file mode 100644 index bc389958..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialogFragment.kt +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.dialog - -import android.app.Dialog -import android.os.Bundle -import android.text.Editable -import android.text.TextWatcher -import android.widget.ArrayAdapter -import androidx.appcompat.app.AlertDialog -import androidx.fragment.app.DialogFragment -import xyz.quaver.pupil.R -import xyz.quaver.pupil.databinding.DefaultQueryDialogBinding -import xyz.quaver.pupil.sources.Hitomi -import xyz.quaver.pupil.types.Tags -import xyz.quaver.pupil.util.Preferences - -class DefaultQueryDialogFragment : DialogFragment() { - // TODO languageMap - private val languages = Hitomi.languageMap - private val reverseLanguages = languages.entries.associate { (k, v) -> v to k } - - private val excludeBL = "-male:yaoi" - private val excludeGuro = listOf("-female:guro", "-male:guro") - private val excludeLoli = listOf("-female:loli", "-male:shota") - - var onPositiveButtonClickListener : ((Tags) -> (Unit))? = null - - private var _binding: DefaultQueryDialogBinding? = null - private val binding get() = _binding!! - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - _binding = DefaultQueryDialogBinding.inflate(layoutInflater) - - initView() - - return AlertDialog.Builder(requireContext()) - .setTitle(R.string.default_query_dialog_title) - .setView(binding.root) - .setPositiveButton(android.R.string.ok) { _, _ -> - val newTags = Tags.parse(binding.edittext.text.toString()) - - with (binding.languageSelector) { - if (selectedItemPosition != 0) - newTags.add("language:${reverseLanguages[selectedItem]}") - } - - if (binding.BLCheckbox.isChecked) - newTags.add(excludeBL) - - if (binding.guroCheckbox.isChecked) - excludeGuro.forEach { tag -> - newTags.add(tag) - } - - if (binding.loliCheckbox.isChecked) - excludeLoli.forEach { tag -> - newTags.add(tag) - } - - onPositiveButtonClickListener?.invoke(newTags) - }.create() - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } - - private fun initView() { - val tags = Tags.parse( - Preferences["hitomi.default_query"] - ) - - with (binding.languageSelector) { - adapter = - ArrayAdapter( - context, - android.R.layout.simple_spinner_dropdown_item, - arrayListOf( - context.getString(R.string.default_query_dialog_language_selector_none) - ).apply { - addAll(languages.values) - } - ) - if (tags.any { it.area == "language" && !it.isNegative }) { - val tag = languages[tags.first { it.area == "language" }.tag] - if (tag != null) { - setSelection( - @Suppress("UNCHECKED_CAST") - (adapter as ArrayAdapter).getPosition(tag) - ) - tags.removeByArea("language", false) - } - } - } - - with (binding.BLCheckbox) { - isChecked = tags.contains(excludeBL) - if (tags.contains(excludeBL)) - tags.remove(excludeBL) - } - - with (binding.guroCheckbox) { - isChecked = excludeGuro.all { tags.contains(it) } - if (excludeGuro.all { tags.contains(it) }) - excludeGuro.forEach { - tags.remove(it) - } - } - - with (binding.loliCheckbox) { - isChecked = excludeLoli.all { tags.contains(it) } - if (excludeLoli.all { tags.contains(it) }) - excludeLoli.forEach { - tags.remove(it) - } - } - - with (binding.edittext) { - setText(tags.toString(), android.widget.TextView.BufferType.EDITABLE) - addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged( - s: CharSequence?, - start: Int, - count: Int, - after: Int - ) { - } - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - - override fun afterTextChanged(s: Editable?) { - s ?: return - - if (s.any { it.isUpperCase() }) - s.replace( - 0, - s.length, - s.toString().lowercase() - ) - } - }) - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadFolderNameDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadFolderNameDialogFragment.kt deleted file mode 100644 index 7e60834e..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadFolderNameDialogFragment.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.dialog - -import android.app.Dialog -import android.os.Bundle -import android.view.ViewGroup -import androidx.fragment.app.DialogFragment -import com.google.android.material.snackbar.Snackbar -import xyz.quaver.pupil.R -import xyz.quaver.pupil.databinding.DownloadFolderNameDialogBinding -import xyz.quaver.pupil.util.Preferences - -class DownloadFolderNameDialogFragment : DialogFragment() { - - private var _binding: DownloadFolderNameDialogBinding? = null - private val binding get() = _binding!! - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - _binding = DownloadFolderNameDialogBinding.inflate(layoutInflater) - - initView() - - return Dialog(requireContext()).apply { - setContentView(binding.root) - window?.attributes?.width = ViewGroup.LayoutParams.MATCH_PARENT - } - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } - - private fun initView() { - binding.okButton.setOnClickListener { - val newValue = binding.edittext.text.toString() - - if ((newValue as? String)?.contains("/") != false) { - Snackbar.make(binding.root, R.string.settings_invalid_download_folder_name, Snackbar.LENGTH_SHORT).show() - return@setOnClickListener - } - - Preferences["download_folder_name"] = binding.edittext.text.toString() - - dismiss() - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt deleted file mode 100644 index c666e7d9..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.dialog - -import android.app.Activity -import android.app.Dialog -import android.content.Intent -import android.os.Bundle -import androidx.activity.result.contract.ActivityResultContracts -import androidx.appcompat.app.AlertDialog -import androidx.core.content.ContextCompat -import androidx.core.net.toUri -import androidx.fragment.app.DialogFragment -import com.google.android.material.snackbar.Snackbar -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.instance -import xyz.quaver.io.FileX -import xyz.quaver.io.util.toFile -import xyz.quaver.pupil.R -import xyz.quaver.pupil.databinding.DownloadLocationDialogBinding -import xyz.quaver.pupil.databinding.DownloadLocationItemBinding -import xyz.quaver.pupil.util.DownloadManager -import xyz.quaver.pupil.util.Preferences -import xyz.quaver.pupil.util.byteToString -import java.io.File - -class DownloadLocationDialogFragment : DialogFragment(), DIAware { - - override val di by closestDI() - - private val downloadManager: DownloadManager by instance() - - private var _binding: DownloadLocationDialogBinding? = null - private val binding get() = _binding!! - - private val entries = mutableMapOf() - - private val requestDownloadFolderLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) { - val context = context ?: return@registerForActivityResult - val dialog = dialog ?: return@registerForActivityResult - - it.data?.data?.let { uri -> - val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - - context.contentResolver.takePersistableUriPermission(uri, takeFlags) - - if (kotlin.runCatching { FileX(context, uri).canWrite() }.getOrDefault(false)) { - entries[null]?.locationAvailable?.text = uri.toFile(context)?.canonicalPath - Preferences["download_folder"] = uri.toString() - } else { - Snackbar.make( - dialog.window!!.decorView.rootView, - R.string.settings_download_folder_not_writable, - Snackbar.LENGTH_LONG - ).show() - - val downloadFolder = downloadManager.downloadFolder.canonicalPath - val key = entries.keys.firstOrNull { it?.canonicalPath == downloadFolder } - entries[key]!!.button.isChecked = true - if (key == null) entries[key]!!.locationAvailable.text = downloadFolder - } - } - } else { - val downloadFolder = downloadManager.downloadFolder.canonicalPath - val key = entries.keys.firstOrNull { it?.canonicalPath == downloadFolder } - if (key == null) - entries[key]!!.locationAvailable.text = downloadFolder - else { - entries[null]!!.button.isChecked = false - entries[key]!!.button.isChecked = true - } - } - } - - private fun initView() { - val externalFilesDirs = ContextCompat.getExternalFilesDirs(requireContext(), null) - - externalFilesDirs.forEachIndexed { index, dir -> - dir ?: return@forEachIndexed - - DownloadLocationItemBinding.inflate(layoutInflater, binding.root, true).apply { - locationType.text = requireContext().getString(when (index) { - 0 -> R.string.settings_download_folder_internal - else -> R.string.settings_download_folder_removable - }) - locationAvailable.text = requireContext().getString( - R.string.settings_download_folder_available, - byteToString(dir.freeSpace) - ) - root.setOnClickListener { - entries.values.forEach { entry -> - entry.button.isChecked = false - } - button.performClick() - Preferences["download_folder"] = dir.toUri().toString() - } - entries[dir] = this - } - } - - DownloadLocationItemBinding.inflate(layoutInflater, binding.root, true).apply { - locationType.text = requireContext().getString(R.string.settings_download_folder_custom) - root.setOnClickListener { - entries.values.forEach { entry -> - entry.button.isChecked = false - } - button.performClick() - - val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).apply { - addFlags( - Intent.FLAG_GRANT_READ_URI_PERMISSION - or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - or Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION - ) - putExtra("android.content.extra.SHOW_ADVANCED", true) - } - - requestDownloadFolderLauncher.launch(intent) - } - entries[null] = this - } - - val downloadFolder = downloadManager.downloadFolder.canonicalPath - val key = entries.keys.firstOrNull { it?.canonicalPath == downloadFolder } - entries[key]!!.button.isChecked = true - if (key == null) entries[key]!!.locationAvailable.text = downloadFolder - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - _binding = DownloadLocationDialogBinding.inflate(layoutInflater) - - initView() - - return AlertDialog.Builder(requireContext()).apply { - setTitle(R.string.settings_download_folder) - setView(binding.root) - setPositiveButton(requireContext().getText(android.R.string.ok)) { _, _ -> - if (Preferences["download_folder", ""].isEmpty()) - Preferences["download_folder"] = context.getExternalFilesDir(null)?.toUri()?.toString() ?: "" - } - - isCancelable = false - }.create() - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/GalleryDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/GalleryDialogFragment.kt deleted file mode 100644 index c900c1ec..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/GalleryDialogFragment.kt +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.dialog - -import androidx.fragment.app.DialogFragment -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI - -class GalleryDialogFragment(private val source: String, private val itemID: String) : DialogFragment(), DIAware { - - override val di by closestDI() -/* - private val favoriteTags: SavedSourceSet by instance(tag = "favoriteTags") - - val onChipClickedHandler = ArrayList<((Tag) -> (Unit))>() - - private var _binding: GalleryDialogBinding? = null - private val binding get() = _binding!! - - private val viewModel: GalleryDialogViewModel by viewModels() - - private val controllerListener = object: BaseControllerListener() { - override fun onIntermediateImageSet(id: String?, imageInfo: ImageInfo?) { - imageInfo?.let { - binding.cover.aspectRatio = it.width / it.height.toFloat() - } - } - - override fun onFinalImageSet(id: String?, imageInfo: ImageInfo?, animatable: Animatable?) { - imageInfo?.let { - binding.cover.aspectRatio = it.width / it.height.toFloat() - } - } - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - _binding = GalleryDialogBinding.inflate(layoutInflater) - - with (binding.fab) { - setImageDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.arrow_right)) - setOnClickListener { - context?.startActivity(Intent(requireContext(), ReaderActivity::class.java).apply { - putExtra("source", source) - putExtra("id", itemID) - }) - } - } - - val lilMutex = Mutex(true) - viewModel.info.observe(this) { - binding.progressbar.visibility = View.GONE - binding.title.text = it.title - binding.artist.text = it.artists - - binding.cover.controller = Fresco.newDraweeControllerBuilder() - .setUri(it.thumbnail) - .setControllerListener(controllerListener) - .setOldController(binding.cover.controller) - .build() - - MainScope().launch { - binding.type.text = it.extra[ItemInfo.ExtraType.TYPE]?.wordCapitalize() - addDetails(it) - addPreviews(it) - - lilMutex.unlock() - } - } - - viewModel.related.observe(this) { - if (it != null) { - MainScope().launch { - lilMutex.withLock { - addRelated(it) - } - } - } - } - - viewModel.load(source, itemID) - - return AlertDialog.Builder(requireContext()) - .setView(binding.root) - .create() - } - - private suspend fun addDetails(info: ItemInfo) { - GalleryDialogDetailsBinding.inflate(layoutInflater, binding.contents, true).apply { - type.setText(R.string.gallery_details) - - listOf( - R.string.gallery_artists, - R.string.gallery_groups, - R.string.gallery_language, - R.string.gallery_series, - R.string.gallery_characters, - R.string.gallery_tags - ).zip( - listOf( - info.artists.split(", ").map { Tag("artist", it) }, - info.extra[ItemInfo.ExtraType.GROUP]?.split(", ")?.filterNot { it.isEmpty() }?.map { Tag("group", it) }, - info.extra[ItemInfo.ExtraType.LANGUAGE]?.split(", ")?.filterNot { it.isEmpty() }?.map { Tag("language", it) }, - info.extra[ItemInfo.ExtraType.SERIES]?.split(", ")?.filterNot { it.isEmpty() }?.map { Tag("series", it) }, - info.extra[ItemInfo.ExtraType.CHARACTER]?.split(", ")?.filterNot { it.isEmpty() }?.map { Tag("character", it) }, - info.extra[ItemInfo.ExtraType.TAGS]?.split(", ")?.filterNot { it.isEmpty() }?.sortedBy { - val tag = Tag.parse(it) - - if (favoriteTags.map[source]?.contains(tag.toString()) == true) - -1 - else - when(Tag.parse(it).area) { - "female" -> 0 - "male" -> 1 - else -> 2 - } - }?.map { - Tag.parse(it).let { tag -> - when { - tag.area != null -> tag - else -> Tag("tag", it) - } - } - } - ) - ).filterNot { (_, content) -> - content.isNullOrEmpty() - }.forEach { (title, content) -> - GalleryDialogTagsBinding.inflate(layoutInflater, contents, true).apply { - type.setText(title) - - content!!.forEach { tag -> - tags.addView( - TagChip(requireContext(), source, tag).apply { - setOnClickListener { - onChipClickedHandler.forEach { handler -> - handler.invoke(tag) - } - } - } - ) - } - } - } - } - } - - private suspend fun addPreviews(info: ItemInfo) { - val previews = info.extra[ItemInfo.ExtraType.PREVIEW]?.split(", ") ?: return - - GalleryDialogDetailsBinding.inflate(layoutInflater, binding.contents, true).apply { - type.setText(R.string.gallery_thumbnails) - - val pager = ViewPager2(requireContext()).apply { - adapter = ThumbnailPageAdapter(previews) - layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) - } - - contents.addView(pager) - - // TODO: Change to direct allocation - GalleryDialogDotindicatorBinding.inflate(layoutInflater, contents, true).apply { - dotindicator.setViewPager2(pager) - } - } - } - - private fun addRelated(relatedItems: List) { - val adapter = SearchResultsAdapter(MutableLiveData(relatedItems)).apply { - onChipClickedHandler = { tag -> - this@GalleryDialogFragment.onChipClickedHandler.forEach { handler -> - handler.invoke(tag) - } - } - } - - GalleryDialogDetailsBinding.inflate(layoutInflater, binding.contents, true).apply { - type.setText(R.string.gallery_related) - - contents.addView(RecyclerView(requireContext()).apply { - layoutManager = LinearLayoutManager(context) - this.adapter = adapter - - ItemClickSupport.addTo(this).apply { - onItemClickListener = { _, position, _ -> - requireContext().startActivity(Intent(requireContext(), ReaderActivity::class.java).apply { - putExtra("source", source) - putExtra("id", relatedItems[position].id) - }) - } - onItemLongClickListener = { _, position, _ -> - GalleryDialogFragment(source, relatedItems[position].id).apply { - onChipClickedHandler.add { tag -> - this@GalleryDialogFragment.onChipClickedHandler.forEach { it.invoke(tag) } - } - }.show(parentFragmentManager, "") - - true - } - } - }) - } - } - - override fun onDestroyView() { - binding.contents.forEach { if (it is RecyclerView) ItemClickSupport.removeFrom(it) } - super.onDestroyView() - } -*/ -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt deleted file mode 100644 index 1036e9f8..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.dialog - -import android.app.Dialog -import android.os.Bundle -import android.view.View -import android.widget.AdapterView -import android.widget.ArrayAdapter -import androidx.appcompat.app.AlertDialog -import androidx.fragment.app.DialogFragment -import kotlinx.serialization.encodeToString -import kotlinx.serialization.json.Json -import org.kodein.di.DI -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.instance -import xyz.quaver.pupil.R -import xyz.quaver.pupil.databinding.ProxyDialogBinding -import xyz.quaver.pupil.util.Preferences -import xyz.quaver.pupil.util.ProxyInfo -import xyz.quaver.pupil.util.getProxyInfo -import java.net.Proxy - -class ProxyDialogFragment : DialogFragment(), DIAware { - - override val di: DI by closestDI() - - private var _binding: ProxyDialogBinding? = null - private val binding get() = _binding!! - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - _binding = ProxyDialogBinding.inflate(layoutInflater) - - initView() - - return AlertDialog.Builder(requireContext()).apply { - setView(binding.root) - }.create() - } - - private fun initView() { - val proxyInfo = getProxyInfo() - - val enabler = { enable: Boolean -> - binding.addr.isEnabled = enable - binding.port.isEnabled = enable - binding.username.isEnabled = enable - binding.password.isEnabled = enable - - if (!enable) { - binding.addr.text = null - binding.port.text = null - binding.username.text = null - binding.password.text = null - } - } - - with(binding.typeSelector) { - adapter = ArrayAdapter( - context, - android.R.layout.simple_spinner_dropdown_item, - context.resources.getStringArray(R.array.proxy_type) - ) - - setSelection(proxyInfo.type.ordinal) - - onItemSelectedListener = object: AdapterView.OnItemSelectedListener { - override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { - enabler.invoke(position != 0) - } - - override fun onNothingSelected(parent: AdapterView<*>?) {} - } - } - - binding.addr.setText(proxyInfo.host) - binding.port.setText(proxyInfo.port?.toString()) - binding.username.setText(proxyInfo.username) - binding.password.setText(proxyInfo.password) - - enabler.invoke(proxyInfo.type != Proxy.Type.DIRECT) - - binding.cancelButton.setOnClickListener { - dismiss() - } - - binding.okButton.setOnClickListener { - val type = Proxy.Type.values()[binding.typeSelector.selectedItemPosition] - val addr = binding.addr.text?.toString() - val port = binding.port.text?.toString()?.toIntOrNull() - val username = binding.username.text?.toString() - val password = binding.password.text?.toString() - - if (type != Proxy.Type.DIRECT) { - if (addr == null || addr.isEmpty()) - binding.addr.error = requireContext().getText(R.string.proxy_dialog_error) - if (port == null) - binding.port.error = requireContext().getText(R.string.proxy_dialog_error) - - if (addr == null || addr.isEmpty() || port == null) - return@setOnClickListener - } - - ProxyInfo(type, addr, port, username, password).let { - Preferences["proxy"] = Json.encodeToString(it) - // TODO - } - - dismiss() - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt deleted file mode 100644 index caec1c14..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageFavoritesFragment.kt +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.content.Intent -import android.os.Bundle -import android.webkit.URLUtil -import android.widget.EditText -import android.widget.TextView -import androidx.appcompat.app.AlertDialog -import androidx.core.content.ContextCompat -import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat -import androidx.swiperefreshlayout.widget.CircularProgressDrawable -import com.google.android.material.snackbar.Snackbar -import io.ktor.client.* -import io.ktor.client.call.* -import io.ktor.client.request.* -import io.ktor.client.request.forms.* -import io.ktor.client.statement.* -import io.ktor.http.* -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.MainScope -import kotlinx.coroutines.launch -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.direct -import org.kodein.di.instance -import xyz.quaver.pupil.Pupil -import xyz.quaver.pupil.R -import java.io.IOException -/* -class ManageFavoritesFragment : PreferenceFragmentCompat(), DIAware { - - private lateinit var progressDrawable: CircularProgressDrawable - - override val di by closestDI() - - private val applicationContext: Pupil by instance() - private val client: HttpClient by instance() - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - setPreferencesFromResource(R.xml.manage_favorites_preferences, rootKey) - - val context = requireContext() - - val iconSize = context.resources.getDimensionPixelSize(R.dimen.settings_progressbar_icon_size) - progressDrawable = object: CircularProgressDrawable(context) { - override fun getIntrinsicHeight() = iconSize - override fun getIntrinsicWidth() = iconSize - }.apply { - setStyle(CircularProgressDrawable.DEFAULT) - setColorSchemeColors(ContextCompat.getColor(context, R.color.colorAccent)) - } - - initPreferences() - } - - private fun initPreferences() { - findPreference("backup")?.setOnPreferenceClickListener { preference -> - - MainScope().launch { - preference.icon = progressDrawable - progressDrawable.start() - } - - CoroutineScope(Dispatchers.IO).launch { - kotlin.runCatching { - requireContext().openFileInput("favorites.json").use { favorites -> - val httpResponse: HttpResponse = client.submitForm( - url = "http://ix.io/", - formParameters = Parameters.build { - append("F:1", favorites.bufferedReader().readText()) - } - ) - - if (httpResponse.status.value != 200) throw IOException("Response code ${httpResponse.status.value}") - - Intent(Intent.ACTION_SEND).apply { - type = "text/plain" - putExtra(Intent.EXTRA_TEXT, httpResponse.receive().replace("\n", "")) - }.let { - applicationContext.startActivity(Intent.createChooser(it, getString(R.string.settings_backup_share))) - } - } - }.onSuccess { - MainScope().launch { - progressDrawable.stop() - preference.icon = null - } - }.onFailure { - view?.let { - Snackbar.make(it, R.string.settings_backup_failed, Snackbar.LENGTH_LONG).show() - } - } - } - - true - } - findPreference("restore")?.setOnPreferenceClickListener { - val editText = EditText(context).apply { - setText(context.getString(R.string.backup_url), TextView.BufferType.EDITABLE) - } - - AlertDialog.Builder(requireContext()) - .setTitle(R.string.settings_restore_title) - .setView(editText) - .setPositiveButton(android.R.string.ok) { _, _ -> - CoroutineScope(Dispatchers.IO).launch { - kotlin.runCatching { - val url = editText.text.toString() - - if (!URLUtil.isValidUrl(url)) throw IllegalArgumentException() - - client.get>(url).also { - direct.instance(tag = "favorites.json").addAll(mapOf("hitomi.la" to it)) - } - }.onSuccess { - MainScope().launch { - view?.run { - Snackbar.make(this, context.getString(R.string.settings_restore_success, it.size), Snackbar.LENGTH_LONG).show() - } - } - }.onFailure { - MainScope().launch { - view?.run { - Snackbar.make(this, R.string.settings_restore_failed, Snackbar.LENGTH_LONG).show() - } - } - } - } - }.setNegativeButton(android.R.string.cancel) { _, _ -> - // Do Nothing - }.show() - - true - } - } - -}*/ \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt deleted file mode 100644 index 25445732..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/ManageStorageFragment.kt +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.os.Bundle -import androidx.appcompat.app.AlertDialog -import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat -import kotlinx.coroutines.* -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.instance -import xyz.quaver.io.FileX -import xyz.quaver.pupil.R -import xyz.quaver.pupil.util.* - -class ManageStorageFragment : PreferenceFragmentCompat(), DIAware, Preference.OnPreferenceClickListener { - - override val di by closestDI() - - private var job: Job? = null - - private val downloadManager: DownloadManager by instance() - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - setPreferencesFromResource(R.xml.manage_storage_preferences, rootKey) - - initPreferences() - } - - override fun onPreferenceClick(preference: Preference?): Boolean { - val context = context ?: return false - - with (preference) { - this ?: return false - - when (key) { - "delete_cache" -> {/* - AlertDialog.Builder(context).apply { - setTitle(R.string.warning) - setMessage(R.string.settings_clear_cache_alert_message) - setPositiveButton(android.R.string.ok) { _, _ -> - summary = context.getString(R.string.settings_storage_usage_loading) - - CoroutineScope(Dispatchers.IO).launch { - cache.clear() - - MainScope().launch { - summary = context.getString(R.string.settings_storage_usage, byteToString(cache.cacheFolder.size())) - } - } - } - setNegativeButton(android.R.string.cancel) { _, _ -> } - }.show()*/ - } - "delete_downloads" -> { - val dir = downloadManager.downloadFolder - - AlertDialog.Builder(context).apply { - setTitle(R.string.warning) - setMessage(R.string.settings_clear_downloads_alert_message) - setPositiveButton(android.R.string.ok) { _, _ -> - CoroutineScope(Dispatchers.IO).launch { - job?.cancel() - launch(Dispatchers.Main) { - summary = context.getString(R.string.settings_storage_usage_loading) - } - - if (dir.exists()) - dir.listFiles()?.forEach { - when (it) { - is FileX -> it.deleteRecursively() - else -> it.deleteRecursively() - } - } - - job = launch { - var size = 0L - - launch(Dispatchers.Main) { - summary = context.getString(R.string.settings_storage_usage, byteToString(size)) - } - dir.walk().forEach { - size += it.length() - - launch(Dispatchers.Main) { - summary = context.getString(R.string.settings_storage_usage, byteToString(size)) - } - } - } - } - } - setNegativeButton(android.R.string.cancel) { _, _ -> } - }.show() - } - /* - "clear_history" -> { - AlertDialog.Builder(context).apply { - setTitle(R.string.warning) - setMessage(R.string.settings_clear_history_alert_message) - setPositiveButton(android.R.string.ok) { _, _ -> - histories.clear() - summary = context.getString(R.string.settings_clear_history_summary, histories.map.values.sumOf { it.size }) - } - setNegativeButton(android.R.string.cancel) { _, _ -> } - }.show() - }*/ - else -> return false - } - } - - return true - } - - private fun initPreferences() { - val context = context ?: return - - with (findPreference("delete_cache")) {/* - this ?: return@with - summary = context.getString(R.string.settings_storage_usage, byteToString(cache.cacheFolder.size())) - - onPreferenceClickListener = this@ManageStorageFragment - */} - - with (findPreference("delete_downloads")) { - this ?: return@with - - val dir = downloadManager.downloadFolder - - summary = context.getString(R.string.settings_storage_usage, byteToString(0)) - job?.cancel() - job = CoroutineScope(Dispatchers.IO).launch { - var size = 0L - - dir.walk().forEach { - launch(Dispatchers.Main) { - summary = context.getString(R.string.settings_storage_usage, byteToString(size)) - } - - size += it.length() - } - } - - onPreferenceClickListener = this@ManageStorageFragment - } -/* - with (findPreference("clear_history")) { - this ?: return@with - - summary = context.getString(R.string.settings_clear_history_summary, histories.map.values.sumOf { it.size }) - - onPreferenceClickListener = this@ManageStorageFragment - }*/ - } - - override fun onDestroy() { - job?.cancel() - super.onDestroy() - } - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/PINLockFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/PINLockFragment.kt deleted file mode 100644 index 5a8d3a7f..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/PINLockFragment.kt +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.andrognito.pinlockview.PinLockListener -import xyz.quaver.pupil.databinding.PinLockFragmentBinding - -class PINLockFragment : Fragment() { - - private var _binding: PinLockFragmentBinding? = null - val binding get() = _binding!! - - var onPINEntered: ((String) -> Unit)? = null - - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - _binding = PinLockFragmentBinding.inflate(inflater, container, false) - - binding.pinLockView.attachIndicatorDots(binding.indicatorDots) - binding.pinLockView.setPinLockListener(object: PinLockListener { - override fun onComplete(p0: String?) { - onPINEntered?.invoke(p0 ?: "") - } - - override fun onEmpty() {} - override fun onPinChange(p0: Int, p1: String?) {} - }) - - return binding.root - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/PatternLockFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/PatternLockFragment.kt deleted file mode 100644 index 69d48f4a..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/PatternLockFragment.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2019 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.andrognito.patternlockview.PatternLockView -import com.andrognito.patternlockview.listener.PatternLockViewListener -import com.andrognito.patternlockview.utils.PatternLockUtils -import xyz.quaver.pupil.databinding.PatternLockFragmentBinding - -class PatternLockFragment : Fragment() { - - private var _binding: PatternLockFragmentBinding? = null - val binding get() = _binding!! - - var onPatternDrawn: ((String) -> Unit)? = null - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - _binding = PatternLockFragmentBinding.inflate(inflater, container, false) - binding.patternLockView.addPatternLockListener(object: PatternLockViewListener { - override fun onComplete(pattern: MutableList?) { - val password = PatternLockUtils.patternToMD5(binding.patternLockView, pattern) - onPatternDrawn?.invoke(password) - } - - override fun onCleared() {} - override fun onProgress(progressPattern: MutableList?) {} - override fun onStarted() {} - }) - return binding.root - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } - -} diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt deleted file mode 100644 index 78c9ed77..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.app.Activity -import android.content.* -import android.os.Bundle -import android.widget.Toast -import androidx.activity.result.contract.ActivityResultContracts -import androidx.appcompat.app.AppCompatDelegate -import androidx.preference.* -import com.google.android.gms.oss.licenses.OssLicensesMenuActivity -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.instance -import xyz.quaver.io.FileX -import xyz.quaver.io.util.getChild -import xyz.quaver.pupil.R -import xyz.quaver.pupil.ui.SettingsActivity -import xyz.quaver.pupil.ui.dialog.* -import xyz.quaver.pupil.util.* -import java.util.* - -class SettingsFragment : - PreferenceFragmentCompat(), - Preference.OnPreferenceClickListener, - Preference.OnPreferenceChangeListener, - SharedPreferences.OnSharedPreferenceChangeListener, - DIAware { - - override val di by closestDI() - - private val downloadManager: DownloadManager by instance() - - override fun onResume() { - super.onResume() - - val lockManager = LockManager(requireContext()) - - findPreference("app_lock")?.summary = if (lockManager.locks.isNullOrEmpty()) { - getString(R.string.settings_lock_none) - } else { - lockManager.locks?.joinToString(", ") { - when(it.type) { - Lock.Type.PATTERN -> getString(R.string.settings_lock_pattern) - Lock.Type.PIN -> getString(R.string.settings_lock_pin) - Lock.Type.PASSWORD -> getString(R.string.settings_lock_password) - } - } - } - } - - override fun onPreferenceClick(preference: Preference?): Boolean { - with (preference) { - this ?: return false - - when (key) { - "app_version" -> { - checkUpdate(activity as SettingsActivity, true) - } - "download_folder" -> { - DownloadLocationDialogFragment().show(parentFragmentManager, "Download Location Dialog") - } - "proxy" -> { - ProxyDialogFragment().show(parentFragmentManager, "Proxy Dialog") - } - "user_id" -> { - (context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip( - ClipData.newPlainText("user_id", Preferences.get("user_id")) - ) - Toast.makeText(context, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show() - } - else -> return false - } - } - - return true - } - - override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean { - with (preference) { - this ?: return false - - when (key) { - "nomedia" -> { - val create = (newValue as? Boolean) ?: return false - - return kotlin.runCatching { - val nomedia = downloadManager.downloadFolder.getChild(".nomedia") - - if (create) - nomedia.createNewFile() - else - nomedia.delete() - }.getOrDefault(false) - } - "dark_mode" -> { - AppCompatDelegate.setDefaultNightMode(when (newValue as Boolean) { - true -> AppCompatDelegate.MODE_NIGHT_YES - false -> AppCompatDelegate.MODE_NIGHT_NO - }) - } - else -> return false - } - } - - return true - } - - override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { - key ?: return - - with (findPreference(key)) { - this ?: return - - when (key) { - "proxy" -> { - summary = context?.let { getProxyInfo().type.name } - } - "download_folder" -> { - summary = FileX(context, Preferences.get("download_folder")).canonicalPath - } - "download_folder_name" -> { - summary = Preferences["download_folder_name", "[-id-] -title-"] - } - } - } - } - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - setPreferencesFromResource(R.xml.root_preferences, rootKey) - - Preferences.registerOnSharedPreferenceChangeListener(this) - - initPreferences() - } - - override fun onDestroy() { - Preferences.unregisterOnSharedPreferenceChangeListener(this) - super.onDestroy() - } - - private fun initPreferences() { - for (i in 0 until preferenceScreen.preferenceCount) { - - preferenceScreen.getPreference(i).run { - if (this is PreferenceCategory) - (0 until preferenceCount).map { getPreference(it) } - else - listOf(this) - }.forEach { preference -> - with (preference) with@{ - - when (key) { - "app_version" -> { - val manager = requireContext().packageManager - val info = manager.getPackageInfo(requireContext().packageName, 0) - summary = requireContext().getString(R.string.settings_app_version_description, info.versionName) - - onPreferenceClickListener = this@SettingsFragment - } - "download_folder_name" -> { - summary = Preferences["download_folder_name", "[-id-] -title-"] - - setOnPreferenceClickListener { - DownloadFolderNameDialogFragment().show(requireActivity().supportFragmentManager, "Download Location Dialog") - - true - } - } - "download_folder" -> { - summary = FileX(context, Preferences.get("download_folder")).canonicalPath - - onPreferenceClickListener = this@SettingsFragment - } - "nomedia" -> { - (this as SwitchPreferenceCompat).isChecked = kotlin.runCatching { - downloadManager.downloadFolder.getChild(".nomedia").exists() - }.getOrDefault(false) - - onPreferenceChangeListener = this@SettingsFragment - } - "app_lock" -> { - val lockManager = LockManager(requireContext()) - summary = - if (lockManager.locks.isNullOrEmpty()) { - getString(R.string.settings_lock_none) - } else { - lockManager.locks?.joinToString(", ") { - when (it.type) { - Lock.Type.PATTERN -> getString(R.string.settings_lock_pattern) - Lock.Type.PIN -> getString(R.string.settings_lock_pin) - Lock.Type.PASSWORD -> getString(R.string.settings_lock_password) - } - } - } - - onPreferenceClickListener = this@SettingsFragment - } - "proxy" -> { - summary = getProxyInfo().type.name - - onPreferenceClickListener = this@SettingsFragment - } - "dark_mode" -> { - onPreferenceChangeListener = this@SettingsFragment - } - "old_import_galleries" -> { - onPreferenceClickListener = this@SettingsFragment - } - "user_id" -> { - summary = Preferences.get("user_id") - onPreferenceClickListener = this@SettingsFragment - } - "oss" -> { - setOnPreferenceClickListener { - context?.startActivity(Intent(context, OssLicensesMenuActivity::class.java)) - true - } - } - } - - } - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SourceSettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SourceSettingsFragment.kt deleted file mode 100644 index 1f0ac7b5..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SourceSettingsFragment.kt +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2021 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.fragment - -import android.os.Bundle -import androidx.preference.ListPreference -import androidx.preference.Preference -import androidx.preference.PreferenceCategory -import androidx.preference.PreferenceFragmentCompat -import io.ktor.client.* -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import org.kodein.di.DIAware -import org.kodein.di.android.x.closestDI -import org.kodein.di.direct -import org.kodein.di.instance -import xyz.quaver.pupil.ui.dialog.DefaultQueryDialogFragment -import xyz.quaver.pupil.util.Preferences -import xyz.quaver.pupil.util.getAvailableLanguages -import xyz.quaver.pupil.util.updateTranslations -import java.util.* - -class SourceSettingsFragment(private val source: String) : - PreferenceFragmentCompat(), - Preference.OnPreferenceClickListener, - Preference.OnPreferenceChangeListener, - DIAware { - - override val di by closestDI() - - private val client: HttpClient by instance() - - override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { - /*setPreferencesFromResource(direct.instance().toMap()[source]!!, rootKey)*/ - - initPreferences() - } - - override fun onPreferenceClick(preference: Preference?): Boolean { - with (preference) { - this ?: return false - - when (key) { - "hitomi.default_query" -> { - DefaultQueryDialogFragment().apply { - onPositiveButtonClickListener = { newTags -> - Preferences["hitomi.default_query"] = newTags.toString() - summary = newTags.toString() - } - }.show(parentFragmentManager, "Default Query Dialog") - } - } - } - - return true - } - - override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean { - with (preference) { - this ?: return false - - when (key) { - "hitomi.tag_translation" -> { - updateTranslations(client) - } - else -> return false - } - } - - return true - } - - private fun initPreferences() { - for (i in 0 until preferenceScreen.preferenceCount) { - - preferenceScreen.getPreference(i).run { - if (this is PreferenceCategory) - (0 until preferenceCount).map { getPreference(it) } - else - listOf(this) - }.forEach { preference -> - with (preference) { - when (key) { - "hitomi.default_query" -> { - summary = Preferences.get(key) - - onPreferenceClickListener = this@SourceSettingsFragment - } - - "hitomi.tag_translation" -> { - this as ListPreference - - isEnabled = false - - CoroutineScope(Dispatchers.IO).launch { - kotlin.runCatching { - val languages = getAvailableLanguages(client).distinct().toTypedArray() - - entries = languages.map { Locale(it).let { loc -> loc.getDisplayLanguage(loc) } }.toTypedArray() - entryValues = languages - - launch(Dispatchers.Main) { - isEnabled = true - } - } - } - - onPreferenceChangeListener = this@SourceSettingsFragment - - } - } - } - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/view/FloatingSearchView.kt b/app/src/main/java/xyz/quaver/pupil/ui/view/FloatingSearchView.kt deleted file mode 100644 index 2125545d..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/view/FloatingSearchView.kt +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.view - -import android.content.Context -import android.graphics.PorterDuff -import android.graphics.PorterDuffColorFilter -import android.text.Editable -import android.text.TextWatcher -import android.util.AttributeSet -import android.view.inputmethod.EditorInfo -import androidx.core.content.ContextCompat -import androidx.core.content.res.ResourcesCompat -import androidx.swiperefreshlayout.widget.CircularProgressDrawable -import xyz.quaver.floatingsearchview.FloatingSearchView -import xyz.quaver.floatingsearchview.databinding.SearchSuggestionItemBinding -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion -import xyz.quaver.floatingsearchview.util.view.SearchInputView -import xyz.quaver.pupil.R -import xyz.quaver.pupil.sources.Hitomi -import xyz.quaver.pupil.types.FavoriteHistorySwitch -import xyz.quaver.pupil.types.HistorySuggestion -import xyz.quaver.pupil.types.LoadingSuggestion -import xyz.quaver.pupil.types.NoResultSuggestion - -class FloatingSearchView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : - xyz.quaver.floatingsearchview.FloatingSearchView(context, attrs), - FloatingSearchView.OnSearchListener, - TextWatcher -{ - private val searchInputView = findViewById(R.id.search_bar_text) - - var onHistoryDeleteClickedListener: ((String) -> Unit)? = null - var onFavoriteHistorySwitchClickListener: (() -> Unit)? = null - - var onSuggestionBinding: ((SearchSuggestionItemBinding, SearchSuggestion) -> Unit)? = null - - init { - searchInputView.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI or searchInputView.imeOptions - - searchInputView.addTextChangedListener(this) - onSearchListener = this - onBindSuggestionCallback = { binding, item, _ -> - onBindSuggestion(binding, item) - } - } - - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { - - } - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { - - } - - override fun afterTextChanged(s: Editable?) { - s ?: return - - if (s.any { it.isUpperCase() }) - s.replace(0, s.length, s.toString().lowercase()) - } - - override fun onSuggestionClicked(searchSuggestion: SearchSuggestion?) { - when (searchSuggestion) { - is Hitomi.TagSuggestion -> { - val tag = "${searchSuggestion.n}:${searchSuggestion.s.replace(Regex("\\s"), "_")}" - with (searchInputView.text!!) { - delete(if (lastIndexOf(' ') == -1) 0 else lastIndexOf(' ') + 1, length) - - if (!this.contains(tag)) - append("$tag ") - } - } - is HistorySuggestion -> { - with (searchInputView.text!!) { - clear() - append(searchSuggestion.body) - } - } - is FavoriteHistorySwitch -> onFavoriteHistorySwitchClickListener?.invoke() - } - } - - override fun onSearchAction(currentQuery: String?) {} - - private fun onBindSuggestion(binding: SearchSuggestionItemBinding, item: SearchSuggestion) { - when(item) { - is FavoriteHistorySwitch -> { - binding.leftIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.swap_horizontal, context.theme)) - } - is LoadingSuggestion -> { - binding.leftIcon.setImageDrawable(CircularProgressDrawable(context).also { - it.setStyle(CircularProgressDrawable.DEFAULT) - it.colorFilter = PorterDuffColorFilter(ContextCompat.getColor(context, R.color.colorAccent), PorterDuff.Mode.SRC_IN) - it.start() - }) - } - is NoResultSuggestion -> { - binding.leftIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.close, context.theme)) - } - else -> { - onSuggestionBinding?.invoke(binding, item) - } - } - } -} diff --git a/app/src/main/java/xyz/quaver/pupil/ui/view/SwipePageTurnView.java b/app/src/main/java/xyz/quaver/pupil/ui/view/SwipePageTurnView.java deleted file mode 100644 index da5065cf..00000000 --- a/app/src/main/java/xyz/quaver/pupil/ui/view/SwipePageTurnView.java +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.ui.view; - -import android.animation.ValueAnimator; -import android.content.Context; -import android.content.res.Configuration; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.Rect; -import android.os.Vibrator; -import android.util.AttributeSet; -import android.util.DisplayMetrics; -import android.view.Gravity; -import android.view.View; -import android.view.ViewGroup; -import android.view.animation.DecelerateInterpolator; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.content.res.AppCompatResources; -import androidx.core.content.ContextCompat; -import androidx.core.view.NestedScrollingChild; -import androidx.core.view.NestedScrollingChildHelper; -import androidx.core.view.NestedScrollingParent; -import androidx.core.view.NestedScrollingParentHelper; -import androidx.core.view.ViewCompat; -import androidx.core.widget.TextViewCompat; - -import xyz.quaver.pupil.R; - -@SuppressWarnings("NullableProblems") -public class SwipePageTurnView extends ViewGroup implements NestedScrollingChild, NestedScrollingParent { - - private static final int PAGE_TURN_LAYOUT_SIZE = 48; - private static final int PAGE_TURN_ANIM_DURATION = 500; - private static final int PREV_OFFSET = 64; - private static final int RIPPLE_GIVE = 4; - - private final float adjustedPageTurnLayoutSize; - private final float adjustedPrevOffset; - private final float adjustedRippleGive; - - final private NestedScrollingParentHelper mNestedScrollingParentHelper; - final private NestedScrollingChildHelper mNestedScrollingChildHelper; - - final private Vibrator mVibrator; - - private View mTarget; - - private TextView mPrev; - private TextView mNext; - - private final Paint mRipplePaint = new Paint(); - private final Rect mRippleBound = new Rect(); - - private int mRippleSize = 0; - private final int mRippleTargetSize; - private final ValueAnimator mRippleAnimator = new ValueAnimator(); - - private int mCurrentOverScroll = 0; - - private int mCurrentPage = 1; - private boolean mShowPrev; - private boolean mShowNext; - - private OnPageTurnListener mOnPageTurnListener; - - public SwipePageTurnView(@NonNull Context context) { - this(context, null); - } - - public SwipePageTurnView(@NonNull Context context, AttributeSet attr) { - this(context, attr, 0); - } - - public SwipePageTurnView(@NonNull Context context, AttributeSet attr, int defStyle) { - super(context, attr, defStyle); - - setWillNotDraw(false); - - DisplayMetrics metrics = getResources().getDisplayMetrics(); - - adjustedPageTurnLayoutSize = PAGE_TURN_LAYOUT_SIZE * metrics.density; - adjustedPrevOffset = PREV_OFFSET * metrics.density; - adjustedRippleGive = RIPPLE_GIVE * metrics.density; - - mRippleTargetSize = metrics.widthPixels; - - mNestedScrollingParentHelper = new NestedScrollingParentHelper(this); - mNestedScrollingChildHelper = new NestedScrollingChildHelper(this); - - mVibrator = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); - - mRippleAnimator.addUpdateListener(animation -> { - mRippleSize = (int) animation.getAnimatedValue(); - invalidate(); - }); - mRippleAnimator.setDuration(PAGE_TURN_ANIM_DURATION); - - initPageTurnView(); - } - - public void setCurrentPage(int currentPage, boolean showNext) { - mCurrentPage = currentPage; - - mShowPrev = currentPage > 1; - mShowNext = showNext; - - mPrev.setText(getContext().getString(R.string.main_move_to_page, mCurrentPage-1)); - mNext.setText(getContext().getString(R.string.main_move_to_page, mCurrentPage+1)); - } - - public void setOnPageTurnListener(OnPageTurnListener listener) { - mOnPageTurnListener = listener; - } - - private void initPageTurnView() { - TextView prev = new TextView(getContext()); - TextView next = new TextView(getContext()); - - prev.setGravity(Gravity.CENTER_VERTICAL); - next.setGravity(Gravity.CENTER_VERTICAL); - - prev.setCompoundDrawablesWithIntrinsicBounds(R.drawable.navigate_prev, 0, 0, 0); - next.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.navigate_next, 0); - - TextViewCompat.setCompoundDrawableTintList(prev, AppCompatResources.getColorStateList(getContext(), R.color.colorAccent)); - TextViewCompat.setCompoundDrawableTintList(next, AppCompatResources.getColorStateList(getContext(), R.color.colorAccent)); - - prev.setVisibility(View.INVISIBLE); - next.setVisibility(View.INVISIBLE); - - mPrev = prev; - mNext = next; - - addView(mPrev); - addView(mNext); - - setCurrentPage(1, false); - } - - private void ensureTarget() { - if (mTarget == null) { - for (int i = 0; i < getChildCount(); i++) { - View child = getChildAt(i); - - if (!child.equals(mNext) && !child.equals(mPrev)) { - mTarget = child; - break; - } - } - } - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - final int width = getMeasuredWidth(); - final int height = getMeasuredHeight(); - - if (getChildCount() == 0) - return; - if (mTarget == null) - ensureTarget(); - if (mTarget == null) - return; - - mTarget.layout( - getPaddingLeft(), - getPaddingTop(), - width - getPaddingRight(), - height - getPaddingBottom() - ); - - final int prevWidth = mPrev.getMeasuredWidth(); - mPrev.layout( - width / 2 - prevWidth / 2, - getPaddingTop() + (int) adjustedPrevOffset, - width / 2 + prevWidth / 2, - getPaddingTop() + (int) adjustedPrevOffset + mPrev.getMeasuredHeight() - ); - - final int nextWidth = mNext.getMeasuredWidth(); - mNext.layout( - width / 2 - nextWidth / 2, - height - getPaddingBottom() - mNext.getMeasuredHeight(), - width / 2 + nextWidth / 2, - height - getPaddingBottom() - ); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - if (mTarget == null) - ensureTarget(); - if (mTarget == null) - return; - - mTarget.measure( - MeasureSpec.makeMeasureSpec(getMeasuredWidth() - getPaddingLeft() - getPaddingRight(), MeasureSpec.EXACTLY), - MeasureSpec.makeMeasureSpec(getMeasuredHeight() - getPaddingTop() - getPaddingBottom(), MeasureSpec.EXACTLY) - ); - - mPrev.measure( - MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.AT_MOST), - MeasureSpec.makeMeasureSpec((int) adjustedPageTurnLayoutSize, MeasureSpec.EXACTLY) - ); - - mNext.measure( - MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.AT_MOST), - MeasureSpec.makeMeasureSpec((int) adjustedPageTurnLayoutSize, MeasureSpec.EXACTLY) - ); - } - - @Override - protected void onDraw(Canvas canvas) { - super.onDraw(canvas); - - if (mCurrentOverScroll == 0) - return; - - if (mCurrentOverScroll > 0) { - mRippleBound.set( - getPaddingLeft(), - (int) (getPaddingTop() - adjustedRippleGive), - getMeasuredWidth() - getPaddingRight(), - (int) (getPaddingTop() + adjustedPrevOffset + mPrev.getMeasuredHeight() + adjustedRippleGive) - ); - } - - if (mCurrentOverScroll < 0) { - final int height = getMeasuredHeight(); - mRippleBound.set( - getPaddingLeft(), - (int) (height - getPaddingBottom() - mNext.getMeasuredHeight() - adjustedRippleGive), - getMeasuredWidth() - getPaddingRight(), - height - getPaddingBottom() - ); - } - - mRipplePaint.reset(); - mRipplePaint.setStyle(Paint.Style.FILL); - - int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; - - switch (currentNightMode) { - case Configuration.UI_MODE_NIGHT_YES: - mRipplePaint.setColor(ContextCompat.getColor(getContext(), R.color.material_light_blue_700)); - break; - case Configuration.UI_MODE_NIGHT_NO: - mRipplePaint.setColor(ContextCompat.getColor(getContext(), R.color.material_light_blue_300)); - break; - } - - canvas.drawCircle( - (mRippleBound.left + mRippleBound.right) / 2F, - mCurrentOverScroll > 0 ? mRippleBound.bottom : mRippleBound.top, - mRippleSize, - mRipplePaint - ); - } - - private void onOverscroll(int overscroll) { - if (mTarget == null) - ensureTarget(); - if (mTarget == null) - return; - - mCurrentOverScroll = overscroll; - - if (overscroll > 0) { - mPrev.setVisibility(View.VISIBLE); - mNext.setVisibility(View.INVISIBLE); - } else if (overscroll < 0) { - mPrev.setVisibility(View.INVISIBLE); - mNext.setVisibility(View.VISIBLE); - } else { - mPrev.setVisibility(View.INVISIBLE); - mNext.setVisibility(View.INVISIBLE); - } - - if (Math.abs(overscroll) >= adjustedPageTurnLayoutSize) { - if (!mRippleAnimator.isStarted() && mRippleSize != mRippleTargetSize) { - mVibrator.vibrate(10); - - mRippleAnimator.setIntValues(mRippleSize, mRippleTargetSize); - mRippleAnimator.start(); - } - } else { - if (!mRippleAnimator.isStarted() && mRippleSize != 0) { - mRippleAnimator.setIntValues(mRippleSize, 0); - mRippleAnimator.start(); - } - } - - float clippedOverScrollTop = (overscroll > 0 ? 1 : -1) * Math.min(Math.abs(overscroll), adjustedPageTurnLayoutSize); - mTarget.setTranslationY(clippedOverScrollTop); - } - - private void onOverscrollEnd(int overscroll) { - if (mTarget == null) - ensureTarget(); - if (mTarget == null) - return; - - mRippleAnimator.cancel(); - mRippleAnimator.setIntValues(mRippleSize, 0); - mRippleAnimator.start(); - - mPrev.setVisibility(View.INVISIBLE); - mNext.setVisibility(View.INVISIBLE); - - ViewCompat.animate(mTarget) - .setDuration(PAGE_TURN_ANIM_DURATION) - .setInterpolator(new DecelerateInterpolator()) - .translationY(0); - - if (Math.abs(overscroll) > adjustedPageTurnLayoutSize && mOnPageTurnListener != null) { - if (overscroll > 0) - mOnPageTurnListener.onPrev(mCurrentPage-1); - if (overscroll < 0) - mOnPageTurnListener.onNext(mCurrentPage+1); - } - } - - // NestedScrollingParent - - private int mTotalUnconsumed = 0; - - @Override - public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) { - return isEnabled() && (nestedScrollAxes & ViewCompat.SCROLL_AXIS_VERTICAL) != 0; - } - - @Override - public void onNestedScrollAccepted(View child, View target, int axes) { - mNestedScrollingParentHelper.onNestedScrollAccepted(child, target, axes); - startNestedScroll(axes & ViewCompat.SCROLL_AXIS_VERTICAL); - - mTotalUnconsumed = 0; - } - - @Override - public void onNestedPreScroll(View target, int dx, int dy, int[] consumed) { - if (mTotalUnconsumed != 0 && dy > 0 == mTotalUnconsumed > 0) { - if (Math.abs(dy) > Math.abs(mTotalUnconsumed)) { - consumed[1] = dy - mTotalUnconsumed; - mTotalUnconsumed = 0; - } else { - mTotalUnconsumed -= dy; - consumed[1] = dy; - } - - onOverscroll(mTotalUnconsumed); - } - - final int[] parentConsumed = new int[2]; - if (dispatchNestedPreScroll(dx - consumed[0], dy - consumed[1], parentConsumed, null)) { - consumed[0] += parentConsumed[0]; - consumed[1] += parentConsumed[1]; - } - } - - @Override - public void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) { - final int[] mParentOffsetInWindow = new int[2]; - dispatchNestedScroll(dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, mParentOffsetInWindow); - - final int dy = dyUnconsumed + mParentOffsetInWindow[1]; - - if (mTotalUnconsumed == 0 && ((dy < 0 && !mShowPrev) || (dy > 0 && !mShowNext))) - return; - - if (dy != 0) { - mTotalUnconsumed -= dy; - onOverscroll(mTotalUnconsumed); - } - } - - @Override - public void onStopNestedScroll(View child) { - mNestedScrollingParentHelper.onStopNestedScroll(child); - - if (Math.abs(mTotalUnconsumed) > 0) { - onOverscrollEnd(mTotalUnconsumed); - mTotalUnconsumed = 0; - } - - stopNestedScroll(); - } - - @Override - public boolean onNestedPreFling(View target, float velocityX, float velocityY) { - return dispatchNestedPreFling(velocityX, velocityY); - } - - @Override - public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) { - return dispatchNestedFling(velocityX, velocityY, consumed); - } - - // NestedScrollingChild - - @Override - public void setNestedScrollingEnabled(boolean enabled) { - mNestedScrollingChildHelper.setNestedScrollingEnabled(enabled); - } - - @Override - public boolean isNestedScrollingEnabled() { - return mNestedScrollingChildHelper.isNestedScrollingEnabled(); - } - - @Override - public boolean startNestedScroll(int axes) { - return mNestedScrollingChildHelper.startNestedScroll(axes); - } - - @Override - public void stopNestedScroll() { - mNestedScrollingChildHelper.stopNestedScroll(); - } - - @Override - public boolean hasNestedScrollingParent() { - return mNestedScrollingChildHelper.hasNestedScrollingParent(); - } - - @Override - public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, @Nullable int[] offsetInWindow) { - return mNestedScrollingChildHelper.dispatchNestedScroll(dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, offsetInWindow); - } - - @Override - public boolean dispatchNestedPreScroll(int dx, int dy, @Nullable int[] consumed, @Nullable int[] offsetInWindow) { - return mNestedScrollingChildHelper.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow); - } - - @Override - public boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed) { - return mNestedScrollingChildHelper.dispatchNestedFling(velocityX, velocityY, consumed); - } - - @Override - public boolean dispatchNestedPreFling(float velocityX, float velocityY) { - return mNestedScrollingChildHelper.dispatchNestedPreFling(velocityX, velocityY); - } - - public interface OnPageTurnListener { - void onPrev(int page); - void onNext(int page); - } -} diff --git a/app/src/main/java/xyz/quaver/pupil/ui/viewmodel/MainViewModel.kt b/app/src/main/java/xyz/quaver/pupil/ui/viewmodel/MainViewModel.kt index c9781298..4ae94c60 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/viewmodel/MainViewModel.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/viewmodel/MainViewModel.kt @@ -29,7 +29,6 @@ import org.kodein.di.direct import org.kodein.di.instance import org.kodein.log.LoggerFactory import org.kodein.log.newLogger -import xyz.quaver.floatingsearchview.suggestions.model.SearchSuggestion import xyz.quaver.pupil.sources.* import xyz.quaver.pupil.util.Preferences import xyz.quaver.pupil.util.source @@ -58,7 +57,7 @@ class MainViewModel(app: Application) : AndroidViewModel(app), DIAware { direct.source(it) } private var sourceFactory: (String) -> Source = defaultSourceFactory - var source by mutableStateOf(sourceFactory("hiyobi.io")) + var source by mutableStateOf(sourceFactory("hitomi.la")) private set var sortModeIndex by mutableStateOf(0) @@ -74,9 +73,6 @@ class MainViewModel(app: Application) : AndroidViewModel(app), DIAware { ceil(it / perPage.toDouble()).roundToInt() } - private val _suggestions = MutableLiveData>() - val suggestions: LiveData> = _suggestions - fun setSourceAndReset(sourceName: String) { source = sourceFactory(sourceName) sortModeIndex = 0 @@ -153,21 +149,6 @@ class MainViewModel(app: Application) : AndroidViewModel(app), DIAware { } } - fun suggestion() { - suggestionJob?.cancel() - - _suggestions.value = mutableListOf() - - suggestionJob = viewModelScope.launch { - @SuppressLint("NullSafeMutableLiveData") - _suggestions.value = withContext(Dispatchers.IO) { - kotlin.runCatching { - source.suggestion(query) - }.getOrElse { emptyList() } - } - } - } - /** * @return true if backpress is consumed, false otherwise */ diff --git a/app/src/main/java/xyz/quaver/pupil/util/ItemClickSupport.kt b/app/src/main/java/xyz/quaver/pupil/util/ItemClickSupport.kt deleted file mode 100644 index 1b4ce3ba..00000000 --- a/app/src/main/java/xyz/quaver/pupil/util/ItemClickSupport.kt +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2020 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil.util - -import android.view.View -import androidx.recyclerview.widget.RecyclerView -import xyz.quaver.pupil.R - -class ItemClickSupport(private val recyclerView: RecyclerView) { - - var onItemClickListener: ((RecyclerView, Int, View) -> Unit)? = null - var onItemLongClickListener: ((RecyclerView, Int, View) -> Boolean)? = null - - init { - recyclerView.apply { - setTag(R.id.item_click_support, this) - addOnChildAttachStateChangeListener(object: RecyclerView.OnChildAttachStateChangeListener { - override fun onChildViewAttachedToWindow(view: View) { - onItemClickListener?.let { listener -> - view.setOnClickListener { - recyclerView.getChildViewHolder(view).let { holder -> - listener.invoke(recyclerView, holder.adapterPosition, view) - } - } - } - onItemLongClickListener?.let { listener -> - view.setOnLongClickListener { - recyclerView.getChildViewHolder(view).let { holder -> - listener.invoke(recyclerView, holder.adapterPosition, view) - } - } - } - } - - override fun onChildViewDetachedFromWindow(view: View) { - // Do Nothing - } - }) - } - } - - fun detach() { - recyclerView.apply { - clearOnChildAttachStateChangeListeners() - setTag(R.id.item_click_support, null) - } - } - - companion object { - fun addTo(view: RecyclerView) = view.let { removeFrom(it); ItemClickSupport(it) } - fun removeFrom(view: RecyclerView) = (view.tag as? ItemClickSupport)?.detach() - } -} \ No newline at end of file diff --git a/app/src/main/res/anim/shake.xml b/app/src/main/res/anim/shake.xml deleted file mode 100644 index 323768dd..00000000 --- a/app/src/main/res/anim/shake.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/anim/shake_cycle.xml b/app/src/main/res/anim/shake_cycle.xml deleted file mode 100644 index 13dcab54..00000000 --- a/app/src/main/res/anim/shake_cycle.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/color/lock_fab.xml b/app/src/main/res/color/lock_fab.xml deleted file mode 100644 index 197313e3..00000000 --- a/app/src/main/res/color/lock_fab.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_email.png b/app/src/main/res/drawable-hdpi/ic_email.png deleted file mode 100644 index 6cf75e2a23a6e2bdbc6b1df2bb793c005ec79f8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 325 zcmV-L0lNN)P)1ROvpT-zuM;pjaoDMQFGHRiNL(p+Mz7Tpi01kSJ&q2Ro z3V~7Q52PQ_zyXh-X2ZpZauA4bZEej9)Z7o`|Dl3I{(#H^nF+OvC(&EUT;CgB(wy2Paxmq8y)t{t}xgu_Ssz^8cyrAiN|k1|%Oc%$NbBB0OCjLn>~)z2?oupupjJaoV+W zF;U)|rA#k%ewkc-VBseP4{yc>*U;A*8&ACyUY@0LK_;Q-m(3)z0B)Pe+kzf>=M^v1 tH!{fF`1Z${#jCciz;Ivv6Xp{un60OsRSur8gB558gQu&X%Q~loCIBDAGwc8W diff --git a/app/src/main/res/drawable-hdpi/ic_help.png b/app/src/main/res/drawable-hdpi/ic_help.png deleted file mode 100644 index 6494163857027e21aab0dd61f19d9df99ac0c429..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 571 zcmV-B0>u4^P)QhsLG1k?IglEVTAH~+MMZ@jXi*u^!k0k&pGf=? zqz9yzs*V8~8Vof2Aqfsa#}7efP{S>ZK*O4W_#Xw1fnkst%^)+$b__5bEGJ;e51`Mt z1LACL9#G*6e1-r+K?W&Wj$l!91S#}n2xN*EcneRU0vjT-ZxhgG z^&pHRM}2~sr>(8cMud4b_#D(tX?X*5=uwz?W@cuJMCj?p=b(KQI_Mj68UpgmiO{nT zpM!2t;F#|~?1mINYC!&bBJ|zB=b%qyI_3{BM|r`_F)%Pt0E#^zQtu~PIH(q8hN-Ek z1dxB11ihcA9c6DVEiE}INQXD5ny5kb7Ft0`s)zPbJKMJ->CYlVe>bHCBRbv>D=2}X zwTBG-HWXDIRK_m|wz~;cuGGZDRIbD{KX67Fv=>5jJDaHH2aydlWM9@J>8mHUeNA)& zjo2nEB@QCF2}?pFpX4YbyOBQ_yFr7pqc}Lb(t~oaVH6A&002C;3NZ7~JIw$9002ov JPDHLkV1mHy;A#K> diff --git a/app/src/main/res/drawable-hdpi/ic_home.png b/app/src/main/res/drawable-hdpi/ic_home.png deleted file mode 100644 index caccfac02413efafdf8b724b579d244449f9b76a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmV+y0qFjTP)wulZ(n2V~#YmULeENm?0u#tv%7eCP9X2FiWEFS^*iR zU0k4p!s~^ZU!Ws}C(ZN%jTD|V-wSj?;Yl;EKK;A%zxs2eI*K1cQx*g+fXNNhP*fLy$mHB!ZoRU=f&{ zfg=Q&J$vTjPLciLZ<|{Ln>}1CrGe1vq?xw?v$36 zwr6|vU*yqohs`zyIt*TSmNz{#_`@-qwcc@(nwr`_1=c4LTvxfDJ>J4_WZSlF&seqI zv48q6koZAKw8Ufjg2Gshn*8N9$&s0u#OS4^Xf}0XGNWfjMbwA-6VV?!mbJ>R j=vbOrXv@XM!@yAX;`-d%Z-cpku4nLc^>bP0l+XkKg>F?d diff --git a/app/src/main/res/drawable-mdpi/ic_fullscreen.png b/app/src/main/res/drawable-mdpi/ic_fullscreen.png deleted file mode 100644 index f19ccbfa392ba7a7975a9a5ed7d334464283c107..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjTAnVBAr-fh6C_xbh5sC9IuU66 wLF|IpUxN(^B0TeY%x3wt7e<QhsZ$ZUEL2Ae{+{nl%5UBY!5dSBDZ-dm5Vm1>{Lnjdi zqhOF8kY0kO1HImb#ehdZ@kmosQwb0Tu|ZOgvl2^Mt2A6r^l3Zbh7iGk#>_#_Zt zgx<#DstBm%9#8`xgV<2tMqrB*tPu}Q5g1`>XlN(}l}8SeM<6kf9F8~%#b&`05+aq5 z1xv75aDzz0e*=TY9~x{0IMm$0X2B;S4F3znQBc=g0@+`2sQW~&1rwl=s{>?zz@zRH zSwRFeSRHD?9s+7_kQK?Hp`pxBwO4dozcj^w{e!RIEo55Msf_kLNAb< r!j32l2o`p9DX!^J;n1hb95Mg^d??g#e>GYd00000NkvXXu0mjfUn7IO diff --git a/app/src/main/res/drawable-mdpi/ic_home.png b/app/src/main/res/drawable-mdpi/ic_home.png deleted file mode 100644 index 1eccf9f3ffdf30ff21d5eb94d6e42541f8c8fb8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjOFdm2Ln>}1CrGe{u=E@|cFb0R zCn@-9%7TS!9QLqu{C76&IO`>Pc;&{%|gt9|CECkT!u>n@n<|5j{|W%6d%W zV6#90h#%w7)BwbcNNO3OV%WfIAXdla3vnPmgr?yHvf*f!oIq216szmeG^(L#s>h?Y z9!;$pG0Bt^3(85d0OUQWHwgw2RQ+KzwV>b?$7Q%WG=d05GJzxwN+=4rT>q7bWLk#B z<;Vb()TMFxqJ;_>trA}x@IbRW3|xd32lxPTaRMr4*a=0nAGF|t6?SIOf(;#j3P3xg y!VXkGI+I(%uEb)&3~JT~jaV$G8ah?xpauY`Fv^{3#c2Hi0000|S0Q0CP!_ETOYKT-PHQuW>9Kv-M*R&?yK4NQJpY^Er+o z_|XQq%N|J6bOHGt#FfxE_O-*lzxXi&fH=l+yb;@B4(}0|*Xn-=fOLioiu_%qy8rM{ zfS+r0K#})~RJX=V0Za`TPk;(QZD9$JEkQ~E)gmN)3D^LT&M@_B*cO0vjZ=OIRRA88 zTLJ2=$QS^ di^cjYy#T|eJ3Q_Y_>z%f$BCRIMkba$!Vk0+A8cn}NI1as X_vjxzO$PaRpm_|Qu6{1-oD!M<3#}yT diff --git a/app/src/main/res/drawable-xhdpi/ic_help.png b/app/src/main/res/drawable-xhdpi/ic_help.png deleted file mode 100644 index 6ef7a89d81af6ac13c8a50bccbde1d00581c002d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)V_j_X=c;qL+#ZPO0G>l)slYZJQmO2KaR)FJ5Y7TQ9OTp@9>U-p3{E5n zXE8x;Wx{K<+8P+?DiF@1i?(Ek%sLSFHHiN~A8pF)`2mM<572^eI5Z4n1A))@F8Ghi zGm!EnIKpNIxP&Iz1$0@g6VxSzQ``Z2K@|^m>m0mwsuQR|NPM|m-UR}mXrw97IZa~c z_^3rBbR25Tvtbh?I5)_^2sa{OWjV%#Ba&gMNvajmHY!g{SSNykO-goL85L%mBctQPfxGuKkaA34#hWiy@DNIlwF&vl& ztJtLu*s2^bP4kWkA(NBCrc7@=MGm~>^Z5hD)(sB_YNLDsPl5RNV<=4T@5B2~P9Bfq zfG<1lq32G*HsDKa!}~`8E}!DSRHFD9^z><%-?FSNc>f@}`O)eC4BD%RW%+%a-J8x3 zdTKNpt6^?%=r$&&uWb-R++Q=|&m{1A+NM#MbPUP8Po74lB(jJl#)|}ATia41g7-@T zuO)pkrxCQp9Pe^kBigDqG&(TlK7!=fQtE)CbW=|p#KOr-Xj9L5tfI^T;bRqngDn*f z#5>p$JX)0Hz(Cp|@4r6WO~mnfA}%-*bH$X1OTNThv!*322`JyslO;$|Ox-;I0000< KMNUMnLSTYJO*0<= diff --git a/app/src/main/res/drawable-xhdpi/ic_home.png b/app/src/main/res/drawable-xhdpi/ic_home.png deleted file mode 100644 index cea7b6c519081c4d08b14b4d1c6914d52bbea88f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Ffw|&IEGZ*dOP(XXS0KV>)C_R z=Q0m0esJ)v*rk@#2=`MSqSq4GGY@RuF4Hu#k>`oRrgwd>wf-Mwb_~DQ-a0>(qe&tC z>`{r&2|s=YJX4t~?4R`O;Q615Pfl;zGb!i0x_-$Yz09AhR^_SOI)8%Owtn)ft(qOz zoAw;IFXDOfda18pTEPTyHoM6!d$xY_b9&5GnfPRLb^PqMis}>GHQR1_?^Cs7{KWKs z@!jMFYN^}g_snd(l(zd|w1h_P7xwds3$|R8-XqGq)c41ON}efZ|C+@O0&cC5w`py> zbgcG+2)ozp4F|h*_Z;n5$iQ_(L*TW&MgtQZ8FDKC9l!jH_|yB1skM3ccz|KT;OXk; Jvd$@?2>|LQiW>j` diff --git a/app/src/main/res/drawable-xhdpi/ic_notification.png b/app/src/main/res/drawable-xhdpi/ic_notification.png deleted file mode 100644 index e69de29b..00000000 diff --git a/app/src/main/res/drawable-xhdpi/ic_settings.png b/app/src/main/res/drawable-xhdpi/ic_settings.png deleted file mode 100644 index 92d74d249ea885b9f124689c6599ffca7568956c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmV-)0*n2LP) zZ;>SU41bo29z{S1c;(d_;vy)x0mft&a+Mz_uG2;$w#an)0=87of(-E8C6Of&*K&zD z#|x0IcB15vXd`pW;tPA@5VxeWnX5P?nkvMdI>fE~2LW%#65z!Y3h_ni?G)lp!rX&J zeC`qxH;#;I@hz9Pq_T}Z2*kxLyed<8j2|9e9b|1{Y&=v$6ahUCTZy)0E77G0Xlice zu)DnwoHmEhpa=-_7FI_)JtO!YJ# zr!|6rf{E^Qo**D;qJTKTE;REy8Gb$z5U?=$8`(raz}WxH>cfYRKl}pBQNlJ_xKWG% O0000+Ni7zrzj!ZOR{C zybu&pFL>&%WxkJbYQKZ%5}DS;Pq;!{oEn{%EGapBS|Dwa3)cgQ>^<`$kN;O+`)R|I zH+6CUZ|0P_D+5ghgL{I#sB z^x{Ozl_3x0k_=kYU(#T<`+ zdrA1nlgc`m_x`rhE=94+Vzzgcz2v$j84`Et<4pFVw3z9$%5HMpN|Jc=S|IO&UV76# zmGBb^N9tQPY-!&u5>nl--Tq^~z_hd_*^cM5Uud-~6KOn4 diff --git a/app/src/main/res/drawable-xxhdpi/ic_fullscreen.png b/app/src/main/res/drawable-xxhdpi/ic_fullscreen.png deleted file mode 100644 index 4712c6c1418e20cca01bb0f0f9a842c695d12b84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!F`h1tAr-gY-rC5^z`(-b_*>sM zm8rL2JHt;uB_^PJ!!+jE>6|JP9GE!2SWc*A5%N%I1QYYvfzk&GU(6DRiLiY7_sAZ~ c0qHE}dfxlJQsScWS|E?X)78&qol`;+03Hb{3jhEB diff --git a/app/src/main/res/drawable-xxhdpi/ic_help.png b/app/src/main/res/drawable-xxhdpi/ic_help.png deleted file mode 100644 index 760e70d414bb5bb0528c9cfab54425d6fab66e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1000 zcmV>P)l; zONBzA3ZI+6P2di25BM1Pm*HdcTgTk9X`Wg7FF{GC)7PPMb?D?Cd=968n3ab{Mjd6& zJuum9_7QYw2Rbw&fMVkj%EmV44wz!GxB?w$c>u-6Eo^fhfVlz6ZV3YOFK?j^L4pJ3 z{sa^pBnZwQ9-uD40Fz3ku7E=C0s!VOMx9W%M8PSS%U3~>-O#|90%;d@Ov*!D10}kl zf-}Wk)K%Pan84|q;klN}#nkvWNBLf%Fzad8D1!)+pAf(Vfs{CBn+VP{NEAyN zcnKzn5%Lk|Bx#()5hddGv9_8J6nb&Nq`v{&hWk#D@jLz&HL0RZf<6=0wHtBa*|&Ks zh)-_9^}~o~5AhzGcO!-XEw+>eWm1Hg=B>?g;QB!f83#5?LfI7ESW+b>pF{B)tCr5K z&j9keMYmO=ZaW;Az%fOMQmJ&`GHmx}kh6cD43td_JI18UB&Ig0VZP0KnF%?roYM$z zMqP%~DZ^_okOikVfUu9wyAQx;fdJI8yub$xvd^4$OUyP)D0!U?%S(L9B){rnL5)BF zvbuTd;&qA}E&w$H0OzwUPz2YXhU-6>+G)BBv3A1Xe1YY_t@CuNR4SJ_9SHW-#e#YX zg3|-bxgDX~d+zpJ06IwsoUaf7-ifg6*B;tDaRF$U060Iuavny2^U71Z!+8K`0u%4! zguLo-9){S*2+Mg!%tv_{Vv>{eIFrfTv*?kdE||Sc(vof-w`3yn&s~A`+o1=FFD*K( z3ANu0dZ_`Pt6k#y$at)RlO8I-itUH%YelJ5-S5{E+m%%s4IRXL60Kn zVHVaoNsmLt3<2~&U5sE-k7UMNyXm3cIH?jn79Kw{seddGceh0UnnFoQNl8gbf_?+m W6z$kIbHm910000+G3&O-?TZd*5O zE^D09DB>Abz!@w|S z^O{w!7F^CQu~7^P+q8I1wa@zS8G@f|;=6mEdHO{yo_{vVFHl5U@Z!D+ldrw9Ev{W_ zbn|8J9Fx83v!~A4r1Ny<>d)*&m(EqCi50!tb?+2&JWyTP#m&L>Ys)re^IK+Cm6?ZH zR^QBRm}By{@2?2+2IIIt3u*)#u60XK$!EGy^|9$wGsBj+ISc+MF|2)VuTjmi;Oif@ zrwt5S=Ivi#!r}1xC#Tn8hAsDAIR0GC&?7&kp5wp{$DhX;dc>zFvn0$}AY;hzmwjn7 z!x!l(eM}eP1FU!)>>XcPFg#{S72!<&ch*6mNuWi6#W!%m^ZQN^wjzfk2O5(F92N|D ZJD6XEh$b&sH@gNT;OXk;vd$@?2>|rnq2mAm diff --git a/app/src/main/res/drawable-xxhdpi/ic_notification.png b/app/src/main/res/drawable-xxhdpi/ic_notification.png deleted file mode 100644 index e69de29b..00000000 diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings.png b/app/src/main/res/drawable-xxhdpi/ic_settings.png deleted file mode 100644 index 2a50df97d209dc681f6187d11bde766f8d823f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 914 zcmV;D18w|?P)6EP8jftpDqgT)Gp6dWAlWOVG1sgQs}baHWVagpF|yObal zGT5Oh9SR~kI7sPG+G1PV+jHn0B;@P9bMAdF@7_QBLC6c|q4l>q1t+!J*` zH-e_|Zuy~)z$1#^=?DKI0?H`H91H@^0Qe*LFZdL^(C*fU&lBJyK^H!v^KD}F$ed1P zj@RG`lYsIK62Ah!0LSXCod&-Z{5l8E)WwR)9IhH%Uoiz|6#Tu-LW+0F6L1N9FZ2l? z*F72QNXBlZMH7IIMfd6xxKAgXwCH|q>4MV>ejfoqpTR>q0BwrssKgBi-wt0Q1n4Jt zj1$m-h@Q$^aN-QrZ!3MkHU{{)dD#j04am zb5g&-IUjlCN({EZP#hLB5!8B(5W9hv}NFeH>?$R)>+$5-$&_p5#w{F<`n zFy=y8ld#x*tgD*FHo}h2#FC78Bz@*^h6lnOhbpdYbkVSmIn0$!wFD#Xv4 zhO;hTok70l-zmh$l4Qlyu<$Shg<`^I4m;XL*I1qtd(xa+jaP&`aJw|j4QE+y@WQZJ z%`)V1!8U1aGDQul-7zow$sEFUX^sQXZAcnsc<20L&gGH=&{@DO*En&_X{8DWppPry)ea=iT{U?x>d&}Hmr+nl6ZIoZ%^}F|6Z<*ogBf#V}qln+8vGN_00}(&SUY}v8e)|<; zju;shG65YY0=n^{EP3nS5dc-as7rBVT(7bXfKCX2c5MJuAOPC70ni!&(2@;+rU-y0 oJsTw4KNfIua&mHVatdDm03M;Q^u1#t>Hq)$07*qoM6N<$f+z@~w*UYD diff --git a/app/src/main/res/drawable-xxxhdpi/ic_notification.png b/app/src/main/res/drawable-xxxhdpi/ic_notification.png deleted file mode 100644 index e69de29b..00000000 diff --git a/app/src/main/res/drawable/account_group.xml b/app/src/main/res/drawable/account_group.xml deleted file mode 100644 index 4680128b..00000000 --- a/app/src/main/res/drawable/account_group.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/account_star.xml b/app/src/main/res/drawable/account_star.xml deleted file mode 100644 index 5797e282..00000000 --- a/app/src/main/res/drawable/account_star.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/arrow_right.xml b/app/src/main/res/drawable/arrow_right.xml deleted file mode 100644 index 0ac62543..00000000 --- a/app/src/main/res/drawable/arrow_right.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/avd_star.xml b/app/src/main/res/drawable/avd_star.xml deleted file mode 100644 index 4ec5915e..00000000 --- a/app/src/main/res/drawable/avd_star.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/backspace_outline.xml b/app/src/main/res/drawable/backspace_outline.xml deleted file mode 100644 index aea682c7..00000000 --- a/app/src/main/res/drawable/backspace_outline.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/book_open.xml b/app/src/main/res/drawable/book_open.xml deleted file mode 100644 index f676d847..00000000 --- a/app/src/main/res/drawable/book_open.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/brush.xml b/app/src/main/res/drawable/brush.xml deleted file mode 100644 index cedc1a3a..00000000 --- a/app/src/main/res/drawable/brush.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/cancel.xml b/app/src/main/res/drawable/cancel.xml deleted file mode 100644 index 147fbdfe..00000000 --- a/app/src/main/res/drawable/cancel.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/clock_end.xml b/app/src/main/res/drawable/clock_end.xml deleted file mode 100644 index 4d205a72..00000000 --- a/app/src/main/res/drawable/clock_end.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/clock_start.xml b/app/src/main/res/drawable/clock_start.xml deleted file mode 100644 index c9d24b92..00000000 --- a/app/src/main/res/drawable/clock_start.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/close.xml b/app/src/main/res/drawable/close.xml deleted file mode 100644 index 5de405fe..00000000 --- a/app/src/main/res/drawable/close.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/delete.xml b/app/src/main/res/drawable/delete.xml deleted file mode 100644 index b174be80..00000000 --- a/app/src/main/res/drawable/delete.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/dot.xml b/app/src/main/res/drawable/dot.xml deleted file mode 100644 index f75e450c..00000000 --- a/app/src/main/res/drawable/dot.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/eye.xml b/app/src/main/res/drawable/eye.xml deleted file mode 100644 index c5853f1e..00000000 --- a/app/src/main/res/drawable/eye.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/eye_closed.xml b/app/src/main/res/drawable/eye_closed.xml deleted file mode 100644 index cb8e83fd..00000000 --- a/app/src/main/res/drawable/eye_closed.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/drawable/eye_off.xml b/app/src/main/res/drawable/eye_off.xml deleted file mode 100644 index 2f1a1e82..00000000 --- a/app/src/main/res/drawable/eye_off.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/eye_off_white.xml b/app/src/main/res/drawable/eye_off_white.xml deleted file mode 100644 index 15afd4cd..00000000 --- a/app/src/main/res/drawable/eye_off_white.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/eye_white.xml b/app/src/main/res/drawable/eye_white.xml deleted file mode 100644 index c1f3d205..00000000 --- a/app/src/main/res/drawable/eye_white.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/fingerprint.xml b/app/src/main/res/drawable/fingerprint.xml deleted file mode 100644 index 7c14a715..00000000 --- a/app/src/main/res/drawable/fingerprint.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/gender_female.xml b/app/src/main/res/drawable/gender_female.xml deleted file mode 100644 index 74729734..00000000 --- a/app/src/main/res/drawable/gender_female.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/gender_female_white.xml b/app/src/main/res/drawable/gender_female_white.xml deleted file mode 100644 index 7dbc415f..00000000 --- a/app/src/main/res/drawable/gender_female_white.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/gender_male.xml b/app/src/main/res/drawable/gender_male.xml deleted file mode 100644 index d58538ae..00000000 --- a/app/src/main/res/drawable/gender_male.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/gender_male_white.xml b/app/src/main/res/drawable/gender_male_white.xml deleted file mode 100644 index fddbc6ff..00000000 --- a/app/src/main/res/drawable/gender_male_white.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/github_circle.xml b/app/src/main/res/drawable/github_circle.xml deleted file mode 100644 index 297143ec..00000000 --- a/app/src/main/res/drawable/github_circle.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/history.xml b/app/src/main/res/drawable/history.xml deleted file mode 100644 index 448a3497..00000000 --- a/app/src/main/res/drawable/history.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_download.xml b/app/src/main/res/drawable/ic_download.xml deleted file mode 100644 index e611a677..00000000 --- a/app/src/main/res/drawable/ic_download.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_downloading.xml b/app/src/main/res/drawable/ic_downloading.xml deleted file mode 100644 index bc694e22..00000000 --- a/app/src/main/res/drawable/ic_downloading.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_imhentai.png b/app/src/main/res/drawable/ic_imhentai.png deleted file mode 100644 index 191eb1d5ecd544f603c4e81bc89ae2bcef5581e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3719 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 diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml deleted file mode 100644 index 4e3135eb..00000000 --- a/app/src/main/res/drawable/ic_message.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_progressbar.xml b/app/src/main/res/drawable/ic_progressbar.xml deleted file mode 100644 index 7d0e371f..00000000 --- a/app/src/main/res/drawable/ic_progressbar.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_progressbar_cache.xml b/app/src/main/res/drawable/ic_progressbar_cache.xml deleted file mode 100644 index ca0643ea..00000000 --- a/app/src/main/res/drawable/ic_progressbar_cache.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_progressbar_complete.xml b/app/src/main/res/drawable/ic_progressbar_complete.xml deleted file mode 100644 index c23c3b6b..00000000 --- a/app/src/main/res/drawable/ic_progressbar_complete.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_progressbar_complete_cache.xml b/app/src/main/res/drawable/ic_progressbar_complete_cache.xml deleted file mode 100644 index 2fd4e05c..00000000 --- a/app/src/main/res/drawable/ic_progressbar_complete_cache.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_star_filled.xml b/app/src/main/res/drawable/ic_star_filled.xml deleted file mode 100644 index a46ce175..00000000 --- a/app/src/main/res/drawable/ic_star_filled.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/icon.xml b/app/src/main/res/drawable/icon.xml deleted file mode 100644 index 8bca8ba9..00000000 --- a/app/src/main/res/drawable/icon.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/icon_red.xml b/app/src/main/res/drawable/icon_red.xml deleted file mode 100644 index 00fdcd21..00000000 --- a/app/src/main/res/drawable/icon_red.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/image_broken_variant.xml b/app/src/main/res/drawable/image_broken_variant.xml deleted file mode 100644 index 43e243e7..00000000 --- a/app/src/main/res/drawable/image_broken_variant.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/lastpass.xml b/app/src/main/res/drawable/lastpass.xml deleted file mode 100644 index b6b8a41a..00000000 --- a/app/src/main/res/drawable/lastpass.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/lock_pattern.xml b/app/src/main/res/drawable/lock_pattern.xml deleted file mode 100644 index 543da1c5..00000000 --- a/app/src/main/res/drawable/lock_pattern.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/menu.xml b/app/src/main/res/drawable/menu.xml deleted file mode 100644 index e058761e..00000000 --- a/app/src/main/res/drawable/menu.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/navigate_next.xml b/app/src/main/res/drawable/navigate_next.xml deleted file mode 100644 index c25983c7..00000000 --- a/app/src/main/res/drawable/navigate_next.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/navigate_prev.xml b/app/src/main/res/drawable/navigate_prev.xml deleted file mode 100644 index a3081f14..00000000 --- a/app/src/main/res/drawable/navigate_prev.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/pin_filled.xml b/app/src/main/res/drawable/pin_filled.xml deleted file mode 100644 index d2c2323c..00000000 --- a/app/src/main/res/drawable/pin_filled.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/reader_item_boundary.xml b/app/src/main/res/drawable/reader_item_boundary.xml deleted file mode 100644 index 18006135..00000000 --- a/app/src/main/res/drawable/reader_item_boundary.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/drawable/refresh.xml b/app/src/main/res/drawable/refresh.xml deleted file mode 100644 index 150addb8..00000000 --- a/app/src/main/res/drawable/refresh.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/shuffle_variant.xml b/app/src/main/res/drawable/shuffle_variant.xml deleted file mode 100644 index f954eb87..00000000 --- a/app/src/main/res/drawable/shuffle_variant.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/side_nav_bar.png b/app/src/main/res/drawable/side_nav_bar.png deleted file mode 100644 index 727e1e9632ba3a8db52859628e68b39b6e87cf23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68495 zcmeFYbySpp_cnUZ05Wun64EJ+NOyxY3ew#r-7p|XcPZV72uODb3etjfr!)i7Ip_BK zzVCUT^Lw5@&!5j)_gV}LYvz-CU;DbQ9jUG=kAq2u2><|&qJoSj0HA^|p%SnM;18ly z;z~?50IVrk0)YT=hpNSQLN&AsNofm^yPF%4d$;M2b zyJ>w(%0%w%8sYReobU96g-L3%Z@zxaqb)F@eM+0TKlr(Q(skOcV@tI0&|T#j*W#s?-Qct z0#K;|>@Irqi2v{=00Hd(!*W0InP&YtMuI~FdGdRtYIGHp#$&0 zV&jK0fnS3~7Te3+_H0CWGi+?=LG4}(v1}rD&ecVlrKpYWl)Qe$)K;X;ycAxEcKMSf z2flcWkQElCGV{7A`8vG{vJ2L@^(T#69S`Ni$S?hgd&MrY`%>up_YW!6WW@Eix$^?> zf#6L^5JLWWkA4dM*JVq@K$ZL=7Po%EQfxG}gtI*Mw)+i-5p!s8cUX?GalPH7=&;p^ zqYH(xl8jw`3!>$)mse%f+_XSI$m>iOwsP-9b`iI}f60#=$^raUOR2k%4URXLyec#R z+r&n`A^vMC5azMfVn}-ZD?%j+>pC_!H&0hqQF+qUd+ZU z?ZHp4=qg6OpAG%ye#5&IFy_(T5Vi+`+3UC9O5VR`It6#~|AmQpB2cE7xVS)b ze}Dg?+J3Y2Ag{)qm#3y5TUlx zg)YDSmtFZx4~;jhwHnrGaF}&P#Tz&gAzJQaeT0-JKdtm!E1%po<|m8gBuwnD)R}_d z!D|!>o`9+0eUyC--+e8?Xyw`MD{qv2 zTm=HCIt)EkDJ)~SqBsby@?=1rbKA;4TU<8*4`|sFb{|dChe z6OMMca_Fjsb#dRG%wBO0KuC(uF}<@KmpvAZEp^WexUdmySWi*^#~fMX;8S`IZP#{t z!TR>y`r@=ypZa{=+lu?-Q8Wy-5@Xp_WZktqcXmqC8-#1usLdq)e)pGd*o0mEq*58u zj+booPr!21{Udn|vUpiQOla^xl<>hh)C7`esN~!?%JvjSqZ(bXooPuE3aFDP)}erS z^nVovc~!8is}JN9e!NF^9pWXQ9foRI&0~3uRMP4jEd}jE5mgxuVLe~fE6AQ69OuL( zk=&R*l@($zJt*c?5hQl5u=s`dy&}@jfAC70L>@0z37H>3HXk17X<^^ju*s z>CR^|s!zLyK*vv%l__j+q{=B_K~~g0O&v&1)wGZDo!N(eP7(U_V`Wirg0}fl&=%)l zO`x;xl=Qw}Y09Tk+iR@im(dYU3dq$jwC|GT_l^MjIe zG&_0oeEjSbu`6b0V-d8fgQv{CN7|sW$GbzI^754u8foHSEAp1cq4Ws_`>eyWs(w!+ ztNi+_pHqB?gr++!+OwhB$A&_RPQ;3PdUh%cA`bI-{u@5=w%GC-ozt39aLi8kc z&L2Of5nh?TPjC|dj#-$S!l**J`MZVI^EYve<83le71o;DC6dEZDk&{Q0Y=NBpr9gU zLGMv=@$nK*hG^c|HF@g!?8Z4&1r^!--IA9|Oy~8aJQFL)JoGq3+^~>LFii8OYU3E&5O&9o4T=++QeFUhnG>L0KKHhryhE%Li=%-r9%HSyaqx{nRXoY!yG@ zLxgf{*szBj<{I0t(6E5-avjuPb0Ger(U1&=-~~E34j&6DgK4x~uv&-ghOYJt>;419 z@?+`r?WpU^yUzQy=$s}W-H`ng)noKUfjGgp=RLSNbv6k>R$oYdG@oTNTtAHFTS2%rzD@_-%f<}fn`t&}RHH&R_q9v9q zMKs0Wl6L*1hp*W$OHYyG^};FoAn&uWBTQy{oVkW}4J98+@~hkLoAm|Ea|Gst7c5F| zQawh)97?xYqqVarK2NSqK(5AcC9jM!N~mZGs8Z|on-bO~=c#{Ip;Gh-(hb%G8B_CL zXMc%_i7^ln6vTk!89&0h#(}cF2lLQFk>& zYJX;{MW@L8y!DSytkrZ{Z)~pDX}wZxV<1`hhM<#E(@C;2mifN@`e`otnSTHQ?UxrM zQHytIifb~?`x;%-8})f71`r?3(p`0l*j`?r9BI=Oa_5JAg&D#rQEYdHub zPD*bULpFljt6G$bYpQ1*a{AaG3UA-KCAyb?Y+by`CTR#8p*Qs}rQH+2f;zyD9#wUk z#iS}(x)qLH$`or}`Pa_+zcKX-pOQ2=f?akXKhrB#8e!wnvTVvKl}*#3cdb-Bi+PNi zCJg40!GL!^#qnR8qAvMv#=c6#rAoT&VcLFWKAIbGrd3Bw_klXYMma;kzsAByTT#KR z5y?B^Jslt)$uN4tJZzSvm-ze1UBj{SH{gD^?%HerXp35y$~T*PURK%WUeD=03mqR! zQ|JO%G57wcbmp7wu$mP0#C*b5xX>=oxn!zgZ?X40zOtSlY1I?SRKn`8OX4UXEiFyH zch*7xM45Yg&%CiNY}O*4nWW&*llO8doV{bYo}1m0>e@avTloT)@}D!07uEaq>lao0 z`ekl}&7fu+`o)9bR2g_VfIqgWnDp8BqszllfaY7XQkiBsK#j2?HB2^#7W|bKWVycl zCND$_W?(p~WDTkf?4}YebJ9VoanM~uF)_Uv=HMj1`0baKU@6GR zx4ge=A3gpuv5vw#ML+Ea(e-g-Yhbdw!0v4qoXKZAir=xF+uF(AUE*r(Ky6FxLHCFDqSe5NmY{5#aj}?`az?Qy#p32=+%gcB7hGH}n z_>#XE#q*~fuIc&Egj?eGD)5Z^?)J|}hLsV9$s;I`j=HfCwEvD>pe$?2#gPVhQv!_k z;{=Jt_&|7mF-fMSymVImbu>dcp(JhBKucDM`m$Q)rPl6KYyZL03)QpuWtZK+ zbu6f77~d|4R0ZO^ya9Kz-aC*OS6Lfbp{JC-Sm|6ud(c@2A1(hU6{*0_Zu4#Lv|5r-wm z(e>NtlauT_!6y#;UKGvDTy7$oaX_;28~#RHZy?1BhujgD8l80znv<9kJ=}v zar&fq!e%x5mx@QCRGv9^)kkGBsp&ryRLGAhYt}OqNcDrjm-v9^D9jqHgN986uXiU<<3`d7q9f2ZHNlfYi; z8+@6gfsCinZ`6dODJs|uU|11UoE_v=XvSWkU5I&4z5{RCHKO%{=<)@BsA*IcR?HD)DQOq;K_6EXfjz=CQ(`o=a3%CXXVcxWvlL z#;5n6p3d=R@QIPDiC%^U1%9nAZVuzPWqyRj#Rsh3dog0}zY)AABgmGO$s`H#d?Szl zngEs3dj6b2H%+t*_Lb$6>zA*iQb2g_!`>k7wOJ?R_nX=ydYfFY2Ly(id<-zal1SE% znycwA1Ae$*zCrzk8g=PvaapwadCgWdk=Ny^HXE+0rtI)XTeI^pd#x<`6w8bd>O6r( z!JVZLcN-dV$JTo+I?Ih!pzS2r5Awsm%|$s)wZGrYcgRL%{`fRVhA30~{6li?(V)l` z5H|~c(Y|tMEHSUF2(Mk8ag6iRUCdHOGmumXdB&BCsQ)=@E`-k2AMAv8QV{vEvS15u*T5qJf zCtyHH2B3(krQ)=bIachF{3%CTDAvZk$@Nu(LzTJT6UB~C zYFtxYy+ZvlUnDCT=7+KOh$Zb08B5y^bH1}oiH}T5i(wFx2lCcvp{nbhTrchF=Y&g3 zOJ}!N&>~R4b-hQOLYI7FT0ZGp);~{M?1Ic4{JQl(@{QW#cg`TxMv9s-&NuTmWV%rU zDFA^AczHLd^uI#>R>HnCZ&q=B%fDDG`&9K`P12laLXk!owJ2&LvIW z{8g;7ntK%_^W33`oBqW@qHfVys-<;AhK2any{}Aib;--$PDpLSL}yz%REw;u(GwP0 z#l)KaYKI!)zP^hxpbOJ({wG+*W+cJ)f0=xPj6i?TN*pqDQ9=gBi7i;R`$P2BRYQp8OR(#oiF#5~*93SJBF(ZaioWA&rLw-Go1vP|uVF3$X_n%uzfN0a-0!5CZxEO; zRQP6t@=q%KZDT0P-Rh^HQXEnA;9{mPt8;#R86(>)`KLzdme(_KS?Y9yAB)i}yLp^a zoYF{9jMeSd)`&bSi1~`U>6UoC+{YU!0mk#r?C$tMNJdl8iA*Ye3jGTrU8ToZQ<_HWVbKbDlfZH+0&Me!MTf$o2oZF+O@Yex9cc$>S;zHun|wni?dt zElpgSz2CoHJ0M&A-H_$c7V{Rd>a+B>ijg0%!E*#p7MnPzRi-Ux<;nlW!qmX&-cbHB z^_Ngo?=7U*r<|wZy++H*JKM~WEKyof9&&oGt#rnl)IW*DCB<$Q?B}kf&qpE!bOJkn ze;rLmZa$zu=JusyoYSV#*K@7c%z+V75a!A7{9UJAG$5non?lbrDU$otv*r8Ls_>`z zz@Qzb`%_z#0}S;vK>hLE!Ttgs>(1n!e#DC)m(N^?ZzJdQc1qX{K-%C-8-@h%dgEfa8!a!!+i;cdb zD__#g9f@-;iYgfoCH#If8)CrngX9BusM*r;BR-azA*bdEhihvYTE0*4@wizGM4z-x zJ)M7WUstbq&`!g&P&jb(KK6Lj?~Y=Zx=9I$2G}0Jl!z4L9wo5TKhIRrd#>5qNuqjZ z9AtMA6tJd-7kQodf;51G6?aeA!;DA5#C+LFMy5V{ANoKglF_ zI5ST+AXG*mm+~=2@7n|RM0R#9LbXpZJSr)Q;lzljBozm)`3z~OSrRRG>+cV5h7i}s zE62o?*kM2yp#r04;O9TvZn@}`+|fX zT@8EWJ-19F2*dyYSc)6~m9S+V!-swLhaxU_0{ZGdnLAI= z3Ixo%D{HYh^FDQTx5Eyy#83(=k`YL;RU|?7@m2LFjFKW}d(8;ox)=jL4)yVXXHYsQ zF%8buVJC)%P2bIl^W~O^LLSWj$8;nH&5t?)rBIz>wh?A^zAN0ZpI_R9+AgNtI=lx~ z`9I&jIy)jrV*rRLfozT|DHxbDpG9oXCC$ctc`PBrSvF}GMD#8{mp-ytHvCc|tWUyP zHN@%Wt7COK1Pf2L#C6(ZG-CZS$!Y$Z2MEFjlR-eXDag6~5OzujroB4>`|W2iHb^jz z&Z5u6#E%?n)kKeXsvAGkB5i3q&9IH+zgvY1(`91;Y4Y?ANlN?pz|6ulEoW+a-`$qt z(WPG}mF#o48HI=l`|RbY`F-?DXIUQ!BFe5L35w)Lm&BGnQUd&Rt`3R=inbmmK|U7q zX>Q_|`vHh;FR_z@AYCZ1+;{{qe}j7($1xS;4mTQ~2n4;47ZAYo-A&Dwq%~y- zt-M^KunFaX*jm|>_1m?XnHhV2$GHjSLc=-;coRjy@cx?e1a1WHQu=EdU>Kt91)x~U zD+^SM9uoT%_t6s-9Zo`u)04?0-`h?U_z+vkB}0#!v$j=X_X9+b48wlUvbKU~2jVTK zBiZIQw8LBIb7!9W#y&=Y9V%No&kgfT#d95c@u6fCC0fT1gu!yC1cIWr1kcHSy(BN! zD4(Q#$W-U#93U@TjGi4jJ8YBj+tZ%KQ4U~NRGfJ>n0Ahn_{4v2) zrOn}Ct6ytRZn|0XW~vdEP)trJrTHqFdf7`SC%#Nh`T~7FTk>hpTfoNoH&{;l=kZhj z9Q_+CPxkW>)L&qzV*Us1=6D!LwE~lUb{EFnI>#E-4+_lBoDSm@UD929k)9;(95+m< zJOu#8VB3hx{XXXC>~X3hJe|D%78rQ3Gwcm<*G7A9NJGt8+jr3aB3jc@45G*U4wiII@_WTvXN_ndKv2I`2x!j9oPyYs&3>* zb;QdF`o7w-N7H~W-GRBCXO8Z5NF!(vc})+l1PKPO z6AJWSM8bA_??Jr7D>`e3{j9XjY~QWlEUqCmNEq>!Qb_P#_A15G+UQ5_2(w|f8h zWh_62n3QZaAB)qW?%!tK8aFqMu|Q8VI;k(Der&#L>-1rfbV?s&!Tgk1a2LLy_8ifE z@RrK=>ncj(VgMQ@V0Go4b8*caB{nyFV_7*}cYA$Pdz`D6DRcJZ)5|SdudozNESf+v*|CR{c4q@} zg~!6QX3t6bpoDJ>z05O8wo)}Z>S{Az&_{7lv+&}8F+~_^80fxiSbHf7^2eP-mn*6K z+K9s4vafS@OU>=GLazFSvKz044&Bol7R%;)-5bph7Bu)9kzSV-(xRA z5ySNMX&Y&%BKGTJ`h)s`c6nv7H}`M+=hOMKyv>ZvozSSFsR5Ay$R}XPQckWoC09eK zy+~n>KRx=luWESW`HT4mV~TgHi*D_nkGAem2-;ike67C>wTbZ`30$pEpgl3g8>KI> z_uZZ^G`-hE^r@E6TUQwAP}w)HLwJoaoYHjE zxmIz7@>jXz-&vf@Po?=SA6IWt9Pce1w%k@3eT4!&L3{*;zgwK@*-+};AbK$dt1QX=MtxqwDG9D;f{Gamos#R>k-}I*mW11;6!Astr#c@9W*#1 z`zI!dTfcHnXwVhV6{Ua-n=n9s6kLZCGU(ISie6B4GE(WuT9Qv9QT~vqKe+XayWOJfqTZx zcL;{Rz|Lp`Z0Cn_1JLH==a2YlAP35~4hE%+j^a$m=G;=`g_%!|R8}BNtQ*;bxSTA9_HFz=+vm|@fBO2I zmql0aMa{#ofI^v5AKL5Mu#Ef$Q&%zqk8GH_QvW--QK-b$V_^}1gctoS;$|z{^tIBm zZWpt`vgl}Qp;1-tcw88#<8^Ou?>n$?S-$E(t{opAuSfZ1lp1#o=7^WF+4ptMZgYB8 z>MCTk?-}opi|a9Mu_n0FkMRzBGS)cgOm7oEb;n0VPTJLT&=(jFYr4KLpLUdXgsfzO z+V{^{3ZZrgWyRg>)>@G5_&_XHr6jZNQ3~xQPJv~?XX}grqZ)ay**ITohzpy_j zVpDq07=x6MXA5we8KtLpU_#}Ul5kPuJ3QI@Bj8WF6fs&(xFJtKnb5c4#VEX?e1AaX zhY#@<@sFPw5PdXr)74M!V|%!YU&3-#j~UC~IF|A1A(_?~&g9g$dGRB8^t(K~^vSH& zwr(_lFKdY{^s=;oekJSc5JF}Ia)dZ(wfMcyg9fLDDf_$-n`3CFpF21j z_W17PySn=X_3IOmC*lzm9qvC;5*8U1c6WC_?WFSE&JP%ND`(E1>p;19d!z16>wehe zb$Izm-0QyMv+ALeIy3f`Ss<2Vo|}Bu3EJzlv)nYxc2?}3)`49$i~|az3hmBW8(v(N z_nFrI#|F9UI8oKls3`fLC1@HgIPlQ`Ly0u1AkXyL|1Yk{6+DDN2Q#`_JB~BYt`nHr zR&#bPJtCEExrRSl8XU0eS+cHM38g-DWrb*Dc(MZ<$M@gqYpE(A+IT3TiZz&*V*paNwVgFgCE<* zD;R~R$o4o2EtS@xb5{OfVrh!hoiPqeBt75 zuzm{tq*4q^I&2yegdpaz>br9jz9nFhck@@1YjWn|i~kM!%ek z4lrleQ@ElwRr-M{Z+g96g)|n#q@y>en$IfS@PDgaS3WusqI`MJZk8lL8}7O;b)gxq22Og-R!#c3=mu zk4`p@Enmkh_U};mv)LoB)Y)7dE6*`!#J<~5XM_UzG}1p@oO5^D^Mup$;KYaw5t3bV ziDhYUIGeyJg^wvotM)B@i`nFD7T%#VZKP)Z-H80)=8aVw_U{*P@=a9RxfHnt4T7%= zpPxVzFluJe1YblZC1~TJ@$L&FlP8##+xqZykQP1fC>QWrwhzq=YsS$4S|J0aD`Swq z;Y9s)j?2?`^hojccR(gj%(meHtPy8oJz~4X$ICA6(HC@Ji<6mEyJaTvuPMfnh={0^ zP@@bAv=&a=)gv4hTh8F!kDtc}pF6pmnvgtTLRM<2?|jpw-(~GaiCP|>ZVI5E$j$+> z9Z9--_WjWoRINMh>*vlu8Onje&Gsw9AYK;~GzO$Uqye&5AD%o!#l%aDL*(ixRilFu zMzF)$g$xGoS_8%6FHLPO{P?e@Q16cimOn3R&hB}bTApR{JvZZj)_WY2=u|%O`1_U9 zjk0Zr(}VAuhfR)gch+9Me7$aOMV8U{so?#LUv8D*CmCrJ3KNGg3h)J*_ z?O#CqMb9!cZ*zmDz_S)M^&v9*l@LQ8J!D8+IeEND(=l*ql0#49@XKWm`Mqcw!~qNN z>Hc~fJ-?-d^^Ow@p#MRXWRa0np+#2an_u@WtnMm!)c;Qk3gzy*JJ(Jta3XhXgV#!F zmVF!(1_~_V#VNjSjdBVfXn_J@$!V!`H%Q$RX2M*5|I-(CS#7yt@dG3XL5L(lJn&abkkuR2C2@s%zB zW%R{SH+X|cyXGE#sctoU<MuRCr^b(D?DU69(Iwqs-4pnT7!`B!eG>_+5P(acy*ao#G5GM)crXbz;sJ zHq#L|w)AnCMB?VX@{y!-qxK&-{(U?T#KYN{2TrhI8Yx_L%u^X6{CT`_!}zR$si0e@ z-^Nh?xfH?jpa_H8dYjwr?bGPT?I}=;st}Pf6TgLn0W<^Bt`uQj{zn^_(ezt}D^Y-? zL?wHrS4rQfkImkzX#?Nuofm%~z8xo`xhM1BVf>PQ&u{l(qHU?C;eZpgp=4dX`7qk7 zIWYRPcxgtOwnh^~qK9soNN}Y=^;f!f)_@tZGQk|BGz{T_L*cq4aqDg3apvcmwjRwtx;7b1%MCmqQZGdNalcGF&g#j@NzLy{uT^S5RC3ZOE+xPaqDF2xb8?; zBI{FRpGqREQ6cfaFJtcP^II}XBkOtY6^?Lvv|w@PjL3Tgl{kbX_&q-2XmSr&qd+Yi z@XpK$ohX{Y3SPWm57$eie=$S+TBbo&;hl;rb1^33{6sZ~FvC7HrHCz>Fh8=Eq^OAH zAufZb1dAYJTd<>lG~4+8LzCGeHc9S>57Aul(3XO|p55o9lPEJ_(J#g>W4nR;Aq+A! z7lAciP>0W!!e<0LpDw29`|z=3_`-L-G2pOU>w?_aHrfYl+URrX$fEDBc?b-^ATyIK z2G|hzB2sizxKklxdhfg#6OsWG6HuIEi%Iik zBhsjw;Lhj%S9sQie;H1-M^;}fO1k#1G-F(SpsvlZk@@4 zZf~9+FEzmSl@?yJ9cPC5L!UnJT-Tq@+H-{OfS)%p=ev-fqclKUV2WlI?2A{z6WyzM z8u0Y^7U@L*-@WD=I*I$Z{mLD7s&@p9JHVucoEbS&Rb`byr+*U%hKv?Ce26`0_ zNmsG)Umv6L83amO`gu;MxE|Wvl2GF52_zk@8Bv{^iMSp`d4urIRIO_ zcY*=NEp!D-Ff0qLp>FuWpWosdB+03=8&NS9B#CjE>t_f0d@7DhMUf2J zSB6US{4YSpR%nbk{4?1GH+GhDy!l>$T7nMEANx6dr1w>kb=FHm={HXJusA5vI#8Os4SI!_c1JSiVkb|hHv zO5w(OkMKS(9ZflIs0sp!V3xDDR`ESMSAW13lqrF@lSz6-)os!#I^Lh0*IOB*|2 zumqy1LuIQOdt5j!9ssUu21XVtSS=HS$(s$$V}S@YjWoD1=;HkCWXs#7I`$GB=bVh1 zPm>}fODP3B4V=^ETUED-Uxkm_SVx4<44Jy^(+`Lods>(W`wkJmjVzK6ntW~pDUyq6 z$r^ZSlC7E!f?J(PJGbI4?=zi6wsV$|LRvvhT3Qo7B6w5@B{Z$OwFWAE8@O*~E5yfA z7?iBpEf?;dv#`>wvL;m)iC&DH2mXFGp)o2nOE!yKIU68nB*oSuewv)v36s^4B3Fx` z<&;SL{AGTpu8CE|i0EXw(mYR)NouLU3=bx+Inhxi8?w(_sKltu3`fj7D%SGKzS-G& z(pI1Zt#pULYdfrU&+B7`>d;;w9D=r zjpK>yW~QK|?4XOHRfWPJd8l7%dmwX&8?3=4!R1#vVA@`larbFA5}&z^wAV3U=D8a6 z@curxeY=DU0li#05dwH1OF#Bkb#UKkqWLSLSO;Eo5dBK@cqAv}V<&2-VW!)=nX|aa zK)yS-s9~n|A<4raB%Ww`Q*pmVh?nUnE2U)H-SA<{g6DiK{5x7I7QSj)Qf`>VWFOUn z=N9|Lf`8BG^n%wqr}my-Al0vpsf4!|_VxL8#bl^)#JCsPwbzKY+8zwZb6W=YG|RFn zp^Wzn3rfY<&xRQr&Bu&xbkTEfLykTY-OtqORLwKtykkx>%1JfGTCeDm^UJ|j*J8xt z26afx^dJ%0E;Bf(djfiej1JAs+R!}A0M7` zF#ZKTETt60A?K)tPJbm;-EMmx7;YLqk2v6fl&v(ElGaeBgWulw_y zVWi)|lyLyEM!E#i#zLQ8yQ;?}1B#8R@CyG$C6nA>H19{mK z$BwLs`@(s@x~)7;QQ$RT!Ye`8-40;!vx%Wr~2@Og%4IqjC1?Zv# z1nZLGYNpRVa~EQpD4v8`N#s$1BFJ{Qt`wD|2?Qg{Z8BT_yY@lyuQ|cWdjPm`H)FALJ+cXqdPUJaHoD>2uyCG8vL4fOLY4WDMHqo$4-)ensRIz}J89CDjp zo>CDWJkIdM5aJVifh4cT_H4xkEw1CdD!DbnC=On3T92vr88j{0@Iv5v6(oLfBCIOE zs1TL0^4FrM@Nn|5J4S$bO`V%?uqNgaK~;P+ee1eg47z60`@PpTYv!J)$)7G_({1~JhQ1VGD!n4t|m7zHe##X(I^n}cj{!B`uN(RO96ZR=`kgB~*3R`i{ASJdI@>E%<1nY3SFvdLO-sRkAS)s7%{w;8-GIDY{KE`BEoI90q56!5XkHyHM%{MqJ z{yOEQ-4)V(0`@yR0-^|r3-HOOvLgwElaCH|?*{E7Wf||yg3AePZ0*TiOF^YHKCg6 z#$Q-8_`(wHRGq5S6185{UEI5$=63!$49N8zCvcsd%U5TiGx$P&ulZrY-1CsnDT@B2r1GJZ78H@G9P4T-D?G3Ija;m zq{mXYY5MOQ-`~}Fb*;zM$;p?ce%nYg;(@^BE5<{6q4C-puKhC;zZ)H1(`*7dAAv4X zq_~0%1-XOgK33!1p*9yOU1TSwbY;)V4I4pwVuape1I|B-bPhZG`0}Z7Y{7P;Zrb7t z8Lx(Ev{nz5gYNG+xs`NaUzNvV4=6K;=WJ!CmDtwTzBH<`_u|;A(W_A9C5shjEXW<* zyuHdofq<~xe+p{^EjU#!Z!ms@6$hmk1^QNT1!sEEZzH8~`nzeCXz|ynF9#YaMOI!v z>e*{=IG?9O*)ETAo?!v9=faiY(-pA19}UFCPYYiw{&`DQze{jMo8Mj@6?lor&1yOu zAKhEE(8I=SE*Id3Gx)pW&z6t=A1{FSvan^kwPN)O+pXb9c0**S{o1ADlMntVAD(Cp z<)aBv>kDr%&`g$QYOR|JrB0onUI?E#^FKKYNuRPg5WA5}qYpnJcGrJUJ?P|R)Qc@M zQE>JgDR;KQ&Utltl3Pdn2Ve^Uj<9L3Z85aCrWr#W=bb0@g1Xuoh1SZp=DI3J_LP5X zH+h}Ju@kiGvP`}}0}j{U3B)C$CU}g9RYF0@n8S`Q(|KDKo7PM=MfFGok;NRPx`DeptJ0? zmLl%i|MJ;f_{9~wC(`=DvmzFd$l6)jzvm1E5(sr!X251w+hQg}JBzDs z*XMWd+Z#UxeByzzJNn;+??2U5(ky(%H0Z%>Z#{~zbFEiNJBr!s9A_Wrq5b;&o*s+p zVNIQE&JX6u9t$&9UpxIF&`{Wb+)lM#<~=PkkDo3qcNA7hR|dFf9!n)xXzD%k)(_8| zS8H9--An7PXlK2R_Z-6{0-l1zadHVu`XuY{CFf;5QOTyyGuP=uWu<-$z>iP>)X9b< zc3XMiZG3f8k64OFIQrpM(^Xp_pU-Lf_)zDZJjl}nYBZ`;Cd@u4^gM2TIn_rT2G*4W z25L4~sMmk}tAUx^r;kvT=#K`<8*dq6EARJTJ|m4vdSCQKvD&n(ZkDuBhSEBR>ic0Q z%ggD&3O_u6T~mpLHrnCO1eb1i!RvP$^^^sf9WE~C^Ho9B)z%Adw0(F!zEDY9Px{QX z@tT7r+7iRjcd8y8VB%J$AZ(yEl}{lEvMj;Q|KYHPiK15vbhqB>wpl){;6D&e_89g3 zI-zxczE4x{i)arsYQYDz;u3lOgqDaJvVMBr(7r3pbm*lRIcVOWp@#}Fsdfdj@KL{t zH|SNAKH@-rcXA~a{+P|Z^nDamLU+M1rAh1iB^@Ia_=$u9@m(ivqp}*`7?@gd(PzI4 z>5-#;4F~lPk43gRwn>S_j?maq8D!%&vC_1!Y+zt>4Ffa5ji=sUvq)Hv}g1p5xXPr86zmlCL+B_q}Zh~pgRjNu@nZj*K7-4u(M-(^KT@#fQ z5iQz2BtFK1){v(`V^eRJ?U&#+if$BeI`%>*Baa?ti2;OZ7^IM}uBAE72l|4ZjZJpb zg<|lvTSmz!3r0U3->(lv6;JezC~4<@=<@hBdyzuB_BGv}EMflBOL&SHt7LCAx~2^S z{L781s9t)$yF()c9tXunh^^e*+jn#E3bHpLWK)A@`&s-x?18PJ$!vr7ZL<#N^mZQS z!GBvkE8k~i2z^QR;g7_%Hr4`V43LHtn3kUzY_c}q`(MqHnJ@nIUM+Z$rpRThdAa=U za>4+M@PDkE65@mcH}j1+@^pL4ub8$RT{8OaPG~-pLh_z<1od8S8F~e}+YnLyJjf5D zwPhL5jNbpOq}n@shbTo4yk~DYeD+8=P9`}JAKS;khnk>S@^JSj42ar8f3F$3xGc_T zK0{d^qnNo7q{;!jVVAf+Wqi)UA^4GYT#-!GIXlNjsQj!W$YrXe(8#@4ueHI>@##DU zK`YwWrUx5f6a8a~WwIvb+;fv@TKS!`@RpA~xglS(0|)C1fNQVWP$w%ENqfHJl2yu} zsHttnZN%nBIHtuuc#ZW})b6Vuyx^FBpD8LC_DJ%0vB5D=S_E{|Qk@EYu!I4!R6@xQ z8)9)_z!M^{w+NT6Adm>~Mm3i?4W#*2E;Q{+iowx*ta~65AJH+r*TPX54sb~mLM3#| zF%Q5dF?`U(C+-%O6CzQDI&y#h*1jOI8jF1HK2tzNd0)IQf{@B_4WNQ=Y z>Hh`M4~(M0xyCny=`5H?UzH&8sP5*&Ya;DCKg4P5%NWU)bkpTKB&8(bv#-CUPBHg9 z@&gAHGfvN4=h2OJ$NaFe`cpF*wZ3MxBLVtT{O|jAxib2Fp1Hnud$U0&@A~sm z@I-lPVk#Q9(MP3IYA+1%pm*{BR026n>Wd96#uwNdxS3{>_VaJc(dFD&)c9U~XrTF7 z8d%B2dMoaAH;R{h)xmV(=Omj*oUta8yosa5p!lQXB4~#kc^dco$M0nyy0{v~ABC@d zEv%aXi5k;x+@cY$T|WZA+d$S-THmcJhy!3AQOdi_O(GnmUA0lFC21C-E1!&Fe8%~~ zAmH`Mhbn=a4v)T^qm7d9l*`dUZ;*>!#h)h&Oci;p26JETX;~W_?FSqh-7cm0_0^!l zXPtgLK~71*s(%WfZfg2?+t>DOwQ%@R`B%i;q|pHTpXMZQo`bcqvZgo|aA4Z@(Fp?UfF`MFlQp1xrBQ(jENDuhd#04hPsis=ZK2>R<3H9iSj3X!ly z9l8Bl@>bLNvKEIybzl)WivrhLvaNkqDadHNRehh0-g@__7}28E)khmb`@$lnI$uQ$ z$C^L|x#oA8t>*9_hG3K6b1)Z#{tNQG$muB19y74T()6+)-ZtF_=1RXAmsz`_x4@)-`?y}d&Zf6xD z_e#Ob@I2SOr#Kg9I!bYQlHE?1(sCndLYw2Uy2W8tzvgqwGb#S@p!HSOHRTF>(+4G|YH;iX z`?l56tGj3bu<5}3Nj?t#w$5MA5@LF_U>S6Jq6JSIT>T^>t6xQaw7ynIEs-H1zaX*H z+r&734KNczHhhrtPzj~9kz_=5;({ZIKi@Xm_un0fQ*}>cx2KKUA`aVj|2QbCy>^-^ zns~gO#4{iYv<C{d$JWpoA;5hYPZAAK;)+&BOG+~@k{8|OV|@3q%n zdu@mA)LJTQ{%n&PCMG)y5&A4Gin(9BhIM5%_a@e7kK0sCE>|uB#-p*(7N_s)BPO;J z48UnF9hY7ct*K6d60Vr9zoOb4TmKxqejVW*A=2>gwozRfYxU^88Tj$tKKLwT;O))k zo|;lK*Nw#-9B%Jd0S2Sg&5G9%2{O*_>IOqU3D%(zth2sAfqHos=w~uJkR)Kw4rju+ zj33?h%#+zs=u(A(gmvX@a~V>isDG+nxDiVyC6ODw{81mbVwnx+`BY%8ibf?XqJtdp zYB@5Fq##l+A?9(5A$D0seevkT2XI#>*5i7)h6EGxzVkyd-xw>4lEE^qW51sW=<~V8 z5S+wx_?u50#r?2Ll?1`A(l?Zm@M8I@Julm5|)5dsEVpH?&^ZLhc zNS@CvLfyicN8EH;F(+!;$NqesVYg8uCq+_Fpcl3CYi|&;zt3vD%mJj(6FHN*&7TH< z!@>pGO+PTN7AU*|Y*M~Q4P8as@GW0#RDp;G<2yn@Q+Qd;wE+et>#G zq%(ocZgu*MIN?qeiBR8g`A+M>$M#@Ll4bs|u%gQy4nTSavW^<=rs7HDNDuV5|5V8V z`|*`b*ov%7g)wh&uA@f(ts$IK((hHyo zJ2lQ(MmIVr$iz2xVm~SDa-FUs^19JwSGnfE@^2Dz4~CDWGqrd3ZcK--IEE~p>_%fj zRzmW~c#Fzu8Gi1(a*I69^6Aw}Nh*R%G^VSg*a7UhZF-np{^p_uy+s%SRa9`H(;z?W z`;!XqdFBd_i_<1eXT^DshGKX6$=B$%m)z%K7SWF6X{+hdf); z`RjeFIk}XZ?d=u5P{8GN`t1in{jKYm1LJ-zo6CKCodY=rHl{Vs>~g?_U?P4D68mXQcx znZKc9&o}WGmE1jDC22Mnum8a5u@ZJ=dtjjw0ZF$qTMkT$v-d_m8SS$ZsFSPf zz>WE802@BCV(qopRuY%;ywsVmlYWAm4}}O&asAH^GXV zuui2y8f#AO^|N$MT*zx_nl5KX@Bz~GD_WPR>r4ACUK4n-^zm7{L^)OI-~ zZ5RD`AN-Wg@w_M@>y#XX*zx9nGA3?><^T7h67z< z7&kV1JS$gk*K^(_$^&)Q;ut_vhm)&6RA>G;?WI27HkyJj2DQmwcc>;#rj|w%K$OTq zWP059%z-8jaQjCJscR=PP7)Y3mFrO)fXOAsI4z^-X`kLq_@HdrT!Qu37r7;KFaihaxnmb`$yr*XOGz`#Wazg&Ya;*fH+j z&hcTO?Ue~Ru&Z+&3OPu7kHL*Ts6A2S>vZLP71Qg@N~HeqlKDkUA}<*&te6A_3R?+d ztE;QAlQ8PvH?;s2h!W9r{xqW*jpcR$2h2Hi~LK(%FS<@}URK4%ae!o5A>0E$=|7Fp*msTG^E-)H(8 z3VvC~#O+9wTA0Soj@<&+Rz}hXGba`P2>n~G3?~SCVB#AQfGv}w1-Q7;49iV%KT02j zk;4l0hn`C+0H3Hzr-R;`yg~)73ucACdD3vxRw4{d5;2G4d?Z`cCa2j>7yik(GP%Z7 za?8r&XPHyypY`TN!bmHM@-}*6fD8(YJpB3WfkBPfuxds2g(>UW_3O`JX?3l*)t^1zwif8F+kJNJ58E zZbBO0+y}0Sp}}MXPF7@=U;? z;oHYoQ)la|~hnSQc{yTAkX^=sZ}=tCSD@&$4Jj zwY>I;^#tI)Ce&+AkCg86afNQ5RZ=wX|CQYRZ^Q{TFq9lVAJ`E;;D65uw3B~FA{gIQK0nQa?1GMzL(Im)wZypzkloc)cXjN5H7}Qyo&;_ z)EaFvN1c8XOPTm1%=2uSu>UgHXI5%zYTg+~|2&?RALzkf{`x$w_}!B{ajFfgPK%s4 zsr2BOeE*h>T0iBkj{o_SPrH~U{7BT^X6I)&|A&3#K=VrL`BLPFarA>7$KbsuH?GUc zD@D)$l*>On4;nx6@oKfj@RxDZ(bqbrL}&jiKat*#DcOiXCh3PH)gMsslp&Tt)<2xQ zu`~=$k@pRNJ;aBZ{FUVY%JVyS?)dREApfc^tUAAm@&+9_G{KtGdk*6O8evs=ggfSU zTvz-NtxSLAHOValY6@WenIH?&$p6#Ng3g)?>UgqX=hU&Vg!}vEDZ;SO3sotZjL7J2 zFUnZu^kZa@%p&G-Y3}geIA$a2--?^NKH`=7Gn#ujX=GLC(E@|Y9!$Nc4MdY*J3-#EjZQKLw zF>V^C+OTb%;V`2qqDT9y;_02uT*J3?u1_`@;$}D^xqNq-pJwt!@4$C12NE{<14V7N z`bi&fP}Y5~38Q2@$yin1-CRJIwX^=xxSC~hN zy-&Bq3jYZT1k3f`*MN<*g>d^YY0;qcH1}fJdramjjakF_0+}ug7n9Y4dG(R%>g*@@J_U z9y72x0Kd|9K5ynk{r9^{!?@C%PwAS-zLIO+5YtPa|Ke1MfFkwR+t<7I;l!MAnc@^$ z!)v}e2&&kz$a0HZ{`m|M_LEnqcTCQdu0F+t#?I8=%g{SCMfWLv@mI{td-6sxquitA zt$Fg!dJpDTLloA|>FDQ*-LOJTwv#ldSE(#Ht?jdb0Qi~`d@bBlvL=og)TCm^Mn)pz zl5X>r6Bww5lUpKXY8&iNw1^ zztCYS`GL{{Dv~n&`K{jr*TxkuW*eebTad-CG~(4SQf&Dj}TuaRm}1mp?gTY7(NbiAJ>t5AbShx!)$&$mj+H?xv&nS6pb5{2r-ATl^^qK3f z?D$aw$74XFw-O@UsdlEDhrIqYittoBP@I0jK)cq&`Ob46&HsBzq#aH03lLJ^a0mhe z)Y%48SLD}i*uiu-VD#F8R}$1z0jUT>?#p zmn{qE>jxAf<9?I*@t)eE)?j!IZq%lzI`{r!cCnUPC_eG=KIPY zCx=v`#JmQGT zwd;7w-W4{E%(lt^VAyGqF>~xZRHcS~2)`>o-HmV`ogY>y4mYfMGC)KY^&#%YqZvm=?7h=?IT2xZH5lt z#5>L(qo&#!%x#(h{zFp#aXEw?4lh1=p2$_*{#!9@S8!%Kh~c3ht>4@@ooZdJyyeSp z301T5+bXmw@0vZ+=@tDfi2%>#1`k_1WD9o?ybkKeHG`e1dh zZcFi_w@rbFJoo3n)hrDICTqccx7Da0?eof(tovGgpp+UR-IU@{;bA@V>*CyaX!pZh zwBzn>`b{COgPlCYrkdL1r}-kjhgO3*aYPL{tGqwW2tyG@t$D+GL!0Z2)-v}s@=8oR z@gX#Td_jc>s?`5y^ydiU-xwEB-_K7zCm;BYlB*{2iO>GU`vpqrY947gCu{Ykp-0s?w{?cL~Wy5K?L zz#=o+N3e)8_70Oe;7p}NZS+FDgs7ow%iY4R7U$G{UvWSoE$739Z!n*~L!Rr1A;5od zJIu3DLWXZikF2+9^%AJ{HIg!YEt{!GI~e8@%U`4aSJ8{r41t+=e!MA%a+>eP2f!!4 zE?s(#WtVh}F$oO3GP3zdrFNt3;Tu=h|IkM(ah)BI7JlapuA*J|wmu`R0Rtj4-ZUhc zO22I}`Rl2@^Yh3jlSL*PmhU(QD(qcWSljO_nVG=CjT9v+>T=)fDYZtKSb!m&^FZgZ`fuVE5WN8B*JSo!Zx4Extb~i13%MT*~EMa`OX3JYq9~OMz z8ritp03yQNUtM*e9G9QO3Mdqm36rOGs{3${l}En?<%>Lx5wYl)-PeSVqwnFYFOv)^ zuOX~WN<#hOl*QNIN(sb!a5WyO&&W*)VWLQYN70Yq(a`URCsu;-_B6n|OCp~SS@eNV z_>MQy;J+Jp=kuIww=egsju;>Fm(PB1%ce&9i`VXCgI<0?^oO&dr1@1wX2OI2QICBp zxf~!SxU$A;ApT4ISa0U_^AWB``fXieMord!ciWSJ$6`-$HhZ53a!ta>(56`lwHhV#JXrzJ0Fc3X;(Y=G}r3?npPg@$NneOeX(eJ!1gU@l^z(RxxBBb zJ>WNpy>e%mtR|cExy=ZHJt79Qzs26fH#A`0M2>5lWk*KWMj(O~D3!+}Zu(A5jbFtB z{WKs~anX_W>^Ag=MQH;q`k>pjg^h@A<9g`l>vAeJvQhijm3yLs-)dRpu(cLYH*rWW zaJ??uJC2Dy9M^!gJde%=_OpDh1IuO-wD_zmva>&JLw9)iI}|gnx74gkOpIV+I@Xk& zF1bTaaj0NDXvTGl>U$p_Dx`V*?Bs2+mJ@ThX^1Sh_AiJj?@Ch=WHl72On=B3U`3m3EPt}udclh=?|*N>AIPAY?!sQdn#t#B@qx91 zB1^_t@Y9G(b%o!803G6f0HAJ|C%N%)w%9LYjA8k++PHnXLx7h5vJN_#QpTpvbPgUd zj58@vjL0`)Ny($;1^P|8(htIEL*hLOd|#Grh+i#AdM@V{5AAmD9Vw4@wJbG-gn(Ew zffO(R^#oVoWTQ^lsqZ@ePyd&&tK3%r7;vr@wdA>pR>VNeB9GDb;O;p3*lWc zG1&j=Y+t^T%F!>Er$SaAD4!I4sSsQgmf$=^2Y$P&sG=rfOae@ClJc9(q3g)0i;qi< z{tL4#hqW!8;5yj*j$TFVUG}ll)O*2Gdc;H86PAvHh8xA~kS^lWvf}^Ah|Y2j%p#*u zE-#;_n{VmU@#Gfu!3W77jkXO}*xh%D6+2VHXPn|4r5b(3#0MlbU6+O+lW%1z}HA*LYoS)A3< z^rwaIl0vsRUq=yEK;Eb*+?D?&t0n-;n&4eI;R>IZOhtq9NhQ>_b;s+HM$%z%wQ<0f zdx!nvZ=d#Y2amAfD3$-6WtFTEj*4ET2_B*A02wD*j&Dcqa1}W%GYvtdU`6r$}d~&+QhD*m+O`;7**D&k##@ia@{@k;Q_iffLT0kkL+rivr@#f^8I_ThkgSYYvJPuvLdx?y)=rfKh1v5LS^cl3W2J3BS zzXdM5QB_wuex8^F_87Y@7DFXvHRGS(=R>w3nCU%8eZ%O?m`D&(L|^r8pcw^B2zktO zHe17uv!ka23P7d^o+BH4|EQI~V)p`WSnZ!0dNz*?ekPIn;$>fb=ndu0SLFLzci)5y0C}>9kgzRIoL^#^%Rn zYDz((AlW|*$dmW8l3xxAA^C1~k%lc2nXMv!geU)ASN6VI@C8LONAU1=!dA8M(d!tx zs-^dNE`O}~lBlD%Ofsmn#Uk~krcjU3_=CyE*e zg$i#Ozlv1jc}bEifA5gAf&%IyMU}$gpD6&@q)JvQ#~XF-)}^R)jee72fDwaTW+-! zMEh5xCRgV@U&v_xcE;dsnRE#1+QbOEKb?Dz$B+E=odx--E-B>fM!SJHJgyWj_VLR|j4wp}0T0pVU3jCMq^bqf?S8A(qcbL2+ij4!bpQIQ{<+++M@e94iwX{aALz_duB{8JI^f{%aqE4sI~XeaqJM0{)y>dbE#4kZJU z+*v@!*;WmE5fJiPCU#RVhYvTYiaZYubhMkPsUaXR++WYYgTKe;iH!go=8cBH@}zc4 zl|SM*;`MSQ`3E;Jvd;Qr{{G@=)Qq*VzZ%8`Rnhbv)Jxt@D7c%pE)*aA){jr{)jg5W zN2(Oj3}d>P9Wg<=olqW?sn{4rVEu5WGrVSN^DgVOXN0)1)yVb~A~Hq4dR3@POMFjw zV!pQpx;Q2|C2+nl+!$u3vM8hOzZV1n!1DrANrC?(Eg17%vDVY z2t%yIs34Bvu8<86qp|;XXOmRuG1WUCrIy|u^O`%@aYFRrH10vQ+AsGY zvS))3Q!lv%RMQ6ny{2+HS%4?^>34521@gRZTC3>5koC~!?8BugcC{s!-~IsTq+Xu9 zVF>nm_Pa^P3gflLbAfmSR z%V;)Ck=`LUQG5snK<_$%)XpU4W(ysW*7eXoGwt|+o*8O)(p;@JFCo?qXila^$7u4I zjDE&rL7R&pJYSQ1s#BPB$OxAn*%k-%=lRb&&gecXY1+D1WN@44o~de zJQ%Ay4jEC^?;*N}_zjv194jm^o?;0!)XLXx@y^+u-}M0Bjm$#+4Q5=gTI2JSeB(yW zfv|QAPQpZWIDn<}G`Mj^{`El=VLR-%1PG9gKjF16>dK0YvRnvq?h@ReE{vdIA z7#(7~i)~hDqCzcGU6CR_W!l59;}Ay#9-G2GEM))C%u-4vhtA~621HSr;l#klG1l+* z@sapG#G`Yc*13TDlBMiVHb}*feT?IGyqS$1`|S(6uA$|Nz>X!?sZ4oFHDV+HZLjC^S&VUZfT&xkwT zAO$)NiKm>2&@y@`FkUpA4uGmiZ)7Y(woJii4LuO(Cv6H}0 z)yUEfR^e#TwztV=t?<{Cf5Q7Uy-`@&Lru1sR|*V6dgs>^|2X}eJ5=B2)O z%G1B+CWs{geaN|q@^YT*;TVttiIeej4)+OJ?qdNqqIr!;e|j{1Zh0XCq~B)NBdj22 zf+Lk22atH=CIN8|wkK5GiJys_GxEO{Sk9$hGXI5Smd2rOfh)0nCaDV3FDoUyo&^GspQU*X!<{bL?-)g1Kon?Snf z;js^2r?mkh`N*F$^)YT(GSz)%`^0b^jrNXK^qwy&lHKSsoB>*ujIKa|$e&)y-5ZkN zeHv~mVb+-(cyNS!9O84U{|jNSbB`UggW)l%h$kkZvmORd>%-dO_g0Nk+F0qn=;3t* z7tn9HN3$sKHGJggS14EWp2sho!TaALK%=}ECU=4}8}mkB!a;P2T6Ldifx)w@yZGr^ z>`~fH+?_n1_3AX&Ccw!Ai@-hdiT$qTUNQ*EZc^5cMiK-V-nv!a!vq5@NS|xU#E*0( z1&X6eE%?udTXaZuR<|IWmLDsAww;V#FF(SMR$tl#2+Xb=+d_f6Rqbh$L08Rw97_@y zH(=`;_1906VAVmUv7gdi&!zyF>l^Rg7&!R8AcXFy*R_grD_BR=Z{tmx=YFRz9Pl>u zuKJ(O`}Qfd`7DIrqF*}=4Cf#QUOZG*N?RE|G-g6zDTKUR#J2b3)8L@R6z$QD+P}Dz zS_0z4a+J^$dgxtEFfd)6^#-hc^?9wwSi+qIM3?*euO+ z2PwM<@jc@|R<+AnYgbC7KgyJFuy)|yW1bx;$Xg{&9wq7MY8zngv?^=oTo3*ufW1lo zJk+%0@w&-lQvNQcjRj81De;TU=kY2ESxpc~jzUxojZwSBs?^lyKL2~|M63A}Vjr?n zHE${1scW#dq-0xyzl^i$IekdBD9Ip)fU(5_{V-=MN3R9RR6?e?U^0+}HIRcm<}%^! znj1Jrtc7FYez!q5TxkFYR2XT0X)bX2PdVjANl8ie{sZB?$qW*gv*fQd zwjA*){+cHFnDO{FGQjSZ6nLv>+P?WkIyfqcy{nYxFg3jbb1BMuUKNSGS~^CC$TJhs zv3P?}<8D{Xgd#c9t$h>Jm}JfU9cjm= zwL5N2Jx=C~Ldy55E$RZ`+pn(*kRcw#>d#LxOmzcFLPldWsiEWzkMA9m8cgRV z>I3Sd+8b@s3mNJ{MuziG*fVKL>L~(FO9FPf)|cAPTUv3)a0d{{9(%*^@C9-N7x#rU9;OHny@s%H;UXko8d5Byez!G~5XwZ)dN799 zyFZF;GrxG)J#y5ISr6=6oeL7CB%&MC0O1D*of#B5`@WyOzUN4yEpL`!mDRF>j!Ty@ z6rv|_O`zW_(EqXwjol2tc%!EJwjIj8KU5@EM-57HOz{=}6&7^3Hbt!}$AhG^6rGpxe(EImxV`6eSBU#C zt2MmOjg+Afw1#k}L(N@H;Y|51@H|6KPu&h@pFU)X&H>pnnB=>sJEY8^9>YQ44kcr4 zH6Cy!j7;A*G9rx85QV|nXhf1nfkmzxr>-_O!(3JTWm)_Y+w-&tpmci(ZtetH51Qlk zwVP`SD@do$WVEF zScQUzo)h%=MkjBKN5$}nDmFP%fmcNkjdy)zNPumwOpq`&0e8#JIUC2veNTeOp==0#OA zyIfmCDEDrfX8yg?f_H7x>V69F=<~hViSIem-FZaEvz`yREDNO2w7uIY3j5s56I#$J zsHX=vXfrOHy^mh|ohxVJ(}(*zT3s^1<=u+6%fmA5d8N<+)_#QFD9Kb43SO=+?*4Id zi|a-U?V`86X@!n&=i6)oS=D!rK7W3hQ_@wv%>wG=I@`FG3ccrhr?6MPL1dvEuA9^? z&(hrr$cnU&$-$H%@!WcR&ClkF)S6>}muv8G9_2p4s@dohEjTiwMF%Zi@ta(Mowh~-rzss z<^PeV7Wa46_qbg(oJ`r-o={6r^A)na`Y)d!@n2nu#M~yfIk34qaCzKf6}fZ1AdB-W z`Y>y1bMiO@_4qX z*?V}0&G)GsHmXsbzSJ!b1S3*8cW2$Q8-OmTIu~3_Gor>HayYv;1Xly|3>5!GI4Qjg z7Q1iK<4EWM-F89MPp)#rlXL|j*V7#%m9_()>2C^wbriXA)ZQ^W+23Kn6F97mqhD_* zl95Jpzxb1typdNc5@CW)bpc>Uin#`rAqfx9hJ+2`2foTre@OKz{oz;i8ax=2_}>nX zSWqt%c^VtQu1#aZsd7C#ktkj0u56!tZ_nQHYafq7S}%%XuLa{=A{GR5puTdt(d$5V z700h7#u1n?s9to{JQ)~7cY2kLVC``)s17QJS*=|eu>!>9d*-mf8m&Xw;Jg~b7Cbch z`LqH$w$%Ka3I1j#Q>I><+B9Oq>z3X1f|iZ&+K+2RA!?71a*3hm2@etg^|zN@mLNtb zS02X^(cd?yWC&6$c7^4J{O5oFz~GQd?7E~i;(R#6QB)cTZ^*%=lZALHo}0%Uh@ByDbTZ*o94Xu?(kL486L7x@uGtg9eE8`{PC4f**n?c}6f8#SKy%b{KO z_eah@V>Luw^R$OPq(!m$IaFghbQ$Et{`c~Rg7d3}W*-#T$zztqDf7CwTH+PUS7ip< zzvD((X{L7zP9cBntGs&J?ga_&dI~*wlkQfRnu; zhA~#Cijfo1kj}?n>lY8&&4YA!g0d!s|LRT{vE&>@nZ(`VElO_66nP2LA53l?X#*uDzMTSqV9e5<(v zttS8b`hgn)d*~_A1*+t0XG}l^2*c9KSB^-rt_0%nKep7sJK3|5s;aQse9lYX%lsQq zjk5Qou*)nmLcE@4^<$pE5XQ3@?c+&EkO)Y@KNF;<=6liwy0hV2!Nod-8gs70YpQ>6 zFn5o4xbID3j)WKkmKSPVciBzJpgie)AQU?rWbP37vuuD%-tww%NBwG3fiI`*9rV+kQPu0;4^G&D+!D1eCUVH;B_#lncpX z;uqBwG!8Yg{F$aIZHAKZ;1jtx}{sm6vhwuVK)!va+>X zI%w17_-2!b?QkK7z(B=H1dhWC&TM}x$M`skfHWT>J}P>&2& z&ACUk)DnEU1+D`(5PA&0*PmF5u2R6|1?jSQ9K^}!JO#RqE0_rf$no%)J@n!nWe)}Q zOu^KGxB&T0{h3Td{1>A8qBQw#dAFFNkaOYVN=w)?t+0l@s6*kr;XPyk- zK^n<$Qc&*wVWJ7=zet8Z@#BD3m&`tPz%KW6{<^#R;UN@|F~XUbPs(>MjaSg~&R4R| zo#5xFPPa-n1^KC>mSVW*L8%VvGX#Xw4dBwg#FM9sg=D25@|*H$CzBq!tCFdLT{?_`E8A^_9I4T^U#_`g*IXQl`ysGELG{DtLS|T@)iDha6?3qS*g-|8 z7^-C4Yq}NSuPyEnGVdWaQQ?8?v`yBWJl7QWvNwMfeY7@OT_n{VRYDrs@S){wj|$eT z@S|xeAi@b={NAy~GL!1md?=A&5{na$;8uw#ukzrYl-bqy9FkXZl^(23J-F)ayZaq1 zUuRC94~dpWKQ^@4!pMJO(wS5u%{b}9UXv$Nm)rPPF!UBNQhhy(qx-8m*IyXU{rE`f zLp?S)+9ZHAUsWk3X|d;*zaJNr$Fy60$*KNjAG8JB{4Q(&>VWX)e!nh=#~qT6t7S;c z>^7Lblj@i=_%h$PfOvHN+Ik)0Zx9mj_Zw{U<4wb8dej64aPyT0LMw?;^eKBmN6Tsy zKt%?z5!BU_ZC9=}?e_%kIjG=U#Mf7I5>oiY?$-Q663MN_Q`wa{Ob-ibkiWVe*prD}7i897FYH3_nI;!r0QaJc725+;1 zn^UHr$OLcMUl*H_+0_&gP`mF#U5-Vm1N{?0S7IV-BnV9ANYkszIMJ&&{^obbaBriX z6w{7eL0^WSCi(x$CgBI*qknW|rUd=rxIF6Av3B-ix4Uik0bD_p`kG83kyB<(q3b?= z(za-oBE6vE=Q0W8vN~|N;gFOmL2?5C$doP9)e{sms|kMh?s7~%cQHpyyXYd-rhB(( zxi2S>d+p=2_%7_1#}24*gebE6*LXq9A?c9t@c+{S#PniZNYx3xogkJ0iNeK1vak|# zrAFO|dIjOuOYyfMo>)*AUZ<;A#J%-dY(>YtxD$91)?`mP@2rt*uV z=xkk1VUU*)zWeVSew&FxXS4eYdn1vP#lKd!AJ+{X?Ro21*4GI&aAtlN1wvT?U*dPe z{16^A2`FgE0%5nlx*1D6C;)gWC)2wx&v}-W8+i~EsLyWDR3q!Ygz+uz+fXx6!nc)i z+^t&#vFj+9kq#W4yhn97`glOd9}H?Z+@3rs37>Cutn}%mw52X5S5F7 z&E+Sjl(r$1m3>kNr6dQnUW4d6HTKg#cA~D$~{f zU=g^umg-bIf@H8b3pic}CX(f}e;+80#rB(g5kpqIyn)x851z-N5N9c9wR5~y#Gx#W zT&_n!VY%>@5|F-tEUIqwk2wUO(tv*#O8()Bq6spjQ9@}VWr3qg4e?g-QAW~JLJ9oW5(Y)VM#o{FkA4608m(WEeMsh-t=ymt z)l|i$flUix-C%0;&_!aU&3MR8;ZQ)R5CFs!|*X9a&$##8DR`8ta`;s6S=A- z+{hw+Tu@PINS;}a!)$TT@E!*Y@^gPqvmsX+znkuwo-txSC@4D8W<^3bb=2gopC|w9 z{L)wOyJge8_bk)@>73m;yrJs<=O*o?f``sn%!aN{BYHgtnr=7OW%K|`A=?HS>7yLh zKF$Qwb9D1u;87@1ehj0PRaqxk${fyv1{^wovs>Dn_|`q-b)b~kndFpdmT5vyH-+s3DxSirgI-;{&%r zwhl{WY}_7CkCLSc5oxB-?9VVT1Bo^1lMR4X0rDl$7s+gZ@11qOM8|^kbh2x=H~D-|I*} z&H3jZK^??>K?oNi>M{^^2k)V$00ehjE@FAwQ*bXrb_VxSzX+ZBEahJnS)z|E`ze6F zUbXw&hUa!)~>$*fNnS zQ>qKG2KXyyRor#m{!fQbucV|FP(LJr6IxsW7}@HUe$+)4p~y$>)6r7Eqh5LA;Xl_e zGUFK*JT8>Wc_>KV?Osy|bHXn3kR(DgC6M~(-FKQaJ|+#WpQrcgy5*tr5}AHzR~m?W zB-RbcxII;SrW8Q10rgYva`12>lbG)x$zs7P>;odqE+_tzc$`CFdRz|3l9{F>~XgRV0pDOz6}WNIfCYZrk29Iy$T)a?#@s>hj)ADwvw z);Ts1%0U+}TrUCGBQrwE(3HKa?w_*(hBp&GRI}N?j}CIc;!4n0Wb{!Y7*fcjaB;(h=E(5_^h-st;ZA<4uV&-`ztQ^#wK$MH8Mt3N!#pxR zeso&=(ana9jJRp{!LC(&bdZxUGb+dzv^Mh44h-Rnf=Pji;4fI^3y*QhYB|Fheny^9 zpVa+Wbvdq~b`Sk{mGnSZ_?qmsoBCBQ7RVz+a4{$eQFJpa7rvHReW3JUXdA%;Cx+Z2 zPp1Z+mH62(~ruAHFe_4_PSHU?5M@M^BUL z^L*vEkkcpSwc+1XMdq|Ik~(F+s)Hw^+hWiTCQ8xUsxxz+tidHK&*&2 z1=oS%YQ%rY|I8Xi^?zm?pFerq6>eV3FnnMVO?zAR+1TFSw;sQ|&4-*eI`LXY$Y>vy zA9bL%>A_>=;u!R<@{8XQ@z;PrvS;8bVXMcFCHDt@#%c!|)L4dt$>nvHd2SOzN_CZWm$#W3mqRkFJvX>UhARm%0gWji~hq~MeeDPxjcmQ;PDrat;> zkaRrUUET85bc@i~c@tlxH=E`~IAE!;i( z8pue`S+{-RSLK1%p@Wh=sGR|4_KwDt=ure&!tAsKBB(?jMT5nbrE5Bv+MQL{kmjf9Jlw#L|Lc`WO?h1D z1F-77BWyb7Q#{h^stX^MXAdBX2r`pSirMI+DeZ?T(v(sbn#dyH(iT)wg}4)cvy>8R zl8qO9?`G1%hO!L0=sQ4gl09XM(QymavqD zdMIWp;}-xFd}*;D(3GTmz;q2lE~fjxi4&=wKO2c7GH8?Lrxvfh40ankjMZP6n)0|z zi7PoE`wF#;mM{)DI5m_%g7kQuX!#s(t8LpfBB#%vP9YXZ45$QlF}+FBGTO| zDczlliULY1NK2=5NC*N70#a^zg9r#4*h+0+6SKDGJ2Uf}xtoi*`p%VyUGM*m^{(|i z&sxhlkZe#CoZ{@0p{Q#RiR;f2SmHl)9dnB26Ql>5OUZQZxpehGvCFZWc60A?xVV@; zdtZsWD3d}y>Q(cRlxdcJZy(ZX%s3+umhq}i-{ zzE&J&aGO99p*h4L6`Elr5m2p>L_aPRUC6~_-ncomz=a~C=EG1+r(-wfu2+bAJk4Q! zqIA(ACgxn`>w>GF`JHUf{%~h6JlGv+x*oy_7Re#la@)>~(SKeAAC&+T&!V5y694@;4}4s5 z^TZe&@PEdUbnF)`@>@6igP$_z6H5bT;AYgW4}Hm!i6i>^mj8zzgpoTFfXs+e^2)svO9|BhVj0t_Z;)zp}SaL8XBhv)cNPf8m~cr3!PGds%i^BC0A z7g`J8l0vrPlaHW|5dO{z&nQT8L^$L>Z$ya07+9Q<>3e9LSqM*X*e|KLzweVFD1-iH zRuaArCQP4%aAZU7emYC|KbA9uNzbeJrv1-Uz@#S-hHeQ%4=ok!;|Y$MH79Qwt2c2L zBRs(F2?ZqG=_=!Yz6}1NdtMzFjB}ZVk_bcRpCzi%9s@{j?0VKp7=O_b`1Qc{9-aYs#{Vq(YbrVK^;q!5MyYT1gg22ez-N#= z-edn+EW&*doQQmKc`HaXZF|Upywnt07;0?lC@*^6CgM*9L(6XcXK0rRL%VDeN&WA$ zm=BTKkIRKyBkosH+Ugv9$Pt=0aGOArk>_z`4B{w-bOo3zs!unE|J}8J_aDVkFa#PEw$1YX9@~|31=xSLuJ>6#w0Le@{-x zf6vliYxQ6A@L%)rU-R%kZ_9r#*8iG^e>TN`&BK4q!~Z|?z->m9rOkgb9kbgHMOocl zUDx`Xux1jMFR#!07b@ERdrFI#2ocR~wI3i&f#oqbJ5~nGYYAn;*LN}<#)06oxp(i! z-pvV$Zf^gOXV_;>oIC5tewD*P%oMV0FuuZ=)0c_20|r32H%l&nrTNND2XwK#Ndf zHIn#yqpi1wQNTnLyPOf5)CAh2N3i=zq&FiqFY=deziXFu5~ z)l**N92j^&Y=S~pl$DhQq;(Rt9K|i`|EmS~Os&lyKih!AUKZ?*V2kV+pOp-B%Ibg3 z`l>@3c!<`s#K=O`_=?+&cab(XdWowYxb*nrr&v1w*lzkxn(6C%Qygt%PAinUmL*A; zj)(dPQLxxVU9Bi3<5>|gF^_v3oo4pp$(T&u(*17NEp5vULnddnG*Xx3gA|pmOOWp?w$KO8x9kVG=Z9jU+A?e&7YXL6c zq?19eg`e`nwl6HPVcd-A2y>uFm;*|kxFaEu9RKv`K_4MQR)kgmH`3-Yx!{|M`;$3s zKRyKs08%oKU( z&l0ae5Y|gX!QnhQ>4n~>36#&nEm2NE9V{A56icM)mZ$OIY@^rf)o&gp{j)LxgHq@ zecAkl5Vb19Mp??xo4%=DnA>AjF0&nNV=G%ISfH6D88Po4@+i!vnxLTIho?_J#K(2t z$=0;Zid#E?**%qDDXU5Or{53Th`TQ!NFn^B#gPmY4Rq9Pzu8mnE~p1`{r<|-6g2GT z0lPbPeSKZnxP3pl<_ZNO2l{oh7P3MPXmgml;KP}K{46%{_jyuk)_fo^UhN=#m3D7< zIxWa?qV~^mXv^Sp@u)|H6Tjg>~UTk-B|TJsbIISIY|4|fjuH_(2`2KcKy&~ z2pYHqI5Lo07kd6Nzh`H+M4&NQ(72$67*E&^S-`2IuyqTmVKi;rbe<1NV#V!8oK0B5 z)l!m^lZ_nfw6wI2!}zoLLE zt7z3^agzo7ftHoE^#V@!d+^~TuskHG3#Skf^Isagfxf=GuO*|J>jUsxVHM5t+Z9RJ zLBnFt6owzzm(=ErzSItcgY~~sjUK9T8xW@psmNAU2x2xwXoLlpTnmSnd_H*9+R@kC z-{0Nz0=djhAeoZmD<8t#Iz#Kk4<4BBXDU!%Lg-AlL}XNPX9heDX0Rv^|tfp&NWp#j90fwj(j?_Bq73}N}KIr zA!JCnjder9{EiYMVHGFqVs_kyMP3Lyp_^oPjOY9`=W?ghqGtUk);}EHyuMg@36!>f zO~fP|k6&nsI^pAc_Z13Hd5F-;a>cNv1;wV_{qIDGIHMPDn>#t*EHTayE-P z%{2y)I9L%@FwD-<3g)%MkmX%#hw|9zo^X52@bE0sGN|E`e(>h;Lch(_d6jiz+i5RiX0oYnL{6C4NW-T4nW* zRF9Rr$n;7P6N1e$;{Rtd~4#JE013#bU zrTC(KJxdn^ASWOR(}pgSOxHmpuCkUdO>4QtO=!rgx!!^`V%mbdP9{4;ps}DG)jVC97fnwGaN@MAM%>s>4Eu^FvB- zI-WH5+gT(G@Vop70O^u=A4bCJm)*E>Eb$*8lz}CO01yq`Fk#^K6*)Tj^6~WfvHFte z37TNovy=UHRl2ey+n1h*OmiOlxl8MwS$ES><^c2j^2_V>u6J-BEt-b?fj6AGy za4aa7+O~aAc(60%hGa!K>mv zxzKKXM8VUT1W}^68}5fm7pGk22?pq$^6v`3M|25RFyf0dG3oBH5!kOj$PY=O4dpFP zXi~BXxdu%ol22lNjKQXR=9 z^`t^Zsv(12JzG<%ao8^M2TkxRI)o+s567ubc~HLuq--PAE6|JM%EgGxYrx#`N1S%$ zcyed(gVAlD=Oq|#X@0;Oy1oY{?d#a*E<*M0|!2R`h>0=U)c{pHwS&s)Xbl_ zKfZNAgK-~3GXV{g2lA)KTBQW2MFq;2pag^c>3XiCvcT};RaI4GKjQ*W>mMj6Pd&v_ zn}(XRkfTwAbRD77^>Q?APCHG_V}6;pjD{L3TXHn>Hz?6Ku8UGqK8M_t+j86ocM6B? zCUEkMS0{er4?I#A0urAd+`4}3^_er~@wc;^D;@9}pyuW1{F4!RWA@f?{r=WC)=QCL z;sohOj}=cmRKb1r)R3&wG+=6?6rRrvwMl`gH;u~tr5JhR+H4=|!Nklcl+}&}zJEVr zyr=mZaL=!vI-bkiAs&n5KP4hgSRYlrjEslZ%@bLX1j|3nzpBJZT1vF-m_a7b{9E`T zr^p)e(WPh|ECRdUSmGorlIA3yeEx!m5QS!|$ekvJ-yh|7`nsjQ7aQUBMQGFHZd+BlGDrO}!u=up&S3iV34XjTTKJ);^A)x~p z*gbu)%>cjarN! zUbABKgBSf=5@?*xXfVpA$r}wRylJK|3lWa^XJ zNpkRWKW{2|w2!KZo}k=hzWNqrBPxWo<~9&YRCA~qH~Z;3ggxGbg<>Gaj7nxE^BzUN zEP>i?OkHTyOsRC7tRIIvf>Z5!v#Ew+x3>#qal>}b#^UMKo4NSoZwo&1*3TWBX>m4t z0^R59OYl^1vyC(b;O_;wm^5O|h7S&wreaAmV8SSB1W(oY^%n`W4EXTrAX3$RV|a~ z6RYzl3LLVM&QNbtXYN{>7AN#Mh$koOja_b_M)HI+LD`sC*c7*>CiZmFBw(-o9)vm4 zpmWXL!hdQhFKUjM-42C(tx^1A$?=5c#5eX0I~<(LYa0CVj!>yE4XQtPAmn#$vW5TA zIQ8jE}`!Vf07Ta{KklPS6zNs{(e2lo;|M_W!z5KHdSP%f)!Kw9cj z7mBxKzhj{7SL&c$m0U@a`FdmP6JNFWvf~?pQVXcO=2?_8ca-&q-@(HklYI>R&GRE_ zg)6JO9g*zvb(Y-;=ktiSD?U}P92)5BPrr-k89wph#rg~1#)BsCBwec?oH;On*ksbK zs&}k=C(43_i{a{rmu8*VXRARAWQs3w0k-VnE=iUK*fkla`&Qj!?S9<&omT;A1+1su zytx_#dTulDY~*@szFm6ZYvwuuuE{XCCb%zwz1KB1`1$7ibTy`??ixS@)HJf_euBiz zKNM3Ry&)4FR^h`HL?{~5N2KmKk9*-TE&<}$>!%Gp%%KL#wRdrZMCLo2a=IV2#9~!8 zU+tbuSsAo1D>W=Ooq{%`lPSZmP@8I)`UCqxQK@gPyv_8rflYzKCHBxvO>rW6VN#M*Lv49=t#dO5w5@Dn=Z0hLVqtO=I0udWad>W2nXsy(96qlg^I|bI|rt? z$I7i;ZKR$kxDS>h)(iD!%^3#r z=QOqC32%*t6z>kC?uQnU-)wZ4U3VBi;5nK?h~2(mI>c3D6VLeT1!VNe*=ndY>^#?Y zayHL@gDe^A=sKyJ!*)CmmY1tREtQki6Xq>x#NjEP0@U&wMRR`od)qn$6v2M3s?}4EMLA$pTqmtTe-|*esijipJ zC%)Kx+=D)?ou6*C$rGNrZ}g!R{804@>Vlx)yXcI>pdt9lLoY|i)qej7sy&ETRbVff z-o8Gy_IwO40F9u!;Z~c}E!5HNnDk4dXgO@c9n;;TY6_>W2;0!icUNwhlnZ<6`GF|W ztOz7jmveJ-<;%enbFEG*S9IB&`ntt;7<5*d$D@($%MhiRie==5k}9 zG=WEw$zfrQX=nLAC-0k7YJZc$<4>np{^F^C#z`|LUo@rOl!oF7-!lmt=e?ebYL=jg zV*|2r9H|wd3|;WbwL51<)oqC@Uh$O1Aqv>^i};`SoFv*dHa2izAHB(2>{2TyydZ44 zfBEv|+y~8fHt$C2s0~-BjZ~Ofl~h)+*!#!=x5RI=NtOASVCH4wz+RBzZ}ymdW-z3u{ETP z#akNWI-r~O69wwR&ze4LaNM~D9eP#JmPZDlp@2PTI7*UHZUd+~) z%KmW723^>F@-q}f*u?J(gmI5pOFr$g4*9KSV&F-~Uis(avzhc)Ikq*r06uN{Hc~wQ ztsLVHt^-&4{(Iyaq`Dfggg@~~#i_pvm>b!ug$63^&S-Ez5@Gkgm6=(D&aV+^w+A=+ zc5?re3#J_-{fM5EM9rvbD{069T5?a}DSfL(vK3KoJ2KE4C_IXOkJbk`C$RYtQUgj^ zW+oCoD8;-}M1l`qZl=s&k2R%TNL;)*USWH0xnWGShr%BnWO>4y6DRs7kWxkn=x1+Z zaRDJai4*$A5c9BHyQ+GXhX{nDmm4Nmtqzp$77qKicuc+`L2?WlV789y8-1%v%8_#= zSBT+3JDYgDBr2OY9(g(}(DSZ)BY1pM0MfOxBBBbAlm$f!s#g~6gY3EcC`d+*2YR;k zY6|acD2bP*WLK^)+>{W5iuR7q(Tna^L{R|~C~5#68utbbnkH=*d@k&;2g&{VSdzw- zw=Ut`P0JYG7lM`8i@Ye0u+ZImke17?Iw%7nyT#kkhysh(%zmcW>vHN^rA7TB^C_|?WhUE3S)bYjTEXal*w$ULlKBeRVH zO|N{%%D1c!&7<~mb(;D96_bwgv1*q~P#A0XhRMq}N3BzFpUeI2!FTx~FHFFwEFso* z`g(CwL04z<-U-A!jk-;wcT2`;nFbQm%pS0GB!UwfYmod0ZMhe;o~D*i-83K?JTskF zP$24b=#BEoe`;Nln8|w+(s(T8KEJayyuRKJ4NWadQhtu#inDxE&NbB?)jn3xZ?ng% zI;f|XXG$ZT%&MaU?WVTp1X;3eldh5I^S^t8jbpC4#G^b0jyJ`Vpy%7RHbp53-Ag~l zW zS+t&gD>OwN(ismnD!Op~Q@ac~>A`gd(gM?_pGqVrlAIa}d(+5iT{s3K+olonw*?83^3uWNFt*P!DM^*1Fb-*Pa-xyJsoJ2Uc5Rq!l63MDsxVn3K_YM5=U0v? zy%Od2(l*Hr#tWGot`0FghvH&ln>G!TIUgoxh8}k1mVPPU8{$zmy%6yu?Y#0O)utkO zt?`Os9*7i0lJ!1(ClgM@P(@_&CU&^UP->R1gY*~u%l%5{0?Ui&fkqyFA(+>xHk?s+ z`P%mc{R#vj69oWF3cRypsc&-I%jeoeLA8LJPB+IsCdiQTNSa-i?ESP}N}6IC_2eLME2-z<6{u&pArT zLsUs)0t!6qb-GN@hfWLYjsy-3w&S^f*8*xV?K1qf_H}1)3&0?|?-O_yy?yyB3wzBp z;x6-9z6`oIZX?Q>o}9u>87SN8bAc{>JGn}O1QBI90w8T0QLsrRjrpXgYL}yAM9`J5 z5t+70-?5v%Y2QU73vMy<-L84H8^WUudUhwF#000L`DoZyZLqU5HbyhHjJ_h~qenmt z`~*|~B+_6eNwd8VO#4Vm4^ysN#%w{st~vuL_`?cB$M_lb-?eUNK}FwO6y{`)HG7$2 zxL~(@jOEVe{deSva)<&Ef16020!kR{a$jAD>8nzbMu^Ak4ZcfFI_j~n0_-)Y*o+R^ z+1ryTrYl<&*3m&951)A~$Z}%=_!hTA2zD12F}!HMLX)ZDkDu$)#3-K@|1LW$f|MeI%p38a zxsjr5v~2Ghp%rL9 z^XAR_ONc(zraCeW8N^h%>R2Ac`A!VahUoo9(~T6L0^SHNYun|oFYYR6#09CvKpP7V zttG3HIqq!@6N4{h=$;cH)h-ZK12(GB&*Qr* z*Q-*ZTNsp*v)HN6VD9~;47$<-xTKO`a;bN~++ChudBE0%1FOFO_APi#$*m$EtUf(g zM9i<(&Q0COp99+pMVO}c3WzsG-$1L^(n-f4n-_iEpREl`QE6%_%5rO;&zz8_O&_)A z>|b+ry8dPYpIo*yQYViFhC; z^F_4B$vYKy-am&dr6R``ipf0X|AChIA*BNFpn54v9{>4FwDz{>UeVp|&-B81l-$Yn zR~J-?&Ko2&+l-5o$?IDw_m+h80PS=dz#+!|)@lY8GxJeCq`{X};kF`>4QKofYb_1v zC8I7c0%S*mK*<|Th%_`cVbXA`3g;&UjIV3$K*$( zO1Ched~osYl^-!40-OMWHA$-uKG#=&vHLJvGsAMG!)qlyem|J-)nwzqjZQWQPB9jC1CE_9I4Kt?<2}VNs?5+fuGneR%Q_U1!3?9oo?jk)>vdqfh`5X=bUe5Zzye!ZQ!tn3Dv#1H-=?i zji${R<14FeTxG*{DVOBs=ZEeMnDt=~SfUB6bToAofzZyGIz&q3oFDk|G+yp^)(7Nc| zD2HF`cwk(oI@K-$HSIK@s+zp;voeEK_gh4 z6YRZw_o#)4Ktv|^Sh{E>5B!6qlHS|z~=KzZ|MId+AiQkwO3az z81#DgxTT^cI-~>&xa)__3F0&u=XP&rm(vRf-s;T8`a+m&NXqo0XFqf7S{zYJ;F9oggGhASa25F#=`FjKT2(w5ZvkZOf(Yx$i&(Np>Sbbm=2v zMH+~CV-BLtqkQFj)GU2PveyYxb;h|+5t_x0>Tf-2Q`Pa7J13Q6zI`}6t5gX|(dDy} zqIv^84W;%CXNeHIMBm1{WL)R#9m{zm!rV>jPg(M%g712?)5VlksoxHh!d%Y-ZqZ57 zkLJCChX$8u!sf~8HN&Z!K!i=1;O6Gr>RY_vBYclU&`wx`QJyXQ)bL|{9O~=Wubheu z#=x)Kvyi)T9s=OW`2i(^i$4oO z?kCNgHIztukM$8hhbJ%#K+Au{?Nf9}EdZ)Rq#PrZjuj}k5oOC?@G$~f$nC%z`1VZ4 z8kNE49egr*Y~e2N7kt99Z!9WximI+lqCDIT!1a#SaL=47(2bZAiTps_?q70cd~Bv)BN#h@Rpt;Cm*j>XU3!lbUiUcMwb zlB{4JN-WJt^p5?M99fibc^jHX^*6@}ulCaB?nBB!a`2m3!n5Rt3s~U^yW~{P_|B9TWJ{a_Xa45j95Akko2y-#m6;^A506AbrTcCs}OUq+5EvpupFI zQK{5?al^gB+Ti;cMTQqK5%t%ODkQB!wQx8c5t++b1xpeDhhF3C5P8uCwKgqc^tHcU zP#p|%=jfbH8(|Os!`ZhU!8mv?w`wG4C;lQBfVxS?8t225pH;5-0nRX1#87wIwQPga z4@!J?H%to2ZjLkAHj6&l%~E7|+tEa_h=%%f*5lBvV&zDs*)Tx*UK|UJLutSK63HhE z3YsJ+LobkRHQOT!gOwHjXkkVqy|n;b4CruhYH#{ISdxJiPqg&Mp`e4cyuQG5l%X~K zT;+Yb;^{d=m;$wcMZQK07B7#6@z~?~Eq$Urdi5oK4~e>GR3SlD9$UZqYGR4vFox&L zlRUbsNjdm31!cgId^kEq8-HbJMBi*bdRDpqqsv?CirK~bCg6xTf7UyeERsQlC8r#t zxKAp?a+TFKsCvS+Eh`lhLq1f=3`d-KxZAuF?6NH6wk-K@sy1}(-_t_2vHChX&A;$+ z#7G?zILqp@l{ zNK0?_sD0|-qC0u_0i(~#5&{*+DYlz}q#HEuFO=|h`O4P4``Ay18H-lGkaRb|gcu3s z7PT~JIv0^ivK>!Ds<^F?l#|9ga3EE^zYp8B7`ChR+Bkr?6%Z@Tb6~lqNQr`vesleh zor&4)^lRi~8Zq*RbrYxnZrx{EicZTuR=3b&8fYnpYXU@HHPId>UdKlH)!?+Cgh8eg z9Pk9tWe2DqpfAF1b&m+lWhx;+BGgW}Vd%c1O?i6_ zu8%pY$*UuPNza6GSL%&NTd?>+T~3JZh2J@hrppxasuhmDsNAJe?SE;xa}Fr?j+|qx z;Vy3$d~*3CTrF6_ZXLi3#5)>5Aw z)2DDP6`(M*<;O>^k#?6iElJXmjeO^MedAz1@Gwb)#_SU+Cm)4*oOts(VqP^B)%>Jo z46<3uJgY}8lO`MoC~ukqy)pDG;>>&b`x2)fe);Suw_Ry_;^oNwXxY^o2YmdQUTQ9y z^iXceXOrpu-0F<&Zg3#Kk|BAw?lq(3&!~)_oTwb=0sBhv$wlT*-C>)jcoQ*hL*ZX|nJee|(evBcSt_^sbYDKQ-3^fde zvzxxovvim5k)d&4tcTA(zqSBOTWw@{E8cd>DO+>&>pa7t6&SHpFk(u$`R~8V3RgVo zeScsjd#UxyBIMA@F&_jdLsj(r*6o5I&<+7dt7@a2=wViWt*3=W$R(P$!&80x`}dIG zpgvw!1itD)r%Uy3l|$GZX=IAOlisQvJ0ZD(cDSu1ZE0{oR9K^cz7LlxbMe&}H&#tx z2i2f}0JDARhEYCmmr2wt$Hf~n9c_8F{Agj?Hpw@kOa%o89t@;mwiL@a7Z6Pic{ZpP zro7nDWSn~;s;Xv%2hY@WSIlpL79&oPKg+RUvv)htWnWiECepKgJ;M6&NP3b z!{diNuPmY07dI;Db@iV`74mlN+a^UBvIagOVq8Isya2qdviDE7=SN0_{}PT2<$?aH z7yjL2zq8Ra+EMc6U6Kpm9LZ^|@cRd^-08k@7rF=Of7Bj2NsJKOQUABU7?JvF7^o>M ze>_uNW^#ZAqi~i-KJ{0>-nMrGuEDlRsh<;GpMmR7h`!A^Zpanto99KB(O!^Z3!k~k zJMtwv7!6EF{@P9n74pqJmD+y%0HOV?Zw`2$@J`cVuM55a8WdqReYMX&cqy)mDlS;! z9n=C`TZpR7`F$<_irXWkCHx6dFe6sRRMD?w*3Od7$u{?FA43BbS zNqTC~wJ!I8(?0Og`i$A!y$C_SOR7vtb0)7NM`tNZm8W8{E_G~-3J2u<@0{-ApVD{B(QO&NC(=W@ zhP)>v+&!mv3RkcQIhli${gO>P_GSMyvz)>!i86%5?D6Y;7AJ7l4jgNwbrA)IN3k|5 zzMiux1eMN>9zD&49j+@B}!!kDB zs-iA?aFJ&I#Ncs7Dg5sUKP0bxCa8Z%jHNg7%w2}jM_ws%C81Q-Uv(RlzH&Bk1QbQo88Iy+m=CW z%bLyLe)Nmb(DT1OP;(H;M-)tSh6`Io{AsI5QuGpBJfpZNMJ=t~iSEjzJR(L$?I?p3 z#@!5#)=`v1WbVBZ>_&T<;Ba>a8AtrxRR^b3l<;eBDVkM_b(3`&=j!X~>Js1gL6x}L z1~j%=-01xS`ZkfKRiCK?`zbuZSflGb1d6BCx20nf4lmP$*(JOd%q!yUQfm`=$E{xy zd`W=+jcfoH>0>30Ju#+P_PMtauWggWw@q_#>eHd+=fG270y{EEFSl*J8qYEkNI0X> za7GELxO1~l8x^=q0agrNKKE;cN7-}qQgA4@xj106U1UN)aOmfk>ZKLKqc(>TgE?$g9o(4sKr6rMSzp2hCFv7)#6H=k#c8s4 z{y7Prg(DH7qazPSm2CN38o6#k!N4Wwx_SJG+H<$lPRbZq1w>9gWa*HN;c2WMU+HBY zWu8O{F(YMyn5=3CY>eGz_uE4_l*^|gepG-S)Uz3lE`{1$cVZr-Nk*|3IcZ7@M6C7g z2L_2p&2j+|0piEa1;CQ?c&P#$6W+-I*ldzYq(I^UPU{vdPRV0E3Lif ztg`R35{%bab)zILK=&rn^73Y)`#}uIH_;U+1JK!pKzP#(N|_qCV@@>aZcTQO*A9i- z&mFbXt3KI%Vw(E%>Q}2eHVFg7gP}6BPk`(cAYSh+SmyU>D?w+w0QBwD*C*^R6}GH4w3>8y9zCjr_VkWn?5mflnu?^k)nv$!W2b?BOR_tR0(zm&65 zHQLw_F$FycJG5u}lmHiu+BdgiK@g?$Ro*6(FMcF{WUBGo7g~o81KOYLsm9EoUH5eW zVeQmSu7HgyrE+gL&$*VrO(|cThdawV&|88uf@&G+CkC2FpCFy-R`L@6xFWAvtlO8# zc@TFi**S>=HP zsI=aLvdiiBr@iG@ zU!GY%x`NTEx>2zEVz%GmyhL+`&!^{Uxs#_5gQoG>-(EARaVJ*p<-e>H85A7JN;Gw z+ZZ$L_UOd!i~MKavH%bN6mb4sQq)_68RR(&&J^# zU)pIvW}bM52tceBQB|ibjJZUUfnq}#pd?~uZpR#8XiWee-5VEIRc4Wq%3{By920RO zz)&2Su3uF=W93)m?UR&qQe{7Bm+6fL_bt?>G=OcN2tj_zBxdtO;;%DlMYS--EH8y5 z>pKS0l|ysWZg+&mS-I~Bh8a3tnN;0ET z3qGwfGLm!Duh%+z%4wnHIFA?70t7dpWF(%n_G8gGwn|~G+C>}3P#$XL0f0B|LqmE! z96)@o4wW?}81zO!kkbiLxET(w5AsF~nP<#tJggd11r1bC3;9qC&%PHh6FMPSGiW!V zR>4N+F4wm5O5)mm>wuSN3VF-()Guj>PZjlj6HVn&rmJv}#))!1KwkW&4X#lzzY37< z9m-=3AqsaxEE9?1cou7UBV5sYKV@`Rd;Suh7cXRd(v!;BDZNhyVWrU>9k929qBl#3 zUgj)rf|@Um%lKOl0IFwl7v_nMDg7A{Rc*fBIX5Uzrs(~in-cePw3DYA%6$d#QWBFP zTMxpXeGR3$#N_j%p^Y&Z2mv&yqJoOt318RhF^?~Q+26316Af?RW}`!SoacmTz0ZJ5 z<8O-B_`f5>J4U?0RnjQJY+v1ColSjr_cTe%kZ5Ft1jxODev78jPU-K8%Lg0fbN%+* zKnpbHf(+7Od`sv8@oSSd?QG4u0!SL^%Iy${xHMpgFv>u)gztBAwJi4KjdCKF#2IgE z_4TUtL=<1xQrTTU8i5Gy(3yw%H8pPc9hGM=woM*xqW0Xv87Raqg&Lcf%WEa&m@t7H zv&d<{<7uY1Edyz#sA-9|Z-Fv*#19a&%EV{??ECuFSV~%2W%K&>@U=Sz3Bu4hon?vr zK_16kF?`30!)C;c{58E*VM8WIZMSN_-DKNcvES^k!^#3VwA#tg3;`rV$xz`5H-nnWbc6O2%;l87$mUabtAam-mrY)%$$M%eR zxdnFERNMws;};;Dww3R=1FS0e*k&L2sq!NV!z=l69n;d0W`PL@FHHCBC^rr(PbQz% zZ86VHE)RiLia7lKRV~D(6FO=As9)XLLu!WY_A#KDy1=)ikh=b$eZ$5mLFpyW5!w!6 z*1+b10xWbExhKc{-Cq3pgQ~?G+W~&M^XeyP+0%g^$dGjKF zZNtRE^MI&)HLZqn+rYL$WbV(8nvC^abISeu2H#CUkV!dSZN0uq!HW1~mz^X%Ck&U; zPu2G~DVOhHqM60G3QJ85EcMbKTCws#dR zXAaS4Ogmkjq%|2Hl`@T{33dy=1}|W>jb7e<4SShp*12ze?Q3o#u-_1w_zNdrmIp~x zLs^+~i>rXB`evX(0!2Hq!MAt)HvST-gA$%sQgj|B*(6n4H=~@$_$dWl|PE5P30;yMy!xl>X(W;T|GZ;jMEvrGC2@{KY0kY&ak6GK$SNrdnpT$gYV zT!~FhdZ2dK=1ZRR%`(=_3wY>hK5<1_8c%vaeiv3EeAA1}v)+*vz%34-aLw(y;afVd zBGXsVIJ9979|Dk*eAKL(y5D;uIeA?2Zb~LEJ)|djR2l9Ea&$H`kcM;x561qPshZ8d zo&JjUQQDb^9~rQ5AXh^C!sXu+4#Y^ZxWgp?R2JGqWMbqN1obltmTZBASzy|Jd-9y} z0PRL)JZ(XMor)vsYBko`0+v{Elq*om*p>6y9co`3FKL%v+79f}Dz2syAJ;DT_xdAO+E;%X5 z6$EI2B*=HW9F#JX&KSzo-bPa7Pp!74)PIVIocFK}1y7w`c4YF?@NvU98J|YwF}JpNWu!t34(6 zFXRyVlf6&))pZ~ExaYh3a!itjm&k(cNQxE)BI`@AXw2rSRsNUdbDE6pSKBMLb&!!w zu#QDvU78&V5xa* z;e8kCh#6azrQt4l7&>Ze#5K<+CXA2Y ztHr-F4S&UJ?+HiEx==mghe-2|2iLYXHd73-x$+9=ZXj4FHh7Y^l)^qsM#;lH$Bk_0 z`+yq7t`sF5P5o69zu&qp(^aYOz}6BH!!y~zd>)FXVnKp!q+1_IReMg^Rn814?YH@P zgzgIf%#hCYWa+q|)mWq<@_I~0buhY&$&;5`qZAbcm`|ShLR<9Xt!v~h_cP+1qoVb| zcj7F)@EkK{LgtxA^peS4;L6kFUz@Twh!Fri@G%*ugU|0a1?^nF818A6G=CWacPYxy z^M4+HWmL*YE_M69HnP{`VIoh!xDp~BNF0v(PoC}8nUhSrWQj~nF1p*uInP)kVyZ?l zL<%L~9APATXD<;XUHOn((3$$EJfzvuK=kHY;zt`Be($n>hwuKh(qQcSnai;3NECb{ z>wO}oUIL^goy+)~QF~uVR_g<3vEMH3V!;NWkTsx!V`DcqOxVm4RgL~FBg#px$GrE0rh>ms@vW2vJZdp z4KB#^W#vkJ^mP~SE*FQ`^PIq^`0V=>iVVwKO8tG*Z%K%e!uuLWTNI&k?1l>mlBcGs zY6391ne2y&WJ`k}Sb>D=E!6eXQNOuTxXyfa`Mv+06 z_-d}y1VAuZ6f6Mky34b2_+3teX7U+VS@yZ!V$8)W8R<{I-G}0Hh*-pQymEi zRf8=JYAVJ87=Z+c&pB>fHuel8=Je2WiKtoT9>{>x9mW?*f15(!sRkl2Tse_+qh8EA zP>gx6*mWAMVj&?!nSs=6!08xQrIya7EYN16U2-VAY*LQK$AKRI6rjbLU#q4VB)07O znq7{f2$@uZ?6t}4v(B8BM_H(lr(vP4oNsI zzcEMItVM#ULZ^%UyP7Nw79^wAUuEL6&g*9KPJM&z+Nvj-nv}Gw4k=LH{rgOlO+b-C zZT;T#`xR&7Y-oQ0cn-RmNhO?~yI*(t!7YYIPSR1=@*Bd49e&y+&Ciu!29EOtHZBc& zHbWu(mDjuxCGXr!3`w2U|1>s^Jv*_3pVK8GQ01^cU*&*!aOaQYdayP zS^eo(5HmAd>$n&&PPh{%PUIm!($S!hsRFQKlt(GysPQTT2#5}ZnUwhIk5S6jO-%p= z`EI`qYtvmG11g+|)0i=4C6nhXwn@6+1^`InSN2hawvtK7N2?UoVD;v{E~G0;Q-;zH zE=XfAMwSM0wa|qRW4FNDy%q>33+2M`oasR^3WHwtY;ZC-fK5vw zX=&v)QN(a>hH0t%1xORSp|RmEo)TVSpffBW)5p$NXkK;y?k@HT2~r8+J_GVvRCJ3X z#1gL4A61glpDu>xVq zzV(ZjXlCz&eCF+M_sG7P6=3ueb(j0+ zEchsqAQV)g&g|?o?};)%IFqH=v1GhcV=l43Ck+7HWVM49VxA~W@;QxJWzPDsL zwb84PhK>p{#S!C;Po96aIzUsm04Bz0q>I*F4z6q<)r#xOcoghdI*x;64waWfL;V{9 z@`nIt@t(O?w{+N+2yz#U9?%Ykx*`?2g+8Npi1Zy22Bkk_>z<-B?{i2Ufufpu4M59=U5Z_qWL3oAm=p|2~Thj|DZX@i8)_YU}-4e}(E z${WIENYCT~AzHz*1dp6q$;ZSMTWK@Pg808DtO)QuK@_y&`xry09ZB+sykmV zMU9V&J{eB(nLIR2n5(&|Axase$(1v$0$4H{4rO?A8sC1iX1@C7A(cu-BF|z<6IS?0 z`Rej%ZJhwP!kOPAx5X*tBbnxBrwSn|P=lhwu?7mD&{jun>VeIlbV)C#Nm<|S6Wn|v zs(SMXO|%>TnMSYkM8RH6U+vfzx4n;(c0sb4!W$zlRFeSdZFayI$&pDF>&0HD*#&8k zaXG>F9*30ql`6+OpwV6OnR+s!CE*#HU$8_5kf1ZIfORtnX;pTTW$ItWS?&lJ1ZRKV z?Zb3oU#$J(*EG06P zvM)sx*-j=QjWtWwN}6J1-x@?IODWm+2-(*|$ez7yQ%$l=C2J(>*ynrAb57@Vp6B@s zzRxQ^c`@@DWte?~;nvY|X$tN8z6(heqCj)T z)#?Q7&6^)>bZ3S1Ri7}G=y4YNx|YDglnD*7>{PEH$vQ~Ev0&C!VZEg6mV!U+fE-}m z9`O)B=Tn*y&qKCS@28+y;6S5+VQ?W`0|7|*+UC{+5MbY}1UfZTP}6a*nW*!u((;Fq z%zOL2C$e49+c}}-IK90DL=J5ySO5oqW?4wqbYuNM5&PpZ)GbZE)@s5oW|Y5^nZWGb zdQVs#VdM8aPNzPv$MYl4S)!U(Q=dEsh}*EXJ{%XHeiiBAZH*jT`^|g4EBP6m7_5TR zR^rcRx%l-430DznEXgoM1~i$8pP9k*D+!(e&n)7qS}&oXye3T;3ljAkAn!P;cqAbU zylBIZ1l!$mXD-LpS&>8#5EaADn&of^HpFVSy1P^M_S*tJ30^Qtl!Lh?0hWcv!f1en zcT8#?zi5!i4`WV}w3@q)+$;#K_6%c0CSF?6;tSRX2NRoXJ3)#SjEle5-PJYEsLEzR zQh|{-dW(BA93(oui-?n)ye0*gYM_g$WtQkv=yXa<10kKRCxH_~DzQg%n-7)Yh=j6( z>U)By9uW?8E$b0Lg{%u|4!;qw8)L04lTbl6I&klhLY9qM*`+=g}aIol6LKoH2W$Z*Is?L9tf*htZyD8I6zOLtmet%$KjnGp3{{SGBnCA1ZQIDwjv#3a zwXYOWUI60oBFJaX@4BO*@#4D$A5!$aWJXdc%4$J`)+|dqBRB52o6Sf7&NXmpU>QyC zzaxauUhW`DH&$3qzf1wv*9I!;1=unYw!#t$oI<}<8Gf+8#JEr32Ff3zE#lxM7l79} zJBEqlhK;!0z*&cA`Tm+L9_Xjs*X00GMA+~2j;xRfVL(hSwwIW{U_sZw{6HnhsxgM0 zRD|u$s;hgGG~SJG+*55=`T2=K(k*$zTo6cKg!PY!W=#F2V0(}MRi-^4pP)Dj99?-4 zaLdt^FYD%UUp>xn&4??HKEDbO0!RwfBKJyhxH9if@GKK{=N3cq%O7u?66w>0&Hngc zy#-DXBJ9xvFv_P@ zu;jOE@90Tx)B^HsN*lfd=dVFcGOAF9G>itFX_i6@UWC?2xm5?2ZNMfasOcOFn#j=3 zd_#tt72A=vl9xagJTaM5=Iw#4&=2z6HDDgQ>TsN-He&x1a?z^97gVgF=by%@8;iVT_dZw)z>*P||0Ais z1@Eqp_m}GsPl$qAGluqd1QH5C(k}&NXES&(g{KRT)#EG#v2_1n>bf25ZbkMY&6{%g z!If}8L5L>NcX9DnZWb{C?wAs`3uURiN1?}QcS;O2RSjH2^A}ncDnY9C52H;LckCTn*@`l*Ou}Scj=q*j?#c*B(G}aoj&Oeqb z^ZOL`E2dgnGsmib)$nDC_sm9P!)vO?9l*Cqg=|5J3)nH%ZHIi zMh~)X4`}zh9p`0>_wjr5t*Qbz%rMwkzYPu!K8a096P91{R_f@BGg)TP!NJMwQul&z z24U{_6sNyEGcd1&0}n5o#k(A3saN8!gT|Nw6F{&}u2H9B%Z3FvcZY9iS2gY{#fgp2 z`6BPfB^C=cpXV&m=d=!9y4yyDN<@NS)jX24-zK1G%m0{p{ z#VGjl!eIH;Pq=#uF`W4gv^*bt+0|9V3zB zmjMAzUCgKNclon9ImuvoIt#4ySmc;a^6yj~Y~F_(SFfHiF)>LM?OA+wtj(vkL|nxK z43CF!@ybQuY^98w>VOy?tTlw&In>gTD+a$YY17ANYTm#(0-Cow0KIW!wz9`WJK|Xd zs9I@JE6WcX*b>{ZdXZKzt0)r9GV=P31qYJ430UT-iS;euv_jJOcel<(<+1lHy}kZ^ zsNBLUA1!{)*;-wG*$%j)x>4pPK%R#4SgdP+nFZ4B0bjVwZ23y|M@oHG#We4jm^Vo|U-504<1zGQ|N7XKD z9Y`39%*9F^sx7{dTLZbp2I_hnuL40eP&sF2+v)*h&RPL|9e~rhfUj?x1@bws(!~1w>F_C#rnk0YxEWYUL=)t6~nH-|vsv zu`5-FF?wC#$uRWYtG?x84j3J9hg}cS?nf{29lv<~t=ncL*t{(`o3j8WQ~kLQolaz=1LX@SCsuA!?F%l04};9mHe-u9KT4 z?7g$P^78m;9&M^a{8bgrhykMPX36Zjhop>s>xNLv2u(5d=z**lqGS#w>lv{kVf6Iiyf|YadqXncxP76$&x(o+E0g-mI@3-fd-|Tktw)U&FyAAc2_HfDz_7c zCq{r1N!H_ZfPj~ihKGkJn>D4!JDFRb0^d%2%EcT~POKu_Gr0N?v@U>Z;1=Va`aaFM zZcHpQfUegHY^QcT?Tg{MhMZkMpZEB>guhl&YxaYoMjSs`Mq#oj&L+h=%TpxwQb5!r&% zC;bs6Mpe$J%MpT>C9Kxmh)IkHt$PAjw3ot#-jlDr<+9fEUygvJydNy9cj-)EC$=J% z34ADbC?OOtUv)SIQdFNkL5}tn13MT8DthhZ3a8zx3qO~Nub@E`2h_&6A-j#;w`!sS z9B|D+Nbb__RYYK8elg)`fAj1>$?c&ZDaFWMv5uDI)~&=XB{(b0riUvlXr*SNNhS%# zB8ox@+Fhdg?5rko91^qxkd%RvEOR!#KTv1*NVzV>c~Md zra|3FersK|JNo@k?Njv~?bQ&-m=2y%IkEee-qCvBI&9qW0gZ-!kE2O4jAbTPfNVoe z*uoE<){b!1;%gmer#Ni6JjZ>cX5zeW!f8Y9`<(mymJlv}xl%Y}r_F6eU#|Vj{m&LI zp-@|;)gQfz$&&cE=9p~(stq%bEyefUSJ9aA>knaVL-uHLIR>aI!<{gH(ngHsoEDIt zsb*13*!pt@StqBffk}+Yv3sWJt)SHORN!*e>J3@mIw)ePN3SES$H4oiNyjH|6t%2I z?+E@eUWSHR*C$O(`!~?>0(nIVb)$IK6}9_m!e#jRB@C~b(YvfnoYswVR1qKjbFxn@b+YPvu&KrEgIN`Q<%$eQW>yxpVqj+fuAtBA zH;^AFFX@jYY0CDr{8(aE{XtQvK{|WH z^G2={pP0DkD`OWs>X5x0wV1f~t>sPk_rZdi-f@{YV~}e3-SS)io$j?i<9tcha=^&6 zt8rk~BiSBndgiUoGOIOwTe9vj+#~oTlvMKT_BQ zA}>0--^A8OZ?jFYGmXZErA^H1(PkniCudIXeI4>JOSr?fc9s|c@K@OOP>LFwW)M61 zsAwC*5#b^L6I9lQwwP2rf8TSabz9@|=pFawP!MNv`U`$cZr7Ig1je|o*um#30=Nhd zP-7f3p^RL@i1bya`cE71URUDcNs!K`yM6OhGhT94$av$;&Q19t)}7?CJ|wZLS2`>l z&L3Jwg|%F^9)TBHSbLn3GStH&`zURsD52-Gi#0Z&pD6M%8s7yFq%m|)*{1Ph&#GF$ zl3cYHn2h=*7R0^~C2hiVQz;YKC>p{OQ!B1ruROmAob{6lrua4P8g)H!^QM5lMSv1L zEJ*n-*e-4Z*X%b&Mw<_Fax@-1LaAnDgr==%V)TaJecP05^1HSr!&WX*vu@#q&&!qz z5)LVASw-*mUlUrgm6J+j`o2;8VLXh`vhq;DJjI_qvUrA;{nQOMVGn>F-!$-G<_tE> z7H%c<*E!6ZV^uGQ&OFj8+_Av>hD>kby|U|P!-uQKO! z>(Z2~2PxCeGj;mp4`9%u0y+I?@4KfZUF8=_Pn3!voXAQz@Ca(#*izGk6@mq(wIW=Pa3T9_{1jheqDRM{ z=dATZT57^jkHm0f$s*j;^FMa3I7}@mNTA%zDh4(`?lF3hqT})kw@vh;JT)>#Mb77o zN+O5OK#`Cb5P+f&M`%G%>t3NRxTJ?{xctG~aIs@K))ny&LHeGYP>?UkS+RIX%xD;n zXGQ>?eeTl96N9=!zh|m7p*=?LR3~Lq?dTudYK5oV zc5(T^`B}H^A*1wap5*fCr|{0&g??F7^ipG1n|#6>0U(6F+{ausu6YeyERWF_u*?UF zm~BMf^{z>V8FM$wOPX`mJ1QGcAOh_BwxnLJSW0d<{ag2m#|u!+aU?kT9yb@ zNOTDsJLM>PY$+MG@$`vFZTQH2A2Wo&h?lz2 zqaMJmN4r-`l*}%U9?J=04x4Uwie_61g}apt<}WAO9?!S+F(9jGke1kqv#9mK-uib= zi3tp9C)^vgAD^GB+RCsjq)gdnI@eh2Vleye67y2L^CKX}m)U$W7K(*`2# zx0(sg?cZdy1h+Pu9J5q33LVmSRFlK9CigrUpp;W2#hQbL+y-AEZRvaG1r#Xjy0i^A zZFgut&7=??)QNY}M7Hfn{g>?CTN`K=OVQ4GZE#j7XX3tB6cugW)^=~wl24(4R;(I= zGBnh7ZF#XdzMU*uWSF@NmNkK(&pVFm4A53o#t(61P6ZdgRi&T30a86z8O-gcN!XnI zPY*+gau4GEL=nJXxRRbU_>I%MTz|>9esx2v8yncgZRb2AKEn_326v$*u0gGL# za0nI#IO?y4gB9P;MQ1cS+0QO53u$p5cwU&Vs`sWD_{@b6bN;5 z<6EpcL_8=>v9;0nGI5R>qcSd@JRjA8z5(RsWc1{tjA5#FAt^m9>!5Zcw*tQ50nUvn z2eZfrRu1F*3lvZ*uj1lG^CWe+&r&g9If@o+S1}Uh5=E~O^9q_@1;{}U4<~o?2*F4Q zHR?FXD8-ck5vO9{tn#n@E2{Oc%vD-KxbSUgG7ew6Vt(+SdFp@0jH8gnf2Gy_nIZbu zx2oF!v=df4G{SM<=e#83=Tm{LW2as8AJ>O(wa~y2ZR6b=^Jn($KYt4n1;T$l9<56U zcehqg+Y9xdDX4$Np2Jh=kO}&KUg6JpQx0%*>IR%?IZPX%_V2F_%&ow`|Acn2NL9du zIb@GX{`Q}bhd&ls`};ro`(mjKz_vuDK6VQJ`$vDj6ztD1kNH2}s>2Yun#%AXO#5F$ z`u^>=@KGrL*W-VE6u&--Kkt(N#Z|F~N7fHPwl8a{s~P^>E`F_$|GeXWZC3x-M}O6g zp9|$@$@x_`{?T3hD&hax9sMuXjh{>4SFQL}EB@6T{W@d(tOl?b{#q6PA6CT%_0=4Q UXtEsx8G$cN%z5>K->n1w56IyP@&Et; diff --git a/app/src/main/res/drawable/sort_variant.xml b/app/src/main/res/drawable/sort_variant.xml deleted file mode 100644 index 83d5e4cb..00000000 --- a/app/src/main/res/drawable/sort_variant.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/tag.xml b/app/src/main/res/drawable/tag.xml deleted file mode 100644 index e152a6d9..00000000 --- a/app/src/main/res/drawable/tag.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/thumb.xml b/app/src/main/res/drawable/thumb.xml deleted file mode 100644 index 4541d8a9..00000000 --- a/app/src/main/res/drawable/thumb.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/thumb_drawable.xml b/app/src/main/res/drawable/thumb_drawable.xml deleted file mode 100644 index f72a3577..00000000 --- a/app/src/main/res/drawable/thumb_drawable.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/thumb_horizontal.xml b/app/src/main/res/drawable/thumb_horizontal.xml deleted file mode 100644 index 0de6aece..00000000 --- a/app/src/main/res/drawable/thumb_horizontal.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/track.xml b/app/src/main/res/drawable/track.xml deleted file mode 100644 index 770f3075..00000000 --- a/app/src/main/res/drawable/track.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/track_drawable.xml b/app/src/main/res/drawable/track_drawable.xml deleted file mode 100644 index 22113141..00000000 --- a/app/src/main/res/drawable/track_drawable.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/translate.xml b/app/src/main/res/drawable/translate.xml deleted file mode 100644 index 8507868c..00000000 --- a/app/src/main/res/drawable/translate.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/default_query_dialog.xml b/app/src/main/res/layout/default_query_dialog.xml deleted file mode 100644 index 968fde0b..00000000 --- a/app/src/main/res/layout/default_query_dialog.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/download_folder_name_dialog.xml b/app/src/main/res/layout/download_folder_name_dialog.xml deleted file mode 100644 index 4104aace..00000000 --- a/app/src/main/res/layout/download_folder_name_dialog.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/download_location_dialog.xml b/app/src/main/res/layout/download_location_dialog.xml deleted file mode 100644 index fde6c7d9..00000000 --- a/app/src/main/res/layout/download_location_dialog.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/download_location_item.xml b/app/src/main/res/layout/download_location_item.xml deleted file mode 100644 index 50335e91..00000000 --- a/app/src/main/res/layout/download_location_item.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/gallery_dialog.xml b/app/src/main/res/layout/gallery_dialog.xml deleted file mode 100644 index bdae3e64..00000000 --- a/app/src/main/res/layout/gallery_dialog.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/gallery_dialog_details.xml b/app/src/main/res/layout/gallery_dialog_details.xml deleted file mode 100644 index 1c3448b7..00000000 --- a/app/src/main/res/layout/gallery_dialog_details.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/gallery_dialog_dotindicator.xml b/app/src/main/res/layout/gallery_dialog_dotindicator.xml deleted file mode 100644 index 02b91987..00000000 --- a/app/src/main/res/layout/gallery_dialog_dotindicator.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/gallery_dialog_tags.xml b/app/src/main/res/layout/gallery_dialog_tags.xml deleted file mode 100644 index 539d34a8..00000000 --- a/app/src/main/res/layout/gallery_dialog_tags.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/lock_activity.xml b/app/src/main/res/layout/lock_activity.xml deleted file mode 100644 index a19341ad..00000000 --- a/app/src/main/res/layout/lock_activity.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml deleted file mode 100644 index 3a1ebd5f..00000000 --- a/app/src/main/res/layout/main_activity.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/main_activity_content.xml b/app/src/main/res/layout/main_activity_content.xml deleted file mode 100644 index 7872a8f5..00000000 --- a/app/src/main/res/layout/main_activity_content.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/mirrors_item.xml b/app/src/main/res/layout/mirrors_item.xml deleted file mode 100644 index 2b349771..00000000 --- a/app/src/main/res/layout/mirrors_item.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml deleted file mode 100644 index a413c18b..00000000 --- a/app/src/main/res/layout/nav_header_main.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/pattern_lock_fragment.xml b/app/src/main/res/layout/pattern_lock_fragment.xml deleted file mode 100644 index c0105690..00000000 --- a/app/src/main/res/layout/pattern_lock_fragment.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/pin_lock_fragment.xml b/app/src/main/res/layout/pin_lock_fragment.xml deleted file mode 100644 index 7099e499..00000000 --- a/app/src/main/res/layout/pin_lock_fragment.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/progress_card_view.xml b/app/src/main/res/layout/progress_card_view.xml deleted file mode 100644 index ed004cd2..00000000 --- a/app/src/main/res/layout/progress_card_view.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/proxy_dialog.xml b/app/src/main/res/layout/proxy_dialog.xml deleted file mode 100644 index b48565e8..00000000 --- a/app/src/main/res/layout/proxy_dialog.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -