Threema 3 anni fa
parent
commit
3f2dc16873
100 ha cambiato i file con 22473 aggiunte e 508 eliminazioni
  1. 42 15
      README.md
  2. 34 7
      app/assets/license.html
  3. 108 63
      app/build.gradle
  4. 8 30
      app/proguard-project.txt
  5. 7 0
      app/src/fdroid/AndroidManifest.xml
  6. 5 24
      app/src/fdroid/java/ch/threema/app/activities/DownloadApkActivity.java
  7. 29 0
      app/src/fdroid/java/ch/threema/app/utils/DownloadUtil.java
  8. 629 0
      app/src/foss_based/assets/license.html
  9. 20199 0
      app/src/foss_based/assets/passwords/bad_passwords.txt
  10. 29 0
      app/src/foss_based/java/ch/threema/app/activities/VoiceActionActivity.java
  11. 36 0
      app/src/foss_based/java/ch/threema/app/licensing/StoreLicenseCheck.java
  12. 13 14
      app/src/foss_based/java/ch/threema/app/push/PushRegistrationWorker.java
  13. 49 0
      app/src/foss_based/java/ch/threema/app/push/PushService.java
  14. 28 0
      app/src/foss_based/java/ch/threema/app/services/VoiceActionService.java
  15. 0 0
      app/src/google_services_based/java/ch/threema/app/activities/VoiceActionActivity.java
  16. 88 0
      app/src/google_services_based/java/ch/threema/app/licensing/StoreLicenseCheck.java
  17. 0 0
      app/src/google_services_based/java/ch/threema/app/licensing/ThreemaLicensePolicy.java
  18. 2 2
      app/src/google_services_based/java/ch/threema/app/push/PushRegistrationWorker.java
  19. 2 2
      app/src/google_services_based/java/ch/threema/app/push/PushService.java
  20. 2 3
      app/src/google_services_based/java/ch/threema/app/services/VoiceActionService.java
  21. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/AESObfuscator.java
  22. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/DeviceLimiter.java
  23. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/ILicenseResultListener.java
  24. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/ILicensingService.java
  25. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/LicenseChecker.java
  26. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/LicenseCheckerCallback.java
  27. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/LicenseValidator.java
  28. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/NullDeviceLimiter.java
  29. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/Obfuscator.java
  30. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/Policy.java
  31. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/PreferenceObfuscator.java
  32. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/ResponseData.java
  33. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/StrictPolicy.java
  34. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/ValidationException.java
  35. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/util/Base64.java
  36. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/util/Base64DecoderException.java
  37. 0 0
      app/src/google_services_based/java/com/google/android/vending/licensing/util/URIQueryDecoder.java
  38. 5 2
      app/src/hms/java/ch/threema/app/utils/DownloadUtil.java
  39. 29 0
      app/src/hms_services_based/java/ch/threema/app/activities/VoiceActionActivity.java
  40. 68 0
      app/src/hms_services_based/java/ch/threema/app/licensing/StoreLicenseCheck.java
  41. 1 2
      app/src/hms_services_based/java/ch/threema/app/push/PushRegistrationWorker.java
  42. 1 2
      app/src/hms_services_based/java/ch/threema/app/push/PushService.java
  43. 29 0
      app/src/hms_services_based/java/ch/threema/app/services/VoiceActionService.java
  44. 0 0
      app/src/hms_services_based/java/com/DrmSDK/Constants.java
  45. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DialogObserver.java
  46. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DialogTrigger.java
  47. 0 0
      app/src/hms_services_based/java/com/DrmSDK/Drm.java
  48. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DrmCheckCallback.java
  49. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DrmDialogActivity.java
  50. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DrmKernel.java
  51. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DrmResource.java
  52. 0 0
      app/src/hms_services_based/java/com/DrmSDK/DrmStatusCodes.java
  53. 0 0
      app/src/hms_services_based/java/com/DrmSDK/EMUISupportUtil.java
  54. 0 0
      app/src/hms_services_based/java/com/DrmSDK/HwInvoke.java
  55. 0 0
      app/src/hms_services_based/java/com/DrmSDK/ICallback.java
  56. 0 0
      app/src/hms_services_based/java/com/DrmSDK/IDrmSignService.java
  57. 0 0
      app/src/hms_services_based/java/com/DrmSDK/ViewHelper.java
  58. 0 0
      app/src/hms_services_based/java/com/DrmSDK/util/ApplicationWrapper.java
  59. 0 0
      app/src/hms_services_based/java/com/DrmSDK/util/DeviceSession.java
  60. 0 0
      app/src/hms_services_based/java/com/DrmSDK/util/NetUtils.java
  61. 0 0
      app/src/hms_services_based/java/com/DrmSDK/util/ReportUtils.java
  62. 0 0
      app/src/hms_services_based/java/com/DrmSDK/util/SharedPreferencesWrapper.java
  63. 5 2
      app/src/hms_work/java/ch/threema/app/utils/DownloadUtil.java
  64. 45 14
      app/src/main/AndroidManifest.xml
  65. 2 2
      app/src/main/java/ch/threema/app/AutostartService.java
  66. 84 18
      app/src/main/java/ch/threema/app/BuildFlavor.java
  67. 129 77
      app/src/main/java/ch/threema/app/ThreemaApplication.java
  68. 2 2
      app/src/main/java/ch/threema/app/actions/LocationMessageSendAction.java
  69. 2 2
      app/src/main/java/ch/threema/app/actions/TextMessageSendAction.java
  70. 2 1
      app/src/main/java/ch/threema/app/activities/AddContactActivity.java
  71. 1 0
      app/src/main/java/ch/threema/app/activities/AppLinksActivity.java
  72. 2 2
      app/src/main/java/ch/threema/app/activities/BiometricLockActivity.java
  73. 10 4
      app/src/main/java/ch/threema/app/activities/ComposeMessageActivity.java
  74. 2 1
      app/src/main/java/ch/threema/app/activities/ContactDetailActivity.java
  75. 3 3
      app/src/main/java/ch/threema/app/activities/CropImageActivity.java
  76. 1 1
      app/src/main/java/ch/threema/app/activities/DirectoryActivity.java
  77. 83 53
      app/src/main/java/ch/threema/app/activities/DisableBatteryOptimizationsActivity.java
  78. 420 0
      app/src/main/java/ch/threema/app/activities/EditSendContactActivity.kt
  79. 22 31
      app/src/main/java/ch/threema/app/activities/EnterSerialActivity.java
  80. 35 0
      app/src/main/java/ch/threema/app/activities/EulaActivity.kt
  81. 2 2
      app/src/main/java/ch/threema/app/activities/ExportIDActivity.java
  82. 4 18
      app/src/main/java/ch/threema/app/activities/ExportIDResultActivity.java
  83. 2 2
      app/src/main/java/ch/threema/app/activities/GroupAdd2Activity.java
  84. 40 26
      app/src/main/java/ch/threema/app/activities/HomeActivity.java
  85. 2 2
      app/src/main/java/ch/threema/app/activities/ImagePaintActivity.java
  86. 8 15
      app/src/main/java/ch/threema/app/activities/ImagePaintKeyboardActivity.java
  87. 3 3
      app/src/main/java/ch/threema/app/activities/MediaGalleryActivity.java
  88. 13 9
      app/src/main/java/ch/threema/app/activities/MediaViewerActivity.java
  89. 1 3
      app/src/main/java/ch/threema/app/activities/NotificationsActivity.java
  90. 4 3
      app/src/main/java/ch/threema/app/activities/PinLockActivity.java
  91. 9 3
      app/src/main/java/ch/threema/app/activities/QRCodeZoomActivity.java
  92. 34 15
      app/src/main/java/ch/threema/app/activities/RecipientListBaseActivity.java
  93. 2 2
      app/src/main/java/ch/threema/app/activities/SMSVerificationLinkActivity.java
  94. 12 14
      app/src/main/java/ch/threema/app/activities/SendMediaActivity.java
  95. 2 2
      app/src/main/java/ch/threema/app/activities/StickerSelectorActivity.java
  96. 2 2
      app/src/main/java/ch/threema/app/activities/StopPassphraseServiceActivity.java
  97. 2 2
      app/src/main/java/ch/threema/app/activities/StorageManagementActivity.java
  98. 2 2
      app/src/main/java/ch/threema/app/activities/SupportActivity.java
  99. 35 0
      app/src/main/java/ch/threema/app/activities/TermsOfServiceActivity.kt
  100. 1 4
      app/src/main/java/ch/threema/app/activities/ThreemaAppCompatActivity.java

+ 42 - 15
README.md

@@ -103,21 +103,48 @@ Threema employee.
 
 ## <a name="build-variants"></a>Build Variants
 
-There are currently nine product flavors:
-
-| Flavor              | Description                                   | License Checks |
-| ------------------- | --------------------------------------------- | -------------- |
-| `none`              | Used for development                          | Allowlist      |
-| `store_google`      | Google Play Store version (regular, paid app) | Google Play    |
-| `store_google_work` | Google Play Store version (work, free app)    | Threema Work   |
-| `store_threema`     | Threema Store version                         | Threema Shop   |
-| `hms`               | Huawei AppGallery version (regular, paid app) | Huawei HMS     |
-| `hms_work`          | Huawei AppGallery version (work, free app)    | Threema Work   |
-| `sandbox`           | Uses sandbox test environment¹                | Allowlist      |
-| `sandbox_work`      | Uses sandbox test environment¹                | Threema Work   |
-| `red`               | Uses sandbox test environment¹                | Threema Work   |
-
-For local testing, we recommend building the `store_google` or `store_threema` build variants.
+**Consumer**
+
+There are currently the following product flavors relevant for the consumer
+version of Threema:
+
+| Flavor                 | Description                                    | License Checks |
+| ---------------------- | ---------------------------------------------- | -------------- |
+| `store_google`         | Google Play Store version (regular, paid app)  | Google Play    |
+| `hms`                  | Huawei AppGallery version (regular, paid app)  | Huawei HMS     |
+| `store_threema`¹       | Threema Shop version (with play services)      | Threema Shop   |
+| `fdroid`¹              | F-Droid version (no proprietary code)          | Threema Shop   |
+
+For local testing, we recommend building the `store_google` or `store_threema`
+build variants.
+
+¹ The main difference between `store_threema` and `fdroid` is that the former
+  contains proprietary push services and a self-updater while the latter does
+  not. Additionally, the `fdroid` version will use your system emoji, instead
+  of bundling emoji graphics.
+
+
+**Threema Work / OnPrem**
+
+Additionally, these build variants are only relevant for Threema Work or
+Threema OnPrem customers:
+
+| Flavor               | Description                                    | License Checks |
+| -------------------- | ---------------------------------------------- | -------------- |
+| `store_google_work`  | Google Play Store version (work, free app)     | Threema Work   |
+| `hms_work`           | Huawei AppGallery version (work, free app)     | Threema Work   |
+| `onprem`             | Threema OnPremises version                     | Threema Work   |
+
+**Internal Development**
+
+The following variants are only used for development and testing within Threema:
+
+| Flavor               | Description                                    | License Checks |
+| -------------------- | ---------------------------------------------- | -------------- |
+| `none`               | Used for development                           | Allowlist      |
+| `sandbox`            | Uses sandbox test environment¹                 | Allowlist      |
+| `sandbox_work`       | Uses sandbox test environment¹                 | Threema Work   |
+| `red`                | Uses sandbox test environment¹                 | Threema Work   |
 
 ¹ *The "sandbox" is a backend test environment that is used for internal testing
   at Threema. The sandbox backend can currently not be accessed from the public

+ 34 - 7
app/assets/license.html

@@ -181,6 +181,40 @@ SUCH DAMAGE.</p>
 
 <p>Licensed under the Apache License, version 2.0 (copy below).</p>
 
+<h2>ez-vcard</h2>
+
+<p>Copyright (c) 2012-2021, Michael Angstadt</p>
+
+<p>All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:</p>
+
+<ol>
+    <li>Redistributions of source code must retain the above copyright notice, this
+        list of conditions and the following disclaimer.
+    </li>
+    <li>
+        Redistributions in binary form must reproduce the above copyright notice,
+        this list of conditions and the following disclaimer in the documentation
+        and/or other materials provided with the distribution.
+    </li>
+</ol>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
+
+<p>The views and conclusions contained in the software and documentation are those
+    of the authors and should not be interpreted as representing official policies,
+    either expressed or implied, of the FreeBSD Project.</p>
 
 <h2>Jackson JSON-processor</h2>
 
@@ -272,13 +306,6 @@ POSSIBILITY OF SUCH DAMAGE.</p>
 <p>Licensed under the Apache License, version 2.0 (copy below).</p>
 
 
-<h2>Preference eXtended</h2>
-
-<p>Copyright (c) takisoft</p>
-
-<p>Licensed under the Apache License, version 2.0 (copy below).</p>
-
-
 <h2>saltyrtc-client-java</h2>
 
 <p>Copyright (c) 2016-2018 Threema GmbH</p>

+ 108 - 63
app/build.gradle

@@ -4,14 +4,6 @@ plugins {
 
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
-// rules to allow test running with a real android jar implementation of URI, Uri.Builder for group link encoding
-apply plugin: 'de.mobilej.unmock'
-unMock {
-    keepStartingWith "android.net.Uri"
-    keep "android.net.Uri"
-    keepAndRename "java.nio.charset.Charsets" to "xjava.nio.charset.Charsets"
-    keepStartingWith "libcore."
-}
 
 // only apply the plugin if we are dealing with a AppGallery build
 if (getGradle().getStartParameter().getTaskRequests().toString().contains("Hms")) {
@@ -20,7 +12,7 @@ if (getGradle().getStartParameter().getTaskRequests().toString().contains("Hms")
 }
 
 // version codes
-def app_version = "4.67"
+def app_version = "4.7"
 def beta_suffix = "" // with leading dash
 
 /**
@@ -82,14 +74,15 @@ def keystores = [
     hms_release: findKeystore("threema_hms"),
     onprem_release: findKeystore("onprem"),
     red_release: findKeystore("red"),
+    fdroid_release: findKeystore("threema_fdroid"),
 ]
 
 android {
     // NOTE: When adjusting compileSdkVersion, buildToolsVersion or ndkVersion,
     //       make sure to adjust them in `scripts/Dockerfile` and
     //       `.gitlab-ci.yml` as well!
-    compileSdkVersion 30
-    buildToolsVersion '30.0.3'
+    compileSdkVersion 31
+    buildToolsVersion '31.0.0'
     ndkVersion '21.1.6352462'
 
     defaultConfig {
@@ -99,7 +92,7 @@ android {
         vectorDrawables.useSupportLibrary = true
         applicationId "ch.threema.app"
         testApplicationId 'ch.threema.app.test'
-        versionCode 721
+        versionCode 735
         versionName "${app_version}${beta_suffix}"
         resValue "string", "app_name", "Threema"
         // package name used for sync adapter - needs to match mime types below
@@ -348,6 +341,13 @@ android {
                 actionUrl: "work.threema.ch",
             ]
         }
+        fdroid {
+            versionName "${app_version}f${beta_suffix}"
+            applicationId "ch.threema.app.fdroid"
+            testApplicationId 'ch.threema.app.fdroid.test'
+            resValue "string", "app_name", "Threema Libre"
+            buildConfigField "String", "MEDIA_PATH", "\"ThreemaLibre\""
+        }
     }
 
     signingConfigs {
@@ -407,6 +407,18 @@ android {
         } else {
             logger.warn("No red keystore found. Falling back to locally generated keystore.")
         }
+
+        // F-Droid release config
+        if (keystores.fdroid_release != null) {
+            fdroid_release {
+                storeFile file(keystores.fdroid_release.storeFile)
+                storePassword keystores.fdroid_release.storePassword
+                keyAlias keystores.fdroid_release.keyAlias
+                keyPassword keystores.fdroid_release.keyPassword
+            }
+        } else {
+            logger.warn("No fdroid keystore found. Falling back to locally generated keystore.")
+        }
     }
 
     sourceSets {
@@ -414,6 +426,8 @@ android {
             assets.srcDirs = ['assets']
             jniLibs.srcDirs = ['libs']
         }
+
+        // Based on Google services
         none {
             java.srcDir 'src/google_services_based/java'
         }
@@ -426,12 +440,9 @@ android {
         store_threema {
             java.srcDir 'src/google_services_based/java'
         }
-        hms {
-            java.srcDir 'src/hms_services_based/java'
-        }
-        hms_work {
-            java.srcDir 'src/hms_services_based/java'
-            res.srcDir 'src/store_google_work/res'
+        fdroid {
+            assets.srcDirs = ['src/foss_based/assets']
+            java.srcDir 'src/foss_based/java'
         }
         onprem {
             java.srcDir 'src/google_services_based/java'
@@ -449,6 +460,21 @@ android {
             java.srcDir 'src/google_services_based/java'
             res.srcDir 'src/red/res'
         }
+
+        // Based on Huawei services
+        hms {
+            java.srcDir 'src/hms_services_based/java'
+        }
+        hms_work {
+            java.srcDir 'src/hms_services_based/java'
+            res.srcDir 'src/store_google_work/res'
+        }
+
+        // FOSS, no proprietary services
+        fdroid {
+            assets.srcDirs = ['src/foss_based/assets']
+            java.srcDir 'src/foss_based/java'
+        }
     }
 
     buildTypes {
@@ -494,6 +520,10 @@ android {
             if (keystores['red_release'] != null) {
                 productFlavors.red.signingConfig signingConfigs.red_release
             }
+
+            if (keystores['fdroid_release'] != null) {
+                productFlavors.fdroid.signingConfig signingConfigs.fdroid_release
+            }
         }
     }
 
@@ -521,6 +551,8 @@ android {
         // set to true to have all release builds run lint on issues with severity=fatal
         // and abort the build (controlled by abortOnError above) if fatal issues are found
         checkReleaseBuilds true
+        // check dependencies
+        checkDependencies true
         // set to true to turn off analysis progress reporting by lint
         // quiet true
         // if true, stop the gradle build if errors are found
@@ -599,8 +631,14 @@ android {
     }
 
     compileOptions {
-        targetCompatibility 1.8
-        sourceCompatibility 1.8
+        sourceCompatibility JavaVersion.VERSION_11
+        targetCompatibility JavaVersion.VERSION_11
+    }
+
+    kotlin {
+        jvmToolchain {
+            languageVersion.set(JavaLanguageVersion.of(11))
+        }
     }
 
     aaptOptions {
@@ -620,58 +658,56 @@ dependencies {
 
     implementation project(':domain')
 
-    implementation 'net.zetetic:android-database-sqlcipher:4.5.0'
+    implementation 'net.zetetic:android-database-sqlcipher:4.5.1'
 
     implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
     implementation 'net.sf.opencsv:opencsv:2.3'
     implementation 'net.lingala.zip4j:zip4j:2.9.1'
-    implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.2'
+    implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.3'
     implementation 'org.maplibre.gl:android-sdk:9.5.2'
     // commons-io >2.6 requires android 8
     implementation 'commons-io:commons-io:2.6'
     implementation "org.slf4j:slf4j-api:$slf4j_version"
-    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.23'
-    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
+    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.24'
+    implementation 'com.github.CanHub:Android-Image-Cropper:4.1.0'
     implementation 'com.datatheorem.android.trustkit:trustkit:1.1.5'
-    implementation 'com.takisoft.preferencex:preferencex:1.1.0'
-    implementation 'me.zhanghai.android.fastscroll:library:1.1.5'
+    implementation 'me.zhanghai.android.fastscroll:library:1.1.7'
+    implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.3'
 
     // AndroidX / Jetpack support libraries
-    implementation "androidx.core:core:1.6.0"
-    implementation "androidx.preference:preference:1.1.1"
+    implementation "androidx.core:core-ktx:1.7.0"
+    implementation "androidx.preference:preference-ktx:1.2.0"
     implementation 'androidx.recyclerview:recyclerview:1.2.1'
-    implementation 'androidx.palette:palette:1.0.0'
+    implementation 'androidx.palette:palette-ktx:1.0.0'
     implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
-    implementation 'androidx.appcompat:appcompat:1.3.1'
-    implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
+    implementation 'androidx.appcompat:appcompat:1.4.1'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
     implementation 'androidx.biometric:biometric:1.1.0'
-    implementation "androidx.work:work-runtime:2.6.0"
-    implementation 'androidx.fragment:fragment:1.3.6'
-    implementation 'androidx.activity:activity:1.3.1'
+    implementation "androidx.work:work-runtime:2.7.1"
+    implementation 'androidx.fragment:fragment-ktx:1.4.1'
+    implementation 'androidx.activity:activity-ktx:1.4.0'
     implementation 'androidx.sqlite:sqlite:2.1.0'
     implementation "androidx.concurrent:concurrent-futures:1.1.0"
-    implementation "androidx.camera:camera-camera2:1.0.2"
-    implementation "androidx.camera:camera-lifecycle:1.0.2"
-    // camera-view >1.0.0-alpha25 requires compileSDK 30
-    implementation "androidx.camera:camera-view:1.0.0-alpha25"
+    implementation "androidx.camera:camera-camera2:1.1.0-beta02"
+    implementation "androidx.camera:camera-lifecycle:1.1.0-beta02"
+    implementation "androidx.camera:camera-view:1.1.0-beta02"
     implementation 'androidx.multidex:multidex:2.0.1'
-    implementation "androidx.lifecycle:lifecycle-viewmodel:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-livedata:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-runtime:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-service:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-process:2.3.1"
-    implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
+    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-service:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-process:2.4.1"
+    implementation "androidx.lifecycle:lifecycle-common-java8:2.4.1"
     implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
-    implementation "androidx.paging:paging-runtime:3.0.1"
+    implementation "androidx.paging:paging-runtime:3.1.1"
     implementation "androidx.sharetarget:sharetarget:1.1.0"
 
-    implementation 'com.google.android.material:material:1.4.0'
-    implementation 'com.google.android.exoplayer:exoplayer-core:2.15.1'
-    implementation 'com.google.android.exoplayer:exoplayer-ui:2.15.1'
-    implementation 'com.google.zxing:core:3.3.3' // zxing 3.4 crashes on kitkat
-    implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.41' // make sure to update this in domain's build.gradle as well
+    implementation 'com.google.android.material:material:1.5.0'
+    implementation 'com.google.android.exoplayer:exoplayer-core:2.17.1'
+    implementation 'com.google.android.exoplayer:exoplayer-ui:2.17.1'
+    implementation 'com.google.zxing:core:3.3.3' // zxing 3.4 crashes on API < 24
+    implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.45' // make sure to update this in domain's build.gradle as well
 
     // webclient dependencies
     implementation 'org.msgpack:msgpack-core:0.8.22!!'
@@ -680,9 +716,6 @@ dependencies {
     // Backport of Streams and CompletableFuture. Remove once API level 24 is supported.
     implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:1.7.2'
 
-    // Google Assistant Voice Action verification library
-    implementation(name: 'libgsaverification-client', ext: 'aar')
-
     implementation('org.saltyrtc:saltyrtc-client:0.14.2') {
         exclude group: 'org.json'
     }
@@ -698,31 +731,31 @@ dependencies {
     annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
 
     // kotlin
-    implementation "androidx.core:core-ktx:1.3.2"
+    implementation "androidx.core:core-ktx:1.7.0"
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3"
+    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
 
     // use leak canary in debug builds
 //    debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
 
     // test dependencies
-    testImplementation 'junit:junit:4.12'
+    testImplementation "junit:junit:$junit_version"
     testImplementation(testFixtures(project(":domain")))
 
     // use powermock instead of mockito. it support mocking static classes.
-    def mockitoVersion = '2.0.7'
+    def mockitoVersion = '2.0.9'
     testImplementation "org.powermock:powermock-api-mockito2:${mockitoVersion}"
     testImplementation "org.powermock:powermock-module-junit4-rule-agent:${mockitoVersion}"
     testImplementation "org.powermock:powermock-module-junit4-rule:${mockitoVersion}"
     testImplementation "org.powermock:powermock-module-junit4:${mockitoVersion}"
 
     // add JSON support to tests without mocking
-    testImplementation 'org.json:json:20160212'
+    testImplementation 'org.json:json:20190722'
 
     testImplementation 'com.tngtech.archunit:archunit-junit4:0.18.0'
 
     androidTestImplementation(testFixtures(project(":domain")))
-    androidTestImplementation 'androidx.test:rules:1.2.0'
+    androidTestImplementation 'androidx.test:rules:1.4.0'
     androidTestImplementation 'tools.fastlane:screengrab:2.0.0', {
         exclude group: 'androidx.annotation', module: 'annotation'
     }
@@ -732,7 +765,7 @@ dependencies {
     androidTestImplementation 'androidx.test:runner:1.1.0', {
         exclude group: 'androidx.annotation', module: 'annotation'
     }
-    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
     androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0', {
         exclude group: 'androidx.annotation', module: 'annotation'
         exclude group: 'androidx.appcompat', module: 'appcompat'
@@ -767,12 +800,24 @@ dependencies {
         store_googleImplementation(dependency) { excludes.each { exclude it } }
         store_google_workImplementation(dependency) { excludes.each { exclude it } }
         store_threemaImplementation(dependency) { excludes.each { exclude it } }
+        fdroidImplementation(dependency) { excludes.each { exclude it } }
         onpremImplementation(dependency) { excludes.each { exclude it } }
         sandboxImplementation(dependency) { excludes.each { exclude it } }
         sandbox_workImplementation(dependency) { excludes.each { exclude it } }
         redImplementation(dependency) { excludes.each { exclude it } }
     }
 
+    // Google Assistant Voice Action verification library
+    noneImplementation(name: 'libgsaverification-client', ext: 'aar')
+    store_googleImplementation(name: 'libgsaverification-client', ext: 'aar')
+    store_google_workImplementation(name: 'libgsaverification-client', ext: 'aar')
+    onpremImplementation(name: 'libgsaverification-client', ext: 'aar')
+    store_threemaImplementation(name: 'libgsaverification-client', ext: 'aar')
+    fdroidImplementation(name: 'libgsaverification-client', ext: 'aar')
+    sandboxImplementation(name: 'libgsaverification-client', ext: 'aar')
+    sandbox_workImplementation(name: 'libgsaverification-client', ext: 'aar')
+    redImplementation(name: 'libgsaverification-client', ext: 'aar')
+
     // Huawei related libraries (only for hms* build variants)
     def huaweiDependencies = [
         // HMS push
@@ -795,7 +840,7 @@ sonarqube {
     properties {
         property "sonar.sources", "src/main/, ../scripts/, ../scripts-internal/"
         property "sonar.exclusions", "src/main/java/ch/threema/localcrypto/**, src/test/java/ch/threema/localcrypto/**"
-        property "sonar.tests", "src/testNoneDebug/"
+        property "sonar.tests", "src/test/"
         property "sonar.sourceEncoding", "UTF-8"
         property "sonar.verbose", "true"
         property 'sonar.projectKey', 'android-client'

+ 8 - 30
app/proguard-project.txt

@@ -35,20 +35,6 @@
 -dontnote org.apache.commons.codec.**
 -dontnote org.apache.http.**
 
-# Fix bug on Samsung, Wiko (and other) devices running Android 4.2
-# See also: https://code.google.com/p/android/issues/detail?id=78377
-# http://stackoverflow.com/questions/24809580/noclassdeffounderror-android-support-v7-internal-view-menu-menubuilder/26641388#26641388
-# new version for appcompat >=23.1.1
-#-keep class !android.support.v7.view.menu.*MenuBuilder*, android.support.v7.** { *; }
-#-keep interface android.support.v7.** { *; }
-#-dontwarn android.support.v7.**
-
-# See: https://stackoverflow.com/questions/30562330/using-appcompat-layout-behavior-with-string-appbar-scrolling-view-behavior
-#-keep class com.google.android.material.** { *; }
-#-keep interface com.google.android.material.** { *; }
-#-dontwarn android.support.design.**
-
-
 # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
 -keepclasseswithmembernames class * {
     native <methods>;
@@ -166,15 +152,6 @@ public static <fields>;
    *** get*();
 }
 
-# Jackson
--keepattributes Signature,*Annotation*,EnclosingMethod
--keep class com.fasterxml.jackson.databind.ObjectMapper {
-    public <methods>;
-    protected <methods>;
-}
--keep class com.fasterxml.jackson.databind.ObjectWriter {
-    public ** writeValueAsString(**);
-}
 -keepnames class com.fasterxml.jackson.** { *; }
 -keepnames interface com.fasterxml.jackson.** { *; }
 -keep class org.codehaus.** { *; }
@@ -217,13 +194,6 @@ public static <fields>;
 # keep camera classes - 1.0.0-alpha03 causes VerifyError in Android 4.4
 -keep class androidx.camera.** { *; }
 
-# respect DoNotOptimize annotations in soloader used by mapbox - causes VerifyError in Android 4.4
--keep,allowobfuscation @interface com.facebook.soloader.DoNotOptimize
--keep @com.facebook.soloader.DoNotOptimize class *
--keepclassmembers class * {
-    @com.facebook.soloader.DoNotOptimize *;
-}
-
 # protobuf uses reflection
 -keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite {
   <fields>;
@@ -253,3 +223,11 @@ public static <fields>;
 # that's triggered by this file, the NonceFactory wasn't modified since 2017...
 # Maybe we can remove this again with a future build toolchain.
 -keep class ch.threema.base.crypto.NonceFactory { *; }
+
+-dontwarn build.IgnoreJava8API
+-dontwarn sun.security.x509.X509Key
+
+# https://issuetracker.google.com/issues/159595260
+-keep class * extends androidx.startup.Initializer {
+   <init>();
+}

+ 7 - 0
app/src/fdroid/AndroidManifest.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
+
+	<!-- Request ignoring of battery optimizations -->
+	<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
+
+</manifest>

+ 5 - 24
app/src/main/java/ch/threema/app/qrscanner/camera/open/CameraFacing.java → app/src/fdroid/java/ch/threema/app/activities/DownloadApkActivity.java

@@ -19,30 +19,11 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-/*
- * Copyright (C) 2015 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package ch.threema.app.qrscanner.camera.open;
-
-/**
- * Enumeration of directions a camera may face: front or back.
- */
-public enum CameraFacing {
+package ch.threema.app.activities;
 
-	BACK,  // must be value 0!
-	FRONT, // must be value 1!
+import androidx.appcompat.app.AppCompatActivity;
 
+public class DownloadApkActivity extends AppCompatActivity {
+	public static final String EXTRA_FORCE_UPDATE_DIALOG = "";
+	// stub, download happens through f-droid store
 }

+ 29 - 0
app/src/fdroid/java/ch/threema/app/utils/DownloadUtil.java

@@ -0,0 +1,29 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2020-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.utils;
+
+import android.content.Context;
+
+public class DownloadUtil {
+	// stub, download happens through f-droid store
+	public static void deleteOldAPKs(Context context) {	}
+}

+ 629 - 0
app/src/foss_based/assets/license.html

@@ -0,0 +1,629 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <title>Legal notes</title>
+    <style type="text/css">
+        body {
+        font-family: Helvetica, Arial, sans-serif;
+        font-size: 11px;
+        margin: 0;
+        padding: 8px 16px;
+        line-height: 1.3em;
+        }
+
+        h1 {
+        font-size: 16px;
+        line-height: 1.3em;
+        margin-bottom: 1em;
+        margin-top: 0;
+        }
+
+        h2 {
+        font-size: 13px;
+        color: #777;
+        border-top: 1px solid #aaa;
+        padding-top: 0.5em;
+        margin-top: 1.5em;
+        }
+
+        a {
+        color: #0086C9;
+        }
+
+        .maincopyright {
+        font-size: 14px;
+        line-height: 1.3em;
+        }
+    </style>
+</head>
+
+<body>
+
+<p class="maincopyright">Copyright © 2021 Threema GmbH.<br/>
+    All rights reserved.</p>
+
+<p>This product contains artwork and code from the following rights holders:</p>
+
+
+<h2>Android Fast Scroll</h2>
+
+<p>Copyright 2019 Google LLC</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Android Gesture Detectors Framework</h2>
+
+<p>Copyright (c) 2013, Almer Thie</p>
+
+<p>All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
+
+
+<h2>Android Image Cropper</h2>
+
+<p>Copyright 2016 Arthur Teplitzki, 2013 Edmodo, Inc.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Android Video Kit</h2>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>android-gif-drawable</h2>
+
+<p>Copyright (c) 2016-2017 Karol Wrótniak, Droids on Roids</p>
+
+<p>Licensed under the MIT License (copy below)</p>
+
+
+<h2>Base32</h2>
+
+<p>Copyright © 2010, Data Base Architects, Inc. All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li>
+    <li>Neither the names of Kalinda Software, DBA Software, Data Base Architects, Itemscript nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.</p>
+
+
+<h2>Commons IO</h2>
+
+<p>Copyright (c) 2016 The Apache Software Foundation. All rights reserved.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>curve25519-donna</h2>
+
+<p>Copyright 2008, Google Inc. All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification, are permitted
+    provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright notice, this list of
+        conditions and the following disclaimer.
+    </li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of
+        conditions and the following disclaimer in the documentation and/or other materials provided
+        with the distribution.
+    </li>
+    <li>Neither the name of Google Inc. nor the names of its contributors may be used to endorse or
+        promote products derived from this software without specific prior written permission.
+    </li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.</p>
+
+<p>curve25519-donna: Curve25519 elliptic curve, public key function</p>
+
+<p>http://code.google.com/p/curve25519-donna/</p>
+
+<p>Adam Langley agl@imperialviolet.org</p>
+
+<p>Derived from public domain C code by Daniel J. Bernstein djb@cr.yp.to</p>
+
+<p>More information about curve25519 can be found here http://cr.yp.to/ecdh.html</p>
+
+<p>djb's sample implementation of curve25519 is written in a special assembly language called qhasm
+    and uses the floating point registers.</p>
+
+<p>This is, almost, a clean room reimplementation from the curve25519 paper. It uses many of the
+    tricks described therein. Only the crecip function is taken from the sample implementation.</p>
+
+
+<h2>Emoji art supplied by <a href="http://emojione.com">EmojiOne</a></h2>
+
+<p>Licensed under Creative Commons License (CC-BY 4.0).</p>
+
+
+<h2>ExoPlayer</h2>
+
+<p>Copyright (c) 2017 Google, Inc.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Jackson JSON-processor</h2>
+
+<p>Copyright (c) 2007-2017 Tatu Saloranta, tatu.saloranta@iki.fi</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Java implementation of SCrypt</h2>
+
+<p>Copyright (c) 2013 Will Glozer</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>jnacl</h2>
+
+<p>Copyright (c) 2011, Neil Alexander T. All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+
+<h2>libphonenumber</h2>
+
+<p>Copyright (c) 2011-2017 The Libphonenumber Authors</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Mapbox Maps SDK for Android</h2>
+
+<p>Copyright 2014-2020 Mapbox.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>
+
+<p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p>
+
+<p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
+
+
+<h2>MessagePack for Java</h2>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>MotionViews-Android</h2>
+
+<p>Copyright (c) 2016 UPTech</p>
+
+<p>Licensed under the MIT License (copy below)</p>
+
+
+<h2>nv-websocket-client</h2>
+
+<p>Copyright (C) 2015-2016 Neo Visionaries Inc.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>OpenCSV</h2>
+
+<p>Copyright (c) 2016 The OpenCSV Contributors. All rights reserved.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>saltyrtc-client-java</h2>
+
+<p>Copyright (c) 2016-2018 Threema GmbH</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>saltyrtc-task-webrtc-java</h2>
+
+<p>Copyright (c) 2016-2018 Threema GmbH</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>scrypt</h2>
+
+<p>Copyright 2009 Colin Percival</p>
+<p>All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:</p>
+
+<ol>
+    <li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li>
+</ol>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.</p>
+
+
+<h2>SLF4j</h2>
+
+<p>Copyright (c) 2004-2017 QOS.ch All rights reserved.</p>
+
+<p>Licensed under the MIT License (copy below)</p>
+
+
+<h2>SQLCipher</h2>
+
+<p>Copyright (c) 2016 Zetetic LLC<br />
+All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.</li>
+    <li>Neither the name of the ZETETIC LLC nor the
+      names of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written permission.</li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY ZETETIC LLC "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
+
+
+<h2>StepPagerStrip</h2>
+
+<p>Copyright 2012 Roman Nurik</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Subsampling Scale Image View</h2>
+
+<p>Copyright (c) 2015 David Morrissey</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>TapTargetView</h2>
+
+<p>Copyright (c) 2016 Keepsafe Software Inc.</p>
+
+<p>Licensed under the Apache License, Version 2.0 (copy below)</p>
+
+
+<h2>The Android Open Source Project</h2>
+
+<p>Copyright (c) 2019 Google Inc.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>TrustKit-Android</h2>
+
+<p>Copyright (c) 2016 Data Theorem, Inc.</p>
+
+<p>Licensed under the MIT License (copy below)</p>
+
+
+<h2>WebRTC</h2>
+
+<p>Copyright (c) 2011, The WebRTC project authors. All rights reserved.</p>
+
+<p>Redistribution and use in source and binary forms, with or without modification, are permitted
+provided that the following conditions are met:</p>
+
+<ul>
+    <li>Redistributions of source code must retain the above copyright notice, this list of
+    conditions and the following disclaimer.</li>
+    <li>Redistributions in binary form must reproduce the above copyright notice, this list of
+    conditions and the following disclaimer in the documentation and/or other materials provided
+    with the distribution.</li>
+    <li>Neither the name of Google nor the names of its contributors may be used to endorse or
+    promote products derived from this software without specific prior written permission.</li>
+</ul>
+
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+
+<h2>Zip4j</h2>
+
+<p>Copyright (c) 2013 Srikanth Reddy Lingala. All rights reserved.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>ZXing</h2>
+
+<p>Copyright (c) 2009-2012 ZXing authors. All rights reserved.</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>ZoomableTextureView</h2>
+
+<p>Copyright (c) 2018 Volodya Polohalo</p>
+
+<p>Licensed under the Apache License, version 2.0 (copy below).</p>
+
+
+<h2>Apache License<br/>Version 2.0, January 2004</h2>
+<p><a href="http://www.apache.org/licenses/">http://www.apache.org/licenses/</a></p>
+<p>TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</p>
+
+<p><strong><a name="definitions">1. Definitions</a></strong>.</p>
+
+<p>"License" shall mean the terms and conditions for use, reproduction, and
+    distribution as defined by Sections 1 through 9 of this document.</p>
+
+<p>"Licensor" shall mean the copyright owner or entity authorized by the
+    copyright owner that is granting the License.</p>
+
+<p>"Legal Entity" shall mean the union of the acting entity and all other
+    entities that control, are controlled by, or are under common control with
+    that entity. For the purposes of this definition, "control" means (i) the
+    power, direct or indirect, to cause the direction or management of such
+    entity, whether by contract or otherwise, or (ii) ownership of fifty
+    percent (50%) or more of the outstanding shares, or (iii) beneficial
+    ownership of such entity.</p>
+
+<p>"You" (or "Your") shall mean an individual or Legal Entity exercising
+    permissions granted by this License.</p>
+
+<p>"Source" form shall mean the preferred form for making modifications,
+    including but not limited to software source code, documentation source,
+    and configuration files.</p>
+
+<p>"Object" form shall mean any form resulting from mechanical transformation
+    or translation of a Source form, including but not limited to compiled
+    object code, generated documentation, and conversions to other media types.</p>
+
+<p>"Work" shall mean the work of authorship, whether in Source or Object form,
+    made available under the License, as indicated by a copyright notice that
+    is included in or attached to the work (an example is provided in the
+    Appendix below).</p>
+
+<p>"Derivative Works" shall mean any work, whether in Source or Object form,
+    that is based on (or derived from) the Work and for which the editorial
+    revisions, annotations, elaborations, or other modifications represent, as
+    a whole, an original work of authorship. For the purposes of this License,
+    Derivative Works shall not include works that remain separable from, or
+    merely link (or bind by name) to the interfaces of, the Work and Derivative
+    Works thereof.</p>
+
+<p>"Contribution" shall mean any work of authorship, including the original
+    version of the Work and any modifications or additions to that Work or
+    Derivative Works thereof, that is intentionally submitted to Licensor for
+    inclusion in the Work by the copyright owner or by an individual or Legal
+    Entity authorized to submit on behalf of the copyright owner. For the
+    purposes of this definition, "submitted" means any form of electronic,
+    verbal, or written communication sent to the Licensor or its
+    representatives, including but not limited to communication on electronic
+    mailing lists, source code control systems, and issue tracking systems that
+    are managed by, or on behalf of, the Licensor for the purpose of discussing
+    and improving the Work, but excluding communication that is conspicuously
+    marked or otherwise designated in writing by the copyright owner as "Not a
+    Contribution."</p>
+
+<p>"Contributor" shall mean Licensor and any individual or Legal Entity on
+    behalf of whom a Contribution has been received by Licensor and
+    subsequently incorporated within the Work.</p>
+
+<p><strong><a name="copyright">2. Grant of Copyright License</a></strong>. Subject to the
+    terms and conditions of this License, each Contributor hereby grants to You
+    a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+    copyright license to reproduce, prepare Derivative Works of, publicly
+    display, publicly perform, sublicense, and distribute the Work and such
+    Derivative Works in Source or Object form.</p>
+
+<p><strong><a name="patent">3. Grant of Patent License</a></strong>. Subject to the terms
+    and conditions of this License, each Contributor hereby grants to You a
+    perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+    (except as stated in this section) patent license to make, have made, use,
+    offer to sell, sell, import, and otherwise transfer the Work, where such
+    license applies only to those patent claims licensable by such Contributor
+    that are necessarily infringed by their Contribution(s) alone or by
+    combination of their Contribution(s) with the Work to which such
+    Contribution(s) was submitted. If You institute patent litigation against
+    any entity (including a cross-claim or counterclaim in a lawsuit) alleging
+    that the Work or a Contribution incorporated within the Work constitutes
+    direct or contributory patent infringement, then any patent licenses
+    granted to You under this License for that Work shall terminate as of the
+    date such litigation is filed.</p>
+
+<p><strong><a name="redistribution">4. Redistribution</a></strong>. You may reproduce and
+    distribute copies of the Work or Derivative Works thereof in any medium,
+    with or without modifications, and in Source or Object form, provided that
+    You meet the following conditions:</p>
+<ol>
+    <li>
+        <p>You must give any other recipients of the Work or Derivative Works a
+            copy of this License; and</p>
+    </li>
+    <li>
+        <p>You must cause any modified files to carry prominent notices stating
+            that You changed the files; and</p>
+    </li>
+    <li>
+        <p>You must retain, in the Source form of any Derivative Works that You
+            distribute, all copyright, patent, trademark, and attribution notices from
+            the Source form of the Work, excluding those notices that do not pertain to
+            any part of the Derivative Works; and</p>
+    </li>
+    <li>
+        <p>If the Work includes a "NOTICE" text file as part of its distribution,
+            then any Derivative Works that You distribute must include a readable copy
+            of the attribution notices contained within such NOTICE file, excluding
+            those notices that do not pertain to any part of the Derivative Works, in
+            at least one of the following places: within a NOTICE text file distributed
+            as part of the Derivative Works; within the Source form or documentation,
+            if provided along with the Derivative Works; or, within a display generated
+            by the Derivative Works, if and wherever such third-party notices normally
+            appear. The contents of the NOTICE file are for informational purposes only
+            and do not modify the License. You may add Your own attribution notices
+            within Derivative Works that You distribute, alongside or as an addendum to
+            the NOTICE text from the Work, provided that such additional attribution
+            notices cannot be construed as modifying the License.
+            You may add Your own copyright statement to Your modifications and may
+            provide additional or different license terms and conditions for use,
+            reproduction, or distribution of Your modifications, or for any such
+            Derivative Works as a whole, provided Your use, reproduction, and
+            distribution of the Work otherwise complies with the conditions stated in
+            this License.</p>
+    </li>
+</ol>
+<p><strong><a name="contributions">5. Submission of Contributions</a></strong>. Unless You
+    explicitly state otherwise, any Contribution intentionally submitted for
+    inclusion in the Work by You to the Licensor shall be under the terms and
+    conditions of this License, without any additional terms or conditions.
+    Notwithstanding the above, nothing herein shall supersede or modify the
+    terms of any separate license agreement you may have executed with Licensor
+    regarding such Contributions.</p>
+
+<p><strong><a name="trademarks">6. Trademarks</a></strong>. This License does not grant
+    permission to use the trade names, trademarks, service marks, or product
+    names of the Licensor, except as required for reasonable and customary use
+    in describing the origin of the Work and reproducing the content of the
+    NOTICE file.</p>
+
+<p><strong><a name="no-warranty">7. Disclaimer of Warranty</a></strong>. Unless required by
+    applicable law or agreed to in writing, Licensor provides the Work (and
+    each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
+    without limitation, any warranties or conditions of TITLE,
+    NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You
+    are solely responsible for determining the appropriateness of using or
+    redistributing the Work and assume any risks associated with Your exercise
+    of permissions under this License.</p>
+
+<p><strong><a name="no-liability">8. Limitation of Liability</a></strong>. In no event and
+    under no legal theory, whether in tort (including negligence), contract, or
+    otherwise, unless required by applicable law (such as deliberate and
+    grossly negligent acts) or agreed to in writing, shall any Contributor be
+    liable to You for damages, including any direct, indirect, special,
+    incidental, or consequential damages of any character arising as a result
+    of this License or out of the use or inability to use the Work (including
+    but not limited to damages for loss of goodwill, work stoppage, computer
+    failure or malfunction, or any and all other commercial damages or losses),
+    even if such Contributor has been advised of the possibility of such damages.</p>
+
+<p><strong><a name="add-liability">9. Accepting Warranty or Additional Liability</a></strong>.
+    While redistributing the Work or Derivative Works thereof, You may choose to offer,
+    and charge a fee for, acceptance of support, warranty, indemnity, or other liability
+    obligations and/or rights consistent with this License. However, in accepting such
+    obligations, You may act only on Your own behalf and on Your sole responsibility,
+    not on behalf of any other Contributor, and only if You agree to indemnify, defend,
+    and hold each Contributor harmless for any liability incurred by, or claims
+    asserted against, such Contributor by reason of your accepting any such warranty
+    or additional liability.</p>
+
+<p>END OF TERMS AND CONDITIONS</p>
+
+
+<h2>MIT License</h2>
+<a href="https://opensource.org/licenses/MIT">https://opensource.org/licenses/MIT</a>
+
+<p>Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+    THE SOFTWARE.
+</p>
+
+</body>
+
+</html>

+ 20199 - 0
app/src/foss_based/assets/passwords/bad_passwords.txt

@@ -0,0 +1,20199 @@
+0000000000d
+0000000000o
+00000000a
+0000aaaa
+000777fffa
+007james
+01081988m
+013cpfza
+01telemike01
+033028Pw
+04yvette
+050605rostik
+0528325452mr
+063dyjuy
+070793monolit
+0773417k
+085tzzqi
+090808qwe
+0987654321a
+0987654321q
+0987654a
+0987poiu
+0cDh0v99uE
+0L8KCHeK
+0o9i8u7y
+0o9i8u7y6t
+0okm9ijn
+0okmnji9
+0p9o8i7u
+0raziel0
+0sister0
+100894olol
+100years
+10101010m
+101054yy
+1029384756q
+10293847qp
+10inches
+10xby49k
+1111111111a
+1111111111q
+1111111111zz
+11111111a
+11111111q
+1111111a
+1111111q
+111111aa
+11111aaaaa
+1111aaaa
+1111qqqq
+111222333a
+111222333q
+111Luzer
+111zzzzz
+11223344a
+11223344q
+112233aa
+112233qq
+1122qqww
+112state
+11711bbl
+118a105b
+11c645df
+11eleven
+11qq22ww
+11qqaazz
+1211123a
+1212123a
+12131415q
+1223505sayana
+123123123a
+123123123q
+123123123z
+123123aa
+123123asd
+123123az
+123123qq
+123123qw
+123123qwe
+123123qweqwe
+1232323q
+123321aa
+123321as
+123321az
+123321qaz
+123321qq
+123321qw
+123321qwe
+123321qweewq
+12341234q
+12344321a
+12344321q
+1234512i
+1234554321a
+1234554321q
+123456654321a
+1234567890a
+1234567890d
+1234567890g
+1234567890l
+1234567890m
+1234567890o
+1234567890p
+1234567890q
+1234567890qaz
+1234567890qw
+1234567890qwe
+1234567890qwerty
+1234567890qwertyuiop
+1234567890s
+1234567890v
+1234567890w
+1234567890z
+1234567890zzz
+123456789a
+123456789aa
+123456789aaa
+123456789abc
+123456789as
+123456789asd
+123456789azat
+123456789b
+123456789c
+123456789d
+123456789e
+123456789f
+123456789g
+123456789i
+123456789j
+123456789k
+123456789l
+123456789m
+123456789n
+123456789o
+123456789p
+123456789q
+123456789qaz
+123456789qq
+123456789qqq
+123456789qw
+123456789qwe
+123456789qwer
+123456789qwerty
+123456789r
+123456789s
+123456789t
+123456789v
+123456789w
+123456789x
+123456789y
+123456789z
+123456789zx
+123456789zxc
+123456789zz
+12345678a
+12345678c
+12345678d
+12345678f
+12345678i
+12345678k
+12345678l
+12345678m
+12345678n
+12345678q
+12345678qwe
+12345678qwertyu
+12345678s
+12345678t
+12345678w
+12345678z
+1234567a
+1234567aa
+1234567b
+1234567d
+1234567e
+1234567f
+1234567g
+1234567i
+1234567j
+1234567k
+1234567l
+1234567m
+1234567n
+1234567q
+1234567qw
+1234567qwerty
+1234567qwertyu
+1234567r
+1234567s
+1234567t
+1234567u
+1234567v
+1234567w
+1234567y
+1234567z
+123456aa
+123456aaa
+123456ab
+123456abc
+123456as
+123456asd
+123456az
+123456oe
+123456qaz
+123456qq
+123456qqq
+123456qw
+123456qwe
+123456qwer
+123456qwert
+123456qwerty
+123456rrr
+123456ru
+123456ss
+123456zx
+123456zxc
+123456zxcvbn
+123456zz
+123456zzz
+12345abc
+12345abcd
+12345abcde
+12345asd
+12345asdf
+12345asdfg
+12345den
+12345ira
+12345love
+12345lox
+12345q12345
+12345qaz
+12345qazwsx
+12345qqq
+12345qwe
+12345qwer
+12345qwert
+12345qwert7
+12345qwerty
+12345rewq
+12345roma
+12345six
+12345tgb
+12345trewq
+12345www
+12345zxc
+12345zxcv
+12345zxcvb
+12345zzz
+1234aaaa
+1234abcd
+1234asdf
+1234F4321
+1234KEKC
+1234q1234
+1234qw1234qw
+1234qwer
+1234qwerasdf
+1234qwerasdfzxcv
+1234qwert
+1234qwerty
+1234rewq
+1234rmvb
+1234rtyu
+1234vfvf
+1234zxcv
+123654789a
+123698745a
+1236987a
+1236987z
+123a123a
+123abc123
+123as123
+123asd123
+123boots1
+123ewqasd
+123ewqasdcxz
+123happy
+123hfjdk147
+123india
+123joker
+123lol123
+123masha
+123mudar
+123q123q
+123qaz123
+123qazwsx
+123qazwsxedc
+123qq123
+123qw123
+123qwaszx
+123qwe12
+123qwe123
+123qwe123qwe
+123qwe321
+123qwe45
+123qwe456
+123qwe456rty
+123qwe4r
+123qweas
+123qweasd
+123qweasdzx
+123qweasdzxc
+123qweqwe
+123qwert
+123qwerty
+123qwerty123
+123qwerty456
+123qwertyuiop
+123sas4758
+123stella
+123to123
+123vv123
+123vvv123
+123yfcnz
+123zxc123
+123zxc456
+125712571257d
+12ab34cd
+12andriy14
+12e3E456
+12inches
+12locked
+12monkey
+12monkeys
+12q34w56e
+12qw12qw
+12qw34er
+12qw34er56ty
+12qwasyx
+12qwaszx
+12qwer34
+12qwerty
+12s3t4p55
+12sambo10
+12string
+1302alex1994
+132Forever
+1337ness
+133andre
+1346789d
+134kzbip
+135135ab
+1357911q
+136611gt
+141312190296q
+147258369a
+147258369q
+1488ss1488
+14bestlist
+14vbqk9p
+151nxjmt
+152geczn
+154ugeiu
+158uefas
+159357lik
+15s9pu03
+16137055r
+17071994a
+17171717aa
+17711771s
+18n28n24a
+192837465q
+193711101994a
+19371ayj
+1958proman
+1964delt
+1972chev
+19851985p
+1986irachka
+1986mets
+1991pmoy
+19930901w
+19952009sa
+19960610ilja
+19961996a
+1998vlad
+19mm5409
+19mtpgam19
+19thhole
+1a1a1a1a
+1a2a3a4a
+1a2a3a4a5a
+1a2a3a4a5a6a
+1a2b368c
+1a2b3c4d
+1a2b3c4d5
+1a2b3c4d5e
+1a2s3d4f
+1a2s3d4f5g
+1a2s3d4f5g6h
+1Aaaaaaa
+1Abcdefg
+1adgjmptw
+1Airborn
+1Alexand
+1andonly
+1Arsenal
+1Asdfghj
+1asshole
+1Assword
+1Autopas
+1avvatar
+1Basebal
+1Bastard
+1Bbbbbbb
+1Bernard
+1bigdick
+1bigfish
+1Bigtits
+1billion
+1Blaster
+1bonjour
+1Brandon
+1Brother
+1Bulldog
+1Bullshi
+1Butthea
+1Captain
+1Carolin
+1Ccccccc
+1Charles
+1Charlie
+1Chelsea
+1Chester
+1chicken
+1Christi
+1Compute
+1Corvett
+1Cowboys
+1Cracker
+1Creativ
+1Cricket
+1Ddddddd
+1diamond
+1Digital
+1Directo
+1Dolphin
+1Drummer
+1Eeeeeee
+1escobar2
+1Explore
+1Ferrari
+1Fishing
+1Florida
+1Flowers
+1Footbal
+1forever
+1Freedom
+1Fuckyou
+1Gabriel
+1Gandalf
+1Gateway
+1Genesis
+1Ggggggg
+1gnogno2
+1grizzly
+1Hardcor
+1Heather
+1herbier
+1Hhhhhhh
+1Hooters
+1hundred
+1hxboqg2
+1hxboqg2s
+1Iiiiiii
+1Infinit
+1j9e7f6f
+1Jackson
+1jeffrey
+1Jennife
+1Jessica
+1Jjjjjjj
+1Johnson
+1ladybug
+1Leonard
+1Letmein
+1liasita
+1loveyou
+1Manager
+1Matthew
+1Maveric
+1Melissa
+1Mercede
+1michael
+1Michell
+1million
+1Monster
+1moretim
+1Mountai
+1mustang
+1newlife
+1nternet
+1o3t6res
+1Packers
+1Panther
+1Panties
+1pass1page
+1passwor
+1password
+1patrick
+1penguin
+1Phoenix
+1Porsche
+1Princes
+1q1q1q1q
+1q2q3q4q
+1q2q3q4q5q
+1q2w3e4r
+1q2w3e4r5
+1q2w3e4r5t
+1q2w3e4r5t6y
+1q3e5t7u
+1q3e5t7u9o
+1qa2ws3e
+1qa2ws3ed
+1qa2ws3ed4rf
+1qa2ws3ed4rf5tg
+1qasw23ed
+1qay2wsx
+1qayxsw2
+1qaz0okm
+1qaz1qaz
+1qaz1qaz1qaz
+1qaz2wsx
+1qaz2wsx3
+1qaz2wsx3ed
+1qaz2wsx3edc
+1qaz2wsx3edc4rfv
+1qaz3edc
+1qazwsxedc
+1qazxcvb
+1qazxdr5
+1qazxsw2
+1qazxsw23
+1qazxsw23edc
+1qazxsw23edcvfr4
+1qazzaq1
+1qw23er4
+1qwerty1
+1qwerty2
+1qwerty7
+1qwertyu
+1qwertyuiop
+1Raiders
+1Rainbow
+1Rangers
+1Richard
+1Roberts
+1Rosebud
+1rus27540102
+1s1h1e1f1
+1Samanth
+1samira1
+1Scooter
+1Service
+1Sexyred
+1Simpson
+1Startre
+1Starwar
+1Steeler
+1Sunshin
+1Superma
+1Testing
+1Therock
+1Thunder
+1Tiffany
+1Trouble
+1Voyager
+1w2e3r4t
+1w2q1w2q
+1w2q3r4e
+1w2w3w4w
+1Warrior
+1wildcat
+1William
+1Windows
+1x2zkg8w
+1XrG4kCq
+1Xxxxxxx
+1Yankees
+1Yyyyyyy
+1z2x3c4v
+1z2x3c4v5b
+1z2z3z4z
+1zxcvbnm
+1Zzzzzzz
+2000char
+2000jeep
+200190ru
+2008m2009
+20091989q
+20102010ss
+20162016up
+201jedlz
+20spanks
+2112rush
+212121qaz
+212121sex
+213qwe879
+221195ws
+2278124q
+22ffkeij
+22q04w90e
+2305822q
+23071989a
+23176djivanfros
+23232323q
+2348TYty
+23843dima
+23jordan
+23skidoo
+23wesdxc
+23WKoa0FP78dk
+2401pedro
+245lufpq
+248ujnfk
+24gordon
+24PnZ6kc
+2502557i
+254xtpss
+255ooooo
+25tolife
+2606642yra
+26071987m
+260zntpc
+26429vadim
+267ksyjf
+277rte87hryloitru
+287Hf71H
+28infern
+2b1ind2c
+2b4dNvSX
+2b8riEDT
+2beornot
+2bigtits
+2bornot2
+2bornot2b
+2children
+2dollars
+2dumb2live
+2hot4you
+2i5fDRUV
+2insider
+2kasH6Zq
+2letmein
+2nipples
+2pacshakur
+2q3w4e5r
+2seams4u
+2sexy2ho
+2slick4u
+2smart4u
+2w3e4r5t
+2W93jpA4
+2wj2k9oj
+2wsx1qaz
+2wsx3edc
+2wsx4rfv
+2wsxcde3
+2wsxxsw2
+2wsxzaq1
+2yKN5cCf
+305pwzlr
+30astic29
+30seconds
+30secondstomars
+311music
+311rocks
+31321dj51982
+321ret32
+32615948worms
+335533aa
+33rjhjds
+343104ky
+3454051maksim
+34erdfcv
+34lestat
+360moden
+3611jcmg
+3616615a
+368ejhih
+380zliki
+383pdjvl
+38gjgeuftd
+3children
+3drcgiy6
+3e4r5t6y
+3edc4rfv
+3edcvfr4
+3f3fphT7oP
+3J8zegDo
+3rJs1la7qE
+3stooges
+3sYqo15hiL
+3techsrl
+3xbobobo
+4077mash
+40plusdd
+413276191q
+41d8cd98f00b
+4204life
+420smoke
+427cobra
+42qwerty42
+4311111q
+4321rewq
+4340542zx
+4351558q
+444587qw
+44e3ebda
+44magnum
+44street
+4506802a
+4544proj
+454dfmcq
+456456456q
+45M2DO5BS
+474jdvff
+478jfszk
+4809594Q
+4815162342a
+4815162342lf
+4815162342lost
+4815162342q
+4815162342s
+4815162342z
+48916052a
+48n25rcC
+4904s677075
+4943tabb
+495rus19
+4cranker
+4EBouUX8
+4fa82hyx
+4freedom
+4g3izhox
+4GXrzEMq
+4horseme
+4me2know
+4p9f8nja
+4r3e2w1q
+4rdf_king7
+4rfv3edc
+4rfv5tgb
+4rfvbgt5
+4RzP8aB7
+4seasons
+4SolOmon
+4wheeler
+4z34l0ts
+4z3al0ts
+50spanks
+51094didi
+531879fiz
+5345321aa
+5411pimo
+54322q22345
+545ettvy
+551scasi
+553zolf21
+554uzpad
+55BGates
+565hlgqo
+567rntvm
+56tyghbn
+57vetguy
+5858855abc
+59382113kevinp
+599eidhi
+59pennsy
+5C92V5H6
+5element
+5gtGiAxm
+5hsU75kpoT
+5klapser6
+5t4r3e2w1q
+5t6y7u8i
+5td76use
+5tgb6yhn
+5tgbnhy6
+5unshine
+5W76RNqp
+5Wr2i7H8
+6215mila6215
+625vrobg
+6339cndh
+640xwfkv
+6458zn7a
+65impala
+65mustan
+65mustang
+666devil
+666satan
+669E53E1
+66mustan
+66mustang
+671fsa75yt
+675675675a
+67camaro
+67mustan
+682regkh
+6835acdi
+6846kg3r
+686xqxfg
+68camaro
+68iypNeg6U
+69bronco
+69camaro
+69mustan
+6BC8A365
+6gcf636i
+6jhwMqkU
+6strings
+6Xe8J2z4
+6yhn7ujm
+705499fh
+7170878g
+741852963q
+741852kk
+754740g0
+7653ajl1
+7654321a
+7654321q
+766rglqy
+770129ji
+7777755102q
+7777777a
+7777777f
+7777777q
+7777777s
+7777777v
+7777777z
+777Angel
+77sunset
+782ehuws
+787898mich
+789456123a
+789456123q
+78N3s5Af
+7ecffkx8
+7elephant
+7elephants
+7ERtu3Ds
+7f4df451
+7gorwell
+7hjksdjk
+7houdini
+7hrdnw23
+7iMjFSTw
+7jokx7b9DU
+7oVTGiMC
+7sajzasj
+7samurai
+7u8i9o0p
+7uGd5HIp2J
+80070633pc
+80361665abc
+80633459472qw
+808state
+8096468644q
+80966095182z
+80camaro
+80lt80lt
+8218yxfz
+8363eddy
+863abgsg
+86chevyx
+872rlcfo
+87654321q
+87654321vv
+878kckxy
+87e5nclizry
+88888888d
+88888888q
+89063032220m
+89231243658s
+8928190a
+89876065093rax
+89semtsriuty
+8ikjhy7u
+8J4yE3Uz
+8letters
+8PHroWZ622
+8PHroWZ624
+8seconds
+8XUuoBE4
+8yssrcxt
+911turbo
+917190qq
+9293709b13
+92k2cizCdP
+9379992a
+9379992q
+944turbo
+9527473q
+95altima
+96randall
+987654321a
+987654321d
+987654321g
+987654321q
+987654321w
+987654321z
+989244342a
+999111999q
+99harley
+99ranger
+99strenght
+9dragons
+9fingers
+9HMLpyJD
+9Hotpoin
+9i8u7y6t
+9inchnai
+9KYQ6FGe
+9otr4pVs
+9ujhashj
+9Z5ve9rrcZ
+a1111111
+a1234567
+a12345678
+a123456789
+a1234567890
+a123456789a
+a123456a
+a123456b
+a123456z
+a19l1980
+a1a1a1a1
+a1a2a3a4
+a1a2a3a4a5
+a1b2c3d4
+a1b2c3d4e5
+a1l2e3x4
+a1s2d3f4
+a1s2d3f4g5
+a1s2d3f4g5h6
+a2345678
+a32tv8ls
+a3930571
+a3eilm2s2y
+A514527514
+a550777954
+a58Wtjuz4U
+a6543210
+a7777777
+a789456123
+a7nz8546
+a8kd47v5
+a9387670a
+a987654321
+AA1111aa
+Aa123123
+Aa123321
+aa123456
+aa123456s
+aaa12345
+aaa123456
+aaa123aaa
+aaaa1111
+AaAa1122
+aaaaaa11
+Aaaaaaa1
+aaaabbbb
+aaaassss
+aaabbbccc
+aabbccdd
+aaliyah1
+aardvark
+aaron123
+aassddff
+aaurafmf
+Ab101972
+ab123456
+ab12cd34
+abababab
+ababagalamaga
+abbaabba
+abbeyroa
+abbeyroad
+abbyabby
+abbygirl
+abc12345
+abc123456
+abc123456789
+abc123abc
+abc123abc123
+abc123de
+abcabc55
+abcd1234
+abcd12345
+abcd123456
+abcdabcd
+abcde123
+abcde12345
+abcdef12
+abcdef123
+abcdefg1
+abcdefgh
+abcdefghi
+abcdefghij
+abcdefghijk
+abcdefghijkl
+abdullah
+abdullayev
+abercrom
+abercrombie
+aberdeen
+abhishek
+abigail1
+abingdon
+abington
+ableable
+abnormal
+abracada
+abracadabr
+abracadabra
+abrakadabra
+abramova
+absinthe
+absolut1
+absolute
+absolutely
+abstract
+abubakar
+abuelita
+abulafia
+abundance
+abyfycbcn
+Ac2zXDtY
+academia
+academic
+acapulco
+Acarrids
+acca3344
+access01
+access10
+access12
+access123
+access14
+access16
+access20
+access21
+access22
+access31
+access49
+access88
+access99
+Accessibilit
+accessme
+accessno
+accident
+accord99
+accordex
+account1
+accounta
+accountant
+accountbloc
+accounti
+accounting
+accounts
+AccReader
+accurate
+accusync
+acdcacdc
+acdeehan
+aceracer
+acerview
+acesfull
+aceshigh
+achiever
+achilles
+achilleus
+acidbath
+acidburn
+acidrain
+ackerman
+acmilan1
+acoustic
+acroyear
+activate
+activation
+activity
+acUn3t1x
+acuransx
+acurarsx
+Ad12345678
+adadadad
+adalbert
+adam1234
+adamadam
+adapters
+adbt14226
+addicted
+addictio
+addiction
+addition
+adelaida
+adelaide
+adelante
+adelheid
+adelphia
+adgjmptw
+adgjmptw0
+adidas10
+adidas11
+adidas12
+adidas123
+adidas22
+adidas23
+adidas69
+adidas99
+adjkadjk
+adjuster
+adm15575
+admin123
+admin18533362
+administrato
+administrator
+adminpass
+admiral1
+admirals
+adolphus
+adorable
+adoxreadme
+adrenali
+adrenalin
+adrenaline
+AdreNoliN
+adriana1
+adrianna
+Adrianna1
+adrianne
+adriano23
+adrienne
+adv12775
+advance1
+advanced
+advantag
+advantage
+adventur
+adventure
+advertis
+advisory
+advocate
+adxel187
+aekdb448
+aeonflux
+aerobics
+aerodeck
+aeroflot
+aeroplan
+aeroplane
+aerosmit
+aerosmith
+aerospac
+aerospace
+aerostar
+aessedai
+aezakmi1
+aezakmi123
+affinity
+afghanistan
+afhnjdsq
+afhvfwtdn
+afireinside
+afkmmwsbz
+african1
+afrika2002
+afrodita
+afrodite
+afterglo
+aftermat
+aftermath
+afternoo
+afternoon
+afynjvfc
+agamemno
+agamemnon
+agapov58
+agbdlcid
+agent007
+aggarwal
+aggies00
+agnieszk
+agnieszka
+agnieszka1
+agnostic
+agricola
+aguilera
+aikman08
+aikoaiko
+aionrusian
+airborne
+airbrush
+aircraft
+airedale
+airforce
+airforce1
+airjorda
+airjordan
+airlines
+airplane
+airplanes
+airtours
+aishiteru
+aishwarya
+ajaxajax
+AjcuiVd289
+ajnjuhfa
+ajnjuhfabz
+ak470000
+ak471996
+akademia
+akademik
+akarkoba
+akatsuki
+akinfeev
+akira123
+aksarben
+aksjdlasdakj89879
+akuankka
+akvamarin
+akvarium
+al123456
+alabama1
+alabama123
+alabaste
+alakazam
+alanalan
+alanfahy
+alaska12
+alaskaml
+alastair
+albacore
+albatros
+albatross
+albert12
+alberta1
+albertin
+albertjr
+alberto1
+alberto2
+albertus
+albrecht
+albright
+Albuquerq
+alcapone
+alcatraz
+alchemist
+alcoholi
+aldebara
+aldebaran
+alderaan
+aldoaldo
+ale123456
+aleister
+alejandr
+alejandra
+alejandro
+alejandro1
+aleksand
+aleksandar
+aleksander
+aleksandr
+aleksandra
+aleksandrov
+aleksandrova
+alekseev
+alekseeva
+aleksey1986
+alemania
+alena123
+alena1992
+alena2010
+alenushka
+alertemailms
+alertpaydoubl
+alessand
+alessandr
+alessandra
+alessandro
+alevtina
+alex1234
+alex12345
+alex1959
+alex1967
+alex1971
+alex1973
+alex1974
+alex1975
+alex1976
+alex1980
+alex1981
+alex1982
+alex1983
+alex1984
+alex1985
+alex1987
+alex1989
+alex1990
+alex1991
+alex1993
+alex1994
+alex1995
+alex1996
+alex1998
+alex2000
+alex2006
+alex2009
+alex2010
+alex2112
+alex2539
+Alex8899
+alexalex
+Alexand1
+alexande
+alexander
+alexander1
+alexandr
+alexandr1
+alexandra
+alexandra1
+alexandre
+alexandria
+alexandro
+alexandru
+alexis01
+alexis12
+alexmike
+alexpass
+alexsander
+alexsandr
+alfaalfa
+alfabeta
+alfarome
+alfaromeo
+alfredo1
+alfresco
+algernon
+alhambra
+alicante
+alice123
+aliceadsl
+alienware
+aligator
+alina123
+alina1994
+alina1995
+alina1997
+alina1998
+alina2000
+alina2003
+alina2006
+alina2010
+alina2011
+alina777
+alinaalina
+alino4ka
+alinochka
+alisa2010
+alisaalisa
+alisokskok
+alison88
+alistair
+alitalia
+alkaline
+alkanaft123
+alkogolik
+all4love
+allabout
+allah786
+allahakbar
+allahuakbar
+allalone
+allan123
+allblack
+allblacks
+allen123
+allentow
+alleycat
+alleyoop
+alliance
+alliecat
+alligato
+alligator
+allison1
+allister
+alliswell
+allnight
+alloallo
+allochka
+allright
+allsaint
+allsaints
+allsorts
+allstar1
+allstars
+allstate
+allthewa
+alltheway
+allworld
+allybong
+almaz666
+almighty
+aloevera
+aloha123
+alohomora
+alouette
+aloysius
+alpacino
+alpha101
+alpha123
+alpha135792468
+alpha190
+alphabet
+alphabeta
+alphabravo
+alphadog
+alphaman
+alphaome
+alphaomega
+alphaone
+alphasig
+alphonse
+alrighty
+alsa4you
+alskdjfh
+alskdjfhg
+altamira
+altavist
+altavista
+alteclansing
+alterego
+alternat
+alternativ
+alternativa
+alternative
+altitude
+alucard1
+aluminum
+alvarado
+alvarito
+am4h39d8nh
+amadeus1
+amadeusptfcor
+amaizrul
+amanda01
+amanda10
+amanda11
+amanda12
+amanda123
+amanda13
+amanda18
+amanda19
+amanda69
+amanda96
+amandine
+amar1111
+amaranta
+amaranth
+amarillo
+amaterasu
+amateurs
+amatuers
+amazing1
+amazonas
+amazonka
+ambassador
+amber123
+ambercat
+amberdog
+amberlee
+ambition
+ambrosia
+ambulanc
+ambulance
+amc20277
+amekpass
+amenamen
+america0
+america1
+america2
+america7
+american
+american1
+americas
+ameritec
+amersham
+amethyst
+amidamaru
+amiga500
+amlink21
+amoramor
+amorcito
+amoremio
+amorphis
+amoureux
+amsterda
+amsterdam
+amsterdam1
+amygdala
+amygrant
+an83546921an13
+anabella
+anabelle
+anabolic
+anaconda
+anakin99
+anakonda
+analanal
+analfuck
+analii70
+anallove
+analslut
+analysis
+anamaria
+anarchy1
+anarhist
+anastaci
+anastacia
+anastasi
+anastasia
+anastasija
+anastasiy
+anastasiya
+anastasya
+anathema
+anatoliy
+ancella2
+anchorag
+anchorat
+anderlecht
+andersen
+anderson
+anderson1
+andersso
+andranik
+andre123
+andre3000
+andrea00
+andrea01
+andrea10
+andrea11
+andrea12
+andrea69
+andrea99
+andreas1
+andreas2
+andreeva
+andrei123
+andreika
+andreita
+andresito
+andretti
+andrew00
+andrew01
+andrew10
+andrew11
+andrew12
+andrew123
+andrew13
+andrew17
+andrew21
+andrew22
+andrew23
+andrew33
+andrew69
+andrew77
+andrew88
+andrew99
+andrewjackie
+andrews1
+andrey123
+andrey1234
+andrey1992
+andrey2010
+andreyka
+andromed
+andromeda
+andy2000
+andyandy
+andyod22
+anfield1
+angel007
+angel100
+angel101
+angel123
+angel200
+angel2010
+angel666
+angel777
+angela12
+angela21
+angelangel
+angelbab
+angelbaby
+angeldog
+angeleye
+angeleyes
+angelfac
+angelface
+angelfir
+angelfire
+angelgirl
+angelic1
+angelica
+angelidis
+angelika
+angelina
+angeline
+angeliqu
+angelique
+angelita
+angelito
+angelo4ek
+angelochek
+angelofwar
+angelone
+angels02
+angharad
+anguilla
+angus123
+anhnhoem
+anhyeuem
+animal12
+animal2000
+animales
+animals1
+animalsex
+animated
+animatio
+animation
+animator
+anime123
+anisimov
+anjaanja
+anna12345
+anna1975
+anna1978
+anna1979
+anna1980
+anna1982
+anna1983
+anna1984
+anna1985
+anna1986
+anna1987
+anna1988
+anna1989
+anna1990
+anna1992
+anna1994
+anna1996
+anna1997
+anna1998
+anna1999
+anna2000
+anna2002
+anna2010
+anna2614
+annaanna
+annabell
+annabella
+annabelle
+annalisa
+annalise
+annamari
+annamaria
+annamarie
+annapoli
+annarbor
+anneanne
+annelies
+annelise
+annemari
+annemarie
+annerice
+annette1
+annie123
+anniedog
+anniversary
+annmarie
+annushka
+anointed
+anonymer
+anonymou
+anonymous
+another1
+antananarivu
+anteater
+antelope
+anthony0
+anthony1
+anthony12
+anthony2
+anthony3
+anthony4
+anthony5
+anthony7
+anthony8
+anthony9
+anthonym
+anthonys
+antichrist
+antietam
+antiflag
+antigone
+antihero
+antihero77
+antikiller
+antilles
+antiques
+antivirus
+anton123
+anton1989
+anton1992
+antonell
+antonella
+antonia1
+antonina
+antonino
+antonio1
+antonio2
+antonio3
+antonioj
+antonios
+antonius
+antonova
+antoshenechka
+antoshka
+antwerp1
+anuradha
+anything
+anything1
+anytimetoday
+anywhere
+aolsucks
+aotearoa
+apache64
+apartmen
+apartment
+aperture
+aphrodit
+aphrodite
+apocalipsis
+apocalyp
+apocalypse
+apokalipsis
+apollo11
+apollo12
+apollo13
+apollo17
+apollo44
+appelsin
+appetite
+apple123
+appleapp
+applebee
+applebomb
+applegat
+applejui
+applejuice
+applemac
+applepie
+apples10
+apples12
+apples123
+applesauce
+appleseed
+appleton
+appletre
+appletree
+appliance
+apppatch
+appraise
+approved
+april200
+aq12wsde3
+aq1sw2de3
+aqaqaqaq
+aqswdefr
+aquafina
+aqualung
+aquamann
+aquarium
+aquarius
+aquemini
+aqwzsxed
+aqwzsxedc
+arabella
+arachnid
+aragorn1
+arapahoe
+arbuckle
+arcangel
+archange
+archangel
+archbold
+archibal
+archibald
+archimed
+architec
+architect
+archives
+archmage
+arclight
+arcoiris
+arcturus
+ardennes
+aregdone
+aregstyl
+ARENRONE
+arequipa
+areyukesc
+argentin
+argentina
+argentum
+argonaut
+arguments
+arhangel
+arianna1
+aristide
+aristote
+aristotl
+aristotle
+arizona1
+arkangel
+arkansas
+arlingto
+Arlington
+armadill
+armadillo
+armagedd
+armageddon
+armagedo
+armagedon
+armalite
+armastus
+armchair
+armenian
+armitage
+armstron
+armstrong
+armyada2
+armyofon
+arnie100
+arnster55
+arpeggio
+arriflex
+arrogant
+arrow123
+arrowhea
+arrowhead
+arschloc
+arschloch
+arsehole
+arsenal0
+arsenal1
+arsenal12
+arsenal123
+arsenal14
+arsenal2
+arsenal6
+arsenal7
+arsenal9
+arsenalf
+arsenalfc
+arshavin
+art131313
+artcast2
+artefact
+artem123
+artem1988
+artem1991
+artem1992
+artem1994
+artem1995
+artem1998
+artem2000
+artem2001
+artem2010
+artem777
+artemartem
+artemida
+artemis1
+arthur69
+artichok
+artifact
+artiller
+artillery
+artistic
+artlight
+artlover
+artofwar
+arttatum
+artur123
+artur4ik
+ArwPLS4U
+arxangel
+as123456
+as12az23
+as5ffz17i
+as5fz17i
+asasasas
+asasasasas
+asbestos
+asd12345
+asd123456
+asd123asd
+asd123asd123
+asd123qwe
+asdaasda
+asdasd12
+asdasd123
+asdasd22
+asdasdas
+asdasdasd
+asdasdasdasd
+asdf0987
+asdf1234
+asdf12345
+asdf123456
+asdf4321
+asdf67nm
+asdfasdf
+asdfasdf1
+asdfdsasdf
+asdffdsa
+asdfg123
+asdfg1234
+asdfg12345
+asdfgh01
+asdfgh12
+asdfgh123
+asdfgh123456
+asdfghj1
+asdfghjk
+asdfghjkl
+asdfghjkl1
+asdfghjkl123
+asdfhjkl
+asdfjkl1
+asdflkjh
+asdfqwer
+asdfrewq
+asdfvcxz
+asdfzxcv
+asdqwe12
+asdqwe123
+asdzxc123
+asfnhg66
+ashcroft
+ashfield
+ashleigh
+ashleigh69
+ashley01
+ashley10
+ashley11
+ashley12
+ashley123
+ashley13
+ashley19
+ashley22
+ashley24
+ashley69
+ashutosh
+asiaasia
+asianlov
+asiansex
+asmodean
+asmodeus
+asparagu
+asparagus
+aspirant
+aspirina
+aspirine
+Assa1234
+assaassa
+assasins
+assassas
+assassass
+assassin
+assassins
+assclown
+asscrack
+asseater
+assembler
+assembly
+assfuck1
+assfucke
+assfucker
+asshole1
+asshole123
+asshole2
+asshole3
+asshole5
+asshole69
+assholee
+assholes
+assistant
+asskicker
+asslicke
+asslicker
+asslover
+assman69
+assmaste
+assmaster
+assmonke
+assmonkey
+assmunch
+associat
+assorted
+asswhole
+Assword1
+astalavista
+astaroth
+asterios
+asterix1
+asterlam
+asteroid
+astonmar
+astonmartin
+astonvil
+astonvilla
+astra123
+astra334566
+astragte
+astrahan
+astroboy
+astrodog
+astrolog
+astroman
+astronaut
+astronom
+astronomy
+astrovan
+asturias
+asuncion
+asusasus
+at4gfTLw
+atalanta
+atartsis
+atherton
+athletic
+athlon64
+atiixpad
+atiradn1
+atkinson
+atlanta1
+atlantic
+atlantida
+atlantis
+atletico
+atljhjdf
+atmosfera
+atombomb
+atreides
+atropine
+attentio
+attitude
+attorney
+auckland
+auckland2010
+audencia
+audi5000
+audiaudi
+augsburg
+august01
+august10
+august11
+august12
+august15
+august16
+august17
+august19
+august20
+august21
+august22
+august23
+august24
+august25
+august26
+august27
+august29
+august30
+august31
+augustin
+augustine
+augustus
+auntjudy
+aurelien
+aurelius
+austin01
+austin11
+austin12
+austin123
+austin20
+austin31
+austin316
+austin97
+austin99
+austintx
+australi
+australia
+australia1
+autechre
+Authcode
+authority
+autobahn
+autobody
+autohaus
+automati
+automatic
+automobile
+Autopas1
+autopass
+avadakedavra
+available
+avalanch
+avalanche
+avalon11
+avangard
+avatar12
+avellino
+avemaria
+avenger1
+avengers
+aventura
+aviation
+aviator1
+avionics
+avogadro
+avondale
+avrillavigne
+avtoritet
+awdqseawdssa
+awdrgyjilp
+awesome1
+awesome123
+awesome2
+awo8rx3wa8t
+az09az09
+az123456
+azathoth
+azazazaz
+azerbaijan
+azerbaycan
+azerty01
+azerty12
+azerty123
+azertyui
+azertyuio
+azertyuiop
+azflkjw1
+azfpc310
+Azsxdc123
+azsxdcfv
+azsxdcfvgb
+azsxdcfvgbhn
+azwebitalia
+azxcvbnm
+azzarra23
+b0ll0cks
+b0nehead
+b1234567
+b12345678
+b16delta
+B2rLkCJG
+b929ezzh
+babababa
+bababooe
+bababooey
+babalola
+babatund
+babay123
+babbette
+babe1987
+babebabe
+babeland
+BaBeMaGn
+BaBeMaGnEt
+baberuth
+babochka
+babushka
+baby1234
+baby2000
+babybaby
+babybear
+babybird
+babyblue
+babyboy1
+babycake
+babycakes
+babydoll
+babyface
+babygirl
+babygirl1
+babygirl2
+babygurl
+babyhuey
+babyjane
+babylon1
+babylon5
+babylon6
+babylove
+babyphat
+babyruth
+bacardi1
+baccarat
+bacchus1
+bach4150
+bachelor
+backbone
+backd00r
+backdoor
+backdraf
+backflip
+backhand
+backhome
+backlash
+backpack
+backseat
+backside
+backspac
+backspace
+backspin
+backstre
+backward
+backwood
+backyard
+bacteria
+bad11bad
+badabing
+badaboom
+badass12
+badboy11
+badboy123
+badboy21
+badboy69
+baddog2p
+badgers1
+badgirls
+badhabit
+badiman28200
+badkarma
+badkitty
+badlands
+badminto
+badminton
+badnaamhere
+badreligion
+badstuff
+baerchen
+baggins1
+baggio10
+bagheera
+baghouse
+bagpiper
+bagpipes
+bailbond
+bailey01
+bailey10
+bailey11
+bailey12
+bailey123
+bailey99
+bajaboat
+bajingan
+bajskorv
+bakabaka
+bakayaro
+baker123
+bakerman
+bakesale
+balabama
+balalaika
+balance1
+balandin
+baldeagl
+baldeagle
+baldhead
+baldisar
+baldrick
+baldwin1
+balearic
+balefire
+balerina
+balla007
+ballarat
+ballball
+ballbust
+baller22
+baller23
+ballgame
+ballin23
+balloon1
+balloons
+ballpark
+ballplay
+ballroom
+balls123
+ballsack
+ballsdeep
+ballyhoo
+balmoral
+balrog12
+baltazar
+baltimor
+baltimore
+bambucha
+bammbamm
+banaan123
+banan123
+banana01
+banana11
+banana12
+banana123
+banana69
+bananaman
+bananana
+bananas1
+bananas2
+bancroft
+bandband
+banderas
+banderos
+bandgeek
+bandicoo
+bandicoot
+bandit01
+bandit11
+bandit12
+bandit123
+bandit99
+bangalor
+bangalore
+bangbang
+bangbros
+bangcock
+bangkok1
+banglade
+bangladesh
+banister
+banjoman
+bankbank
+bankrupt
+bankshot
+banshee1
+baphomet
+baptiste
+barabash
+barabashka
+barabbas
+baracuda
+barakuda
+baranova
+barashka
+barbados
+barbara1
+barbara2
+barbaria
+barbarian
+barbaris
+barbariska
+barbaros
+barbarossa
+barbecue
+barbeque
+barbwire
+barcelon
+barcelona
+barcelona1
+barchett
+barclays
+bareback
+barefeet
+barefoot
+baritone
+barkbark
+barkley1
+barmalei
+barmaley
+barnabas
+barnacle
+barney01
+barney11
+barney12
+barney123
+barnhart
+barnsley
+barnyard
+barrabas
+barracud
+barracuda
+barrakuda
+barrett1
+barriste
+barrymor
+barrynov
+barselona
+bartbart
+bartende
+bartender
+bartfast
+bartlett
+bartman1
+bartsimpson
+baseba11
+basebal1
+baseball
+baseball1
+baseball10
+baseball11
+baseball12
+baseball123
+baseball14
+baseball17
+baseball2
+baseball21
+baseball3
+baseball6
+baseball7
+baseball9
+baseline
+basement
+basilisk
+basket12
+basketba
+basketbal
+basketball
+basketball1
+bass1234
+bassbass
+bassboat
+bassdrum
+bassfish
+basshead
+bassingw
+bassline
+bassman1
+bassmast
+bassmaster
+bassplay
+basswood
+bastard1
+bastard2
+bastardo
+bastards
+bastille
+bastogne
+bathgate
+bathroom
+batistut
+batistuta
+batman00
+batman01
+batman10
+batman11
+batman12
+batman123
+batman13
+batman20
+batman21
+batman22
+batman23
+batman69
+batman88
+batman99
+batterie
+batterse
+battery1
+battlefield
+battlestar
+bautista
+bavarian
+bayadera
+bayliner
+bayshore
+baywatch
+BAZongaz
+bb123456
+bba25547
+bball123
+bbbb7777
+bbbbbb99
+Bbbbbbb1
+bbwlover
+BCbAWHrJ
+bcfields
+bcrfylth
+bdfyeirf
+bdfyjdbx
+bdfyjdyf
+bdfytyrj
+bdsmbdsm
+beach123
+beachboy
+beachbum
+beaches1
+beanbean
+beanhead
+beano002
+beantown
+bear1234
+bear2000
+bear2327
+bearbear
+bearcat1
+bearcats
+bearclaw
+beardog1
+beardown
+bearshar
+bearshare
+beast123
+beast666
+beastie1
+beasties
+beastman
+beatles1
+beatles2
+beatles4
+beatles6
+beatrice
+beatriz1
+beauford
+beaufort
+beaujeu21
+beaulieu
+beaumont
+beauties
+beautifu
+beautiful
+beautiful1
+beaver12
+beaver69
+beaversx
+beavis69
+bebebebe
+bebemi27
+beccaboo
+beckham1
+beckham23
+beckham7
+beefbeef
+beefcake
+beefheart
+beefstew
+beeldbuis
+beenther
+beepbeep
+beer1234
+beerbeer
+beerbong
+beergood
+beerlove
+beernuts
+beethove
+beethoven
+begemotik
+beginner
+behemoth
+beholder
+belgacom
+belgarat
+belgario
+belgique
+belgorod
+believe1
+believer
+belinda1
+bella123
+bellaboo
+belladog
+belladon
+belladonna
+bellagio
+bellaire
+bellbell
+belldandy
+belle123
+bellevue
+bellsout
+bellybut
+belmondo
+belochka
+beloved1
+belveder
+belvedere
+belzagor
+bendover
+benedict
+benedikt
+benefits
+benessere
+benetton
+bengals1
+bengrimm
+benhogan
+benidorm
+benjamin
+benjamin1
+benladen
+bennett1
+bennevis
+benno007
+benny123
+bennyboy
+bentley1
+bentley2
+berbatov
+berenger
+berenice
+berezuckiy
+bergen09
+bergerac
+bergeron
+bergkamp
+beringer
+berkeley
+berkshir
+berl1952
+berliner
+berlingo
+bermuda1
+bernadet
+bernadett
+bernadette
+bernard1
+bernardi
+bernardo
+bernhard
+bernie51
+berryman
+Bersercer
+berserke
+berserker
+bertbert
+bertrand
+bertuzzi
+besiktas
+bestbest
+bestever
+bestfriend
+bestpker09
+beszoptad
+betabeta
+bethany1
+bethbeth
+bethesda
+betrayal
+betrayed
+better99
+betterth
+bettina1
+bettis36
+betty123
+bettyboo
+bettyboop
+bettylou
+beverage
+beverley
+beverly1
+bevinlee
+beyblade
+bezparolya
+BG6nJoKF
+bhbitxrf
+bhbyjxrf
+BhRh0h2Oof6XbqJEH
+biarritz
+bibibibi
+biblioteka
+bicycles
+biedronka
+biffbiff
+big1foot
+bigapple
+bigasses
+bigballa
+bigballe
+bigballer
+bigballs
+bigbear1
+bigberth
+bigbertha
+bigbird1
+bigbitch
+bigblack
+bigblock
+bigblue1
+bigboner
+bigboobi
+bigboobs
+bigbooty
+bigboy11
+bigboy12
+bigboy22
+bigboy40
+bigboy69
+bigbroth
+bigbrother
+bigbubba
+bigbucks
+bigbutts
+bigcheese
+bigchief
+bigcocks
+bigdaddy
+bigdaddy1
+bigdawg1
+bigdick1
+bigdicks
+bigdog12
+bigdog69
+bigdog99
+bigdummy
+bigeagle
+bigfella
+bigfish1
+bigfoot1
+biggdogg
+biggirls
+biggreen
+bighouse
+bigjohn1
+bigjuggs
+bigkahun
+bigloser
+bigmac12
+bigmac25
+bigman69
+bigmaxxx
+bigmomma
+bigmoney
+bigmoose
+bigmouth
+bignasty
+bigpappa
+bigpenis
+bigpimpi
+bigpimpin
+bigpimpn
+bigpoppa
+bigpussy
+bigqueer
+bigsexxy
+bigsexy1
+bigslick
+bigsmall
+bigsmurf
+bigsteve
+bigstick
+bigstuff
+bigtime1
+bigtimer
+bigtits1
+bigtits6
+bigtitts
+bigtitty
+bigtrain
+bigtruck
+bigtymer
+bigwaves
+bigwilli
+bigwilly
+bikebike
+bikerboy
+bilabong
+bilbobag
+bill1234
+bill2455
+billabon
+billabong
+billards
+billbill
+billfish
+billgate
+billgates
+billiard
+billings
+billionaire
+billions
+billy123
+billybob
+billyboy
+billycat
+billydog
+billygoa
+billygoat
+billyjoe
+billyray
+bingbing
+bingbong
+bingo123
+bingobin
+binladen
+biohazar
+biohazard
+biologia
+bionicle
+bioshock
+biosinfo
+birdbath
+birdbird
+birdcage
+birdhous
+birdhouse
+birdland
+birdman1
+birdseed
+birdseye
+birdsong
+birgitta
+birmingh
+birmingham
+birthday
+birthday0
+birthday1
+birthday10
+birthday100
+birthday133
+birthday2
+birthday21
+birthday26
+birthday27
+birthday28
+birthday299
+birthday3
+birthday36
+birthday4
+birthday5
+birthday52
+birthday54
+birthday6
+biscayne
+biscuit1
+biscuits
+bisexual
+bismarck
+bismilah
+bismilla
+bismillah
+bitch123
+bitchass
+bitchboy
+bitchedu
+bitchedup
+bitches1
+bitchsla
+biteme11
+biteme12
+biteme69
+bj200ex1
+bjackson
+blablabl
+blablabla
+black123
+black666
+blackadd
+blackadder
+blackand
+blackangel
+blackass
+blackbas
+blackbea
+blackbel
+blackbelt
+blackber
+blackberry
+blackbir
+blackbird
+blackbla
+blackboo
+blackbox
+blackboy
+blackbur
+blackburn
+blackcar
+blackcat
+blackcoc
+blackcock
+blackcow
+blackdic
+blackdick
+blackdog
+blackdra
+blackdragon
+blackeye
+blackfin
+blackflag
+blackfly
+blackfoo
+blackgir
+blackhat
+blackhaw
+blackhawk
+blackhawks
+blackhea
+blackheart
+blackhol
+blackhole
+blackhor
+blackhorse
+blackice
+blackie1
+blackjac
+blackjack
+blacklab
+blacklabel
+blackmag
+blackmagic
+blackmai
+blackman
+blackmen
+blackmetal
+blackmor
+blackone
+blackops
+blackout
+blackpoo
+blackpool
+blackpus
+blackros
+blackrose
+blacksab
+blacksex
+blackshadow
+blackshe
+blacksheep
+blacksmi
+blacksonblon
+blacksta
+blackstar
+blacksto
+blackstone
+blacksun
+blacktie
+blacktop
+blackwat
+blackwhite
+blackwid
+blackwol
+blackwoo
+blade123
+blademan
+bladerun
+bladerunner
+blah1234
+blahblah
+blahblah1
+blahblahblah
+blake123
+blakstar
+blank123
+blankman
+blaster1
+blaster2
+blasters
+blastoff
+blaze420
+blbjn007
+bleacher
+bledsoe1
+bleeding
+blehbleh
+blenheim
+blessed1
+blessing
+blessings
+blessyou
+blindman
+blingbli
+blingbling
+blink182
+blinkers
+blitzkri
+blitzkrieg
+blizzard
+blizzard1
+blockbus
+bloembol
+blondie1
+blondie2
+blondinka
+blood123
+blood666
+bloodhou
+bloodlus
+bloodlust
+bloodmoon
+bloodred
+bloomberg
+bloomers
+blooming
+bloopers
+blossom1
+blossoms
+blowfish
+blowhard
+blowjob1
+blowjob6
+blowjob69
+blowjobs
+blowme69
+bltynbabrfwbz
+blue1234
+blue2000
+bluearmy
+bluebaby
+blueball
+blueballs
+bluebear
+bluebell
+blueberr
+blueberry
+blueberry1
+bluebird
+blueblue
+bluebook
+blueboy1
+blueboys
+bluecrab
+bluedevi
+bluedevils
+bluedog1
+bluedragon
+blueduck
+blueeyes
+bluefire
+bluefish
+bluefrog
+bluegill
+bluegirl
+bluegold
+bluegras
+bluegrass
+bluegree
+bluegreen
+bluehair
+bluehawk
+bluejay1
+bluejays
+bluejean
+blueligh
+bluelight
+blueline
+bluelove
+bluemonkey
+bluemoon
+bluenose
+bluenote
+blueprin
+blueprint
+blueroom
+bluerose
+blueskie
+blueskies
+bluesky1
+bluesky2
+bluesman
+bluestar
+bluetick
+bluetooth
+bluewate
+bluewater
+bluewave
+bluewolf
+blumpkin
+blunt420
+bluntman
+bmfc2353
+bmvm3e46gtr
+bmw318is
+bmw325ci
+bmw325is
+bmw330ci
+bmw750il
+bmwk1200
+bmwpower
+bmx4life
+boarding
+boardwal
+boating1
+bob12345
+bobafett
+bobbafet
+bobbilly
+bobbobbo
+bobbobbob
+bobby123
+bobbybob
+bobbyboy
+bobbyjoe
+bobbyorr
+bobcat12
+bobdylan
+bobjones
+bobmarle
+bobmarley
+bobmarley1
+bobo1234
+bobobobo
+bobolina
+bobolink
+bobsmith
+bobthedo
+bobwhite
+bocachic
+bocephus
+bodensee
+bodiroga
+bodybuil
+bodyhamm
+bodyshop
+boeing73
+boeing74
+boeing747
+boeing77
+boeing777
+bogdan123
+bogdanov
+bogdanova
+bogeyman
+bohemian
+boilerma
+boing747
+bojangle
+bojangles
+bolabola
+bolbo6a6s
+boleslaw
+bollocks
+bollywood
+bologna1
+bombadil
+bombarde
+bomber123
+bomberman
+bomberos
+bombshel
+bonafont
+bonanza1
+bonapart
+bond0007
+bond9007
+bondage1
+bondages
+bondarenko
+bondbond
+bondra12
+bonebone
+bonedadd
+bonefish
+bonehead
+bones123
+bonethug
+bonethugs
+boneyard
+bongbong
+bonghits
+bongload
+bongtoke
+bongwate
+bongwater
+boniface
+bonjour1
+bonjours
+bonkers1
+bonneville
+bonobono
+bonoedge
+bonscott
+bonzodog
+boobboob
+boobear1
+boobies1
+boobies2
+boobless
+booblove
+booboo11
+booboo12
+booboo22
+booboo69
+booboobo
+boobs123
+boobs4me
+boogaloo
+booger12
+boogers1
+boogiema
+boognish
+boogyman
+bookbook
+bookcase
+booklover
+bookmark
+bookworm
+boomboom
+boomer12
+boomer22
+boomeran
+boomerang
+boomstic
+boomtown
+boondock
+boonedog
+boopboop
+booster1
+bootboot
+bootcamp
+bootmort
+bootneck
+boots123
+bootsman
+bootycal
+bootycall
+bootyman
+borabora
+bordeaux
+bordello
+borealis
+boredboi4u
+boricua1
+boris123
+borisenko
+borisova
+born2run
+bornfree
+borntorun
+boroboro
+borodina
+borracho
+borussia
+bosco123
+boscoe01
+bossboss
+bosshogg
+bosslady
+bossman1
+bosstone
+bossyak123
+boston01
+boston11
+boston12
+boston69
+boston99
+BostonLi
+bosworth
+botafogo
+botswana
+bottleca
+bot_schokk
+bouboule
+bouboune
+bouchard
+boudreau
+boulder1
+boulevar
+bouncing
+boundary
+boutique
+bowhunte
+bowhunter
+bowl2000
+bowling1
+bowling3
+boxerdog
+boxsters
+boy1cool23
+Boy4u2OwnNYC
+boyfriend
+boyscout
+boywonde
+boywonder
+bozobozo
+bpgjldsgjldthnf
+br00klyn
+br1ttany
+bracelet
+bradbrad
+bradbury
+braddock
+bradford
+bradley1
+bradpitt
+bradshaw
+braindea
+brainiac
+brampton
+brancusi
+branden1
+brandnew
+brandon0
+brandon00
+brandon1
+brandon2
+brandon3
+brandon5
+brandon6
+brandon7
+brandon8
+brandon9
+brandonl
+brandonn
+brandy12
+brandy69
+branford
+branston
+brantley
+brasilia
+brasskey
+bratpack
+bravehea
+braveheart
+braves10
+braves95
+bravo123
+brazil66
+brazilia
+brazzers
+breadman
+breakdance
+breakdow
+breakdown
+breaker1
+breakers
+breakfas
+breakfast
+breaking
+breakout
+breeanna
+brehznev
+breitlin
+brenda69
+brendan1
+brennan1
+brentfor
+brentford
+brentwoo
+bretagne
+brethart
+brett123
+brewcrew
+brewster
+bri5kev6
+brian123
+brianna1
+brickhou
+bridget1
+bridgett
+bridgette
+brighton
+brigitta
+brigitte
+brillian
+brilliant
+brillo021
+brimston
+brimstone
+brindisi
+bringiton
+brinki12
+brinkley
+brinkman
+brisbane
+brissonl
+bristol1
+bristolc
+britania
+britanni
+britches
+britney1
+britneys
+brittani
+brittany
+brittany1
+brittney
+brmfcsto
+broadban
+broadband
+broadcast
+broadway
+broccoli
+brockton
+brompton
+broncos1
+broncos2
+broncos3
+broncos7
+broodwar
+brooking
+brooklin
+brooklyn
+brooklyn1
+brooksie
+brother1
+brother2
+brotherhood
+brothers
+brown123
+browncat
+browncow
+browndog
+browneye
+browneyes
+brownie1
+brownies
+browning
+brownlov
+browns99
+browntro
+BROWSEUI
+bruce123
+brucelee
+brucewayne
+bruckner
+bruins77
+bruiser1
+brunello
+brunette
+bruno123
+brunodog
+brunswic
+brunswick
+brussels
+bruteforce
+brutus12
+bruxelle
+bryan123
+bryant24
+bsanders
+bsheep75
+bu7re8au
+bubabuba
+bubba111
+bubba123
+bubba222
+bubbaboy
+bubbabub
+bubbacat
+bubbadog
+bubbagum
+bubbagump
+bubbaman
+bubblebox
+bubblebu
+bubblegu
+bubblegum
+bubbles1
+bubbles2
+bubbles9
+bucaneer
+buccanee
+buccaneers
+buchanan
+buchholz
+buckaroo
+buckbuck
+buckdeer
+buckethe
+buckeye1
+buckeyes
+buckfast
+buckshot
+buckskin
+buckster
+buckwhea
+buckwheat
+buckwild
+budapest
+buddy111
+buddy123
+buddyboy
+buddycat
+buddydog
+buddylee
+budlight
+budlight1
+budman22
+budweise
+budweiser
+budwiser
+buffalo1
+buffalo2
+buffalo7
+buffaloe
+buffalos
+buffett1
+buffster
+buffy123
+buffy1ma
+buggerme
+bugmenot
+bugsbugs
+bugsbunn
+bugsbunny
+bugssgub
+buhjvfybz
+builders
+building
+bujhm123
+bujhmbujhm
+bujhtdbx
+bujinkan
+bukowski
+bulabula
+bulat1996
+buldozer
+bulgakov
+bulgaria
+bullbull
+bullcrap
+bulldawg
+bulldog1
+bulldog2
+bulldog3
+bulldog4
+bulldog5
+bulldog6
+bulldog7
+bulldog8
+bulldog9
+bulldogg
+bulldogs
+bulldogs1
+bulldoze
+bulldozer
+bulletin
+bulletproof
+bullfrog
+bullhead
+bullnuts
+bullnuts2003
+bullocks
+bullride
+bullrider
+bulls123
+bullseye
+bullshit
+bullshit1
+bullwhip
+bullwink
+bullwinkle
+bullyboy
+bumblebe
+bumblebee
+bumbling
+bumerang
+bungalow
+bunghole
+BunniHoni
+bunny123
+bunnyhop
+bunnyman
+bunty123
+buratino
+burberry
+burger12
+burgerki
+burgerking
+burgundy
+burlpony
+burlroad
+burlroof
+burlsink
+burltree
+burnburn
+burnette
+burnley1
+burnside
+burrfoot
+burrito1
+burritos
+burton12
+burton13
+burunduk
+busdrive
+busdriver
+bushbush
+bushmast
+bushmaster
+bushmill
+bushnell
+bushwack
+bushwick
+business
+businessbabe
+bustanut
+buster01
+buster11
+buster12
+buster123
+buster13
+buster21
+buster22
+buster44
+buster69
+buster88
+buster99
+butchdog
+buterfly
+butkus51
+buttbutt
+butter11
+butter12
+butterba
+butterbe
+butterbean
+buttercu
+buttercup
+butterfl
+butterfly
+butterfly1
+butters1
+buttface
+buttfuck
+Butthea1
+butthead
+butthead1
+butthole
+buttlick
+buttlove
+buttmunc
+buttmunch
+buttnutt
+buttocks
+button12
+buttons1
+buttplug
+buttrock
+buziaczek
+buzzbait
+buzzbomb
+buzzbuzz
+buzzkill
+buzzword
+bvc7xr635
+bvgthfnjh
+bvncnbnvvbn
+byabybnb
+byajhvfnbrf
+bycgtrnjh
+bycnbnen
+bynthytn
+byntuhfk
+byrjuybnj
+byyjrtynbq
+c0cac0la
+c0l0rad0
+c0mputer
+c0rvette
+c1234567
+c123456789
+c32649135
+c3por2d2
+c43dae874d
+c43qpul5RZ
+C72E74A2
+c7e4f8EzqH
+cab4ma99
+caballer
+caballero
+cabbages
+cabernet
+cabibble
+cabinboy
+cabinets
+cabledog
+cableguy
+cableman
+cabowabo
+cacacaca
+cacapipi
+cachondo
+cachorro
+cadillac
+cadr14nu
+caesar12
+caffeine
+caffreys
+cagliari
+cagliostro
+cahek0980
+caitlin1
+cakewalk
+calabria
+calamari
+calamity
+calavera
+calbears
+calculator
+calculus
+calcutta
+calderon
+caldwell
+caleb123
+calendar
+calender
+calgary1
+caliburn
+calicali
+caliente
+californ
+californi
+california
+caligula
+calimero
+callahan
+callaway
+calliope
+callista
+callisto
+callofduty
+callofduty4
+calloway
+CallSceSetup
+callum123
+calvin12
+calvin69
+calypso1
+camaleon
+camaleun
+camaro01
+camaro67
+camaro69
+camaross
+camaroz2
+camaroz28
+cambiami
+cambodia
+cambridg
+cambridge
+camel123
+cameleon
+cameljoe
+camelot1
+cameltoe
+cameosis
+cameron0
+cameron1
+cameron2
+cameron3
+cameron6
+cameron7
+cameron9
+cameroon
+camilla1
+camille1
+camneely
+camp0017
+campagno
+campbell
+campfire
+campus100
+camshaft
+camvid30
+canada01
+canada12
+canada99
+Canadarr
+canadian
+canadien
+canadiens
+canarias
+canaries
+canarsie
+canberra
+cancer69
+cancun09
+candance
+candlebo
+candy123
+candyass
+candybar
+candycan
+candycane
+candyeater
+candyfinger
+candygirl
+candyman
+canesfan
+canfield
+caniinac
+cannabis
+cannelle
+cannibal
+cannibus
+cannonba
+cannonda
+cannondale
+canon123
+canoneos
+cantona1
+cantona7
+cantrell
+cantstop
+cantwait
+canucks1
+capacity
+capetown
+capital1
+capital5
+capitals
+capitano
+capitola
+capoeira
+capricor
+capricorn
+caprisun
+capslock
+capstick
+captain1
+captain2
+captain7
+captain9
+captaink
+capucine
+car12345
+caramail
+caramelo
+carbon14
+cardenas
+cardigan
+cardinal
+cardinals
+care1839
+carebear
+carebears
+carefree
+caribbea
+caribbean
+carla123
+carleton
+carletto
+carlisle
+carlitos
+carlos10
+carlos12
+carlos123
+carlos13
+carlos68
+carlotta
+carlsbad
+carlsber
+carlsberg
+carlton1
+carmelit
+carmella
+carmen00
+carmilla
+carmine1
+carnage1
+carnaval
+carnegie
+carnival
+carokann
+carolann
+carolcox
+caroleen
+Carolin1
+carolina
+carolina1
+caroline
+caroline1
+carolyn1
+carolynn
+carousel
+carpedie
+carpediem
+carpente
+carpenter
+carrera1
+carrera4
+carreras
+carriage
+carrick1
+carrillo
+carsales
+cartagen
+carter12
+carter15
+carter80
+carthage
+cartman1
+cartman2
+cartmann
+cartoon1
+cartoons
+carvalho
+carwash1
+casablan
+casablanca
+casandra
+casanova
+cascades
+casey123
+caseyboy
+caseydog
+cashcash
+cashflow
+cashmere
+cashmone
+cashmoney
+casillas
+casper11
+casper12
+casper123
+casper13
+casper99
+cassandr
+cassandra
+cassidy1
+cassie01
+cassie12
+cassiope
+castaneda
+castaway
+castello
+castilla
+castillo
+castings
+catalina
+catalyst
+catamoun
+catapult
+cataract
+catarina
+catatoni
+catch222
+catdaddy
+caterham
+caterina
+catering
+caterpil
+caterpillar
+catfight
+catfish1
+catherin
+catherine
+cathleen
+catholic
+cathouse
+cathrine
+catinhat
+catlover
+catmando
+catolica
+catracho
+catriona
+catscats
+catsdogs
+catskill
+catsmeow
+catullus
+catwoman
+cauldron
+caution1
+cavalera
+cavalier
+caveman1
+cavendish
+cavscout
+cbarkley
+cbljhjdf
+cbljhtyrj
+cbr600f2
+cbr600f3
+cbr600f4
+cbr600rr
+cbr900rr
+cbr929rr
+cbufhtnf
+cbvtycbyjrbz
+Ccccccc1
+cchaiyas
+cde34rfv
+cdexswzaq
+cdtnf123
+cdtnjxrf
+cdtnkfyf
+cdtnkfyf1
+cdtnkfyrf
+cdtnkzxjr
+cdznjckfd
+CE5939AE
+cecilia1
+cegthgegth
+cegthgfhjkm
+cegthvty
+ceisi123
+celebrat
+celebrate
+celebrit
+celebrity
+celeron1
+celeste1
+celeste2
+celestia
+celestin
+celestine
+celicagt
+cellardo
+cellphon
+cellphone
+cellular
+celtic12
+celtic1888
+celtic33
+celtic67
+celtic88
+celticfc
+celtics1
+celtics3
+celtics33
+cemetery
+censored
+centauri
+central1
+centrino
+centurion
+cepseoun
+ceramics
+cerberus
+cerfcerf
+cerritos
+certclas
+certified
+cerulean
+cervante
+cessna15
+cessna17
+cessna172
+cezer121
+cfiekmrf
+cfifcfif
+cfifvfif211
+cfitymrf
+cfkfvfylhf
+cfvfhrfyl
+cfvfzcxfcnkbdfz
+cfvfzkexifz
+cfvfzrhfcbdfz
+cfvlehfr
+cfycfysx
+cfyzcfyz
+cgfhnfrvjcrdf
+cgfhnfrxtvgbjy
+cghfdjxybr
+cgtkcbyuth
+cgtwbfkbcn
+cGzFRhUf
+ch1tt1ck
+ch3ch2oh
+chaching
+chadchad
+chadwick
+chainsaw
+chairman
+challeng
+challenge
+challenger
+chalmers
+chamberl
+chambers
+chameleo
+chameleon
+chamonix
+chamorro
+champ123
+champagn
+champagne
+champion
+champions
+chanchal
+chanchan
+chandler
+chanelle
+change12
+change123
+changeit
+ChangeLangMs
+changeme
+changeme1
+changepa
+changes1
+changing
+channel1
+channels
+channing
+chantal1
+chantel1
+chantell
+chantelle
+chaos666
+chaparra
+chaplain
+chapstic
+characte
+character
+characters
+charchar
+charcoal
+charger1
+charger7
+chargers
+chargers1
+charisma
+charissa
+charisse
+charity1
+charizard
+charleen
+charlene
+charles0
+charles1
+charles2
+charles3
+charles4
+charles5
+charles7
+charles9
+charless
+charlest
+charleston
+charlie0
+charlie1
+charlie111
+charlie123
+charlie2
+charlie3
+charlie4
+charlie5
+charlie6
+charlie7
+charlie8
+charlie9
+charlieb
+charlied
+charliedog
+charliem
+charlies
+charline
+charlize
+charlott
+charlotte
+charlotte1
+charlton
+charmain
+charmaine
+charmander
+charmed1
+charming
+charter1
+chase123
+chastity
+chatchat
+chateaux
+chatroom
+chatting
+chauncey
+chawanxan
+cheaphornybastard
+cheaters
+cheating
+cheburashka
+cheburek
+chechnya
+checkers
+checking
+checkito
+checkitout
+checkmat
+checkmate
+checkout
+cheechee
+cheerful
+cheering
+cheerios
+cheerlea
+cheerleader
+cheerleaers
+cheese01
+cheese12
+cheese123
+cheeseburger
+cheeseca
+cheesecake
+cheeseman
+cheetah1
+cheetahs
+chefchef
+chegevara
+chelovek
+chelsea0
+chelsea01
+chelsea1
+chelsea2
+chelsea3
+chelsea4
+chelsea5
+chelsea6
+chelsea7
+chelsea8
+chelseaf
+chelseafc
+chemical
+chemistr
+chemistry
+chemnitz
+chernova
+cherokee
+cherokee1
+cherries
+cherry12
+cherry20
+cherrypi
+cheshire
+chessman
+chessmas
+chessmaster
+chester1
+chester12
+chester123
+chester2
+chester3
+chester7
+chester8
+chester9
+chesterfield
+chesters
+chestnut
+chevalier
+chevelle
+chevette
+chevrole
+chevrolet
+chevy123
+chevy327
+chevy350
+chevy454
+chevyman
+chevys10
+chevytru
+chevyz71
+chewbaca
+chewbacc
+chewbacca
+cheyanne
+cheyenne
+cheyenne1
+Chgobndg
+chibears
+chicago0
+chicago1
+chicago2
+chicago23
+chicago3
+chicago5
+chicago7
+chicago9
+chicco22
+chichago
+chickade
+chicken0
+chicken1
+chicken123
+chicken2
+chicken3
+chicken4
+chicken6
+chicken8
+chickenb
+chickens
+chickenwing101
+chicklet
+chico123
+chief123
+chieftai
+chieftan
+chiemsee
+chihuahu
+chihuahua
+chijioke
+chilango
+children
+Children2
+chilidog
+chilling
+chillout
+chimaera
+chimaira
+chimchim
+chimera1
+china123
+chinacat
+chinadol
+chinadoll
+chinaman
+chinaski
+chinatow
+chinatown
+chinchil
+chinchilla
+chinchin
+chinese1
+chingada
+chinka12
+chipchop
+chipmonk
+chipmunk
+chipotle
+chipper1
+chipper10
+chipper2
+chippers
+chippewa
+chipster
+chiquita
+chiquito
+chisholm
+chiswick
+chitarra
+chitchat
+chivalry
+chivas11
+chloe123
+chloecat
+chloedog
+chlorine
+chocha10
+choclate
+chocolat
+chocolate
+chocolate1
+chocolate2
+choirboy
+cholco01
+choochoo
+chopchop
+chopper1
+chopper2
+choppers
+chopsuey
+chouchou
+chouette
+chowchow
+chowdary
+chowmein
+chris100
+chris111
+chris123
+chris198
+chris200
+chris999
+chrisbln
+chrisbrown
+chrisman
+chrisrey
+chrissie
+chrissy1
+christa1
+christal
+christel
+christen
+christer
+Christi1
+christia
+christiaan
+christian
+christian1
+christie
+christin
+christina
+christine
+christma
+christmas
+christof
+christop
+christoph
+christophe
+christopher
+christopher1
+christos
+christy1
+chronic1
+chronicle
+chrysler
+chrystal
+chuck123
+chuckie1
+chuckles
+chucknorris
+chuckste
+chuluthu
+chupacab
+chupakabra
+churchil
+churchill
+ciaociao
+ciccione
+CidKid86
+cigarett
+cigarette
+cilantro
+cincinna
+cincinnati
+cinderel
+cinderella
+cindy123
+cindylou
+cingular
+cinnamon
+cippalippa
+cisco123
+ciscokid
+cisneros
+citabria
+citation
+citibank
+citizen2
+civilian
+civilization
+civilwar
+cjcfnmdctv
+cjdthitycndj
+cjhjrbyf
+cjkjdmtdf
+cjkysirj
+cjkytxyfz
+cjrhjdbot
+cjrjkjdf
+cjxb2014
+cjybthbrcjy
+ck6ZnP42
+ckfdjxrf
+ckfltymrfz
+ckjytyjr
+claddagh
+clambake
+clansman
+clapton1
+clarabino
+clarence
+clarinet
+clarissa
+clarisse
+clark123
+clarkent
+clarkken
+clarkkent
+clarkson
+classact
+classic1
+classic2
+classica
+classical
+classics
+classifi
+classof0
+claudett
+claudia1
+claudia9
+claudine
+claudius
+claybird
+claymore
+claypool
+clayton1
+cleaners
+cleaning
+clearwat
+cleavage
+cleburne
+clemence
+clemente
+clementi
+clementin
+clementine
+clements
+clemson1
+cleocleo
+cleopatr
+cleopatra
+clermont
+clevelan
+cleveland
+clifford
+climbing
+clinique
+clinton1
+clioclio
+clipper1
+clippers
+clitclit
+clitlick
+clitoris
+clitring
+clockwor
+clockwork
+clothing
+clotilde
+clouseau
+clownboy
+clownfis
+clubbing
+clubcapt
+clubpenguin
+clueless
+clusters
+CMiGTVo7
+Cmu9GgZH
+CmXMyi9H
+cneltynrf
+cnfc35762209
+cnfdhjgjkm
+cnfhjghfvty
+cnfnbcnbrf
+cnfybckfd
+cnfylfhn
+cnhfntubz
+cnhfyybr
+cnhjbntkm
+cnhjbntkmcndj
+cnhtrjpf
+cnjvfnjkju
+cntgfirf
+cntgfyjd
+cntgfyjdf
+cnthdjxrf
+coachman
+coasters
+cobblers
+cobra123
+cobra427
+cobra777
+cobrajet
+cobrasvt
+cocacola
+cocacola1
+coccinel
+coccinella
+cochabamb
+cocheese
+cochrane
+cockcock
+cockface
+cockgobbler
+cocklover
+cockring
+cockroach
+cockslut
+cocksuck
+cocksucker
+cocktail
+coco1234
+cocobean
+cocococo
+cocoliso
+cocoloco
+coconuts
+cocopops
+cocopuff
+cocorico
+codeblue
+codename
+codered1
+codycody
+coffee11
+coffee12
+coglione
+coincoin
+cokecoke
+cokeisit
+colacola
+colchester
+coldbeer
+coldcold
+coldfire
+coldplay
+coldshot
+colecole
+colegiata
+coleman1
+coleslaw
+colin123
+collants
+collecti
+collection
+collecto
+collector
+colleen1
+college1
+college2
+colleges
+collette
+collingw
+collins1
+colocolo
+colole57
+colombia
+colonels
+colonial
+colorado
+coloring
+colossus
+colt1911
+coltrane
+columbia
+columbus
+comanche
+comander
+comatose
+combat123654
+combined
+comcast1
+comeback
+comedyclub
+cometome
+comfort1
+comicboo
+comicbook
+comicbookdb
+comicbooks
+comicsans
+command1
+command2
+commande
+commander
+commando
+commandos
+comments
+commerce
+commerci
+commercial
+commodor
+commodore
+communic
+communit
+community
+comp1234
+comp967r
+compaq01
+compaq11
+compaq12
+compaq123
+compaq99
+compass1
+compatible
+compiling
+complete
+completed
+compliance
+composer
+compound
+compress
+computador
+computadora
+Compute1
+computer
+computer1
+computer12
+computer123
+computers
+comrades
+comrereg
+comstock
+concepts
+concerto
+concetta
+conchita
+concorde
+concordi
+concrete
+conditio
+condition
+conducto
+conehead
+conejito
+confetti
+confiden
+confidence
+conflict
+confused
+confusio
+congress
+connect1
+connecte
+connecti
+connection
+connecto
+connelly
+connolly
+connor11
+connor12
+conquest
+consense
+consilium
+constabl
+constanc
+constance
+constant
+constanta
+constantin
+constantine
+constanz
+constitution
+construc
+construction
+consuelo
+consult1
+consulta
+consultant
+consulting
+consumer
+contacts
+containe
+contains
+contessa
+contests
+continen
+continue
+contortionist
+contract
+contrasena
+contrast
+contrera
+control1
+control2
+controle
+controll
+controller
+controls
+conundru
+conundrum
+converge
+converse
+cookbook
+cookie11
+cookie12
+cookie123
+cookie13
+cookie59
+cookiemo
+cookies1
+cookies2
+cooking1
+cool1234
+coolbean
+coolbeans
+coolbree
+coolbugi2000
+coolcat1
+coolcool
+cooldood
+cooldude
+coolfool
+coolgirl
+coolguy1
+coolguys
+coolhand
+coolidge
+coolman1
+coolness
+coolshit
+coolwhip
+cooper11
+cooper12
+coorslig
+coorslight
+coorslit
+copeland
+copenhag
+copenhagen
+copernic
+copper12
+copperco
+copperfi
+copyright
+corcoran
+cordelia
+cordless
+corduroy
+core2rap
+corecore
+corellia
+corinthians
+coriolis
+corleone
+cornball
+cornbrea
+cornbread
+cornelia
+cornelis
+corneliu
+cornelius
+cornell1
+cornerst
+cornflak
+cornhole
+cornholi
+cornholio
+cornhusk
+cornwall
+cornwell
+corona42
+coronado
+CORPerfMonSy
+corporal
+corporat
+corpsman
+corrado1
+corraggi
+corratec
+corrigan
+corsair1
+cortland
+corvet07
+Corvett1
+corvette
+corvette1
+corycory
+cosanostra
+cosgrove
+cosmetic
+cosmo123
+cosmocat
+cosmodog
+cosmopolitan
+cossacks
+costanza
+costaric
+costarica
+costello
+cosworth
+cottage1
+cottages
+cougar99
+cougars1
+counchac
+countach
+counter1
+counters
+counterstrike
+countess
+counting
+country1
+countryb
+CountyLi
+courtney
+courtney1
+couscous
+cousteau
+covenant
+coventry
+coverall
+covingto
+covington
+cowabung
+cowboy11
+cowboy12
+cowboy22
+cowboy23
+cowboys0
+cowboys1
+cowboys2
+cowboys8
+cowboyss
+cowboyup
+cowgirls
+cowsrule
+cpe1704t
+cprofile
+cptnz062
+cqub6553
+crabcake
+crabtree
+crackass
+cracker1
+crackerj
+crackers
+crackhea
+crackhead
+cracking
+crackpot
+CraCkSeVi
+crackwho
+craddock
+craig123
+cranberr
+cranberries
+cranberry
+cranford
+crankers
+cranston
+crapcrap
+crash123
+crawdads
+crawfish
+crawford
+crawling
+crayfish
+crazy123
+crazyass
+crazybab
+crazyboy
+crazycat
+crazydog
+crazydude
+crazyfrog
+crazyguy
+crazyhor
+crazyhorse
+crazyman
+crazyone
+crazyZil
+creampie
+creamyou
+creatine
+creation
+Creativ1
+creative
+creative1
+creature
+creditca
+creeksid
+creepers
+crenshaw
+creosote
+crepusculo
+crescent
+cressida
+crevette
+cribbage
+crichton
+cricket1
+crickets
+crickett
+cricri10
+crimedog
+criminal
+crimson1
+crippler
+cristian
+cristiana
+cristiano
+cristina
+cristine
+cristobal
+cristopher
+critical
+critter1
+critters
+crjhgbjy
+crjhjcnm
+crockett
+crocodil
+crocodile
+cromo2002
+cromwell
+cronaldo
+crosby87
+crossbow
+crossfir
+crossfire
+crossing
+crossman
+crossroa
+crosswor
+croucher
+crownvic
+cruiser1
+cruisers
+cruising
+crunchie
+crusader
+cruzados
+cruzazul
+cruzeiro
+crystal0
+crystal1
+crystal2
+crystal5
+crystal7
+crystal8
+crystal9
+crystals
+csfbr5yy
+csrnsdrfh
+csyekmrf
+ctdfcnjgjkm
+ctdthysq
+cthnbabrfn
+cthulhu1
+cthuttdbx
+cthuttdf
+cthuttdyf
+ctqkjhvey
+ctrhtn47
+ctrhtnfhm
+ctrhtnyj
+ctrnjhufpf
+ctswaj13
+ctvtyjdf
+cubalibr
+cubalibre
+cubbies1
+cubssuck
+cubswin1
+cucciolo
+cucumber
+cudacuda
+cuddles1
+cuddles2
+cuestick
+culinary
+culloden
+culoculo
+cumberla
+cumberland
+cumeater
+cumlover
+cummings
+cumsalot
+cumshot1
+cumshots
+cumsluts
+cumstain
+cumsucker
+cumwhore
+cunningh
+cuntcunt
+cuntface
+cuntfinger
+cunthole
+cuntlick
+cuntlicker
+cuntlips
+cuntsoup
+cupboard
+cupcake1
+cupcakes
+cupoftea
+curious1
+curitiba
+currahee
+currency
+curtains
+customer
+cutegirl
+cutgrass
+cuthbert
+cutiepie
+cuyahoga
+cvbhyjdf
+cvbncvbn
+cvbnnbvc
+cvetlana
+cvtifhbr
+cvtifhbrb
+cvzefh1gk
+cvzefh1gkc
+cwilliam
+cwizintr
+cwoodson
+cxfcnkbdfz
+cxfcnkbdxbr
+cxfcnmttcnm
+cxzdsaewq
+cyberman
+cybermax
+cybernet
+cyberonline
+cyberpun
+cybersex
+cybershot
+cyclone1
+cyclones
+cyclops1
+cyecvevhbr
+cygnusx1
+cyjdsvujljv
+cylinder
+cynthia1
+cypress1
+cytuehjxrf
+cytujdbr
+czekolada
+CzPS5NYNDWCkSC
+d1234567
+d12345678
+d1arrhea
+d1d2d3d4
+d1i2m3a4
+D1lakiss
+d36rkqdff
+d78unhxq
+da010375
+da0206sf
+dabl1125
+dabomb86
+DAD2OWNu
+dadadada
+daddy123
+daddyboy
+daddymac
+daddysgirl
+daedalus
+daffodil
+daffyduc
+daffyduck
+daftpunk
+dagestan
+dagobert
+daisy123
+daisy3112
+daisydog
+daisymae
+daisymay
+dak06ota
+dakota01
+dakota11
+dakota12
+dakota88
+dakota99
+daledale
+dalejr08
+dalejr88
+dalglish
+dallas00
+dallas01
+dallas11
+dallas12
+dallas21
+dallas22
+dallas33
+dallas88
+dallastx
+dalmatio
+damage11
+damascus
+damilola
+damnation
+damned69
+damngood
+damocles
+danadana
+dance123
+dance4life
+dancedance
+dancer12
+dancer13
+dandelio
+dandelion
+danechka
+dangermo
+dangerou
+dangerous
+danidani
+daniel00
+daniel01
+daniel10
+daniel11
+daniel12
+daniel123
+daniel13
+daniel14
+daniel17
+daniel19
+daniel20
+daniel21
+daniel22
+daniel24
+daniel26
+daniel27
+daniel69
+daniel77
+daniela1
+danielit
+daniella
+danielle
+danielle1
+danifilth
+danijela
+danil8098
+danildanil
+danilova
+dankdank
+danknugs
+dankster
+danni123
+danniash
+danny001
+danny123
+dannyboy
+dannym88
+dante123
+dante666
+danthema
+dantheman
+dantheman123
+danville
+danyelle
+danziger
+DaoCiYiY
+dapzu455
+daredevi
+daredevil
+darjeeling
+darkange
+darkangel
+darkblue
+darkcave
+darkcity
+darkdark
+darkfire
+darkhors
+darkhorse
+darkjedi
+darkknig
+darkknight
+darkling
+darklord
+darkmage
+darkmanx
+darkmoon
+darkness
+darkness1
+darknigh
+darknight
+darknite
+darkomen
+darkover
+darkroom
+darkseed
+darkside
+darksoul
+darkstar
+darkwing
+darkwolf
+darlingt
+darmstad
+darnell1
+darthmau
+darthmaul
+darthvad
+darthvader
+dartmout
+dartmouth
+dasha123
+dasha1999
+dasha2010
+dashadasha
+dashenka
+dasreich
+database
+datadata
+datalife
+datalore
+datnigga
+daugavpils1
+daughter
+dauntivi
+dauphine
+davcprox
+dave1234
+davecole
+davedave
+davenpor
+davenport
+daveyboy
+david123
+david1984
+david200
+david777
+davidhbk
+davidkin
+davidlee
+davidoff
+davidruiz
+davidson
+davinchi
+dawgdawg
+dawgpound
+dawndawn
+daybreak
+daydream
+daylight
+daytona1
+daywalke
+daywalker
+dazdraperma
+dbdbdbdb
+dbjktnnf
+dbm123dm
+dbnfkbr1
+dbnfkbyf
+dbnfkmrf
+dbrecmrf
+dbrfdbrf
+dbrnjhbz
+dbrnjhjdbx
+dbrnjhjdyf
+dbyjuhfl
+dcowboys
+dctdjkjl
+dctktyyfz
+dctvcjcfnm
+dctvgbplf
+dctvghbdf
+dctvghbdtn
+dcunited
+Ddddddd1
+de1987ma
+deadbeat
+deadbird
+deadbolt
+deaddead
+deadfish
+deadfred
+deadhead
+deadlift
+deadline
+deadlock
+deadman1
+deadmau5
+deadmazay
+deadmeat
+deadmoin
+deadpool
+deadsexy
+deadsoul
+deadspace
+deadspin
+deadwood
+deadzone
+deandean
+deangelo
+dearborn
+death123
+death666
+deathblo
+deathman
+deathnote
+deathrow
+deathsta
+deathstar
+deathwish
+debbie12
+debbie69
+debiloid
+deborah1
+debtfree
+debugger
+decaview
+december
+december1
+december12
+december2
+decembre
+decipher
+decision
+dededede
+dedmoroz
+dedushka
+deepblue
+deepdeep
+deepdive
+deeppurple
+deepspac
+deepthro
+deepthroat
+Deepwate
+deerhunt
+deerhunter
+deerpark
+deesnuts
+deeznuts
+deeznutz
+default1
+defender
+defiance
+defiant1
+deflep27
+deftones
+degenerationx
+degr9369
+delacruz
+delasoul
+delavega
+delaware
+delegwiz
+delerium
+deliciou
+delicious
+delights
+delirium
+delivery
+dell1234
+delldell
+deloitte
+delorean
+delphine
+delpiero
+delta123
+deltachi
+deltafor
+deltaforce
+deltaone
+deltasig
+deltatau
+demchenko
+demented
+dementia
+demetria
+demetrio
+demetriu
+demetrius
+democrat
+demodemo
+demolition
+demon123
+demon666
+den040791
+den1020834880
+den12345
+dendenden
+denis123
+denis12345
+denis1983
+denis1984
+denis1985
+denis1986
+denis1988
+denis1989
+denis1995
+denis2011
+denisdenis
+denise01
+denman85
+dennis12
+dentista
+department
+depeche1
+depechemode
+derderder
+derelict
+derfderf
+derparol
+derrick1
+DerrickH
+descarte
+Description
+desdemon
+desember
+desertfo
+designer
+desiree1
+deskjet1
+desklamp
+desktop1
+desmond1
+desperad
+desperado
+desperados
+desperate
+destination
+destinee
+destiny0
+destiny1
+destiny2
+destroye
+destroyer
+destruct
+destruction
+detectiv
+detective
+dethklok
+detritus
+detroit1
+detroit4
+detroit6
+deutsche
+deutschl
+deutschland
+devadeva
+devastator
+develope
+developer
+DeviceClass
+devil123
+devil666
+devilboy
+devildoc
+devildog
+devildriver
+devilish
+devilman
+devilmay
+devilmaycry
+devilmaycry4
+devils22
+devils95
+devo2706
+devochka
+devotion
+dewdrops
+dexter12
+dezamone
+dezember
+dezembro
+df3sypro
+dfcbkbcf
+dfcbkbcr
+dfcbkbyf
+dfcbkmtd
+dfcbkmtdf
+dfcbkmtdyf
+dfczdfcz
+dfdfdfdf
+dfgdfgdf
+dfgdfgdfg
+dfgdrb5se4
+dfhrhfan
+dfkmltvfh
+dfkmrbhbz
+dfknjhyf
+dfktynby
+dfktynbyf
+dfktynbyrf
+dflmqljm
+dfnheirf
+dfrgifps
+dfvdfvdfv
+dfvgbh12
+dfyjdf846
+dfyzdfyz
+dgl70460
+dhjnvytyjub
+dhtlbyrf
+di7771212
+diabetes
+diabetic
+diablito
+diablo11
+diablo12
+diablo66
+diablo666
+diablo69
+diabolic
+diabolik
+diactfrm
+diagonal
+diakonos
+dialtone
+diamante
+diamond0
+diamond1
+diamond2
+diamond3
+diamond4
+diamond6
+diamond7
+diamond8
+diamond9
+diamondb
+diamondd
+diamondg
+diamondj
+diamondp
+diamonds
+diamondt
+diamondz
+diana123
+diana2002
+dianochka
+diapason
+dicaprio
+diciembr
+dickdick
+dickens1
+dickface
+dickhead
+dickless
+dicklick
+dicklips
+dickster
+dicksuck
+dickweed
+dictator
+dictiona
+dictionary
+diebitch
+diediedie
+diego123
+diehard1
+dienstag
+diesirae
+dietcoke
+dietcoke1
+dietpeps
+dietrich
+differen
+difference
+difranco
+diggerdo
+digital1
+digital2
+digital9
+DigitalProdu
+digiview
+dignity7
+dikkelul
+dikobraz
+dilbert1
+dillhole
+dilligaf
+dilligas
+dillinge
+dillweed
+dima1234
+dima12345
+dima1972
+dima1983
+dima1984
+dima1985
+dima1986
+dima1988
+dima1989
+dima1990
+dima1991
+dima1992
+dima1993
+dima1994
+dima1995
+dima1996
+dima1997
+dima1998
+dima1999
+dima2000
+dima2002
+dima2009
+dima2010
+dima2011
+dima3452
+dima38821
+dimabilan
+dimadima
+dimaggio
+dimanche
+dimazarya
+dimedrol
+dimensio
+dimension
+dimidrol
+dimitris
+dimochka
+dimon1992
+dimon4ik
+dimonchik
+dinadina
+dinamite
+dingalin
+dingaling
+dingding
+dingdong
+dingoman
+dinmamma
+dinochka
+dinodino
+dinodogg
+dinosaur
+dinozavr
+dinsdale
+diogenes
+diomedes
+dionysus
+diosesamo
+dipascuc
+diplomat
+dipstick
+director
+Directory
+direktor
+direwolf
+dirkdirk
+dirkpitt
+dirtball
+dirtbike
+dirtybir
+dirtyboy
+dirtycunt
+dirtydog
+dirtygirl
+dirtyman
+dirtyone
+dirtypop
+dirtysouth
+dirtywhore
+disabled
+disaster
+discgolf
+disciple
+discordi
+discount
+discover
+discovery
+discreet
+discrete
+discworld
+disguise
+dishwash
+diskette
+disney12
+disneyland
+disorder
+dispatch
+displays
+distance
+distress
+district
+disturbe
+disturbed
+diunilaobu8
+divedeep
+diverdow
+diversio
+divinity
+division
+divorced
+dixie123
+dixiedog
+diya2003
+djdfdjdf
+djg4bb4b
+djgabbab
+djhjyjdf
+djibouti
+djkrjlfd
+djkujuhfl
+djljghjdjl
+djtiesto
+dkfcntkby
+dkflbckfd
+dkflbdjcnjr
+dkflbvbh
+dkflbvbhjdbx
+dkflbvbhjdyf
+dkfljxrf
+dkjfghdk
+dM6TZsGp
+DmfxHkju
+dmiller12as
+dmitriev
+dmitrieva
+doberman
+dochenka
+doctorno
+doctorwh
+doctorwho
+document
+doc_0815
+dodadoda
+dodgeman
+dodgeram
+dodgers1
+dodgeviper
+dodobird
+dodododo
+dog4life
+dogballs
+dogbert1
+dogbones
+dogbreat
+dogbreath
+dogdogdog
+dogeatdo
+dogface1
+dogfight
+doggdogg
+doggiest
+doggy123
+doggydog
+doggysty
+doggystyle
+doghouse
+doglover
+dogmatic
+dogmatix
+dogmeat1
+dogpatch
+dogphil3650
+dogpound
+dogsdogs
+dogstyle
+dohcvtec
+dolcevita
+dolemit1
+dolemite
+dolittle
+dollarbi
+dollarbill
+dollbaby
+dollface
+dolomite
+dolores1
+dolphin1
+dolphin2
+dolphin3
+dolphin5
+dolphin6
+dolphin7
+dolphin8
+dolphin9
+dolphine
+dolphins
+dolphins1
+doma77ns
+domainlock2005
+domedome
+domehard
+domenico
+domestic
+dominant
+dominate
+dominati
+domination
+dominator
+domingue
+dominic1
+dominica
+dominick
+dominik1
+dominika
+dominion
+dominiqu
+dominique
+dominoes
+domodedovo
+domodomo
+domolink
+donaldduck
+donatella
+donatello
+donkey12
+donkeykong
+donna123
+donnalee
+donnelly
+donovan1
+dont4get
+dontcare
+dontdoit
+dontforg
+dontforget
+dontgotm
+donthate
+dontknow
+dontlook
+dontstop
+donttell
+doodle12
+doodlebu
+doodlebug
+doolittl
+doolittle
+doom2004
+doomdoom
+doomsday
+doorbell
+doorknob
+doorstop
+dopamine
+dopehead
+doraemon
+dorkdork
+doromich
+doronina
+dorothea
+dorothee
+dorothy1
+dortmund
+dothedew
+double07
+douc1234
+douchebag
+doudouth
+doughboy
+doughnut
+douglas1
+douglas2
+douglass
+doverdel
+dovetail
+dowjones
+downdown
+downfall
+downhill
+download
+downloads
+downtime
+downtown
+downunde
+dps140786
+Dr342500
+draconia
+draconian
+draconis
+dracula1
+drafting
+dragon00
+dragon01
+dragon05
+dragon07
+dragon10
+dragon100
+dragon11
+dragon12
+dragon123
+dragon13
+dragon16
+dragon17
+dragon18
+dragon19
+dragon20
+dragon21
+dragon22
+dragon23
+dragon25
+dragon27
+dragon29
+dragon33
+dragon35
+dragon44
+dragon55
+dragon64
+dragon66
+dragon666
+dragon67
+dragon69
+dragon76
+dragon77
+dragon85
+dragon88
+dragon98
+dragon99
+dragonba
+dragonball
+dragonballz
+dragonbo
+dragones
+dragonfi
+dragonfire
+dragonfl
+dragonfly
+dragonforce
+dragonla
+dragonlord
+dragonma
+dragonman
+dragons1
+dragonslayer
+dragonss
+dragoon1
+dragrace
+dragstar
+dragster
+drake123
+drdrdrdr
+dreadful
+dream123
+dreamcas
+dreamcast
+dreamer1
+dreamer2
+dreamers
+dreamgirl
+dreaming
+dreamlan
+dreamonline
+dreamtea
+dreamteam
+dreamwor
+dreamworks
+dressage
+dressing
+drewdrew
+DrExploi
+drifting
+drilling
+drillsgt
+drinking
+dripdrip
+dripping
+driscoll
+drive487
+drjynfrnt
+Dro8SmWQ
+droffilc
+dropdead
+dropkick
+dropzone
+drowning
+drowssap
+droz9122
+drpepper
+drugfree
+druhay17
+drumandbass
+drumbass
+drumbeat
+drumdrum
+drumline
+drummer1
+drummer2
+drummerb
+drummers
+drumming
+drummond
+drumnbas
+drumnbass
+drunkard
+drusilla
+Ds7zAMNW
+dsobwick
+dt426a37
+dtctkmxfr
+dtcyeirf
+dtcyf2010
+dtheyxbr
+dthjybrf
+dthjybxrf
+dthyjcnm
+dtkjcbgtl
+dtnthbyfh
+dtxyjcnm
+dtybfvby
+dtynbkznjh
+dublin01
+ducati74
+ducati91
+ducati99
+duchess1
+duckbutt
+duckduck
+duckhead
+duckhunt
+duckling
+duckpond
+ducksoup
+ducttape
+dude1234
+dude1998
+dudedude
+dudelove
+dudester
+duecebox
+duffbeer
+duffydog
+dufresne
+duisburg
+dukeblue
+dukeduke
+dukenuke
+dukenukem
+dukester
+dulcinea
+dumbass1
+dumbass2
+dumbdumb
+dumbfuck
+dumbshit
+dumpling
+dumpster
+dumptruck
+duncan21
+dune2000
+dunnowho89
+dunwoody
+dupadupa
+duplicate
+dupont24
+duracell
+durandal
+duranduran
+durango1
+dustin23
+dusty123
+dusty197
+dustyboy
+dustydog
+dutchboy
+dutchess
+dutchman
+duvvvvvy
+dvtcntyfdctulf
+DXN36099
+dybvfybt
+dylan123
+dylandog
+dynamics
+dynamite
+dynastar
+dynomite
+dzdzdzdz
+dziadzia
+dzxtckfd
+e0000206
+e1l2e3n4a5
+e214fre21
+E2Fq7fZj
+e6pz84qfCJ
+eae21157
+eagle055
+eagle111
+eagle123
+eagle777
+eagleeye
+eagleman
+eagleone
+eagles00
+eagles05
+eagles11
+eagles12
+eagles20
+eagles22
+eagles25
+earlgrey
+earlmill
+earnhard
+earnhardt
+earnhart
+earthlin
+earthlink
+earthquake
+easports
+eastern1
+eastlake
+eastside
+eastwest
+eastwood
+easy1234
+easyeasy
+easylife
+easynews
+easyonmy
+easypass
+easyride
+easyrider
+eatadick
+eatme123
+eatmenow
+eatmeraw
+eatmyass
+eatmycum
+eatpussy
+eatshit1
+ebenezer
+echoecho
+echostar
+eclectic
+eclipse1
+eclipse2
+eclipse9
+economia
+economic
+economics
+economist
+ecuador1
+edcwsxqaz
+eddie123
+eddieboy
+edededed
+edelveis
+edelweis
+edgehill
+edgerton
+edgewise
+edgewood
+edinburg
+edinburgh
+edinorog
+edlight3
+edmonton
+eduardo1
+educatio
+education
+edward10
+edward11
+edward12
+edward22
+edwardcullen
+edwards1
+edwardss
+Eeeeeee1
+EFBCAPA201
+efremova
+Efwe5tgwa5twhgd
+eggjuice
+eggplant
+eggseggs
+eghfdktybt
+egoregor
+egyptian
+eight888
+eightbal
+eightball
+eighteen
+einstein
+einstien
+eintrach
+eintracht
+eintritt
+eisregen
+ejaculation
+ekaterina
+ekaterina20
+ekilpool
+ekimekim
+eKLhiGcz
+ekx1x3k9BS
+el345612
+el546218
+elaine22
+elates_y
+elbereth
+elcamino
+eldiablo
+eldorado
+eldridge
+eldritch
+eleanor1
+election
+electra1
+electric
+electrical
+electro1
+electron
+electronic
+electronics
+elefante
+elegance
+elektrik
+element1
+element2
+element7
+elementa
+elemental
+elements
+elena123
+elena1971
+elena1973
+elena1975
+elena1977
+elena2010
+elena2011
+elenberg
+eleonora
+elephant
+elephant1
+elephants
+elevatio
+elevation
+elevator
+eleven11
+elfquest
+elfriede
+elfstone
+elisabet
+elisabeth
+elizabet
+elizabeth
+elizabeth1
+elizavet
+elizaveta
+elkabong
+ellehcim
+elliedog
+elliemae
+elliott1
+ellswort
+ellsworth
+elmer251
+elmerfud
+elmoelmo
+elsaelsa
+elsalvador
+elsinore
+elsworth
+Elvira26
+elvis123
+elvisliv
+emachine
+emachines
+emanuela
+emanuele
+emar3114
+embalmer
+emerald1
+emerald2
+emeralds
+emergenc
+emergency
+emerica1
+emerson1
+emiliano
+emily123
+emilyann
+emilyany
+eminem11
+eminem12
+eminem123
+emirates
+emmaemma
+emmajane
+emmanuel
+emmapeel
+emmarose
+emmitt22
+emotional
+emotions
+empacher
+empire11
+employee
+emporium
+emulator
+emyeuanh
+enamorad
+enchante
+encounte
+encounter
+endeavor
+endymion
+energize
+energizer
+energy12
+enforcer
+eng53533
+engeltje
+engineer
+engineering
+england1
+england2
+england6
+english1
+enhanced
+enlighte
+enolagay
+enormous
+enrique1
+enron714
+ensemble
+enter123
+enterent
+entering
+enternow
+enterpri
+enterprise
+entertai
+entertain
+entertainment
+entrance
+entry170
+envelope
+envision
+epaulson
+epervier
+epidemia
+epiphany
+epiphone
+episode1
+epsilon1
+eqeS606898
+erection
+ereiamjh
+erererer
+ereyes4269
+eric1132
+eric1234
+ericeric
+erickson
+ericsson
+erikerik
+eriksson
+erinerin
+erkebulan
+ermakova
+erocdrah
+eroseros
+erotica1
+ertyuiop
+eruption
+ERywgan5
+escaflowne
+escalade
+escapade
+escargot
+escondido
+escorpio
+escorpion
+esmerald
+esmeralda
+esmith22
+esoteric
+especial
+esperanto
+esperanz
+esperanza
+espinosa
+espinoza
+espiritu
+esposito
+espraber
+espresso
+essayons
+essendon
+essentia
+essential
+esteban1
+estefani
+estefania
+estoppel
+estrange
+estrella
+estrellit
+eternal1
+eternity
+ethan123
+ethereal
+ethernet
+ethiopia
+euclid90
+EulaComplete
+euphoniu
+euphoria
+euro2000
+euro2004
+eurocard
+euroline
+european
+eurostar
+eus1sue1
+evaluate
+evamaria
+evanescence
+evangeli
+evangeline
+evangelion
+evanston
+evdokimov
+evenflow
+evenstar
+Eventlog
+everclea
+everest1
+everett1
+evergree
+evergreen
+everlast
+everlong
+evermore
+everques
+everquest
+everton1
+evertonf
+evertonfc
+everybody
+everyday
+everyone
+everythi
+everything
+evgeniya
+evidence
+evildead
+evilevil
+evillive
+evinrude
+evolutio
+evolution
+ewelinka
+ewqdsacxz
+ewqewqewq
+examiner
+excalibe
+excaliber
+excalibu
+excalibur
+excellen
+excellence
+excellent
+excelsio
+excelsior
+exchange
+exciteme
+exciting
+exclusiv
+exclusive
+executiv
+executive
+executor
+exercise
+existenz
+exorcist
+expediti
+expedition
+experience
+experienced
+explicit
+exploite
+exploiter
+Explore1
+explorer
+explorer1
+explosion
+explosiv
+exposure
+express1
+express2
+expresso
+external
+extra300
+extra330
+extreme1
+extremes
+eybdthcbntn
+eyeballs
+eyecandy
+eyesonly
+ezequiel
+f00tball
+f14tomca
+f14tomcat
+f15eagle
+f1f2f3f4
+f22raptor
+F64579820f
+F8YruXoJ
+faberlic
+fabienne
+fabolous
+fabregas
+fabrizio
+fabulous
+face2face
+facebook
+faceface
+facefuck
+facelift
+fafyfcbq
+fafyfcmtd
+fahjlbnf
+failsafe
+fairchil
+fairfiel
+fairlady
+fairlane
+fairless
+fairmont
+fairplay
+fairport
+fairview
+fairytail
+faith123
+faithful
+faithless
+fakefake
+fakename
+fakepass
+falcon01
+falcon04
+falcon11
+falcon12
+falcon16
+falcon21
+falcon69
+falconer
+falcons1
+falkland
+Falla123
+fallenangel
+fallengun
+falling1
+fallout1
+fallout2
+fallout3
+falloutboy
+falmouth
+falstaff
+family01
+familygu
+familyguy
+fanat1234
+fandango
+fandorin
+fanta123
+fantasia
+fantasie
+fantasies
+fantasma
+fantasti
+fantastic
+fantasy1
+fantasy7
+fantasy8
+fantasys
+fantomas
+fantomen
+farewell
+farfalla
+farmacia
+farmhous
+farmland
+farscape
+farside1
+fartface
+fartfart
+farthead
+fartripper
+fashion1
+fassen55
+fassenoc
+fastback
+fastball
+fastcars
+fastdraw
+fasteddi
+fasteddie
+fastfast
+fastfood
+fastford
+fastfred
+fastlane
+fastporn
+fatal1ty
+fatality
+fatbitch
+fatcat22
+fatdaddy
+fatgirls
+fathead1
+fatima753357
+fatluvr69
+fatpussy
+faulkner
+faustino
+favorite
+favorite2
+favorite3
+favorite4
+favorite5
+favorite6
+favorite7
+favorite8
+favorites
+faxmodem
+FBi11213
+fcbarcelona
+fcbayern
+fCc5NKy2
+fcnfkfdbcnf
+fdcnhfkbz
+fdfyufhl
+fdhfvbyrj
+fdnjhbpfwbz
+fdsafdsa
+fearless
+fearthis
+feather1
+feathers
+february
+fedeisor7
+federica
+federico
+fedorenko
+fedorova
+feedback
+feelgood
+feelings
+feetfeet
+feetlove
+fefolico
+feldspar
+felicida
+felicidad
+felicidade
+felicita
+felicity
+felipe12
+felix123
+felixcat
+felixthe
+felixxxx
+fellatio
+fellowes
+fender01
+fender12
+fender21
+fender99
+fenerbahc
+fenerbahce
+fengshui
+fenomeno
+ferdinan
+ferdinand
+ferguson
+ferien12
+fernanda
+fernande
+fernandes
+fernandez
+fernando
+fernando1
+ferndale
+fernwood
+ferrari1
+ferrari2
+ferrari3
+ferrari360
+ferrari4
+ferrari5
+ferrarif
+ferraris
+ferreira
+festival
+fetish01
+fetish69
+fetishes
+feuerweh
+feuerwehr
+feyenoor
+feyenoord
+Fffffff1
+ffvdj474
+fgdfgdfg
+fggjkbyfhbz
+fghjfghj
+fgjkbyfhbz
+fgjrfkbgcbc
+fgtkmcby
+fgtkmcbyrf
+fgtkmcbyxbr
+fh18p2ss
+fhbyjxrf
+fhneh123
+fhnehxbr
+fhntv123
+fhntv1998
+fhutynbyf
+fhvfutljy
+fibonacci
+fickdich
+ficktjuv
+fiction6
+fiction7
+fiction9
+fidelio1
+fidelity
+fidodido
+fidofido
+fielding
+fiendish
+fietsbel
+fifa2008
+fifa2010
+fifa2011
+fifafifa
+fifififi
+figafiga
+fightclu
+fightclub
+fighter1
+fighters
+fighting
+fighting54
+figment1
+fignewto
+figueroa
+fiji1848
+filatova
+filibert
+filipina
+filipino
+filippov
+fillmeup
+fillmore
+filmstar
+filomena
+finalcut
+finalfan
+finalfantasy
+finance1
+financia
+financial
+Findaupair007
+fingolfin
+finished
+finnegan
+finnland
+fiorella
+fiorentina
+fire1234
+firearms
+fireball
+fireball5
+Firebir1
+firebird
+fireblad
+fireblade
+firedawg
+firedept
+firefall
+firefigh
+firefighter
+firefire
+firefly1
+firefox1
+firehawk
+firehose
+firehous
+firehouse
+firelord
+fireman1
+fireplug
+fireside
+firestar
+firestarter
+fireston
+firestor
+firestorm
+firetrap
+firetruc
+firetruck
+firewalk
+firewall
+firewate
+firewave
+firewire
+firewolf
+firewood
+firework
+fireworks
+firstaid
+firstone
+firstone123
+firstson
+firsttim
+firsttime
+fish1234
+fishbait
+fishbone
+fishbowl
+fishbulb
+fishcake
+fisherma
+fisherman
+fishface
+fishfinger
+fishfish
+fishfood
+fishhead
+fishhook
+fishing1
+fishing4
+fishlips
+fishman1
+fishpond
+fishstic
+fishstix
+fishtank
+fistfuck
+fitness1
+fitzgera
+fitzgerald
+fivefive
+fivehole
+fiveiron
+fivekids
+fivestar
+fixitman
+fjnq8915
+fjysk762
+fk8bhydb
+fkbyf001
+fkbyf123
+fkbyjxrf
+fkg7h4f3v6
+fkmnthyfnbdf
+FKoJn6GB
+fkrjujkbr
+fktdnbyf
+fktif6115
+fktrcfirf
+fktrcfyl
+fktrcfylh
+fktrcfylh1
+fktrcfylhf
+fktrcfylhjd
+fktrcfylhjdbx
+fktrcfylhjdf
+fktrcfylhjdyf
+fktrcfylth
+fktrctq1
+fktrcttd
+fktrcttdf
+fktyeirf
+fktyjxrf
+flagpole
+flagship
+flagstaf
+flameboy
+flamenco
+flamengo
+flames12
+flamingo
+flanders
+flanker7
+flannery
+flapjack
+flapwnage
+flash123
+flashbac
+flashlight
+flashman
+flashnet
+flashpoint
+flatboat
+flatbush
+flathead
+flatiron
+flatland
+flatline
+flatron1
+flawless
+fleetwoo
+fleetwood
+flemming
+fleshbot
+fletcher
+flexflex
+flexible
+flexscan
+flhtyfkby
+flight23
+flimflam
+flinders
+flintsto
+flintstone
+flipflop
+flipmode
+flipper1
+flippers
+flipside
+flomaster
+flooring
+florence
+florenci
+florencia
+florian1
+florida1
+florida2
+florida6
+florida8
+florida9
+flotilla
+flounder
+flower12
+flower123
+flower34
+flowers1
+flowers2
+flowerss
+flushing
+flvbybcnhfnjh
+flvbybcnhfwbz
+flyers10
+flyers25
+flyers88
+flyers99
+flyfishi
+flyfishing
+flypaper
+flyvholm
+flywheel
+Fm12Mn12
+fM2zxc49
+fnkfynblf
+foiegras
+followme
+fontaine
+foodfood
+foofight
+foolfool
+foolish1
+foosball
+footbabe
+Footbal1
+football
+football1
+football10
+football11
+football12
+football123
+football2
+football22
+football24
+football4
+football5
+football6
+football7
+football9
+footballs
+footfeti
+footfoot
+footfuck
+foothill
+footjobs
+footlock
+footlong
+footloos
+footlove
+footsies
+footslav
+forbidde
+forbidden
+ford2000
+ford9402
+fordf100
+fordf150
+fordf250
+fordf350
+fordfocu
+fordfocus
+fordford
+fordgt40
+fordmust
+fordtruc
+fordtruck
+forecast
+forensic
+foreplay
+foreskin
+forest11
+forest99
+forester
+forestman
+forestry
+forever1
+forever2
+forever21
+foreverlove
+foreveryoung
+forgetit
+forgetme
+forgetmenot
+forgiven
+forgotit
+forgotte
+forgotten
+forklift
+Formatters
+formula1
+formula2
+forrest1
+forsaken
+forsberg
+forsythe
+fortitud
+fortknox
+fortress
+fortunat
+fortune1
+fortune12
+fortyone
+fortytwo
+forward1
+forzainter
+forzamilan
+forzaroma
+fotograf
+foucault
+foulball
+foundati
+foundation
+fountain
+fountain1
+fourcats
+foureyes
+fourfour
+fourkids
+fournier
+fourplay
+fourramv
+foursome
+fourstar
+fourteen
+fourtrax
+fox12345
+foxglove
+foxhound
+foxmulde
+foxmulder
+foxtrot1
+foxwoods
+foxylady
+foxyroxy
+fractals
+fraction
+fracture
+fragile1
+fragment
+francais
+france98
+frances1
+francesc
+francesca
+francesco
+franchis
+francine
+francis1
+francis2
+francisc
+francisca
+francisco
+francois
+francoise
+frank123
+frank333
+frankenstein
+frankfur
+frankfurt
+frankie1
+frankie3
+franklin
+franklin1
+franklyn
+frankzap
+frankzappa
+franzisk
+frdfhbev
+frdfhtkm
+frdfkfyu
+frdfvfhby
+freakboy
+freakdog
+freaking
+freaknas
+freakout
+freaksho
+freakshow
+freckles
+fred1234
+fredderf
+freddie0
+freddie1
+freddy12
+frederic
+frederick
+frederico
+frederik
+frederiksberg
+fredfred
+fredonia
+fredrick
+free4all
+freeaccess
+freebeer
+freebird
+freecell
+freeclus
+freecom5
+freedom0
+freedom1
+freedom11
+freedom123
+freedom2
+freedom3
+freedom4
+freedom5
+freedom6
+freedom7
+freedom8
+freedom9
+freedoms
+freefall
+freefree
+freefuck
+freehand
+freehold
+freejack
+freelanc
+freelance
+freelancer
+freeland
+freelander
+freelove
+freemail
+freeman1
+freeman2
+freemaso
+freemind
+freemont
+freeones
+freepass
+freeporn
+freeport
+freepussy
+freeride
+freeserv
+freesex1
+freeshit
+FreeSpace
+freestuff
+freestyl
+freestyle
+freesurf
+freetime
+freetraffic
+freeuser
+freeway1
+freewill
+freewilly
+freeworld
+freezing
+freiburg
+freiheit
+frenchfr
+frenchie
+frequenc
+frequent
+fresh123
+freshman
+fretless
+freyfvfnfnf
+fre_ak8yj
+frfltvbz
+friction
+friday11
+friday13
+fridolin
+friedman
+friedric
+friend12
+friendly
+friends1
+friendship
+friendste
+friendster
+friendz1
+frighten
+fritolay
+fritz123
+frodobag
+frogface
+frogfrog
+frogger1
+froggies
+froglegs
+frogman1
+FROINLAVEN
+fromhell
+FromVermine
+front242
+frontera
+frontier
+frontlin
+frontline
+frontosa
+frost1996
+frostbit
+frostbite
+frosty12
+frozenfish
+fruitbat
+fruitcak
+fruitcake
+fsd9shtyu
+fsunoles
+fthjgjhn
+fubar123
+fuck1108
+fuck1234
+fuckball
+fuckedup
+Fucker11
+fucker12
+fucker69
+fuckersss
+fuckface
+fuckfest
+fuckfuck
+fuckfuckfuck
+fuckgirl
+fuckhard
+fuckhead
+fuckher1
+fuckhole
+fuckinglove
+fuckings
+fuckingshit
+fuckinside
+fuckinti
+fuckintits
+fuckital
+fuckitall
+fucklife
+fucklove
+fuckme12
+fuckme69
+fuckmeha
+fuckmehard
+fuckmeno
+fuckmenow
+fuckmyas
+fuckmyass
+fuckmylife
+fucknuts
+fuckoff1
+fuckoff123
+fuckoff2
+fuckoff666
+fuckoff8
+fuckoff9
+fuckshit
+fuckslut
+fuckstic
+fuckstick
+fucksuck
+fucktard
+fuckthat
+fuckthem
+fuckthemall
+fucktheworld
+fuckthis
+fuckthroat
+fuckuall
+fuckyeah
+fuckyou0
+fuckyou1
+fuckyou11
+fuckyou12
+fuckyou123
+fuckyou2
+fuckyou3
+fuckyou4
+fuckyou5
+fuckyou6
+fuckyou69
+fuckyou7
+fuckyou8
+fuckyoua
+fuckyoubitch
+fuckyouguys
+fuckyour
+fuckyous
+fuckzoey
+fuck_inside
+fufnfrhbcnb
+fugitive
+fUhRFzGc
+fujifilm
+fujifuji
+fujiwara
+fukuyama
+fulhamfc
+fullback
+fullhous
+fullhouse
+fullmeta
+fullmetal
+fullmoon
+fullsail
+fumanchu
+fumbling
+function
+funforme
+funfunfu
+funfunfun
+fungible
+funhouse
+funkster
+funlovin
+funnyboy
+funnybunny
+funnycar
+funnyguy
+funnyman
+funstuff
+funtime1
+funtimes
+furelise
+furnitur
+furniture
+furrball
+fusilier
+fussball
+futurama
+futures1
+futyn007
+fuzzball
+fuzzbutt
+fuzzfuzz
+fußball1
+fvcnthlfv
+fybcbvjdf
+fyfcnfcbz
+fyfnjkbq
+fyfnjkmtdbx
+fyfnjkmtdyf
+fyfrjylf
+fylhjvtlf
+fylhtq123
+FylhtQ95
+fylhtqrf
+fylhttdbx
+fylhttdf
+fylhttdyf
+fynbdbhec
+fynbkjgf
+fynfyfyfhbde
+fynjkjubz
+fynjy123
+fynjybyf
+fynjyjdf
+fyutkbyf
+fyutkbyrf
+fyutkjxtr
+g0dz1ll4
+g1234567
+g3ny5yof
+gabby123
+gabriel1
+gabriel12
+gabriel2
+gabriel6
+gabriel7
+gabriela
+gabriele
+gabriell
+gabriella
+gabrielle
+gadzooks
+gagagaga
+gagarina
+galactic
+galactica
+galactus
+galadriel
+galaktika
+galapago
+galatasa
+galatasara
+galatasaray
+galeries
+gallaghe
+gallardo
+gallaries
+gallatin
+galleria
+gallerie
+galleries
+galloway
+galochka
+galvesto
+gambling
+gamecock
+gamecocks
+gamecube
+gamefreak
+gamemaster
+gameover
+gameplay
+gamer123
+gametime
+ganapath
+gandalf0
+gandalf1
+gandalf2
+gandalf3
+gandalf4
+gandalf7
+ganduras
+gangbang
+gangbanged
+gangsta1
+gangstar
+gangster
+gangster1
+gangsters
+ganja420
+ganjaman
+ganjubas
+Gankutsuou1989
+gannibal
+ganymede
+garbage1
+garchadas
+garcia12
+gardener
+gardenia
+gardiner
+garfield
+garfield1
+gargamel
+gargantua
+gargoyle
+garibald
+garnett2
+garr1234
+garrett1
+garrison
+garry123
+garygary
+gasoline
+gatekeep
+gatekeeper
+gateway0
+gateway1
+gateway2
+gateway3
+gateway5
+gateway6
+gateway7
+gateway9
+gateways
+gatherin
+gathering
+gatogato
+gatorade
+gatorbai
+gatorfan
+gatorman
+gators96
+gaudeamus
+gauloise
+gauntlet
+gauthier
+gavrilov
+gavrilova
+gawker12
+gayathri
+gaygaygay
+gaypride
+gaz29wak
+gb15kv99
+gbdjgbdj
+gbgbcmrf
+gbhfvblf
+gbkbuhbv
+gblfhfcbyf
+gblfhfcs
+gbljhfcs
+gborv526
+gbpacker
+gbplf123
+gbpltw123
+gbpltw147
+gcheckou
+gcheckout
+gearhead
+gearsofwar
+geddylee
+geemoney
+geenidee
+geibcnbr
+geilesau
+gemini11
+gemini12
+gemini13
+gemini69
+gemstone
+general007
+general1
+general2
+generale
+generali
+generals
+generati
+generation
+generato
+generator
+generic1
+generous
+genesis1
+genesis2
+genesis9
+genetics
+geneviev
+genevieve
+geniusgenius
+geniusnet
+gennadiy
+genocide
+genoveva
+gentlema
+gentleman
+GenuineIntel
+geoffrey
+geography
+geolog323
+geometry
+george00
+george01
+george10
+george11
+george12
+george123
+george13
+george23
+george69
+george99
+georgetown
+georgia1
+georgia2
+georgia9
+georgie1
+georgina
+georgios
+geraldin
+geraldine
+geranium
+gerasimov
+gerasimova
+gerhardt
+gerlinde
+germaine
+germania
+germany1
+geronimo
+gerrard1
+gerrard8
+gerrity1
+gerryber
+gershwin
+gertruda
+gertrude
+gesperrt
+getachew
+getalife
+getfucked
+getinnow
+getit123
+getitnow
+getlucky
+getmoney
+getmoney1
+getnaked
+getoffme
+getright
+getsdown
+getsmart
+getsome1
+gettysbu
+gettysburg
+getusome
+gevaudan
+gewitter
+gfccdjhl
+gfccgjhn
+gfcnthyfr
+gfdtk666
+gfgbhjcf
+gfgf1234
+gfgfgfgf
+gfgfrfhkj
+gfgfvfvf
+gfgfvfvfz
+gfhfcjkmrf
+gfhfdjpbr
+gfhfktkjuhfv
+gfhfktkm
+gfhflbuvf
+gfhfljrc
+gfhfvgfvgfv
+gfhfyjbr
+gfhfyjqz
+gfhjkbot
+gfhjkm007
+gfhjkm11
+gfhjkm12
+gfhjkm123
+gfhjkm1234
+gfhjkm123456
+gfhjkm13
+gfhjkm135
+gfhjkm2011
+gfhjkm21
+Gfhjkm22
+gfhjkm666
+gfhjkm777
+gfhjkmgfhjkm
+gfhjkmrf
+gfhjkmxbr
+gfhjkmxtu
+gfhjkzytn
+gfhkfvtyn
+gfhnbpfy
+gfif1991
+gfifgfif
+gfitymrf
+gfxqx686
+gfyfcjybr
+Ggggggg1
+ghbdtn12
+ghbdtn123
+ghbdtn12345
+ghbdtnbr
+ghbdtnbr1
+ghbdtnbrb
+ghbdtncerf
+ghbdtndctv
+ghbdtnghbdtn
+ghbdtngjrf
+ghbdtnrfrltkf
+ghbjhbntn
+ghblehjr
+ghblehjr1
+ghblehrb
+ghbrjkbcn
+ghbrjkmyj
+ghbywtcc
+ghbywtccf
+ghfgjhobr
+ghfplybr
+ghfrnbrf
+ghghghgh
+ghhh47hj764
+ghhh47hj7649
+ghislain
+ghjatccbjyfk
+ghjatccjh
+ghjbpdjlcndj
+ghjcgtrn
+ghjcnbnenrf
+ghjcnbnewbz
+ghjcnbvtyz
+ghjcnhfycndj
+ghjcnj123
+ghjcnj33
+ghjcnjabkz
+ghjcnjdkfl
+ghjcnjgbpltw
+ghjcnjgfhjkm
+ghjcnjghjcnj
+ghjcnjkjk
+ghjcnjnf
+ghjcnjnfr
+ghjcnjnfr1
+ghjcnjqgfhjkm
+ghjcnjrdfibyj
+ghjcnjrdfif
+ghjdthrf
+ghjgfufylf
+ghjghj22
+ghjghjghj
+ghjgtkkth
+ghjnbdjcnjzybt
+ghjnbdjufp
+ghjnjnbg
+ghjnjrjk
+ghjrehfnehf
+ghjrehjh
+ghjrjgtyrj
+ghjrkznsq
+ghjuhfvbcn
+ghjuhfvf
+ghjuhfvvbcn
+ghjuhfvvf
+ghjuhtcc
+ghjvtntq
+ghost123
+ghostdog
+ghostfac
+ghostface
+ghostman
+ghostrecon
+ghostrid
+ghostrider
+ghtdtlvtldtl
+ghtktcnm
+ghtlfntkm
+ghtpbltyn
+ghtpthdfnbd
+giacomin
+giampaolo
+giancarl
+giancarlo
+gianfranco
+gianluca
+giantess
+giants56
+gibralta
+gibsonsg
+gigabyte
+gigantic
+gigantor
+gigemags
+giggsy11
+gigigigi
+gilbert1
+gilbert2707
+gilberto
+gilgames
+gilgamesh
+gillespi
+gillette
+gillian1
+gilligan
+gillingham
+gimmesum
+gimnazjum
+gin55ger
+ginagina
+ginawild
+ginger01
+ginger11
+ginger12
+ginger123
+ginger69
+ginger99
+ginogino
+ginola14
+ginsberg
+ginscoot
+gintonic
+ginuwine
+giordano
+giovanna
+giovanni
+girasole
+girfriend
+girlfrie
+girlfriend
+girlfuck
+girlgirl
+girlpower
+girls4me
+girlsgir
+girlygirl
+gitarist
+giuliana
+giuliano
+giuliett
+giuseppe
+giveitup
+gizmo123
+gizmocat
+gizmodo1
+gizmodo2
+gizmodog
+gizmodom
+GJCkLr2B
+gjdtkbntkm
+gjhjctyjr
+gjhjlfcjqrb
+gjikbdctyf
+gjkbnjkjubz
+gjkbyjxrf
+gjkjdbyrf
+gjkrjdybr
+gjkyjkeybt
+gjkysqgbpltw
+gjkzrjdf
+gjlcnfdf
+gjyjvfhtdf
+gjyjvfhtyrj
+gjytltkmybr
+gkfdfybt
+gl3bk02k
+gladbach
+gladiato
+gladiator
+gladiator5
+gladiolus
+gladston
+glam8394
+glamdrin
+glasgow1
+glasnost
+glassjaw
+glassman
+glastron
+glendale
+glennwei
+glenwood
+glock9mm
+glofiish
+glorioso
+glorious
+gloryhol
+glowworm
+gmcjimmy
+gmctruck
+gn56gn56
+gnasher23
+go4broke
+go4itnow
+goatgoat
+goathead
+goatmilk
+gobears1
+gobigred
+gobraves
+gobrowns
+gobruins
+gobshite
+gobucks1
+gobuffs2
+gochiefs
+godbless
+goddess1
+godfathe
+godfather
+godflesh
+godisgoo
+godisgood
+godisgreat
+godislov
+godislove
+godloves
+godofwar
+godsgift
+godslove
+godsmack
+godspeed
+godswill
+godzilla
+godzilla1
+godzils4s7
+goeagles
+gofaster
+goforit1
+goforit2
+gofsu338
+gogagoga
+gogators
+gogetter
+gogiants
+gogogogo
+gohabsgo
+gohogsgo
+gohokies
+goirish1
+gokugoku
+golakers
+gold1234
+goldberg
+golddesk
+golddust
+golden01
+golden11
+golden12
+goldenbo
+goldenboy
+goldeney
+goldeneye
+goldfing
+goldfinger
+goldfish
+goldgoat
+goldgold
+goldhill25
+goldmine
+goldorak
+goldpony
+goldroad
+goldrush
+goldsink
+goldstar
+goldstei
+goldtree
+goldwind
+goldwing
+goleafsg
+golf1234
+golf2000
+golfball
+golfcart
+golfclub
+golfer01
+golfer11
+golfer12
+golfer20
+golfer22
+golfer23
+golfer69
+golfgolf
+golfing1
+golfman1
+golgotha
+golubeva
+gondolin
+gonduras
+gonefish
+goniners
+gonzales
+gonzalez
+gonzo123
+goober12
+good1234
+good12345
+Good123654
+good4now
+good4you
+goodbeer
+goodboss
+goodboy1
+goodbye1
+goodfell
+goodfella
+goodfellas
+goodfood
+goodfuck
+goodgame
+goodgirl
+goodgood
+goodguy1
+goodguys
+goodhead
+goodison
+goodlife
+goodlord
+goodlove
+goodluck
+goodmorning
+goodness
+goodnews
+goodnigh
+goodnight
+goodnite
+goodpass
+goodpuss
+goodpussy
+goodrich
+goodshit
+goodstuf
+goodstuff
+goodtime
+goodtimes
+goodtogo
+goodwill
+goodwood
+goodyear
+goofball
+goofy123
+googgoog
+google10
+google12
+google123
+googlecheckou
+gooliner
+gooner01
+goonline
+gooseman
+gopackgo
+gopinath
+goracing
+gorbunov
+gorbunova
+gordeeva
+gordienko
+gordolee85
+gordon24
+goredsox
+gorgeous
+gorilla1
+gorilla9
+gorillas
+gorillaz
+gorod312
+gosharks
+gossamer
+gosselin
+gossipgirl
+gostosao
+gotahack
+gotigers
+gotohell
+gotribe1
+gottlieb
+gotyoass
+governor
+gracchus
+grace123
+graceful
+gracelan
+graceland
+graciela
+gracious
+grad2000
+graduate
+graffiti
+grainger
+grandam1
+grandkid
+grandkids
+grandma1
+grandma2
+grandmas
+grandmaster
+grandorgue
+grandpri
+grandprix
+grandson
+granules
+granvill
+grapeape
+grapefru
+grapevin
+graphics
+graphite
+grappler
+grasshop
+grasshopper
+grassman
+grateful
+grateful1
+gravedig
+grayson1
+graywolf
+gre69kik
+great123
+greatdan
+greatday
+greatest
+greatful
+GreatGoo
+greatman
+greatnes
+greatone
+greatsex
+greatwhi
+greatwhite
+GreatzYo
+greedisgood
+greekboy
+greekgod
+green123
+green420
+greenapple
+greenbay
+greenbean
+greenber
+greenbud
+greencat
+greenday
+greenday1
+greendog
+greenegg
+greenery
+greeneye
+greeneyes
+greenfield
+greengrass
+greengre
+greengreen
+greenguy
+greenhor
+greenhou
+greenhouse
+greenlan
+greenlantern
+greenlea
+greenlee
+greenman
+greenone
+greenpea
+greensky
+greentea
+greentre
+greentree
+greenvil
+greenwav
+greenway
+greenwic
+greenwoo
+greenwood
+greeting
+greetings
+greg1234
+greggreg
+gregorio
+gregory1
+gregster
+gremlin1
+gremlins
+grendel1
+grenoble
+greshnik
+gretchen
+gretzky9
+greybear
+greygrey
+greyhawk
+greyhoun
+greyhound
+greylock
+greywolf
+gridiron
+gridlock
+griffey1
+griffin1
+griffins
+griffith
+grigoryan
+grimjack
+grimlock
+grimreap
+grimreaper
+grinders
+grinding
+grinnell
+griswold
+grizzley
+grizzlie
+grizzly1
+groentje
+grossman
+groucho1
+grounded
+groundho
+groundhog
+Groupd2013
+gruesome
+grunt999
+grunting
+gSEwfmCK
+gsgba368
+gsxr1000
+gsxr1100
+gtasanandreas
+gtfullam
+gthcgtrnbdf
+gthcjyfk
+gthgtylbrekzh
+gthtcnhjqrf
+gthtdjhjn
+gthtrfnbgjkt
+gthtrhtcnjr
+gtkmvtyb
+gtkmvtym
+gtnheirf
+gtnhj123
+gtnhj328903
+gtnhjczy
+gtnhjdbx
+gtnhjdyf
+gtnhjpfdjlcr
+gtogto43
+gtxtymrf
+gtycbjyth
+gtynfujy
+guadalajara
+guadalup
+guadalupe
+guarddog
+guardian
+guatemal
+guatemala
+guderian
+guenther
+guerilla
+guernsey
+guerrero
+guesswho
+guestpas
+guidance
+guildwars
+guilherme
+guillaum
+guillaume
+guillerm
+guillermo
+guinness
+guinness1
+guitar01
+guitar11
+guitar12
+guitar69
+guitar99
+guitarhero
+guitarist
+guitarma
+guitarman
+guitarra
+gulfstre
+gulliver
+gullwing
+gunayka1995
+gunblade
+gundam00
+gundamwing
+gunfight
+gungadin
+gungrave
+gunner01
+gunners1
+gunnison
+gunsguns
+gunsling
+gunslinger
+gunsmith
+gunsmoke
+gunsnros
+gunsnroses
+gunther1
+gurpreet
+guruguru
+gurumayi
+gustavo1
+gustavus
+gutentag
+gutierre
+gutierrez
+guybrush
+gwapoako
+gwendoli
+gwendolyn
+gxLMXBeWYm
+Gy3Yt2RGLs
+gymnast1
+gymnastic
+gypsydog
+gznybwf13
+h0lygr41l
+h1234567
+H1Y4dUa229
+h200svrm
+H2Tmc4g358
+h397pnvr
+h72sfibbnl
+H9iyMXmC
+habanero
+habbo123
+hacienda
+HackAren
+hackedit
+hagakure
+haguenau
+haha1234
+hahahaha
+haileris
+hairball
+hairless
+hairyass
+hairypus
+hakkinen
+hakunamatata
+halflife
+halflife2
+halfmoon
+halfpint
+halftime
+hallelujah
+hallmark
+hallo123
+Hallowboy
+hallowee
+halloween
+halo1234
+halohalo
+haloreach
+hamasaki
+hambone1
+hamburg1
+hamburge
+hamburger
+hameleon
+hamilton
+hammarby
+hammer00
+hammer01
+hammer11
+hammer12
+hammer22
+hammer35
+hammer69
+hammer99
+hammered
+hammerfall
+hammerhe
+hammerhead
+hammers1
+hammerti
+hammertime
+hampster
+hamradio
+hamster1
+hamsters
+hand2000
+handbags
+handball
+handbook
+handcuff
+handicap
+handiman
+handkerchief
+handsoff
+handsome
+handyman
+hangover
+hangtime
+hankhank
+hankhill
+hankster
+hankyung
+hannah01
+hannah11
+hannah12
+hannah22
+hannelor
+hannibal
+hannover
+hannover96
+hanshans
+hansolo1
+hanswurst
+happiest
+happines
+happiness
+happy100
+happy123
+happy200
+happyass
+happyboy
+happycat
+happyday
+happydays
+happydog
+happyface
+happyfeet
+happyguy
+happyhap
+happyhappy
+happyjoy
+happylife
+happyman
+happyness
+happyone
+happytim
+harakiri
+harbinge
+harbinger
+harcourt
+hardaway
+hardball
+hardbody
+hardc0re
+hardcock
+Hardcor1
+hardcore
+hardcore1
+harddick
+harddriv
+hardflip
+hardfuck
+hardhard
+hardhead
+hardkore
+hardline
+hardluck
+hardpack
+hardrock
+hardtail
+hardtime
+hardtoon
+hardware
+HardwareId
+hardwick
+hardwood
+hardwork
+harekrishna
+harkonen
+harkonnen
+harlequi
+harley01
+harley03
+harley05
+harley10
+harley11
+harley12
+harley13
+harley20
+harley66
+harley69
+harley88
+harley97
+harley99
+harleyma
+harmless
+harmonic
+harmonie
+harmony1
+harriers
+harringt
+harrison
+harrison1
+harry123
+harrydog
+harryhoo
+harrypot
+harrypotte
+harrypotter
+harsingh
+hartford
+hartland
+hartmann
+harvest1
+hasegawa
+hasilein
+hassagjs
+hastings
+hatagaya
+hate2003
+hatebree
+hatebreed
+hatehate
+hatelove
+hatesyou
+hatfield
+hatstand
+hatteras
+hattrick
+haustool
+haveblue
+havefun1
+havelock
+hawaii50
+hawaiian
+hawaiiguy
+hawkdog79
+hawkeye1
+hawkeyes
+hawkhawk
+hawkmoon
+hawkwind
+hawkwood
+hawthorn
+hawthorne
+hayabusa
+hayastan
+haystack
+hazelnut
+HCAppRes
+Hd764nW5d7E1vb1
+Hd764nW5d7E1vbv
+headache
+headbang
+headcase
+headhead
+headhunt
+headhunter
+headless
+headroom
+headshot
+headspin
+heartagram
+heartbeat
+heartbre
+heartbreaker
+heartles
+heartless
+heat7777
+heatheat
+heather1
+heather2
+heather3
+heather4
+heather6
+heather7
+heather9
+heatherb
+heatherg
+heathers
+heathrow
+heatwave
+heaven12
+heavenly
+heavymet
+heavymetal
+hebrides
+hecfkjxrf
+heckfyxbr
+hedge123
+hedgehog
+hedimaptfcor
+hedJ2n4q
+hedonism
+hedonist
+hehehehe
+heidelberg
+heididog
+heimdall
+heimlich
+heineken
+heinlein
+heinrich
+heisenberg
+hejhej123
+hejmeddig
+hejsan123
+helicopt
+helicopter
+hellbent
+hellboun
+hellbound
+hellboy1
+hellfire
+hellgate
+hellhell
+hellhole
+hellhoun
+hello101
+hello111
+hello123
+hello1234
+hello1995
+helloall
+hellobaby
+hellobob
+hellohel
+hellohello
+hellojed
+hellokit
+hellokitt
+hellokitty
+helloman
+hellomoto
+hellothe
+hellothere
+helloween
+hellowor
+helloworld
+helloyou
+hellrais
+hellraiser
+hellsbel
+hellsing
+hellspaw
+hellspawn
+hellyeah
+helpdesk
+helphelp
+HelpHost
+helpless
+helpme12
+helpme96
+helpmeno
+helsinki
+hemicuda
+hemingwa
+hemingway
+hemmelig
+henderso
+henderson
+hendrick
+hendrix1
+Hennepin
+hennesse
+hennessy
+henriett
+henrique
+henry123
+heracles
+herbalife
+herbert0
+herbert1
+hercules
+hereford
+herehere
+herewego
+heritage
+herkimer
+herkules
+hermann1
+hermanni
+hermione
+hernande
+hernandez
+hernando
+herohero
+herpderp
+herschel
+hershey1
+hertford
+hesoyam1
+hesoyam123
+hetfield
+heyheyhey
+heythere
+hezekiah
+hfcgbplzq
+hfcnbirf
+hfcnfvfy
+hfgcjlbz
+hfpldfnhb
+hgasjasg
+hgfedcba
+hhadkd99
+Hhhhhhh1
+hiawatha
+hibernia
+hibernian
+hibiscus
+hideaway
+higgins1
+highball
+highbury
+highfive
+highgate
+highheel
+highheels
+highjump
+highland
+highlander
+highlife
+highroll
+highschool
+highspee
+hightech
+hightide
+hightime
+hightowe
+highway1
+highwind
+hihihihi
+hihje863
+hihohiho
+hijodeputa
+hilander
+hilaryduff
+hilfiger
+hillary1
+hillbill
+hillbilly
+hillcres
+hilliard
+hillside
+hillview
+himalaya
+himanshu
+hinckley
+hindustan
+hirohiro
+hirotake
+hiroyuki
+hispanic
+historia
+history1
+hitchcoc
+hithere1
+hitman47
+hitsquad
+hjcnbckfd
+hjklhjkl
+hjlbntkb
+hjpjxrf23062007
+hjvfhjvf
+hjvfirf1
+hjvfyjdf
+hjvfynbr
+hjvfynbrf
+hkger286
+hobbes12
+hobbiton
+hobgoblin
+hobiecat
+hockey10
+hockey11
+hockey12
+hockey123
+hockey13
+hockey14
+hockey15
+hockey17
+hockey19
+hockey21
+hockey22
+hockey27
+hockey30
+hockey33
+hockey69
+hockey77
+hockey99
+hockeyman
+hocuspocus
+hoddling
+hoffman1
+hoffmann
+hoffnung
+hogwarts
+hohohoho
+hoilamgi
+holahola
+holbrook
+holeinon
+holeinone
+holeshot
+holiday1
+holidays
+holiness
+hollabac
+hollaback
+holland1
+hollands
+holliday
+holliste
+hollister
+hollister1
+holloway
+holly123
+hollycat
+hollydog
+hollywoo
+hollywood
+hollywood1
+hologram
+holstein
+holybible
+holycrap
+holygrai
+holyholy
+holymoly
+holyshit
+holyspirit
+holywood
+homealone
+homebase
+homebody
+homeboy1
+homebrew
+homedepo
+homefree
+homegrow
+homehome
+homeland
+homeless
+homemade
+homepage
+homer123
+homerhom
+homerjay
+homersim
+homerun1
+homesick
+homestar
+hometown
+homewood
+homework
+homeworld
+homicide
+honda123
+honda200
+honda2000
+honda250
+honda400
+honda450
+honda600
+honda750
+hondaacc
+hondacar
+hondacbr
+hondaciv
+hondacivic
+hondacrv
+hondacrx
+hondaman
+hondas2000
+hondastars
+hondavfr
+honduras
+honey123
+honeybab
+honeybea
+honeybear
+honeybee
+honeyboy
+honeybun
+honeydew
+honeydog
+honeymoon
+honeypie
+honeypot
+hongfund
+hongkong
+honolulu
+hoodyhoo
+hookedup
+hooligan
+hooligans
+hoopstar
+hoopster
+hoosier1
+hoosiers
+hooters1
+hooters6
+hooters69
+hoothoot
+hopalong
+hopeful1
+hopefull
+hopehope
+hopeless
+hopkins1
+horizon1
+horizons
+hornball
+hornblow
+horndog1
+horndogg
+hornets1
+horntoad
+horny123
+hornyboy
+hornydog
+hornyguy
+hornyman
+hornyone
+horrible
+horse123
+horsecoc
+horseman
+horsemen
+horsepow
+horsepower
+horseshi
+horseshit
+horsesho
+hortense
+hosehead
+hospital
+hot2trot
+hotbabes
+hotbitch
+hotblond
+hotcakes
+hotchick
+hotchkis
+HOTFRANK
+hotfries
+hotgirls
+hothotho
+hothothot
+hotlanta
+hotmomma
+hotpants
+hotpussy
+hotsauce
+hotsex69
+hotshot1
+hotshots
+hotsocks
+hotspurs
+hotstuff
+hotteens
+hottsexx
+hotwater
+hotwheel
+hotwheels
+hotwomen
+houghton
+hounddog
+house123
+housebed
+housecat
+housedoo
+housemou
+housemus
+housemusic
+housepen
+housetab
+housewife
+housewifes
+houston1
+hovepark
+howareyo
+howareyou
+howitzer
+hoyasaxa
+hpmrbm41
+hpojscan
+hpSALGaY
+hrothgar
+hrvatska
+HshFD4n279
+htcnjhfy
+htubcnhfwbz
+htubyjxrf
+huangjin1987
+hubbabubba
+hubbahub
+hubbahubba
+hubertus
+huckfinn
+huckster
+hugecock
+hugedick
+hugetits
+huggybea
+hughjass
+hugoboss
+hugohugo
+hulahoop
+hulkhoga
+hulkhulk
+hulkster
+hullcity
+humanity
+humanoid
+humberto
+humblepi
+humboldt
+humility
+hummer99
+hummerh2
+hummingb
+humphrey
+hungwell
+hunnybun
+hunnybunny
+hunt0802
+hunt4red
+hunter00
+hunter01
+hunter06
+hunter10
+hunter11
+hunter12
+hunter123
+hunter22
+hunter45
+hunter69
+hunter99
+hunting1
+huntress
+huntsman
+hurensohn
+hurrican
+hurricane
+hurricanes
+hurzhurz
+hushhush
+huskerdu
+huskers1
+huskies1
+hustler1
+hustlers
+hutchins
+hxp4life
+HXxrVWCy
+hyacinth
+hydepark
+hyderabad
+hydrogen
+hyperion
+hyperlit
+HypnoDanny
+hypnosis
+hysteria
+HZgG9umC
+hzze929b
+h_froeschl7
+iaapptfcor
+iamawesome
+iambigal
+iamdaman
+iamgreat
+iamhappy
+iamhorny
+iaminlove
+iampurehaha2
+iamsocool
+iamsorry
+iamthebe
+iamthema
+iamtheman
+iamtheone
+ibelieve
+ibill123
+ibilljpf
+ibilltes
+ibpjahtybz
+ibragimov
+ibragimova
+icam4usb
+icandoit
+icansk82
+icebreak
+icecream
+icecream1
+icecube1
+icecubes
+icehocke
+icehockey
+icehouse
+iceman01
+iceman11
+iceman22
+iceman44
+iceman69
+icequeen
+iceskate
+icewater
+ichiro51
+ichliebe
+iconnect
+icwtutor
+iddqd890
+iddqdiddqd
+iddqdidkfa
+IdeDeviceP0T
+identity
+idinahui
+idinaxyi
+idlewild
+idontcar
+idontcare
+idontkno
+idontknow
+idontknow1
+idspispo
+idspispopd
+ifhbyufy
+ifoptfcor
+iforgot1
+iforgot2
+iforgoti
+iforgotit
+ifufkbyf
+igeldcheat
+iggyiggy
+iglesias
+ignatenko
+ignatius
+ignition
+igor1234
+igor12345
+igor1994
+igorigor
+igromania
+ihateniggers
+ihateyou
+ihateyou1
+ihgfedcba
+Iiiiiii1
+iisrstas
+ijrjkflrf
+ikickass
+ikillyou
+ikilz083
+ikkeikke
+ikmvw103
+ilikecheese
+ilikeike
+ilikepie
+ilikepor
+ilikeporn
+ilikepussy
+ilikesex
+ilikeyou
+illini11
+illinois
+illmatic
+illumina
+illuminati
+illusion
+illusions
+iloveali
+iloveamy
+iloveass
+ilovebig
+iloveboobies
+ilovebri
+ilovecock
+ilovedan
+ilovedick
+ilovefee
+ilovegirls
+ilovegod
+iloveher
+ilovehim
+iloveindia
+ilovejen
+ilovejes
+ilovejesus
+ilovejoe
+ilovekat
+ilovekim
+ilovelife
+iloveluc
+ilovelucy
+ilovemar
+iloveme1
+iloveme2
+ilovemom
+ilovemusic
+ilovemyfamily
+ilovemylife
+ilovemyself
+ilovepie
+ilovepor
+iloveporn
+ilovepus
+ilovepussy
+ilovesam
+ilovesex
+ilovetit
+ilovetits
+iloveyou
+iloveyou1
+iloveyou11
+iloveyou12
+iloveyou123
+iloveyou143
+iloveyou2
+iloveyou22
+iloveyou3
+iloveyou5
+iloveyou7
+iloveyoubaby
+iluvatar
+iluvgirl
+iluvlisa
+iluvporn
+iluvtits
+ilya1234
+ilya1992
+IMaccess
+imafreak
+imagination
+imagine1
+imaloser
+imawesome
+imhipp99
+imissyou
+imjakie123
+imladris
+immortal
+impalass
+imperato
+imperator
+imperial
+imperium
+implants
+importan
+important
+impossib
+impossible
+imsingle
+imsocool
+imtheman
+inandout
+incident
+includecatal
+incognit
+incognito
+incoming
+incorrect
+incredible
+incubus1
+indaclub
+indahous
+indahouse
+independ
+independent
+india123
+indiana1
+indiana7
+Indianali
+indianer
+indians1
+indobokep
+indonesi
+indonesia
+indurain
+industry
+indycars
+ineedajo
+ineedajob
+ineedhelp
+ineedsex
+ineedyou
+inetopts
+Infalicall
+infamous
+infantry
+infected
+infernal
+inferno1
+infierno
+infinite
+infiniti
+infinity
+inflames
+informat
+informatic
+information
+informer
+infotech
+infrared
+ingeborg
+ingenier
+ingersol
+ingodwetrust
+ingraham
+ingram01
+initiald
+injector
+inkognito
+innocent
+innochka
+innuendo
+insanity
+insdprgm
+insecure
+insertion
+insertions
+inshallah
+insignia
+insomnia
+insomniac
+inspecto
+inspector
+inspired
+inspiron
+INSTALLDEVIC
+InstallSqlSt
+InstallUtil
+instation
+instinct
+institut
+instruct
+insuranc
+insurance
+integra1
+integra9
+integral
+integrit
+integrity
+intelinside
+intelligence
+inter1908
+interacial
+interact
+intercep
+interceptor
+intercom
+intercourse
+interdit
+interest
+interests
+interfaces
+interior
+intermil
+intermilan
+internacional
+internal
+internat
+international
+internet
+internet1
+interpol
+interrupt
+intersta
+intervention
+intheass
+intheend
+intimate
+intranet
+intrepid
+intrigue
+introubl
+intruder
+intubate
+inuyasha
+invalidp
+invasion
+inventor
+invernes
+investment
+investor
+invictus
+invincible
+invisibl
+invisible
+inxsinxs
+ipo54tj45uy856
+ipodnano
+ipswich1
+ipswitch
+iqzzt580
+iraffert
+ireland1
+irina123
+irina1978
+irina1980
+irina1989
+irina1991
+irish123
+irishboy
+irishlad
+irishman
+irisiris
+irjkmybr
+ironbird
+ironchef
+ironcity
+ironclad
+ironcouc
+irondesk
+irondoor
+ironfish
+ironfist
+irongate
+irongoat
+ironhead
+ironhors
+ironhorse
+ironkitt
+ironlung
+ironmaid
+ironmaiden
+ironman1
+ironman2
+ironmike
+ironpony
+ironroad
+ironside
+ironsink
+irontree
+ironwood
+is3yeusc
+isabella
+isabella1
+isabelle
+isacs155
+iscariot
+iseedeadpeople
+isengard
+ishikawa
+isisisis
+iskander
+islamabad
+islander
+islanders
+ismailov
+ismailova
+istanbul
+isthebes
+isthebest
+istheman
+isvipebaby
+isxxxvip
+is_a_bot
+Itachi1995
+italian1
+italiano
+italians
+italias1
+itchitch
+itdxtyrj
+itsasecret
+itsmylife
+iuytrewq
+ivan1234
+ivan1983
+ivan1984
+ivan1985
+ivan1996
+ivan2010
+ivanivan
+ivanivanov
+ivanovna
+iverson3
+iwantsex
+iwantyou
+iwillwin
+izabella
+j0nathan
+j1234567
+j123456789
+j3qq4h7h2v
+jabbahut
+jabberwo
+jabroni1
+jack1234
+jack2000
+jack5225
+jack8on4
+jackaroo
+jackass1
+jackass2
+jackasss
+jackdani
+jackdaniels
+jackfros
+jackfrost
+jackfrui
+jackhamm
+jackhammer
+jackie01
+jackie69
+jackiech
+jackjack
+jackmeof
+jackoff1
+jackpot1
+jackpot3
+jackruss
+jackryan
+jackson1
+jackson2
+jackson5
+jackson6
+jackson9
+jacksons
+jacksparrow
+jackster
+jackyboy
+jacob123
+jacobsen
+jacobson
+jacobyte
+jacqueli
+jacqueline
+jadakiss
+jade22221
+jadejade
+jaguar01
+jaguar12
+jaguares
+jaguarxj
+jaguarxk
+jahbless
+jailbait
+jailbird
+jaimatadi
+jajajaja
+jake1234
+jake5253
+jakejaka
+jakejake
+jakester
+jakeyboy
+jalal123
+jalapeno
+jamaica1
+jamaican
+jamboree
+james007
+james101
+james111
+james123
+james777
+jamesbon
+jamesbond
+jamesbond007
+jamesdea
+jamesjames
+jameslee
+jameslewis
+jameson1
+jamessss
+jamie123
+jamielee
+jamieson
+jamiroquai
+jammygirl
+janajana
+jandikkz
+jane1234
+janejane
+jansport
+january1
+january2
+japanees
+japanese
+jaredleto
+jarhead1
+jaroslav
+jasmine1
+jasmine123
+jasmine2
+jasmine3
+jasmine5
+jasmine7
+jasmine9
+jasmines
+jason001
+jason007
+jason123
+jasonlee
+jasper01
+jasper10
+jasper12
+jasper123
+javabean
+javajava
+javelina
+javier12
+jawbreak
+jaws1221
+jaydog472
+jayhawk1
+jayhawks
+jaysoncj
+jazz1234
+jazzbass
+jazzjazz
+jazzman1
+jazzmine
+jbond007
+jeanette
+jeanjean
+jeanmarc
+jeannett
+jeannine
+jeanpaul
+jedidiah
+jedijedi
+jediknig
+jediknight
+jedimast
+jedimaster
+jeep2000
+jeepjeep
+jeepster
+jeetkune
+jeff1234
+jeffbeck
+jefferso
+jefferson
+jeffery1
+jeffgord
+jeffgordon
+jeffhardy
+jeffjeff
+jeffrey1
+jeffrey4
+jeffreys
+jeffwsb1
+jello123
+jellybea
+jellybean
+jellybel
+jellyfis
+jellyfish
+jellyman
+jemoeder
+jenechka
+jeniffer
+jenna123
+Jennife1
+jennifer
+jennifer1
+jennifer8
+jennings
+jennjenn
+jenny123
+jennyfer
+jeopardy
+jeremiah
+jeremias
+jeremy123
+jericho1
+jeriryan
+jerkface
+jerkyboy
+jermaine
+jeronimo
+jerry123
+jerrylee
+jerusale
+jerusalem
+jesse123
+jessejames
+jessica0
+jessica1
+jessica12
+jessica2
+jessica3
+jessica5
+jessica6
+jessica7
+jessica8
+jessica9
+jessicam
+jessicas
+jessie01
+jessie20
+jester11
+jesucrist
+jesus123
+jesus1967
+jesus4me
+jesus666
+jesus777
+jesuschr
+jesuschris
+jesuschrist
+jesuscristo
+jesusfreak
+jesusgod
+jesusis1
+jesusislord
+jesuslives
+jesuslovesme
+jesussaves
+jetbalance
+jetblack
+jetpilot
+jetsjets
+jg3h4hfn
+jghy452gf
+jGlo4erz
+jgthfnjh
+JGTxzbHR
+jhbaktqv
+Jhnjgtl12
+jhonatan
+jhrl0821
+jigei743ks
+jiggaman
+jillian1
+Jimandanne
+jimbo123
+jimdandy
+jimdavis
+jimijimi
+jimkelly
+jimmy123
+jimmyboy
+jimmyjam
+jimmyjim
+jimmyjoe
+jimmymac
+jimmypag
+jitendra
+jitterbu
+jiujitsu
+jizzeater
+Jjjjjjj1
+jjohnson
+jkbvgbflf
+jkh4545jhk
+jkjkjkjk
+jktctymrf
+jktrcfylh
+jktujdbx
+jktujdyf
+jktujktu
+jlbyjxrf
+jlbyjxtcndj
+jledfyxbr
+jlettier
+jmhj5464dcx
+jndthnrf
+jNe990pQ23
+jnrhjqcz
+jo9k2jw2
+joanbb69
+joanjett
+joaopedro
+jobsearc
+jobsearch
+jobshop200
+jocelyne
+jockstra
+joeblack
+joeblow1
+joecool1
+joeimlea
+joesakic
+joesmith
+joeybear
+joeyjoey
+joeyjojo
+johanna1
+johannes
+johansen
+johanson
+john1234
+john1968
+johnatha
+johnathan
+johnboy1
+johncena
+johndeer
+johndeere
+johngalt
+johnjohn
+johnlove
+johnmish
+johnny12
+johnny22
+johnny23
+johnny25
+johnny69
+johnny99
+johnnybo
+johnpass
+johnpaul
+johnsmit
+johnsmith
+johnson1
+johnson2
+johnson4
+johnston
+johnwayn
+johnwayne
+jojojojo
+joker123
+joker666
+joker777
+jokerjoker
+jokerman
+jollymon
+jollyrog
+jonas123
+jonathan
+jonathan1
+jonathon
+jones123
+jonny123
+jonnyboy
+jonpetter
+jopajopa
+jor23dan
+jordan00
+jordan01
+jordan05
+jordan10
+jordan11
+jordan12
+jordan123
+jordan13
+jordan18
+jordan20
+jordan22
+jordan23
+jordan45
+jordan98
+jordan99
+jorge123
+josefina
+josejose
+joselito
+joselon69
+joseluis
+josemanue
+josemari
+joseph10
+joseph11
+joseph12
+joseph123
+josephin
+josephine
+josephphone7
+josh1234
+joshjosh
+joshua01
+joshua04
+joshua10
+joshua11
+joshua12
+joshua13
+joshua19
+joshua21
+joshua23
+joshua99
+journey1
+JoXurY8F
+joystick
+jpmorgan
+jrcfyjxrf
+JroReadme
+jrracing
+jtccbill
+jTuac3MY
+juancarlo
+juancarlos
+juanjose
+juanjuan
+juanpabl
+juggalo1
+juggalos
+juggerna
+juggernaut
+juice123
+juicebox
+juiceman
+juicyfruit
+jujujuju
+julemand
+julia123
+julia666
+julianna
+julianne
+julie123
+julie456
+julieann
+julietta
+juliette
+juliocesa
+julyjuly
+jumphigh
+jumpjump
+jumpman23
+jumpmast
+jumpmaster
+jumpshot
+jumpstar
+jumpstart
+junction
+june1503
+june2719
+june2902
+junebug1
+junejune
+jungfrau
+junglist
+junior01
+junior12
+junior123
+junior13
+junior24
+junkfood
+junkjunk
+junkmail
+junkyard
+junojuno
+jupiter1
+jupiter2
+jupiter3
+jupiter4
+jupiter5
+jupiter7
+jurassic
+just4fun
+just4you
+justdoit
+justforf
+justforfun
+justform
+justice1
+justice2
+justice4
+justin01
+justin10
+justin11
+justin12
+justin123
+justin16
+justin20
+justin22
+justin99
+justinbiebe
+justinbieber
+justine1
+justjack
+justlook
+justlove
+justmine
+justonce
+juttu123
+juvenile
+juventus
+juvis123
+JVTUEPip
+JwHw6N1742
+jxfhjdfirf
+jZf7qF2E
+k1234567
+k123456789
+k7wp1fr2
+k9dls02a
+k9vVos0a
+Ka12rm12
+kabanchik
+kabouter
+kacperek
+kaitlyn1
+kaitlynn
+kakakaka
+kakaroto
+kakashi1
+kakashka
+kalahari
+kalamata
+kalamazo
+kalamazoo
+kalambur
+kalashnikov
+kalender
+kalifornia
+kaligula
+kalikali
+kalimera
+kalinina
+kaliningrad
+kalle123
+kalleank
+kalleanka
+kallisti
+kamakazi
+kamakiri
+kamakura
+kamasutr
+kamasutra
+kamchatka
+kamehame
+kamehameha
+kameleon
+kamelia2011
+kamikadze
+kamikaze
+kamikazi
+kamloops
+kanazawa
+kanekane
+kangaroo
+kankudai
+kanmax1994
+kapanadze
+kappaman
+kappasig
+karaganda
+karakara
+karamazo
+karambol
+karamelka
+karandash
+karapetyan
+karatist
+kardelen
+kardinal
+karekare
+kareltje
+karen123
+karenina
+karimova
+karishma
+karlmarx
+karlmasc
+karlsson
+karolina
+karolina1
+karoline
+karolinka
+karpenko
+kartoffe
+kartoshka
+karupspc
+karvinen
+kasablanka
+kasandra
+kashyyyk
+kasia123
+kasiunia
+kasparov
+kasperok
+kaspersky
+kassandra
+kassargar
+katalina
+katarina
+katarsis
+katarzyna
+katastrofa
+katebush
+katekate
+katelynn
+katemoss
+katerina
+katerinka
+katharin
+katharina
+katherin
+katherine
+kathleen
+kathmand
+kathmandu
+kathrine
+kathryn1
+katie123
+katiebug
+katiecat
+katiedog
+katiekat
+katmandu
+katrina1
+katrinka
+katushka
+katya123
+katyakatya
+katyusha
+kaufmann
+kawasaki
+kawazaki
+kayaking
+kayla123
+kayleigh
+kazakhstan
+kazakova
+kazanova
+kazantip
+kbcnjgfl
+kbdthgekm
+kbndbytyrj
+kbnthfnehf
+kbpfdtnf
+kbxyjcnm
+kbytqrfpkj
+kcchiefs
+kcj9wx5n
+KCmfwESg
+kd189nLciH
+ke12fe13
+keepout1
+keepsake
+keeshond
+keith123
+kekskek1
+kellie11
+kelloggs
+kelly001
+kelly123
+kellyann
+kemerovo
+kenaidog
+kendall1
+kendrick
+kennedy1
+kennedy12
+kenneth1
+kenneth2
+kennwort
+kenny123
+kenshin1
+kenshiro
+kensingt
+kensington
+kentucky
+kenwood1
+kenworth
+kenyatta
+keraskeras
+kerberos
+kerplunk
+kerrigan
+ketamine
+kevin123
+keyblade
+keyboard
+keyboards
+keylargo
+keysersoze
+keystone
+keywest1
+kfcnjxrf
+kfnju842
+kfrhbvjpf
+kfvgjxrf
+KGveBMQy
+khankhan
+khongbiet
+kickapoo
+kickass1
+kickback
+kickball
+kickboxing
+kickbutt
+kickflip
+kicksass
+kiddkidd
+kiekeboe
+kielbasa
+kiersten
+kikakika
+kikikiki
+kikimora
+kikiriki
+kikokiko
+kilbosik
+kilimanjaro
+kilkenny
+killabee
+killacam
+killbill
+killemal
+killemall
+killer00
+killer01
+killer10
+killer11
+killer12
+killer123
+killer1234
+killer13
+killer21
+killer22
+killer23
+killer45
+killer55
+killer66
+killer666
+killer69
+killer77
+killer99
+killerbe
+killerbee
+killerman
+killers1
+killians
+killkill
+killkillkill
+killshot
+killswit
+killteam
+killzone
+kilokilo
+kimber45
+kimberle
+kimberlee
+kimberley
+kimberly
+kimberly1
+kimcuong
+kimjjang
+kimosabe
+kindbuds
+kindness
+king1234
+king5464
+kingcobr
+kingdom1
+kingdoms
+kingfish
+kingfisher
+kingkhan
+kingking
+kingkong
+kingkong1
+kinglear
+kingpin1
+kingpins
+kingrich
+kingring
+kingshit
+kingsize
+kingsley
+kingston
+kingsway
+kingwood
+kinkysex
+kinsella
+kinshasa
+kira1976
+kirakira
+kirby123
+kirill123
+kirill1995
+kirill1996
+kirill1999
+kirill2002
+kirill2010
+kirillov
+kirillova
+kirkkirk
+kirkland
+kirkwood
+kirsikka
+kirsten1
+kisakisa
+kiseleva
+kiss2000
+kissarmy
+kissbutt
+kissinger
+kisskiss
+kissmyas
+kissmyass
+kissrock
+kissshot
+kissthis
+kisswave
+kitakita
+kitchen1
+kitchens
+kitten12
+kitty123
+kittycat
+kittycat1
+kittyhaw
+kittykat
+kittykit
+kittykitty
+kiwikiwi
+kjhgfdsa
+kjrjvjnbd
+kjubyjdf
+kki177hk
+Kkkkkkk1
+kkonradi
+klaipeda
+klapaucius
+klaudia1
+kleevage
+kleopatr
+kleopatra
+klimenko
+klingon1
+klondike
+klootzak
+klopklop
+klubnichka
+klubnika
+kluivert
+km83wa00
+kmh12025476
+kmjnhbgv
+knickerless
+knickers
+knight01
+knight11
+knight12
+knight99
+knightrider
+knights1
+knitting
+knockers
+knockout
+knopfler
+knopo4ka
+knopochka
+knothead
+knowledg
+knowledge
+knoxvill
+knoxville
+knucklehead
+knuckles
+kobayash
+kobe6666
+kobe66661
+kobebrya
+kobebryant
+kochamcie
+kochanie
+kochanie1
+kodaira52
+koetsu13
+kohsamui
+kokakola
+kokikoki
+kokokoko
+kokopell
+kolakola
+kolawole
+kolesnik
+kolesnikov
+kolesnikova
+kolia123
+kolokolo
+kolovrat
+kolumbus
+komarova
+komltptfcor
+komputer
+komputer1
+konakona
+konakovo
+kondom25
+konfetka
+konmar12
+konnichi
+kononenko
+konoplya
+konovalov
+konovalova
+konstantin
+koolhaas
+koolkool
+kopa1994
+Kordell1
+kornhead
+kornienko
+kornkorn
+koroleva
+koshechka
+kosmonavt
+kostenko
+kostroma
+koteczek
+koteczek1
+kottayam
+koufax32
+kourniko
+kournikova
+kourtney
+kovalenko
+kovaleva
+kowalski
+kozanostra
+kpYDSKcw
+kr9z40sy
+krakatoa
+kramkram
+krasavchik
+krasavica
+krasnodar
+krasotka
+kravchenko
+krazykat
+kriginegor
+krishna1
+krishnan
+kriskris
+kristall
+kristen1
+kristian
+kristie1
+kristiina
+kristin1
+kristina
+kristina1
+kristina123
+kristine
+kristinka
+kristjan
+kristofe
+kristofer
+kristoff
+kristopher
+krokodil
+krypton1
+kryptoni
+kryptonite
+krystal1
+krystina
+krystyna
+Krzysiek12
+ktjgjkml
+ktjynsq40147
+ktnj2010
+ktutjyth333
+ktybyuhfl
+ktyecmrf
+ktyfktyf
+Kubrick1
+Kudos4Ever
+kukaracha
+kukareku
+kukkanen
+kukukuku
+kukuruku
+kukuruza
+kukushka
+kuleshov
+kulikova
+kumar123
+kurdistan
+kurosaki
+kurosawa
+kurtcobain
+kurtkurt
+kurwamac
+kusanagi
+kuznecova
+kvartira
+kwiatuszek
+kwiettie
+kylacole
+kyle2000
+kyleregn
+kzsfj874
+l0sk2e8S7a
+l0swf9gX
+l1e2n3a4
+L58jkdjP
+l8g3bkde
+labrador
+labyrinth
+lachesis
+lacrimos
+lacrimosa
+lacrosse
+lacrosse1
+lada2110
+ladiesman
+ladodger
+ladybird
+ladybug1
+ladybug7
+ladybugs
+ladyffesta
+ladygaga
+ladygirl
+ladyhawk
+ladylady
+ladylove
+ladyluck
+laetitia
+lafayett
+lafayette
+lafrance
+lagalaxy
+lagavulin
+lagrange
+lagwagon
+laidback
+lainth88
+lakeland
+lakerfan
+lakers08
+lakers12
+lakers13
+lakers24
+lakers32
+lakers34
+lakeshow
+lakeside
+laketaho
+laketahoe
+lakeview
+lakewood
+lala1234
+lalakers
+lalala123
+lalalala
+lalalalala
+lalaland
+lambchop
+lambert1
+lambofgod
+lamborghini
+lamborgini
+lambrett
+lambretta
+lampard8
+lamppost
+lampshade
+lanalana
+lancaste
+lancaster
+lancelot
+landlord
+landmark
+landrove
+landrover
+landscap
+landscape
+landslid
+langston
+language
+lankford
+lanmannt
+lantern6
+lantern7
+lanzarot
+lapdance
+lapo1995
+lapochka
+laputaxx
+laracrof
+laracroft
+laralara
+larionov
+larkspur
+larousse
+larry123
+larrybir
+larryboy
+LarterLarter
+laser123
+laserjet
+lasombra
+lassiter
+lastcall
+lastchan
+lastchance
+lasto4ka
+lastochka
+lasttime
+lasvegas
+latching
+latenite
+lateralu
+lateralus
+latitude
+laughing
+laughter
+laura123
+lauralee
+lauren12
+lauren69
+laurence
+lauretta
+lausanne
+lavalamp
+lavender
+lawncare
+lawnmowe
+lawntrax
+lawrence
+lawrence1
+lazareva
+lazyacres
+lazybone
+lbfyjxrf
+lbhtrnjh
+LbnJGTMP
+lbpfqyth
+lbvekmrf
+lbvflbvf
+lbvjysxm
+lbyjpfdh
+lcrastes
+leadership
+leadfoot
+leapfrog
+leapyear
+leardini
+learning
+leather1
+leather9
+leavemealone
+lebanon1
+lebedeva
+lebowski
+lebron23
+leckmich
+ledzeppe
+ledzeppelin
+leedsuni
+leedsunited
+leedsutd
+leefl850
+left4dead
+left4dead2
+leftfiel
+lefthand
+leftover
+leftwing
+legalize
+legend12
+legendar
+legendary
+legends1
+legioner
+leglover
+legoland
+legolas1
+legolego
+legslegs
+lehf2010
+leiceste
+leicester
+leighann
+leighton
+lekbyxxx
+lekmcbytz
+lemmings
+lemonade
+lemondrop
+len2ski1
+lena1234
+lena12345
+lena1982
+lena1990
+lena1996
+lena2010
+lena2011
+lenalena
+leningra
+leningrad
+lenny123
+lenochka
+leo12345
+leoemo12
+leonard1
+leonardo
+leonardo1
+leonidas
+leonleon
+leopard2
+leopards
+leopoldo
+leprechaun
+lera1998
+lera2000
+lera2010
+leralera
+lerochka
+lesbian1
+lesbians
+leslie12
+lespaul1
+lessthan
+letartee
+letitrid
+letmein0
+letmein1
+letmein123
+letmein2
+letmein22
+letmein3
+letmein4
+letmein5
+letmein6
+letmein7
+letmein9
+letmeinn
+letmeinnow
+letmeino
+letmeout
+letmesee
+leto2010
+letsdoit
+letsfuck
+letsgome
+letsplay
+letsrock
+letterma
+leveller
+levelone
+leverage
+leviatan
+leviatha
+leviathan
+levis501
+lewie622
+lewinsky
+lewiston
+lewka111
+lexalexa
+lexingky
+lexingto
+lexington
+lexmark1
+lexus200
+lexus300
+lfiekmrf
+lfiflfif
+lfitymrf
+lfplhfgthvf
+lfybkjdf
+Lg2wMGvR
+lhbjkjubz2957704
+liamliam
+liarliar
+libelula
+liberate
+liberati
+liberato
+liberdade
+libertad
+libertas
+libertin
+liberty1
+liberty2
+liberty7
+liberty9
+library1
+lichking
+lickitup
+licklick
+lickme69
+lickpuss
+lickpussy
+lickthis
+licorice
+lidstrom
+liebherr
+liebling
+liesbeth
+lifeboat
+lifecare
+lifeguar
+lifeguard
+lifehack
+lifeisgood
+lifeless
+lifelife
+lifeline
+lifestyl
+lifestyle
+lifesuck
+lifesucks
+lifetime
+light100
+lightbul
+lightbulb
+lighters
+lightfoo
+lighthou
+lighthouse
+lighting
+lightman
+lightnin
+lightning
+lightsab
+lightsaber
+lightspe
+lightwav
+lightyea
+lightyear
+likemike
+likesdick
+likethat
+likethis
+likewhoa
+lilcrowe
+lildevil
+lililili
+lilly123
+lillypad
+lilwayne
+lilwayne1
+lilyfire
+lilylily
+lilyrose
+limabean
+limaperu
+limbaugh
+limeligh
+limelite
+limerick
+limewire
+limon32988
+limonade
+limousin
+limpbizk
+limpbizkit
+limpdick
+limpkorn
+linalina
+lincoln1
+lincoln2
+lincoln7
+linda123
+lindalou
+lindasue
+lindeman
+lindros8
+lindsay1
+lindsay2
+lindsey1
+lindyhop
+lineage123
+lineage2
+lineback
+lingerie
+lingling
+linguist
+linkinpark
+lionhart
+lionhear
+lionheart
+lionking
+lionlion
+lionsden
+lipinski
+lipstick
+lisa1234
+lisabeth
+lisalisa
+lisalove
+lisamari
+lisamarie
+lisichka
+lissalissa
+lissette
+listerin
+listless
+listopad
+litebeer
+litespee
+lithium1
+littlebear
+littlebi
+littlebit
+littlebitch
+littlebo
+littlecunt
+littledo
+littlefo
+littlefuck
+littlefucker
+littlegi
+littlegirl
+littleguy
+littlehole
+littlejo
+littlema
+littleman
+littleminge
+littleon
+littleone
+littleslut
+littleton
+littlewhore
+litvinov
+liudmila
+liveevil
+livefree
+livelife
+livelive
+livelong
+liverp00l
+liverpoo
+liverpool
+liverpool1
+liverpoolfc
+liverune
+livestrong
+livewire
+liz8tysiu
+liza2000
+liza2009
+liza2010
+lizabeth
+lizaliza
+lizardki
+lizardsquad
+lizaveta
+lizottes
+lizzy123
+LJB4Dt7N
+ljcnjtdcrbq
+ljhjattd
+ljxtymrf
+lk9slwGh3x
+lkjhgfds
+lkjhgfdsa
+lkjhgfdsaz
+lkjhgfdsazx
+llabesab
+llabtoof
+llanelli
+llebpmac
+llewelly
+Lllllll1
+lllooottt
+loadtoad
+lobolobo
+lobster1
+lobsters
+location
+lochness
+lockdown
+lockedup
+locker21
+lockerroom
+lockhart
+lockheed
+LockingServi
+locksley
+locksmit
+lockwood
+locoloco
+locoman0
+locutus1
+lodewijk
+logan123
+logcabin
+logging7
+loginova
+logistic
+logistics
+logitech
+logitech1
+loglatin
+logologo
+lohotron
+loislane
+loki2496
+lokiloki
+lokoloko
+lokomoti
+lokomotiv
+lokos1998
+lol123123
+lol12345
+lol123456
+lolalola
+lolek123
+loliloli
+lolki123
+lolkin09
+lollakas
+lollipop
+lollipop1
+lollllol
+lollol12
+lollol123
+lollollol
+lollypop
+lolo1234
+lolololo
+lolololol
+lololyo123
+lombardi
+lombardo
+lommerse
+lomonosov
+london01
+london10
+london11
+london12
+london123
+london20
+london21
+london22
+london99
+londoner
+loneranger
+lonesome
+lonestar
+lonestar44
+lonewolf
+longball
+longbeac
+longbeach
+longboar
+longboard
+longboat
+longcock
+longdick
+longdong
+longfell
+longford
+longhair
+longhaul
+longhorn
+longhorns
+longines
+longjohn
+longjump
+longlegs
+longlife
+longlong
+longneck
+longshot
+longtail
+longtime
+longtong
+longview
+longwood
+lonsdale
+lookatme
+looking1
+looking4
+looklook
+loophole
+looploop
+loosee123
+lopas123
+loploprock
+lopotok01
+loranthos
+lordik011
+lordlord
+lordofth
+lordsoth
+loredana
+lorencia
+lorenzo1
+loretta1
+lorilori
+lorraine
+losangel
+losangeles
+losbravo
+losenord
+loser123
+loserboy
+loserkid
+loserman
+losfix16
+loshadka
+lost4815162342
+lostboys
+lostlost
+lostlove
+lostsoul
+lothlorien
+lotrfotr34
+lotus123
+louie123
+louis123
+louise01
+louise12
+louisian
+louisvil
+louisvuitton
+louloute
+love1234
+love12345
+love1986
+love2000
+love2010
+love2011
+love4eve
+love4ever
+love4you
+love5683
+love777321777
+loveable
+lovebaby
+lovebird
+loveboat
+lovebug1
+lovebugs
+lovebuzz
+lovecock
+lovecraf
+lovecraft
+lovedick
+lovefeet
+loveforever
+lovegame
+lovegirl
+lovegirls
+lovegood
+lovehate
+lovehina
+lovehurt
+lovehurts
+lovehurts1
+loveislife
+lovejone
+lovelace
+lovelady
+loveland
+loveless
+lovelife
+loveline
+lovelisa
+lovelong
+lovelost
+lovelove
+lovelovelove
+loveme12
+loveme69
+LoveMe89
+loveplanet
+loveporn
+lovepuss
+lovepussy
+lover123
+loverboy
+loverboy1
+lovergir
+lovergirl
+loverman
+lovesazz
+lovesexy
+lovesick
+lovesong
+lovespor
+lovesporn
+lovestory
+lovesuck
+lovesucks
+lovesyou
+lovethem
+lovetits
+loveyou1
+loveyou2
+lovezp1314
+lowrider
+LP2568cskt
+lsdlsd12
+lsIA9Dnb9y
+Lsk8v9sa
+lsutiger
+lsutigers
+ltcnhjth
+lthgfhjkm
+ltlvjhjp
+LTM9z8XA
+ltybcjdf
+luansantana
+lubimaya
+lucas123
+lucciano
+lucidity
+lucifer1
+lucifer666
+lucille1
+lucky111
+lucky123
+lucky777
+luckyboy
+luckycat
+luckycharm
+luckycharm3
+luckyday
+luckydog
+luckyman
+luckyone
+luckystr
+lucozade
+lucretia
+lucylucy
+ludacris
+ludicgirls
+ludmilla
+ludovico
+luisfigo
+luisluis
+luismigue
+lukas123
+luke1234
+lukeluke
+lukester
+lulululu
+lumberjack
+lunaluna
+lunchbox
+luojianhua
+luscious
+luscombe
+lutheran
+lutscher
+luv2epus
+luv2fish
+luv2fuck
+luv4ever
+luvbekki
+luvpussy
+Luzi2005
+lvbnhbq1
+lvbnhbtdf
+lvjdp383
+lynnette
+lynnlynn
+lysander
+lytdybrbdfvgbhf
+lytghjgtnhjdcr
+lyudmila
+LzBs2TwZ
+Lzhan16889
+lzlzdfcz
+m0ntlure
+m1234567
+m123456789
+m1a2r3i4
+m1garand
+m1m2m3m4
+m6cJy69u35
+m7hsqstm
+ma123123123
+maasikas
+mac2olli
+macanudo
+macarena
+macaroni
+macavity
+macdaddy
+macdonal
+macedonia
+macgyver
+machine1
+machines
+machoman
+macintos
+macintosh
+mackdadd
+mackdaddy
+mackenzi
+mackenzie
+mackmack
+mackster
+maclaren
+macross1
+macross2
+macross7
+macsan26
+madafaka
+madagascar
+madagaskar
+Madala11
+madalena
+madalina
+madarchod
+maddie01
+maddison
+maddmaxx
+maddog01
+maddog13
+maddog20
+maddog69
+made40media
+madelein
+madeleine
+madeline
+madhatte
+madhatter
+madhouse
+madinina
+madison0
+madison1
+madison2
+madison3
+madison4
+madison5
+madison7
+madison9
+madmax11
+madmoney
+madonna1
+madrigal
+madriver
+madruga2
+maelstro
+maelstrom
+maestro1
+mafiaman
+magazine
+magdalen
+magdalena
+magellan
+maggie01
+maggie10
+maggie11
+maggie12
+maggie123
+maggie13
+maggie99
+maggiema
+magic123
+magical1
+magical123
+magichat
+magician
+magicman
+magicone
+magister
+magnavox
+magnetic
+magnific
+magnolia
+magnumpi
+magodeoz
+magpies1
+magritte
+mahalkit
+mahalkita
+mahendra
+mahimahi
+mahmudov
+mahogany
+mahoomar
+mahope555
+maiden666
+Mailcreated5240
+mailmail
+mailman1
+mailroom
+mainland
+mainline
+mainstay
+mainstre
+maintain
+maintenance
+maisuradze
+maitland
+maiyeuem
+majestic
+majinbuu
+majortom
+makarenko
+makaroni
+makarova
+makassar
+makaveli
+makayla1
+makeitso
+makeksa11
+makelove
+makemone
+makemoney
+makenzie
+makeover
+makisupa
+Makl1234
+makomako
+maks1995
+maks1996
+maks2010
+maks2011
+maks5843
+maksimka
+maksimov
+maksimova
+maksimus
+maksimuss
+maksmaks
+malaka99
+malamute
+malandro
+malaysia
+malcolm1
+malcolmx
+maldives
+maldonad
+maldonado
+malinois
+malishka
+malkavian
+mallard1
+mallards
+mallorca
+mallrats
+malmstee
+malmsteen
+malyshka
+mama1234
+mama12345
+mama1953
+mama1955
+mama1956
+mama1960
+mama1961
+mama1963
+mama1964
+mama1965
+mama1970
+mama1971
+mama1982
+mama1998
+mama2010
+mama2011
+mamabear
+mamacita
+mamaipapa
+mamaliga
+mamamama
+mamanunya
+mamapapa
+mamasboy
+mamasita
+mamatata
+mamedova
+mamma123
+mammamia
+mammoth1
+mamochka
+man22man
+manageme
+management
+manager1
+managers
+manamana
+manassas
+manatee1
+manchest
+mancheste
+manchester
+manchester1
+manchesterunited
+manchild
+mancity1
+mandalay
+mandarin
+mandarinka
+mandingo
+mandolin
+mandragora
+mandrake
+mandreki
+mandy123
+mandymoo
+manester
+mango123
+mangust6403
+manhatta
+manhattan
+manifest
+manifold
+manitoba
+mankind1
+manmanman
+mannheim
+manning1
+manning18
+manolito
+manouche
+manowar1
+manpower
+manpreet
+mansfiel
+mansfield
+mansikka
+manstein
+mantaray
+manunite
+manunited
+manwhore
+manzey20
+mapet123456
+maplelea
+mapleleaf
+mapleleafs
+maradona
+marajade
+marakesh
+maranafa
+maranata
+maranath
+maranell
+maranello
+marathon
+marauder
+marbella
+marbles1
+marcelin
+marcelit
+marcella
+marcelle
+marcello
+marcellu
+marcelo1
+march197
+march198
+marchand
+marchenko
+marciano
+marcius2
+marcmarc
+marco123
+marcopol
+marcopolo
+marcs1997
+marcuseckos
+mardigra
+margaret
+margaret1
+margarida
+margarit
+margarita
+margherita
+margosha
+maria123
+maria32b
+mariachi
+mariajos
+mariamar
+mariamaria
+mariana1
+marianas
+marianna
+marianne
+maricela
+marie123
+mariella
+marielle
+marietta
+mariette
+marigold
+marihuana
+marijane
+marijuan
+marijuana
+marilena
+marillio
+marillion
+marilyn1
+marimari
+marina123
+marina13
+marina15
+marina20
+marina86
+marinamarina
+Marinaro
+marine12
+marine21
+mariner1
+mariners
+marines1
+marines2
+marino13
+marinochka
+mario123
+mariposa
+marisela
+marishka
+marissa1
+maritime
+mariupol
+marjorie
+mark1234
+mark3434
+marketin
+marketing
+markhegarty
+markmark
+markovka
+markymark
+marlb0r0
+marlboro
+marlboro1
+marley11
+marley12
+marlins1
+marmaduke
+marmalad
+marmalade
+marmaris
+marmelad
+marmeladka
+marmstad
+marquett
+marquise
+marriage
+married1
+marriott
+marryher
+marsbars
+marseill
+marseille
+marsface
+Marshal1
+marshall
+marshall1
+marsland
+marsmars
+martesana
+martin01
+martin06
+martin10
+martin11
+martin12
+martin19
+martin22
+martina1
+martinet
+martinez
+martini1
+martiniq
+martinka
+martmart
+martusia
+martymar
+marugame
+mary1234
+maryann1
+maryanne
+marybeth
+maryjane
+marykate
+maryland
+marymary
+marzipan
+masahiko
+masahiro
+masamasa
+masamune
+masayuki
+mascitti
+maserati
+mash4077
+masha123
+masha1995
+masha1998
+masha2010
+masha2011
+mashamasha
+mashenka
+mashinka
+mashmash
+mashoutq
+masiania
+mason123
+massacre
+massage1
+masseffect
+massilia
+massimiliano
+massive1
+master00
+master01
+master10
+master101
+master11
+master12
+master123
+master1234
+master13
+master20
+master21
+master22
+master23
+master32
+master33
+master55
+master66
+master666
+master69
+master77
+master88
+master99
+master999
+masterb8
+masterba
+masterbaiting
+masterbate
+masterbating
+masterca
+mastercard
+masterch
+masterchief
+mastercr
+masterkey
+masterlo
+masterma
+mastermi
+mastermind
+masterof
+masterok
+masters1
+masturba
+masturbate
+masturbation
+masyanya
+matahari
+matchbox
+matchbox20
+matematica
+matematika
+material
+mateusz1
+mathematics
+matheus123
+mathilda
+mathilde
+mathmath
+matilda1
+matrix01
+matrix12
+matrix123
+matrix13
+matrix69
+matrix99
+matrixxx
+matt1234
+matterho
+matthew0
+matthew1
+matthew10
+matthew2
+matthew3
+matthew4
+matthew5
+matthew6
+matthew7
+matthew8
+matthew9
+matthewd
+matthewj
+matthewp
+matthews
+matthias
+matthieu
+mattingl
+mattmatt
+mattress
+mattyboy
+mattylad10
+matulino
+matveeva
+maulwurf
+maureen1
+maurice1
+maurice2
+mauricio
+mauritius
+maurizio
+maurolarastefy
+mausbaer
+mausmaus
+Maveric1
+maverick
+maverick1
+mavericks
+mavipies
+max12345
+max33484
+maxim1935
+maximili
+maximilian
+maximiliano
+maximill
+maximize
+maximum1
+maximus1
+maximus2
+maximuss
+maxmaxma
+maxmaxmax
+maxmotives
+maxpayne
+maxpower
+maxthedo
+maxwell1
+maxwell2
+maxwell7
+maxxmaxx
+mayamaya
+maybelle
+maybenot
+mayberry
+mayfield
+mayflowe
+mayflower
+maynard1
+mazafaka
+mazafaker
+mazahaka
+mazatlan
+mazda123
+mazda323
+mazda323f
+mazda626
+mazdamx3
+mazdamx5
+mazdamx6
+mazdarx7
+mazdarx8
+mazinger
+mb811434
+MBKuGEgs
+mccallum
+mccarthy
+mccool24
+mcdaniel
+mcdonald
+mcdonalds
+mcdougal
+mcdowell
+mcescher
+mcfadden
+mcfarland
+mcgregor
+mcintosh
+mcintyre
+mckenzie
+mckinley
+mckinney
+mcknight
+mclaren1
+mclarenf
+mclarenf1
+mcmaster
+mcmillan
+mdmaiwa3
+mdmaiwa4
+mdmaiwa5
+mdmbw561
+mdmcrtix
+mdmgatew
+mdmgl002
+mdmgl004
+mdmgl005
+mdmgl006
+mdmgl010
+mdmmc288
+Mdmnis1u
+mdmnttd2
+mdmsii64
+mdmtdkj2
+mdmtdkj7
+mdmusrk1
+mdmzyxel
+me123456
+meandyou
+measures
+meat1492
+meatball
+meathead
+meatloaf
+meatmeat
+mech6666
+mechanic
+mechanical
+medeiros
+medellin
+medical1
+medicare
+medicina
+medicine
+medicman
+medieval
+meditate
+meditation
+medvedev
+medvedeva
+meepmeep
+megabass
+megabyte
+megadeth
+Megafon77
+megagerka
+megaman1
+megamanx
+megamega
+megan123
+meganfox
+megapass
+megapolis
+megastar
+megatron
+megazone
+meinolf2
+meister1
+melanie1
+melanie2
+melaniec
+melbourn
+melbourne
+melchior
+melinda1
+melissa1
+melissa2
+melissa3
+melissa6
+melissa7
+melissaa
+melissas
+mellissa
+melnikova
+meltdown
+melville
+melvin69
+membrane
+memememe
+memorial
+memories
+memphis1
+memyself
+meowmeow
+mephisto
+mercator
+Mercede1
+mercedes
+mercedes1
+mercedez
+mercenar
+mercenary
+merchant
+mercurio
+mercury1
+mercury2
+mercury7
+mercutio
+meredith
+merengue
+meridian
+merlin01
+merlin10
+merlin11
+merlin12
+merlin21
+merlin69
+merlin99
+mermaid1
+mermaids
+merrill1
+mersedes
+MERZARIO
+meshugga
+mesohorn
+mesohorny
+mesquite
+message4
+messages
+messenge
+messenger
+messiah1
+messier1
+metadata
+metal123
+metal666
+metalcore
+metalgea
+metalgear
+metalgod
+metalhea
+metalhead
+metalica
+metalist
+metallic
+metallica
+metallica1
+metalman
+metanoia
+metaphor
+metatron
+methanol
+methodma
+methodman
+metro2033
+metrolog
+metroman
+metropol
+metropolis
+mets1986
+metsjets
+MeveFalkcakk
+mexicali
+mexicano
+mexico86
+miami123
+miami305
+miatamx5
+miaumiau
+michael0
+michael1
+michael10
+michael12
+michael123
+michael13
+michael2
+michael3
+michael4
+michael5
+michael6
+michael69
+michael7
+michael8
+michael9
+michaela
+michaelb
+michaelc
+michaeld
+michaele
+michaelf
+michaelg
+michaelj
+michaeljackson
+michaelk
+michaell
+michaelm
+michaeln
+michaelp
+michaels
+michaelt
+michelangelo
+michele1
+michelin
+Michell1
+michelle
+michelle1
+michelob
+michigan
+michigan1
+mick7278
+mickey01
+mickey11
+mickey12
+mickey13
+mickey22
+mickey69
+mickey99
+mickeymo
+mickeymouse
+mickmick
+microlab
+microlab1
+microphone
+microsca
+microsof
+microsoft
+microtek
+microwav
+middlese
+middleto
+midiland
+midnight
+midnight1
+mifune55
+mightymo
+miguel12
+miguelange
+miguelit
+miguelito
+mikamika
+mike1234
+mike12345
+mike1969
+mike2000
+mikehunt
+mikejone
+mikemike
+mikey123
+mikimaus
+mikimiki
+mikvarxar
+milagros
+milamber
+milamila
+milan1899
+milashka
+mildred1
+milehigh
+milenium
+miles123
+milesdav
+milesdavis
+milfhunter
+milhouse
+military
+milkbone
+milkmaid
+milkman1
+milkmilk
+milkshak
+milkshake
+milkyway
+millenia
+milleniu
+millenium
+millenni
+millennium
+miller01
+miller11
+miller12
+miller31
+miller69
+miller99
+millerli
+millerlite
+millerti
+millertime
+millhaus
+millhous
+millie11
+millie12
+milligan
+million1
+million2
+milliona
+millionaire
+millioner
+millions
+millwall
+milomilo
+milwauke
+milwaukee
+mimi92139
+mimimimi
+minamina
+minarets
+mindcrim
+mindfuck
+mindgame
+mindless
+mindspri
+mindwarp
+mindy123
+mine2306
+minecraft
+minecraft1
+minecraft123
+minemine
+mineonly
+mingming
+minhasenha
+miniclip
+minicoop
+minicooper
+minidisc
+minigolf
+minimax1
+minimini
+minimoni
+minion33
+miniskir
+minister
+ministry
+minnesot
+minnesota
+minnesota_hp
+minnette
+minniemouse
+minntwin
+minority
+minotaur
+minotavr
+minouche
+minstrel
+mirabell
+mirabella
+miracle1
+miracles
+miranda1
+miranda2
+mireille
+mirkwood
+mironenko
+mironova
+miroslav
+miroslava
+miruvor79
+misamisa
+misamore
+mischief
+misfit99
+misfits1
+misha1111
+misha123
+mishanya
+mishaoooyeah
+mishmash
+mishutka
+misiaczek
+misiaczek1
+missing1
+mission1
+missions
+mississi
+mississipp
+mississippi
+misskitt
+misskitty
+missmiss
+missmolly
+missoula
+missouri
+misspigg
+missy123
+missydog
+mistered
+misterio
+misterma
+misterme
+mistral1
+mistress
+misty123
+mistyblu
+mistycat
+mistydog
+mitch123
+mitchell
+mithrand
+mitsubis
+mitsubishi
+mittens1
+mixmaster
+miyamoto
+miyvarxar
+mizredhe
+mjbnbna1
+mjohng69
+mjollnir
+mjordan2
+mko09ijn
+MLForman
+mmm147258
+Mmmmmmm1
+mnbvcxz1
+mnbvcxza
+mnemonic
+mnlicens
+mobbdeep
+mobility
+mobydick
+moccasin
+modeling
+modelsne
+moderator
+modified
+mogwai1976
+mohammad
+mohammed
+mohicans
+mohinder
+moinmoin
+moiseeva
+moisture
+mojojojo
+mojomojo
+mojorisi
+molecule
+molly123
+mollycat
+mollydog
+mollymoo
+mom4u4mm
+momanddad
+momentum
+mommy123
+momomomo
+momoney1
+momsanaladventure
+monaghan
+monalisa
+monaliza
+monamona
+monamour
+monarch1
+monarchs
+monday12
+money100
+money101
+money111
+money123
+money1234
+money4me
+money777
+moneybag
+moneybags
+moneymak
+moneymaker
+moneyman
+moneymon
+moneymoney
+moneysho
+mongolia
+mongoose
+monica01
+monica12
+monica69
+monique1
+monitor1
+monitor2
+monitor3
+monitor4
+monkey00
+monkey01
+monkey10
+monkey11
+monkey12
+monkey123
+monkey13
+monkey14
+monkey15
+monkey19
+monkey20
+monkey21
+monkey22
+monkey23
+monkey24
+monkey32
+monkey33
+monkey42
+monkey55
+monkey66
+monkey69
+monkey77
+monkey88
+monkey99
+monkeyas
+monkeyba
+monkeybo
+monkeyboy
+monkeybu
+monkeybutt
+monkeydo
+monkeyma
+monkeyman
+monkeynuts
+monkeys1
+monkfish
+monkmonk
+monmouth
+monolith
+mononoke
+monopoli
+monopoly
+monorail
+monoxide
+monrovia
+monster0
+monster1
+monster123
+monster2
+monster3
+monster7
+monster9
+monsterkill
+monsters
+montagna
+montagne
+montague
+montana1
+montana2
+montana8
+montblanc
+montecar
+montecarlo
+monteiro
+montella
+montenegro
+monterey
+montero1
+monterre
+monterrey
+montgom240
+montgome
+montgomery
+montreal
+montrell
+montreux
+montrose
+monty123
+montydog
+monument
+moojuice
+mookie12
+moom4242
+moom4261
+moon1234
+moon5leg
+moonbeam
+moonchil
+moonchild
+moondanc
+moondance
+moondog1
+moonglow
+moonligh
+moonlight
+moonlite
+moonmoon
+moonrake
+moonrise
+moonshin
+moonshine
+moonshot
+Moonstafa
+moonstar
+moontime
+moonunit
+moonwalk
+moose123
+moosehea
+moosejaw
+mooseman
+mopar440
+moparman
+morales1
+morebeer
+morefire
+morehead
+moreland
+morelove
+moremone
+moremoney
+moremore
+moreporn
+morgaine
+morgan01
+morgan11
+morgan12
+morgan23
+morganstanley
+moriarty
+morimori
+morkovka
+mornings
+morozova
+morpheus
+morphine
+morphius
+morrigan
+morrisey
+morrison
+morrisse
+morrissey
+morrowin
+morrowind
+mortalkombat
+mortgage
+morticia
+mortimer
+mor_pass
+moschino
+mosesblk
+mosias98
+mosquito
+mossberg
+mossyoak
+mostwanted
+motdepas
+motdepass
+motdepasse
+mother01
+mother12
+mother22
+motherfu
+motherfuck
+motherfucker
+motherlo
+motherlode
+motivate
+motocros
+motocross
+motoguzz
+motomoto
+motorbik
+motorbike
+motorcyc
+motorcycle
+motorhea
+motorhead
+motorman
+motorola
+motorola1
+motorolla
+motorrad
+motorspo
+motu6697
+moumoune
+mounta1n
+Mountai1
+mountain
+mountain1
+mountaindew
+mountains
+MOUNTMGR
+mourning
+mouse123
+mouseman
+mousemouse
+mousepad
+movement
+moviebuf
+movieman
+movies23
+mowerman
+mpetroff
+mrblonde
+MrBrownX
+MrBrownXX
+mrbungle
+msadds32
+msconfig
+mscormmc
+mscorsecr
+msdaorar
+msimnimp
+msnetmtg
+msoracle32re
+msouthwa
+mswrd632
+mtsadmin
+mtwapa1a
+mu11igan
+muaythai
+muchacha
+muchacho
+mudhoney
+mudpuppy
+mudshark
+mudslide
+mudvayne
+muenchen
+muffdive
+muffdiver
+muffin11
+muffin12
+muffinma
+muffinman
+muffmuff
+muhammad
+muhammed
+muiemuie
+muirhead
+mulberry
+mulder12
+muledeer
+mulligan
+mullin17
+multimed
+multimedia
+multipas
+multipass
+multiple
+multiplelo
+multiplelog
+multisca
+multiscan
+multisyn
+multisync
+mumanddad
+munchies
+munchkin
+munson15
+murakami
+murasaki
+murasame
+murciela
+murcielag
+murcielago
+murderer
+murielle
+murmansk
+murphy01
+murphy11
+murphy12
+murphydo
+murzilka
+musashi1
+muselman
+mushmush
+mushroom
+mushrooms
+music101
+music123
+musical1
+musicals
+musicbox
+musician
+musiclover
+musicman
+muskogee
+mustaine
+mustang0
+mustang1
+mustang2
+mustang3
+mustang4
+mustang5
+mustang50
+mustang6
+mustang66
+mustang67
+mustang69
+mustang7
+mustang8
+mustang9
+mustangg
+mustanggt
+mustangs
+mustapha
+mustard1
+mustikka
+mustkill
+mutation
+muthafuc
+mutt22pu
+mvtnr765
+mWQ6QlZo
+mxAiGtg5
+mxyzptlk
+my2girls
+my3girls
+myangel1
+myangels
+mybabies
+mycomput
+myfamily
+myfriend
+myjdxtcxks
+mymgis41
+mymoney1
+mymother
+mynameis
+mynewbots
+mynewpas
+mypasswo
+mypassword
+mysecret
+myspace1
+myspace2
+mysterio
+mystery1
+mystical
+mystikal
+mystique
+mythology
+myxworld
+myXworld4
+m_roesel
+n123456789
+n1a2t3a4
+n7Dj3Saa
+N7tD4BJL
+n8skfSwa
+nachodog
+nacichal
+nacional
+nadanada
+nadezhda
+nadia123
+nagasaki
+nagshead
+nahtanoj
+nakamura
+nakatomi
+nakedteens
+nallepuh
+nameless
+namrepus
+nananana
+nancy123
+nanonano
+nanotech
+nantucke
+nantucket
+napass123
+napolean
+napoleon
+napster1
+narayana
+narendra
+narfnarf
+narkoman
+naruto010
+naruto12
+naruto123
+naruto2010
+naruto99
+narutouzumaki
+nascar03
+nascar08
+nascar12
+nascar18
+nascar20
+nascar24
+nascar38
+nascar48
+nascar88
+nascar99
+nashvill
+nashville
+nastenka
+nasty123
+nastya123
+nastya1995
+nastya1996
+nastya1997
+nastya1999
+nastya2010
+nastyanastya
+nastyass
+nastyboy
+nastygirl
+nastyman
+nastyone
+nata1977
+nata1980
+nata1982
+nata2010
+natalia1
+natalie1
+natalie2
+nataliya
+natanata
+natas666
+natascha
+natasha1
+natasha123
+natasha2
+natasha7
+natashka
+natedawg
+natedogg
+nathalia
+nathalie
+nathan01
+nathan12
+nathan22
+nathanae
+nathanie
+nathaniel
+national
+nationals
+natural1
+naturals
+naturebo
+naturist
+naughty1
+naughty2
+naughtya
+naughtyb
+naughtyboy
+naumenko
+nausicaa
+nautica1
+nautical
+nautilus
+nautique
+navigate
+navigation
+navigato
+navigator
+navillus
+navisite
+navistar
+navyblue
+navyseal
+nazarenko
+nazareth
+nazarova
+nbuhtyjr
+nbvjityrj
+ncc1701a
+ncc1701b
+ncc1701d
+ncc1701e
+ncc74205
+ncc74656
+nccpl25282
+NdsHnx4S
+nebraska
+nebulous
+neckbone
+necklace
+necroman
+necromancer
+necromant
+necron99
+necronom
+necronomicon
+nectarin
+nederlan
+nederland
+nedkelly
+need4speed
+needajob
+needforspeed
+needhelp
+needsome
+nefertit
+nefertiti
+negative
+neighbor
+neilneil
+neirfyxbr
+nekochan
+nekoneko
+nekrasova
+nekromant
+nelson11
+nemesis1
+nemesis2
+nemesis6
+nemesis7
+nemezida
+nemiroff
+nemonemo
+nemrac58
+nEMvXyHeqDd5OQxyXYZI
+neophyte
+nepbr2009
+nepenthe
+nephilim
+neptune1
+neronero
+nesakysiu
+Nessus09
+nesterenko
+nesterov
+nesterova
+netbcm4e
+netel90b
+netel99x
+netf56n5
+netmadge
+netnovel
+netnwlnk
+netscape
+nettiger
+netvideo
+netware1
+network1
+network2
+Networkingpe
+networks
+networth
+netzwerk
+neuroman
+neurosis
+neuspeed
+neutrino
+neveraga
+neveragain
+neverdie
+neverever
+nevergiveup
+neverhood
+neverlan
+neverland
+neverman
+nevermin
+nevermind
+nevermor
+nevermore
+neversaymypassword
+neversaynever
+neversmile
+neverwinter
+newberry
+newblood
+newburgh
+newcastl
+newcastle
+newcomer
+newdelhi
+newfound
+newhaven
+newhouse
+newjerse
+newjersey
+newlife1
+newlife2
+newmark1
+newmedia
+newmexic
+newmexico
+newmoney
+neworder
+neworlea
+neworleans
+newpass1
+newpass2
+newpass3
+newpass6
+newpassw
+newpassword
+newpoint
+newport1
+newport2
+newports
+newproject2004
+newshoes
+newspape
+newspaper
+newstart
+newstyle
+newt7899onrs
+newworld
+newyears
+newyork0
+newyork1
+newyork2
+newyorke
+newzeala
+newzealand
+nextdoor
+nezabudka
+neznakomka
+ne_e_pod_chehyl
+nfgbpltwq
+nfhfctyrj
+nfhfynek
+nfkbcvfy
+nfnmzyrf
+nfvthkfy
+nfyz1987
+nfyznfyz
+nhatrang
+nhbujyjvtnhbz
+nhbybnhjnjkejk
+nhecsyfujkjdt
+nhfdvfnjkju123
+nhfkbdfkb
+nhfrnjhbcn
+nhfycajhvth
+nhfycajhvths
+nhjabvjdf
+nicaragu
+nicebutt
+nicegirl
+nicelegs
+nicenice
+nicerack
+nicetits
+nicglobal
+nichelle
+nicholas
+nicholas1
+nicholas9
+nichole1
+nick1234
+nick2000
+nickcave
+nickelfi
+nickjonas
+nicklaus
+nickname
+nicknick
+nickolas
+nicksfun
+nickster
+nicolas1
+nicolas2
+nicole01
+nicole11
+nicole12
+nicole123
+nicole18
+nicole19
+nicole22
+nicole23
+nicole69
+nicoleta
+nicolett
+nicoletta
+nicolette
+nicolino
+niconico
+nicotine
+Nicrasow212
+nietzsch
+nietzsche
+nigger123
+nightcra
+nightcrawler
+nightfal
+nightfall
+nighthaw
+nighthawk
+nightime
+nightlife
+nightman
+nightmar
+nightmare
+nightmare1
+nightowl
+nightrider
+nightshade
+nightwin
+nightwing
+nightwis
+nightwish
+nightwolf
+nihao123
+nijmegen
+nikanika
+nike1234
+nikegolf
+nikenike
+nikiforova
+nikiniki
+nikita123
+nikita1994
+nikita1996
+nikita1997
+nikita1998
+nikita2000
+nikita2002
+nikita2010
+nikita2011
+nikita95
+nikita99
+nikitina
+nikki123
+nikolaev
+nikolaeva
+nikolaevna
+nikolaus
+nikolay9
+nikoniko
+nilknarf
+nimajneb
+ninanina
+nineball
+nineinch
+ninenine
+nineteen
+ninja123
+ninja3000
+ninja900
+ninjaman
+ninjamonkey
+ninjazx7
+ninjitsu
+ninjutsu
+ninochka
+ninonino
+nintendo
+nintendo1
+nintendo64
+nintendods
+Nipples1
+nirvana1
+nirvana2
+nirvana9
+nissan35
+nissan350z
+nitehawk
+nitemare
+nitrogen
+nizmo400r
+njdevils
+nji90okm
+njkmznnb
+Nloq_010101
+nmminmmi
+nnmaster
+Nnnnnnn1
+no1knows
+noaccess
+noahfish
+noahnoah
+noahsark
+noanswer
+nobunaga
+nochance
+nochnik104
+nocturne
+nofxnofx
+nogueira
+nohack04
+nohanada
+nohitter
+noisette
+nokia1100
+nokia123
+nokia1600
+nokia2700
+nokia3100
+nokia3110
+nokia3120
+nokia321
+nokia3230
+nokia3250
+nokia3310
+nokia5130
+nokia5200
+nokia5228
+nokia5230
+nokia5300
+nokia5310
+nokia5320
+nokia5530
+nokia5610
+nokia5700
+nokia5800
+nokia6120
+nokia6131
+nokia6230
+nokia6230i
+nokia6233
+nokia6300
+nokia6303
+nokia6500
+nokia6600
+nokia6630
+nokia7070
+nokia7610
+nokia8800
+nokiadermo
+nokiae51
+nokian70
+nokian73
+nokian82
+nokian95
+nokian97
+nokianokia
+nolimit1
+nolimit2
+nolimit5
+nolimit6
+nolimit8
+nolimit9
+nolimits
+nomeacuerdo
+nomer111
+noname123
+noncapa0
+nondriversig
+nonenone
+nonmembe
+nononono
+nonrev67
+nonsense
+noodles1
+noonehackme
+nopasaran
+nopasswo
+nopassword
+nopenope
+noproblem
+norcross
+nordland
+normandy
+norseman
+norsemen
+northeas
+northern
+northland
+northpol
+northpole
+northside
+northsta
+northstar
+northwes
+northwest
+northwoo
+norwegen
+norwich1
+nosaints
+nosenose
+nosferat
+nosferatu
+nosnibor
+nosotros
+nosredna
+nostradamus
+nostromo
+not4long
+not4u2no
+notagain
+note1234
+notebook
+nothanks
+nothing0
+nothing1
+nothing2
+notoriou
+notorious
+notredam
+notredame
+nottingh
+nottingham
+nottoday
+notyours
+nounours
+nouvelle
+novanova
+novartis
+novastar
+november
+november1
+november2
+novembre
+novgorod
+noviembr
+noviembre
+novifarm
+novikova
+novosibirsk
+noway123
+nowayman
+nowayout
+nowwowtg
+nsnabh76
+ntfsdrct
+nthk12345
+nthvbyfk
+nthvbyfnjh
+nthvbyfnjh2
+ntktdbpjh
+ntktdbpjh1994
+ntktgepbr
+nUADdN9561
+nudegirl
+nudelamb
+nuggets1
+nukenuke
+number10
+number11
+number12
+number20
+number22
+numberon
+numbnuts
+nursing1
+nursultan
+nutshell
+nuttertools
+nwctrinity
+nwo4life
+nygiants
+nyknicks
+nymets86
+nyranger
+nyrangers
+nyyankee
+nyyankees
+nzceg251
+o1l2e3g4
+o4iZdMXu
+oakenfol
+oakland1
+oakridge
+oakville
+Oap9UTO293
+oblivion
+observer
+obsessed
+obsessio
+obsession
+obsidian
+obsolete
+obvious1
+oc247ngUcZ
+occash69
+oceans11
+oceanside
+oconnell
+octavian
+octavius
+october1
+october2
+october3
+october31
+october6
+october7
+october8
+octopuss
+odbcinst
+oddworld
+oded99aa
+oDgez8J3
+odieodie
+odinodin
+odinthor
+odonnell
+odranoel
+odt4p6sv8
+oduvanchik
+odysseus
+ofclr278
+ofcourse
+offering
+official
+offshore
+offsprin
+offspring
+ohiostat
+ohiostate
+ohmss101
+oiauerk39
+oinkoink
+ojp123456
+okayokay
+okk34125
+oklahoma
+okokokok
+oktober7
+OlCRackMaster
+oldpussy
+oldschoo
+oldschool
+oldskool
+oldsmobi
+oldsmobile
+oldspice
+oldtimer
+oleander
+oleaut32
+oleg1234
+oleg12345
+oleg1967
+oleg1973
+oleg1975
+oleg1985
+oleg1988
+oleg1991
+oleg1992
+oleg1994
+oleg1995
+oleg1996
+oleg1998
+olegator
+olegdivov
+olegnaruto
+olegoleg
+oleksandr
+olemiss1
+olga1971
+olga1976
+olga1978
+olga1979
+olga1982
+olga1984
+olga1988
+olga2010
+olgaolga
+olietjoc
+oliphant
+oliveira
+oliveoil
+oliver01
+oliver10
+oliver11
+oliver12
+oliver123
+oliver22
+oliver99
+olivetti
+olivier1
+oliviero
+olk98usr
+ollie123
+olliedog
+ololo123
+olympics
+omaromar
+omega123
+omega200
+omega666
+omegaman
+omegared
+omgkremidia
+omglolomg
+omgomgomg
+omgwtfbbq
+omicron1
+omnislash
+omsairam
+omytvc15
+one1two2
+one2three
+onelove1
+onepiece
+onetwo12
+onetwo34
+onetwothree
+oneworld
+onimusha
+online12
+onlylove
+onlyone1
+onlyOne4
+onrop123
+ontheoutside
+ontheroad
+ontheroc
+ontherocks
+onurtitz
+ooicu812
+oooooo99
+Ooooooo1
+opelagila
+opelastr
+opelastra
+open1234
+opendoor
+openopen
+opensesa
+opensesame
+openupno
+openwide
+operatio
+operation
+operations
+operator
+opopop11
+opopopop
+optimist
+optimus1
+optional
+optiplex
+optiques
+optiquest
+opusopus
+oqglh565
+orange10
+orange11
+orange12
+orange13
+orange22
+orange44
+orange77
+orange88
+orange99
+oranges1
+ordinateur
+ordnance
+orenburg
+oreooreo
+organist
+orgasmic
+orhideya
+oriental
+oriflame
+original
+orioles1
+orioles8
+orion123
+orlando1
+orochimaru
+orologio
+orthodox
+orville1
+orwell84
+osbourne
+oscar123
+oscarcat
+oscardog
+oscarito
+oskar123
+othello1
+otherside
+otisotis
+ottootto
+ou812345
+ou8124me
+ou8125150
+ou812ou8
+ouachita
+ousooner
+outatime
+outbound
+outbreak
+outdoors
+outhouse
+outkast1
+outoutout
+outrider
+outsider
+outstand
+outthere
+ovaltine
+ovechkin
+overcome
+overdose
+overdriv
+overdrive
+overflow
+overhead
+overkill
+overland
+overload
+overlook
+overlord
+overmars
+overmind
+override
+overseas
+overseer
+overtime
+overture
+ow8jtcs8t
+owenhart
+ownage123
+owned123
+oxymoron
+oZlQ6QWm
+ozzmosis
+ozzyozzy
+p0015123
+P030710P
+p0o9i8u7
+p0o9i8u7y6
+P0oooo00
+p0rnlove
+p0rnstar
+p0tl8dje
+p1234567
+p1nkb178
+p2ssw0rd
+p3corion
+p3nnywiz
+p455w0rd
+p4ssw0rd
+p4ssword
+p51mustang
+p9uJkuf36D
+pa55w0rd
+pa55word
+paashaas
+pablo123
+pachanga
+pacific1
+pacific2
+pacifica
+pacifico
+packages
+packard1
+packardbell
+packers1
+packers2
+packers4
+packman1
+packs296
+pacman13
+pacopaco
+pacotaco
+paddingt
+paddy123
+paganini
+pagedown
+painkill
+painkiller
+painless
+paintbal
+paintball
+paintball1
+painter1
+painters
+painting
+pajarito
+pakalolo
+pakistan
+pakistan1
+pakistani
+palace22
+palacios
+paladin1
+paladine
+paladino
+paladins
+palamino
+palantir
+palenque
+palermo1
+palestine
+palladin
+palladio
+palladium
+pallmall
+palmeira
+palmeiras
+palmetto
+palmtree
+paloalto
+palomino
+palpatin
+pamplona
+pan27043
+panasoni
+panasonic
+panasonik
+PANAVISI
+pancake1
+pancakes
+panchito
+pancreas
+panda123
+pandabea
+pandabear
+pandemonium
+pandora1
+pandora2
+pandora6
+pandora7
+pandoras
+pangolin
+paninaro
+panorama
+pantera1
+pantera2
+pantera6
+pantheon
+panther1
+panther2
+panther5
+panther6
+panther7
+panther8
+panther9
+panthera
+panthers
+panthers1
+panthose
+panties1
+panties2
+pantyhos
+pantyhose
+pantyman
+papa1234
+papabear
+papageno
+papajohn
+papamama
+papapapa
+paparazzi
+paparoach
+papasmur
+papasmurf
+paper123
+paperboy
+papercli
+paperclip
+papercut
+paperino
+paperman
+papichul
+papichulo
+papillon
+papone90
+pappnase
+parabellum
+parabola
+parachut
+parachute
+paradice
+paradigm
+paradise
+paradiso
+paradize
+paradoks
+paradox1
+paradoxx
+paragon1
+paraguay
+Paraklast1974
+parallax
+parallel
+paramedi
+paramedic
+paramore
+paramoun
+paramount
+paranoia
+paranoid
+paranoya
+parasite
+paratroo
+parcells
+pardonme
+parfilev
+paris123
+parisien
+parker01
+parker11
+parker12
+parkhead
+parkland
+parklane
+parkplac
+parkside
+parkview
+parlament
+parliame
+parliament
+parmalat
+parol123
+parol999
+parola12
+parolamea
+parolparol
+parrothe
+parrotts
+parsifal
+partagas
+particle
+partizan
+partner1
+partners
+partridg
+partridge
+party123
+partyboy
+partyman
+partytim
+partytime
+pasadena
+pasha123
+pashademon
+pasquale
+pass1234
+pass12345
+pass1821
+pass1wor
+pass1word
+pass2000
+pass2012
+PassAgen
+passat99
+passcode
+passfind
+passion1
+passion8
+passionate
+passions
+passking
+passmast
+passmaster
+passover
+passpage
+passpass
+passport
+passport1
+passssap
+passsword
+passthie
+passthief
+passtrader
+passw0rd
+passw0rd1
+passward
+passwd01
+passwerd
+passwor1
+password
+password0
+password00
+password01
+password1
+password10
+password101
+password11
+password12
+password123
+password1234
+password13
+password2
+password21
+password22
+password23
+password3
+password33
+password4
+password5
+password6
+password69
+password7
+password8
+password88
+password9
+password99
+PASSWoRDassword
+passwordd
+passwordpassword
+passwords
+passwordstandard
+passworld
+passwort
+passwort1
+passwurd
+passzone
+pasta123
+pastrami
+paswoord
+pasword1
+patagoni
+patatina
+patch123
+patches1
+patches2
+patchess
+paterson
+pathetic
+pathfind
+pathfinder
+patholog
+patience
+patlabor
+patoloco
+patricia
+patricia1
+patricio
+patrick0
+patrick1
+patrick2
+patrick3
+patrick4
+patrick5
+patrick6
+patrick7
+patrick8
+patrick9
+patrickj
+patricks
+patriot1
+patriots
+patriots1
+patrizia
+patroclo
+patrycja
+patterso
+patterson
+paul1234
+paula123
+Paula13e
+paulaner
+paulchen
+paulette
+paulina1
+pauline1
+paulinka
+paulista
+paulpaul
+pavel123
+pavement
+pavilion
+pavlenko
+pavlota19
+pavlusha
+pawnshop
+paycheck
+paycheck1
+payton34
+pazzkrew
+pazzword
+pbvfktnj
+pdtpljxrf
+peace123
+peaceful
+peacemaker
+peaceman
+peacenow
+peaceout
+peaches1
+peaches2
+peaches3
+peaches7
+peaches8
+peachfuz
+peacock1
+peakaboo
+peanut11
+peanut12
+peanutbu
+peanutbutter
+peanuts1
+pearljam
+peartree
+pebbles1
+pechenka
+pederast
+pedersen
+pedigree
+pedro123
+peekab00
+peekaboo
+peepshow
+peerless
+peewee51
+pegasus1
+pegasus7
+peggysue
+pelepele
+pelican1
+pembroke
+penchair
+pendrago
+pendragon
+pendulum
+penelopa
+penelope
+penetrating
+penetration
+penfloor
+penguin1
+penguin6
+penguin7
+penguin8
+penguins
+penhorse
+penis123
+penmouse
+pennstat
+pennstate
+penny123
+pennydog
+pennywis
+pennywise
+pensacol
+pensacola
+pentable
+pentacle
+pentagon
+pentagram
+penthous
+penthouse
+pentium1
+pentium2
+pentium3
+pentium4
+penumbra
+penwindo
+people12
+pepepepe
+pepper01
+pepper10
+pepper11
+pepper12
+pepper123
+pepper14
+pepper23
+pepper76
+pepper99
+peppermint
+pepperon
+pepperoni
+pepsi123
+pepsicol
+pepsicola
+pepsiman
+pepsimax
+pepsinsx
+pepsione
+perasperaadastra
+percival
+percussi
+percussion
+peregrin
+peresvet
+perfect1
+perfectexploiter
+perfecti
+perfection
+perfecto
+performa
+performance
+Performing
+pericles
+permanen
+permanent
+pernilla
+pernille
+peropero
+perpetua
+perry123
+persepho
+persephone
+pershing
+persimmon
+persona1
+personal
+personne
+pertinant
+peruperu
+peruvian
+pervasive
+pervert1
+perverts
+pescator
+petepete
+peter001
+peter123
+peterbil
+peterbilt
+peterbui
+peterburg
+petercar
+petergun
+peterman
+peternor
+peternorth
+peterose
+peterpan
+peterpeter
+petersen
+peterson
+petrenko
+petrosyan
+petrovich
+petrovna
+petrusha
+petrushka
+petticoa
+petticoat
+peugeot2
+peugeot406
+peyton18
+pfchfyrf
+pfchfytw
+pfeiffer
+pfhfnecnhf
+pflhjncndj
+pfnvtybt
+pfqwtd27121988
+pfqxjyjr
+pfqxtyjr
+pGsZT6Md
+phaedrus
+phantasm
+phantasy
+phantom1
+phantom2
+phantom3
+phantom7
+phantoms
+pharcyde
+pharmacy
+phatfarm
+pheasant
+phenmarr
+pheonix1
+Phezc419hV
+phialpha
+phil1234
+philadelphia
+philbert
+philemon
+philippe
+philippines
+philips1
+phillesh
+phillies
+phillip1
+phillipa
+phillips
+philmont
+philosop
+philosophy
+phish123
+phish420
+phishing
+phishman
+phoenix0
+phoenix1
+phoenix123
+phoenix2
+phoenix3
+phoenix5
+phoenix7
+phoenix8
+phoenix9
+phoneman
+photogra
+photography
+photoman
+photosho
+photoshop
+photowiz
+phreaker
+phydeaux
+physical
+pi314159
+piacenza
+pianoman
+piazza31
+pibzk431
+picapica
+picard01
+picard47
+picasso1
+piccolo1
+pickerin
+pickles1
+pickwick
+pictuers
+picture1
+pictures
+pie12345
+piedmont
+piehonkii
+piercing
+piggy15708
+piglet69
+pigtails
+pikachu1
+pikapika
+pike1868
+pike2012
+pilchard
+piledriv
+pilgrim1
+pilgrims
+piligrim
+pilipenko
+pilot123
+pilsbury
+pimpdadd
+pimpdaddy
+pimpdady
+pimpdogg
+pimphard
+pimpjuic
+pimpjuice
+pimppimp
+pimpshit
+pimpster
+pinarell
+pineappl
+pineapple
+pineapple1
+pinecone
+pinetree
+pinewood
+pingeye2
+pinggolf
+pingping
+pingpong
+pinguino
+pingzing
+pinheiro
+pinkerto
+pinkfloy
+pinkfloyd
+pinklady
+pinkmoon
+pinkpant
+pinkpink
+pinkpony
+pinkpuss
+pinkpussy
+pinkrose
+pinkslip
+pinky123
+pinnacle
+pinocchio
+pinoyako
+pioneer1
+pioneer5
+pioneers
+piotrek1
+pipefitt
+pipeline
+piPEUTVJ
+pipicaca
+pipopipo
+pippen33
+piramida
+piramide
+pirates1
+PIRRELLO
+pissflap
+pisshead
+pissonme
+pissword
+pistache
+pistons1
+pitbull1
+pitbulls
+pitcher1
+pitchers
+pitmans4
+pittbull
+pittsbur
+pittsburgh
+pitviper
+pivopivo
+pizda123
+pizza123
+pizzaboy
+pizzahut
+pizzaman
+pizzapie
+pjcgujrat
+PJFLkorK
+pjkmabhz
+pjsheridan
+placebo1
+placenta
+planet99
+planetar
+plankton
+planning
+planters
+plastic1
+plasticb
+plasticf
+plasticm
+plasticp
+plastics
+plat1num
+platform
+platinum
+platipus
+platonic
+platonov
+platypus
+play2win
+playball
+playboy1
+playboy2
+playboy3
+playboy6
+playboy8
+playboys
+player11
+player21
+player22
+player69
+playgirl
+playgolf
+playgrou
+playground
+playhard
+playhouse
+playlife
+playmate
+playoffs
+playplay
+playstat
+playstatio
+playstation
+playstation2
+playstation3
+playtime
+pleasant
+please12
+pleaseme
+pleasure
+plethora
+plextsofttm
+plhfdcndeq
+plhy6hql
+pljhjdmt
+plokijuh
+plokplok
+plopplop
+plumber1
+plumbing
+plumpers
+plumtree
+plutarch
+pluto123
+plymouth
+pmdmscts
+pmdmsctsk
+PMTGJnbL
+pocahontas
+pocomoke
+poderoso
+podiatry
+podstava
+podvinsev
+pogopogo
+pogosyan
+pointblank
+pointbreak
+pointers
+pointman
+poiu0987
+poiu1234
+poiulkjh
+poiupoiu
+poiuytre
+poiuytrew
+poiuytrewq
+pojke123
+pokemon00
+pokemon1
+pokemon12
+pokemon123
+pokemon2
+pokemon9
+pokemons
+poker123
+pokerface
+pokerman
+pokesmot
+pokopoko
+pol123456
+polanski
+polarbea
+polarbear
+polaris1
+polaris2
+polaroid
+polecatt
+polepole
+police22
+policema
+policeman
+polina2005
+polina2008
+polina2009
+polino4ka
+polipoli
+politica
+politics
+politika
+polkadot
+polkaudi
+polkaudio
+polkovnik
+polkpolk
+polly123
+polniypizdec0211
+PolniyPizdec1102
+polniypizdec110211
+polo1234
+polonais
+polopolo
+polopolo09
+polosport
+polpetta
+polpolpol
+polyakov
+polyakova
+pomapoma
+pomodoro
+pompeyfc
+pompiers
+pon32029
+pondscum
+pongpong
+ponomarenko
+ponomarev
+pontiac1
+ponygirl
+ponytail
+poochie1
+poochunk
+poohbear
+poohbear1
+poohpooh
+pookie11
+pookie69
+pookster
+pool6123
+poolpool
+poolside
+poontang
+poopdick
+poopface
+poophead
+pooppoop
+poopster
+poopypan
+poopypoo
+popapopa
+popcorn1
+popcorn2
+popcorns
+popochka
+popopopo
+poppy123
+poppydog
+popsicle
+poptart1
+poptarts
+porcupin
+porkchop
+porksoda
+porkypig
+porn1234
+porn4life
+pornclub
+pornking
+pornlove
+pornlover
+porno123
+pornogra
+pornografia
+pornographic
+pornography
+pornoman
+pornoporno
+pornosta
+pornostar
+pornpass
+pornporn
+pornsite
+pornstar
+porntube
+porol777
+porosenok
+porovoz123
+porpoise
+porridge
+porsche1
+porsche2
+porsche7
+porsche8
+porsche9
+porsche911
+porsches
+portable
+portfoli
+porthole
+portillo
+portishead
+portland
+portofin
+portrait
+portsmou
+portsmouth
+portugal
+portugue
+portvale
+poseidon
+positano
+position
+positive
+positivo
+positron
+possible
+postbank
+postcard
+postov10
+postov1000
+potapova
+potatoes
+potsmoke
+poulette
+pounding
+poupoune
+pourquoi
+power123
+power200
+power666
+powerade
+powerbal
+powerboo
+powerful
+powerhou
+powerlifting
+powermac
+powerman
+powermax
+powerof3
+powerpla
+powerplay
+powerpower
+powerpuf
+powerrangers
+powerstr
+pp00pp00
+Ppppppp1
+ppspankp
+pqNR67W5
+pr1ncess
+practice
+praetorian
+pragmati
+prasanna
+prashant
+pratap1245
+pratibha
+preacher
+preciosa
+precious
+precious1
+precisio
+precision
+predator
+predator1
+predators
+pregnant
+prelude1
+prelude2
+preludes
+premier1
+premiere
+premiumcash
+prentice
+presario
+prescott
+presence
+presents
+preserve
+presiden
+president
+presidente
+presidio
+pressman
+pressure
+prestige
+prestigio
+preston1
+pretende
+pretender
+pretoria
+prettybo
+prettyboy
+prettygi
+prettygirl
+pretzels
+prezident
+pricilla
+pridurok
+primaver
+primavera
+primetim
+primetime
+primetime21
+primrose
+prince10
+prince11
+prince12
+prince19
+prince55
+Princes1
+princesa
+princesit
+princess
+princess1
+princess12
+princess2
+princess3
+princessa
+princesse
+princeto
+princeton
+principa
+principe
+pringles
+printer1
+printers
+printing
+priority
+priscila
+priscill
+priscilla
+prisonbreak
+prisoner
+pristine
+private1
+private5
+privates
+privet123
+privetik
+priyanka
+probably
+problema
+problemas
+problems
+process1
+processor
+prodigy1
+producer
+producti
+ProductId20F
+production
+products
+profesor
+professi
+professional
+professo
+professor
+profiler
+profiles
+profound
+progamer
+proghouse
+programm
+programmer
+progress
+progressive
+project1
+projects
+prokopenko
+prokuror
+prolinea
+promethe
+prometheus
+promises
+promopas
+promote3
+promoter
+promotio
+propagan
+properties
+property
+prophecy
+prophet1
+prophet5
+prospect
+prosperity
+prospero
+prostaff
+prostock
+prostotak
+prostreet
+protecte
+protected
+protecti
+protection
+protocol
+protools
+prototyp
+prototype
+protozoa
+provence
+proverbs
+proverka
+providen
+providence
+provider
+providia
+providian
+provista
+prowler1
+prudence
+prufrock
+ps253535
+psiholog
+psw333333
+psychnau
+psychnaut1
+psycho72
+psycho78
+psycholo
+psychotic
+psylocke
+psytrance
+ptcruise
+ptfe3xxp
+ptybnxtvgbjy
+puavbill
+puckhead
+puckpuck
+pudding1
+puertori
+puertorico
+puffdadd
+puffdaddy
+puffpuff
+pufunga7782
+pugsley1
+puissant
+pullings
+pulpfict
+pulpfiction
+pumapuma
+pumpitup
+pumpkin1
+pumpkin2
+pumpkin9
+pumpkins
+punahele
+punisher
+punkpunk
+punkrawk
+punkrock
+punksnotdead
+punkstar
+punter12
+puppy123
+puppydog
+puppylov
+puppylove
+puravida
+purchase
+pureevil
+puregold
+purgator
+purple01
+purple11
+purple12
+purple13
+purple22
+purple69
+purple77
+purple99
+purplehaze
+pushistik
+pusspuss
+pussy101
+pussy123
+pussy420
+pussy4me
+pussyass
+pussybitch
+pussyboy
+pussycat
+pussydick
+pussyeat
+pussyeater
+pussyfuck
+pussygod
+pussyhole
+pussykat
+pussylic
+pussylick
+pussylicker
+pussylip
+pussylips
+pussylov
+pussylover
+pussyman
+pussypussy
+putamadre
+putangina
+puttputt
+pweepwee
+pxx3eftp
+pyfrjvcndf
+pyfrjvcndj
+pyramid1
+pyramid7
+pyramide
+pyramids
+q1111111
+q111111q
+q1205199333
+q123123123
+q123321q
+q1234567
+q12345678
+q123456789
+q1234567890
+q123456q
+q123q123
+q1819084
+q1q1q1q1
+q1q2q1q2
+q1q2q3q4
+q1q2q3q4q5
+q1q2q3q4q5q6
+q1w2e3r4
+q1w2e3r4t
+q1w2e3r4t5
+q1w2e3r4t5y
+q1w2e3r4t5y6
+q1w2e3r4t5y6u7
+q1w2e3r4t5y6u7i8
+q1w2e3r4t5y6u7i8o9p0
+q2w3e4r5
+q2w3e4r5t6
+q2w3e4r5t6y7
+q3538004
+q4946227
+q4n2Jdeh
+q80661658441
+q8zo8wzq
+qaqaqaqa
+qawsed123
+qawsedrf
+qawsedrftg
+qawsedrftgyh
+qaz12345
+qaz123456
+qaz123wsx
+qaz123wsx456
+qaz12wsx
+qaz1wsx2
+qaz1wsx2edc3
+qaz26101778
+qazedc123
+qazedctgb
+qazqaz123
+qazqazqaz
+qazse123
+qazsedcft
+qazwsx11
+qazwsx12
+qazwsx123
+qazwsx1234
+qazwsx12345
+qazwsx123456
+qazwsxed
+qazwsxedc
+qazwsxedc1
+qazwsxedc12
+qazwsxedc123
+qazwsxedcrf
+qazwsxedcrfv
+qazwsxedcrfvtgb
+qazwsxqazwsx
+qazxcdew
+qazxcdews
+qazxcvbn
+qazxcvbnm
+qazxqazx
+qazxsw12
+qazxsw123
+qazxsw21
+qazxsw22
+qazxswed
+qazxswedc
+qazxswedc123
+qazxswedcvfr
+qcmfd454
+QcxdW8RY
+qlVVcvDeeRo
+qMEzrXG4
+QmPq39zR
+qpful542
+qpwoeiru
+qpwoeiruty
+Qq123321
+qq123456
+qq123456789
+qqq12345
+qqqq1111
+qqqqqqq1
+qqqqwwww
+qqqwwweee
+qqww1122
+qqwweerr
+qrg7t8rhqy
+qsdfghjk
+qsefthuko
+quackers
+quackqua
+quagmire
+qualcomm
+quality1
+quant430
+quant4307
+quant4307s
+quantum1
+quarantine
+quaresma
+quarters
+quasimod
+quattro6
+queenas8151
+queenbee
+queequeg
+question
+quicksan
+quicksand
+quicksil
+quicksilver
+quietkey
+quietman
+quiksilv
+quiksilver
+quincunx
+quintain
+quintana
+quixotic
+quovadis
+qvjdjxrf
+qw123456
+qw12er34
+qw12er34ty56
+qw12qw12
+qwasqwas
+qwaszx11
+qwaszx12
+qwaszx123
+qwaszxedc
+qwaszxerdfcv
+qwaszxqw
+qwaszxqwaszx
+qwe123321
+qwe123456
+Qwe1234567
+qwe123asd
+qwe123qwe
+qwe123qwe123
+qwe123rty
+qweasd12
+qweasd123
+qweasdqwe
+qweasdzx
+qweasdzxc
+qweasdzxc1
+qweasdzxc12
+qweasdzxc123
+qwedcxza
+qwedcxzas
+qwedsazxc
+qweqwe12
+qweqwe123
+qweqweqw
+qweqweqwe
+qwer1209
+qwer1234
+qwer12345
+qwer4321
+qwerasdf
+qwerasdfzxcv
+qwerasdzx
+qwerfdsa
+qwerpoiu
+qwerqwer
+qwerrewq
+qwert123
+qwert1234
+qwert12345
+qwert54321
+qwertasd
+qwertasdfg
+qwertasdfgzxcvb
+qwertgfdsa
+qwertqwert
+qwerttrewq
+qwerty00
+qwerty01
+Qwerty02
+qwerty09
+qwerty10
+qwerty100
+qwerty11
+qwerty111
+qwerty12
+qwerty123
+qwerty123321
+qwerty1234
+qwerty12345
+qwerty123456
+qwerty123456789
+qwerty13
+qwerty14
+qwerty17
+qwerty18
+qwerty19
+qwerty1992
+qwerty1993
+qwerty2000
+qwerty2010
+qwerty21
+qwerty22
+qwerty23
+qwerty32
+qwerty321
+qwerty33
+qwerty54321
+qwerty55
+qwerty555
+qwerty56
+qwerty65
+qwerty66
+qwerty666
+qwerty69
+qwerty72
+qwerty76
+qwerty77
+qwerty777
+qwerty78
+qwerty789
+qwerty84
+qwerty88
+qwerty89
+qwerty96
+qwerty99
+qwerty999
+qwertyas
+qwertyasd
+qwertyasdf
+qwertyasdfg
+qwertyasdfgh
+qwertyqwerty
+qwertyu1
+qwertyu123
+qwertyu8
+qwertyui
+qwertyui1
+qwertyuio
+qwertyuiop
+qwertyuiop1
+qwertyuiop10
+qwertyuiop12
+qwertyuiop123
+qwertyuiop12345
+qwertyuiop123456789
+qwertyuiopasdfg
+qwertyuiopasdfgh
+qwertyuiopasdfghjkl
+qwertyytrewq
+qwertzui
+qwertzuio
+qwertzuiop
+qwerzxcv
+qwest123
+qwqw1212
+qwqwqwqw
+qwqwqwqwqw
+qwsaqwsa
+qzwxecrv
+r0ckstar
+r1234567
+r2d2c3p0
+r2d2c3po
+r2d2r2d2
+r2u1s1h2
+r3ady41t
+r3r3vi3wacc3ss
+R3Vi3Wpass
+r4e3w2q1
+r5t6y7u8
+rabbit12
+rabbit13
+rabbit66
+rabbit69
+rabbit99
+racecar02
+racecar1
+racecars
+rachael1
+rachel01
+rachel12
+rachel69
+rachel99
+rachelle
+radagast
+radar123
+radiance
+radiatio
+radiation
+radiator
+radical1
+radio123
+radiohea
+radiohead
+radiolog
+radioman
+radisson
+raffaele
+raffaello
+rafferty
+ragerage
+ragnarok
+rahul123
+raider12
+raiders0
+raiders1
+raiders2
+raiders3
+raiders4
+raiders7
+raiders8
+raiders9
+raikkonen
+railroad
+rainbird
+rainbow1
+rainbow2
+rainbow5
+rainbow6
+rainbow7
+rainbow9
+rainbows
+rainbowsix
+raincoat
+raindrop
+rainfall
+rainforest
+rainier1
+rainking
+rainmake
+rainmaker
+rainman1
+rainrain
+raintree
+rainyday
+raistlin
+rajendra
+rajkumar
+rakastan
+rakkasan
+raleigh1
+ralliart
+rallyman
+ramarama
+rambler1
+ramblers
+rambling
+rambo123
+ramcharg
+rammramm
+rammstei
+rammstein
+rammstein1
+ramones1
+ramstein
+ramtough
+ramtruck
+ranchero
+randall1
+randolph
+random123
+randrand
+randyman
+ranger01
+ranger02
+ranger10
+ranger11
+ranger12
+ranger13
+ranger19
+ranger21
+ranger22
+ranger23
+ranger32
+ranger66
+ranger69
+ranger75
+ranger82
+ranger97
+ranger98
+ranger99
+rangerov
+rangerover
+rangers1
+rangers2
+rangers9
+rangersf
+rangersz
+ranxerox
+raptor01
+raptor22
+raptors1
+rapunzel
+rasberry
+rasengan
+rashid12
+rashley198
+raspberr
+raspberry
+rasputin
+rassilon
+rasta220
+rastafar
+rastafari
+rastaman
+ratchet1
+rathbone
+rational
+rattlers
+rattlesn
+rattlesnake
+Rattolo58
+rattrace
+raul2000
+raven123
+raven666
+ravenlof
+ravenous
+ravinder
+rawiswar
+rayallen
+raymond1
+raytheon
+razdvatri
+razor123
+razorbac
+razorblade
+razvedka
+rb26dett
+rbcjymrf
+rbckjhjl
+rbrbvjhf
+rdfhnbhf
+rdgpL3Ds
+rdpcfgex
+rdq5Ww4x
+reaccount
+reaction
+reading1
+readread
+ready2go
+readynow
+realdeal
+realesta
+realgood
+realhard
+reality3
+reality5
+reallove
+realmadr
+realmadri
+realmadrid
+realtime
+realtor1
+realtree
+reanimator
+rebbecca
+rebbyt34
+rebecca1
+rebecca2
+rebecca3
+rebecca9
+rebelins
+rebellio
+rebellion
+receiver
+recently
+reckless
+recliner
+recorder
+recovery
+recruiter
+red12345
+red456344
+Red7Stork
+redalert
+redapple
+redbarch
+redbaron
+redbeard
+redbird1
+redbirds
+redbrick
+redbull1
+redcar27
+redcloud
+redcross
+reddevil
+reddevils
+reddrago
+reddragon
+reddwarf
+redeemed
+redeemer
+redemption
+redfield
+redfish1
+redgrave
+redgreen
+redhat50
+redhat500
+redhat91
+redhawks
+redhead1
+redheads
+redheart
+redhorse
+redhouse
+redknapp
+redlabel
+redlands
+redlight
+redline1
+redlover
+redneck1
+rednecks
+rednight
+redoctob
+redpoint
+redqueen
+redrange
+redredre
+redredred
+redrider
+redriver
+redrobin
+redrocke
+redrocks
+redroses
+redrover
+redryder
+redseven
+redshift
+redshirt
+redshoes
+redskin1
+redskins
+redskins1
+redsox01
+redsox04
+redsox11
+redsox12
+redsox19
+redsox20
+redsox21
+redsox24
+redsox34
+redsox99
+redstone
+redstorm
+redtiger
+redtruck
+redvette
+redwhite
+redwing1
+redwings
+redwings1
+redwood1
+redwoods
+referenc
+refinnej
+reggie12
+reggie31
+regiment
+reginald
+regional
+register
+registration
+reglisse
+regulate
+rehjgfnrf
+reindeer
+reinhard
+reinhold
+rekbrjdf
+rekmubyf
+relative
+relaxweb
+relentless
+reliable
+reliance
+religion
+reloaded
+rembrand
+rembrandt
+remedios
+remember
+remingto
+remington
+rendezvous
+renee123
+renegade
+renfield
+repeat99
+repmvbyf
+repmvtyrj
+reporter
+reptiles
+reptymrf
+republic
+repvtyrj
+repytwjd
+repytwjdf
+repytxbr
+required
+rerehepf
+rererere
+rerfhfxf
+rerfhtre
+rerhsybrcs
+research
+research1
+reserved
+reset123
+resident
+residentevil
+resistance
+resolute
+resource
+resources
+response
+respublika
+restart1
+restaura
+restless
+restrict
+retarded
+retired1
+retraite
+retribution
+retrieve
+retriver
+retry123
+retupmoc
+revelati
+revelation
+revenant
+revenge1
+reverend
+review00
+review69
+review99
+reviewer
+reviewme
+reviewpa
+reviewpass
+revival47
+revoluti
+revolution
+revolver
+rewq1234
+reymisterio
+reymysterio
+reynaldo
+reynolds
+rfcgthcrbq
+rfgbnjirf
+rfgecnfcerf
+rfgexbyj
+rfgtkmrf
+rfhbyjxrf
+rfhectkm
+rfhfntkm
+rfhfrfnbwf
+rfhfufylf
+rfhfvtkm
+rfhfvtkmrf
+rfhfylfi
+rfhfynby
+rfhjkbyf
+rfhlbyfk
+rfhlbyfk1
+rfhnjirf
+rfhvfyftd
+rfkbajhybz
+rfkbybyf
+rfkbybyuhfl
+rfkfiybrjd
+rfkmrekznjh
+rfktylfhm
+rfltncndj
+rfnfcnhjaf
+rfnfgekmnf
+rfnfhbyf
+rfnthbyf
+Rfnthbyf1988
+rfnthbyjxrf
+rfnthbyrf
+rfntymrf
+rfnz2010
+rfnzrfnz
+rfpfrjdf
+rfpfyjdf
+rfpfynbg
+rfrfirf123
+rfrfitxrf
+rfrfrfrf
+rfvbrflpt
+rfvfcenhf
+rfvtgbyhn
+rfvxfnrf
+rfybreks
+rfycthdf
+rhapsody
+rhbcnbyf
+rhbcnbyf123
+rhbcnbyjxrf
+rhbcnbyrf
+rhbdtnrf
+RHbzxTGJ
+rhfcbdfz
+rhfcfdbwf
+rhfcfdxbr
+rhfcjnrf
+rhfcyjlfh
+rhfcyjzhcr
+rhfdxtyrj
+rhfvfnjhcr
+rhiannon
+rhind101
+rhjrjlbk
+rhodesia
+rhtdtlrj
+rhtdtnrb
+rhtdtnrf
+rhtgjcnm
+rhtyltkm
+ricardit
+ricardo1
+riccardo
+ricflair
+richard0
+richard1
+richard2
+richard3
+richard4
+richard7
+richard8
+richard9
+richardb
+richardc
+richardl
+richardo
+richardp
+richardr
+richards
+richardson
+richelle
+richieri
+richland
+richmond
+richrich
+rickjame
+rickover
+rickrick
+rickshaw
+rickslic
+rickster
+ricochet
+ricorico
+ridcully
+ridehard
+ridgebac
+ridgeway
+riesling
+rietriet
+riffraff
+rifleman
+rightnow
+rikimaru
+rikitikitavi
+rileydog
+rincewin
+rincewind
+ringbuch
+ringding
+ringmast
+ringo123
+ringring
+ringwood
+rintintin
+riobravo
+riogrand
+ripken08
+ripper69
+riptide1
+risolvop
+ritarita
+rivendel
+river123
+riverman
+riverplate
+riverrat
+riversid
+riverside
+rjcnhjvf
+rjcntyrj
+rjcvjyfdn
+rjcvtnbxrf
+rjdfkmxer
+rjdfktdf
+rjdfktyrj
+rjhjdf777
+rjhjkmbien
+rjhjktdf
+rjirfrgbde
+rjkjrjkmxbr
+rjktymrf
+rjntyjxtr
+rjpkjljq
+rjrfrjkf
+rjvfhjdf
+rjyatnrf
+rjycnbnewbz
+rjycnfynby
+rjyjdfkjdf
+rjynhjkm
+rjytwcdtnf
+rkbvtyrj
+rkfccbrf
+rkfdbfnehf
+rktjgfnhf
+rlzwp503
+rmracing
+roaddogg
+roadkill
+roadking
+roadrace
+roadrage
+roadrash
+roadrunn
+roadrunner
+roadstar
+roadster
+roadtrip
+roberson
+robert00
+robert01
+robert10
+robert11
+robert12
+robert123
+robert17
+robert19
+robert22
+robert23
+robert24
+robert69
+robert71
+robert99
+roberta1
+roberto1
+robertos
+roberts1
+roberts2
+robertso
+robertson
+robin123
+robinhoo
+robinhood
+robinson
+robotech
+robotics
+robotron
+robvandam
+rocawear
+rochdale
+rochelle
+rocheste
+rochester
+rocinant
+rock1234
+rockandr
+rockandroll
+rockbott
+rockbottom
+rockcity
+rocket12
+rocket21
+rocket22
+rocket69
+rocket88
+rocketma
+rocketman
+rockets1
+rockfish
+rockford
+rockhard
+rockhead
+rockhill
+rockhopper
+rockies1
+rockland
+rocknrol
+rocknroll
+rockohamster
+rockport
+rockrock
+rockroll
+rocksalt
+rockshox
+rockstar
+rockstar1
+rockster
+rockwell
+rockwood
+rocky123
+rockyboy
+rockydog
+rockyone
+rockytop
+roderick
+rodionov
+rodman91
+rodrigue
+rodriguez
+RoFemyA3
+roflcopter
+roflrofl
+roger123
+roleplay
+roller45
+rollover
+rollrock
+rolltide
+rolltide1
+roma1234
+roma1990
+roma1993
+roma1995
+roma1996
+roma1997
+roma2000
+roma2010
+roman123
+roman1994
+roman222
+roman777
+romance1
+romanenko
+romanova
+romanroman
+romanson
+romantic
+romantica
+romantik
+romantika
+romaroma
+romashka
+romeo123
+romochka
+ronaldin
+ronaldinho
+ronaldinho10
+ronaldo1
+ronaldo123
+ronaldo7
+ronaldo9
+ronaldo99
+ronjeremy
+roodypoo
+rooney10
+roosevel
+rooster1
+rooster2
+roosters
+rootbeer
+rootedit
+rootroot
+rosaleen
+rosalina
+rosalind
+rosalita
+rosamari
+rosarosa
+rosco2008
+roscoe12
+roseanne
+rosebowl
+rosebud1
+rosebud7
+rosebudd
+rosebuds
+rosebush
+rosedale
+rosehill
+roseline
+rosemari
+rosemarie
+rosemary
+rosemont
+rosenrot
+roserose
+rosewood
+rosie123
+rosiedog
+roskilde
+rossella
+rossigno
+rossignol
+rostislav
+roswell1
+rothmans
+rotterda
+rotterdam
+rottweil
+rottweiler
+roughrid
+roughsex
+roulette
+rounders
+rousseau
+route666
+rover123
+rovnogod
+roxanne1
+roxyroxy
+royhobbs
+royjones
+roykeane
+Rrrrrrr1
+rsalinas
+RT3460014
+rt6YTERE
+rtvthjdj
+rtyu4567
+rubberdu
+rubberduck
+rubyrose
+rubyruby
+rudyrudy
+ruffneck
+ruffruff
+ruffryde
+ruffryders
+rugby123
+rugbyman
+ruger9mm
+ruggiero
+rulesyou
+runamuck
+runescape
+runescape1
+runescape123
+runner12
+running1
+rush2112
+rushhour
+rushmore
+rushrush
+ruslan123
+ruslan4ik
+russell1
+russell2
+russell7
+russells
+russian1
+Russian6
+Russian7
+russians
+russland
+rusty123
+rustyboy
+rustydog
+rutabaga
+rutabega
+rutherfo
+ruthless
+ruthruth
+rutledge
+RvGMw2gL
+ryan2000
+ryanryan
+ryebread
+ryjgjxrf
+Rz93qPmQ
+s1234567
+s12345678
+s123456789
+s123456s
+s1s2s3s4
+s456123789
+S4xnHsdN
+s5r8ed67s
+s7777777
+s7fhs127
+s9te949f
+saab9000
+saab900s
+saabsaab
+saadmcfg
+saadmweb
+saavedra
+sabasaba
+sabbath1
+sabotage
+sabrina1
+sabrina2
+sacoremsg
+sacramen
+sacramento
+sacrific
+sacrifice
+sadamaza
+sadattim
+saddlers
+sadie123
+sadiedog
+sadiemae
+sadomaso
+sadsadsad
+sadvceid
+safeu851
+saffrejo
+safrcdlg
+safronova
+sagitari
+sagitario
+sagitarius
+sagittarius
+sahtm004
+sahtm038
+sahtm039
+sahtm045
+sahtm053
+sahtm056
+sahtm069
+sahtm080
+sahtm082
+sahtm084
+sahtm093
+sahtm094
+sahtm101
+sahtm102
+sahtm112
+sahtm131
+sailaway
+sailboat
+sailfish
+sailing1
+sailormo
+sailormoon
+saisg002
+saiyajin
+salamanc
+salamand
+salamander
+salamandra
+salasana
+salesman
+salinger
+salisbur
+sally123
+sallyann
+sallydog
+salmankhan
+salocaluimsg
+salohcin
+salomon1
+salomon45
+salosalo
+saltanat
+saltlake
+saltwate
+saltwater
+saltydog
+salvador
+salvatio
+salvation
+salvator
+salvatore
+salzburg
+sam12345
+sam138989
+samadams
+Samanth1
+samantha
+samantha1
+samantha2
+samara63
+samarkand
+samatron
+samesame
+sammie01
+sammilly
+sammy111
+sammy123
+sammyboy
+sammycat
+sammydog
+sammysam
+sammysos
+sampdoria
+sampson1
+samson01
+samson12
+samsung1
+samsung12
+samsung123
+samsung2
+samsung5
+samsung9
+samsungs5230
+samtheman
+samuel01
+samuel11
+samuel12
+samuel123
+samurai1
+samurai7
+samuraix
+samusara
+sanandreas
+sananton
+sanchez1
+sanction
+sanctuar
+sanctuary
+sandberg
+sandburg
+sanders1
+sanders2
+sanderso
+sanderson
+sandhill
+sandi1172
+sandiego
+sandman1
+sandman2
+sandman7
+sandmann
+sandokan
+sandoval
+sandpipe
+sandra11
+sandra12
+sandra123
+sandra13
+sandra69
+sandrine
+sandrita
+sandrock
+sandusky
+sandwich
+sandy123
+Sandy2562
+sandydog
+sanek123
+sanfrancisco
+sangeeta
+sanguine
+sanity72
+sanity729
+sanman72
+sanmarco
+sanpedro
+sanskrit
+santa234
+santacla
+santaclaus
+santacru
+santacruz
+santafe1
+santaklaus
+santamaria
+santana1
+santana5
+santande
+santander
+santaros
+santeria
+santhosh
+santiago
+santiago1
+santorin
+santorini
+saopaulo
+sapphira
+sapphire
+saqartvelo
+sara1234
+sarah123
+sarahann
+sarahjan
+sarahjane
+sarajane
+sarajevo
+sarakawa
+sarasara
+sarasota
+saratoga
+saravana
+sardegna
+sargeant
+sargsyan
+sasa123321
+sasafras
+sasasasa
+sasasasasa
+sasha007
+sasha111
+sasha123
+sasha1234
+sasha12345
+sasha1985
+sasha1987
+sasha1988
+sasha1990
+sasha1991
+sasha1992
+sasha1993
+sasha1994
+sasha1995
+sasha1996
+sasha1997
+sasha1998
+sasha1999
+sasha2000
+sasha2002
+sasha2003
+sasha2010
+sasha2011
+sasha666
+sasha777
+sashadog
+sashasasha
+sasha_007
+sashenka
+sasitare
+saskatoo
+sasquatc
+sasquatch
+sassy123
+sassycat
+sassydog
+sasuke12
+sasuke123
+sat321321
+satan666
+satana666
+Sataniv1993
+satchel1
+satelite
+satellit
+satellite
+satisfaction
+satriani
+satriani8
+saturday
+saturn69
+saturn96
+saturnin
+saturnsl
+SaUn24865709
+saunders
+sausage1
+sausages
+savannah
+savannah1
+savatage
+savchenko
+save13tx
+sawasawa
+sawblade
+sawtooth
+saxophon
+saxophone
+sayangku
+sayonara
+sbcgloba
+sc0tland
+scaffold
+scammell
+scamper1
+scandinavian
+scanner1
+scanners
+scarecro
+scarecrow
+scarface
+scarface1
+scarlet1
+scarlet2
+scarlets
+scarlett
+scavenger
+schaefer
+schalke0
+schalke04
+schastie
+schecter
+schedule
+scheisse
+schenker
+schiffer
+schilder
+schiller
+schillin
+schlampe
+schlange
+schlumpf
+schmidt1
+schmidty
+schnapps
+schnecke
+schneide
+schneider
+schnitze
+schnitzel
+schnucki
+schnuffe
+schnuffi
+schnulli
+school12
+schoolgirlie
+schooner
+schorsch
+schreibe
+schroede
+schroeder
+schubert
+schultz1
+schumach
+schumacher
+schumann
+schuster
+schuyler
+schwartz
+schweden
+science1
+scimitar
+scirocco
+scissors
+sclgntfy
+scofield
+scoobnot
+scooby11
+scooby12
+scooby22
+scooby69
+scoobydo
+scoobydoo
+scooter1
+scooter2
+scooter3
+scooter5
+scooter6
+scooter7
+scooter8
+scooter9
+scooterb
+scooters
+scorcher
+scorelan
+scoreland
+scoremag
+scorpian
+scorpio1
+scorpio2
+scorpio3
+scorpio4
+scorpio6
+scorpio7
+scorpion
+scorpions
+scorpius
+scorsese
+scotland
+scotsman
+scott123
+scottie1
+scottish
+scottsda
+scoubidou
+scoubidou2
+scoubidou6
+scoutdog
+scouting
+scoutsou
+scrabble
+scramble
+scranton
+scrapland
+scrapper
+scrapple
+scrappy1
+scratch1
+scratchman
+scratchy
+screamer
+screamin
+screwbal
+screwball
+screwyou
+scribble
+scrubber
+scruffy1
+scruffy2
+scuba123
+scubadiv
+scubadiver
+scubaman
+scubapro
+scuderia
+scurlock
+sD3Lpgdr
+sD3utRE7
+sdfghjkl
+sdfsdfsd
+sdfsdfsdf
+sdh686drth
+sdicmt7seytn
+sdsadEE23
+sdsdsdsd
+seabass1
+seabrook
+seacrest
+seadoo96
+seagrams
+seagrave
+seagulls
+seahawks
+seahorse
+sealteam
+seamaste
+seamless
+seanjohn
+seansean
+seaquest
+searcher
+searchin
+searching
+searock6
+seashell
+seashore
+seaside1
+seatleon
+seattle1
+seattle2
+seattle7
+seaworld
+sebastia
+sebastian
+sebastian1
+sebastie
+sebastien
+sebora64
+sebring1
+secbasic
+secret00
+secret12
+secret123
+secret69
+secret99
+secretar
+section8
+security
+security1
+seductive
+seedless
+seeitnow
+seemnemaailm
+segasega
+segblue2
+sehnsucht
+seinfeld
+sekirarr
+sektorgaza
+selacome
+selassie
+selector
+selfmade
+selfok2013
+selhurst
+semenova
+seminole
+seminoles
+semperfi
+semperfi1
+semprini
+senator1
+senators
+senha123
+seniseviyor
+senorita
+sensatio
+sensation
+sensible
+sensitiv
+sentinal
+sentinel
+seo21SAAfd23
+sephirot
+sephiroth
+septembe
+september
+septembr
+septiembr
+septimus
+sepultur
+sepultura
+sequence
+serafima
+serafina
+seraphim
+serega123
+serega88
+serenada
+serenade
+serendip
+serendipity
+serenity
+serg123111
+sergbest
+sergeant
+sergeeva
+sergeevich
+sergeevna
+sergey12
+sergey123
+sergey2010
+serggalant
+sergserg
+serious1
+serpent1
+sersolution
+servers1
+servette
+Service01
+service1
+service321
+services
+sessions
+sethanon
+settings
+settlers
+SetupENU2
+sevastopol
+seven777
+sevendus
+sevendust
+sevenof9
+seventee
+seventeen
+seventy7
+severian
+severine
+sevilia1
+sevisgur
+sex12345
+sex4ever
+sex4free
+sexaddict
+sexdrive
+sexesexe
+sexfiend
+sexforme
+sexfreak
+sexiness
+sexisfun
+sexisgood
+sexkitte
+sexkitten
+sexlover
+sexmachi
+sexmachine
+sexmania
+sexosexo
+sexpistols
+sexrocks
+sexsells
+sexsexse
+sexsexsex
+sexsites
+sexslave
+sexstuff
+sexxxxxx
+sexy1234
+sexy2000
+sexybabe
+sexybaby
+sexybeas
+sexybeast
+sexybitc
+sexybitch
+sexybody
+sexyboys
+sexybutt
+sexyfeet
+sexygirl
+sexygirls
+sexygurl
+sexylady
+sexylegs
+sexylove
+sexymama
+sexypass
+Sexyred1
+sexyrexy
+sexysara
+sexysexy
+sexyslut
+sexystud
+sexytime
+sexywife
+sfetish1
+sfgiants
+sfhj5484fgh
+sgEGuKBM
+sh1thead
+sh4d0w3d
+shadow00
+shadow01
+shadow10
+shadow11
+shadow12
+shadow1212
+shadow123
+shadow13
+shadow14
+shadow19
+shadow20
+shadow21
+shadow22
+shadow69
+shadow77
+shadow88
+shadow98
+shadow99
+shadowfa
+shadowfax
+shadowma
+shadowman
+shadowru
+shadowrun
+shadows1
+shadrach
+shadrack
+shadwell
+shagadel
+shagwell
+shahrukh
+shakazul
+shakeela
+shakespe
+shakespeare
+shalimar
+shalom18
+shamanking
+shambala
+shambles
+shameles
+shameless
+shampoo1
+shamrock
+shanahan
+shane123
+shanelle
+shaney14
+shanghai
+shannara
+shannon1
+shannon2
+shannon5
+shannon7
+shannon9
+shantell
+shaolin1
+shaquill
+sharinga
+sharingan
+sharipov
+sharkbit
+sharkboy
+sharkman
+sharlene
+sharmila
+sharon12
+sharon69
+sharpie1
+shashank
+shawarma
+shawn123
+shawshan
+shayshay
+shdwlnds
+shearer9
+shebadog
+shedevil
+sheepdog
+sheffiel
+sheffield
+sheffwed
+shekinah
+shelby01
+shelbygt
+sheldon1
+shelley1
+shellfis
+shelly12
+shemales
+shenlong
+shepherd
+sheppard
+sheraton
+sherbert
+sheridan
+sherlock
+sherman1
+sherwood
+shetland
+shevchenko
+shibainu
+shikamaru
+shilling
+shimsham
+shinchan
+shinebox
+shinichi
+shinigam
+shinigami
+shinjuku
+shinning
+shipmate
+shipping
+shippuden
+shipyard
+shirley1
+shit1234
+shitball
+shitbird
+shitbrick
+shitface
+shitfire
+shitfuck
+shithapp
+shithappens
+Shithea1
+shithead
+shithead1
+shithole
+shitshit
+Shock123
+shocker1
+shockers
+shocking
+shockwav
+shockwave
+shoehorn
+shoelace
+shoeless
+shokolad
+shooter1
+shooter2
+shooter9
+shooters
+shooting
+shootist
+shopmenu
+shopping
+shopping1
+shorelin
+shorinji
+shortcake
+shortcut
+shortdog
+shortman
+shortsto
+shoshana
+shoshone
+shotgun1
+shotgunn
+shotguns
+shotokan
+shoulder
+showboat
+showcase
+showdown
+showgirl
+showmethemoney
+showtime
+shredder
+shrestha
+shrike01
+shrugged
+shumaher
+shuriken
+shutdown
+shygirl1
+sibelius
+siberian
+siccmade
+sicilian
+sickfuck
+sickness
+siddartha
+siddhart
+sideburn
+sidekick
+sideshow
+sidewalk
+sideways
+sidewind
+sidewinder
+sidorova
+siegfrie
+siegheil
+siemens1
+sierra01
+sierra12
+siffredi
+sigmachi
+signatur
+signature
+sigsauer
+sikorsky
+silence1
+silencer
+silencio
+silentbo
+silenthill
+silentium
+silicone
+Silkeborg
+silkroad
+sillybil
+sillyboy
+sillyman
+silmaril
+silmarillion
+silveira
+silver01
+silver10
+silver11
+silver12
+silver123
+silver21
+silver22
+silver23
+silver33
+silver66
+silver69
+silver77
+silver99
+silverad
+silverado
+silverbe
+silverbi
+silverch
+silverdo
+silverfi
+silverfo
+silverfox
+silvergo
+silverha
+silveria
+silverki
+silverma
+silvermo
+silvermoon
+silversi
+silverst
+silverstar
+silverstone
+silvestr
+simba123
+simbacat
+simbadog
+simferopol
+simmons1
+simon123
+simoncat
+simonova
+simonsay
+simonsays
+simple12
+simpleplan
+simpson1
+simpson2
+simpsons
+simulator
+sinatra1
+sinclair
+sinfonia
+singapor
+singapore
+singapur
+singsing
+singular
+sinilill
+sinister
+sinnfein
+sintesi07
+siouxsie
+sisko197
+sissdem5
+sissinit
+sissy123
+sissyboy
+sisyphus
+sitepass
+sithlord
+siunga12
+sixflags
+sixpence
+sixsixsix
+sixstrin
+sixtynin
+sixtynine
+sixtysix
+sizemore
+sizinici
+sk84life
+sk8board
+sk8ordie
+skarlett
+skate123
+skateboa
+skateboard
+skateboarding
+skateordie
+skater12
+skeeter1
+skeeter2
+skeleton
+skeletor
+skidmark
+skidmore
+skindeep
+skinhead
+skinnass
+skinner1
+skipjack
+skipper1
+skipping
+skippy11
+skittles
+skorpion
+skorpion39
+skubrick
+skyblues
+skydive1
+skydiver
+skyeseth
+skylight
+skyline1
+skyline3
+skylinegtr
+skyliner
+skyliner34
+skypilot
+skyrider
+skytommy
+skywalk1
+skywalke
+skywalker
+skywalker1
+slacker1
+slackers
+slacking
+sladkaya
+Slagelse
+slainte6
+slamdunk
+slammer1
+slamming
+slamslam
+slap2000
+slaphead
+slapnuts
+slapnutz
+slappers
+slapshot
+slastena
+slava123
+slaveboy
+slayer123
+slayer66
+slayer666
+slayer69
+slayers1
+sledhead
+sleeper1
+sleepers
+sleeping
+sleepyhollow
+sleipnir
+slick123
+slickdog
+slickone
+slickric
+slickrick
+slickster
+slimed123
+slimfast
+slimjim1
+slimline
+slimshad
+slimshady
+slingsho
+slipknot
+slipknot1
+slipknot123
+slipknot66
+slipknot666
+slipper1
+slippers
+slippery
+sllottery
+sloneczko
+slonopotam
+slot2009
+slothrop
+slovakia
+slovenija
+slowhand
+slowpoke
+slowride
+slugfest
+slushslush
+slutfuck
+slutgirl
+slutpupp
+slutslut
+slutwife
+sm4llvil
+sm4llville
+smackdow
+smackdown
+smalldog
+smallfry
+smallman
+smallone
+smalltit
+smallvil
+smallvill
+smallville
+smartass
+smartguy
+smarties
+SmartNav
+smartone
+smashing
+smeghead
+smellyfe
+smeshariki
+smile101
+smile123
+smile4me
+smirnoff
+smirnova
+smith123
+smithers
+smithson
+smoke123
+smoke420
+smokedog
+smokeone
+smokepot
+smokewee
+smokeweed
+smokey01
+smokey12
+smokey22
+smokey69
+Smokie1994
+smoking2
+smolensk
+smooches
+smoochie
+smooth15
+smoothie
+smuggler
+smuggles
+smurfett
+smutsmut
+smxx5333
+snake123
+snake666
+snakebit
+snakeeye
+snakeeyes
+snakeman
+snakepit
+snakeyes
+snapdrag
+snapper1
+snappers
+snapple1
+snapscan
+snapshot
+sneakers
+snegovik
+snejinka
+snh4life
+snickers
+snickers1
+sniffing
+sniffles
+sniffpol
+sniper01
+sniper12
+sniper123
+snoogans
+snoogins
+snookums
+snoop123
+snoopdog
+snoopdogg
+snoopy01
+snoopy12
+snoopy123
+snoopy25
+snoopy69
+snoopy77
+snoopydo
+snotball
+snowball
+snowball1
+snowbird
+snowboar
+snowboard
+snowdrop
+snowfall
+snowflak
+snowflake
+snowhite
+snowman1
+snowman2
+snowmass
+snowshoe
+snowsnow
+snowstor
+snowwhit
+snowwhite
+snuffles
+snuggles
+snuggles1
+SNUISUBU
+snusmumrik
+soboleva
+sobriety
+soccer01
+soccer03
+soccer05
+soccer08
+soccer09
+soccer10
+soccer11
+soccer12
+soccer123
+soccer13
+soccer14
+soccer15
+soccer16
+soccer17
+soccer18
+soccer19
+soccer20
+soccer21
+soccer22
+soccer23
+soccer33
+soccer69
+soccer77
+soccer88
+soccer99
+soccerba
+sochi2014
+socklint
+socrates
+sofaking
+sofia2010
+softball
+softball1
+softcore
+softtail
+software
+Sojdlg123aljg
+sokolova
+sokrates
+soldier1
+soldiers
+soledad32
+solidsna
+solidsnake
+solitair
+solitari
+solitario
+solitude
+solly735
+solnishko
+solniwko
+solnushko
+solnyshko
+soloflex
+solomon1
+solosolo
+solrac11
+solstice
+solution
+solutions
+sombrero
+somebody
+someone1
+somerset
+somethin
+something
+something1
+sometime
+sometimes
+sommer68
+sondheim
+sonechka
+sonechko
+songbird
+songline
+songohan
+sonic123
+sonic593
+sonnensc
+sonnenschein
+sonnyboy
+sonofgod
+sonofsam
+sonshine
+sony1234
+sonyericsson
+sonyfuck
+sonysony
+sonyvaio
+sooners1
+sophie01
+sophie11
+sophie12
+sophieh6
+sopranos
+sorcerer
+sordfish
+soreilly
+sorensen
+sorokina
+sorpresa
+sorrento
+Soso123aljg
+Soso123bbb
+Soso12eec
+sosososo
+souleater
+souledge
+soulfood
+soulmate
+soultake
+soundman
+soundwav
+soupnazi
+souschef
+southamp
+southampton
+southbay
+southbea
+southend
+southern
+southman
+southpar
+southpark
+southpaw
+southsid
+southside
+southwes
+southwest
+souvenir
+sovereig
+sovereign
+soyelmejo
+soysauce
+Sp1251dn
+space123
+space199
+spaceace
+spacebal
+spacebar
+spaceboy
+spacedog
+spacejam
+spaceman
+spagetti
+spaghett
+spaghetti
+spalding
+spam967888
+spamspam
+spaniard
+spank123
+spankher
+spanking
+spankme1
+spanky11
+spanky69
+spanner1
+spanners
+sparhawk
+sparkle1
+sparkles
+sparkplu
+sparky01
+sparky11
+sparky12
+sparky69
+sparky99
+sparrow1
+sparrows
+spartacu
+spartacus
+spartak1
+spartak1922
+spartan1
+spartan11
+spartan117
+spartans
+sparticu
+spawn666
+speaker1
+speakers
+spearman
+specboot
+special1
+special2
+special7
+speciali
+SpecialInsta
+specialist
+specialized
+specialk
+specialp
+specials
+speckles
+spectre1
+spectrum
+speculum
+speed123
+speedbal
+speedbir
+speedbum
+speeding
+speedrac
+speedste
+speedster
+speedway
+speedy12
+speedy17
+spelling
+spencer1
+spencer2
+spencer5
+spengler
+sperling
+spesional
+sphincte
+spicedog
+spider01
+spider10
+spider12
+spider16
+spider69
+spiderma
+spiderman
+spiderman1
+spiderman2
+spiderman3
+spike123
+spikelee
+spinnake
+spinners
+spinning
+spionkop
+spiritus
+spitball
+spitfire
+spitfire1
+splashed
+splatter
+splendid
+splendor
+splinter
+splitter
+splurgeola
+spongebo
+spongebob
+spongebob1
+spoonman
+sport123
+sportage
+sporting
+sportsca
+sportsmen
+sportste
+sportster
+spotligh
+spotlight
+sprewell
+spring00
+spring01
+spring12
+spring19
+spring77
+spring99
+springbo
+springer
+springfi
+springfield
+springst
+sprinkle
+sprinkler
+sprint99
+sprinter
+spritzer
+sprocket
+sprugass
+spurrier
+spurs123
+sputnik1
+spxports
+spyglass
+sqloledb
+squadron
+squeaker
+squealer
+squeegee
+squerting
+squiggle
+squirrel
+squirter
+squirtle
+sr20dett
+srawrats
+srikanth
+srilanka
+srinivas
+sS6z2sw6lU
+ssbt8ae2
+ssomeone
+ssptx452
+Sssssss1
+ssvegeta
+St801nyl
+stabilmente
+stafford
+stainles
+stainless
+stairway
+stalingr
+stalingrad
+stalker1
+stalker123
+stalker2
+stalker2010
+stalker777
+stallard
+stallion
+stallone
+stalport
+stamford
+stampede
+standard
+standart
+standing
+standrew
+stanford
+stanhope
+stanisla
+stanislav
+stanley1
+stanley2
+stanstan
+stanthem
+star1234
+star6767
+starbase
+starbuck
+starbucks
+starbug1
+starburs
+starbury
+starchil
+starchild
+starcraf
+starcraft
+starcraft1
+starcraft2
+stardust
+starfire
+starfish
+starflee
+starfleet
+starfuck
+starfury
+stargate
+stargate1
+stargatesg1
+stargaze
+stargazer
+stargirl
+starhawk
+starligh
+starlight
+starline
+starling
+starlite
+starosta
+stars123
+starscream
+starshin
+starship
+starstar
+start123
+starting
+startnow
+startrek
+startrek1
+Starwar1
+starwars
+starwars1
+starwars12
+starwars123
+starwars2
+starwars3
+starwood
+stas1992
+stasstas
+station1
+station2
+station4
+statistika
+stauffer
+stavange
+stavropol
+stayaway
+stayout1
+stayrude
+stealth1
+stealth2
+stealthy
+steam181
+steamboa
+steamboat
+steamforums
+stearman
+steelbed
+steeldoo
+steeler1
+steelers
+steelers1
+steelhea
+steelman
+steelroa
+stefanescu
+stefania
+stefanie
+steinway
+stella12
+stellina
+stensten12
+stepanov
+stepanova
+stepashka
+steph123
+stephane
+stephani
+stephanie
+stephanie1
+stephany
+stephen1
+stephen2
+stephens
+sterling
+steroids
+steve121
+steve123
+steven11
+steven12
+stevens1
+stevenso
+stevenson
+stevesmojo
+steveste
+stevevai
+steviera
+stewarde
+stewart1
+stewart2
+stewart20
+stgeorge
+sthgrtst
+stickboy
+stickdaddy77
+stickers
+stickman
+stiffler
+stigmata
+stiletto
+stillers
+stillher
+stimorol
+sting123
+stinger1
+stinger3
+stingers
+stingray
+stinker1
+stinkpot
+stinkyfinger
+stirling
+stitches
+stixstix
+stlblues
+stmartin
+stmirren
+stocazzo
+stockcar
+stockhol
+stockholm
+stocking
+stockings
+stockpor
+stockton
+stokecit
+stokrotka
+stol1234
+stomatolog
+stonecol
+stonecold
+stonehenge
+stoneman
+stoneros
+stonewal
+stonewall
+stooges3
+stoppedb
+stoppedby
+stopstop
+storm123
+stormbri
+storming
+stpiliot
+str8edge
+straight
+strange1
+strangel
+stranger
+strangers
+strangle
+strannik
+stratcat
+strategy
+stratfor
+stratford
+stratman
+stratoca
+stratocaster
+stratton
+stratus1
+strawber
+strawberr
+strawberry
+strawman
+straycat
+straydog
+streaker
+streamer
+streaming
+streetball
+streeter
+strekoza
+strength
+stressed
+stretch1
+stricker
+strider1
+striker1
+strikers
+stringer
+strip4me
+stripclub
+stripped
+stripper
+strippers
+stroitel
+stroller
+strongbo
+stronger
+stronghold
+structur
+struggle
+strummer
+strungou
+strutter
+stthomas
+student1
+studentka
+students
+studio54
+studioworks
+studmuff
+studmuffin
+studstud
+stuff123
+stuffing
+stunner1
+stunning
+stunt101
+stuntman
+stupid11
+stupid12
+stupidas
+sturgeon
+stuttgar
+stuttgart
+styxstyx
+subhanallah
+sublime1
+submarin
+submarine
+submissi
+submission
+subscriber
+subspace
+suburban
+subwoofer
+subzero1
+success1
+success2
+success7
+successful
+succubus
+suckcock
+suckdick
+sucker69
+suckfuck
+suckit69
+suckme69
+suckmeof
+suckmeoff
+suckmine
+suckmy1k
+suckmyballs
+suckmyco
+suckmycock
+suckmydi
+suckmydic
+suckmydick
+suckscock
+sucksuck
+suckthis
+sudhakar
+suffering
+suffocat
+sugabear
+sugar123
+sugarbea
+sugarbear
+sugardad
+sugardog
+sugarman
+sugarray
+suicidal
+suikoden
+suitcase
+Suka1985
+sukasuka
+sukisuki
+sulaiman
+suleiman
+sullivan
+sumitomo
+summer00
+summer01
+summer02
+summer03
+summer04
+summer05
+summer06
+summer07
+summer08
+summer09
+summer10
+summer11
+summer12
+summer13
+summer20
+summer2010
+summer22
+summer69
+summer96
+summer98
+summer99
+summerti
+summertime
+summoner
+sunburst
+suncoast
+sundance
+sundaram
+sunday12
+sundaypunch
+sunderla
+sunderland
+sundevil
+sundin13
+sunflowe
+sunflower
+sunflower1
+sunghile
+sunglass
+sunglasses
+sunlight
+sunny123
+sunnyboy
+sunnyday
+sunnysid
+sunrise1
+sunset99
+sunsh1ne
+Sunshin1
+sunshine
+sunshine1
+sunshine2
+sunshine69
+super123
+Super412
+superbad
+superbee
+superbik
+superbir
+superbob
+superbow
+superbowl
+superboy
+supercal
+supercar
+supercat
+supercoo
+supercool
+supercop
+superdan
+superdav
+superdave
+superdog
+superdude
+superdup
+superduper
+superdut
+superflu
+superfly
+superfre
+supergas
+supergir
+supergirl
+superhero
+superior
+superjet
+superkev
+Superma1
+supermac
+superman
+superman1
+superman12
+superman123
+superman2
+superman69
+SuperManBoy
+supermar
+supermario
+supermax
+supermen
+supermod
+supermodel
+supermom
+supernatural
+supernov
+supernova
+superpass
+superpower
+superpuper
+supersex
+superson
+supersonic
+supersport
+supersta
+superstar
+superstr
+supersuper
+supertec
+superted
+supertra
+superuse
+supervis
+supervisor
+support1
+surabaya
+surefire
+sureno13
+sureshot
+surfboar
+surfboard
+surfcity
+surfer01
+surfer69
+surfin50
+surfing1
+surfmore
+surfside
+surfsurf
+surprise
+surrende
+surrender
+surround
+surveyor
+survival
+survivor
+susan123
+susannah
+Susanne1
+susisusi
+suspects
+suspende
+sustanon
+susubaby
+sutherla
+sutherland
+sutvsc5ysaa
+suzanne1
+suzevide
+suzukirm
+svensps820
+sveta123
+svetasveta
+svetlana
+svetlanka
+svetlova
+sveto4ka
+svetochka
+svizzera
+svtcobra
+swallows
+swampfox
+swanlake
+swansong
+swatteam
+sweaters
+sweepstakes
+sweet123
+sweet666
+sweet987
+sweetass
+sweetboy
+sweetdream
+sweetdreams
+sweetest
+sweetgirl
+sweethea
+sweethear
+sweetheart
+sweetie1
+sweetiepie
+sweeties
+sweetkiss
+sweetlip
+sweetman
+sweetnes
+sweetness
+sweetone
+sweetpea
+sweetpea1
+sweetpus
+sweetpussy
+sweetsweet
+sweetu70
+sweetums
+swetlana
+Swimbike
+swimmer1
+swimming
+swimteam
+swinger1
+swingers
+swinging
+swinglin
+swissair
+switcher
+sword123
+swordfis
+swordfish
+sycamore
+sydney12
+sylvania
+sylveste
+sylvester
+sylviahans
+symantec
+symbiote
+symmetry
+sympathy
+symphony
+syncmast
+syncmaster
+syncmaster740n
+syndicat
+syndicate
+syndikat
+syndrome
+syracuse
+sys64738
+sysadmin
+system12
+system32
+SystEm58
+systemofadown
+t1234567
+t123456789
+t34vfrc1991
+t3fkVKMJ
+t5r4e3w2q1
+tabaluga
+tabarnac
+tabatha1
+tabbycat
+table54781
+tabletop
+tabryant
+taburetka
+tacobell
+tacotaco
+tactical
+tadatada
+tadmichaels
+taekwond
+taekwondo
+taganrog
+tagheuer
+tailgate
+tailhook
+tailspin
+tajmahal
+takahiro
+takamine
+takataka
+takayuki
+take8422
+takecare
+takedown
+takefive
+takehana
+takethat
+takhisis
+talavera
+talented
+taliesin
+talisker
+talisman
+talktalk
+talktome
+tallulah
+talonesi
+talontsi
+tamarack
+tambov68
+tamerlan
+tampabay
+tamplier
+tAMwsN3sja
+tanechka
+tanelorn
+tangerin
+tangerine
+tango123
+tangtang
+tankgirl
+tanlines
+tannenbau
+tanstaaf
+tanushka
+tanya123
+tanya1985
+tanyshka
+tanzania
+tapestry
+tapeworm
+tarantas
+tarantin
+tarantino
+tarantul
+tarantula
+tarasenko
+tarasova
+taratara
+taratata
+target74
+tarheel1
+tarheels
+tarnsman
+tarragon
+tartaruga
+taser334455
+tasha123
+tashadog
+tashkent
+tasmania
+tassadar
+tastatur
+tatarstan
+tatatata
+taterbug
+tatertot
+tatiana1
+tatianna
+tatooine
+tatoshka
+tattooed
+taukappa
+taurussh
+taylor01
+taylor10
+taylor11
+taylor12
+taylor22
+taylorma
+taylormade
+tazdevil
+tazmania
+tazztazz
+TcglyuEd
+TDEir8b2
+TdfqUgL5
+tdfyutkbjy
+tdhjctnm
+tdutybq1
+teacher1
+teacher2
+teachers
+teaching
+teamlosi
+teamomuch
+teamster
+teamwork
+teaparty
+teardrop
+tech1200
+techdeck
+techn9ne
+technica
+technical
+technici
+technician
+technics
+techniques
+techno69
+technolo
+technology
+tecktonik
+tecumseh
+teddy123
+teddybea
+teddybear
+teddybeer
+teddyboy
+teenager
+teendrea
+teenfuck
+teengirl
+teenlove
+teens2000
+teenslut
+teenteen
+teiubesc
+telecast
+telecaster
+telecom1
+telecono
+telefon1
+telefone
+telefono
+telefoon
+telegrap
+telemark
+telephon
+telephone
+teleport
+telescop
+televisi
+television
+televizor
+tellurid
+temitope
+temp1234
+tempest1
+tempfire
+templar1
+template
+temporal
+temporar
+temporary
+temppass
+TempPassWord
+temptemp
+temptress
+tenbears
+tendulkar
+tenerife
+tennesse
+tennessee
+tennis01
+tennis11
+tennis12
+tennis22
+tennyson
+tenorsax
+tenretni
+tentacle
+tequiero
+tequila1
+tequilas
+tequilla
+teratera
+terence1
+teresita
+terminal
+terminat
+terminato
+terminator
+terminus
+terorist
+terrance
+terranova
+terrapin
+terrell1
+terrence
+terrible
+terriers
+terrific
+terrorist
+terry123
+terryter
+tessadog
+test1234
+test12345
+testament
+testdrive
+testerer
+testibil
+testicle
+testing1
+testing123
+testing2
+testings
+testpass
+testtest
+testtest1
+testuser
+teufelo7
+texas123
+texasboy
+texastec
+textbook
+tfjunwptzsjp
+tgbxtcrbq
+TGkBxfgy
+thaddeus
+thailand
+thaipron
+thanatos
+thankful
+thankgod
+thankyou
+tharmika
+thatcher
+theanswer
+thebeach
+thebears
+thebeast
+thebeatl
+thebeatles
+thebends
+thebitch
+theblack
+theblues
+theboss1
+thebrain
+thecakeisalie
+thechamp
+theclash
+theclown
+thecount
+thecure1
+thedevil
+thedoctor
+thedoors
+thedrago
+thedream
+thedude1
+theflash
+theforce
+thegame1
+theghost
+thegirls
+thegoose
+thegreat
+thegreat1
+thegreatone
+thegreek
+thehouse
+thejoker
+thekiller
+theking1
+thekiwi1
+thelast1
+theman22
+theman69
+themaste
+themaster
+thematri
+thematrix
+thenight
+theodora
+theodore
+theology
+theonly1
+thepower
+theraven
+theresa1
+theriver
+therock1
+therocks
+thesaint
+thesheep
+thesimpsons
+thesims2
+thesims3
+thesmith
+thesnake
+thespian
+thestone
+thestuff
+thetachi
+theteet1
+thetford
+thething
+thethird
+thetruth
+thetwins
+theworld
+thexfile
+thiaguinho
+thibault
+thicknes
+thickone
+thienthan
+thinkbig
+thinking
+thinkpad
+thinline
+thirdeye
+thirteen
+thirteen13
+this4now
+thisisit
+thisisme
+thissite
+thissuck
+thissucks
+THNKUWaP
+thomas01
+thomas10
+thomas11
+thomas12
+thomas123
+thomas13
+thomas19
+thomas21
+thomas22
+thomas23
+thomas35
+thomas99
+thompson
+thor5200
+thoradin
+thornton
+thorsten
+thorthor
+thorvald
+thoughts
+thousand
+thrasher
+threeday
+threekid
+threema0
+threema1
+threema2
+threema3
+threema4
+threema5
+threema6
+threema7
+threema8
+threema9
+threemasafe
+threepio
+threesix
+threesom
+threesome
+thresher
+thriller
+throatfuck
+throbber
+throttle
+thruster
+thtvtyrj
+thug4life
+thuggish
+thuglife
+thuglove
+thugstools
+thumbnils
+thumper1
+thumper2
+thunder0
+thunder1
+thunder12
+thunder123
+thunder2
+thunder3
+thunder4
+thunder5
+thunder6
+thunder7
+thunder9
+thunderb
+thunderbird
+thunderbolt
+thunderc
+thundercat
+thunderr
+thunders
+thursday
+thurston
+thvfrjdf
+tiagans97
+tiamaria
+tiberian
+tiberium
+tiberius
+tiburon1
+ticketmaster
+tickle20
+tickleme
+tickling
+ticklish
+ticktick
+ticktock
+ticonder
+ticotico
+tiffanie
+tiffany1
+tiffany2
+tiffanys
+tiger007
+tiger123
+tiger200
+tigerboy
+tigercat
+tigereye
+tigerfan
+tigerlil
+tigerlily
+tigerman
+tigerpaw
+tigers01
+tigers11
+tigers12
+tigersha
+tigertig
+tigertiger
+tigerwoo
+tigerwoods
+tigger00
+tigger01
+tigger10
+tigger11
+tigger12
+tigger13
+tigger19
+tigger21
+tigger22
+tigger69
+tigger99
+tightass
+tightcunt
+tightend
+tighthole
+tightpus
+tigrenok
+tihomirova
+tikitiki
+tiktonik
+timberla
+timberlake
+timberland
+timberwo
+timberwolf
+timbuktu
+timebomb
+timeless
+timeline
+timelord
+timepass
+timeport
+timetime
+timetogo
+timewarp
+timezone
+timmy123
+timofeeva
+timoshka
+timothy1
+timothy2
+timothy8
+timoxa94
+tinatina
+tinchair
+tincouch
+tinfloor
+tingting
+tinhorse
+tini0022
+tinkerbe
+tinkerbel
+tinkerbell
+tinmouse
+tinotino
+tintable
+tinuviel
+tippmann
+tippytoe
+tiramisu
+tiraspol
+tiribon12
+titanic1
+titanic2
+titanium
+titicaca
+titikaka
+titititi
+titleist
+titlover
+titmouse
+titotito
+titsnass
+titstits
+Tk3281022
+tkachenko
+tkbpfdtnf
+tlbyjhju
+tm371855
+tmjxn151
+toadfrog
+toadtoad
+toasters
+toblerone
+toby1234
+tobytoby
+today123
+todd1234
+toddster
+todiefor
+toenail1
+toenails
+together
+Tojiik85521133
+tokenbad
+tokiohotel
+tomahawk
+tomasito
+tomatoes
+tombrady
+tombraid
+tombraider
+tombston
+tombstone
+tomcat01
+tomcat14
+tomcruis
+tomcruise
+tomgreen
+tomislav
+tomjerry
+tomjones
+tommy123
+tommy999
+tommyboy
+tommyboy1
+tommycat
+tommygun
+tommylee
+tomorrow
+tompetty
+tompkins
+tomservo
+tomthumb
+tomwaits
+tonitoni
+tonto123
+tony8669
+tonyhawk
+tonystar
+tonytony
+toolband
+toolman1
+toolshed
+tooltime
+tooltool
+toonarmy
+toonporn
+toontoon
+toontown
+tooshort
+toosweet
+toothpic
+tootsie1
+toottoot
+topdevice
+topflite
+topnotch
+topolino
+toppdogg
+topsecre
+topsecret
+topshelf
+toptotty
+toratora
+toreador
+toriamos
+toritori
+tornado1
+tornados
+toronto1
+toronto2
+torotoro
+torpedo1
+torrance
+torrejon
+torrente
+torrents
+tortilla
+tortoise
+toshiaki
+toshiba1
+totalwar
+totenkopf
+tothemax
+tothetop
+totototo
+tottenha
+tottenham
+tottenham1
+touchdow
+touchdown
+touching
+toughguy
+toulouse
+toutoune
+towerman
+townsend
+townshen
+towtruck
+toxicity
+toyota01
+toyota91
+toystory
+Tr2Amp25
+traccount
+tracker1
+tracking
+tracksta
+tractor1
+tractors
+tracy123
+trademan
+trader12
+trafalga
+traffic1
+trafficracer
+trafford
+trailer1
+trailers
+trainer1
+trainers
+training
+trainman
+traktor1
+traktorist
+traktorji
+tramado1
+trammell
+trandafir
+tranmere
+trannies
+tranquil
+transalp
+transam1
+transcend
+transexual
+transfer
+transfor
+transform
+transformer
+transformers
+transistor
+transits
+Translator
+transpor
+transport
+transporter
+transsex
+trapdoor
+trapper1
+trashcan
+trashman
+traveler
+travelle
+traveller
+travelmate
+traverse
+travesti
+travieso
+travis11
+travis12
+travolta
+traxdata
+treasure
+treasury
+treebark
+treefrog
+treehous
+treehouse
+treetops
+treetree
+trek5200
+trekbike
+trekstar
+trektrek
+tremblay
+tremendo
+trespass
+trfnthby
+trfnthbyf
+triangle
+triathlo
+triathlon
+tribbles
+tribunal
+trickste
+trickster
+tricolor
+trident1
+trifecta
+triforce
+trigger1
+trigger2
+trillian
+trillion
+trillium
+trim7gun
+trinidad
+trinitro
+trinitron
+trinity1
+trinity2
+trinity3
+trinity7
+triplets
+tripping
+tristan1
+tristian
+tristram
+triumph1
+triumph7
+trofimov
+trojans1
+trojans2
+trolling
+trombone
+trompete
+trontron
+trooper1
+trooper2
+troopers
+tropical
+tropicana
+trotters
+trottier
+trouble1
+trouble2
+troubles
+trousers
+troutbum
+troutman
+troytroy
+trrim777
+trucker1
+truckers
+trucking
+truckman
+trueblue
+truegrit
+truelies
+truelove
+truelove1
+truffles
+trujillo
+trumpet1
+trumpets
+truskawka
+trusting
+trustn01
+trustno1
+trustno2
+trustnoo
+trustnoone
+tryagain
+trythis1
+trytobra
+tsclient
+tscmsi01
+tslabels
+tspeter1
+tsunami1
+tttttt99
+Ttttttt1
+tu190022
+tubitzen
+tucker01
+tuczno18
+tuesday1
+tuffgong
+tujazopi
+tujheirf
+tumbleweed
+tummybed
+tunafish
+tunatuna
+tungdom6
+tunguska
+tupacshakur
+tuppence
+turambar
+turandot
+turbo123
+turbo911
+turbodog
+turboman
+turbulen
+turion64
+turkey10
+Turkey50
+turnbull
+turnpike
+turntabl
+turntable
+turtoise
+tvmarcia
+tvxtjk7r
+tweeling
+twelve12
+twenty20
+twentyon
+twilight
+twilight1
+twinboys
+twincity
+twinkies
+twinkles
+twinpeaks
+twinstar
+twinturb
+twisted1
+twister1
+twister2
+twisters
+twiztid1
+twizzler
+twogirls
+twothree
+tyler123
+tylerca310
+tyrik123
+tyson123
+tytytyty
+tzeentch
+tzewserr
+U4SLPwrA
+uaeuaeman
+uberl33t
+ublhjgjybrf
+ubnkthrfgen
+ubvyfcnbrf
+ubvyfpbz
+uchimata
+udon0101
+uehby92pac
+uekmyfhf
+uerori34
+ufdhbkjdf
+ufdibyjd
+ufdyfrecjr
+UfgynDmv
+ufhhbgjnnth
+ufhvjybz
+ufkfrnbrf
+ufkxjyjr
+uhbujhbq
+uhfdbwfgf
+uhtqneyu
+uhtvkby17
+uiegu451
+ujhjcrjg
+ujhjl312
+ujkjdjkjvrf
+ujyxfhjdf
+ukflbfnjh
+ukflbjkec
+UkqMwhj6
+ultimate
+ultimatum
+ultra123
+ultracash
+ultraman
+ultravox
+umbrella
+umisushi
+ummagumm
+ummagumma
+un4given
+unB4g9tY
+unbelievable
+uncencored
+unclebob
+unclesam
+uncletom
+underage
+undercover
+underdog
+undergro
+undergroun
+underground
+underhil
+undernet
+underpar
+understand
+undertak
+undertake
+undertaker
+undertow
+underwat
+underwater
+underwea
+underwear
+underwoo
+underwood
+underwor
+underworld
+unforgiv
+unforgiven
+unicorn1
+unicorns
+UninstallSql
+uniqueness
+united123
+united99
+universa
+universal
+universe
+universi
+universidad
+university
+universo
+unknown1
+unleashed
+unlimite
+unlimited
+untitled
+UP9X8RWw
+uPfpRJew
+UploadLB
+upnda1re
+uptheass
+upyachka
+urlacher
+urlcache
+ursitesux
+usafpaca
+user1122
+userexecute
+usermane
+username
+userpass
+useruser
+usethis1
+usmarine
+usmc0311
+usmc0331
+usmc1775
+usmcusmc
+ustinova
+Usuckballz1
+utahjazz
+uthnhelf
+uthvbjyf
+uthvfybz
+utjuhfabz
+utjvtnhbz
+UTO29321
+utyyflbq
+utyyflmtdyf
+Uuuuuuu1
+uvmRyseZ
+uwa2df2n
+uXMdZi4o
+uyeptjnx
+uzalknap
+uzasjhas
+v12345678
+v123456789
+v1l2a3d4
+v1o2v3a4
+vacances
+vacation
+vader123
+vadim123
+vadim1995
+vadim1996
+vadim2000
+vaffanculo
+vagabond
+vahagngsg
+vaillant
+vakantie
+valdemar
+valdepen
+valencia
+valentin
+valentina
+valentine
+valentinka
+valentino
+valera123
+valeria1
+valerian
+valerie1
+valerija
+valeriya
+valetudo
+valhalla
+valiant1
+validate
+validpwd
+valkerie
+valkiria
+valkrie9
+valkyrie
+vallarta
+valleywa
+valvoline
+vampire1
+vampires
+vanburen
+vancouve
+vancouver
+vandamme
+vandelay
+vanderbilt
+vandread
+vanechka
+vanessa1
+vangelis
+vanguard
+vanhalen
+vanilla1
+vanovano
+vanquish
+vanya123
+vanyarespekt
+varadero
+variable
+vaseline
+vasilenko
+vasileva
+vasilina
+vasilisa
+vasilisk
+vasquez2
+vasya111
+vatoloco
+vauxhall
+vaz21074
+vaz21083
+vaz21093
+vaz21099
+vbhjckfd
+vbhjckfdf
+vbhjh123
+vbhjndjhtw
+vbhjyjdf
+vbhjytyrj
+vbhytuhfv
+vbitymrf
+vbkkbjyth
+vbnhjafy
+vbrbvfec
+vbscript
+vbybcnthcndj
+vbyfcnbhbn
+vEf6g55frZ
+vegas123
+vegasman
+vegavega
+vegetabl
+vegetabl1
+vehfrfvb
+vehpbkrf
+vehvfycr
+velhjcnm
+velocidade
+velocity
+velosiped
+vendetta
+venetian
+venezuel
+venezuela
+vengeanc
+vengeance
+vengence
+veniamin
+venom121293
+venom123
+venomous
+ventura1
+venture1
+vepsrfyn
+veracruz
+veravera
+verbatim
+verboten
+vergesse
+vergessen
+vergeten
+veritas1
+veritech
+verizon1
+vermont1
+verochka
+veronica
+veronika
+veroniqu
+veronique
+versace1
+version1
+vertical
+verycool
+verygood
+verygoodbot
+veryhorn
+verymuch
+verynice
+verysexy
+verywell
+vespa123
+vespucci
+vesuvius
+vesy7csae64
+vetteman
+vfhbegjkm
+vfhbfyyf
+vfhbyf123
+vfhbyfvfhbyf
+vfhbyjxrf
+vfhbz007
+vfhecmrf
+vfhnsirf
+vfhnsyjdf
+vfhrtdbx
+vfhrtnbyu
+vfhufhbnf
+vfhufhbnrf
+vfhujhbnf
+vfhvsirf
+vfhvtkfl
+vfhvtkflrf
+vfiekmrf
+vfif1986
+vfifvfif
+vfitymrf
+vfkmdbyf
+vfkmlbds
+vfktymrbq
+vfktymrfz
+vflfufcrfh
+vfnbkmlf
+vfndttdf
+vfnhjcrby
+vfnhtirf
+vfntvfnbrf
+vfpfafrf
+vfrcbv123
+vfrcbvec
+vfrcbvev
+vfrcbvjd
+vfrcbvjdf
+vfrcbvrf
+vfrcbvtyrj
+vfrcbvvfrcbv
+vfrcjy666
+vfrfhjdf
+vfrfhjys
+vfuybnjajy
+vfuyjkbz
+vfvekbxrf
+vfvekmrf
+vfvektxrf
+vfvf2011
+vfvfbgfgf
+vfvfcdtnf
+vfvfgfgf
+vfvfgfgf123
+vfvfgfgfz
+vfvfktyf
+vfvfnfyz
+vfvfvfvf
+vfvfvskfhfve
+vfvjxrf1
+vfylfhby
+vfylfhbyrf
+vfylhfujhf
+vfyxtcnth
+VG08K714
+VHpuuLf2K
+vibrator
+vicecity
+vicelord
+vicfirth
+vicious1
+victoire
+victor12
+victor123
+victoria
+victoria1
+victoriya
+victory1
+victory7
+vidaloca
+vidaloka
+video123
+videogam
+videogame
+videoman
+viewsoni
+viewsonic
+viggen37
+vigilant
+vika1234
+vika12345
+vika1989
+vika1995
+vika1996
+vika1998
+vika1999
+vika2000
+vika2001
+vika2005
+vika2010
+vika2011
+vikavika
+viking44
+viking99
+vikings1
+vikings2
+viktoria
+viktorija
+viktoriy
+viktoriya
+viktorovich
+villegas
+villeneuve
+villevalo
+vinayaka
+vinbyLrJ
+vince123
+vincent1
+vincente
+vincenzo
+vindaloo
+vindiesel
+vineyard
+vinicius
+vinograd
+vinogradov
+vinogradova
+vintage1
+vintelok
+violator
+violence
+violentj
+violetta
+violette
+viper123
+viper666
+viper999
+vipergts
+viperman
+virgilio
+virginia
+virginia1
+virginie
+virtuagirl
+virtuoso
+visacard
+visavisa
+visconti
+viscount
+vishenka
+visigoth
+vision11
+visionar
+visiting
+vitalik1
+vitalik123
+vitalina
+vitalogy
+vitamin1
+vitamine
+vitamins
+vittoria
+vittorio
+vivahate
+vivienne
+vivitron
+vjhjpjdf
+vjhrjdrf
+vjlthfnjh
+vjnjhjkf
+vjqfyutk
+vjqgfhjkm
+vjzctvmz
+vjzgjxnf
+vkfwx046
+vkontakte
+vlad1234
+vlad12345
+vlad1994
+vlad1995
+vlad1996
+vlad1997
+vlad1998
+vlad2000
+vlad2010
+vlad2011
+Vlad7788
+vladik123
+vladimir
+vladimir1
+vladimirovna
+vladisla
+vladislav
+vladislava
+vladivostok
+vladlena
+vladvlad
+vlasenko
+vlasov12
+vmDnygfU
+vocom401
+vodafone
+voldemar
+voldemor
+volgograd
+volition
+volkodav
+volkswag
+volkswagen
+volkswagon
+volleyba
+volleybal
+volleyball
+voltaire
+voluntee
+volunteer
+volvo123
+volvo240
+volvo480
+volvo850
+volvofh12
+volvos40
+volvos60
+volvos80
+volvov70
+vonnegut
+vonsclan
+voodoo22
+voodoo69
+voorhees
+voronina
+voronova
+vova1234
+vova12345
+vova1988
+vova1992
+vova1994
+vova1995
+vova1996
+vova2010
+vovan_lt
+vovavova
+vovochka
+voxstrange
+voyager1
+voyager2
+voyager6
+voyager7
+voyageur
+vp3whbjvp8
+VQsaBLPzLa
+VRe2nC3Z
+vrijheid
+Vsavb7rtUI
+vsevolod
+vSjasnel12
+vthctltc
+vthokies
+vthrehbq
+vtkmybrjdf
+vtlbwbyf
+vtldtltd
+vtnhj2033
+vtnhjgjkbnty
+vtufgjkbc
+VURDf5i2
+vw198m2n
+vwbeetle
+vwpassat
+vyjujltytu
+vyjujnjxbt
+vytautas
+w00tw00t
+w1234567
+w123456789w
+W1408776w
+w1w2w3w4
+w1w2w3w4w5
+w2dlWw3v5P
+w3e4r5t6
+w46ws7ufs
+w4ebkss4
+w74156900
+w8gkz2x1
+wachovia
+wachtwoord
+waddle111
+waffenss
+wagoneer
+waheguru
+wakawaka
+wakeboar
+wakefiel
+wakefield
+waldemar
+walentina
+walfisch
+walhalla
+walkman555
+wallace1
+wallace2
+walleye1
+wallpape
+wallstre
+wallstreet
+walmart1
+walter34
+wamozart
+wanderer
+wangchun
+wannasee
+wantsome
+wapapapa
+wapbbs_1
+war3demo
+waratsea
+warchild
+warcraft
+warcraft1
+warcraft3
+wareagle
+warehous
+warehouse
+wargames
+warhamer
+warhamme
+warhammer
+warhammer40k
+warhawks
+warhorse
+warlock1
+warlord1
+warlords
+warranty
+warrior1
+warrior2
+warrior3
+warrior6
+warriors
+warspite
+warstein
+warszawa
+wartburg
+warwagon
+warwick1
+wasd1234
+wasdwasd
+wasdwasd1
+washburn
+washingt
+washingto
+washington
+wastelan
+watanabe
+watchdog
+watchers
+watching
+watchman
+watchmen
+watchout
+water123
+water911
+waterbed
+waterboy
+waterdog
+waterfal
+waterfall
+waterfalls
+watergat
+watering
+waterloo
+waterman
+watermel
+watermelon
+waterpol
+waterpolo
+waterski
+waukesha
+waveride
+waverley
+wavmanuk
+way2cool
+wayfarer
+waylande
+wayne123
+wazzkaprivet
+wbemsnmp
+wcKSDYpk
+wcrfxtvgbjy
+wdsawdsa
+wdtnjxtr
+weakness
+weaknesspays
+wealthy1
+weare138
+weather1
+webhompas
+webhompass
+webmaste
+webmaster
+websol76
+websolutions
+websolutionssu
+webster1
+websters
+WebUIValidat
+wedding1
+wednesda
+wednesday
+weedhead
+weedweed
+weetabix
+weihnachte
+weihnachten
+weihnachtsbau
+weinberg
+weJRpfPu
+welcome0
+Welcome01
+welcome1
+welcome12
+welcome123
+welcome2
+welcome3
+welcome4
+welcome5
+welcome7
+welcome8
+welcomes
+welkom01
+wellcome
+welldone
+wellhung
+wellingt
+wellington
+wellness
+wellwell
+welshman
+wenef45313
+wentworth
+werewere
+werewolf
+weronika
+wert1234
+werthvfy
+wertwert
+werty123
+werty12345
+wertyuio
+wertyuiop
+wesley12
+wessonnn
+west1234
+westbrom
+westbrook
+westbury
+westcoas
+westcoast
+western1
+westerns
+westfiel
+westgate
+westham1
+westlake
+westlife
+westminster
+westover
+westpoin
+westport
+westside
+westside1
+westward
+westwest
+westwind
+westwing
+westwood
+wetdream
+wethepeople
+wetlands
+wetpussy
+wetwilly
+wetworks
+wewewewe
+wewizcom
+weymouth
+wg8e3wjf
+wharfrat
+whatever
+whatever1
+whatisit
+whatisth
+whatisup
+whatluck
+whatthef
+whatthefuck
+whattheh
+whatthehell
+whatwhat
+wheaties
+wheatley
+wheeler1
+wheeling
+wheelman
+whenever
+whiplash
+whirling
+whirlwin
+whiskers
+whiskey1
+whisper1
+whistler
+whitaker
+whiteboy
+whitecap
+whitecat
+whitedog
+whitehea
+whitehouse
+whiteman
+whiteoak
+whiteout
+whitepower
+whiterab
+whiterabbit
+whitesox
+whitesta
+whitestar
+whitetai
+whitetail
+whitewol
+whitewolf
+whitlock
+whitney1
+whittier
+whizbang
+whoareyo
+whoareyou
+whocares
+whodaman
+whoknows
+wholesale
+whoopass
+whoppers
+whosyourdaddy
+whynotme
+whytesha
+wideglid
+wideglide
+wideopen
+widescreen
+widespre
+widespread
+wifey200
+wifeyswo
+wiktoria
+wildbill
+WildBlue
+wildcard
+wildcat1
+wildcat6
+wildcat7
+wildcat8
+wildcats
+wildchil
+wildchild
+wilderne
+wildfire
+wildflower
+wildlife
+wildman1
+wildroid
+wildrose
+wildside
+wildstar
+wildthin
+wildthing
+wildwest
+wildwild
+wildwolf
+wildwood
+wilhelm2
+wilkinso
+william0
+william1
+william2
+william3
+william4
+william6
+william7
+william8
+william9
+williamj
+williamm
+williams
+williams1
+williamt
+willie12
+willie23
+willow01
+willwill
+willy123
+willyboy
+wilmingt
+wilshire
+wimbledo
+wimbledon
+winchest
+winchester
+windfall
+windmill
+windows1
+windows2
+windows7
+windows9
+windows98
+windowsn
+windowsxp
+windsong
+windsor1
+windstar
+windsurf
+windward
+winfield
+wingchun
+wingding
+wingtsun
+wingzero
+winifred
+winner12
+winner69
+winnipeg
+winnipeg261
+winston1
+winston2
+winston6
+winston9
+winstonone
+winstons
+wintcher
+winter00
+winter01
+winter03
+winter04
+winter06
+winter10
+winter11
+winter12
+winter13
+winter20
+winter98
+winter99
+wintermu
+winthrop
+winxclub
+wireless
+wisconsi
+wisconsin
+wishbone
+wishmaster
+wisteria
+witchblade
+withlove
+withnail
+wittmann
+wizard01
+wizard12
+wizardry
+wladimir
+wLTfg4ta
+WmeGrFux
+WNMAz7sD
+wolfenstein
+wolfgang
+wolflord
+wolfman1
+wolfmann
+wolfpack
+wolfwolf
+wolfwood
+wolverin
+wolverine
+wolverines
+womersle
+wonderbo
+wonderboy
+wonderbr
+wonderfu
+wonderful
+wonderla
+wonderland
+wonderwa
+wonderwall
+wonderwo
+wonderwoman
+wonkette
+woodbine
+woodbird
+woodbury
+woodchuc
+woodcock
+wooddoor
+woodduck
+woodfish
+woodford
+woodgoat
+woodhead
+woodland
+woodlands
+woodlawn
+woodman1
+woodpeck
+woodpony
+woodroof
+woodrose
+woodruff
+woodshed
+woodside
+woodsink
+woodson2
+woodster
+woodstoc
+woodstock
+woodtree
+woodward
+woodwind
+woodwood
+woodwork
+woodworm
+woody123
+woofwoof
+wootwoot
+worceste
+wordlife
+wordpass
+wordpass1
+wordword
+workhard
+working1
+workshop
+worksuck
+workwork
+world123
+worldcom
+worldcup
+worldnet
+worldwar
+worldwid
+worldwide
+wormhole
+worms220
+wormwood
+worr3619
+worthing
+wow12345
+wowlook1
+WP2003WP
+wpoolejr
+wqwqwqwq
+wrangler
+wrest666
+wrestle1
+wrestler
+wrestlin
+wrestling
+wrestling1
+wretched
+wrigley1
+wrinkle1
+wrinkle5
+wrinkles
+writerspace
+wrongway
+WSBadmin
+wsgktyjr
+wsx22wsx22
+wtfwtfwtf
+wtpmjgda
+wTSFjMi7
+wutang36
+wutangcl
+wutangclan
+wwewwewwe
+wWR8X9PU
+www12345
+wwwooo1234
+Wwwwwww1
+x002tp00
+x123456x
+x1x2x3x4
+x4wW5qdr
+x72jHhu3Z
+xaccess2
+xakep1234
+xaverian
+xavier12
+xboxlive
+xcalibur
+xcat_xca
+xcountry
+xegfxegc
+xehrf2011
+xeljdbot
+xenocide
+xenogear
+xenophon
+xexeylhf
+xiaoyuA123
+xohzi3g4
+xoxoxoxo
+xpressmusic
+XSvNd4b2
+xsw21qaz
+xsw23edc
+xsw2zaq1
+xthntyjr
+xthtgfirf
+xtkjdtrgfer
+xtutdfhf
+xu71eab7
+xuFrGemW
+xxPa33bq
+xxx12345
+xxx69xxx
+xxxp455w0rd5
+Xxxxxxx1
+xyh28af4
+xyzzyxyz
+Xzaqwsx1
+xzsawq21
+yabadaba
+yad8yugg
+yadayada
+YaGLASph
+yamaha01
+yamaha12
+yamahar1
+yamahar6
+yamakasi
+yamamoto
+yamazaki
+yanayana
+yankee23
+yankeemp
+yankees0
+yankees1
+yankees2
+yankees23
+yankees3
+yankees4
+yankees7
+yankees9
+yanochka
+yanshi1982
+yardbird
+yaroslav
+yaroslavl
+yasacrac
+ybrbnbyf
+ybrbnf_25
+ybrbnjcbr
+ybrjkfbx
+ybrjkfq1
+ybrjkftd
+ybrjkftdbx
+ybrjkftdf
+ybrjkftdyf
+yCWVrxXH
+yeahbaby
+yeahrigh
+yeahright
+yeahyeah
+year2000
+year2001
+year2005
+yearight
+YELENA03
+yellow12
+yellow22
+yellow77
+yes90125
+yesplease
+yessongs
+yesterda
+yesterday
+yesyesye
+yesyesyes
+yfcnfcmz
+yfcnhjtybt
+yfcntymrf
+yfcntyrf
+yfcnz123
+yfcnz1996
+yfcnzvjz
+yfcnzyfcnz
+yfdbufnjh
+yfdctulf
+yfeiybrb
+yfgjktjy
+yfhrjnbrb
+yfhrjvfy
+yfifhfif
+yfltymrf
+yflz13041976
+yfnfif123
+yfnfif2010
+yfnfitymrf
+yfxfkmybr
+ygfxBkGT
+yingyang
+yjdbrjdf
+yjdjcnbf
+yjdjrepytwr
+yjdjvjcrjdcr
+yjdsqgfhjkm
+yjdsqujl
+yjdujhjl
+yjhbkmcr
+yjhvfkmyj
+yK66o2kzpZ
+YM3cauTj
+yodayoda
+yogibear
+yokohama
+yokosuka
+yolanda1
+yorkshir
+yorkshire
+yorktown
+yosemite
+yoshimitsu
+youandme
+youbitch
+yougotit
+youknowi
+YouNg3sT
+youngman
+youngmoney
+youngone
+yourface
+yourmama
+yourmom1
+yourmomma
+yourmother
+yourname
+yourself
+yoursony
+yousuck1
+yousuck2
+yoyoyoyo
+yqlgr667
+yQMBevGK
+Yqra61b6
+YR8WdxcQ
+ytcnthjdf
+ytdpkjvfti
+YtDXz2cA
+ytgfhjkm
+ytngfhjkz
+ytnhjufnm
+ytpfdbcbvjcnm
+ytpyfrjvrf
+ytrewq11
+ytrewq123
+ytrewq321
+ytrhfcjdf
+ytrhjvfycth
+ytrhjvfyn
+ytrhjvfyn10
+ytyfdbcnm
+yue12345
+yuitre12
+yujyd360
+yukmouth
+yungyung
+yurkamaliy
+yuyuyuyu
+yvtte545
+yxkck878
+yy5rbfsc
+Yyyyyyy1
+yzerman1
+yzerman19
+z1234567
+z123456789
+z1234567890
+z123456z
+Z123z123
+z1sn8h6m
+z1x2c3v4
+z1x2c3v4b5
+z1x2c3v4b5n6
+z1x2c3v4b5n6m7
+z1z1z1z1
+z1z2z3z4
+z1z2z3z4z5
+Z3Cn2eRV
+zacharia
+zachary1
+zackzack
+zaharova
+zaibatsu
+zamorano
+zangetsu
+zanzibar
+zaparilo
+zaphod42
+zaq11qaz
+zaq12345
+zaq123wsx
+zaq12qaz
+zaq12wsx
+zaq12wsxcde3
+zaq1xsw2
+zaq1xsw2cde3
+zaq1zaq1
+zaqwerty
+zaqwsx123
+zaqwsxcde
+zaqwsxcderfv
+zaqxsw123
+zaqxswcde
+zaqxswcde123
+zaqzaqzaq
+zaragoza
+zaratustra
+zarazara
+zasranec
+zasranka
+zasxcdfv
+zatoichi
+zaxscdvf
+zazazaza
+zcar1122
+zcfvfzkexifz
+zcfvfzrhfcbdfz
+zcGihLKe
+zcxfcnkbdf
+zcxfcnkbdfz
+zebra123
+zeilboot
+zelenograd
+zemanova
+zenit2011
+zenitram
+zeppelin
+zergling
+zero0000
+zerocool
+zerohour
+zerozero
+ZesyRmvu
+zetazeta
+zeuszeus
+zexts364325
+zghjcnjcegth
+zheng2568
+zhjckfdf
+zhongguo
+zidane10
+zigazaga
+ziggy123
+ziggydog
+zildjian
+zima2011
+zimarules
+zimbabwe
+zimmer483
+zimmerma
+zimmerman
+zinedine
+zinger48
+zipdrive
+zippo123
+zippy123
+zjhhjhkj
+zjses9evpa
+zldej102
+zMpIMejE
+zn87x54mxma
+zobrdjlrb1
+zoidberg
+zolushka
+zolushka1
+zolushka2
+zombie13
+zoomzoom
+zootsuit
+zorro123
+zosozoso
+zpflhjn1
+zQjphsyf6ctifgu
+zrjdktdf
+zse45rdx
+zse4xdr5
+zsecyus56
+zsxmr7sztmr
+zucchero
+zuluzulu
+zwilling
+ZwT2sBzL
+zx123456
+zx123456789
+zx12zx12
+zxasqw12
+zxc12345
+zxc123456
+zxc123zxc
+zxcasdqw
+zxcasdqwe
+zxcasdqwe123
+zxcdsaqwe
+zxcqweasd
+zxcv1234
+zxcvasdf
+zxcvasdfqwer
+zxcvb09876
+zxcvb123
+zxcvb12345
+zxcvbasdfg
+zxcvbn12
+zxcvbn123
+zxcvbn123456
+zxcvbn3215
+zxcvbnm1
+zxcvbnm12
+zxcvbnm123
+zxcvbnm123456789
+zxcvbnm2
+zxcvbnma
+zxcvbnmm
+zxcvbnmmnbvcxz
+zxcvbnmz
+zxcvbnmzxcvbnm
+zxcvbzxcvb
+zxcvfdsa
+zxcvqwer
+zxcvvcxz
+zxcvzxcv
+zxczxczxc
+zxzxzxzx
+Zz123456
+ZZ8807zpl
+zzxxccvv
+zzzxxxccc
+zzzz1111
+zzzzxxxx
+Zzzzzzz1

+ 29 - 0
app/src/foss_based/java/ch/threema/app/activities/VoiceActionActivity.java

@@ -0,0 +1,29 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.activities;
+
+public class VoiceActionActivity {
+
+	private VoiceActionActivity() {
+		// stub, no voice assistant api in foss build
+	}
+}

+ 36 - 0
app/src/foss_based/java/ch/threema/app/licensing/StoreLicenseCheck.java

@@ -0,0 +1,36 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.licensing;
+
+import android.content.Context;
+
+import ch.threema.app.routines.CheckLicenseRoutine;
+import ch.threema.app.services.UserService;
+
+public class StoreLicenseCheck implements CheckLicenseRoutine.StoreLicenseChecker {
+
+	private StoreLicenseCheck() {}
+
+	public static void checkLicense(Context context, UserService userService) {
+		// stub, no platform store license check in foss based builds
+	}
+}

+ 13 - 14
app/src/main/java/ch/threema/app/preference/SettingsChatFragment.java → app/src/foss_based/java/ch/threema/app/push/PushRegistrationWorker.java

@@ -4,7 +4,7 @@
  *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
  *
  * Threema for Android
- * Copyright (c) 2018-2022 Threema GmbH
+ * Copyright (c) 2021-2022 Threema GmbH
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License, version 3,
@@ -19,25 +19,24 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-package ch.threema.app.preference;
+package ch.threema.app.push;
 
-import android.os.Bundle;
-import androidx.annotation.Nullable;
-import android.view.View;
+import android.content.Context;
 
-import ch.threema.app.R;
+import androidx.annotation.NonNull;
+import androidx.work.Worker;
+import androidx.work.WorkerParameters;
 
-public class SettingsChatFragment extends ThreemaPreferenceFragment {
+public class PushRegistrationWorker extends Worker {
 
-	@Override
-	public void onCreatePreferencesFix(@Nullable Bundle savedInstanceState, String rootKey) {
-		addPreferencesFromResource(R.xml.preference_chat);
+	public PushRegistrationWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
+		super(context, workerParams);
 	}
 
+	@NonNull
 	@Override
-	public void onViewCreated(View view, Bundle savedInstanceState) {
-		preferenceFragmentCallbackInterface.setToolbarTitle(R.string.prefs_chatdisplay);
-		super.onViewCreated(view, savedInstanceState);
+	public Result doWork() {
+		// stub, no push services in foss build
+		return Result.success();
 	}
-
 }

+ 49 - 0
app/src/foss_based/java/ch/threema/app/push/PushService.java

@@ -0,0 +1,49 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.push;
+
+import android.content.Context;
+
+import org.slf4j.Logger;
+
+public class PushService {
+
+	public static void deleteToken(Context context) {
+		// stub
+	}
+
+	public void onMessageReceived() {
+		// stub
+	}
+
+	public static boolean hmsServicesInstalled(Context context) {
+		return false;
+	}
+
+	public static boolean playServicesInstalled(Context context) {
+		return false;
+	}
+
+	public static boolean servicesInstalled(Context context) {
+		return false;
+	}
+}

+ 28 - 0
app/src/foss_based/java/ch/threema/app/services/VoiceActionService.java

@@ -0,0 +1,28 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.services;
+
+public class VoiceActionService {
+	private VoiceActionService() {
+		// stub, no voice api in foss build
+	}
+}

+ 0 - 0
app/src/main/java/ch/threema/app/activities/VoiceActionActivity.java → app/src/google_services_based/java/ch/threema/app/activities/VoiceActionActivity.java


+ 88 - 0
app/src/google_services_based/java/ch/threema/app/licensing/StoreLicenseCheck.java

@@ -0,0 +1,88 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.licensing;
+
+import android.content.Context;
+import android.content.ReceiverCallNotAllowedException;
+
+import com.google.android.vending.licensing.LicenseChecker;
+import com.google.android.vending.licensing.LicenseCheckerCallback;
+
+import org.slf4j.Logger;
+
+import ch.threema.app.ThreemaLicensePolicy;
+import ch.threema.app.routines.CheckLicenseRoutine;
+import ch.threema.app.services.UserService;
+import ch.threema.base.utils.LoggingUtil;
+
+public class StoreLicenseCheck implements CheckLicenseRoutine.StoreLicenseChecker {
+	private static final Logger logger = LoggingUtil.getThreemaLogger("StoreLicenseCheck");
+
+	private static final String LICENSE_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqJArbOQT3Vi2KUEbyk+xq+DSsowwIYoudh3miXC7DmR6SVL6ji7XG8C+hmtR6t+Ytar64z87xgTPiEPiuyyg6/fp8ALRLAjM2FmZadSS4hSpvmJKb2ViFyUmcCJ8MoZ2QPxA+SVGZFdwIwwXdHPx2xUQw6ftyx0EF0hvF4nwHLvq89p03QtiPnIb0A3MOEXsq88xu2xAUge/BTvRWo0gWTtIJhTdZXY2CSib5d/G45xca0DKgOECAaMxVbFhE5jSyS+qZvUN4tABgDKBiEPuuzBBaHVt/m7MQoqoM6kcNrozACmIx6UdwWbkK3Isa9Xo9g3Yy6oc9Mp/9iKXwco4vwIDAQAB";
+
+	private StoreLicenseCheck() {}
+
+	public static void checkLicense(Context context, UserService userService) {
+		logger.debug("Checking LVL licence");
+		final ThreemaLicensePolicy policy = new ThreemaLicensePolicy();
+		LicenseCheckerCallback callback = new LicenseCheckerCallback() {
+			@Override
+			public void allow(int reason) {
+				logger.debug("LVL License OK");
+				userService.setPolicyResponse(
+					policy.getLastResponseData().responseData,
+					policy.getLastResponseData().signature,
+					0
+				);
+			}
+
+			@Override
+			public void dontAllow(int reason) {
+				// 561 == not licensed
+				// 291 == no connection
+				logger.debug("LVL License not allowed (code {})", reason);
+				userService.setPolicyResponse(
+					null,
+					null,
+					reason
+				);
+			}
+
+			@Override
+			public void applicationError(int errorCode) {
+				logger.debug("LVL License check failed errorCode: {}", errorCode);
+				userService.setPolicyResponse(
+					null,
+					null,
+					errorCode
+				);
+			}
+		};
+		LicenseChecker licenseChecker = new LicenseChecker(context, policy, LICENSE_PUBLIC_KEY);
+		try {
+			licenseChecker.checkAccess(callback);
+		}
+		catch (ReceiverCallNotAllowedException x) {
+			logger.error("LVL: Receiver call not allowed", x);
+		}
+	}
+}

+ 0 - 0
app/src/main/java/ch/threema/app/ThreemaLicensePolicy.java → app/src/google_services_based/java/ch/threema/app/licensing/ThreemaLicensePolicy.java


+ 2 - 2
app/src/google_services_based/java/ch/threema/app/push/PushRegistrationWorker.java

@@ -26,7 +26,6 @@ import android.content.Context;
 import com.google.firebase.iid.FirebaseInstanceId;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 
@@ -36,10 +35,11 @@ import androidx.work.Worker;
 import androidx.work.WorkerParameters;
 import ch.threema.app.utils.PushUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.csp.ProtocolDefines;
 
 public class PushRegistrationWorker extends Worker {
-	private final Logger logger = LoggerFactory.getLogger(PushRegistrationWorker.class);
+	private final Logger logger = LoggingUtil.getThreemaLogger("PushRegistrationWorker");
 
 	private final Context appContext;
 

+ 2 - 2
app/src/google_services_based/java/ch/threema/app/push/PushService.java

@@ -31,7 +31,6 @@ import com.google.firebase.messaging.FirebaseMessagingService;
 import com.google.firebase.messaging.RemoteMessage;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.Date;
@@ -41,10 +40,11 @@ import androidx.annotation.NonNull;
 import ch.threema.app.utils.PushUtil;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.csp.ProtocolDefines;
 
 public class PushService extends FirebaseMessagingService {
-	private static final Logger logger = LoggerFactory.getLogger(PushService.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("PushService");
 
 	public static final String EXTRA_CLEAR_TOKEN = "clear";
 	public static final String EXTRA_WITH_CALLBACK = "cb";

+ 2 - 3
app/src/main/java/ch/threema/app/services/VoiceActionService.java → app/src/google_services_based/java/ch/threema/app/services/VoiceActionService.java

@@ -33,7 +33,6 @@ import android.widget.Toast;
 import com.google.android.search.verification.client.SearchActionVerificationClientService;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 
@@ -41,16 +40,16 @@ import androidx.annotation.RequiresApi;
 import androidx.core.app.NotificationCompat;
 import ch.threema.app.R;
 import ch.threema.app.ThreemaApplication;
-import ch.threema.app.activities.RecipientListBaseActivity;
 import ch.threema.app.managers.ServiceManager;
 import ch.threema.app.messagereceiver.MessageReceiver;
 import ch.threema.app.ui.MediaItem;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.ContactModel;
 
 public class VoiceActionService extends SearchActionVerificationClientService {
-	private static final Logger logger = LoggerFactory.getLogger(VoiceActionService.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("VoiceActionService");
 	private static final String TAG = "VoiceActionService";
 
 	private MessageService messageService;

+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/AESObfuscator.java → app/src/google_services_based/java/com/google/android/vending/licensing/AESObfuscator.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/DeviceLimiter.java → app/src/google_services_based/java/com/google/android/vending/licensing/DeviceLimiter.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/ILicenseResultListener.java → app/src/google_services_based/java/com/google/android/vending/licensing/ILicenseResultListener.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/ILicensingService.java → app/src/google_services_based/java/com/google/android/vending/licensing/ILicensingService.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/LicenseChecker.java → app/src/google_services_based/java/com/google/android/vending/licensing/LicenseChecker.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/LicenseCheckerCallback.java → app/src/google_services_based/java/com/google/android/vending/licensing/LicenseCheckerCallback.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/LicenseValidator.java → app/src/google_services_based/java/com/google/android/vending/licensing/LicenseValidator.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/NullDeviceLimiter.java → app/src/google_services_based/java/com/google/android/vending/licensing/NullDeviceLimiter.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/Obfuscator.java → app/src/google_services_based/java/com/google/android/vending/licensing/Obfuscator.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/Policy.java → app/src/google_services_based/java/com/google/android/vending/licensing/Policy.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/PreferenceObfuscator.java → app/src/google_services_based/java/com/google/android/vending/licensing/PreferenceObfuscator.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/ResponseData.java → app/src/google_services_based/java/com/google/android/vending/licensing/ResponseData.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/StrictPolicy.java → app/src/google_services_based/java/com/google/android/vending/licensing/StrictPolicy.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/ValidationException.java → app/src/google_services_based/java/com/google/android/vending/licensing/ValidationException.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/util/Base64.java → app/src/google_services_based/java/com/google/android/vending/licensing/util/Base64.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/util/Base64DecoderException.java → app/src/google_services_based/java/com/google/android/vending/licensing/util/Base64DecoderException.java


+ 0 - 0
app/src/main/java/com/google/android/vending/licensing/util/URIQueryDecoder.java → app/src/google_services_based/java/com/google/android/vending/licensing/util/URIQueryDecoder.java


+ 5 - 2
app/src/hms/java/ch/threema/app/utils/DownloadUtil.java

@@ -21,6 +21,9 @@
 
 package ch.threema.app.utils;
 
-public class DownloadUtil  {
-	//stub
+import android.content.Context;
+
+public class DownloadUtil {
+	// stub
+	public static void deleteOldAPKs(Context context) {	}
 }

+ 29 - 0
app/src/hms_services_based/java/ch/threema/app/activities/VoiceActionActivity.java

@@ -0,0 +1,29 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.activities;
+
+public class VoiceActionActivity {
+
+	private VoiceActionActivity() {
+		// stub, no voice assistant api in hms build
+	}
+}

+ 68 - 0
app/src/hms_services_based/java/ch/threema/app/licensing/StoreLicenseCheck.java

@@ -0,0 +1,68 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.licensing;
+
+import android.app.Activity;
+import android.content.Context;
+
+import com.DrmSDK.Drm;
+import com.DrmSDK.DrmCheckCallback;
+
+import org.slf4j.Logger;
+
+import ch.threema.app.routines.CheckLicenseRoutine;
+import ch.threema.app.services.UserService;
+
+public class StoreLicenseCheck implements CheckLicenseRoutine.StoreLicenseChecker {
+	private static final Logger logger = LoggingUtil.getThreemaLogger("StoreLicenseCheck");
+
+	private static final String HMS_ID = "5190041000024384032";
+	private static final String HMS_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA26ccdC7mLHomHTnKvSRGg7Vuex19xD3qv8CEOUj5lcT5Z81ARby5CVhM/ZM9zKCQcrKmenn1aih6X+uZoNsvBziDUySkrzXPTX/NfoFDQlHgyXan/xsoIPlE1v0D9dLV7fgPOllHxmN8wiwF+woACo3ao/ra2VY38PCZTmfMX/V+hOLHsdRakgWVshzeYTtzMjlLrnYOp5AFXEjFhF0dB92ozAmLzjFJtwyMdpbVD+yRVr+fnLJ6ADhBpoKLjvpn8A7PhpT5wsvogovdr16u/uKhPy5an4DXE0bjWc76bE2SEse/bQTvPoGRw5TjHVWi7uDMFSz3OOGUqLSygucPdwIDAQAB";
+
+	private StoreLicenseCheck() {}
+
+	public static void checkLicense(Context context, UserService userService) {
+		logger.debug("Check HMS license");
+		DrmCheckCallback callback = new DrmCheckCallback() {
+			@Override
+			public void onCheckSuccess(String signData, String signature) {
+				logger.info("HMS License OK");
+				userService.setPolicyResponse(
+					signData,
+					signature,
+					0
+				);
+			}
+
+			@Override
+			public void onCheckFailed(int errorCode) {
+				logger.debug("HMS License failed errorCode: {}", errorCode);
+				userService.setPolicyResponse(
+					null,
+					null,
+					errorCode
+				);
+			}
+		};
+		Drm.check((Activity) context, context.getPackageName(), HMS_ID, HMS_PUBLIC_KEY, callback);
+	}
+}

+ 1 - 2
app/src/hms_services_based/java/ch/threema/app/push/PushRegistrationWorker.java

@@ -27,7 +27,6 @@ import com.huawei.agconnect.config.AGConnectServicesConfig;
 import com.huawei.hms.aaid.HmsInstanceId;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.NonNull;
 import androidx.work.Data;
@@ -37,7 +36,7 @@ import ch.threema.app.utils.PushUtil;
 import ch.threema.domain.protocol.csp.ProtocolDefines;
 
 public class PushRegistrationWorker extends Worker {
-	private final Logger logger = LoggerFactory.getLogger(PushRegistrationWorker.class);
+	private final Logger logger = LoggingUtil.getThreemaLogger("PushRegistrationWorker");
 
 	public static String TOKEN_SCOPE = "HCM";
 	public static String APP_ID_CONFIG_FIELD = "client/app_id";

+ 1 - 2
app/src/hms_services_based/java/ch/threema/app/push/PushService.java

@@ -33,7 +33,6 @@ import com.huawei.hms.push.HmsMessageService;
 import com.huawei.hms.push.RemoteMessage;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.Date;
 import java.util.Map;
@@ -49,7 +48,7 @@ import static ch.threema.app.push.PushRegistrationWorker.APP_ID_CONFIG_FIELD;
 import static ch.threema.app.push.PushRegistrationWorker.TOKEN_SCOPE;
 
 public class PushService extends HmsMessageService {
-	private static final Logger logger = LoggerFactory.getLogger(PushService.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("PushService");
 
 	@Override
 	public void onNewToken(@NonNull String token) {

+ 29 - 0
app/src/hms_services_based/java/ch/threema/app/services/VoiceActionService.java

@@ -0,0 +1,29 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2021-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.services;
+
+public class VoiceActionService {
+
+	private VoiceActionService() {
+		// stub, no voice assistant api in hms build
+	}
+}

+ 0 - 0
app/src/main/java/com/DrmSDK/Constants.java → app/src/hms_services_based/java/com/DrmSDK/Constants.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DialogObserver.java → app/src/hms_services_based/java/com/DrmSDK/DialogObserver.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DialogTrigger.java → app/src/hms_services_based/java/com/DrmSDK/DialogTrigger.java


+ 0 - 0
app/src/main/java/com/DrmSDK/Drm.java → app/src/hms_services_based/java/com/DrmSDK/Drm.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DrmCheckCallback.java → app/src/hms_services_based/java/com/DrmSDK/DrmCheckCallback.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DrmDialogActivity.java → app/src/hms_services_based/java/com/DrmSDK/DrmDialogActivity.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DrmKernel.java → app/src/hms_services_based/java/com/DrmSDK/DrmKernel.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DrmResource.java → app/src/hms_services_based/java/com/DrmSDK/DrmResource.java


+ 0 - 0
app/src/main/java/com/DrmSDK/DrmStatusCodes.java → app/src/hms_services_based/java/com/DrmSDK/DrmStatusCodes.java


+ 0 - 0
app/src/main/java/com/DrmSDK/EMUISupportUtil.java → app/src/hms_services_based/java/com/DrmSDK/EMUISupportUtil.java


+ 0 - 0
app/src/main/java/com/DrmSDK/HwInvoke.java → app/src/hms_services_based/java/com/DrmSDK/HwInvoke.java


+ 0 - 0
app/src/main/java/com/DrmSDK/ICallback.java → app/src/hms_services_based/java/com/DrmSDK/ICallback.java


+ 0 - 0
app/src/main/java/com/DrmSDK/IDrmSignService.java → app/src/hms_services_based/java/com/DrmSDK/IDrmSignService.java


+ 0 - 0
app/src/main/java/com/DrmSDK/ViewHelper.java → app/src/hms_services_based/java/com/DrmSDK/ViewHelper.java


+ 0 - 0
app/src/main/java/com/DrmSDK/util/ApplicationWrapper.java → app/src/hms_services_based/java/com/DrmSDK/util/ApplicationWrapper.java


+ 0 - 0
app/src/main/java/com/DrmSDK/util/DeviceSession.java → app/src/hms_services_based/java/com/DrmSDK/util/DeviceSession.java


+ 0 - 0
app/src/main/java/com/DrmSDK/util/NetUtils.java → app/src/hms_services_based/java/com/DrmSDK/util/NetUtils.java


+ 0 - 0
app/src/main/java/com/DrmSDK/util/ReportUtils.java → app/src/hms_services_based/java/com/DrmSDK/util/ReportUtils.java


+ 0 - 0
app/src/main/java/com/DrmSDK/util/SharedPreferencesWrapper.java → app/src/hms_services_based/java/com/DrmSDK/util/SharedPreferencesWrapper.java


+ 5 - 2
app/src/hms_work/java/ch/threema/app/utils/DownloadUtil.java

@@ -21,6 +21,9 @@
 
 package ch.threema.app.utils;
 
-public class DownloadUtil  {
-	//stub
+import android.content.Context;
+
+public class DownloadUtil {
+	// stub
+	public static void deleteOldAPKs(Context context) {	}
 }

+ 45 - 14
app/src/main/AndroidManifest.xml

@@ -62,6 +62,7 @@
 	<!-- Access to audio settings and bluetooth for voice calls -->
 	<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
 	<uses-permission android:name="android.permission.BLUETOOTH"/>
+	<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
 
 	<!-- Permissions for biometric unlocking  -->
 	<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
@@ -190,7 +191,8 @@
 			android:label="@string/app_name"
 			android:launchMode="singleTop"
 			android:theme="@style/SplashTheme"
-			android:configChanges="uiMode">
+			android:configChanges="uiMode"
+			android:exported="true">
 			<intent-filter>
 				<action android:name="android.intent.action.MAIN"/>
 
@@ -215,7 +217,8 @@
 			android:parentActivityName=".activities.HomeActivity"
 			android:theme="@style/Theme.Threema.WithToolbar"
 			android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
-			android:windowSoftInputMode="stateUnchanged">
+			android:windowSoftInputMode="stateUnchanged"
+			android:exported="true">
 			<intent-filter android:label="@string/threema_contact"
 					tools:ignore="AppLinkUrlError">
 				<action android:name="android.intent.action.VIEW"/>
@@ -230,7 +233,8 @@
 			android:taskAffinity=""
 			android:launchMode="singleTask"
 			android:theme="@style/Theme.Threema.WithToolbar"
-			android:configChanges="uiMode">
+			android:configChanges="uiMode"
+			android:exported="true">
 			<intent-filter android:label="@string/app_name">
 				<action android:name="android.intent.action.SEND"/>
 				<category android:name="android.intent.category.DEFAULT"/>
@@ -337,6 +341,14 @@
 			android:name=".activities.LicenseActivity"
 			android:theme="@style/Theme.Threema.WithToolbar"
 			android:configChanges="uiMode" />
+		<activity
+			android:name=".activities.TermsOfServiceActivity"
+			android:theme="@style/Theme.Threema.WithToolbar"
+			android:configChanges="uiMode" />
+		<activity
+			android:name=".activities.EulaActivity"
+			android:theme="@style/Theme.Threema.WithToolbar"
+			android:configChanges="uiMode" />
 		<activity
 			android:name=".activities.ExportIDResultActivity"
 			android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
@@ -701,6 +713,12 @@
 			android:resizeableActivity="true"
 			android:windowSoftInputMode="adjustNothing"
 			android:configChanges="uiMode" />
+		<activity
+			android:name=".activities.EditSendContactActivity"
+			android:theme="@style/Theme.Threema.Translucent"
+			android:resizeableActivity="true"
+			android:windowSoftInputMode="adjustResize"
+			android:configChanges="uiMode" />
 		<activity
 			android:name=".threemasafe.ThreemaSafeConfigureActivity"
 			android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
@@ -741,14 +759,6 @@
 					android:pathPattern="/join#\.*"/>
 			</intent-filter>
 		</activity>
-		<activity
-			android:name=".qrscanner.activity.CaptureActivity"
-			android:label="@string/capture_name"
-			android:clearTaskOnLaunch="true"
-			android:stateNotNeeded="true"
-			android:configChanges="orientation|keyboardHidden"
-			android:theme="@style/Theme.Threema.Translucent"
-			android:windowSoftInputMode="stateAlwaysHidden"/>
 		<activity
 			android:name=".camera.CameraActivity"
 			android:screenOrientation="fullSensor"
@@ -788,6 +798,18 @@
 			android:name=".activities.TextChatBubbleActivity"
 			android:theme="@style/Theme.Threema.WithToolbar"
 			android:launchMode="singleTop"/>
+		<activity
+			android:name=".camera.QRScannerActivity"
+			android:clearTaskOnLaunch="true"
+			android:stateNotNeeded="true"
+			android:configChanges="orientation|keyboardHidden"
+			android:theme="@style/Theme.Threema.Camera"
+			android:windowSoftInputMode="stateAlwaysHidden" />
+		<activity
+			android:name=".activities.ThreemaPushNotificationInfoActivity"
+			android:launchMode="singleTask"
+			android:taskAffinity=""
+			android:excludeFromRecents="true" />
 
 		<!-- services -->
 		<service
@@ -889,10 +911,9 @@
 			android:exported="false"
 			android:permission="android.permission.BIND_JOB_SERVICE"/>
 		<service
-			android:name=".jobs.ShareTargetShortcutUpdateJobService"
-			android:enabled="true"
+			android:name=".services.ThreemaPushService"
 			android:exported="false"
-			android:permission="android.permission.BIND_JOB_SERVICE"/>
+			android:label="ThreemaPushService"/>
 
 		<!-- broadcast receivers -->
 		<receiver
@@ -957,6 +978,16 @@
 				android:resource="@xml/file_paths"/>
 		</provider>
 
+		<!-- disable emoji2 because we use our own emoji parsing -->
+		<provider
+			android:name="androidx.startup.InitializationProvider"
+			android:authorities="${applicationId}.androidx-startup"
+			android:exported="false"
+			tools:node="merge">
+			<meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
+				tools:node="remove" />
+		</provider>
+
 		<!-- samsung multiwindow -->
 		<uses-library
 			android:name="com.sec.android.app.multiwindow"

+ 2 - 2
app/src/main/java/ch/threema/app/AutostartService.java

@@ -29,7 +29,6 @@ import android.net.ConnectivityManager;
 import android.os.Build;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.NonNull;
 import androidx.core.app.FixedJobIntentService;
@@ -41,12 +40,13 @@ import ch.threema.app.services.NotificationService;
 import ch.threema.app.services.PreferenceService;
 import ch.threema.app.services.UserService;
 import ch.threema.app.utils.IntentDataUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.localcrypto.MasterKey;
 
 import static ch.threema.app.services.NotificationService.NOTIFICATION_CHANNEL_NOTICE;
 
 public class AutostartService extends FixedJobIntentService {
-	private static final Logger logger = LoggerFactory.getLogger(AutostartService.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("AutostartService");
 	private static final int JOB_ID = 2000;
 
 	public static void enqueueWork(Context context, Intent work) {

+ 84 - 18
app/src/main/java/ch/threema/app/BuildFlavor.java

@@ -32,78 +32,144 @@ public class BuildFlavor {
 	private final static String FLAVOR_RED = "red";
 	private final static String FLAVOR_HMS = "hms";
 	private final static String FLAVOR_HMS_WORK = "hms_work";
+	private final static String FLAVOR_FDROID = "fdroid";
 
 	public enum LicenseType {
 		NONE, GOOGLE, SERIAL, GOOGLE_WORK, HMS, HMS_WORK, ONPREM
 	}
 
-	private static boolean initialized = false;
+	private static volatile boolean initialized = false;
 	private static LicenseType licenseType = null;
 	private static String name = null;
 
 	/**
-	 * License Type
-	 * @return
+	 * Return the build flavor {@link LicenseType}.
 	 */
 	public static LicenseType getLicenseType() {
 		init();
 		return licenseType;
 	}
 
+	/**
+	 * Return the build flavor name.
+	 */
 	public static String getName() {
 		init();
 		return name;
 	}
 
-	private static void init() {
-		if(!initialized) {
+	/**
+	 * Return whether the self-updater is supported or not.
+	 */
+	@SuppressWarnings("ConstantConditions")
+	public static boolean maySelfUpdate() {
+		switch (BuildConfig.FLAVOR) {
+			case FLAVOR_STORE_THREEMA:
+				return true;
+			default:
+				return false;
+		}
+	}
+
+	/**
+	 * Return whether this build flavor always uses Threema Push.
+	 */
+	@SuppressWarnings("ConstantConditions")
+	public static boolean forceThreemaPush() {
+		switch (BuildConfig.FLAVOR) {
+			case FLAVOR_FDROID:
+				return true;
+			default:
+				return false;
+		}
+	}
 
+	/**
+	 * Return whether this build flavor is "libre", meaning that it contains
+	 * no proprietary services.
+	 */
+	@SuppressWarnings("ConstantConditions")
+	public static boolean isLibre() {
+		switch (BuildConfig.FLAVOR) {
+			case FLAVOR_FDROID:
+				return true;
+			default:
+				return false;
+		}
+	}
+
+	@SuppressWarnings("ConstantConditions")
+	private static synchronized void init() {
+		if (!initialized) {
+			// License Type
 			switch (BuildConfig.FLAVOR) {
+				case FLAVOR_NONE:
+				case FLAVOR_SANDBOX:
+					licenseType = LicenseType.NONE;
+					break;
 				case FLAVOR_STORE_GOOGLE:
 					licenseType = LicenseType.GOOGLE;
+					break;
+				case FLAVOR_STORE_GOOGLE_WORK:
+				case FLAVOR_SANDBOX_WORK:
+				case FLAVOR_RED:
+					licenseType = LicenseType.GOOGLE_WORK;
+					break;
+				case FLAVOR_ONPREM:
+					licenseType = LicenseType.ONPREM;
+					break;
+				case FLAVOR_HMS:
+					licenseType = LicenseType.HMS;
+					break;
+				case FLAVOR_HMS_WORK:
+					licenseType = LicenseType.HMS_WORK;
+					break;
+				case FLAVOR_FDROID:
+					licenseType = LicenseType.SERIAL;
+					break;
+				default:
+					throw new IllegalStateException("Unhandled build flavor " + BuildConfig.FLAVOR);
+			}
+
+			// Name
+			switch (BuildConfig.FLAVOR) {
+				case FLAVOR_STORE_GOOGLE:
 					name = "Google Play";
 					break;
 				case FLAVOR_STORE_THREEMA:
-					licenseType = LicenseType.SERIAL;
 					name = "Threema Shop";
 					break;
 				case FLAVOR_NONE:
-					licenseType = LicenseType.NONE;
 					name = "DEV";
 					break;
 				case FLAVOR_STORE_GOOGLE_WORK:
-					licenseType = LicenseType.GOOGLE_WORK;
 					name = "Work";
 					break;
 				case FLAVOR_SANDBOX:
 					name = "Sandbox";
-					licenseType = LicenseType.NONE;
 					break;
 				case FLAVOR_SANDBOX_WORK:
 					name = "Sandbox Work";
-					licenseType = LicenseType.GOOGLE_WORK;
 					break;
 				case FLAVOR_ONPREM:
 					name = "OnPrem";
-					licenseType = LicenseType.ONPREM;
 					break;
 				case FLAVOR_RED:
 					name = "Red";
-					licenseType = LicenseType.GOOGLE_WORK;
 					break;
 				case FLAVOR_HMS:
 					name = "HMS";
-					licenseType = LicenseType.HMS;
 					break;
 				case FLAVOR_HMS_WORK:
-					name = "Hms Work";
-					licenseType = LicenseType.HMS_WORK;
+					name = "HMS Work";
+					break;
+				case FLAVOR_FDROID:
+					name = "F-Droid";
 					break;
 				default:
-					throw new RuntimeException("invalid flavor build " + BuildConfig.FLAVOR);
+					throw new IllegalStateException("Unhandled build flavor " + BuildConfig.FLAVOR);
 			}
-
-			if(BuildConfig.DEBUG) {
+			if (BuildConfig.DEBUG) {
 				name += " (DEBUG)";
 			}
 

+ 129 - 77
app/src/main/java/ch/threema/app/ThreemaApplication.java

@@ -36,6 +36,7 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.database.ContentObserver;
 import android.net.ConnectivityManager;
 import android.os.Build;
@@ -48,7 +49,6 @@ import android.widget.Toast;
 
 import com.datatheorem.android.trustkit.TrustKit;
 import com.datatheorem.android.trustkit.reporting.BackgroundReporter;
-import com.google.common.util.concurrent.ListenableFuture;
 import com.mapbox.mapboxsdk.Mapbox;
 
 import net.sqlcipher.database.SQLiteException;
@@ -66,7 +66,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
-import java.util.Set;
+import java.util.Objects;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
@@ -86,13 +86,11 @@ import androidx.work.Constraints;
 import androidx.work.ExistingPeriodicWorkPolicy;
 import androidx.work.NetworkType;
 import androidx.work.PeriodicWorkRequest;
-import androidx.work.WorkInfo;
 import androidx.work.WorkManager;
 import ch.threema.app.backuprestore.csv.BackupService;
 import ch.threema.app.exceptions.DatabaseMigrationFailedException;
 import ch.threema.app.exceptions.FileSystemNotPresentException;
 import ch.threema.app.grouplinks.IncomingGroupJoinRequestListener;
-import ch.threema.app.jobs.ShareTargetShortcutUpdateJobService;
 import ch.threema.app.jobs.WorkSyncJobService;
 import ch.threema.app.jobs.WorkSyncService;
 import ch.threema.app.listeners.BallotVoteListener;
@@ -128,6 +126,7 @@ import ch.threema.app.services.MessageServiceImpl;
 import ch.threema.app.services.NotificationService;
 import ch.threema.app.services.PreferenceService;
 import ch.threema.app.services.SynchronizeContactsService;
+import ch.threema.app.services.ThreemaPushService;
 import ch.threema.app.services.UpdateSystemService;
 import ch.threema.app.services.UpdateSystemServiceImpl;
 import ch.threema.app.services.UserService;
@@ -147,6 +146,7 @@ import ch.threema.app.utils.ShortcutUtil;
 import ch.threema.app.utils.StateBitmapUtil;
 import ch.threema.app.utils.TestUtil;
 import ch.threema.app.utils.WidgetUtil;
+import ch.threema.app.utils.WorkManagerUtil;
 import ch.threema.app.voip.Config;
 import ch.threema.app.voip.listeners.VoipCallEventListener;
 import ch.threema.app.voip.managers.VoipListenerManager;
@@ -158,6 +158,7 @@ import ch.threema.app.webclient.services.SessionWakeUpServiceImpl;
 import ch.threema.app.webclient.services.instance.DisconnectContext;
 import ch.threema.app.webclient.state.WebClientSessionState;
 import ch.threema.app.workers.IdentityStatesWorker;
+import ch.threema.app.workers.ShareTargetUpdateWorker;
 import ch.threema.base.ThreemaException;
 import ch.threema.base.crypto.NonceFactory;
 import ch.threema.base.utils.LoggingUtil;
@@ -206,6 +207,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public static final String INTENT_DATA_TIMESTAMP = "timestamp";
 	public static final String INTENT_DATA_EDITFOCUS = "editfocus";
 	public static final String INTENT_DATA_GROUP = "group";
+	public static final String INTENT_DATA_GROUP_API = "group_api";
 	public static final String INTENT_DATA_GROUP_LINK = "group_link";
 	public static final String INTENT_DATA_DISTRIBUTION_LIST = "distribution_list";
 	public static final String INTENT_DATA_ARCHIVE_FILTER = "archiveFilter";
@@ -231,6 +233,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public static final String CONFIRM_TAG_CLOSE_BALLOT = "cb";
 
 	// Notification IDs
+	public static final int PASSPHRASE_SERVICE_NOTIFICATION_ID = 587;
 	public static final int NEW_MESSAGE_NOTIFICATION_ID = 723;
 	public static final int MASTER_KEY_LOCKED_NOTIFICATION_ID = 724;
 	public static final int NEW_MESSAGE_LOCKED_NOTIFICATION_ID = 725;
@@ -243,7 +246,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public static final int WORK_SYNC_NOTIFICATION_ID = 735;
 	public static final int NEW_SYNCED_CONTACTS_NOTIFICATION_ID = 736;
 	public static final int WEB_RESUME_FAILED_NOTIFICATION_ID = 737;
-	public static final int PASSPHRASE_SERVICE_NOTIFICATION_ID = 587;
+	public static final int IDENTITY_SYNC_NOTIFICATION_ID = 748;
 	public static final int INCOMING_CALL_NOTIFICATION_ID = 800;
 	public static final int GROUP_RESPONSE_NOTIFICATION_ID = 801;
 	public static final int GROUP_REQUEST_NOTIFICATION_ID = 802;
@@ -254,7 +257,9 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public static final String PHONE_LINKED_PLACEHOLDER = "***";
 	public static final String EMAIL_LINKED_PLACEHOLDER = "***@***";
 
-	public static final long ACTIVITY_CONNECTION_LIFETIME = 60000;
+	private static final String ACTIVITY_CONNECTION_TAG = "threemaApplication";
+	private static final long ACTIVITY_CONNECTION_LIFETIME = 60000;
+
 	public static final int MAX_BLOB_SIZE_MB = 100;
 	public static final int MAX_BLOB_SIZE = MAX_BLOB_SIZE_MB * 1024 * 1024;
 	public static final int MIN_PIN_LENGTH = 4;
@@ -265,9 +270,9 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public static final int MIN_PW_LENGTH_ID_EXPORT_LEGACY = 4; // extremely ancient versions of the app on some platform accepted four-letter passwords when generating ID exports
 
 	private static final int WORK_SYNC_JOB_ID = 63339;
-	public static final int SHORTCUTS_UPDATE_JOB_ID = 63340;
 
 	private static final String WORKER_IDENTITY_STATES_PERIODIC_NAME = "IdentityStates";
+	public static final String WORKER_SHARE_TARGET_UPDATE = "ShareTargetUpdate";
 	private static final String EXIT_REASON_LOGGING_TIMESTAMP = "exit_reason_timestamp";
 
 	private static Context context;
@@ -365,6 +370,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 		// Initialize TrustKit for CA pinning
 		TrustKit.initializeWithNetworkSecurityConfiguration(this);
 
+		// Set unhandled exception logger
 		LoggingUEH loggingUEH = new LoggingUEH(getAppContext());
 		loggingUEH.setRunOnUncaughtException(() -> {
 			// Hack: must delete message queue file if we crash, or else we might get into a loop
@@ -383,10 +389,10 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 
 		ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
 
-		/* Instantiate our own SecureRandom implementation to make sure this gets used everywhere */
+		// Instantiate our own SecureRandom implementation to make sure this gets used everywhere
 		new LinuxSecureRandom();
 
-		/* prepare app version object */
+		// Prepare app version object
 		appVersion = new AppVersion(
 				ConfigUtils.getAppVersion(getAppContext()),
 				"A",
@@ -396,7 +402,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 				Build.VERSION.RELEASE
 		);
 
-		//create master key
+		// Create master key
 		File filesDir = getAppContext().getFilesDir();
 		if (filesDir != null) {
 			filesDir.mkdirs();
@@ -477,26 +483,44 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 					logger.error("IOException", e);
 				}
 
-				getAppContext().registerReceiver(new ConnectivityChangeReceiver(), new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
+				// Register "Connectivity Action" broadcast receiver.
+				// This is called when a change in network connectivity has occurred.
+				// Note: This is deprecated on API 28+!
+				getAppContext().registerReceiver(
+					new ConnectivityChangeReceiver(),
+					new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)
+				);
 
 				if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
-					getAppContext().registerReceiver(new RestrictBackgroundChangedReceiver(), new IntentFilter(ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED));
+					// Register "Restrict Background Changed" broadcast receiver.
+					// This is called when a change in the background metered network activity restriction has occurred.
+					getAppContext().registerReceiver(
+						new RestrictBackgroundChangedReceiver(),
+						new IntentFilter(ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED)
+					);
 				}
 
 				if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+					// Register "Device Idle Mode Changed" broadcast receiver.
+					// This is called when the state of isDeviceIdleMode() changes. This broadcast
+					// is only sent to registered receivers.
 					getAppContext().registerReceiver(new BroadcastReceiver() {
 						@TargetApi(Build.VERSION_CODES.M)
 						@Override
 						public void onReceive(Context context, Intent intent) {
-							PowerManager powerManager = (PowerManager) context.getApplicationContext().getSystemService(Context.POWER_SERVICE);
+							final PowerManager powerManager = (PowerManager) context
+								.getApplicationContext()
+								.getSystemService(Context.POWER_SERVICE);
 							if (powerManager != null && powerManager.isDeviceIdleMode()) {
 								logger.info("*** Device going to deep sleep");
 
 								isDeviceIdle = true;
+
 								try {
-									serviceManager.getLifetimeService().releaseConnection("doze");
+									// Pause connection
+									serviceManager.getLifetimeService().pause();
 								} catch (Exception e) {
-									logger.error("Exception while releasing connection", e);
+									logger.error("Exception while pausing connection", e);
 								}
 
 								if (BackupService.isRunning()) {
@@ -504,11 +528,18 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 								}
 							} else {
 								logger.info("*** Device waking up");
+								try {
+									serviceManager.getLifetimeService().unpause();
+								} catch (Exception e) {
+									logger.error("Exception while unpausing connection", e);
+								}
 								isDeviceIdle = false;
 							}
 						}
 					}, new IntentFilter(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED));
 
+					// Register "Notification Policy Changed" broadcast receiver.
+					// This is called when the state of getNotificationPolicy() changes.
 					getAppContext().registerReceiver(new BroadcastReceiver() {
 						@Override
 						public void onReceive(Context context, Intent intent) {
@@ -524,6 +555,9 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 				}
 
 				if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+					// Register "Notification Channel Group Block State Changed" broadcast receiver.
+					// This is called when a NotificationChannelGroup is blocked or unblocked.
+					// This broadcast is only sent to the app that owns the channel group that has changed.
 					getAppContext().registerReceiver(new BroadcastReceiver() {
 						@Override
 						public void onReceive(Context context, Intent intent) {
@@ -546,7 +580,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 				PinningFailureReportBroadcastReceiver receiver = new PinningFailureReportBroadcastReceiver();
 				LocalBroadcastManager.getInstance(context).registerReceiver(receiver, new IntentFilter(BackgroundReporter.REPORT_VALIDATION_EVENT));
 
-				// register a broadcast receiver for changes in app restrictions
+				// Register a broadcast receiver for changes in app restrictions
 				if (ConfigUtils.isWorkRestricted()) {
 					getAppContext().registerReceiver(new BroadcastReceiver() {
 						@Override
@@ -558,6 +592,9 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 						}
 					}, new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED));
 				}
+
+				// Start the Threema Push Service (if enabled in config)
+				ThreemaPushService.tryStart(logger, getAppContext());
 			}
 		}
 	}
@@ -590,7 +627,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public void onResume(@NonNull LifecycleOwner owner) {
 		logger.info("*** Lifecycle: App now resumed");
 		if (serviceManager != null && serviceManager.getLifetimeService() != null) {
-			serviceManager.getLifetimeService().acquireConnection("appResumed");
+			serviceManager.getLifetimeService().acquireConnection(ACTIVITY_CONNECTION_TAG);
 		}
 	}
 
@@ -598,16 +635,13 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 	public void onPause(@NonNull LifecycleOwner owner) {
 		logger.info("*** Lifecycle: App now paused");
 		if (serviceManager != null && serviceManager.getLifetimeService() != null) {
-			serviceManager.getLifetimeService().releaseConnectionLinger("appPaused", ACTIVITY_CONNECTION_LIFETIME);
+			serviceManager.getLifetimeService().releaseConnectionLinger(ACTIVITY_CONNECTION_TAG, ACTIVITY_CONNECTION_LIFETIME);
 		}
 	}
 
 	@Override
 	public void onDestroy(@NonNull LifecycleOwner owner) {
 		logger.info("*** Lifecycle: App now destroyed");
-		if (serviceManager != null && serviceManager.getLifetimeService() != null) {
-			serviceManager.getLifetimeService().releaseConnectionLinger("appDestroyed", ACTIVITY_CONNECTION_LIFETIME);
-		}
 	}
 
 	@Override
@@ -617,6 +651,15 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 		logger.info("*** App is low on memory");
 	}
 
+	@Override
+	public void onConfigurationChanged(@NonNull Configuration newConfig) {
+		if (serviceManager != null) {
+			ConfigUtils.setLocaleOverride(getAppContext(), serviceManager.getPreferenceService());
+		}
+
+		super.onConfigurationChanged(newConfig);
+	}
+
 	@SuppressLint("SwitchIntDef")
 	@Override
 	public void onTrimMemory(int level) {
@@ -674,6 +717,11 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 		return serviceManager;
 	}
 
+	@NonNull
+	public static ServiceManager requireServiceManager() throws NullPointerException {
+		return Objects.requireNonNull(serviceManager);
+	}
+
 	public static MasterKey getMasterKey() {
 		return masterKey;
 	}
@@ -915,6 +963,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 				}
 			});
 
+			// Instantiate service manager
 			serviceManager = new ServiceManager(
 					connection,
 					databaseServiceNew,
@@ -962,8 +1011,8 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 			/* trigger a connection now, just to be sure we're up-to-date and any broken connection
 			   (e.g. from before a reboot) is preempted.
 			 */
-			serviceManager.getLifetimeService().acquireConnection("reset");
-			serviceManager.getLifetimeService().releaseConnectionLinger("reset", ACTIVITY_CONNECTION_LIFETIME);
+			serviceManager.getLifetimeService().acquireConnection("resetConnection");
+			serviceManager.getLifetimeService().releaseConnectionLinger("resetConnection", ACTIVITY_CONNECTION_LIFETIME);
 			configureListeners();
 
 			//mark all SENDING messages as SENDFAILED
@@ -1042,44 +1091,27 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 		try {
 			WorkManager workManager = WorkManager.getInstance(context);
 
-			// check if work is already scheduled or running, if yes, do not attempt launch a new request
-			ListenableFuture<List<WorkInfo>> workInfos = workManager.getWorkInfosForUniqueWork(WORKER_IDENTITY_STATES_PERIODIC_NAME);
-			try {
-				List<WorkInfo> workInfoList = workInfos.get();
-				for (WorkInfo workInfo : workInfoList) {
-					WorkInfo.State state = workInfo.getState();
-					if (state == WorkInfo.State.RUNNING || state == WorkInfo.State.ENQUEUED) {
-						logger.debug("a job of the same name is already running or queued");
-						Set<String> tags = workInfo.getTags();
-						if (tags.size() > 0 && tags.contains(String.valueOf(schedulePeriod))) {
-							logger.debug("job has same schedule period");
-							return false;
-						} else {
-							logger.debug("jobs has a different schedule period");
-							break;
-						}
-					}
-				}
-			} catch (Exception e) {
-				logger.info("WorkManager Exception");
-				workManager.cancelUniqueWork(WORKER_IDENTITY_STATES_PERIODIC_NAME);
+			if (WorkManagerUtil.cancelExistingWorkManagerInstance(
+				workManager,
+				WORKER_IDENTITY_STATES_PERIODIC_NAME,
+				schedulePeriod
+			)) {
+				logger.debug("Scheduling new job");
+
+				// schedule the start of the service according to schedule period
+				Constraints constraints = new Constraints.Builder()
+					.setRequiredNetworkType(NetworkType.CONNECTED)
+					.build();
+
+				PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(IdentityStatesWorker.class, schedulePeriod, TimeUnit.MILLISECONDS)
+					.setConstraints(constraints)
+					.addTag(String.valueOf(schedulePeriod))
+					.setInitialDelay(1000, TimeUnit.MILLISECONDS)
+					.build();
+
+				workManager.enqueueUniquePeriodicWork(WORKER_IDENTITY_STATES_PERIODIC_NAME, ExistingPeriodicWorkPolicy.REPLACE, workRequest);
+				return true;
 			}
-
-			logger.debug("Scheduling new job");
-
-			// schedule the start of the service according to schedule period
-			Constraints constraints = new Constraints.Builder()
-				.setRequiredNetworkType(NetworkType.CONNECTED)
-				.build();
-
-			PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(IdentityStatesWorker.class, schedulePeriod, TimeUnit.MILLISECONDS)
-				.setConstraints(constraints)
-				.addTag(String.valueOf(schedulePeriod))
-				.setInitialDelay(1000, TimeUnit.MILLISECONDS)
-				.build();
-
-			workManager.enqueueUniquePeriodicWork(WORKER_IDENTITY_STATES_PERIODIC_NAME, ExistingPeriodicWorkPolicy.REPLACE, workRequest);
-			return true;
 		} catch (IllegalStateException e) {
 			logger.info("Unable to initialize WorkManager");
 			logger.error("Exception", e);
@@ -1112,19 +1144,41 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 
 	@WorkerThread
 	public static boolean scheduleShareTargetShortcutUpdate() {
-		logger.info("Scheduling share target shortcut update job");
+		logger.info("Scheduling share target shortcut update work");
 
-		JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-		if (jobScheduler != null) {
-			ComponentName serviceComponent = new ComponentName(context, ShareTargetShortcutUpdateJobService.class);
-			JobInfo.Builder builder = new JobInfo.Builder(SHORTCUTS_UPDATE_JOB_ID, serviceComponent)
-				.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
-				.setPeriodic(DateUtils.MINUTE_IN_MILLIS * 15);
-			jobScheduler.schedule(builder.build());
-			return true;
+		long schedulePeriod = DateUtils.MINUTE_IN_MILLIS * 15;
+
+		try {
+			WorkManager workManager = WorkManager.getInstance(context);
+
+			if (WorkManagerUtil.cancelExistingWorkManagerInstance(
+				workManager,
+				WORKER_SHARE_TARGET_UPDATE,
+				schedulePeriod
+			)) {
+				logger.debug("Create new worker");
+
+				// schedule the start of the service according to schedule period
+				Constraints constraints = new Constraints.Builder()
+					.setRequiredNetworkType(NetworkType.CONNECTED)
+					.build();
+
+				PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(ShareTargetUpdateWorker.class, schedulePeriod, TimeUnit.MILLISECONDS)
+					.setConstraints(constraints)
+					.addTag(String.valueOf(schedulePeriod))
+					.setInitialDelay(3, TimeUnit.MINUTES)
+					.build();
+
+				workManager.enqueueUniquePeriodicWork(WORKER_SHARE_TARGET_UPDATE, ExistingPeriodicWorkPolicy.REPLACE, workRequest);
+			} else {
+				logger.debug("Reusing existing worker");
+			}
+		} catch (IllegalStateException e) {
+			logger.error("Unable to schedule share target update work", e);
+			return false;
 		}
-		logger.debug("Unable to schedule share target update job");
-		return false;
+
+		return true;
 	}
 
 	private static void configureListeners() {
@@ -1180,7 +1234,7 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 						final MessageReceiver receiver = serviceManager.getGroupService().createReceiver(groupModel);
 						serviceManager.getBallotService().remove(receiver);
 						serviceManager.getConversationService().removed(groupModel);
-						serviceManager.getNotificationService().cancel(new GroupMessageReceiver(groupModel, null, null, null, null, serviceManager.getApiService()));
+						serviceManager.getNotificationService().cancel(new GroupMessageReceiver(groupModel, null, null, null, null));
 					} catch (ThreemaException e) {
 						logger.error("Exception", e);
 					}
@@ -1544,11 +1598,9 @@ public class ThreemaApplication extends MultiDexApplication implements DefaultLi
 				new Thread(() -> {
 					try {
 						serviceManager.getConversationService().removed(removedContactModel);
-						serviceManager.getNotificationService().cancel(new ContactMessageReceiver
-							(
-								removedContactModel,
-								serviceManager.getContactService(),
-								null, null, null, null, serviceManager.getApiService()));
+						serviceManager.getNotificationService().cancel(new ContactMessageReceiver(
+							removedContactModel, serviceManager.getContactService(), null, null, null, null)
+						);
 
 						//remove custom avatar (ANDR-353)
 						FileService f = serviceManager.getFileService();

+ 2 - 2
app/src/main/java/ch/threema/app/actions/LocationMessageSendAction.java

@@ -24,7 +24,6 @@ package ch.threema.app.actions;
 import android.location.Location;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.NonNull;
 import ch.threema.app.R;
@@ -33,10 +32,11 @@ import ch.threema.app.messagereceiver.MessageReceiver;
 import ch.threema.app.services.MessageService;
 import ch.threema.app.utils.MessageUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.AbstractMessageModel;
 
 public class LocationMessageSendAction extends SendAction {
-	private static final Logger logger = LoggerFactory.getLogger(LocationMessageSendAction.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("LocationMessageSendAction");
 
 	protected static volatile LocationMessageSendAction instance;
 	private static final Object instanceLock = new Object();

+ 2 - 2
app/src/main/java/ch/threema/app/actions/TextMessageSendAction.java

@@ -22,7 +22,6 @@
 package ch.threema.app.actions;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 
@@ -32,10 +31,11 @@ import ch.threema.app.utils.MessageUtil;
 import ch.threema.app.utils.TestUtil;
 import ch.threema.app.utils.TextUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.csp.ProtocolDefines;
 
 public class TextMessageSendAction extends SendAction {
-	private static final Logger logger = LoggerFactory.getLogger(TextMessageSendAction.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("TextMessageSendAction");
 
 	protected static volatile TextMessageSendAction instance;
 	private static final Object instanceLock = new Object();

+ 2 - 1
app/src/main/java/ch/threema/app/activities/AddContactActivity.java

@@ -68,6 +68,7 @@ import ch.threema.base.utils.Base64;
 import ch.threema.localcrypto.MasterKeyLockedException;
 import ch.threema.storage.models.ContactModel;
 
+import static ch.threema.app.services.QRCodeServiceImpl.QR_TYPE_ID;
 import static ch.threema.domain.protocol.csp.ProtocolDefines.IDENTITY_LEN;
 
 public class AddContactActivity extends ThreemaActivity implements GenericAlertDialog.DialogClickListener, NewContactDialog.NewContactDialogClickListener {
@@ -370,7 +371,7 @@ public class AddContactActivity extends ThreemaActivity implements GenericAlertD
 			if (ConfigUtils.supportsGroupLinks()) {
 				QRScannerUtil.getInstance().initiateGeneralThreemaQrScanner(this, getString(R.string.qr_scanner_id_hint));
 			} else {
-				QRScannerUtil.getInstance().initiateScan(this, false, getString(R.string.qr_scanner_id_hint));
+				QRScannerUtil.getInstance().initiateScan(this, getString(R.string.qr_scanner_id_hint), QR_TYPE_ID);
 			}
 		}
 	}

+ 1 - 0
app/src/main/java/ch/threema/app/activities/AppLinksActivity.java

@@ -139,6 +139,7 @@ public class AppLinksActivity extends ThreemaToolbarActivity {
 		switch (requestCode) {
 			case ThreemaActivity.ACTIVITY_ID_CHECK_LOCK:
 				if (resultCode == RESULT_OK) {
+					lockAppService.unlock(null);
 					handleIntent();
 				} else {
 					Toast.makeText(this, getString(R.string.pin_locked_cannot_send), Toast.LENGTH_LONG).show();

+ 2 - 2
app/src/main/java/ch/threema/app/activities/BiometricLockActivity.java

@@ -32,7 +32,6 @@ import android.view.WindowManager;
 import android.widget.Toast;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -47,9 +46,10 @@ import ch.threema.app.utils.BiometricUtil;
 import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.NavigationUtil;
 import ch.threema.app.utils.RuntimeUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 public class BiometricLockActivity extends ThreemaAppCompatActivity {
-	private static final Logger logger = LoggerFactory.getLogger(BiometricLockActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("BiometricLockActivity");
 
 	private static final int REQUEST_CODE_SYSTEM_SCREENLOCK_CHECK = 551;
 	public static final String INTENT_DATA_AUTHENTICATION_TYPE = "auth_type";

+ 10 - 4
app/src/main/java/ch/threema/app/activities/ComposeMessageActivity.java

@@ -26,10 +26,10 @@ import android.content.res.Configuration;
 import android.media.AudioManager;
 import android.os.Bundle;
 import android.preference.PreferenceActivity;
+import android.view.WindowManager;
 import android.widget.FrameLayout;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.NonNull;
 import androidx.fragment.app.FragmentManager;
@@ -47,11 +47,12 @@ import ch.threema.app.services.DeadlineListService;
 import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.HiddenChatUtil;
 import ch.threema.app.utils.IntentDataUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.localcrypto.MasterKey;
 import ch.threema.storage.models.AbstractMessageModel;
 
 public class ComposeMessageActivity extends ThreemaToolbarActivity implements GenericAlertDialog.DialogClickListener {
-	private static final Logger logger = LoggerFactory.getLogger(ComposeMessageActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("ComposeMessageActivity");
 
 	private static final int ID_HIDDEN_CHECK_ON_NEW_INTENT = 9291;
 	private static final int ID_HIDDEN_CHECK_ON_CREATE = 9292;
@@ -190,12 +191,18 @@ public class ComposeMessageActivity extends ThreemaToolbarActivity implements Ge
 	public void onResume() {
 		logger.debug("onResume");
 		super.onResume();
+
+		// Set the soft input mode to resize when activity resumes because it is set to adjust nothing while it is paused
+		getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
 	}
 
 	@Override
 	public void onPause() {
 		logger.debug("onPause");
 		super.onPause();
+
+		// Set the soft input mode to adjust nothing while paused. This is needed when the keyboard is opened to edit the contact before sending.
+		getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
 	}
 
 	@Override
@@ -282,8 +289,7 @@ public class ComposeMessageActivity extends ThreemaToolbarActivity implements Ge
 	@Override
 	public void onYes(String tag, Object data) {
 		Intent intent = new Intent(this, SettingsActivity.class);
-		intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsSecurityFragment.class.getName());
-		intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true);
+		intent.putExtra(SettingsActivity.EXTRA_SHOW_SECURITY_FRAGMENT, true);
 		startActivity(intent);
 		finish();
 	}

+ 2 - 1
app/src/main/java/ch/threema/app/activities/ContactDetailActivity.java

@@ -78,6 +78,7 @@ import ch.threema.app.services.IdListService;
 import ch.threema.app.services.MessageService;
 import ch.threema.app.services.PreferenceService;
 import ch.threema.app.services.QRCodeService;
+import ch.threema.app.services.QRCodeServiceImpl;
 import ch.threema.app.services.license.LicenseService;
 import ch.threema.app.ui.AvatarEditView;
 import ch.threema.app.ui.ResumePauseHandler;
@@ -777,7 +778,7 @@ public class ContactDetailActivity extends ThreemaToolbarActivity
 	}
 
 	private void scanQR() {
-		QRScannerUtil.getInstance().initiateScan(this, false, getString(R.string.qr_scanner_id_hint));
+		QRScannerUtil.getInstance().initiateScan(this, null, QRCodeServiceImpl.QR_TYPE_ID);
 	}
 
 	@Override

+ 3 - 3
app/src/main/java/ch/threema/app/activities/CropImageActivity.java

@@ -28,7 +28,7 @@ import android.os.Bundle;
 import android.provider.MediaStore;
 import android.view.View;
 
-import com.theartofdev.edmodo.cropper.CropImageView;
+import com.canhub.cropper.CropImageView;
 
 import androidx.appcompat.widget.Toolbar;
 import ch.threema.app.R;
@@ -183,9 +183,9 @@ public class CropImageActivity extends ThreemaToolbarActivity {
 		isSaving = true;
 
 		if (maxX != 0 && maxY != 0) {
-			imageView.saveCroppedImageAsync(saveUri, Bitmap.CompressFormat.PNG, 100, maxX, maxY);
+			imageView.croppedImageAsync(Bitmap.CompressFormat.PNG, 100, maxX, maxY, CropImageView.RequestSizeOptions.NONE, saveUri);
 		} else {
-			imageView.saveCroppedImageAsync(saveUri, Bitmap.CompressFormat.PNG, 100);
+			imageView.croppedImageAsync(Bitmap.CompressFormat.PNG, 100, 0, 0, CropImageView.RequestSizeOptions.NONE, saveUri);
 		}
 	}
 }

+ 1 - 1
app/src/main/java/ch/threema/app/activities/DirectoryActivity.java

@@ -340,7 +340,7 @@ public class DirectoryActivity extends ThreemaToolbarActivity implements Threema
 					backgroundColor = ColorStateList.valueOf(ConfigUtils.getColorFromAttribute(this, R.attr.colorAccent));
 				} else {
 					foregroundColor = ColorStateList.valueOf(ConfigUtils.getColorFromAttribute(this, R.attr.colorAccent));
-					backgroundColor = foregroundColor.withAlpha(0x1A);
+					backgroundColor = foregroundColor.withAlpha(getResources().getInteger(R.integer.chip_alpha));
 				}
 
 				chip.setTextColor(foregroundColor);

+ 83 - 53
app/src/main/java/ch/threema/app/activities/DisableBatteryOptimizationsActivity.java

@@ -21,7 +21,6 @@
 
 package ch.threema.app.activities;
 
-import android.annotation.SuppressLint;
 import android.annotation.TargetApi;
 import android.content.Context;
 import android.content.Intent;
@@ -38,6 +37,7 @@ import android.widget.Toast;
 
 import org.slf4j.Logger;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 import androidx.appcompat.app.AppCompatActivity;
@@ -52,6 +52,9 @@ import static ch.threema.app.fragments.BackupDataFragment.REQUEST_ID_DISABLE_BAT
 
 /**
  * Guides user through the process of disabling battery optimization energy saving option.
+ *
+ * If the app has the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission, then the
+ * ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS intent is used instead.
  */
 public class DisableBatteryOptimizationsActivity extends AppCompatActivity implements GenericAlertDialog.DialogClickListener {
 	private static final Logger logger = LoggingUtil.getThreemaLogger("DisableBatteryOptimizationsActivity");
@@ -59,12 +62,25 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 	private static final int REQUEST_CODE_IGNORE_BATTERY_OPTIMIZATIONS = 778;
 	private static final String DIALOG_TAG_DISABLE_BATTERY_OPTIMIZATIONS = "des";
 	private static final String DIALOG_TAG_BATTERY_OPTIMIZATIONS_REMINDER = "esr";
+	private static final String DIALOG_TAG_MIUI_WARNING = "miui";
 
+	/**
+	 * The name of the affected system (e.g. "Threema Web").
+	 */
 	public static final String EXTRA_NAME = "name";
+	/**
+	 * If set to true, then a "do you really want to keep battery optimizations enabled"
+	 * confirmation dialog will be shown. Default false.
+	 */
 	public static final String EXTRA_CONFIRM = "confirm";
+	/**
+	 * Set this to a string resource ID in order to override the "continue anyways" text.
+	 */
 	public static final String EXTRA_CANCEL_LABEL = "cancel";
+	/**
+	 * Set this to true if the activity is called from the wizard. Default false.
+	 */
 	public static final String EXTRA_WIZARD = "wizard";
-	private static final String DIALOG_TAG_MIUI_WARNING = "miui";
 
 	private String name;
 	@StringRes private int cancelLabel;
@@ -77,7 +93,7 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 	protected void onCreate(@Nullable Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
 
-		if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M || isWhitelisted(this)) {
+		if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M || isIgnoringBatteryOptimizations(this)) {
 			setResult(RESULT_OK);
 			finish();
 			return;
@@ -95,26 +111,13 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 			return;
 		}
 
-		if (ConfigUtils.checkManifestPermission(this, getPackageName(), "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")) {
-			@SuppressLint("BatteryLife") Intent newIntent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, Uri.parse("package:" + BuildConfig.APPLICATION_ID));
-
-			try {
-				startActivityForResult(newIntent, REQUEST_ID_DISABLE_BATTERY_OPTIMIZATIONS);
-				return;
-			} catch (Exception e) {
-				// Some Samsung devices don't bother implementing this API
-				logger.error("Exception", e);
-				setResult(RESULT_OK);
-				finish();
-				return;
-			}
-		}
-
-		name = intent.getStringExtra(EXTRA_NAME);
-		confirm = intent.getBooleanExtra(EXTRA_CONFIRM, false);
-		cancelLabel = intent.getIntExtra(EXTRA_CANCEL_LABEL, R.string.continue_anyway);
+		// Get extras
+		this.name = intent.getStringExtra(EXTRA_NAME);
+		this.confirm = intent.getBooleanExtra(EXTRA_CONFIRM, false);
+		this.cancelLabel = intent.getIntExtra(EXTRA_CANCEL_LABEL, R.string.continue_anyway);
 
-		actionBarSize = ConfigUtils.getActionBarSize(this);
+		// Determine action bar size
+		this.actionBarSize = ConfigUtils.getActionBarSize(this);
 
 		showDisableDialog();
 	}
@@ -125,17 +128,26 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 	}
 
 	private void showDisableDialog() {
-		GenericAlertDialog dialog = GenericAlertDialog.newInstance(R.string.battery_optimizations_title, String.format(getString(R.string.battery_optimizations_explain), name, getString(R.string.app_name)), R.string.disable, cancelLabel);
+		GenericAlertDialog dialog = GenericAlertDialog.newInstance(
+			R.string.battery_optimizations_title,
+			String.format(getString(R.string.battery_optimizations_explain), name, getString(R.string.app_name)),
+			R.string.disable,
+			cancelLabel
+		);
 		dialog.show(getSupportFragmentManager(), DIALOG_TAG_DISABLE_BATTERY_OPTIMIZATIONS);
 	}
 
-	public static boolean isWhitelisted(Context context) {
-		// app is always whitelisted in unit tests
+	/**
+	 * Try to find out whether battery optimizations are already disabled for our app.
+	 * If this fails (e.g. on devices older than Android M), `true` will be returned.
+	 */
+	public static boolean isIgnoringBatteryOptimizations(@NonNull Context context) {
+		// App is always whitelisted in unit tests
 		if (RuntimeUtil.isInTest()) {
 			return true;
 		}
 		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-			PowerManager powerManager = (PowerManager) context.getApplicationContext().getSystemService(POWER_SERVICE);
+			final PowerManager powerManager = (PowerManager) context.getApplicationContext().getSystemService(POWER_SERVICE);
 			try {
 				return powerManager.isIgnoringBatteryOptimizations(context.getPackageName());
 			} catch (Exception e) {
@@ -152,30 +164,47 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 	public void onYes(String tag, Object data) {
 		switch (tag) {
 			case DIALOG_TAG_DISABLE_BATTERY_OPTIMIZATIONS:
-				Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
-				// Samsuck Galaxy S5 with API 23 does not know this intent
-				if (intent.resolveActivity(getPackageManager()) != null) {
-					startActivityForResult(intent, REQUEST_CODE_IGNORE_BATTERY_OPTIMIZATIONS);
-
-					dropDownHandler = new Handler();
-					dropDownHandler.postDelayed(new Runnable() {
-						@Override
-						public void run() {
-							Toast toast = Toast.makeText(getApplicationContext(), R.string.battery_optimizations_disable_guide, Toast.LENGTH_LONG);
-							toast.setGravity(Gravity.TOP| Gravity.LEFT, 0, actionBarSize * 2);
-							toast.show();
-						}
-					}, 2 * DateUtils.SECOND_IN_MILLIS);
-
-					listSelectHandler = new Handler();
-					listSelectHandler.postDelayed(new Runnable() {
-						@Override
-						public void run() {
-							Toast ctdToast = Toast.makeText(getApplicationContext(), String.format(getString(R.string.battery_optimizations_disable_guide_ctd), getString(R.string.app_name)), Toast.LENGTH_LONG);
-							ctdToast.setGravity(Gravity.CENTER, 0, 0);
-							ctdToast.show();
-						}
-					}, 8 * DateUtils.SECOND_IN_MILLIS);
+				// If the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission is granted (versions that
+				// aren't distributed through Google Play), then a permission can be requested directly.
+				if (ConfigUtils.checkManifestPermission(this, getPackageName(), "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")) {
+					final Uri appUri = Uri.parse("package:" + BuildConfig.APPLICATION_ID);
+					final Intent newIntent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, appUri);
+					try {
+						startActivityForResult(newIntent, REQUEST_ID_DISABLE_BATTERY_OPTIMIZATIONS);
+					} catch (Exception e) {
+						// Some Samsung devices don't bother implementing this API
+						logger.error("Could not request battery optimization exemption", e);
+						setResult(RESULT_OK);
+						finish();
+					}
+
+				// Otherwise we need to guide the user through the battery optimization settings.
+				} else {
+					final Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
+					// Samsung Galaxy S5 with API 23 does not know this intent
+					if (intent.resolveActivity(getPackageManager()) != null) {
+						startActivityForResult(intent, REQUEST_CODE_IGNORE_BATTERY_OPTIMIZATIONS);
+
+						dropDownHandler = new Handler();
+						dropDownHandler.postDelayed(new Runnable() {
+							@Override
+							public void run() {
+								Toast toast = Toast.makeText(getApplicationContext(), R.string.battery_optimizations_disable_guide, Toast.LENGTH_LONG);
+								toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, actionBarSize * 2);
+								toast.show();
+							}
+						}, 2 * DateUtils.SECOND_IN_MILLIS);
+
+						listSelectHandler = new Handler();
+						listSelectHandler.postDelayed(new Runnable() {
+							@Override
+							public void run() {
+								Toast ctdToast = Toast.makeText(getApplicationContext(), String.format(getString(R.string.battery_optimizations_disable_guide_ctd), getString(R.string.app_name)), Toast.LENGTH_LONG);
+								ctdToast.setGravity(Gravity.CENTER, 0, 0);
+								ctdToast.show();
+							}
+						}, 8 * DateUtils.SECOND_IN_MILLIS);
+					}
 				}
 				break;
 			case DIALOG_TAG_BATTERY_OPTIMIZATIONS_REMINDER:
@@ -186,6 +215,7 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 			case DIALOG_TAG_MIUI_WARNING:
 				setResult(RESULT_CANCELED);
 				finish();
+				break;
 		}
 	}
 
@@ -194,7 +224,7 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 		switch (tag) {
 			case DIALOG_TAG_DISABLE_BATTERY_OPTIMIZATIONS:
 				if (confirm) {
-					GenericAlertDialog dialog = GenericAlertDialog.newInstance(R.string.battery_optimizations_title, String.format(getString(R.string.battery_optimizations_disable_confirm), getString(R.string.app_name), name), R.string.yes, R.string.no);
+					final GenericAlertDialog dialog = GenericAlertDialog.newInstance(R.string.battery_optimizations_title, String.format(getString(R.string.battery_optimizations_disable_confirm), getString(R.string.app_name), name), R.string.yes, R.string.no);
 					dialog.show(getSupportFragmentManager(), DIALOG_TAG_BATTERY_OPTIMIZATIONS_REMINDER);
 				} else {
 					setResult(RESULT_CANCELED);
@@ -223,7 +253,7 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 		switch (requestCode) {
 			case REQUEST_ID_DISABLE_BATTERY_OPTIMIZATIONS:
 				// back from system dialog
-				if (isWhitelisted(this)) {
+				if (isIgnoringBatteryOptimizations(this)) {
 					setResult(RESULT_OK);
 				} else {
 					setResult(RESULT_CANCELED);
@@ -233,7 +263,7 @@ public class DisableBatteryOptimizationsActivity extends AppCompatActivity imple
 			case REQUEST_CODE_IGNORE_BATTERY_OPTIMIZATIONS:
 				// backup from overlay hack
 				removeHandlers();
-				if (isWhitelisted(this)) {
+				if (isIgnoringBatteryOptimizations(this)) {
 					setResult(RESULT_OK);
 					finish();
 				} else {

+ 420 - 0
app/src/main/java/ch/threema/app/activities/EditSendContactActivity.kt

@@ -0,0 +1,420 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2014-2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.activities
+
+import android.animation.Animator
+import android.animation.AnimatorListenerAdapter
+import android.content.Intent
+import android.content.res.Configuration.ORIENTATION_LANDSCAPE
+import android.content.res.Configuration.ORIENTATION_PORTRAIT
+import android.graphics.Rect
+import android.net.Uri
+import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
+import android.text.format.DateFormat
+import android.view.View
+import android.view.ViewGroup
+import android.view.ViewTreeObserver
+import android.widget.EditText
+import android.widget.LinearLayout
+import android.widget.ProgressBar
+import androidx.annotation.IdRes
+import androidx.coordinatorlayout.widget.CoordinatorLayout
+import androidx.core.widget.NestedScrollView
+import androidx.core.widget.addTextChangedListener
+import androidx.lifecycle.ViewModelProvider
+import ch.threema.app.R
+import ch.threema.app.mediaattacher.ContactEditViewModel
+import ch.threema.app.ui.VCardPropertyView
+import ch.threema.app.utils.ConfigUtils
+import ch.threema.app.utils.VCardExtractor
+import ch.threema.base.utils.LoggingUtil
+import com.google.android.material.appbar.MaterialToolbar
+import com.google.android.material.bottomsheet.BottomSheetBehavior
+import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import ezvcard.property.StructuredName
+
+private val logger = LoggingUtil.getThreemaLogger("EditSendContactActivity")
+
+/**
+ * This activity lets the user select which properties of contact should be included before sending
+ * it in a chat. The name of the contact can be modified.
+ */
+class EditSendContactActivity : ThreemaToolbarActivity() {
+
+    private lateinit var viewModel: ContactEditViewModel
+    private lateinit var toolbar: MaterialToolbar
+    private lateinit var bottomSheetBehavior: BottomSheetBehavior<View>
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+
+        // set status bar color
+        window.statusBarColor = ConfigUtils.getColorFromAttribute(this, R.attr.attach_status_bar_color_collapsed)
+
+        toolbar = findViewById(R.id.toolbar_contact)
+
+        viewModel = ViewModelProvider(this).get(ContactEditViewModel::class.java)
+
+        // Finish activity when chat activity (in "background") is clicked
+        ((findViewById<CoordinatorLayout>(R.id.edit_send_contact_coordinator).parent as ViewGroup)
+                .parent as ViewGroup).setOnClickListener { cancelAndFinish() }
+
+        // Finish activity when bottom sheet gets hidden and adapt status bar color on expand/drag
+        val bottomSheet = findViewById<View>(R.id.bottom_sheet)
+        bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet).apply {
+            addBottomSheetCallback(object : BottomSheetCallback() {
+
+                override fun onStateChanged(view: View, i: Int) {
+                    when (i) {
+                        BottomSheetBehavior.STATE_HIDDEN -> cancelAndFinish()
+                        BottomSheetBehavior.STATE_EXPANDED -> {
+                            onBottomSheetExpand()
+                            viewModel.bottomSheetExpanded = true
+                        }
+                        BottomSheetBehavior.STATE_SETTLING -> {}
+                        BottomSheetBehavior.STATE_HALF_EXPANDED -> {}
+                        else -> {
+                            onBottomSheetCollapse()
+                            viewModel.bottomSheetExpanded = false
+                        }
+                    }
+                }
+
+                override fun onSlide(view: View, v: Float) {}
+            })
+        }
+
+        toolbar.setNavigationOnClickListener {
+            bottomSheetBehavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED
+            onBottomSheetCollapse()
+        }
+
+        // Set correct top margin depending on the toolbar height
+        val rootCoordinator = findViewById<CoordinatorLayout>(R.id.edit_send_contact_coordinator)
+        rootCoordinator.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
+            override fun onGlobalLayout() {
+                rootCoordinator.viewTreeObserver.removeOnGlobalLayoutListener(this)
+
+                val topMargin = toolbar.height - resources.getDimensionPixelSize(R.dimen.drag_handle_height) -
+                        resources.getDimensionPixelSize(R.dimen.drag_handle_topbottom_margin)
+
+                val bottomSheetContainer = findViewById<CoordinatorLayout>(R.id.bottom_sheet_coordinator)
+                val bottomSheetContainerLayoutParams = bottomSheetContainer.layoutParams as CoordinatorLayout.LayoutParams
+                bottomSheetContainerLayoutParams.setMargins(0, topMargin, 0, 0)
+                bottomSheetContainer.layoutParams = bottomSheetContainerLayoutParams
+
+                if (resources.configuration.orientation == ORIENTATION_LANDSCAPE) {
+                    bottomSheetBehavior.peekHeight = ((bottomSheetContainer.height / 16f) * 9f).toInt()
+                } else if (resources.configuration.orientation == ORIENTATION_PORTRAIT) {
+                    bottomSheetBehavior.peekHeight = -1
+                }
+
+                if (viewModel.bottomSheetExpanded) {
+                    onBottomSheetExpand()
+                } else {
+                    onBottomSheetCollapse()
+                }
+            }
+        })
+
+        // Set the correct toolbar width
+        val toolbarLayoutParams = toolbar.layoutParams
+        toolbarLayoutParams.width = bottomSheetBehavior.maxWidth
+        toolbar.layoutParams = toolbarLayoutParams
+
+        if (viewModel.bottomSheetExpanded) {
+            onBottomSheetExpand()
+        }
+
+        val contactUri = intent.extras?.get(EXTRA_CONTACT)
+        if (contactUri == null || contactUri !is Uri) {
+            logger.error("invalid contact uri: '$contactUri'")
+
+            cancelAndFinish()
+            return
+        }
+
+        viewModel.initializeContact(contactUri, contentResolver, VCardExtractor(DateFormat.getDateFormat(applicationContext), resources))
+
+        // Show edit-texts for the name properties that are set in the contact
+        val editTexts = listOf(
+                NamePrefixWrapper(R.id.name_prefix_edit_text),
+                FirstNameWrapper(R.id.first_name_edit_text),
+                MiddleNameWrapper(R.id.middle_name_edit_text),
+                LastNameWrapper(R.id.last_name_edit_text),
+                NameSuffixWrapper(R.id.name_suffix_edit_text),
+                FullNameWrapper(R.id.name_full_edit_text)
+        )
+
+        // Expand bottom sheet when the focused edit text is hidden behind the soft keyboard
+        bottomSheet.addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ ->
+            Handler(Looper.getMainLooper())
+                    .postDelayed({ editTexts.forEach { it.checkVisibility() } }, 20)
+        }
+
+        viewModel.getProperties().observe(this) { properties ->
+            // Add (valid) properties to layout and keep track of include/exclude
+            val propertyParentLayout = findViewById<LinearLayout>(R.id.property_container)
+            val props = properties.keys.toList()
+            props.forEach { p ->
+                VCardPropertyView(this@EditSendContactActivity).let {
+                    if (it.initializeProperty(p, properties[p] == true)) {
+                        propertyParentLayout.addView(it)
+                        it.onChange { checked -> properties[p] = checked }
+                    } else {
+                        properties[p] = false
+                    }
+                }
+            }
+
+            // Hide progress bar
+            findViewById<ProgressBar>(R.id.progress_bar_parsing).visibility = View.GONE
+
+            // Send the possibly modified VCard as file
+            findViewById<FloatingActionButton>(R.id.send_contact).apply {
+                setOnClickListener {
+                    viewModel.prepareFinalVCard(context, cacheDir, contactUri)
+                }
+                visibility = View.VISIBLE
+            }
+        }
+
+        viewModel.getModifiedContact().observe(this) {
+            val (name, modifiedContact) = it
+
+            val data = Intent().apply {
+                putExtra(RESULT_CONTACT_URI, Uri.fromFile(modifiedContact))
+                putExtra(RESULT_CONTACT_NAME, name)
+            }
+            setResult(RESULT_OK, data)
+            finish()
+        }
+    }
+
+    override fun getLayoutResource() = R.layout.activity_edit_send_contact
+
+    /**
+     * Shows the toolbar and adapts the status bar color.
+     */
+    private fun onBottomSheetExpand() {
+        toolbar.animation?.cancel()
+        toolbar.alpha = 0f
+        toolbar.visibility = View.VISIBLE
+        toolbar.animate().alpha(1f).setDuration(100).setListener(object : AnimatorListenerAdapter() {
+            override fun onAnimationEnd(animation: Animator) {
+                toolbar.visibility = View.VISIBLE
+            }
+        })
+        toolbar.postDelayed({
+            window.statusBarColor = ConfigUtils.getColorFromAttribute(this@EditSendContactActivity, R.attr.attach_status_bar_color_expanded)
+        }, 100)
+    }
+
+    /**
+     * Hides the toolbar and adapts the status bar color.
+     */
+    private fun onBottomSheetCollapse() {
+        toolbar.animation?.cancel()
+        toolbar.alpha = 1f
+        toolbar.animate().alpha(0f).setDuration(100).setListener(object : AnimatorListenerAdapter() {
+            override fun onAnimationStart(animation: Animator?) {}
+            override fun onAnimationEnd(animation: Animator?) {
+                toolbar.visibility = View.INVISIBLE
+                window.statusBarColor = ConfigUtils.getColorFromAttribute(this@EditSendContactActivity, R.attr.attach_status_bar_color_collapsed)
+            }
+
+            override fun onAnimationCancel(animation: Animator?) {
+                window.statusBarColor = ConfigUtils.getColorFromAttribute(this@EditSendContactActivity, R.attr.attach_status_bar_color_collapsed)
+            }
+
+            override fun onAnimationRepeat(animation: Animator?) {}
+        })
+    }
+
+    /**
+     * Finish the activity with canceled as result
+     */
+    private fun cancelAndFinish() {
+        setResult(RESULT_CANCELED)
+        finish()
+    }
+
+    /**
+     * This class keeps track of the changes of a name field. If the name field is empty, no edit
+     * text might be shown at all (depending on the name field type). The edit text is shown, if
+     * the initial text argument is not null.
+     */
+    abstract inner class EditTextWrapper(@IdRes private val id: Int) {
+        private val editText: EditText
+        private val bottomSheetBehavior: BottomSheetBehavior<*> = BottomSheetBehavior.from(this@EditSendContactActivity.findViewById(R.id.bottom_sheet))
+        private val scrollView = this@EditSendContactActivity.findViewById<NestedScrollView>(R.id.nested_scroll_view)
+
+        init {
+            editText = this@EditSendContactActivity.findViewById<EditText>(id).apply {
+                addTextChangedListener {
+                    onTextChanged(it.toString())
+                }
+
+                setOnFocusChangeListener { _, hasFocus -> if (hasFocus) checkVisibility() }
+            }
+        }
+
+        /**
+         * If the edit text is focused and hidden (most likely behind the soft keyboard), the
+         * bottom sheet is expanded.
+         */
+        fun checkVisibility() {
+            if (editText.hasFocus() && !isFullyVisible()) {
+                bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
+            }
+        }
+
+        protected fun setInitialText(initialText: String) {
+            editText.setText(initialText)
+
+            (editText.parent.parent as View).visibility = View.VISIBLE
+        }
+
+        /**
+         * This method is called whenever the text of the edit text has been changed.
+         */
+        protected abstract fun onTextChanged(text: String)
+
+        /**
+         * Returns true, if the edit text is fully visible (inside the scroll view).
+         */
+        private fun isFullyVisible(): Boolean {
+            val scrollBounds = Rect()
+            scrollView.getHitRect(scrollBounds)
+            return editText.getLocalVisibleRect(scrollBounds) && scrollBounds.height() >= editText.height
+        }
+    }
+
+    abstract inner class StructuredNameWrapper(@IdRes id: Int, extractFromStructuredName: (StructuredName) -> String?) : EditTextWrapper(id) {
+        init {
+            viewModel.getStructuredName().observe(this@EditSendContactActivity) { name ->
+                val text = extractFromStructuredName(name)
+                if (text != null) {
+                    setInitialText(text)
+                }
+            }
+        }
+    }
+
+    /**
+     * Manages the edit text of the name prefixes. Pass null as initial text if the name prefix
+     * is empty in the given vcard.
+     */
+    inner class NamePrefixWrapper(@IdRes id: Int) : StructuredNameWrapper(
+            id,
+            { n -> n.prefixes?.joinToString(" ")?.trim()?.let { if (it == "") null else it } }
+    ) {
+
+        override fun onTextChanged(text: String) {
+            viewModel.getStructuredName().value?.prefixes?.clear()
+            viewModel.getStructuredName().value?.prefixes?.add(text)
+        }
+    }
+
+    /**
+     * Manages the edit text of the first name.
+     */
+    inner class FirstNameWrapper(@IdRes id: Int) : StructuredNameWrapper(
+            id,
+            { n -> n.given ?: "" }
+    ) {
+        override fun onTextChanged(text: String) {
+            viewModel.getStructuredName().value?.given = text
+        }
+    }
+
+    /**
+     * Manages the edit text of the middle names.
+     */
+    inner class MiddleNameWrapper(@IdRes id: Int) : StructuredNameWrapper(
+            id,
+            { n -> n.additionalNames?.joinToString("")?.trim()?.let { if (it == "") null else it } }
+    ) {
+        override fun onTextChanged(text: String) {
+            viewModel.getStructuredName().value?.additionalNames?.clear()
+            viewModel.getStructuredName().value?.additionalNames?.add(text)
+        }
+    }
+
+    /**
+     * Manages the edit text of the last name.
+     */
+    inner class LastNameWrapper(@IdRes id: Int) : StructuredNameWrapper(
+            id,
+            { n -> n.family ?: "" }
+    ) {
+        override fun onTextChanged(text: String) {
+            viewModel.getStructuredName().value?.family = text
+        }
+    }
+
+    /**
+     * Manages the edit text of the name suffixes.
+     */
+    inner class NameSuffixWrapper(@IdRes id: Int) : StructuredNameWrapper(
+            id,
+            { n ->
+                n.suffixes?.joinToString("")?.trim()?.let {
+                    if (it == "") null else it
+                }
+            }
+    ) {
+        override fun onTextChanged(text: String) {
+            viewModel.getStructuredName().value?.suffixes?.clear()
+            viewModel.getStructuredName().value?.suffixes?.add(text)
+        }
+    }
+
+    /**
+     * Manages the edit text of the formatted name. This edit text is only shown if there is no
+     * structured name and the formatted name (FN) is not null and not empty. If the structured name
+     * and the formatted name are both null or empty, only the first and last name edit texts are
+     * shown.
+     */
+    inner class FullNameWrapper(@IdRes id: Int) : EditTextWrapper(id) {
+
+        init {
+            viewModel.getFormattedName().observe(this@EditSendContactActivity) {
+                setInitialText(viewModel.getFormattedName().value?.value ?: "")
+            }
+        }
+
+        override fun onTextChanged(text: String) {
+            viewModel.getFormattedName().value?.value = text
+        }
+    }
+
+    companion object {
+        const val EXTRA_CONTACT = "EXTRA_CONTACT"
+        const val RESULT_CONTACT_URI = "CONTACT_URI"
+        const val RESULT_CONTACT_NAME = "CONTACT_NAME"
+    }
+}
+

+ 22 - 31
app/src/main/java/ch/threema/app/activities/EnterSerialActivity.java

@@ -42,8 +42,9 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
+import androidx.annotation.NonNull;
+import androidx.core.text.HtmlCompat;
 import ch.threema.app.BuildConfig;
 import ch.threema.app.R;
 import ch.threema.app.ThreemaApplication;
@@ -63,10 +64,11 @@ import ch.threema.app.utils.DialogUtil;
 import ch.threema.app.utils.EditTextUtil;
 import ch.threema.app.utils.LocaleUtil;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 // this should NOT extend ThreemaToolbarActivity
 public class EnterSerialActivity extends ThreemaActivity {
-	private static final Logger logger = LoggerFactory.getLogger(EnterSerialActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("EnterSerialActivity");
 
 	private static final String BUNDLE_PASSWORD = "bupw";
 	private static final String BUNDLE_LICENSE_KEY = "bulk";
@@ -92,7 +94,7 @@ public class EnterSerialActivity extends ThreemaActivity {
 		ServiceManager serviceManager = ThreemaApplication.getServiceManager();
 
 		if (serviceManager == null) {
-			// hide keyboard to make error message visible on low resolution displays
+			// Hide keyboard to make error message visible on low resolution displays
 			EditTextUtil.hideSoftKeyboard(this.licenseKeyOrUsernameText);
 			Toast.makeText(this, "Service Manager not available", Toast.LENGTH_LONG).show();
 			return;
@@ -118,6 +120,11 @@ public class EnterSerialActivity extends ThreemaActivity {
 		passwordText = findViewById(getResources().getIdentifier("password", "id", getPackageName()));
 		serverText = findViewById(getResources().getIdentifier("server", "id", getPackageName()));
 
+		TextView enterKeyExplainText = findViewById(R.id.layout_top);
+		enterKeyExplainText.setText(HtmlCompat.fromHtml(getString(R.string.enter_serial_body), HtmlCompat.FROM_HTML_MODE_COMPACT));
+		enterKeyExplainText.setClickable(true);
+		enterKeyExplainText.setMovementMethod(LinkMovementMethod.getInstance());
+
 		if (!ConfigUtils.isWorkBuild() && !ConfigUtils.isOnPremBuild()) {
 			setupForShopBuild();
 		} else {
@@ -159,39 +166,23 @@ public class EnterSerialActivity extends ThreemaActivity {
 		privateExplainText = findViewById(R.id.private_explain);
 
 		if (privateExplainText != null) {
-			String workInfoUrl = String.format(getString(R.string.threema_work_url), LocaleUtil.getAppLanguage());
-
-			if (PushService.hmsServicesInstalled(this)) {
-				privateExplainText.setText(Html.fromHtml(
-					String.format(getString(R.string.private_threema_download),
-						workInfoUrl,
-						getString(R.string.private_download_url)
-						)
-					)
-				);
-			}
-			else {
-				privateExplainText.setText(Html.fromHtml
-					(String.format(getString(R.string.private_threema_download),
-						workInfoUrl,
-						getString(R.string.private_download_url))
-					)
-				);
-			}
+			final String workInfoUrl = String.format(getString(R.string.threema_work_url), LocaleUtil.getAppLanguage());
+			privateExplainText.setText(Html.fromHtml(
+				String.format(
+					getString(R.string.private_threema_download),
+					workInfoUrl,
+					getString(R.string.private_download_url)
+				)
+			));
 			privateExplainText.setClickable(true);
 			privateExplainText.setMovementMethod(LinkMovementMethod.getInstance());
 		}
 		licenseKeyOrUsernameText.addTextChangedListener(new TextChangeWatcher());
 		passwordText.addTextChangedListener(new TextChangeWatcher());
 		loginButton = findViewById(getResources().getIdentifier("unlock_button_work", "id", getPackageName()));
-		loginButton.setOnClickListener(new View.OnClickListener() {
-			@Override
-			public void onClick(View v) {
-				doUnlock();
-			}
-		});
+		loginButton.setOnClickListener(v -> doUnlock());
 
-		//always enable login button
+		// Always enable login button
 		this.enableLogin(true);
 	}
 
@@ -232,7 +223,7 @@ public class EnterSerialActivity extends ThreemaActivity {
 				}
 			}
 		} else {
-			// we get here if called from url intent and we're already licensed
+			// We get here if called from url intent and we're already licensed
 			if (scheme != null) {
 				Toast.makeText(this, R.string.already_licensed, Toast.LENGTH_LONG).show();
 				finish();
@@ -433,7 +424,7 @@ public class EnterSerialActivity extends ThreemaActivity {
 	}
 
 	@Override
-	public void onConfigurationChanged(Configuration newConfig) {
+	public void onConfigurationChanged(@NonNull Configuration newConfig) {
 		// We override this method to avoid restarting the entire
 		// activity when the keyboard is opened or orientation changes
 		super.onConfigurationChanged(newConfig);

+ 35 - 0
app/src/main/java/ch/threema/app/activities/EulaActivity.kt

@@ -0,0 +1,35 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.activities
+
+import ch.threema.app.R
+import ch.threema.app.utils.ConfigUtils
+
+class EulaActivity : SimpleWebViewActivity() {
+    override fun getWebViewTitle(): Int {
+        return R.string.eula
+    }
+
+    override fun getWebViewUrl(): String {
+        return ConfigUtils.getEulaURL(this)
+    }
+}

+ 2 - 2
app/src/main/java/ch/threema/app/activities/ExportIDActivity.java

@@ -27,7 +27,6 @@ import android.os.AsyncTask;
 import android.os.Bundle;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.fragment.app.DialogFragment;
@@ -42,10 +41,11 @@ import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.DialogUtil;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.identitybackup.IdentityBackupGenerator;
 
 public class ExportIDActivity extends AppCompatActivity implements PasswordEntryDialog.PasswordEntryDialogClickListener {
-	private static final Logger logger = LoggerFactory.getLogger(AppCompatActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("ExportIDActivity");
 
 	private static final String DIALOG_TAG_SET_ID_BACKUP_PW = "setIDBackupPW";
 	private static final String DIALOG_PROGRESS_ID = "idBackup";

+ 4 - 18
app/src/main/java/ch/threema/app/activities/ExportIDResultActivity.java

@@ -25,7 +25,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
 import android.print.PrintAttributes;
 import android.print.PrintDocumentAdapter;
@@ -51,7 +50,8 @@ import androidx.lifecycle.LifecycleOwner;
 import ch.threema.app.R;
 import ch.threema.app.ThreemaApplication;
 import ch.threema.app.dialogs.GenericAlertDialog;
-import ch.threema.app.ui.ImagePopup;
+import ch.threema.app.services.QRCodeServiceImpl;
+import ch.threema.app.ui.QRCodePopup;
 import ch.threema.app.ui.TooltipPopup;
 import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.TestUtil;
@@ -108,27 +108,13 @@ public class ExportIDResultActivity extends ThreemaToolbarActivity implements Ge
 		textView.setText(backupData);
 
 		final ImageView imageView = findViewById(R.id.qrcode_backup);
-		this.qrcodeBitmap = serviceManager.getQRCodeService().getRawQR(backupData, false);
+		this.qrcodeBitmap = serviceManager.getQRCodeService().getRawQR(backupData, false, QRCodeServiceImpl.QR_TYPE_ID_EXPORT);
 
 		final int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, QRCODE_SMALL_DIMENSION_PIXEL, getResources().getDisplayMetrics());
 		Bitmap bmpScaled = Bitmap.createScaledBitmap(qrcodeBitmap, px, px, false);
 		bmpScaled.setDensity(Bitmap.DENSITY_NONE);
 		imageView.setImageBitmap(bmpScaled);
-		imageView.setOnClickListener(new View.OnClickListener() {
-			@Override
-			public void onClick(View v) {
-				if (qrcodeBitmap != null) {
-					// using a BitmapDrawable disables anti-aliasing in ImageView's scaling
-					BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), qrcodeBitmap);
-					bitmapDrawable.setFilterBitmap(false);
-
-					View rootView = findViewById(R.id.main_content);
-
-					ImagePopup detailPopup = new ImagePopup(ExportIDResultActivity.this, rootView, rootView.getWidth(), rootView.getHeight(), getResources().getDimensionPixelSize(R.dimen.image_popup_screen_border_width));
-					detailPopup.show(v, bitmapDrawable, getString(R.string.backup_share_subject) + " " + identity, true);
-				}
-			}
-		});
+		imageView.setOnClickListener(v -> new QRCodePopup(ExportIDResultActivity.this, getWindow().getDecorView(), ExportIDResultActivity.this).show(v, backupData, QRCodeServiceImpl.QR_TYPE_ID_EXPORT));
 	}
 
 	private void showTooltip() {

+ 2 - 2
app/src/main/java/ch/threema/app/activities/GroupAdd2Activity.java

@@ -29,7 +29,6 @@ import android.os.Bundle;
 import android.widget.Toast;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 
@@ -40,10 +39,11 @@ import ch.threema.app.dialogs.ContactEditDialog;
 import ch.threema.app.dialogs.GenericProgressDialog;
 import ch.threema.app.utils.DialogUtil;
 import ch.threema.app.utils.IntentDataUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.GroupModel;
 
 public class GroupAdd2Activity extends GroupEditActivity implements ContactEditDialog.ContactEditDialogClickListener {
-	private static final Logger logger = LoggerFactory.getLogger(GroupAdd2Activity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("GroupAdd2Activity");
 
 	private static final String DIALOG_TAG_CREATING_GROUP = "groupCreate";
 	private static final String BUNDLE_GROUP_IDENTITIES = "grId";

+ 40 - 26
app/src/main/java/ch/threema/app/activities/HomeActivity.java

@@ -50,7 +50,6 @@ import com.google.android.material.badge.BadgeDrawable;
 import com.google.android.material.bottomnavigation.BottomNavigationView;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.lang.ref.WeakReference;
@@ -64,6 +63,7 @@ import java.util.concurrent.RejectedExecutionException;
 
 import androidx.annotation.AnyThread;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.widget.AppCompatImageView;
@@ -109,12 +109,12 @@ import ch.threema.app.services.ConversationService;
 import ch.threema.app.services.ConversationTagService;
 import ch.threema.app.services.DeviceService;
 import ch.threema.app.services.FileService;
-import ch.threema.app.services.LifetimeService;
 import ch.threema.app.services.LockAppService;
 import ch.threema.app.services.MessageService;
 import ch.threema.app.services.NotificationService;
 import ch.threema.app.services.PassphraseService;
 import ch.threema.app.services.PreferenceService;
+import ch.threema.app.services.ThreemaPushService;
 import ch.threema.app.services.UpdateSystemService;
 import ch.threema.app.services.UserService;
 import ch.threema.app.services.license.LicenseService;
@@ -135,6 +135,7 @@ import ch.threema.app.utils.TestUtil;
 import ch.threema.app.voip.activities.CallActivity;
 import ch.threema.app.voip.services.VoipCallService;
 import ch.threema.app.webclient.activities.SessionsActivity;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.api.LinkMobileNoException;
 import ch.threema.domain.protocol.csp.connection.ConnectionState;
 import ch.threema.domain.protocol.csp.connection.ConnectionStateListener;
@@ -155,7 +156,7 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 	GenericAlertDialog.DialogClickListener,
 	LifecycleOwner {
 
-	private static final Logger logger = LoggerFactory.getLogger(HomeActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("HomeActivity");
 
 	private static final String THREEMA_CHANNEL_IDENTITY = "*THREEMA";
 	private static final String THREEMA_CHANNEL_INFO_COMMAND = "Info";
@@ -170,7 +171,6 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 	private static final String DIALOG_TAG_CANCEL_VERIFY = "cv";
 	private static final String DIALOG_TAG_MASTERKEY_LOCKED = "mkl";
 	private static final String DIALOG_TAG_SERIAL_LOCKED = "sll";
-	private static final String DIALOG_TAG_ENABLE_POLLING = "enp";
 	private static final String DIALOG_TAG_FINISH_UP = "fup";
 	private static final String DIALOG_TAG_THREEMA_CHANNEL_VERIFY = "cvf";
 	private static final String DIALOG_TAG_UPDATING = "updating";
@@ -527,6 +527,8 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 	protected void onCreate(Bundle savedInstanceState) {
 		logger.debug("onCreate");
 
+		final boolean isAppStart = savedInstanceState == null;
+
 		AnimationUtil.setupTransitions(this.getApplicationContext(), getWindow());
 
 		ConfigUtils.configureActivityTheme(this);
@@ -546,7 +548,7 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 				this.startMainActivity(savedInstanceState);
 
 				// only execute this on first startup
-				if (savedInstanceState == null) {
+				if (isAppStart) {
 					if (preferenceService != null && userService != null && userService.hasIdentity()) {
 						if (ConfigUtils.isWorkRestricted()) {
 							// update configuration
@@ -912,7 +914,9 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 	}
 
 	@UiThread
-	private void initMainActivity(Bundle savedInstanceState) {
+	private void initMainActivity(@Nullable Bundle savedInstanceState) {
+		final boolean isAppStart = savedInstanceState == null;
+
 		//refresh StateBitmapUtil
 		StateBitmapUtil.getInstance().refresh();
 
@@ -977,13 +981,28 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 		// call onPrepareOptionsMenu
 		this.invalidateOptionsMenu();
 
-		if (savedInstanceState == null) {
-			if (!PushService.servicesInstalled(this)) {
-				enablePolling(serviceManager);
+		// Checks on app start
+		if (isAppStart) {
+			// If a non-libre build of Threema cannot find push services, fall back to Threema Push
+			if (!BuildFlavor.forceThreemaPush() && !PushService.servicesInstalled(this)) {
+				this.enableThreemaPush();
 				if (!ConfigUtils.isBlackBerry() && !ConfigUtils.isAmazonDevice() && !ConfigUtils.isWorkBuild()) {
-					RuntimeUtil.runOnUiThread(() -> ShowOnceDialog.newInstance(R.string.push_not_available_title, R.string.push_not_available_text).show(getSupportFragmentManager(), "nopush"));
+					RuntimeUtil.runOnUiThread(() -> {
+						// Show "push not available" dialog
+						int title = R.string.push_not_available_title;
+						final String message = getString(R.string.push_not_available_text1) + "\n\n" + getString(R.string.push_not_available_text2, getString(R.string.app_name));
+						ShowOnceDialog.newInstance(title, message).show(getSupportFragmentManager(), "nopush");
+					});
 				}
 			}
+
+			// For libre builds of Threema, always ask user to disable battery permissions
+			if (BuildFlavor.forceThreemaPush() && !DisableBatteryOptimizationsActivity.isIgnoringBatteryOptimizations(this)) {
+				final Intent intent = new Intent(this, DisableBatteryOptimizationsActivity.class);
+				intent.putExtra(DisableBatteryOptimizationsActivity.EXTRA_NAME, getString(R.string.threema_push));
+				intent.putExtra(DisableBatteryOptimizationsActivity.EXTRA_CONFIRM, true);
+				startActivityForResult(intent, 12345);
+			}
 		}
 
 		this.mainContent = findViewById(R.id.main_content);
@@ -1026,7 +1045,7 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 			intent.removeExtra(EXTRA_SHOW_CONTACTS);
 		}
 
-		if (savedInstanceState != null && savedInstanceState.containsKey(BUNDLE_CURRENT_FRAGMENT_TAG)) {
+		if (!isAppStart && savedInstanceState.containsKey(BUNDLE_CURRENT_FRAGMENT_TAG)) {
 			// restored session
 			initialFragmentTag = savedInstanceState.getString(BUNDLE_CURRENT_FRAGMENT_TAG, initialFragmentTag);
 
@@ -1160,14 +1179,13 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 		}
 	}
 
-	private void enablePolling(ServiceManager serviceManager) {
-		if (!preferenceService.isPolling()) {
-			preferenceService.setPolling(true);
-			LifetimeService lifetimeService = serviceManager.getLifetimeService();
-
-			if (lifetimeService != null) {
-				lifetimeService.setPollingInterval(1);
-			}
+	/**
+	 * Ensure that Threema Push is enabled in the preferences.
+	 */
+	private void enableThreemaPush() {
+		if (!preferenceService.useThreemaPush()) {
+			preferenceService.setUseThreemaPush(true);
+			ThreemaPushService.tryStart(logger, ThreemaApplication.getAppContext());
 		}
 	}
 
@@ -1374,7 +1392,9 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 				}
 			} else if (addDisabled != null && addDisabled) {
 				MenuItem menuItem = menu.findItem(R.id.threema_channel);
-				menuItem.setVisible(false);
+				if (menuItem != null) {
+					menuItem.setVisible(false);
+				}
 			}
 
 			if (ConfigUtils.supportsGroupLinks()) {
@@ -1489,9 +1509,6 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 				startActivityForResult(new Intent(HomeActivity.this, EnterSerialActivity.class), ThreemaActivity.ACTIVITY_ID_ENTER_SERIAL);
 				finish();
 				break;
-			case DIALOG_TAG_ENABLE_POLLING:
-				enablePolling(serviceManager);
-				break;
 			case DIALOG_TAG_FINISH_UP:
 				System.exit(0);
 				break;
@@ -1516,9 +1533,6 @@ public class HomeActivity extends ThreemaAppCompatActivity implements
 			case DIALOG_TAG_SERIAL_LOCKED:
 				finish();
 				break;
-			case DIALOG_TAG_ENABLE_POLLING:
-				finish();
-				break;
 			default:
 				break;
 		}

+ 2 - 2
app/src/main/java/ch/threema/app/activities/ImagePaintActivity.java

@@ -50,7 +50,6 @@ import com.getkeepsafe.taptargetview.TapTarget;
 import com.getkeepsafe.taptargetview.TapTargetView;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.BufferedInputStream;
 import java.io.File;
@@ -89,11 +88,12 @@ import ch.threema.app.utils.BitmapWorkerTaskParams;
 import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.DialogUtil;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 import static ch.threema.app.utils.BitmapUtil.FLIP_NONE;
 
 public class ImagePaintActivity extends ThreemaToolbarActivity implements GenericAlertDialog.DialogClickListener {
-	private static final Logger logger = LoggerFactory.getLogger(ImagePaintActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("ImagePaintActivity");
 
 	private static final String DIALOG_TAG_COLOR_PICKER = "colp";
 	private static final String KEY_PEN_COLOR = "pc";

+ 8 - 15
app/src/main/java/ch/threema/app/activities/ImagePaintKeyboardActivity.java

@@ -62,10 +62,10 @@ public class ImagePaintKeyboardActivity extends ThreemaToolbarActivity {
 		this.currentKeyboardHeight = 0;
 
 		setSupportActionBar(getToolbar());
-		ActionBar actionBar = getSupportActionBar();
-
+		final ActionBar actionBar = getSupportActionBar();
 		if (actionBar == null) {
 			finish();
+			return;
 		}
 
 		Drawable checkDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_check);
@@ -93,12 +93,7 @@ public class ImagePaintKeyboardActivity extends ThreemaToolbarActivity {
 				currentKeyboardHeight = keyboardHeight;
 			}
 		});
-		rootView.setOnClickListener(new View.OnClickListener() {
-			@Override
-			public void onClick(View v) {
-				cancel();
-			}
-		});
+		rootView.setOnClickListener(v -> cancel());
 
 		Intent intent = getIntent();
 		@ColorInt int color = intent.getIntExtra(INTENT_EXTRA_COLOR, getResources().getColor(android.R.color.white));
@@ -135,13 +130,10 @@ public class ImagePaintKeyboardActivity extends ThreemaToolbarActivity {
 		textEntry.setHintTextColor(hintColor);
 		// offset values don't seem to have the same range as in a textpaint (we have to approx. quadruple them)
 		textEntry.setShadowLayer(TextEntity.TEXT_SHADOW_RADIUS * 4, TextEntity.TEXT_SHADOW_OFFSET * 4, TextEntity.TEXT_SHADOW_OFFSET * 4, Color.BLACK);
-		textEntry.postDelayed(new Runnable() {
-			@Override
-			public void run() {
-				textEntry.setVisibility(View.VISIBLE);
-				textEntry.requestFocus();
-				EditTextUtil.showSoftKeyboard(textEntry);
-			}
+		textEntry.postDelayed(() -> {
+			textEntry.setVisibility(View.VISIBLE);
+			textEntry.requestFocus();
+			EditTextUtil.showSoftKeyboard(textEntry);
 		}, 500);
 	}
 
@@ -154,6 +146,7 @@ public class ImagePaintKeyboardActivity extends ThreemaToolbarActivity {
 	public boolean onOptionsItemSelected(MenuItem item) {
 		super.onOptionsItemSelected(item);
 
+		//noinspection SwitchStatementWithTooFewBranches
 		switch (item.getItemId()) {
 			case android.R.id.home:
 				returnResult(textEntry.getText());

+ 3 - 3
app/src/main/java/ch/threema/app/activities/MediaGalleryActivity.java

@@ -46,7 +46,6 @@ import android.widget.TextView;
 import com.google.android.material.snackbar.Snackbar;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.sql.SQLException;
@@ -85,6 +84,7 @@ import ch.threema.app.utils.LogUtil;
 import ch.threema.app.utils.NameUtil;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.AbstractMessageModel;
 import ch.threema.storage.models.ContactModel;
 import ch.threema.storage.models.DistributionListModel;
@@ -95,7 +95,7 @@ import ch.threema.storage.models.data.MessageContentsType;
 import static ch.threema.app.fragments.ComposeMessageFragment.SCROLLBUTTON_VIEW_TIMEOUT;
 
 public class MediaGalleryActivity extends ThreemaToolbarActivity implements AdapterView.OnItemClickListener, ActionBar.OnNavigationListener, GenericAlertDialog.DialogClickListener, FastScrollGridView.ScrollListener {
-	private static final Logger logger = LoggerFactory.getLogger(MediaGalleryActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("MediaGalleryActivity");
 
 	private ThumbnailCache<?> thumbnailCache = null;
 	private MediaGalleryAdapter mediaGalleryAdapter;
@@ -512,7 +512,7 @@ public class MediaGalleryActivity extends ThreemaToolbarActivity implements Adap
 					final Date createdAt = messageModel.getCreatedAt();
 					if (createdAt != null) {
 						dateView.post(() -> {
-							dateTextView.setText(LocaleUtil.formatDateRelative(this, createdAt.getTime()));
+							dateTextView.setText(LocaleUtil.formatDateRelative(createdAt.getTime()));
 						});
 					}
 				}

+ 13 - 9
app/src/main/java/ch/threema/app/activities/MediaViewerActivity.java

@@ -45,7 +45,6 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -90,6 +89,7 @@ import ch.threema.app.utils.NameUtil;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.app.utils.TestUtil;
 import ch.threema.base.ThreemaException;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.AbstractMessageModel;
 import ch.threema.storage.models.DistributionListMessageModel;
 import ch.threema.storage.models.GroupMessageModel;
@@ -99,7 +99,7 @@ import ch.threema.storage.models.MessageType;
 public class MediaViewerActivity extends ThreemaToolbarActivity implements
 	ExpandableTextEntryDialog.ExpandableTextEntryDialogClickListener {
 
-	private static final Logger logger = LoggerFactory.getLogger(MediaViewerActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("MediaViewerActivity");
 
 	private static final int PERMISSION_REQUEST_SAVE_MESSAGE = 1;
 	private static final long LOADING_DELAY = 600;
@@ -437,13 +437,17 @@ public class MediaViewerActivity extends ThreemaToolbarActivity implements
 	}
 
 	private void shareMedia() {
-		AbstractMessageModel messageModel = this.getCurrentMessageModel();
-		ExpandableTextEntryDialog alertDialog = ExpandableTextEntryDialog.newInstance(
-			getString(R.string.share_media),
-			R.string.add_caption_hint, messageModel.getCaption(),
-			R.string.next, R.string.cancel, true);
-		alertDialog.setData(messageModel);
-		alertDialog.show(getSupportFragmentManager(), null);
+		final AbstractMessageModel messageModel = this.getCurrentMessageModel();
+		if (messageModel != null) {
+			final ExpandableTextEntryDialog alertDialog = ExpandableTextEntryDialog.newInstance(
+				getString(R.string.share_media),
+				R.string.add_caption_hint, messageModel.getCaption(),
+				R.string.next, R.string.cancel, true);
+			alertDialog.setData(messageModel);
+			alertDialog.show(getSupportFragmentManager(), null);
+		} else {
+			logger.error("shareMedia: messageModel is null");
+		}
 	}
 
 	@Override

+ 1 - 3
app/src/main/java/ch/threema/app/activities/NotificationsActivity.java

@@ -50,7 +50,6 @@ import ch.threema.app.listeners.ContactSettingsListener;
 import ch.threema.app.managers.ListenerManager;
 import ch.threema.app.managers.ServiceManager;
 import ch.threema.app.preference.SettingsActivity;
-import ch.threema.app.preference.SettingsNotificationsFragment;
 import ch.threema.app.services.ContactService;
 import ch.threema.app.services.ConversationService;
 import ch.threema.app.services.DeadlineListService;
@@ -352,8 +351,7 @@ public abstract class NotificationsActivity extends ThreemaActivity implements V
 				break;
 			case R.id.prefs_button:
 				Intent intent = new Intent(this, SettingsActivity.class);
-				intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsNotificationsFragment.class.getName());
-				intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true );
+				intent.putExtra(SettingsActivity.EXTRA_SHOW_NOTIFICATION_FRAGMENT, true);
 				ringtoneSettingsLauncher.launch(intent);
 				overridePendingTransition(R.anim.fast_fade_in, R.anim.fast_fade_out);
 				break;

+ 4 - 3
app/src/main/java/ch/threema/app/activities/PinLockActivity.java

@@ -35,10 +35,10 @@ import android.widget.Button;
 import android.widget.TextView;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.security.MessageDigest;
 
+import androidx.annotation.NonNull;
 import ch.threema.app.R;
 import ch.threema.app.ThreemaApplication;
 import ch.threema.app.managers.ServiceManager;
@@ -48,9 +48,10 @@ import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.EditTextUtil;
 import ch.threema.app.utils.NavigationUtil;
 import ch.threema.app.utils.RuntimeUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 public class PinLockActivity extends ThreemaActivity {
-	private static final Logger logger = LoggerFactory.getLogger(PinLockActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("PinLockActivity");
 
 	private static final String KEY_NUM_WRONG_CONFIRM_ATTEMPTS = "num_wrong_attempts";
 	private static final long ERROR_MESSAGE_TIMEOUT = 3000;
@@ -140,7 +141,7 @@ public class PinLockActivity extends ThreemaActivity {
 	}
 
 	@Override
-	public void onConfigurationChanged(Configuration newConfig) {
+	public void onConfigurationChanged(@NonNull Configuration newConfig) {
 		super.onConfigurationChanged(newConfig);
 	}
 

+ 9 - 3
app/src/main/java/ch/threema/app/activities/QRCodeZoomActivity.java

@@ -27,32 +27,38 @@ import android.view.View;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.view.ViewCompat;
 import ch.threema.app.R;
+import ch.threema.app.services.QRCodeServiceImpl;
 import ch.threema.app.ui.QRCodePopup;
 
+import static ch.threema.app.services.QRCodeServiceImpl.QR_TYPE_ANY;
+
 /***
  * Activity displaying QR Code popup. Used by Launcher shortcut
  */
 public class QRCodeZoomActivity extends AppCompatActivity {
 	QRCodePopup qrPopup = null;
+	private static final String EXTRA_COLOR = "color";
 
 	public void onCreate(final Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
 
 		final View rootView = getWindow().getDecorView().getRootView();
 
+		@QRCodeServiceImpl.QRCodeColor int qrCodeColor = getIntent().getIntExtra(EXTRA_COLOR, QR_TYPE_ANY);
+
 		ViewCompat.setOnApplyWindowInsetsListener(rootView, (v, insets) -> {
-			showPopup(v);
+			showPopup(v, qrCodeColor);
 			return insets;
 		});
 	}
 
-	private void showPopup(final View v) {
+	private void showPopup(final View v, @QRCodeServiceImpl.QRCodeColor int borderColor) {
 		v.post(() -> {
 			if (qrPopup == null || !qrPopup.isShowing()) {
 				qrPopup = new QRCodePopup(this, v, this);
 				qrPopup.setOnDismissListener(QRCodeZoomActivity.this::finish);
 				if (!isDestroyed() && !isFinishing()) {
-					qrPopup.show(v, null);
+					qrPopup.show(v, null, borderColor);
 				}
 			}
 		});

+ 34 - 15
app/src/main/java/ch/threema/app/activities/RecipientListBaseActivity.java

@@ -28,6 +28,8 @@ import android.content.ContentResolver;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.database.Cursor;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
 import android.location.Location;
 import android.net.Uri;
 import android.os.AsyncTask;
@@ -51,7 +53,6 @@ import com.google.android.material.snackbar.Snackbar;
 import com.google.android.material.tabs.TabLayout;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
@@ -118,6 +119,7 @@ import ch.threema.app.utils.NavigationUtil;
 import ch.threema.app.utils.RuntimeUtil;
 import ch.threema.app.utils.ShortcutUtil;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.csp.messages.file.FileData;
 import ch.threema.storage.models.AbstractMessageModel;
 import ch.threema.storage.models.ContactModel;
@@ -127,7 +129,8 @@ import ch.threema.storage.models.MessageType;
 import ch.threema.storage.models.data.LocationDataModel;
 import java8.util.concurrent.CompletableFuture;
 
-import static ch.threema.app.activities.SendMediaActivity.MAX_SELECTABLE_IMAGES;
+import static ch.threema.app.activities.SendMediaActivity.MAX_EDITABLE_IMAGES;
+import static ch.threema.app.fragments.ComposeMessageFragment.MAX_FORWARDABLE_ITEMS;
 import static ch.threema.app.ui.MediaItem.TYPE_TEXT;
 
 public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
@@ -136,7 +139,7 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 	TextWithCheckboxDialog.TextWithCheckboxDialogClickListener,
 	SearchView.OnQueryTextListener {
 
-	private static final Logger logger = LoggerFactory.getLogger(RecipientListBaseActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("RecipientListBaseActivity");
 
 	private final static int FRAGMENT_RECENT = 0;
 	private final static int FRAGMENT_USERS = 1;
@@ -370,14 +373,25 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 		} else {
 			if (actionBar != null) {
 				actionBar.setDisplayHomeAsUpEnabled(false);
-				actionBar.setTitle(R.string.please_wait);
-			}
-			if (tabLayout != null) {
-				tabLayout.setVisibility(View.GONE);
-			}
-			if (progressBar != null) {
-				progressBar.setVisibility(View.VISIBLE);
+
+				if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+					ColorDrawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);
+					actionBar.setTitle(null);
+					actionBar.setBackgroundDrawable(transparentDrawable);
+					getToolbar().setVisibility(View.GONE);
+					getWindow().setBackgroundDrawable(transparentDrawable);
+					getWindow().setStatusBarColor(Color.TRANSPARENT);
+					setTranslucent(true);
+				} else {
+					actionBar.setTitle(R.string.app_name);
+					if (progressBar != null) {
+						progressBar.setVisibility(View.VISIBLE);
+					}
+				}
 			}
+
+			tabLayout.setVisibility(View.GONE);
+
 			if (searchMenuItem != null) {
 				searchMenuItem.setVisible(false);
 			}
@@ -610,7 +624,7 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 					ArrayList<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
 					if (uris != null) {
 						for (int i = 0; i < uris.size(); i++) {
-							if (i < MAX_SELECTABLE_IMAGES) {
+							if (i < MAX_FORWARDABLE_ITEMS) {
 								Uri uri = uris.get(i);
 								if (uri != null) {
 									String mimeType = FileUtil.getMimeTypeFromUri(this, uri);
@@ -620,7 +634,7 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 									addMediaItemSharedFromOtherApp(mimeType, uri, null);
 								}
 							} else {
-								Toast.makeText(getApplicationContext(), getString(R.string.max_selectable_media_exceeded, MAX_SELECTABLE_IMAGES), Toast.LENGTH_LONG).show();
+								Toast.makeText(getApplicationContext(), getString(R.string.max_selectable_media_exceeded, MAX_FORWARDABLE_ITEMS), Toast.LENGTH_LONG).show();
 								break;
 							}
 						}
@@ -665,7 +679,7 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 
 			try (Cursor cursor = getContentResolver().query(uri, proj, null, null, null)) {
 				if (cursor != null && cursor.moveToFirst()) {
-					String mimeType = cursor.getString(cursor.getColumnIndex(DocumentsContract.Document.COLUMN_MIME_TYPE));
+					String mimeType = cursor.getString(cursor.getColumnIndexOrThrow(DocumentsContract.Document.COLUMN_MIME_TYPE));
 					if (!TestUtil.empty(mimeType)) {
 						return mimeType;
 					}
@@ -1007,7 +1021,7 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 
 								DialogUtil.dismissDialog(getSupportFragmentManager(), DIALOG_TAG_FILECOPY, true);
 
-								if (numEditableMedia == mediaItems.size()) { // all files are images or videos
+								if (numEditableMedia == mediaItems.size() && mediaItems.size() <= MAX_EDITABLE_IMAGES) { // all files are images or videos
 									// all files are either images or videos => redirect to SendMediaActivity
 									recipientMessageReceivers.clear();
 									for (Object model : recipients) {
@@ -1025,7 +1039,12 @@ public class RecipientListBaseActivity extends ThreemaToolbarActivity implements
 									}
 								} else {
 									// mixed media
-									ExpandableTextEntryDialog alertDialog = ExpandableTextEntryDialog.newInstance(getString(R.string.really_send, finalRecipientName), R.string.add_caption_hint, captionText, R.string.send, R.string.cancel, mediaItems.size() == 1);
+									ExpandableTextEntryDialog alertDialog;
+									if (hideUi) {
+										alertDialog = ExpandableTextEntryDialog.newInstance(getString(R.string.app_name), getString(R.string.really_send, finalRecipientName), R.string.add_caption_hint, captionText, R.string.send, R.string.cancel, mediaItems.size() == 1);
+									} else {
+										alertDialog = ExpandableTextEntryDialog.newInstance(getString(R.string.really_send, finalRecipientName), R.string.add_caption_hint, captionText, R.string.send, R.string.cancel, mediaItems.size() == 1);
+									}
 									alertDialog.setData(recipients);
 									alertDialog.show(getSupportFragmentManager(), null);
 								}

+ 2 - 2
app/src/main/java/ch/threema/app/activities/SMSVerificationLinkActivity.java

@@ -28,7 +28,6 @@ import android.os.Bundle;
 import android.widget.Toast;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.StringRes;
 import androidx.appcompat.app.AppCompatActivity;
@@ -37,9 +36,10 @@ import ch.threema.app.ThreemaApplication;
 import ch.threema.app.managers.ServiceManager;
 import ch.threema.app.services.UserService;
 import ch.threema.app.utils.TestUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 public class SMSVerificationLinkActivity extends AppCompatActivity {
-	private static final Logger logger = LoggerFactory.getLogger(SMSVerificationLinkActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("SMSVerificationLinkActivity");
 
 	private UserService userService;
 

+ 12 - 14
app/src/main/java/ch/threema/app/activities/SendMediaActivity.java

@@ -142,7 +142,7 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 	public static final String EXTRA_MEDIA_ITEMS = "mediaitems";
 	public static final String EXTRA_USE_EXTERNAL_CAMERA = "extcam";
 
-	public static final int MAX_SELECTABLE_IMAGES = 10;
+	public static final int MAX_EDITABLE_IMAGES = 10; // Max number of images/videos that can be edited here at once
 
 	private static final String DIALOG_TAG_QUIT_CONFIRM = "qc";
 	private static final long IMAGE_ANIMATION_DURATION_MS = 180;
@@ -843,8 +843,8 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 
 				@Override
 				protected void onPreExecute() {
-					if (mediaItems.size() + uriList.size() > MAX_SELECTABLE_IMAGES) {
-						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_SELECTABLE_IMAGES), Snackbar.LENGTH_LONG).show();
+					if (mediaItems.size() + uriList.size() > MAX_EDITABLE_IMAGES) {
+						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_EDITABLE_IMAGES), Snackbar.LENGTH_LONG).show();
 					}
 				}
 
@@ -859,7 +859,7 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 								continue;
 							}
 
-							if (numExistingItems + itemList.size() >= MAX_SELECTABLE_IMAGES) {
+							if (numExistingItems + itemList.size() >= MAX_EDITABLE_IMAGES) {
 								capacityExceeded = true;
 								break;
 							}
@@ -908,7 +908,7 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 					mediaItems.addAll(itemList);
 
 					if (capacityExceeded) {
-						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_SELECTABLE_IMAGES), Snackbar.LENGTH_LONG).show();
+						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_EDITABLE_IMAGES), Snackbar.LENGTH_LONG).show();
 					}
 
 					updateMenu();
@@ -948,8 +948,8 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 
 				@Override
 				protected void onPostExecute(List<MediaItem> itemList) {
-					if (mediaItems.size() + itemList.size() > MAX_SELECTABLE_IMAGES) {
-						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_SELECTABLE_IMAGES), Snackbar.LENGTH_LONG).show();
+					if (mediaItems.size() + itemList.size() > MAX_EDITABLE_IMAGES) {
+						Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_EDITABLE_IMAGES), Snackbar.LENGTH_LONG).show();
 					} else {
 						if (sendMediaGridAdapter != null) {
 							sendMediaGridAdapter.add(itemList);
@@ -1006,10 +1006,8 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 						if (!TestUtil.empty(this.cameraFilePath)) {
 							final Uri cameraUri = Uri.fromFile(new File(this.cameraFilePath));
 							if (cameraUri != null) {
-								BitmapUtil.ExifOrientation exifOrientation = null;
-								if (requestCode == ThreemaActivity.ACTIVITY_ID_PICK_CAMERA_EXTERNAL) {
-									exifOrientation =  BitmapUtil.getExifOrientation(this, cameraUri);
-								} else {
+								BitmapUtil.ExifOrientation exifOrientation = BitmapUtil.getExifOrientation(this, cameraUri);
+								if (requestCode != ThreemaActivity.ACTIVITY_ID_PICK_CAMERA_EXTERNAL) {
 									if (bigImageView != null) {
 										bigImageView.setVisibility(View.GONE);
 									}
@@ -1083,8 +1081,8 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 
 	@UiThread
 	private int addItemFromCamera(int type, @NonNull Uri imageUri, BitmapUtil.ExifOrientation exifOrientation) {
-		if (mediaItems.size() >= MAX_SELECTABLE_IMAGES) {
-			Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_SELECTABLE_IMAGES), Snackbar.LENGTH_LONG).show();
+		if (mediaItems.size() >= MAX_EDITABLE_IMAGES) {
+			Snackbar.make((View) gridView.getParent(), String.format(getString(R.string.max_images_reached), MAX_EDITABLE_IMAGES), Snackbar.LENGTH_LONG).show();
 		}
 
 		MediaItem item = new MediaItem(imageUri, type);
@@ -1167,7 +1165,7 @@ public class SendMediaActivity extends ThreemaToolbarActivity implements
 
 	private void updateMenu() {
 		if (this.cameraButton != null) {
-			this.cameraButton.setVisibility(this.mediaItems.size() < MAX_SELECTABLE_IMAGES ? View.VISIBLE : View.GONE);
+			this.cameraButton.setVisibility(this.mediaItems.size() < MAX_EDITABLE_IMAGES ? View.VISIBLE : View.GONE);
 		}
 
 		if (mediaItems.size() > 0) {

+ 2 - 2
app/src/main/java/ch/threema/app/activities/StickerSelectorActivity.java

@@ -33,7 +33,6 @@ import android.widget.AdapterView;
 import android.widget.GridView;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -43,9 +42,10 @@ import java.util.List;
 
 import ch.threema.app.R;
 import ch.threema.app.adapters.StickerSelectorAdapter;
+import ch.threema.base.utils.LoggingUtil;
 
 public class StickerSelectorActivity extends ThreemaToolbarActivity implements LoaderManager.LoaderCallbacks<String[]> {
-	private static final Logger logger = LoggerFactory.getLogger(StickerSelectorActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("StickerSelectorActivity");
 
 	private static final String STICKER_DIRECTORY = "emojione";
 	private static final String STICKER_INDEX = STICKER_DIRECTORY + "/contents.txt";

+ 2 - 2
app/src/main/java/ch/threema/app/activities/StopPassphraseServiceActivity.java

@@ -26,7 +26,6 @@ import android.os.Build;
 import android.os.Bundle;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import androidx.annotation.Nullable;
 import ch.threema.app.R;
@@ -35,6 +34,7 @@ import ch.threema.app.managers.ServiceManager;
 import ch.threema.app.services.NotificationService;
 import ch.threema.app.services.PassphraseService;
 import ch.threema.app.utils.ConfigUtils;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.domain.protocol.csp.connection.ThreemaConnection;
 import ch.threema.localcrypto.MasterKey;
 
@@ -42,7 +42,7 @@ import ch.threema.localcrypto.MasterKey;
  * Simple activity to stop passphrase service, lock master key and finish the app removing it from recents list - to be used from the persistent notification
  */
 public class StopPassphraseServiceActivity extends Activity {
-	private static final Logger logger = LoggerFactory.getLogger(StopPassphraseServiceActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("StopPassphraseServiceActivity");
 
 	@Override
 	protected void onCreate(@Nullable Bundle savedInstanceState) {

+ 2 - 2
app/src/main/java/ch/threema/app/activities/StorageManagementActivity.java

@@ -39,7 +39,6 @@ import com.google.android.material.snackbar.Snackbar;
 import com.google.android.material.textfield.MaterialAutoCompleteTextView;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -61,12 +60,13 @@ import ch.threema.app.services.FileService;
 import ch.threema.app.services.MessageService;
 import ch.threema.app.services.UserService;
 import ch.threema.app.utils.DialogUtil;
+import ch.threema.base.utils.LoggingUtil;
 import ch.threema.storage.models.AbstractMessageModel;
 import ch.threema.storage.models.ConversationModel;
 import ch.threema.storage.models.MessageType;
 
 public class StorageManagementActivity extends ThreemaToolbarActivity implements GenericAlertDialog.DialogClickListener, CancelableHorizontalProgressDialog.ProgressDialogClickListener {
-	private static final Logger logger = LoggerFactory.getLogger(StorageManagementActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("StorageManagementActivity");
 
 	private final static String DELETE_CONFIRM_TAG = "delconf";
 	private final static String DELETE_PROGRESS_TAG = "delprog";

+ 2 - 2
app/src/main/java/ch/threema/app/activities/SupportActivity.java

@@ -32,7 +32,6 @@ import android.webkit.WebView;
 import android.widget.ProgressBar;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
@@ -44,9 +43,10 @@ import ch.threema.app.utils.ConfigUtils;
 import ch.threema.app.utils.LocaleUtil;
 import ch.threema.app.utils.TestUtil;
 import ch.threema.app.utils.UrlUtil;
+import ch.threema.base.utils.LoggingUtil;
 
 public class SupportActivity extends ThreemaToolbarActivity {
-	private static final Logger logger = LoggerFactory.getLogger(SupportActivity.class);
+	private static final Logger logger = LoggingUtil.getThreemaLogger("SupportActivity");
 	private ProgressBar progressBar;
 
 	@SuppressLint("SetJavaScriptEnabled")

+ 35 - 0
app/src/main/java/ch/threema/app/activities/TermsOfServiceActivity.kt

@@ -0,0 +1,35 @@
+/*  _____ _
+ * |_   _| |_  _ _ ___ ___ _ __  __ _
+ *   | | | ' \| '_/ -_) -_) '  \/ _` |_
+ *   |_| |_||_|_| \___\___|_|_|_\__,_(_)
+ *
+ * Threema for Android
+ * Copyright (c) 2022 Threema GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package ch.threema.app.activities
+
+import ch.threema.app.R
+import ch.threema.app.utils.ConfigUtils
+
+class TermsOfServiceActivity : SimpleWebViewActivity() {
+    override fun getWebViewTitle(): Int {
+        return R.string.terms_of_service
+    }
+
+    override fun getWebViewUrl(): String {
+        return ConfigUtils.getTermsOfServiceURL(this)
+    }
+}

+ 1 - 4
app/src/main/java/ch/threema/app/activities/ThreemaAppCompatActivity.java

@@ -52,8 +52,5 @@ public abstract class ThreemaAppCompatActivity extends AppCompatActivity {
 	@Override
 	public void onConfigurationChanged(@NonNull Configuration newConfig) {
 		super.onConfigurationChanged(newConfig);
-/*		if (ConfigUtils.refreshDeviceTheme(this)) {
-			ConfigUtils.recreateActivity(this);
-		}
-*/	}
+	}
 }

Some files were not shown because too many files changed in this diff